apt update не работает: перевод старого Debian на архив
После окончания поддержки версии Debian команда apt update обрывается с ошибкой 404. Как перевести sources.list на archive.debian.org и снова сделать сервер обновляемым.
Вы запускаете apt update на старом сервере Debian, и вместо списка пакетов появляются только сообщения об ошибках: «404 Not Found», «Release file is not valid yet» или «Repository does not have a Release file». В этом руководстве мы объясняем причину и показываем, как вернуть серверу возможность обновляться.
Затронуты все версии Debian, поддержка которых уже закончилась: Debian 8 (Jessie), Debian 9 (Stretch), Debian 10 (Buster), а в ближайшее время и Debian 11 (Bullseye).
Почему apt update не работает на старых версиях Debian
Для каждого выпуска Debian держит собственные серверы пакетов. Как только версия доходит до конца срока поддержки, она исчезает с обычных зеркал deb.debian.org и security.debian.org. Пакеты при этом не теряются, они просто переезжают: на archive.debian.org.
Ваш файл /etc/apt/sources.list по-прежнему указывает на старые адреса, поэтому apt и сообщает об ошибке 404. К этому добавляется вторая проблема: у файлов Release, лежащих в архиве, есть срок действия, который давно истёк. На этом apt тоже прерывается, даже если адреса указаны верно.
Обе проблемы решаются. Но важно понимать общую картину: Debian без поддержки больше не получает обновлений безопасности. Следующие шаги снова делают сервер управляемым, однако полноценное обновление системы они не заменяют.
Какая версия Debian работает на вашем сервере?
Проверьте это в первую очередь, потому что от версии зависят правильные адреса:
cat /etc/debian_version
lsb_release -a
Полученное кодовое имя (jessie, stretch, buster, bullseye) встречается затем во всех строках ниже.
Резервная копия sources.list и правка файла
Сначала сделайте резервную копию, чтобы в любой момент можно было вернуться назад:
cp /etc/apt/sources.list /etc/apt/sources.list.bak
Затем откройте файл в редакторе:
nano /etc/apt/sources.list
Удалите прежнее содержимое и впишите блок из следующего раздела, подходящий вашей версии. После этого проверьте дополнительно каталог /etc/apt/sources.list.d/: там часто лежат отдельные файлы с устаревшими адресами, из-за которых ошибка сохраняется.
Подходящие источники из архива
Debian 10 (Buster)
Поддержка закончилась в середине 2024 года, Buster полностью лежит в архиве:
deb http://archive.debian.org/debian/ buster main contrib non-free
deb-src http://archive.debian.org/debian/ buster main contrib non-free
deb http://archive.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ buster/updates main contrib non-free
Debian 9 (Stretch)
deb http://archive.debian.org/debian/ stretch main contrib non-free
deb-src http://archive.debian.org/debian/ stretch main contrib non-free
deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
Debian 8 (Jessie)
Jessie — классика среди таких сбоев, потому что многие старые инструкции в сети до сих пор ссылаются на security.debian.org. Для Jessie этот адрес больше ничего не отдаёт:
deb http://archive.debian.org/debian/ jessie main contrib non-free
deb-src http://archive.debian.org/debian/ jessie main contrib non-free
deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
deb http://archive.debian.org/debian/ jessie-backports main
deb-src http://archive.debian.org/debian/ jessie-backports main
Debian 11 (Bullseye)
Bullseye доходит до конца фазы LTS в августе 2026 года. После этого действует та же схема. Учтите, что начиная с Bullseye написание источника безопасности изменилось: теперь это не bullseye/updates, а bullseye-security:
deb http://archive.debian.org/debian/ bullseye main contrib non-free
deb-src http://archive.debian.org/debian/ bullseye main contrib non-free
deb http://archive.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://archive.debian.org/debian-security/ bullseye-security main contrib non-free
Пока Bullseye ещё поддерживается, правильным выбором остаются обычные зеркала. Переключайтесь только тогда, когда apt действительно сообщит об ошибке 404.
Замечание для более новых систем: начиная с Debian 13 (Trixie) источники пакетов по умолчанию ведутся не в /etc/apt/sources.list, а в формате deb822 в файле /etc/apt/sources.list.d/debian.sources. Там структура записи выглядит иначе, но принцип остаётся тем же.
Как заставить apt принять просроченные списки пакетов
После сохранения apt, скорее всего, продолжит прерываться, на этот раз с указанием на то, что файл Release просрочен. Для архивных версий это нормально. Укажите apt, что срок действия нужно игнорировать:
echo 'Acquire::Check-Valid-Until "false";' | tee /etc/apt/apt.conf.d/10-nocheckvalid
Если это нужно всего один раз, настройку можно передать прямо в вызов, не создавая отдельный файл:
apt-get -o Acquire::Check-Valid-Until=false update
После этого привычное обновление снова работает:
apt-get update
apt-get upgrade
Частые сообщения об ошибках и что они означают
- «404 Not Found»: адрес в sources.list всё ещё указывает на обычное зеркало. Переключитесь на archive.debian.org.
- «Release file ... is not valid yet» или «expired»: срок действия файла Release истёк. Задайте параметр Check-Valid-Until, как описано выше.
- «The repository ... does not have a Release file»: чаще всего это опечатка в кодовом имени или обращение к suite, которой в архиве нет. Проверьте написание символ за символом.
- «NO_PUBKEY» или «EXPKEYSIG»: ключ подписи старого выпуска истёк. Во многих случаях помогает переустановка пакета debian-archive-keyring.
- Ошибка сохраняется, хотя sources.list уже исправлен: в
/etc/apt/sources.list.d/лежит ещё один файл со старыми адресами.
Постоянное решение: обновление или переустановка
Переход на архив возвращает сервер в управляемое состояние, но обновлений безопасности он не даёт. Поэтому для сервера, доступного из интернета, следующим шагом должен стать переход на поддерживаемую версию Debian.
Открыты два пути:
- Переустановка: в большинстве случаев это более быстрый и чистый вариант. Вы в любой момент можете самостоятельно переустановить сервер с актуальной операционной системой в личном кабинете. Перед этим сохраните свои данные и файлы конфигурации.
- Пошаговое обновление: Debian обновляется от версии к версии, то есть, например, с Buster на Bullseye, а затем на Bookworm. Прыжки сразу через несколько версий не поддерживаются и регулярно заканчиваются сломанной системой.
В любом случае сначала сделайте резервную копию. Обновление системы, которой уже несколько лет, по опыту оказывается именно тем моментом, когда старые конфигурации и сторонние источники начинают создавать проблемы.
Частые вопросы
Почему apt update внезапно сообщает об ошибке 404?
Какие версии Debian затронуты?
Что означает сообщение о том, что файл Release просрочен?
Получу ли я после перехода на архив обновления безопасности?
Можно ли обновиться сразу с Debian 8 на Debian 12?
2023-2026 KernelHost GmbH. Все права защищены. Эта инструкция охраняется авторским правом. Публикация на других сайтах, в том числе частично или в изменённом виде, без нашего письменного согласия не разрешается. Цитирование с указанием источника и активной ссылкой мы приветствуем.

