Přejít na obsah

Nastavení cookies

Zvolte, které druhy cookies povolíte. Svou volbu můžete kdykoli změnit přes Nastavení cookies v dolní části každé stránky. Prohlášení o ochraně osobních údajů

Nezbytné

Vždy zapnuté

Potřebné pro přihlášení, uchování košíku a zapamatování vašich voleb. Jsou vždy zapnuté.

Které cookies?
  • weboke_sessie, weboke_klant, weboke_remember: vaše relace a trvalé přihlášení
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazení cen s DPH nebo bez DPH
  • wok_cookies: vaše volba cookies, 12 měsíců

Měří, která reklama vede k návštěvě nebo objednávce, abychom neplatili za reklamy, které nic nepřinášejí.

Které cookies?
  • Google Ads přes Google Tag Manager (_gcl_au, _gcl_aw), až 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: partner, který vás k nám doporučil (partnerský program), 60 dní

4,6

Země a jazyk

Každá země má vlastní web s cenami a DPH dané země.

Zobrazit

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-upgrades

Druhý 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.service

apt-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-server

2. 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 installed

3. 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-amd64

Má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

1. Zapnuli jste unattended-upgrades. Po týdnu apt list --upgradable stále zobrazuje aktualizaci z trixie-security. Co uděláte nejdříve?



2. Po aktualizaci OpenSSL běží Váš webový server a SSH server stále se starou knihovnou v paměti. Co to vyřeší?



3. Proč se balíčky z dalšího zdroje (například od Dockeru) ve výchozím stavu automaticky neaktualizují?



4. Kdy je rozumné zapnout Automatic-Reboot "true"?



5. Kam uložíte vlastní nastavení pro unattended-upgrades?



Ú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ý.





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í

Chvíli strpení…

Nastavení vašich domén

U každé domény nastavte jmenné servery, propojení s hostingem a to, kdo bude držitelem.

Načítání vašich domén…