#!/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 "================================="