Upgrade Ubuntu server van 20.04 naar 22.04
Op 21 april 2022 werd Ubuntu 22.04 met codenaam 'Jammy Jellyfish', vrijgegeven. In dit artikel gaan we stap voor stap door het upgradeproces van Ubuntu server 20.04 naar 22.04. Ubuntu server 22.04 is de meest recente LTS release en volgt daarmee Ubuntu 20.04 op. Benieuwd naar de release notes? Die vind je hier. De stappen in onderstaand artikel zijn voor de meeste systemen van toepassing.
Voor het upgraden
Voordat we de technische upgrade starten, staan we even stil bij deze puntjes:
- Ubuntu geeft de raad om te wachten met het updaten van 20.04 naar 22.04 tot de eerste 'point release' 22.04.1 beschikbaar is. Dit om bugs wat niet eerder ontdekt zijn, te kunnen verhelpen en een upgrade zo vlot mogelijk te laten verlopen. Deze point release zal naar verwachting in de late zomer van 2022 beschikbaar zijn.
- Tijdens de upgrade is je systeem onbeschikbaar. Breng zeker de gebruikers ervan tijdig op de hoogte en plan de upgrade in tijdens een moment dat de server het minst nodig is.
- Maak een volledige back-up van zowel je configuratie als je data. Upgrade je een virtuele machine, dan kan dat ook gemakkelijk met bv. een snapshot.
- Doe je de upgrade op afstand, hou er rekening mee dat het kan zijn dat je SSH verbinding zal wegvallen. Zorg er best voor dat je kan inloggen via een console of via een lights-out management console.
- Maak een back-up.
- Hou een installatiebestand van Ubuntu 22.04 bij de hand wat je kan gebruiken als recovery-medium wanneer je systeem niet meer wilt opstarten na de upgrade.
- Hebben we al gezegd om een back-up te nemen?
Wees aandachtig voor extra repositories
De kans is groot dat je extra repo's toegevoegd hebt. Controleer dit in de map /etc/apt/sources.list.d
of in het bestand /etc/apt/sources.list
. Hier volgt een voorbeeld van een Zabbix repo:
# cat /etc/apt/sources.list.d/zabbix.list
deb http://repo.zabbix.com/zabbix/5.0/debian buster main
deb-src http://repo.zabbix.com/zabbix/5.0/debian buster main
Is dat het geval, dan heb je enkele mogelijkheden:
- Je controleert bij de ontwikkelaar of hij pakketten voor Jammy beschikbaar heeft.
- Je verwijdert de pakketten.
- Je doet niets en je hoopt dat de pakketten na de upgrade nog werken.
Optie drie kunnen we uiteraard allerminst aanraden.
Ons advies
We adviseren om te wachten met de upgrade tot de eerste point release Ubuntu 22.04.1 beschikbaar is. Tegen die tijd zullen de meeste software pakketten ook wel aangepaste repo's hebben voor Ubuntu 22.04.
Ook raden we aan om de upgrade te testen. Bijvoorbeeld met een nieuwe (virtuele) server om kennis te krijgen van het updateproces of door je huidige (virtuele) server te klonen en de upgrade daarop te testen. Wil je Ubuntu 22.04 server zelf testen in een virtuele omgeving? Via deze link krijg je bij Hetzner alvast 20 euro tegoed in cloud credits. Dat is voldoende om vijf maanden een virtuele server te draaien!
Het upgradeproces
Om je systeem te upgraden, heb je uiteraard administrator rechten nodig. We raden aan om in te loggen als root-gebruiker.
Stap 1: controleer je huidige Ubuntu versie
Deze handleiding is gericht op het upgraden van Ubuntu 20.04 naar 22.04. Controleer even of je Ubuntu 20.04 geïnstalleerd hebt:
# cat /etc/lsb-release
Stap 2: werk je systeem volledig bij
Zorg dat je systeem volledig bijgewerkt is:
# apt update
# apt upgrade
# apt dist-upgrade
We raden aan om je systeem een keer volledig te herstarten. Hoewel dit geen vereiste is, is het een goede gewoonte om je systeem voor iedere 'grote' upgrade te herstarten. Zo komen bv. problemen met een bootsector of een hardwaredefect aan het licht.
# reboot
Stap 3: controleer vastgepinde pakketten
Controleer of je bepaalde softwarepakketten vastgepind hebt op een bepaalde versie. Overweeg om deze pin weg te halen zodat ook deze pakketten geupgrade kunnen worden. Deze configuratie vind je terug in /etc/apt/preferences
en /etc/apt/preferences.d/
.
Controleer ook met:
# apt-mark showhold
Stap 4: open TCP poort 1022
Als je de upgrade via een SSH verbinding uitvoert, dan is het nodig om TCP poort 1022 (inkomend) te openen. Dit is nodig omdat Ubuntu een back-up SSH sessie op deze poort zal starten.
Gebruik je UFW als firewall? Dan open je deze poort als volgt:
# ufw allow 1022/tcp comment 'open port for fallback SSH'
Controleer je actie met:
# ufw status
Stap 5: start de upgrade
Een upgrade proces kan je eenvoudig starten met het commando do-release-upgrade
. Maar Ubuntu zal een upgrade van 20.04 naar 22.04 pas voorstellen vanaf de eerste 'point release' 22.04.1. Volg je deze handleiding op versie 22.04, dan kan je de upgrade starten met:
# do-release-upgrade -d
Als je de update start via een SSH-verbinding, dan krijg je onderstaande waarschuwing. Duw op y
om verder te gaan.
Vervolgens krijg je de melding dat een extra SSH daemon gestart zal worden op poort 1022. Dat is prima, we hebben deze poort ook in onze firewall geopend. Duw op enter
om verder te gaan.
Afhankelijk of je de officiële Ubuntu mirrors gebruikt of de mirrors van je cloud provider, krijg je onderstaande melding. Duw op y
om verder te gaan.
Je server zal nu berekenen welke bestanden er allemaal nodig zijn. Duw op y
om verder te gaan.
Verschillende services zullen herstart worden tijdens de upgrade. Dat is prima. Kies 'Yes' om verder te gaan.
Afhankelijk van de software wat je op je server geïnstalleerd hebt, zal je een of meerdere keren de vraag krijgen welke actie je wilt ondernemen met bestaande configuratiebestanden. Hieronder zie je een voorbeeld van het bestand 'timesyncd.conf'. Het configuratiebestand 'timesyncd.conf' was al aanwezig, maar de update van timesyncd komt met een nieuwe configuratie.
We raden aan om in detail de wijzigingen per bestand te bekijken. Onderstaande screenshot toont bijvoorbeeld dat in bestand timesyncd.conf onze opgegeven NTP server verwijderd zal worden.
Wanneer je beslist hebt of je de huidige configuratiebestanden al dan niet wilt behouden, vraagt je server vervolgens of je verouderde software wilt verwijderen. Duw op y
om verder te gaan.
We raden aan om zeker even de wijzigingen te bekijken en eventueel achteraf manueel de wijzigingen aan te brengen. Noteer daarom goed over welke bestanden dit gaat.
De upgrade is klaar. Duw op y
om je server te herstarten.
Controleer na de herstart of de upgrade geslaagd is:
# cat /etc/lsb-release
# uname -a
Nazorg
Verwijder de extra SSH-poort wat we tijdelijk toegevoegd hadden:
# ufw delete allow 1022/tcp
# ufw status
Heb je tijdens de upgrade nieuwe configuratiebestanden tegengehouden? Dan is nu het moment om te bekijken wat je aan je behouden configuratiebestanden kan aanpassen. Scroll ook even door /var/log/syslog
uit om te controleren op onregelmatigheden.