Автообновления безопасности в Linux: unattended-upgrades и dnf-automatic
Один раз обновляем систему вручную, потом включаем автоматическую установку обновлений безопасности. Ubuntu, Debian и семейство RHEL.

Даже с идеальным SSH и брандмауэром сервер со старым OpenSSL или ядром остаётся уязвимым: дыры в них публикуются вместе с готовыми эксплойтами. Решение в два шага: обновиться сейчас и настроить, чтобы обновления безопасности ставились сами. Останется изредка перезагружать сервер.
Все команды проверены на VPS с Ubuntu 24.04 и Debian 12 — на tanaka.host оба образа ставятся при заказе сервера, а если что-то пойдёт не так, выручит консоль в кабинете.
1. Обновите систему вручную
Ubuntu и Debian:
sudo apt update && sudo apt upgrade -y
AlmaLinux, Rocky, CentOS, Oracle Linux:
sudo dnf upgrade -y
Если обновилось ядро, перезагрузитесь: sudo reboot. Через минуту сервер снова доступен. Проверить, нужна ли перезагрузка, на Ubuntu можно так: ls /var/run/reboot-required — если файл есть, нужна.
2. Ubuntu и Debian: unattended-upgrades
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
На вопрос «Automatically download and install stable updates?» ответьте Yes. Это создаст /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
По умолчанию ставятся только обновления из репозитория безопасности, раз в сутки. Проверка без изменений:
sudo unattended-upgrade --dry-run --debug
Если хотите, чтобы сервер сам перезагружался после обновления ядра, добавьте в /etc/apt/apt.conf.d/50unattended-upgrades:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
Для сервера с сайтом это нормально: минута простоя в четыре утра. Для сервера с базой данных, где перезагрузка может быть болезненной, лучше перезагружать руками.
Журнал: /var/log/unattended-upgrades/unattended-upgrades.log.
3. AlmaLinux и семейство RHEL: dnf-automatic
sudo dnf install -y dnf-automatic
sudo sed -i 's/^apply_updates = no/apply_updates = yes/' /etc/dnf/automatic.conf
sudo systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer
Чтобы ставились только обновления безопасности, а не все подряд, в /etc/dnf/automatic.conf укажите upgrade_type = security.
Это не касается ваших программ
Автообновления затрагивают только пакеты из системных репозиториев. WordPress, панели управления, VPN-панели, приложения в Docker, всё, что поставлено через curl | sh, — обновляется отдельно и по инструкциям разработчиков. Именно через такие программы серверы чаще всего и ломают, потому что про них забывают. Заведите привычку раз в месяц проверять версии всего, что стоит не из apt.
Docker-образы обновляются так:
cd /opt/проект
docker compose pull
docker compose up -d
Подробнее — в шпаргалке по Docker Compose.