Как сменить зеркало apt в Debian
Зеркало — сервер с копией архива Debian, откуда apt скачивает пакеты. Чтобы сменить его, замените адрес в источниках пакетов. Обычно они записаны в файле /etc/apt/sources.list — как ниже. Если у вас новый формат, файл /etc/apt/sources.list.d/debian.sources, правьте его так же, но адрес меняйте в строке URIs: в блоке основного архива.
Сначала сохраните копию файла и откройте его:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.listВ строках с deb.debian.org замените этот адрес на адрес выбранного зеркала. Например, для зеркала ftp.by.debian.org:
deb http://ftp.by.debian.org/debian/ trixie main non-free-firmware
deb http://security.debian.org/debian-security trixie-security main non-free-firmware
deb http://ftp.by.debian.org/debian/ trixie-updates main non-free-firmwareСохраните файл (Ctrl+O, Enter, Ctrl+X) и проверьте:
sudo apt updateЕсли ошибок нет, зеркало работает.
Обновления безопасности не трогайте
Строку с security.debian.org оставьте как есть. Обновления безопасности Debian раздаёт только со своих серверов: обычные зеркала их не копируют, и строка с зеркалом вместо security.debian.org перестанет приносить исправления.
Где взять зеркало
- deb.debian.org — вариант по умолчанию. Это не одно зеркало, а служба: она сама направляет к быстрому и свежему серверу поблизости. Обычно менять его незачем.
- Список официальных зеркал по странам — на странице зеркал Debian. В разделе Belarus указаны, например,
ftp.by.debian.orgи другие зеркала. Адрес для источников — имя сервера и путь архива:http://ftp.by.debian.org/debian/.
Имена вида ftp.<код страны>.debian.org — официальные имена зеркал Debian по странам: ftp.by.debian.org, ftp.pl.debian.org, ftp.lt.debian.org.
http или https
Подпись каждого списка пакетов apt проверяет сам, поэтому незаметно подменить пакеты через зеркало по http не получится. https дополнительно скрывает, какие пакеты вы скачиваете. deb.debian.org работает и так, и так, а у отдельных зеркал https бывает не всегда: если apt update не может подключиться по https, попробуйте тот же адрес по http.
Если после смены ошибки
does not have a Release fileили404 Not Found— опечатка в адресе или на зеркале нет нужного выпуска. Проверьте адрес в списке зеркал.- Ошибки вида
Hash Sum mismatchилиFile has unexpected size— зеркало как раз обновляется. Подождите и повторитеsudo apt update, а если ошибка держится — выберите другое зеркало.
Вернуть всё как было:
sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list
sudo apt updateБерите зеркала только из официального списка debian.org. Сторонние «ускоренные» репозитории могут отдавать устаревшие или изменённые пакеты.