Automatické aktualizace
Modul 4: Software a aktualizace · Doba čtení: 10 min.
Cíl lekce: Po této lekci budete umět zapnout a zkontrolovat automatické bezpečnostní aktualizace, budete vědět, co se děje automaticky a co ne, a budete vědět, kdy je potřeba restart.
Klíčové pojmy: unattended-upgrades, 20auto-upgrades, 50unattended-upgrades, Origins-Pattern a Allowed-Origins, časovače apt-daily, needrestart, /var/run/reboot-required, Automatic-Reboot, aktualizace jádra, dnf-automatic
Proč automaticky?
Bezpečnostní chyby se najdou, opraví a poté aktivně zneužívají, často během několika dnů. Server, který aktualizujete jednou za měsíc, je tak v průměru celé týdny otevřený známým zranitelnostem. Nizozemské NCSC řadí včasnou instalaci aktualizací mezi základní principy digitální odolnosti: "Včasná aktualizace a záplatování softwaru pomáhá rychle odstranit zranitelnosti."
Přesto ani "všechno automaticky" není dobré řešení. Nová verze programu se může chovat jinak než ta stará a server, který se sám restartuje uprostřed dne, může zasáhnout Vaše návštěvníky. Obvyklá střední cesta na Debianu a Ubuntu je:
- bezpečnostní aktualizace automaticky, každý den;
- ostatní aktualizace a upgrady vydání ručně, ve chvíli, kterou si zvolíte sami, s předem vytvořeným snapshotem;
- restarty naplánované, v klidné době, a pod kontrolou.
Program, který se o to stará, se jmenuje unattended-upgrades.
Zapnutí unattended-upgrades
Na Ubuntu Server je unattended-upgrades nainstalován ve výchozím stavu a automatické bezpečnostní aktualizace jsou zapnuté hned po instalaci. Na Debianu je k dispozici na mnoha instalacích a obrazech také, ale ne vždy. Zkontrolujte a zapněte:
anna@web1:~$ sudo apt install unattended-upgrades
anna@web1:~$ sudo dpkg-reconfigure -plow unattended-upgradesDruhý příkaz se zeptá "Automatically download and install stable updates?" (automaticky stahovat a instalovat stabilní aktualizace?). Zvolte Yes. Tím se zapíše soubor /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";Hodnota 1 znamená: každý den. Pomocí 0 funkci vypnete. Samotnou práci spouštějí dva časovače systemd (lekce 6.3), které zobrazíte takto:
anna@web1:~$ systemctl list-timers 'apt*'
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2026-11-10 06:24:11 CET 9h left Mon 2026-11-09 06:41:03 CET 14h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Tue 2026-11-10 08:02:47 CET 11h left Mon 2026-11-09 19:12:30 CET 1h ago apt-daily.timer apt-daily.serviceapt-daily stahuje seznamy (podobně jako apt update), apt-daily-upgrade instaluje aktualizace. Časy jsou náhodně rozprostřené, aby všechny servery na světě nezatěžovaly zdroje balíčků současně.
Co se instaluje automaticky?
To je uvedeno v /etc/apt/apt.conf.d/50unattended-upgrades. Na Debianu se blok jmenuje Unattended-Upgrade::Origins-Pattern, na Ubuntu Unattended-Upgrade::Allowed-Origins. Ve výchozím stavu je v něm zapnutý bezpečnostní zdroj a stabilní zdroj Vašeho vydání a zdroj -updates je vypnutý. Na Ubuntu to vypadá takto:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};Řádky, před kterými je //, jsou vypnuté. U prvního serveru to nechte tak. Neupravujte tento soubor přímo, protože další verze balíčku jej může chtít nahradit. Debian doporučuje vkládat vlastní změny do samostatného souboru, například /etc/apt/apt.conf.d/52unattended-upgrades-local; pozdější soubory mají přednost před dřívějšími.
Balíčky z dalších zdrojů (Docker, Caddy, PostgreSQL přímo od výrobce) se ve výchozím stavu automaticky neaktualizují. Je to záměrná volba: ty sledujete sami (lekce 9.4), nebo zdroj ručně přidáte do seznamu, pokud výrobci důvěřujete a znáte důsledky.
Několik nastavení, která budete často chtít:
// /etc/apt/apt.conf.d/52unattended-upgrades-local
Unattended-Upgrade::Mail "root";
Unattended-Upgrade::MailReport "only-on-error";
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Automatic-Reboot "false";Mail funguje jen tehdy, když server umí odesílat e-maily (malý relay, lekce 8.3). Pokud to nejde, tento krok přeskočte a použijte monitoring z lekce 8.3.
Kontrola, že vše funguje
Automatizace, která se potichu zastaví, je nebezpečnější než žádná automatizace, protože si myslíte, že jste v bezpečí. Proto zkontrolujte tři věci.
1. Zkušební běh. Ukáže, co by se stalo, aniž by se cokoli změnilo:
anna@web1:~$ sudo unattended-upgrade --dry-run --debug
...
Allowed origins are: origin=Debian,codename=trixie,label=Debian, origin=Debian,codename=trixie-security,label=Debian-Security, ...
Packages that will be upgraded: libssl3t64 openssh-server2. Log. Každý běh zapisuje do /var/log/unattended-upgrades/unattended-upgrades.log:
anna@web1:~$ sudo tail -n 5 /var/log/unattended-upgrades/unattended-upgrades.log
2026-11-09 06:41:15,201 INFO Packages that will be upgraded: openssh-server
2026-11-09 06:41:15,202 INFO Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
2026-11-09 06:41:29,874 INFO All upgrades installed3. Co ještě zbývá. apt list --upgradable (lekce 4.1) by po jedné noci neměl zobrazovat žádné balíčky z -security. Pokud tam zůstávají několik dní po sobě, něco vázne: plný disk, zámek od ručně spuštěného apt, který se zasekl, nebo balíček, který klade otázku.
Restartování: služby a jádro
Aktualizovaný program na disku ještě není totéž co aktualizovaný program v paměti. Pokud OpenSSH běží už tři týdny, běží starý kód, dokud se služba znovu nespustí.
- Služby: program needrestart po aktualizaci zjistí, které služby stále používají staré knihovny. Na Ubuntu 24.04 a novějším unattended-upgrades tyto služby ve výchozím stavu restartuje sám prostřednictvím needrestart. Na Debianu je needrestart samostatný balíček (
apt install needrestart), který se Vás interaktivně zeptá, které služby se mají restartovat. - Jádro: nové jádro začne fungovat až po restartu celého serveru. Debian a Ubuntu v takovém případě vytvoří soubor
/var/run/reboot-required:
anna@web1:~$ cat /var/run/reboot-required
*** System restart required ***
anna@web1:~$ cat /var/run/reboot-required.pkgs
linux-image-6.12.57+deb13-amd64Máte dvě možnosti. Buď restartujete sami, například každý týden v pevně stanovený čas poté, co zkontrolujete, zda soubor existuje. Nebo to necháte na unattended-upgrades:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:30";Výchozí hodnota je false. Zapněte ji jen tehdy, když víte jistě, že se po restartu vše samo znovu spustí: služby s enable (lekce 6.1), kontejnery s politikou restart: (lekce 9.3) a monitoring, který Vás upozorní, pokud tomu tak není (lekce 8.3). Nejprve to jednou vyzkoušejte ručně: sudo reboot, a zkontrolujte, zda se vše vrátí.
Ubuntu nabízí v rámci Ubuntu Pro také Livepatch, který některé opravy jádra použije bez restartu. Jde o doplněk, ne o náhradu: i s Livepatch je potřeba občas restartovat.
Co nedělat automaticky
- Upgrady vydání (z Debianu 12 na 13, z Ubuntu 24.04 na 26.04): vždy ručně a podle plánu (lekce 4.3).
- Hlavní verze Vašich vlastních aplikací (nová hlavní verze databáze, CMS): vždy ručně, po záloze a po přečtení poznámek k vydání.
- Kontejnery: ty unattended-upgrades neaktualizuje. Obraz z roku 2024 zůstane obrazem z roku 2024, dokud neprovedete
docker compose pull(lekce 9.4).
Na AlmaLinux a Rocky Linux
Tam se nástroj jmenuje dnf-automatic. Nainstalujete jej pomocí dnf install dnf-automatic. V /etc/dnf/automatic.conf nastavíte upgrade_type = security a apply_updates = yes a časovač zapnete pomocí systemctl enable --now dnf-automatic.timer. Na systémech odvozených od RHEL je restart kvůli jádru potřeba stejně jako na Debianu; dnf needs-restarting -r Vám řekne, zda je to tak.
V praxi
U WebOké funguje VPS stejně jako jinde: co se aktualizuje uvnitř serveru, spravujete sami. Poskytovatel aktualizuje hardware a virtualizační platformu, ne Váš operační systém. Před ruční velkou aktualizací vytvořte snapshot v panelu svého poskytovatele; pro každodenní automatické bezpečnostní aktualizace to potřeba není.
Shrnutí
- Zapněte automatické bezpečnostní aktualizace pomocí unattended-upgrades (Ubuntu: zapnuto ve výchozím stavu; Debian: zkontrolujte pomocí
dpkg-reconfigure -plow unattended-upgrades). - Ve výchozím stavu se automaticky aktualizuje jen bezpečnostní zdroj a stabilní zdroj vydání; další zdroje ne.
- Kontrolujte zkušebním během, logem v
/var/log/unattended-upgrades/a pomocíapt list --upgradable. - Služby se musí po aktualizaci znovu spustit (needrestart), jádro vyžaduje restart serveru (
/var/run/reboot-required). - Upgrady vydání, hlavní verze aplikací a kontejnery aktualizujete ručně.
Kvíz
Úkol
Úkol O4.2: Zapnout a zkontrolovat automatické aktualizace. Na svém serveru zapněte unattended-upgrades (nebo ověřte, že je zapnutý), proveďte zkušební běh a prohlédněte si log a časovače. Vyplňte kontrolní seznam a odpovězte: které zdroje se u Vás automaticky aktualizují, kdy proběhl poslední běh, čeká nyní nějaký restart a jak budete restartovat (sami v pevně stanovený čas, nebo automaticky, a proč)?
Úkol O4.2: Zapnout a zkontrolovat automatické aktualizace
Tento úkol provádíte sami; nikdo ho nekontroluje. Odškrtněte, co jste udělali, a označte úkol jako splněný.
Automaticky: zdroj vydání a bezpečnostní zdroj. Pokud existuje reboot-required, čeká aktualizace jádra nebo knihovny. Automatický restart je možný, pokud se vše poté samo obnoví a Vaše monitorování ohlásí, když tomu tak není. Další zdroje (Docker, Caddy), kontejnery a aplikace jako WordPress aktualizujete sami.
Vaše zaškrtnutí a poznámky zůstávají pouze v tomto prohlížeči; nikam je neposíláme. Pokud jste přihlášeni, ukládáme v sekci Moje kurzy pouze to, že jste úkol splnili.
Doporučujeme k přečtení
- Zabezpečení VPS: prvních pět minut
- Debian Wiki, automatické aktualizace (UnattendedUpgrades): https://wiki.debian.org/PeriodicUpdates
- Nizozemské NCSC, základní princip 3: Chraňte systémy, aplikace a zařízení (nizozemský zdroj, v nizozemštině): https://www.ncsc.nl/basisprincipes/basisprincipe-3-bescherm-systemen-applicaties-en-apparaten
- Dokumentace Ubuntu Server, Automatic updates: https://ubuntu.com/server/docs/how-to/software/automatic-updates/
