Modul 4 · 4.3
Životnost a upgrady na nová vydání
Modul 4: Software a aktualizace · Doba čtení: 11 min.
Cíl lekce: Po této lekci dokážete zjistit životnost své distribuce, víte, co pro Váš server znamená "end of life", a umíte bezpečně naplánovat a provést upgrade na nové vydání.
Klíčové pojmy: vydání (release), LTS, standardní podpora, Debian LTS, Ubuntu ESM a Ubuntu Pro, end of life (EOL), /etc/os-release, do-release-upgrade, minimální a úplný upgrade, repozitáře třetích stran, snapshot, curl | bash
Každé vydání má datum spotřeby
Automatické aktualizace (lekce 4.2) fungují jen tak dlouho, dokud Vaše distribuce pro Vaši verzi aktualizace ještě vydává. Každé vydání Debianu a Ubuntu dostává bezpečnostní aktualizace po pevně stanovenou dobu. Potom to skončí: Váš server už nedostane žádné opravy, ani pro závažné zranitelnosti. Tomu se říká end of life (EOL).
Jakou verzi máte, zjistíte takto:
anna@web1:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
...Na Ubuntu tam uvidíte například VERSION="24.04.3 LTS (Noble Numbat)".
Debian
Debian plně podporuje každé vydání přibližně tři roky. Potom podporu přebírá tým Debian LTS na další dva roky, s bezpečnostními aktualizacemi pro nejpoužívanější balíčky. Pro aktuální vydání (stav k listopadu 2026, ověřte na debian.org/releases):
| Vydání | Vydáno | Konec běžné podpory | Konec LTS |
|---|---|---|---|
| Debian 13 "trixie" | 9. srpna 2025 | srpen 2028 | 30. června 2030 |
| Debian 12 "bookworm" | 10. června 2023 | 11. července 2026 | 30. června 2028 |
Debian 12 tedy ještě dostává aktualizace prostřednictvím LTS, ale je už v poslední fázi. Nový server instalujte na Debian 13.
Ubuntu
Ubuntu vydává každé dva roky v dubnu vydání LTS (Long Term Support) s pěti lety standardní bezpečnostní údržby. S předplatným Ubuntu Pro (pro osobní použití zdarma na několika strojích) k tomu přibude ESM (Expanded Security Maintenance), celkem až deset let.
| Vydání | Standardní podpora do | S ESM do |
|---|---|---|
| Ubuntu 26.04 LTS | května 2031 | května 2036 |
| Ubuntu 24.04 LTS | května 2029 | května 2034 |
Mezi vydáními LTS vycházejí průběžné verze (například 25.10), které mají podporu jen devět měsíců. Ty nejsou určené pro server, který má běžet léta. Pro server vždy zvolte LTS.
Co pro Vás znamená EOL
Server na vydání, které už nedostává aktualizace, normálně běží dál. Právě to je na tom zrádné: ničeho si nevšimnete, dokud někdo nezneužije zranitelnost, která je všude opravená, jen u Vás ne. Kromě toho:
- nový software (nová verze PHP, nové vydání Dockeru) se už pro Vaše vydání nesestavuje;
- repozitáře třetích stran končí také, často ještě dříve;
- čím déle čekáte, tím větší je skok. Debian nepodporuje přeskočení vydání: z 11 na 13 se musí přes 12.
Zapište si proto datum EOL svého serveru do kalendáře, s připomínkou půl roku předem.
Dvě cesty: upgrade, nebo nová instalace
K novému vydání vedou dvě čisté cesty.
- Upgrade na místě (in-place): stávající server aktualizujete na nové vydání. Je to rychlé a vše zůstane zachováno, ale přenesou se i staré zbytky a Vaše vlastní úpravy.
- Nová instalace: vytvoříte nový server s novým vydáním, znovu na něj nasadíte své služby (pomohou poznámky z lekce 10.4 nebo Docker Compose, modul 9), přenesete data ze zálohy a přepnete DNS (lekce 7.1). Je to víc práce, ale výsledek je čistý a zároveň si tím otestujete zálohu.
Pro malý server s několika službami je upgrade na místě naprosto v pořádku. Pokud na něm běží hodně vlastních úprav nebo už byl server několikrát upgradován, zvažte novou instalaci.
Příprava upgradu na místě
Než začnete, zajistěte těchto pět věcí:
- Snapshot v panelu Vašeho poskytovatele, těsně před začátkem, a navíc aktuální zálohu mimo server (modul 8). Snapshot je Vaše rychlá cesta zpět, pokud se upgrade v polovině pokazí.
- Druhý přístup: konzole Vašeho poskytovatele. Pracujete přes SSH, a pokud se během upgradu změní síťová nastavení nebo SSH server, chcete mít možnost pokračovat přes konzoli. Poznámky k vydání Debianu to říkají doslova: předem si zajistěte jiný způsob přihlášení.
- Přečíst poznámky k vydání, hlavně kapitolu "Issues to be aware of". Pro Debian 13 tam najdete například:
/tmpje nyní ve výchozím stavu v paměti,/etc/sysctl.confse už nenačítá (použijte/etc/sysctl.d/) a/bootmusí být dostatečně velký. - Projít repozitáře třetích stran. Balíčky, které nepocházejí přímo z Debianu nebo Ubuntu, mohou během upgradu způsobit konflikty. Zjistěte, jaké repozitáře máte (
ls /etc/apt/sources.list.d/) a zda už jejich autor má verzi pro nové vydání. - Relaci, která přežije přerušené spojení. Spusťte upgrade v
tmuxneboscreen. Pokud Vám vypadne internet, upgrade poběží dál a navážete na něj pomocítmux attach.
Debian: jednotlivé kroky
Z poznámek k vydání Debianu 13, pro upgrade z 12 na 13:
root@web1:~# apt update && apt full-upgrade # nejprve plně aktualizovat současné vydání
root@web1:~# sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/debian.sources
root@web1:~# apt update
root@web1:~# apt upgrade --without-new-pkgs # minimální upgrade
root@web1:~# apt full-upgrade # úplný upgrade
root@web1:~# rebootPokud ještě používáte /etc/apt/sources.list, upravte kódové jméno tam. Repozitáře třetích stran během upgradu dočasně vypněte (přejmenujte na .disabled) a potom je znovu zapněte s kódovým jménem nového vydání, pokud ho jejich autor nabízí.
Během upgradu dávejte pozor na dotazy ke konfiguračním souborům. Pokud jste nějaký soubor sami upravili, například sshd_config, dpkg se zeptá, zda si chcete ponechat svou verzi. Ponechte si vlastní verzi, pokud víte, proč jste ji upravili, a potom ji porovnejte s novou verzí (.dpkg-dist).
Po restartu:
anna@web1:~$ cat /etc/os-release | grep VERSION=
VERSION="13 (trixie)"
anna@web1:~$ systemctl --failed
anna@web1:~$ sudo apt autoremovesystemctl --failed (lekce 6.1) musí být prázdný. Zkontrolujte také, zda fungují Vaše weby a kontejnery a zda je Váš monitoring (lekce 8.3) zelený.
Ubuntu: do-release-upgrade
Ubuntu má na to vlastní program:
anna@web1:~$ sudo apt update && sudo apt full-upgrade
anna@web1:~$ sudo do-release-upgradeDvě věci, které byste měli vědět. Za prvé: Ubuntu nabízí upgrade z jednoho LTS na další až po prvním bodovém vydání (například 26.04.1, několik měsíců po dubnu). Je to záměr: během prvních měsíců se odstraní největší problémy. Za druhé: pokud upgrade spouštíte přes SSH, do-release-upgrade oznámí, že pro jistotu spustí další SSH server na záložním portu. Tento port pak musí Váš firewall (lekce 5.2) propustit, pokud ho budete potřebovat; většinou ho nepotřebujete, protože máte konzoli.
Velká past: software mimo distribuci
Upgrady se téměř vždy pokazí kvůli softwaru, který nepochází z distribuce. Rozdíl dělají tři návyky:
- Žádné
curl https://... | bash. Skript z internetu, který spustíte přímo jako root, může na Vašem serveru změnit cokoli: přidat repozitáře, důvěřovat klíčům pro všechny repozitáře, přepsat soubory. Nevíte, co se stalo, a při příštím upgradu se něco rozbije. Takový skript si stáhněte, přečtěte a kroky raději proveďte sami. - Další repozitář jen přímo od autora, s vlastním klíčem (
Signed-By, lekce 4.1), a v dokumentaci serveru si poznamenejte, proč tam je. - Žádné samostatné soubory
.debz webů, pokud to jde i z distribuce nebo z repozitáře autora. Ty nikdy nedostanou aktualizace.
Na AlmaLinux a Rocky Linux
Hlavní verze ("major", 9, 10) tam dostává aktualizace zhruba deset let a průběžné verze (9.6, 9.7) jednoduše aktualizujete pomocí dnf upgrade. Skok na novou hlavní verzi na místě je možný s nástrojem ELevate (AlmaLinux), ale mnoho správců při přechodu na novou hlavní verzi přesto volí novou instalaci.
V praxi
V rozhraní VPS u WebOké si před upgradem vytvoříte snapshot (nejvýše dva současně, na stejném úložišti jako Váš VPS) a jako druhý přístup máte konzoli. U jiných poskytovatelů se to jmenuje podobně: snapshot, VNC nebo webová konzole, rescue. Snapshot nenahrazuje zálohu mimo server; jakmile vše funguje, smažte ho, protože roste s každou změnou.
Shrnutí
- Každé vydání dostává bezpečnostní aktualizace po pevně stanovenou dobu; potom je end of life a Váš server už nedostává žádné opravy.
- Debian: přibližně tři roky plus dva roky LTS; Ubuntu LTS: pět let plus ESM až na deset let. Pro server vždy zvolte LTS a datum konce podpory si zapište do kalendáře.
- Upgrade připravte se snapshotem, zálohou, konzolí, poznámkami k vydání a relací tmux.
- Debian: repozitáře na nové kódové jméno,
apt upgrade --without-new-pkgs,apt full-upgrade; Ubuntu:do-release-upgrade, po prvním bodovém vydání. - Software mimo distribuci je největším zdrojem problémů při upgradu: žádné
curl | bash, jen repozitáře od autora s vlastním klíčem.
Kvíz
Úkol
Úkol O4.3: Váš plán upgradu. Zjistěte, na jakém vydání Váš server běží a do kdy dostává bezpečnostní aktualizace. Potom sestavte plán upgradu: jaké repozitáře třetích stran máte, jak vytvoříte snapshot a zálohu, jak se dostanete dovnitř přes konzoli, jaké kroky provedete, jak potom vše otestujete a zda zvolíte upgrade na místě, nebo novou instalaci (s odůvodněním)?
Úkol O4.3: Váš plán upgradu
Tento úkol provádíte sami; nikdo ho nekontroluje. Odškrtněte, co jste udělali, a označte úkol jako splněný.
Snapshot a záloha, přečíst poznámky k vydání, pracovat v tmux; Debian: zdroje přepnout na nové kódové jméno, apt upgrade --without-new-pkgs, apt full-upgrade, restart; Ubuntu: do-release-upgrade. Poté zkontrolovat systemctl --failed, weby, kontejnery a monitoring. Nové sestavení se vyplatí při velkém množství úprav na míru a zároveň slouží jako test Vaší zálohy.
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í
- Snapshoty a zálohy VPS
- Připojení vlastního ISO nebo přeinstalace VPS
- Vydání Debianu a období podpory: https://www.debian.org/releases/
- Debian 13, poznámky k vydání, kapitola 4 (upgrade) a 5 (na co si dát pozor): https://www.debian.org/releases/trixie/release-notes/
- Ubuntu, cyklus vydání: https://ubuntu.com/about/release-cycle
- Dokumentace Ubuntu Server, Upgrade your release: https://ubuntu.com/server/docs/how-to/software/upgrade-your-release/
