Skip to content
VDS · Bezpieczeństwo

Automatyczne aktualizacje bezpieczeństwa

Jak skonfigurować unattended-upgrades na Debianie i Ubuntu oraz dnf-automatic na AlmaLinux, żeby poprawki instalowały się same, a usługa nie padała w nocy.

Zaktualizowano 23 sierpnia 2026

Większość włamań następuje przez luki, które załatano miesiące temu. Ręczne aktualizacje się odkłada, automatyczne nie. Rozsądna konfiguracja instaluje tylko aktualizacje bezpieczeństwa, a resztę zostawia w spokoju.

Debian i Ubuntu

apt install -y unattended-upgrades apt-listchanges
dpkg-reconfigure -plow unattended-upgrades

Plik /etc/apt/apt.conf.d/50unattended-upgrades:

Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}-security";
};
Unattended-Upgrade::Package-Blacklist {
    "postgresql-.*";
    "docker-ce";
};
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::Mail "you@example.com";

Harmonogram znajduje się w /etc/apt/apt.conf.d/20auto-upgrades:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Próbny przebieg, bez wprowadzania zmian:

unattended-upgrade --dry-run --debug
systemctl status unattended-upgrades
cat /var/log/unattended-upgrades/unattended-upgrades.log

AlmaLinux i CentOS Stream

dnf install -y dnf-automatic

W /etc/dnf/automatic.conf:

[commands]
upgrade_type = security
apply_updates = yes
reboot = never
systemctl enable --now dnf-automatic.timer
systemctl list-timers | grep dnf

Co wykluczyć

Dodaj do listy wykluczeń wszystko, co się psuje, gdy jego wersja zmieni się nieoczekiwanie: serwer bazy danych, Docker, sam silnik aplikacji. Aktualizuj je ręcznie w spokojnym momencie — zobacz aktualizacje systemu i pakietów.

Aktualizacje bezpieczeństwa jądra też się instalują, ale działają dopiero po restarcie:

test -f /var/run/reboot-required && cat /var/run/reboot-required.pkgs

Restart: tylko decyzja człowieka

Pokusa, żeby ustawić Automatic-Reboot "true", jest duża, ale automatyczny nocny restart oznacza, że usługa wstaje bez niczyjego nadzoru. Jeśli coś się nie podniesie, dowiesz się o tym rano od użytkowników.

Rozsądny kompromis: aktualizacje instalują się same, a ty restartujesz ręcznie raz w miesiącu, patrząc na konsolę w panelu /hosting/vds/m/<id>. Przy okazji sprawdź, czy usługi startują samodzielnie:

systemctl is-enabled nginx postgresql
systemctl list-units --state=failed

Częste błędy

BłądSkutekPoprawka
Włączone aktualizacje dla wszystkich repozytoriów, nie tylko bezpieczeństwaPojawiają się zmiany funkcjiZostaw tylko źródło -security
Baza danych nie jest na liście wykluczeńZmiana wersji głównej psuje daneDodaj ją do Package-Blacklist
Automatyczny restart w nocyUsługa się nie podniosła i nikt tego nie zauważyłAutomatic-Reboot "false"
Skonfigurowane i zapomnianeJądro się aktualizuje, ale aktualizacja nie zostaje zastosowanaSprawdzaj reboot-required raz w miesiącu
Pobrane pakiety zapełniły dyskSkończy się miejsceZostaw włączone automatyczne czyszczenie pamięci podręcznej

Automatyczne aktualizacje to ubezpieczenie, a nie zastępstwo uwagi. Raz w miesiącu otwórz maszynę, spójrz na dziennik aktualizacji, listę usług, które się nie uruchomiły, i czy potrzebny jest restart. Piętnaście minut miesięcznie pokrywa większość scenariuszy z artykułu o oznakach włamania.