Ubuntu: автоматические обновления unattended-upgrades
Полезная ссылка: https://habr.com/ru/company/flant/blog/330406/
Пакет unattended-upgrades используется для автоматической обновления установленных пакетов и может быть настроен обновлять все пакеты или только обновления безопасности. Идет в составе Ubuntu с 18-й версии. К сожалению, далеко не на всех серверах его стоит держать включенным или, как минимум, ненастроенным. Перезагрузка боевого сервера на полном ходу - не самая безопасная идея.
Основной файл настроек: /etc/apt/apt.conf.d/50unattended-upgrades, в нём настраиваются тип обновлений, отправка почты и т.д.
Настройки самих обновлений выполняются в файле /etc/apt/apt.conf.d/20auto-upgrades, который можно создать вручную или запустив
dpkg-reconfigure unattended-upgrades
Настройки для /etc/apt/apt.conf.d/20auto-upgrades:
- APT::Periodic::Enable: включение/отключение обновлений, 1 – вкл, 0 – выкл
- APT::Periodic::Update-Package-Lists: как часто выполнять apt update в днях, 0 – отключить вообще
- APT::Periodic::Download-Upgradeable-Packages: как часто выполнять apt-get upgrade –download-only
- APT::Periodic::Unattended-Upgrade: как часто выполнять apt upgrade
- APT::Periodic::AutocleanInterval: как часто выполнять apt-get autoclean
- APT::Periodic::Verbose: отправка сообщений на почту и их детализация:
- 0 – отключить вообще
- 1 – весь прогресс upgrade
- 2 – весь прогресс upgrade + stdout (всего что выводится при обновлении)
- 3 – то же что и п.2, плюс трассировка
Настройки для /etc/apt/apt.conf.d/50unattended-upgrades:
- Unattended-Upgrade::Origins-Pattern - Описывает репозитории, которые будут использованы для получения обновлений
- Unattended-Upgrade::Package-Blacklist - Задаётся список пакетов для игнорирования при установке обновлений
- Unattended-Upgrade::Remove-Unused-Dependencies - Удаление неиспользуемых пакетов, выполняется apt-get autoremove
- Unattended-Upgrade::Mail - Отправка почты
- Unattended-Upgrade::MailOnlyOnError - Отправка почты только при возникающих проблемах в обновлении
- Unattended-Upgrade::Automatic-Reboot - Автоматически выполнять перезагрузку сервера, если файл /var/run/reboot-required присутствует. Перезагрузка будет выполнена немедленно, если не задана Automatic-Reboot-Time
- Unattended-Upgrade::Automatic-Reboot-Time - Указывается конкретное время для перезагрузки
Отключение обновлений
Варианты отключения:
- Отключить обновления в файле /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Unattended-Upgrade "0";
- Отключить при помощи утилиты (выбрать No):
sudo dpkg-reconfigure unattended-upgrades
- Удалить пакет целиком:
sudo apt remove unattended-upgrades sudo systemctl stop apt-daily.timer sudo systemctl disable apt-daily.timer sudo systemctl stop apt-daily-upgrade.timer sudo systemctl disable apt-daily-upgrade.timer sudo systemctl disable apt-daily.service sudo systemctl daemon-reload