Moduuli 4 · 4.3
Elinkaari ja julkaisupäivitykset
Moduuli 4: Ohjelmistot ja päivitykset · Lukuaika: 11 minuuttia
Tavoite: Tämän oppitunnin jälkeen osaat selvittää jakelusi elinkaaren, tiedät mitä "end of life" tarkoittaa palvelimellesi ja osaat suunnitella ja tehdä julkaisupäivityksen turvallisesti.
Keskeiset käsitteet: julkaisu, LTS, vakiotuki, Debian LTS, Ubuntu ESM ja Ubuntu Pro, end of life (EOL), /etc/os-release, do-release-upgrade, minimaalinen ja täysi päivitys, kolmansien osapuolten pakettilähteet, tilannevedos (snapshot), curl | bash
Jokaisella julkaisulla on parasta ennen -päivä
Automaattiset päivitykset (oppitunti 4.2) toimivat vain niin kauan kuin jakelusi vielä julkaisee päivityksiä omalle versiollesi. Jokainen Debianin ja Ubuntun julkaisu saa tietoturvapäivityksiä tietyn ajan. Sen jälkeen ne loppuvat: palvelimesi ei saa enää korjauksia, ei edes vakaviin haavoittuvuuksiin. Tätä kutsutaan nimellä end of life (EOL).
Näet versiosi näin:
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
...Ubuntussa siinä lukee esimerkiksi VERSION="24.04.3 LTS (Noble Numbat)".
Debian
Debian tukee julkaisua täysimääräisesti noin kolme vuotta. Sen jälkeen Debian LTS -tiimi jatkaa vielä kaksi vuotta ja julkaisee tietoturvapäivityksiä käytetyimpiin paketteihin. Nykyiset julkaisut (tilanne marraskuussa 2026, tarkista osoitteesta debian.org/releases):
| Julkaisu | Julkaistu | Tavallinen tuki päättyy | LTS päättyy |
|---|---|---|---|
| Debian 13 "trixie" | 9 augustus 2025 | augustus 2028 | 30 juni 2030 |
| Debian 12 "bookworm" | 10 juni 2023 | 11 juli 2026 | 30 juni 2028 |
Debian 12 saa siis vielä päivityksiä LTS:n kautta, mutta se on viimeisessä vaiheessaan. Uuden palvelimen asennat Debian 13:lle.
Ubuntu
Ubuntu julkaisee joka toinen vuosi huhtikuussa LTS-julkaisun (Long Term Support), jolla on viisi vuotta vakiomuotoista tietoturvaylläpitoa. Ubuntu Pro -tilauksella (henkilökohtaiseen käyttöön ilmainen muutamalle koneelle) saat lisäksi ESM:n (Expanded Security Maintenance), yhteensä enintään kymmenen vuotta.
| Julkaisu | Vakiotuki asti | ESM:n kanssa asti |
|---|---|---|
| Ubuntu 26.04 LTS | mei 2031 | mei 2036 |
| Ubuntu 24.04 LTS | mei 2029 | mei 2034 |
LTS-julkaisujen välissä ilmestyy välijulkaisuja (kuten 25.10), joilla on vain yhdeksän kuukauden tuki. Niitä ei ole tarkoitettu palvelimelle, jonka pitää toimia vuosia. Valitse palvelimelle aina LTS.
Mitä EOL tarkoittaa sinulle
Palvelin, jonka julkaisu ei enää saa päivityksiä, toimii ihan normaalisti. Juuri se on salakavalaa: et huomaa mitään, ennen kuin joku käyttää haavoittuvuutta, joka on korjattu kaikkialla muualla paitsi sinulla. Lisäksi:
- uusia ohjelmistoja (uusi PHP-versio, uusi Docker-julkaisu) ei enää käännetä julkaisullesi;
- myös kolmansien osapuolten pakettilähteet lopettavat, usein aiemmin;
- mitä kauemmin odotat, sitä suurempi on hyppy. Debian ei tue julkaisun ohittamista: versiosta 11 versioon 13 pitää kulkea version 12 kautta.
Merkitse siksi palvelimesi EOL-päivä kalenteriin ja aseta muistutus puoli vuotta aiemmin.
Kaksi tapaa: päivitä tai rakenna uudelleen
Uuteen julkaisuun pääsee kahta siistiä reittiä.
- Paikallaan tehtävä päivitys (in-place): päivität olemassa olevan palvelimen uuteen julkaisuun. Nopeaa ja kaikki jää paikalleen, mutta vanhat jäänteet ja omat muutokset kulkevat mukana.
- Rakentaminen uudelleen: teet uuden palvelimen uudella julkaisulla, asennat palvelusi uudelleen (helppoa oppitunnin 10.4 muistiinpanoilla tai Docker Composella, moduuli 9), siirrät tiedot varmuuskopiosta ja vaihdat DNS:n (oppitunti 7.1). Enemmän työtä, mutta puhdas lopputulos, ja samalla testaat varmuuskopiosi.
Pienelle palvelimelle, jossa on muutama palvelu, paikallaan tehtävä päivitys sopii hyvin. Jos palvelimella on paljon räätälöintiä tai se on jo päivitetty muutaman kerran, harkitse uudelleenrakentamista.
Paikallaan tehtävän päivityksen valmistelu
Huolehdi näistä viidestä asiasta ennen kuin aloitat:
- Tilannevedos palveluntarjoajasi paneelissa juuri ennen aloittamista sekä tuore varmuuskopio palvelimen ulkopuolella (moduuli 8). Tilannevedos on nopea paluutiesi, jos päivitys menee pieleen kesken kaiken.
- Toinen sisäänkäynti: palveluntarjoajasi konsoli. Työskentelet SSH:n kautta, ja jos verkkoasetukset tai SSH-palvelin muuttuvat päivityksen aikana, haluat voida jatkaa konsolin kautta. Debianin julkaisutiedotteet sanovat sen suoraan: varmista etukäteen toinen tapa kirjautua sisään.
- Lue julkaisutiedotteet, erityisesti luku "Issues to be aware of". Debian 13:n kohdalla siellä mainitaan esimerkiksi:
/tmpon nyt oletuksena muistissa,/etc/sysctl.confei enää lueta (käytä/etc/sysctl.d/), ja/booton oltava riittävän suuri. - Käy läpi kolmansien osapuolten lähteet. Paketit, jotka eivät tule Debianilta tai Ubuntulta itseltään, voivat aiheuttaa ristiriitoja päivityksen aikana. Katso, mitä lähteitä sinulla on (
ls /etc/apt/sources.list.d/), ja onko tekijällä jo versio uudelle julkaisulle. - Istunto, joka kestää katkenneen yhteyden. Käynnistä päivitys
tmux- taiscreen-istunnossa. Jos internetyhteytesi katkeaa, päivitys jatkuu, ja palaat siihen komennollatmux attach.
Debian: vaiheet
Debian 13:n julkaisutiedotteista, päivitys versiosta 12 versioon 13:
root@web1:~# apt update && apt full-upgrade # päivitä ensin nykyinen julkaisu kokonaan
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 # minimaalinen päivitys
root@web1:~# apt full-upgrade # täysi päivitys
root@web1:~# rebootJos käytät vielä tiedostoa /etc/apt/sources.list, vaihda koodinimi myös siihen. Kolmansien osapuolten lähteet poistat päivityksen ajaksi käytöstä (nimeä ne muotoon .disabled) ja otat ne sen jälkeen taas käyttöön uuden julkaisun koodinimellä, jos tekijällä sellainen on.
Seuraa päivityksen aikana asetustiedostoja koskevia kysymyksiä. Jos olet muokannut tiedostoa itse, kuten sshd_config, dpkg kysyy, haluatko säilyttää oman versiosi. Säilytä oma versiosi, jos tiedät miksi muokkasit sitä, ja vertaa sitä sen jälkeen uuteen versioon (.dpkg-dist).
Uudelleenkäynnistyksen jälkeen:
anna@web1:~$ cat /etc/os-release | grep VERSION=
VERSION="13 (trixie)"
anna@web1:~$ systemctl --failed
anna@web1:~$ sudo apt autoremovesystemctl --failed (oppitunti 6.1) on oltava tyhjä. Tarkista myös, että sivustosi ja konttisi toimivat ja että valvontasi (oppitunti 8.3) näyttää vihreää.
Ubuntu: do-release-upgrade
Ubuntulla on tähän oma ohjelmansa:
anna@web1:~$ sudo apt update && sudo apt full-upgrade
anna@web1:~$ sudo do-release-upgradeKaksi asiaa on hyvä tietää. Ensinnäkin Ubuntu tarjoaa päivitystä LTS-versiosta seuraavaan vasta ensimmäisen pistejulkaisun jälkeen (esimerkiksi 26.04.1, muutama kuukausi huhtikuun jälkeen). Se on tarkoituksellista: ensimmäisinä kuukausina korjataan suurimmat ongelmat. Toiseksi: jos ajat päivityksen SSH:n kautta, do-release-upgrade ilmoittaa käynnistävänsä varmuuden vuoksi ylimääräisen SSH-palvelimen varaportissa. Sen portin on silloin päästävä palomuurisi (oppitunti 5.2) läpi, jos tarvitset sitä; yleensä et tarvitse, koska sinulla on konsoli.
Suurin sudenkuoppa: jakelun ulkopuoliset ohjelmistot
Päivitykset menevät pieleen lähes aina ohjelmistojen takia, jotka eivät tule jakelusta. Kolme tapaa ratkaisee paljon:
- Ei
curl https://... | bash. Internetistä haettu skripti, jonka ajat suoraan rootina, voi muuttaa palvelimellasi mitä tahansa: lisätä lähteitä, luottaa avaimiin kaikille lähteille, korvata tiedostoja. Et tiedä mitä tapahtui, ja seuraavassa päivityksessä jokin hajoaa. Lataa tällainen skripti, lue se ja tee vaiheet mieluummin itse. - Ylimääräinen lähde vain tekijältä itseltään, omalla avaimellaan (
Signed-By, oppitunti 4.1), ja kirjaa palvelindokumentaatioosi, miksi se on siellä. - Ei irrallisia
.deb-tiedostoja verkkosivuilta, jos saman saa jakelusta tai tekijän lähteestä. Ne eivät koskaan saa päivityksiä.
AlmaLinux ja Rocky Linux
Niissä "major"-versio (9, 10) saa päivityksiä noin kymmenen vuotta, ja välivedokset (9.6, 9.7) päivität tavalliseen tapaan komennolla dnf upgrade. Siirtyminen uuteen major-versioon paikallaan onnistuu ELevate-työkalulla (AlmaLinux), mutta moni ylläpitäjä valitsee major-version vaihdossa silti uudelleenrakentamisen.
Käytännössä
WebOkén VPS-näkymässä teet ennen päivitystä tilannevedoksen (enintään kaksi kerrallaan, samalla tallennustilalla kuin VPS:si), ja konsoli toimii toisena sisäänkäyntinä. Muilla palveluntarjoajilla nimitykset ovat samankaltaisia: snapshot, VNC- tai verkkokonsoli, rescue. Tilannevedos ei korvaa palvelimen ulkopuolista varmuuskopiota; poista se, kun kaikki toimii, koska se kasvaa jokaisen muutoksen myötä.
Yhteenveto
- Jokainen julkaisu saa tietoturvapäivityksiä tietyn ajan; sen jälkeen se on end of life, eikä palvelimesi saa enää korjauksia.
- Debian: noin kolme vuotta ja lisäksi kaksi vuotta LTS:ää; Ubuntu LTS: viisi vuotta ja ESM:llä enintään kymmenen. Valitse palvelimelle aina LTS ja merkitse päättymispäivä kalenteriin.
- Valmistele päivitys tilannevedoksella, varmuuskopiolla, konsolilla, julkaisutiedotteilla ja tmux-istunnolla.
- Debian: lähteet uuteen koodinimeen,
apt upgrade --without-new-pkgs,apt full-upgrade; Ubuntu:do-release-upgrade, ensimmäisen pistejulkaisun jälkeen. - Jakelun ulkopuoliset ohjelmistot ovat suurin päivitysongelmien lähde: ei
curl | bash, vain tekijän lähteitä omalla avaimella.
Tietovisa (quiz)
Tehtävä
Tehtävä O4.3: Päivityssuunnitelmasi. Selvitä, millä julkaisulla palvelimesi toimii ja mihin asti se saa tietoturvapäivityksiä. Tee sen jälkeen päivityssuunnitelma: mitä kolmansien osapuolten lähteitä sinulla on, miten teet tilannevedoksen ja varmuuskopion, miten pääset sisään konsolin kautta, mitkä vaiheet teet, miten testaat jälkeenpäin, ja valitsetko paikallaan tehtävän päivityksen vai uudelleenrakentamisen (perusteluineen)?
Tehtävä O4.3: Päivityssuunnitelmasi
Tämän tehtävän teet itse, kukaan ei tarkista sitä. Merkitse tekemäsi kohdat ja merkitse tehtävä tehdyksi.
Tilannevedos ja varmuuskopio, julkaisutiedotteiden lukeminen, työskentely tmuxissa; Debian: lähteet uuteen koodinimeen, apt upgrade --without-new-pkgs, apt full-upgrade, uudelleenkäynnistys; Ubuntu: do-release-upgrade. Sen jälkeen tarkista systemctl --failed, sivustot, kontit ja valvonta. Uudelleenrakentaminen kannattaa, jos räätälöintiä on paljon, ja se testaa samalla varmuuskopiosi.
Merkintäsi ja muistiinpanosi pysyvät vain tässä selaimessa, emme lähetä niitä minnekään. Jos olet kirjautunut sisään, tallennamme kohtaan Omat kurssit vain sen, että olet tehnyt tehtävän.
Lue lisää
- VPS-palvelimen snapshotit ja varmuuskopiot
- Oman ISO-levyn liittäminen tai VPS-palvelimen uudelleenasennus
- Debianin julkaisut ja tukijaksot: https://www.debian.org/releases/
- Debian 13, julkaisutiedotteiden luku 4 (päivittäminen) ja luku 5 (huomioitavaa): https://www.debian.org/releases/trixie/release-notes/
- Ubuntu, julkaisusykli: https://ubuntu.com/about/release-cycle
- Ubuntu Server -dokumentaatio, Upgrade your release: https://ubuntu.com/server/docs/how-to/software/upgrade-your-release/
