80 lines
1.9 KiB
Bash
80 lines
1.9 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
echo "================================="
|
|
echo " Liara Fedora Mirror Setup"
|
|
echo "================================="
|
|
|
|
if [[ ! -f /etc/os-release ]]; then
|
|
echo "Cannot detect operating system."
|
|
exit 1
|
|
fi
|
|
|
|
source /etc/os-release
|
|
|
|
if [[ "$ID" != "fedora" ]]; then
|
|
echo "This script only supports Fedora."
|
|
echo "Detected OS: $ID"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Detected Fedora version: $VERSION_ID"
|
|
|
|
FEDORA_REPO="/etc/yum.repos.d/fedora.repo"
|
|
UPDATES_REPO="/etc/yum.repos.d/fedora-updates.repo"
|
|
|
|
echo
|
|
echo "[1/4] Backing up existing repository files..."
|
|
|
|
cp "$FEDORA_REPO" "${FEDORA_REPO}.bak"
|
|
cp "$UPDATES_REPO" "${UPDATES_REPO}.bak"
|
|
|
|
echo
|
|
echo "[2/4] Configuring Fedora base repository..."
|
|
|
|
cat > "$FEDORA_REPO" <<'EOF'
|
|
[fedora]
|
|
name=Fedora $releasever - $basearch
|
|
baseurl=https://linux-mirror.liara.ir/repository/fedora/linux/releases/$releasever/Everything/$basearch/os/
|
|
#metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
|
|
enabled=1
|
|
countme=1
|
|
metadata_expire=7d
|
|
repo_gpgcheck=0
|
|
type=rpm
|
|
gpgcheck=0
|
|
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
|
skip_if_unavailable=False
|
|
EOF
|
|
|
|
echo
|
|
echo "[3/4] Configuring Fedora updates repository..."
|
|
|
|
cat > "$UPDATES_REPO" <<'EOF'
|
|
[updates]
|
|
name=Fedora $releasever - $basearch - Updates
|
|
baseurl=http://linux-mirror.liara.ir/repository/fedora/linux/updates/$releasever/Everything/$basearch/
|
|
#metalink=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
|
|
enabled=1
|
|
countme=1
|
|
repo_gpgcheck=0
|
|
type=rpm
|
|
gpgcheck=0
|
|
metadata_expire=6h
|
|
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$releasever-$basearch
|
|
skip_if_unavailable=False
|
|
EOF
|
|
|
|
echo
|
|
echo "[4/4] Refreshing package cache..."
|
|
dnf makecache
|
|
|
|
echo
|
|
echo "================================="
|
|
echo "Liara Fedora mirror configured"
|
|
echo "Backups saved:"
|
|
echo "${FEDORA_REPO}.bak"
|
|
echo "${UPDATES_REPO}.bak"
|
|
echo "================================="
|