Moodul 4 · 4.3
Eluiga ja versiooniuuendused
Moodul 4: Tarkvara ja uuendused · Lugemisaeg: 11 minutit
Õpieesmärk: Pärast seda õppetundi oskad leida oma distributsiooni eluea, tead, mida "end of life" sinu serverile tähendab, ning oskad versiooniuuenduse turvaliselt planeerida ja läbi viia.
Põhimõisted: väljalase (release), LTS, standardtugi, Debian LTS, Ubuntu ESM ja Ubuntu Pro, end of life (EOL), /etc/os-release, do-release-upgrade, minimaalne ja täielik uuendus, kolmandate osapoolte paketiallikad, hetktõmmis (snapshot), curl | bash
Igal väljalaskel on säilivusaeg
Automaatsed uuendused (õppetund 4.2) toimivad ainult seni, kuni sinu distributsioon sinu versioonile veel uuendusi teeb. Iga Debiani ja Ubuntu väljalase saab kindla perioodi jooksul turvauuendusi. Seejärel see lõpeb: server ei saa enam parandusi, ka mitte tõsistele turvaaukudele. Seda nimetatakse end of life (EOL).
Oma versiooni näed nii:
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
...Ubuntus on seal näiteks VERSION="24.04.3 LTS (Noble Numbat)".
Debian
Debian toetab väljalaset täielikult umbes kolm aastat. Seejärel võtab selle üle Debian LTS-i meeskond veel kaheks aastaks, pakkudes turvauuendusi enim kasutatud pakettidele. Praegused väljalasked (seisuga november 2026, kontrolli aadressil debian.org/releases):
| Väljalase | Välja antud | Tavatoe lõpp | LTS-i lõpp |
|---|---|---|---|
| Debian 13 "trixie" | 9. august 2025 | august 2028 | 30. juuni 2030 |
| Debian 12 "bookworm" | 10. juuni 2023 | 11. juuli 2026 | 30. juuni 2028 |
Debian 12 saab seega LTS-i kaudu veel uuendusi, kuid on viimases faasis. Uue serveri paigalda Debian 13-le.
Ubuntu
Ubuntu annab iga kahe aasta järel aprillis välja LTS-väljalaske (Long Term Support), millel on viis aastat standardset turvahooldust. Ubuntu Pro tellimusega (isiklikuks kasutuseks mõnel masinal tasuta) lisandub ESM (Expanded Security Maintenance), kokku kuni kümme aastat.
| Väljalase | Standardtugi kuni | ESM-iga kuni |
|---|---|---|
| Ubuntu 26.04 LTS | mai 2031 | mai 2036 |
| Ubuntu 24.04 LTS | mai 2029 | mai 2034 |
LTS-väljalasete vahel ilmuvad vaheversioonid (näiteks 25.10), millel on ainult üheksa kuud tuge. Need ei ole mõeldud serverile, mis peab aastaid töötama. Vali serverile alati LTS.
Mida EOL sinu jaoks tähendab
Server väljalaskel, mis enam uuendusi ei saa, töötab edasi. Just see ongi salakaval: sa ei märka midagi, kuni keegi kasutab ära turvaaugu, mis on kõikjal parandatud, välja arvatud sinu juures. Lisaks:
- uut tarkvara (uut PHP versiooni, uut Dockeri väljalaset) sinu väljalaskele enam ei ehitata;
- kolmandate osapoolte paketiallikad lõpetavad samuti, sageli varem;
- mida kauem ootad, seda suurem on hüpe. Debian ei toeta väljalaske vahelejätmist: 11-lt 13-le tuleb minna läbi 12.
Pane oma serveri EOL-kuupäev seepärast kalendrisse, koos meeldetuletusega pool aastat varem.
Kaks võimalust: uuenda või ehita uuesti
Uuele väljalaskele viib kaks korralikku teed.
- Kohapealne uuendus (in-place upgrade): uuendad olemasoleva serveri uuele väljalaskele. Kiire, kõik jääb alles, kuid vanad jäägid ja omad muudatused tulevad kaasa.
- Uuesti ehitamine: lood uue serveri uue väljalaskega, paigaldad teenused uuesti (mugav õppetunni 10.4 märkmetega või Docker Compose'iga, moodul 9), tood andmed üle varukoopiast ja lülitad DNS-i ümber (õppetund 7.1). Rohkem tööd, kuid puhas, ja see on ühtlasi sinu varukoopia test.
Väikesele serverile, kus on mõni teenus, sobib kohapealne uuendus hästi. Kui seal töötab palju eritarkvara või serverit on juba mitu korda uuendatud, kaalu uuesti ehitamist.
Kohapealse uuenduse ettevalmistamine
Hoolitse enne alustamist nende viie asja eest:
- Hetktõmmis teenusepakkuja paneelis, vahetult enne alustamist, ja lisaks värske varukoopia väljaspool serverit (moodul 8). Hetktõmmis on sinu kiire tee tagasi, kui uuendus poole pealt ebaõnnestub.
- Teine sissepääs: teenusepakkuja konsool. Töötad SSH kaudu ja kui võrguseaded või SSH-server uuenduse ajal muutuvad, tahad konsooli kaudu jätkata. Debiani väljalaskemärkmed ütlevad seda sõna-sõnalt: hoolitse eelnevalt muu sisselogimisviisi eest.
- Loe väljalaskemärkmeid, eriti peatükki "Issues to be aware of". Debian 13 puhul on seal näiteks:
/tmpasub nüüd vaikimisi mälus,/etc/sysctl.confenam ei loeta (kasuta/etc/sysctl.d/) ja/bootpeab olema piisavalt suur. - Vaata üle kolmandate osapoolte allikad. Paketid, mis ei tule Debianilt ega Ubuntult endalt, võivad uuenduse ajal konflikti minna. Vaata, millised allikad sul on (
ls /etc/apt/sources.list.d/) ja kas tegijal on uue väljalaske jaoks juba versioon. - Seanss, mis elab üle katkenud ühenduse. Käivita uuendus
tmuxvõiscreensees. Kui internet katkeb, jätkub uuendus ja saad selle uuesti kätte käsugatmux attach.
Debian: sammud
Debian 13 väljalaskemärkmetest, uuenduseks 12-lt 13-le:
root@web1:~# apt update && apt full-upgrade # esmalt praegune väljalase täiesti ajakohaseks
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 # minimaalne uuendus
root@web1:~# apt full-upgrade # täielik uuendus
root@web1:~# rebootKui kasutad veel /etc/apt/sources.list, muuda koodnimi seal. Kolmandate osapoolte allikad lülita uuenduse ajaks ajutiselt välja (nimeta ümber .disabled) ja pärast uuesti sisse uue väljalaske koodnimega, kui tegijal see olemas on.
Jälgi uuenduse ajal küsimusi konfiguratsioonifailide kohta. Kui oled faili ise muutnud, näiteks sshd_config, küsib dpkg, kas soovid oma versiooni alles jätta. Jäta oma versioon, kui tead, miks sa seda muutsid, ja võrdle seda hiljem uue versiooniga (.dpkg-dist).
Pärast taaskäivitust:
anna@web1:~$ cat /etc/os-release | grep VERSION=
VERSION="13 (trixie)"
anna@web1:~$ systemctl --failed
anna@web1:~$ sudo apt autoremovesystemctl --failed (õppetund 6.1) peab olema tühi. Kontrolli ka, kas su veebisaidid ja konteinerid töötavad ning kas jälgimine (õppetund 8.3) on roheline.
Ubuntu: do-release-upgrade
Ubuntul on selleks oma programm:
anna@web1:~$ sudo apt update && sudo apt full-upgrade
anna@web1:~$ sudo do-release-upgradeKaks asja, mida teada. Esiteks pakub Ubuntu uuendust ühelt LTS-ilt järgmisele alles pärast esimest punktväljalaset (näiteks 26.04.1, mõni kuu pärast aprilli). See on teadlik valik: esimestel kuudel parandatakse suurimad probleemid. Teiseks: kui käivitad uuenduse SSH kaudu, teatab do-release-upgrade, et käivitab igaks juhuks varupordil lisa-SSH-serveri. See port peab siis tulemüürist (õppetund 5.2) läbi pääsema, kui seda vajad; tavaliselt pole seda vaja, sest sul on konsool.
Suurim lõks: tarkvara väljastpoolt distributsiooni
Uuendused lähevad peaaegu alati viltu tarkvara tõttu, mis ei tule distributsioonist. Kolm harjumust teevad vahe:
- Ei mingit
curl https://... | bash. Internetist pärit skript, mida käivitad otse root'ina, võib serveris muuta mida iganes: lisada allikaid, usaldada võtmeid kõigile allikatele, faile üle kirjutada. Sa ei tea, mis juhtus, ja järgmise uuenduse ajal läheb see katki. Laadi selline skript alla, loe see läbi ja tee sammud pigem ise. - Lisaallikas ainult tegijalt endalt, oma võtmega (
Signed-By, õppetund 4.1), ja kirjuta serveri dokumentatsiooni, miks see seal on. - Ei mingeid eraldi
.deb-faile veebisaitidelt, kui sama on saadaval distributsioonist või tegija allikast. Need ei saa kunagi uuendusi.
AlmaLinux ja Rocky Linux
Seal saab "major"-versioon (9, 10) umbes kümme aastat uuendusi ja vahepealsed versioonid (9.6, 9.7) uuendad tavapäraselt käsuga dnf upgrade. Kohapealne hüpe uuele major-versioonile on võimalik tööriistaga ELevate (AlmaLinux), kuid paljud haldurid eelistavad uuele major-versioonile minekul siiski uuesti ehitamist.
Praktikas
WebOké VPS-i vaates teed enne uuendust hetktõmmise (korraga kuni kaks, samal salvestusel kui su VPS) ja konsool on sul teise sissepääsuna olemas. Teiste teenusepakkujate juures on nimed sarnased: snapshot, VNC- või veebikonsool, rescue. Hetktõmmis ei asenda varukoopiat väljaspool serverit; kustuta see, kui kõik töötab, sest see kasvab iga muudatusega.
Kokkuvõte
- Iga väljalase saab kindla perioodi jooksul turvauuendusi; seejärel on see end of life ja server ei saa enam parandusi.
- Debian: umbes kolm aastat pluss kaks aastat LTS-i; Ubuntu LTS: viis aastat pluss ESM kuni kümne aastani. Vali serverile alati LTS ja pane lõppkuupäev kalendrisse.
- Valmista uuendus ette hetktõmmise, varukoopia, konsooli, väljalaskemärkmete ja tmux-seansiga.
- Debian: allikad uue koodnime peale,
apt upgrade --without-new-pkgs,apt full-upgrade; Ubuntu:do-release-upgrade, pärast esimest punktväljalaset. - Väljastpoolt distributsiooni pärit tarkvara on suurim uuendusprobleemide allikas: ei mingit
curl | bash, ainult tegija allikad oma võtmega.
Test (quiz)
Ülesanne
Ülesanne O4.3: Sinu uuendusplaan. Uuri, millisel väljalaskel su server töötab ja milleni see turvauuendusi saab. Seejärel koosta uuendusplaan: millised kolmandate osapoolte allikad sul on, kuidas teed hetktõmmise ja varukoopia, kuidas pääsed konsooli kaudu sisse, milliseid samme teed, kuidas pärast testid ja kas valid kohapealse uuenduse või uuesti ehitamise (koos põhjendusega)?
Ülesanne O4.3: Sinu uuendusplaan
Selle ülesande teed ise, keegi ei kontrolli seda. Märgi ära, mida tegid, ja märgi ülesanne tehtuks.
Hetktõmmis ja varukoopia, väljalaskemärkmete lugemine, töö tmuxis; Debian: allikad uuele koodnimele, apt upgrade --without-new-pkgs, apt full-upgrade, taaskäivitus; Ubuntu: do-release-upgrade. Seejärel kontrolli systemctl --failed, saite, konteinereid ja jälgimist. Uuesti ülesehitamine tasub end ära, kui kohandusi on palju, ja on ühtlasi sinu varukoopia test.
Su linnukesed ja märkmed jäävad ainult sellesse brauserisse, me ei saada neid kuhugi. Kui oled sisse loginud, salvestame Minu kursustes ainult info, et tegid ülesande ära.
Loe edasi
- VPS-i hetktõmmised ja varukoopiad
- Oma ISO ühendamine või VPS-i uuesti paigaldamine
- Debiani väljalasked ja tugiperioodid: https://www.debian.org/releases/
- Debian 13, väljalaskemärkmete peatükk 4 (uuendamine) ja 5 (tähelepanekud): https://www.debian.org/releases/trixie/release-notes/
- Ubuntu, väljalasketsükkel: https://ubuntu.com/about/release-cycle
- Ubuntu Serveri dokumentatsioon, Upgrade your release: https://ubuntu.com/server/docs/how-to/software/upgrade-your-release/
