Hoppa till innehållet

Ubuntu

en Linuxdistribution som är vanlig på servrar

Vad det är

Canonical ger ut Ubuntu, en distribution med Linux som systemkärna och de tusentals program som omger den, byggda, testade och patchade av en och samma utgivare enligt en kalender som meddelas i förväg. Ubuntu bygger på Debian och använder därför samma .deb-paket och samma verktyg, apt, för att installera dem. Ovanpå det kommer en egen utgivningsrytm, egna standardinställningar och ett företag som säljer support. Samma arkiv försörjer skrivbordsdatorer, avbildningar för molnet och servrar direkt på hårdvara. Den här artikeln handlar om servern.

Utgåvorna namnges efter år och månad, så 24.04 kom ut i april 2024. En ny utgåva kommer var sjätte månad, och vartannat år är aprilutgåvan en utgåva med långtidsstöd, märkt LTS. Skillnaden ligger i hur länge löftet gäller. En mellanutgåva får rättelser i nio månader. En LTS-utgåva får fem års vanligt säkerhetsunderhåll, som en prenumeration på Ubuntu Pro förlänger till tio år genom Expanded Security Maintenance, och tillägget Legacy förlänger till femton.

På servrar vägs Ubuntu oftast mot två grannar. Debian är föräldern: samma paketering, men med ett gemenskapsprojekt i stället för ett företag bakom. Red Hat Enterprise Linux och dess ombyggen, t.ex. AlmaLinux och Rocky Linux, utgör den andra familjen, med eget paketformat och egna verktyg. Att välja mellan de tre är mest att välja en kalender, ett supportavtal och de vanor som teamet redan har.

Varför det spelar roll

När ett team väl har valt Ubuntu återstår frågan om vilken Ubuntu, och det svaret bestämmer underhållsbudgeten för flera år framåt.

Servrar hör hemma på LTS-utgåvor. En mellanutgåva går ut nio månader efter att den släppts, så en server som följer dem måste gå igenom en versionsuppgradering två gånger om året för att hålla sig patchad. Det är mycket förändring för förmånen att få lite nyare programpaket. Mellanutgåvorna är platsen där du provar vad nästa LTS kommer att föra med sig.

En LTS-utgåva har en fast uppgraderingsväg, och den är smalare än många tror. En server flyttar bara från en LTS till den närmast följande, utan att hoppa över någon: från 20.04 går vägen till 24.04 via 22.04. Uppgraderingsverktyget, do-release-upgrade, erbjuder hoppet först efter den nya utgåvans första punktutgåva, så 24.04 blev standardmålet för uppgraderingar när 24.04.1 hade kommit ut. En park som halkar två utgåvor efter behöver därför två fullständiga uppgraderingar per maskin, var och en med sina egna tester.

Ubuntu Pro är den andra halvan av beslutet. Prenumerationen ger de fem extra åren med säkerhetsrättelser, Livepatch för att lägga in rättelser i kärnan utan omstart, Landscape för att förvalta maskiner som en park, samt verktyg för FIPS 140-3 och för härdning enligt CIS i reglerad verksamhet. Den är gratis på upp till fem maskiner, vilket räcker för ett litet företag eller ett labb, och därutöver är den en betald prenumeration. Den ärliga jämförelsen ställer prenumerationen mot kostnaden för att uppgradera enligt plan. Fem år räcker för en server som byggs om från kod. Tio år passar den maskin som ingen vill röra, där det är bättre att betala för patchar än att migrera i all hast.

Till sist har Ubuntu sitt eget sätt att göra vanliga saker, och ett team som kommer från en annan distribution bör avsätta tid för att lära sig dem. Nätverksgränssnitt konfigureras i YAML via Netplan. Brandväggen sköts oftast med ufw, ett gränssnitt som levereras avstängt. Säkerhetsuppdateringar installerar sig själva varje dag via unattended-upgrades, som är påslaget som standard. Allt det är bekvämt när du känner till det och överraskande innan dess.

Så ser det ut i praktiken

En park av VPS-instanser med Ubuntu Linux, som hade vuxit fram en maskin i taget, är den tydligaste bilden av vad en oförvaltad miljö blir. Konfigurationerna hade glidit isär, och ingen hade utformat hur maskinerna skulle återställas eller hur de hängde ihop i nätverket. Arbetet förde in alla trettio instanserna under förvaltning som en park: säkerhetskopior kom på plats med återställningsrutiner som faktiskt testades, och nätverkskonfigurationen på varje instans flyttades till samma härdade baskonfiguration. Återställningsvägarna var nu testade i stället för antagna, och risken för driftstopp minskade.

