Обновить настройки cookies

Автоматизация обновлений: как настроить unattended-upgrades на Debian 12

18 Jun 2025, 17:28:03
Одним из базовых правил безопасности на выделенных и виртуальных серверах является поддержание программного обеспечения в актуальном состоянии. Именно этим правилом зачастую пренебрегает большинство пользователей. В этой статье мы постараемся это исправить, а именно рассмотрим инструмент, с помощью которого ваш VPS или выделенный сервер под управлением Debian 12 (и не только) будет устанавливать важные обновления безопасности автоматически - unattended‑upgrades. На некоторых ОС, например Ubuntu 22/24, данный пакет устанавливается и работает по умолчанию, однако в Debian unattended‑upgrades не входит в предустановленный набор компонентов.

Установка и активация unattended‑upgrades

Подключаемся к вашему серверу по SSH под пользователем root (это не обязательно, но все последующие команды будут выполняться от его имени) и обновляем списки пакетов:
apt update
Устанавливаем unattended‑upgrades и его зависимости:
apt install unattended-upgrades apt-listchanges
  • unattended-upgrades - сам сервис автоматических обновлений;
  • apt-listchanges - показывает в письме список изменений в пакетах.
20250618_dZaQiTum

Включаем автоматическую установку обновлений:
dpkg-reconfigure --priority=low unattended-upgrades
На вопрос "Automatically download and install stable updates?" в диалоговом окне выбираем "Yes" и получаем уведомление о создании нового конфигурационного файла.
20250618_a4XPtkKP

Конфигурация unattended‑upgrades

Основной файл конфигурации unattended‑upgrades расположен по пути /etc/apt/apt.conf.d/50unattended-upgrades. Откроем его командой:
nano /etc/apt/apt.conf.d/50unattended-upgrades
Обратите внимание на его ключевую секцию Unattended-Upgrade::Origins-Pattern:
20250618_wmvzeVku
Эта секция конфигурации описывает источники для автоматического обновления. По умолчанию мы видим три активных источника. Однако нас интересует автоматическое получение только обновлений безопасности. Закомментируем запись, отвечающую за обновления из основного репозитория системы:
20250618_ngDqNpse

Следующие полезные параметры - это Mail и MailReport.
20250618_SL7A8MAA
Их необходимо раскомментировать и заполнить. Эти параметры помогут получать отчёт об ошибках на Email, если таковые появятся.
  • Unattended-Upgrade::Mail "[email protected]"; - ваш Email-адрес;
  • Unattended-Upgrade::MailReport "only-on-error" - выбор режима уведомлений (always, only-on-error, on-change), only-on-error - для отправки отчёта об ошибках.
Сохраняем файл сочетанием клавиш Ctrl + O и выходим Ctrl + X. Таким образом мы оставили только security источники, отвечающие за обновления безопасности, и включили отправку отчётов на Email.

Настройка расписания задач

В файле /etc/apt/apt.conf.d/20auto-upgrades собраны настройки расписания автообновления. Откроем его с помощью команды:
nano /etc/apt/apt.conf.d/20auto-upgrades
Конфигурация в этом файле по умолчанию оптимальна для нашей задачи, но давайте рассмотрим её подробнее.
20250618_GyFhlgmj
  • Update-Package-Lists "1" - ежедневно обновлять списки пакетов;
  • Download-Upgradeable-Packages "1" - ежедневно скачивать новые версии;
  • AutocleanInterval "7" - каждые 7 дней очищать кэш старых пакетов;
  • Unattended-Upgrade "1" - ежедневно запускать unattended‑upgrades.

Тестовый запуск

Для тестирования конфигурации и работоспособности сервиса в целом воспользуемся командой:
unattended-upgrade --dry-run --debug
  • --dry-run - вывод пакетов для обновления (без установки);
  • --debug - подробный вывод для поиска ошибок в конфиге.
Вывод может быть весьма большим, но на обновлённой системе с корректными конфигурационными файлами unattended‑upgrades будет похожим:
20250618_nYwd5wWd

Запуск unattended‑upgrades

После изменения конфигурационных файлов, необходимо запустить утилиту вручную, чтобы проверить и применить изменения:
unattended-upgrade
Если никаких ошибок в конфиге не было, вы не получите никаких уведомлений.
20250618_Okx6YKA8

Также можно проверить работу systemd‑таймеров, отвечающих за работу unattended-upgrade:
systemctl status apt-daily.timer apt-daily-upgrade.timerИх статус должен быть active.
20250618_xlPGvdzo

В лог файле /var/log/unattended-upgrades/unattended-upgrades.log собрана вся информация о ходе автоматических обновлений.
В примере используется свежеустановленная система и ПО не нуждается в обновлении:
20250618_1U7OCfBB

Мы подробно разобрали процесс настройки автоматических обновлений безопасности на выделенном сервере или VPS с ОС Debian 12. Эти простые действия существенно повысят уровень безопасности вашего проекта. Если у вас возникли проблемы с настройкой unattended-upgrade на серверах EuroHoster, вы всегда можете обратиться за помощью в нашу службу технической поддержки через систему тикетов или online-чат на сайте.