Начальные требования
Серверная часть:
- Ubuntu Server 18.04 LTS с установленными последними обновлениями.
- Проверено на Ubuntu Server 20.04 LTS
Клиентская часть:
- Возможность подключения к серверу по ssh.
- под ОС Linux используйте Терминал
- под ОС Windows можно использовать PuTTY
Заходим на сервер по ssh:
ssh username@server-name
где username имя пользователя на сервере server-name. Вводим пароль для пользователя username.
Устанавливаем пакеты для автоматического обновления:
sudo apt install unattended-upgrades
Включаем автоматические обновления безопасности:
sudo dpkg-reconfigure -plow unattended-upgrades
На вопрос "Скачивать и устанавливать обновления стабильного выпуска автоматически?" отвечаем "Да".
Редактируем конфигурационный файл для автоматических обновлений (другой метод):
sudo mcedit /etc/apt/apt.conf.d/50unattended-upgrades
Изменяем значения следующих позиций на true и убираем комментарий вначале строки:
${distro_id}:${distro_codename}-updates;
//
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "02:00";
Unattended-Upgrade::SyslogEnable "true";
Редактируем конфигурационный файл отвечающий за периодичность запуска обновлений:
sudo mcedit /etc/apt/apt.conf.d/10periodic
Изменяем значения следующих позиций на "1":
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "1";
Можно сделать все замены скопировав и запустив следующие команды.
sudo sed -e 's|//\t"${distro_id}:${distro_codename}-updates";|\t"${distro_id}:${distro_codename}-updates";|g' -i /etc/apt/apt.conf.d/50unattended-upgrades
sudo sed -e 's|//Unattended-Upgrade::Remove-Unused-Kernel-Packages "false";|Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";|g' -i /etc/apt/apt.conf.d/50unattended-upgrades
sudo sed -e 's|//Unattended-Upgrade::Remove-Unused-Dependencies "false";|Unattended-Upgrade::Remove-Unused-Dependencies "true";|g' -i /etc/apt/apt.conf.d/50unattended-upgrades
sudo sed -e 's|//Unattended-Upgrade::Automatic-Reboot "false";|Unattended-Upgrade::Automatic-Reboot "true";|g' -i /etc/apt/apt.conf.d/50unattended-upgrades
sudo sed -e 's|//Unattended-Upgrade::Automatic-Reboot-Time "02:00";|Unattended-Upgrade::Automatic-Reboot-Time "02:00";|g' -i /etc/apt/apt.conf.d/50unattended-upgrades
sudo sed -e 's|// Unattended-Upgrade::SyslogEnable "false";|Unattended-Upgrade::SyslogEnable "true";|g' -i /etc/apt/apt.conf.d/50unattended-upgrades
sudo sed -e 's|APT::Periodic::Download-Upgradeable-Packages "0";|APT::Periodic::Download-Upgradeable-Packages "1";|g' -i /etc/apt/apt.conf.d/10periodic
sudo sed -e 's|APT::Periodic::AutocleanInterval "0";|APT::Periodic::AutocleanInterval "1";|g' -i /etc/apt/apt.conf.d/10periodic
ПОМЕНЯЙТЕ "02:00" на нужное для вас время для перезагрузки сервера, если это будет необходимо после установки обновлений:
sudo sed -e 's|"02:00"|"04:00"|g' -i /etc/apt/apt.conf.d/50unattended-upgrades
Проверить работоспособность настроек автоматического обновления можно так:
sudo unattended-upgrades --dry-run
Просмотрите журнал автоматического обновления:
sudo cat /var/log/unattended-upgrades/unattended-upgrades.log