Files
server-bootstrap/scripts/mirrors/os/liara/ubuntu.sh
2026-03-18 03:29:25 +08:00

72 lines
1.6 KiB
Bash

#!/usr/bin/env bash
set -e
echo "================================="
echo " Liara Ubuntu Mirror Setup"
echo "================================="
if [[ ! -f /etc/os-release ]]; then
echo "Cannot detect operating system."
exit 1
fi
source /etc/os-release
if [[ "$ID" != "ubuntu" ]]; then
echo "This script only supports Ubuntu."
echo "Detected OS: $ID"
exit 1
fi
CODENAME="$VERSION_CODENAME"
if [[ -z "$CODENAME" ]]; then
echo "Could not detect Ubuntu codename."
exit 1
fi
echo "Detected Ubuntu version codename: $CODENAME"
SOURCE_FILE="/etc/apt/sources.list.d/ubuntu.sources"
if [[ ! -f "$SOURCE_FILE" ]]; then
echo "Expected file not found: $SOURCE_FILE"
exit 1
fi
echo
echo "[1/4] Backing up existing sources..."
cp "$SOURCE_FILE" "${SOURCE_FILE}.bak"
echo
echo "[2/4] Writing Liara mirror configuration..."
cat > "$SOURCE_FILE" <<EOF
Types: deb
URIs: https://linux-mirror.liara.ir/repository/ubuntu
Suites: ${CODENAME} ${CODENAME}-updates ${CODENAME}-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: https://linux-mirror.liara.ir/repository/ubuntu-security
Suites: ${CODENAME}-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
EOF
echo
echo "[3/4] Mirror configuration written."
echo
echo "[4/4] Updating package index..."
apt update
echo
echo "================================="
echo "Liara Ubuntu mirror configured"
echo "Backup saved at:"
echo "${SOURCE_FILE}.bak"
echo "================================="