Поддержание Linux-сервера в актуальном состоянии — базовая задача любого системного администратора. Но заходить на каждый VPS вручную ради apt update && apt upgrade быстро надоедает. Идеальный баланс между стабильностью и безопасностью в Debian 12 — это автоматическая установка только критических патчей безопасности.
В этой статье мы настроим утилиту unattended-upgrades, разберем нюансы работы на минимальных образах VPS и попутно решим частую проблему, когда обновление ломается из-за «мертвых» репозиториев.
Часть 1. Что делать, если apt update выдает ошибку 404?
Прежде чем включать автоматизацию, нужно убедиться, что менеджер пакетов APT работает как часы. Часто после тестов или миграции сервисов (например, VPN или сторонних панелей) в системе остаются старые репозитории, которые со временем удаляются авторами.
Если при проверке обновлений вы видите подобную ошибку:
Plaintext
Err:5 http://download.opensuse.org/repositories/home:/amnezia/Debian_12 Release
404 Not Found [IP: 195.135.223.226 80]
E: The repository '...' does not have a Release file.
N: Updating from such a repository can't be done securely...
Это значит, что APT блокирует всю процедуру из-за одного нерабочего адреса. Лечится это за пару шагов.
1. Находим, где спрятан проблемный репозиторий
Вместо того чтобы вручную перебирать файлы конфигурации, используем поиск по содержимому:
Bash
grep -rn "download.opensuse.org" /etc/apt/
(Замените download.opensuse.org на ту часть адреса из вашей ошибки, которая возвращает 404).
Команда выдаст точный путь к файлу и номер строки, например: /etc/apt/sources.list.d/amnezia.list:1:deb [http://download.opensuse.org/](http://download.opensuse.org/)...
2. Отключаем устаревший источник
Открываем найденный файл через текстовый редактор:
Bash
nano /etc/apt/sources.list.d/amnezia.list
Просто ставим знак решетки # в начале строки, комментируя её:
Plaintext
# deb http://download.opensuse.org/repositories/home:/amnezia/Debian_12 ./
Сохраняем файл (Ctrl+O, затем Enter) и выходим (Ctrl+X). Теперь apt update будет проходить без запинок.
Часть 2. Настройка автоматических обновлений безопасности
Для автоматизации мы будем использовать официальную утилиту unattended-upgrades. По умолчанию она настроена очень консервативно: скачивает и устанавливает только патчи безопасности, не трогая основные версии программ. Ваши сайты, базы данных и VPN-туннели продолжат работать в штатном режиме.
Шаг 1. Установка пакета
Обновляем индекс и устанавливаем утилиту:
Bash
apt update && apt install unattended-upgrades
Шаг 2. Включение службы на минимальных VPS
На многих хостингах образы Debian 12 поставляются в минимальной комплектации. Попытка вызвать стандартное конфигурационное меню командой dpkg-reconfigure -plow unattended-upgrades может выдать ошибку bash: dpkg-reconfigure: command not found.
Можно доустановить пакет debconf, но гораздо быстрее и надежнее проверить конфигурационный файл напрямую. При установке unattended-upgrades в Debian 12 автоматически создается нужный файл расписания. Проверим его:
Bash
cat /etc/apt/apt.conf.d/20auto-upgrades
Внутри должны быть следующие строки:
Plaintext
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
Update-Package-Lists "1"— раз в сутки обновлять списки пакетов.Unattended-Upgrade "1"— раз в сутки запускать установку обновлений безопасности.
Обратите внимание: Если файла нет или он пуст, просто откройте его через
nano /etc/apt/apt.conf.d/20auto-upgrades, вставьте эти две строки вручную и сохраните.
Шаг 3. Проверка работы
Система инициализирует таймеры systemd, которые будут запускать процесс в фоне. Проверить статус активности службы автоматического обновления можно командой:
Bash
systemctl status unattended-upgrades
Описанный метод с unattended-upgrades универсален для всего огромного семейства Debian (включая Ubuntu, Linux Mint, отечественную Astra Linux и др.). Если ваш сервер работает на CentOS/Rocky, там за это отвечает dnf-automatic. А вот на Rolling-дистрибутивах вроде Arch Linux автоматику лучше не включать из-за специфики обновления пакетов
Заключение
Теперь ваш VPS на Debian 12 защищен от свежих уязвимостей в режиме 24/7 без вашего прямого участия. Все логи успешных (или пропущенных) обновлений можно всегда изучить в файле /var/log/unattended-upgrades/unattended-upgrades.log.
Админу остается лишь изредка заходить на сервер для ручной проверки раз в месяц и плановой перезагрузки, если обновилось само ядро Linux.