Okres wsparcia i aktualizacja do nowego wydania
Moduł 4: Oprogramowanie i aktualizacje · Czas czytania: 11 min
Cel lekcji: Po tej lekcji będą Państwo umieli sprawdzić okres wsparcia swojej dystrybucji, będą Państwo wiedzieć, co "end of life" oznacza dla serwera, i będą Państwo potrafili bezpiecznie zaplanować i przeprowadzić aktualizację do nowego wydania.
Kluczowe pojęcia: wydanie (release), LTS, wsparcie standardowe, Debian LTS, Ubuntu ESM i Ubuntu Pro, end of life (EOL), /etc/os-release, do-release-upgrade, minimalna i pełna aktualizacja, źródła pakietów firm trzecich, snapshot, curl | bash
Każde wydanie ma datę ważności
Automatyczne aktualizacje (lekcja 4.2) działają tylko tak długo, jak dystrybucja nadal przygotowuje aktualizacje dla Państwa wersji. Każde wydanie Debiana i Ubuntu otrzymuje aktualizacje bezpieczeństwa przez określony czas. Potem to się kończy: serwer nie dostaje już poprawek, nawet dla poważnych luk. Nazywa się to end of life (EOL).
Posiadaną wersję mogą Państwo sprawdzić tak:
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 pojawi się na przykład VERSION="24.04.3 LTS (Noble Numbat)".
Debian
Debian w pełni wspiera wydanie przez około trzy lata. Następnie przejmuje je zespół Debian LTS na kolejne dwa lata, z aktualizacjami bezpieczeństwa dla najczęściej używanych pakietów. Dla bieżących wydań (stan na listopad 2026, prosimy sprawdzić na debian.org/releases):
| Wydanie | Data wydania | Koniec zwykłego wsparcia | Koniec LTS |
|---|---|---|---|
| Debian 13 "trixie" | 9 sierpnia 2025 | sierpień 2028 | 30 czerwca 2030 |
| Debian 12 "bookworm" | 10 czerwca 2023 | 11 lipca 2026 | 30 czerwca 2028 |
Debian 12 nadal otrzymuje więc aktualizacje w ramach LTS, ale jest już w ostatniej fazie. Nowy serwer najlepiej zainstalować na Debianie 13.
Ubuntu
Ubuntu co dwa lata w kwietniu publikuje wydanie LTS (Long Term Support) z pięcioma latami standardowego wsparcia bezpieczeństwa. Z subskrypcją Ubuntu Pro (bezpłatną do użytku osobistego na kilku maszynach) dochodzi do tego ESM (Expanded Security Maintenance), łącznie do dziesięciu lat.
| Wydanie | Wsparcie standardowe do | Z ESM do |
|---|---|---|
| Ubuntu 26.04 LTS | maj 2031 | maj 2036 |
| Ubuntu 24.04 LTS | maj 2029 | maj 2034 |
Pomiędzy wydaniami LTS ukazują się wersje pośrednie (np. 25.10) z zaledwie dziewięcioma miesiącami wsparcia. Nie są one przeznaczone dla serwera, który ma działać latami. Na serwer zawsze prosimy wybierać wersję LTS.
Co oznacza dla Państwa EOL
Serwer na wydaniu, które nie otrzymuje już aktualizacji, po prostu działa dalej. I właśnie to jest zdradliwe: niczego Państwo nie zauważają, dopóki ktoś nie wykorzysta luki, która została naprawiona wszędzie, tylko nie u Państwa. Ponadto:
- nowe oprogramowanie (nowa wersja PHP, nowe wydanie Dockera) nie jest już budowane dla Państwa wydania;
- źródła pakietów firm trzecich również przestają działać, często wcześniej;
- im dłużej Państwo czekają, tym większy skok. Debian nie obsługuje pomijania wydań: z 11 na 13 trzeba przejść przez 12.
Dlatego prosimy wpisać datę EOL serwera do kalendarza, z przypomnieniem pół roku wcześniej.
Dwa sposoby: aktualizacja lub budowa od nowa
Istnieją dwie rozsądne drogi do nowego wydania.
- Aktualizacja na miejscu (in-place): istniejący serwer zostaje zaktualizowany do nowego wydania. Szybko, wszystko zostaje na miejscu, ale stare pozostałości i własne zmiany przechodzą razem z nim.
- Budowa od nowa: tworzą Państwo nowy serwer z nowym wydaniem, instalują na nim ponownie swoje usługi (wygodnie z notatkami z lekcji 10.4 lub z Docker Compose, moduł 9), przenoszą dane z kopii zapasowej i przełączają DNS (lekcja 7.1). Więcej pracy, ale czysto, a przy okazji jest to test kopii zapasowej.
Dla małego serwera z kilkoma usługami aktualizacja na miejscu jest w zupełności wystarczająca. Jeśli działa na nim dużo niestandardowych rozwiązań albo serwer był już kilka razy aktualizowany, warto rozważyć budowę od nowa.
Przygotowanie aktualizacji na miejscu
Przed rozpoczęciem prosimy zadbać o tych pięć rzeczy:
- Snapshot w panelu dostawcy, wykonany tuż przed rozpoczęciem, oraz aktualna kopia zapasowa poza serwerem (moduł 8). Snapshot to szybka droga powrotu, jeśli aktualizacja nie powiedzie się w połowie.
- Drugie wejście: konsola dostawcy. Pracują Państwo przez SSH, a jeśli ustawienia sieci lub serwer SSH zmienią się podczas aktualizacji, trzeba móc kontynuować przez konsolę. Informacje o wydaniu Debiana mówią to wprost: należy wcześniej zapewnić sobie inny sposób logowania.
- Przeczytanie informacji o wydaniu, zwłaszcza rozdziału "Issues to be aware of". Dla Debiana 13 można tam znaleźć na przykład:
/tmpjest teraz domyślnie w pamięci,/etc/sysctl.confnie jest już odczytywany (prosimy użyć/etc/sysctl.d/), a/bootmusi być wystarczająco duży. - Przegląd źródeł firm trzecich. Pakiety, które nie pochodzą bezpośrednio od Debiana lub Ubuntu, mogą powodować konflikty podczas aktualizacji. Prosimy sprawdzić, jakie źródła są skonfigurowane (
ls /etc/apt/sources.list.d/) i czy ich twórca ma już wersję dla nowego wydania. - Sesja, która przetrwa zerwanie połączenia. Aktualizację prosimy uruchomić w
tmuxlubscreen. Jeśli internet przestanie działać, aktualizacja będzie kontynuowana, a sesję można wznowić poleceniemtmux attach.
Debian: kolejne kroki
Z informacji o wydaniu Debiana 13, dla aktualizacji z 12 do 13:
root@web1:~# apt update && apt full-upgrade # najpierw w pełni zaktualizować bieżące wydanie
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 # minimalna aktualizacja
root@web1:~# apt full-upgrade # pełna aktualizacja
root@web1:~# rebootJeśli nadal używają Państwo /etc/apt/sources.list, należy tam zmienić nazwę kodową. Źródła firm trzecich na czas aktualizacji tymczasowo się wyłącza (zmiana nazwy na .disabled), a potem włącza ponownie z nazwą kodową nowego wydania, o ile twórca ją udostępnia.
Podczas aktualizacji prosimy zwracać uwagę na pytania dotyczące plików konfiguracyjnych. Jeśli sami Państwo zmienili jakiś plik, na przykład sshd_config, dpkg zapyta, czy zachować Państwa wersję. Prosimy zachować własną wersję, jeśli wiedzą Państwo, dlaczego została zmieniona, a następnie porównać ją z nową wersją (.dpkg-dist).
Po ponownym uruchomieniu:
anna@web1:~$ cat /etc/os-release | grep VERSION=
VERSION="13 (trixie)"
anna@web1:~$ systemctl --failed
anna@web1:~$ sudo apt autoremovesystemctl --failed (lekcja 6.1) powinno zwrócić pusty wynik. Prosimy też sprawdzić, czy strony i kontenery działają oraz czy monitorowanie (lekcja 8.3) świeci na zielono.
Ubuntu: do-release-upgrade
Ubuntu ma do tego własny program:
anna@web1:~$ sudo apt update && sudo apt full-upgrade
anna@web1:~$ sudo do-release-upgradeWarto wiedzieć o dwóch rzeczach. Po pierwsze, Ubuntu proponuje aktualizację z jednej wersji LTS do następnej dopiero po pierwszym wydaniu punktowym (na przykład 26.04.1, kilka miesięcy po kwietniu). To celowe: w pierwszych miesiącach usuwane są największe problemy. Po drugie: jeśli aktualizacja jest uruchamiana przez SSH, do-release-upgrade informuje, że dla bezpieczeństwa uruchamia dodatkowy serwer SSH na porcie zapasowym. Ten port musi wtedy być przepuszczany przez zaporę (lekcja 5.2), jeśli będzie potrzebny; zwykle nie jest, ponieważ mają Państwo konsolę.
Największa pułapka: oprogramowanie spoza dystrybucji
Aktualizacje niemal zawsze psują się na oprogramowaniu, które nie pochodzi z dystrybucji. Różnicę robią trzy nawyki:
- Żadnego
curl https://... | bash. Skrypt z internetu uruchomiony bezpośrednio jako root może zmienić na serwerze cokolwiek: dodać źródła, zaufać kluczom dla wszystkich źródeł, nadpisać pliki. Nie wiedzą Państwo, co się stało, a przy następnej aktualizacji coś się zepsuje. Taki skrypt prosimy pobrać, przeczytać i najlepiej wykonać kroki samodzielnie. - Dodatkowe źródło tylko od samego twórcy, z własnym kluczem (
Signed-By, lekcja 4.1), z adnotacją w dokumentacji serwera, dlaczego zostało dodane. - Żadnych pojedynczych plików
.debze stron internetowych, jeśli to samo można zainstalować z dystrybucji lub ze źródła twórcy. Takie pliki nigdy nie dostają aktualizacji.
Na AlmaLinux i Rocky Linux
Wersja "major" (9, 10) otrzymuje tam aktualizacje przez około dziesięć lat, a wersje pośrednie (9.6, 9.7) aktualizuje się zwyczajnie poleceniem dnf upgrade. Przejście na nową wersję major na miejscu jest możliwe za pomocą narzędzia ELevate (AlmaLinux), ale wielu administratorów przy przejściu na nową wersję major mimo wszystko wybiera budowę od nowa.
W praktyce
W panelu VPS WebOké przed aktualizacją można wykonać snapshot (maksymalnie dwa jednocześnie, na tym samym magazynie co VPS), a konsola służy jako drugie wejście. U innych dostawców nazywa się to podobnie: snapshot, konsola VNC lub webowa, rescue. Snapshot nie zastępuje kopii zapasowej poza serwerem; prosimy go usunąć, gdy wszystko działa, ponieważ rośnie z każdą zmianą.
Podsumowanie
- Każde wydanie otrzymuje aktualizacje bezpieczeństwa przez określony czas; potem osiąga end of life i serwer nie dostaje już poprawek.
- Debian: około trzech lat plus dwa lata LTS; Ubuntu LTS: pięć lat plus ESM do dziesięciu lat. Na serwer zawsze prosimy wybierać LTS i wpisać datę końca wsparcia do kalendarza.
- Aktualizację prosimy przygotować ze snapshotem, kopią zapasową, konsolą, informacjami o wydaniu i sesją tmux.
- Debian: źródła na nową nazwę kodową,
apt upgrade --without-new-pkgs,apt full-upgrade; Ubuntu:do-release-upgrade, po pierwszym wydaniu punktowym. - Oprogramowanie spoza dystrybucji to największe źródło problemów z aktualizacją: żadnego
curl | bash, tylko źródła od twórcy z własnym kluczem.
Quiz
Zadanie
Zadanie O4.3: Państwa plan aktualizacji. Prosimy sprawdzić, na jakim wydaniu działa serwer i do kiedy otrzymuje ono aktualizacje bezpieczeństwa. Następnie prosimy przygotować plan aktualizacji: jakie źródła firm trzecich są używane, jak wykonać snapshot i kopię zapasową, jak dostać się do serwera przez konsolę, jakie kroki zostaną wykonane, jak potem przeprowadzić test oraz czy wybierają Państwo aktualizację na miejscu, czy budowę od nowa (z uzasadnieniem)?
Zadanie O4.3: Państwa plan aktualizacji
To zadanie wykonuje się samodzielnie, nikt go nie sprawdza. Prosimy zaznaczyć wykonane punkty i oznaczyć zadanie jako wykonane.
Migawka i kopia zapasowa, lektura informacji o wydaniu, praca w tmux; Debian: źródła na nową nazwę kodową, apt upgrade --without-new-pkgs, apt full-upgrade, restart; Ubuntu: do-release-upgrade. Następnie sprawdzić systemctl --failed, strony, kontenery i monitoring. Budowa od nowa opłaca się przy wielu własnych modyfikacjach i jest od razu testem kopii zapasowej.
Zaznaczenia i notatki pozostają tylko w tej przeglądarce; nie są nigdzie wysyłane. Po zalogowaniu w Moje kursy zapisywana jest jedynie informacja, że zadanie zostało wykonane.
Przeczytaj więcej
- Snapshoty i kopie zapasowe VPS
- Podłączanie własnego ISO lub ponowna instalacja VPS
- Wydania Debiana i okresy wsparcia: https://www.debian.org/releases/
- Debian 13, informacje o wydaniu, rozdział 4 (aktualizacja) i 5 (kwestie, na które należy zwrócić uwagę): https://www.debian.org/releases/trixie/release-notes/
- Ubuntu, cykl wydań: https://ubuntu.com/about/release-cycle
- Dokumentacja Ubuntu Server, Upgrade your release: https://ubuntu.com/server/docs/how-to/software/upgrade-your-release/
