#!/bin/bash
# repo.sh — переключение на локальное зеркало ubuntu.mirror.kolvy.com для текущей версии Ubuntu

set -e

# Проверяем, что скрипт запущен с правами root
if [[ $EUID -ne 0 ]]; then
    echo "Этот скрипт нужно запускать с правами root (sudo)"
    exit 1
fi

# Определяем релиз
if ! command -v lsb_release &>/dev/null; then
    apt-get install -y lsb-release
fi
release=$(lsb_release -cs)

# Проверка, поддерживается ли релиз
case "$release" in
    bionic|focal|jammy|noble)
        ;;
    *)
        echo "Релиз $release не поддерживается этим зеркалом."
        exit 1
        ;;
esac

echo "Определена система: Ubuntu $release"

# Бэкапим текущие репозитории
timestamp=$(date +%Y%m%d-%H%M%S)
cp /etc/apt/sources.list /etc/apt/sources.list.bak-$timestamp
tar czf /etc/apt/sources.list.d.bak-$timestamp.tar.gz /etc/apt/sources.list.d/ 2>/dev/null || true

# Чистим текущие
rm -f /etc/apt/sources.list
rm -rf /etc/apt/sources.list.d/*

# Создаём новый sources.list для текущего релиза
cat <<EOF > /etc/apt/sources.list
# Локальное зеркало Ubuntu $release
deb [arch=amd64] https://ubuntu.mirror.kolvy.com $release main restricted universe multiverse
deb [arch=amd64] https://ubuntu.mirror.kolvy.com ${release}-updates main restricted universe multiverse
deb [arch=amd64] https://ubuntu.mirror.kolvy.com ${release}-security main restricted universe multiverse
deb [arch=amd64] https://ubuntu.mirror.kolvy.com ${release}-backports main restricted universe multiverse
EOF

# Обновляем индексы
apt-get update
echo "Репозитории переключены на локальное зеркало ubuntu.mirror.kolvy.com для $release"
