Files
2026-03-18 03:29:25 +08:00

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 "================================="