Databaser kördes på samma grund på ett annat ställe. Där bar Ubuntu 20.04 LTS tio VPS-instanser för PostgreSQL 14 och MS SQL Server 2019, en databasmiljö som utformades, driftsattes och underhölls som en sammanhållen helhet. Säkerhetskopiorna gick via pg_dump och jobb i SQL Server Agent, med regler för lagringstid och kopior på annan plats. Prometheus och Grafana följde CPU, minne, disk-I/O och mått för databasfrågor. Både databaserna och operativsystemet Ubuntu patchades enligt ett regelbundet schema, brandväggarna konfigurerades med UFW och åtkomsten styrdes med rollbaserad åtkomstkontroll. Katastrofåterställningen dokumenterades ända ner till återställning till en given tidpunkt och failover. De tio servrarna hade 99,9 % upptid, svarstiderna för databasfrågor förbättrades med 30 %, automatiseringen minskade det manuella underhållet med 50 % och frigjorde över tio timmar i månaden, och miljön klarade 40 % mer användartrafik utan att försämras.

Webbhotell är det enklaste fallet. Fyrtio webbplatser kördes på hostingservrar med Ubuntu Linux bakom en blandning av Apache och nginx, och jobbet var konfigurationen, prestandaoptimeringen och det underhåll som håller webbplatser tillförlitliga under verklig trafik. Alla fyrtio drevs med hög tillgänglighet och god prestanda.

Var det går fel

Uppdateraren installerar en rättelse av kärnan, och servern fortsätter köra den gamla. unattended-upgrades installerar säkerhetsuppdateringar en gång om dygnet, men alternativet Automatic-Reboot är som standard false. En ny kärna väntar därför på disken tills någon startar om maskinen, och tjänsterna fortsätter använda de gamla kopiorna av uppdaterade bibliotek tills även de startas om. Filen /var/run/reboot-required dyker upp när en omstart väntar. Bestäm en policy i stället för att lämna det åt slumpen: sätt upp ett larm på den filen, schemalägg omstarter till en lugn timme eller använd Livepatch för kärnan. En schemalagd omstart är två rader i /etc/apt/apt.conf.d/50unattended-upgrades:

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

En server på en gammal LTS-utgåva slutar få säkerhetsrättelser medan allt på den fortsätter att fungera. Standardstödet för 20.04 tog t.ex. slut i maj 2025, och maskinen startar, svarar och rapporterar grönt precis som förut. Skriv upp utgåvan för varje server bredvid slutdatumet för dess stöd. Före det datumet kopplar du antingen på Ubuntu Pro, som bär 20.04 till maj 2030, eller uppgraderar en LTS i taget.

En ny regel i ufw läggs in, och trafiken flödar precis som förut. ufw utvärderar reglerna i ordning och den första som matchar vinner, och en vanlig ufw allow eller ufw deny hamnar efter de regler som redan finns. En äldre, bredare regel ovanför avgör först. Lista reglerna med deras positioner och lägg den specifika regeln där den hör hemma:

sudo ufw status numbered
sudo ufw insert 1 deny from 203.0.113.7

Ett paket från ett tredjepartsförråd blir kvar på en gammal, sårbar version medan resten av systemet är aktuellt. unattended-upgrades installerar bara från de ursprung som står i inställningen Allowed-Origins, och från början innehåller den listan bara de officiella paketförråden för Ubuntu. Ett förråd från en leverantör eller ett PPA som läggs till senare uppdateras för hand eller inte alls. Lägg till dess ursprung i listan med avsikt, eller ge paketet ett eget schema för patchning.

Läs mer

  • Ubuntu Server documentation — guiderna från Canonical för att installera, konfigurera och köra Ubuntu på servrar.
  • Ubuntu release cycle — rytmen på sex månader, LTS-kalendern och slutdatumet för varje utgåva.
  • Automatic updates — hur unattended-upgrades väljer ursprung, och de omstartsalternativ som avgör när rättelserna får verkan.
  • Firewall — ufw från första aktiveringen till numrerade regler, med netfilter-lagret därunder.
  • How to upgrade your Ubuntu release — do-release-upgrade, regeln om en LTS i taget och väntan på den första punktutgåvan.
  • Netplan documentation — nätverkskonfigurationen i YAML som Ubuntu-servrar använder, bl.a. netplan try med dess automatiska återställning.

Ordlista