Обновление пакетов без внешнего интернета - это реально. Если ты обслуживаешь несколько серверов в ограниченной сети (или хочешь ускорить установку и обновление пакетов), стоит создать локальное зеркало APT-репозитория. Это особенно полезно для оффлайн-установок, CI/CD-сборок или ситуаций с нестабильным интернетом.
❓ Что нужно?
📍 Утилита rsync
📍 Немного места на диске (от 50 ГБ и выше)
📍 Простой скрипт для синхронизации
🛠 Пример скрипта:
#!/bin/bash
# Базовые параметры
MIRROR="rsync://mirror.yandex.ru/ubuntu"
DEST="/srv/apt-mirror"
DIST="focal"
ARCH="amd64"
SECTIONS="main,restricted,universe,multiverse"
mkdir -p "$DEST"
rsync -av --delete \
--include "dists/" \
--include "dists/$DIST/" \
--include "dists/$DIST/*" \
--include "pool/" \
--include "pool/*" \
--exclude "*" \
"$MIRROR/" "$DEST"
Это минимальный зеркальный снимок. При необходимости можно расширить под debian-security, updates и другие релизы.
▪️ Настройка локального клиента. Чтобы использовать зеркало, на других серверах пропиши в
/etc/apt/sources.list:
deb [trusted=yes] file:///srv/apt-mirror focal main restricted universe multiverse
или через nginx:
deb http://mirror.local/ focal main restricted universe multiverse
▪️ Автоматизация. Добавь скрипт в cron или systemd-timer для ежедневной синхронизации:
0 4 * * * /usr/local/bin/apt-mirror-sync.sh
Локальное зеркало экономит трафик, ускоряет установку и даёт контроль над пакетами в изолированных окружениях.
BashTex 📱 #bash #utils