IndieWeb - The Beginning
← Back to Blog

Update auf Ubuntu 22.04

Published on by Gerold Pummer4 min read

Die letzten Tage habe ich mich damit beschäftigt das Betriebssystem meiner VPS von Ubuntu 20.04 auf 22.04 zu aktualisieren. Ja, ich weiß, 20.04 erhält schon seit Mai 2025 keine weiteren Updates mehr, weil EOL.

1. do-release-upgrade zum Laufen bringen

Der erste zeitintensive Abschnitt war, das do-release-upgrade überhaupt erfolgreich starten zu können, da immer eine Fehlermeldung kam, dass mein Netzwerk-Setup fehlerhaft sei und deshalb jammy.tar.gz nicht geladen werden konnte. Dafür fand ich jedoch eine Lösung.

2. Backup der VPS machen

Ich habe ja keine Ahnung von Administration, aber Backup ist immer gut. "Glücklicherweise" habe ich genau so viel freien Plattenplatz für die VPS, dass ich die Platte klonen konnte und so für den Fall der Fälle auf das Backup zurückgreifen könnte[1].

3. Alle nicht benötigten Dienst stoppen

Das ist einfach. Ich habe vorsichtshalber Dienste wie Apache, PostgresQL, Matrix, Mastodon und MySQL beendet. Wäre blöd, würden die während des upgrades dazwischenfunken.

Tip fürs nächste Mal: Den Redis Server nicht vergessen!

4. do-release-upgrade läuft durch

Dann begann do-release-upgrade mit seiner Arbeit. Die "üblichen" Themen, wie beispielsweise Konfigurationsdateien, die von den Paket-Maintainer aktualisiert, aber von mir geändert wurden [2], waren alsbald abgenickt.

Was ich aber komplett übersehen habe war, dass neben dem verfügbaren Platz für den Download der Pakete auch noch Platz für das Entpacken und die Verarbeitung benötigt wird. In diesen Fällen steht dann in einer der vielen an einem vorbeihuschenden Zeilen, dass Datei "xyz" nicht geschrieben werden kann, weil kein Plattenplatz mehr verfügbar ist.

Ich kann nicht sagen, wieviel Plattenplatz für das Upgrade von 20.04 auf 22.04 wirklich benötigt wird, aber 3,1GB waren definitiv um ca. 700MB zu wenig. In meiner Situation mit einem reinen Server-Betriebssystem (keine GUI) sollten es also mindestens 4GB verfügbarer Plattenplatz sein.

Natürlich macht dann do-release-upgrade nicht mehr weiter. Ein simples Ctrl-C hilft dann leider nicht weiter. Ein kill geht, sorgt aber dafür, dass ein erneuter Aufruf von do-release-upgrade auf die Verwendung von dpkg verweist. Aber gut, der Aufruf von dpkg hat das wieder gerade gebogen.

5. Der Neustart

Der erste Schritt um Testen zu können ob noch alles funktioniert war der Neustart. Was passiert, wenn die VPS nicht mehr bootet? Langsam mit den jungen Pferden, erstmal überhaupt so weit kommen. Der reine Shutdown hat sich nämlich ewig hingezogen. Ich habe gut 20 Minuten gewartet. In der "Notfall-Konsole" des VPS Anbieters konnte ich sehen, dass der Redis-Server noch immer beim Beenden war. Hatte ich den nicht beendet?

Messerscharf - und vermutlich auch genau so falsch - schloss ich, dass das wohl mit dem Plattenplatz zusammenhängt und ich den Redis-Server für keine persistenten Daten brauche. Also die VPS per expliziten Shutdown durch den VPS Anbieter runtergefahren.

Die Spannung stieg, denn jetzt konnte ich endlich den Start der VPS durch den Anbieter auslösen. Nach einer Minute dann die Erlösung! Die Maschine starte wieder!

6. Das Aufräumen

do-release-upgrade hat mir dann noch einen Gruß aus der Vergangenheit geschickt und mich damit überrascht, dass ein apt list --upgradable über 100 weitere Pakete zum Update anzeigt. Die ein apt upgrade aber dann doch nicht ausführt und die Pakete zurück hält.

Pakete, deren Namen ich nicht - mehr - kannte. Das hätte vermutlich ein apt dist-upgrade alles mit einem einzigen Befehl gelöst. Ich habe mich dann aber dafür entschieden, gezielt Pakete die ich nicht brauche zu löschen und andere mittels apt install paket gezielt zu aktualisieren[3].


  1. Erst später kam dann der Gedanke hoch, wie ich denn für den Fall, dass es wirklich notwendig werden würde, die kopierte Platte auf die alte Platte kopiere. Die Bootkonfiguration der VPS hat ja auch die IDs der beteiligten Platten. ↩︎

  2. Meine VPS hat schon ein Upgrade von 18.04 auf 20.04 hinter sich. Maintainer entscheiden sich mitunter zu neuen Methoden der Konfigurationen. Offensichtlich habe ich in Dateien etwas geändert, in denen ich nichts ändern hätte sollen. Aus heutiger Sicht, damals war das noch in Ordnung. ↩︎

  3. Hier wäre vermutlich ein apt upgrade paket geschickter gewesen. Aber ich brauche ja auch noch für später etwas zu tun. ↩︎

Share: Mastodon
Gerold Pummer

About Gerold Pummer

Software Developer, Raspberry Pi tinkerer

I write software for an ERP from Germany. This is my corner of the internet where I share ideas, experiences, and discoveries.