• Автоматическое обновление пакетов с помощью unattended-upgrades в Ubuntu

 #10887   IgorA100
 13 июн 2026, 12:39
Зло это или благо - каждый решает сам, но бесконтрольное обновление пакетов наверное не самое лучшее решение.
Установка
Код: Выделить всёsudo apt install unattended-upgrades


Настройка
Основные настройки находятся в двух файлах:
Код: Выделить всё/etc/apt/apt.conf.d/50unattended-upgrades
— содержит параметры, контролирующие поведение инструмента (например, возможность перезагрузки, список заблокированных пакетов).
Код: Выделить всё/etc/apt/apt.conf.d/20auto-upgrades
— используется для управления включением и частотой работы автоматических обновлений.

Ключевые параметры
Источники обновлений (Origins-Pattern). Определяет, какие репозитории разрешены для автообновления. Например:
Код: Выделить всёUnattended-Upgrade::Allowed-Origins {
    "Ubuntu:${distro_codename}-security";
};

Переменная ${distro_codename} заменяется на имя релиза.

Чёрный список пакетов (Package-Blacklist). Позволяет исключить пакеты из автоматического обновления. Каждая запись в списке — регулярное выражение, которое сравнивается с именами пакетов. Например:
Код: Выделить всёUnattended-Upgrade::Package-Blacklist {
    "linux-image*";
    "grub*";
    "postgresql*";
};

Автоматическая перезагрузка (Automatic-Reboot). Если установить true, система будет перезагружаться автоматически после обновления, если это необходимо.

Уведомления. Настройка Unattended-Upgrade::Mail позволяет отправлять уведомления администратору при возникновении ошибок или выходе новых обновлений.

Расписание
В файле /etc/apt/apt.conf.d/20auto-upgrades можно настроить периодичность обновлений. Например, установка APT::Periodic::Unattended-Upgrade "1" означает, что обновления будут запускаться каждый день.

Проверка работы
Для проверки можно использовать команду:
Код: Выделить всёsudo unattended-upgrades --dry-run --debug


Отключить:
Код: Выделить всёsudo systemctl disable --now unattended-upgrades

или так:
В файле /etc/apt/apt.conf.d/20auto-upgrades
Заменить строки
Код: Выделить всёAPT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

на
Код: Выделить всёAPT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";


Удалить:
Код: Выделить всёsudo apt remove unattended-upgrades

или
Код: Выделить всёsudo apt purge unattended-upgrades