Spring til indhold

Ubuntu

en Linux-distribution, der er almindelig på servere

Hvad det er

Ubuntu er en Linux-distribution udgivet af Canonical: Linux-kernen og de tusindvis af programmer omkring den, bygget, testet og rettet af én udgiver efter en kalender, der er kendt på forhånd. Den bygger på Debian, så den bruger de samme .deb-pakker og det samme værktøj, apt, til at installere dem, og lægger sin egen udgivelsesrytme, sine egne standardvalg og et firma, der sælger support, ovenpå. Det samme arkiv forsyner skriveborde, cloud-images og fysiske servere; her handler det om serveren.

Udgivelserne er opkaldt efter år og måned, så 24.04 kom i april 2024. Der kommer en ny hvert halve år, og hvert andet år er apriludgivelsen en LTS-udgivelse med langtidssupport. Forskellen ligger i, hvor længe løftet holder. En mellemudgivelse får rettelser i ni måneder. En LTS-udgivelse får fem års almindelig sikkerhedsvedligeholdelse, som et Ubuntu Pro-abonnement forlænger til ti år gennem Expanded Security Maintenance, og et Legacy-tilkøb til femten.

På servere vejes Ubuntu typisk op mod to naboer. Debian er forælderen: samme pakkeformat, men med et fællesskabsprojekt i stedet for et firma bag sig. Red Hat Enterprise Linux og dens genopbygninger, som AlmaLinux og Rocky Linux, udgør den anden familie med deres eget pakkeformat og egne værktøjer. At vælge mellem de tre er mest at vælge en kalender, en supportaftale og de vaner, holdet allerede har.

Hvorfor det betyder noget

Når valget er faldet på Ubuntu, står spørgsmålet tilbage, hvilken Ubuntu, og svaret fastlægger vedligeholdelsesbudgettet i årevis.

Servere hører hjemme på LTS-udgivelser. En mellemudgivelse udløber ni måneder efter, at den kom, så en server, der følger dem, skal igennem en udgivelsesopgradering to gange om året for at blive ved med at få rettelser. Det er meget forandring for lidt nyere pakker. Mellemudgivelserne er stedet, hvor man prøver, hvad den næste LTS bringer.

En LTS-udgivelse har en fast opgraderingsvej, og den er smallere, end mange regner med. En server flytter kun fra én LTS til den næste og springer ingen over: fra 20.04 går vejen til 24.04 gennem 22.04. Opgraderingsværktøjet do-release-upgrade tilbyder først springet, når den nye udgivelse har fået sin første punktudgivelse, så 24.04 blev standardmålet, da 24.04.1 var ude. En flåde, der er sakket to udgivelser bagud, skal altså igennem to fulde opgraderinger pr. maskine, hver med sin egen test.

Ubuntu Pro er den anden halvdel af beslutningen. Abonnementet giver de fem ekstra års sikkerhedsrettelser, Livepatch til at lægge kernerettelser ind uden genstart, Landscape til at styre maskiner som en flåde og værktøjer til FIPS 140-3 og CIS-hærdning til regulerede opgaver. Det er gratis på op til fem maskiner, hvilket dækker en lille virksomhed eller et testlaboratorium; derudover er det et betalt abonnement. Den ærlige sammenligning står mellem abonnementet og prisen for at opgradere til tiden. Fem år rækker til en server, der genopbygges fra kode; ti år passer til den maskine, ingen har lyst til at røre, og dér er det billigere at betale for rettelser end at migrere i hast.

Endelig har Ubuntu sin egen måde at gøre almindelige ting på, og et hold, der kommer fra en anden distribution, bør afsætte tid til at lære dem. Netværkskort konfigureres i YAML gennem Netplan. Firewallen styres som regel med ufw, en brugerflade, der leveres slået fra. Sikkerhedsopdateringer installerer sig selv hver dag gennem unattended-upgrades, som er slået til fra start. Hvert af værktøjerne er behageligt, når man kender det, og overraskende indtil da.

Sådan ser det ud i praksis

En flåde af Ubuntu Linux-VPS’er, der var vokset frem én maskine ad gangen, viser tydeligst, hvad et driftsmiljø uden pleje bliver til. Konfigurationerne var gledet fra hinanden, og ingen havde tænkt igennem, hvordan maskinerne skulle genskabes, eller hvordan de hang sammen på netværket. Arbejdet bragte alle tredive instanser under fælles styring som én flåde: der kom backup ind med gendannelsesprocedurer, der faktisk var afprøvet, og hver instans’ netværkskonfiguration blev flyttet over på den samme hærdede basislinje. Vejen tilbage efter et nedbrud var nu testet frem for antaget, og risikoen for nedetid faldt.

Databaserne stod på samme fundament et andet sted. Ti servere med PostgreSQL 14 og MS SQL Server 2019 på VPS’er med Ubuntu 20.04 LTS blev designet, sat i drift og vedligeholdt som ét samlet miljø. Backup kørte med pg_dump og SQL Server Agent-job, med opbevaringsregler og lagring uden for huset. Prometheus og Grafana fulgte CPU, hukommelse, disk-I/O og målinger af forespørgslerne. Både databaserne og selve Ubuntu blev patchet efter en fast plan, firewallene blev sat op med UFW, og adgangen blev styret med rollebaseret adgangskontrol. Katastrofegendannelse var dokumenteret helt ned til gendannelse til et bestemt tidspunkt og failover. De ti servere kørte med 99,9 % oppetid, forespørgslerne svarede 30 % hurtigere, automatisering halverede det manuelle vedligehold og frigjorde mere end ti timer om måneden, og miljøet tog en stigning i brugertrafikken på 40 % uden at blive langsommere.

Webhosting er det enkleste tilfælde. Fyrre websites kørte på Ubuntu Linux-hostingservere bag en blanding af Apache og Nginx, og opgaven var konfigurationen, ydelsestuningen og det løbende vedligehold, der holder sites stabile under rigtig trafik. Alle fyrre kørte med høj tilgængelighed og god ydelse.

Hvor det går galt

Opdateringen installerer en kernerettelse, og serveren kører videre på den gamle kerne. unattended-upgrades installerer sikkerhedsopdateringer én gang i døgnet, men indstillingen Automatic-Reboot står som standard til false, så en ny kerne venter på disken, til nogen genstarter maskinen, og tjenester bruger de gamle kopier af opdaterede biblioteker, til de selv bliver genstartet. Filen /var/run/reboot-required dukker op, når en genstart venter. Beslut en politik i stedet for at overlade det til tilfældet: alarmér på filen, planlæg genstarter i et stille tidsrum, eller brug Livepatch til kernen. En planlagt genstart er to linjer i /etc/apt/apt.conf.d/50unattended-upgrades:

Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "03:30";

En server på en gammel LTS-udgivelse holder op med at få sikkerhedsrettelser, mens alt på den virker som før. Den almindelige support for 20.04 sluttede for eksempel i maj 2025; maskinen starter, svarer og melder grønt præcis som hidtil. Notér hver servers udgivelse ved siden af dens slutdato for support, og giv den inden da enten Ubuntu Pro, som bærer 20.04 til maj 2030, eller opgradér den én LTS ad gangen.

En ny ufw-regel lader trafikken gå præcis som før. ufw gennemgår reglerne i rækkefølge, og det første match vinder, og en almindelig ufw allow eller ufw deny lægges efter de regler, der allerede findes. En ældre og bredere regel længere oppe bestemmer først. Vis reglerne med deres numre, og sæt den specifikke regel ind, hvor den hører hjemme:

sudo ufw status numbered
sudo ufw insert 1 deny from 203.0.113.7

En pakke fra et tredjepartsarkiv bliver hængende på en gammel, sårbar version, mens resten af systemet er opdateret. unattended-upgrades installerer kun fra de kilder, der står i indstillingen Allowed-Origins, og fra start rummer listen kun Ubuntus officielle arkiver. Et leverandørarkiv eller en PPA, der kommer til senere, opdateres i hånden eller slet ikke. Føj kilden bevidst til listen, eller giv pakken sin egen patchplan.

Læs mere

  • Ubuntu Server documentation — Canonicals egne vejledninger i at installere, konfigurere og drive Ubuntu på servere.
  • Ubuntu release cycle — halvårsrytmen, LTS-kalenderen og slutdatoen for hver udgivelse.
  • Automatic updates — hvordan unattended-upgrades vælger kilder, og de genstartsindstillinger, der afgør, hvornår rettelserne træder i kraft.
  • Firewall — ufw fra den første aktivering til nummererede regler, med netfilter-laget nedenunder.
  • How to upgrade your Ubuntu release — do-release-upgrade, reglen om én LTS ad gangen og ventetiden på den første punktudgivelse.
  • Netplan documentation — YAML-netværkskonfigurationen på Ubuntu-servere, herunder netplan try med automatisk tilbagerulning.

Ordliste