Etwa alle zwei Jahre gibt es bei Debian eine neue Stable-Version. Die aktuelle Version 11 (Bullseye) wurde am 14.08.2021 veröffentlicht. Debian 10 (Buster) wurde am 06.07.2019 veröffentlicht und wird voraussichtlich bis August 2022 mit Updates versorgt. Anschließend ist Debian 10 Buster EOL ("End of Life"), wird aber bis 2024 noch über das LTS-Programm ("Long Term Support") unterstützt.

Obwohl bis 2024 noch einige Zeit hin ist, lohnt es sich auf die neuen Versionen umzusteigen! Bei mir hat sich etabliert, nach dem Release einige Monate zu warten und dann peu a peu alle Systeme umzustellen. Am 09.10.2021 wurde Version 11.1 veröffentlicht - für mich der Startschuss die eigenen Systeme zu upgraden. In diesem Artikel dokumentiere ich mein Vorgehen.

Die Nutzung von screen oder tmux ist im Falle eines Verbindungsabbruchs sehr hilfreich. Wer sich noch nicht intensiver damit beschäftigt hat sollte das vor dem Upgrade tun.

Schritt 1 - Backup

Vor dem Start der ganzen Prozedur muss sichergestellt sein, dass ein aktuelles Backup oder ein Snapshot des Systems vorhanden ist. Bei einem Upgrade kann immer etwas schief gehen - ein Backup ist daher unabdingbar!

Schritt 2 - System aktualisieren

Vor dem eigentlichen Upgrade sollte das System auf dem aktuellsten Stand sein. Mit folgendem Befehl lässt sich das Debian 10 aktualisieren:

$ sudo apt update && sudo apt dist-upgrade

Im Falle von Kernel-Updates wäre auch ein Reboot sinnvoll. Ansonsten geht es direkt mit Schritt 3 weiter!

Schritt 3 - Paketquellen aktualisieren

In den apt-Konfigurationsdateien unter /etc/apt/sources.list und im Verzeichnis /etc/apt/sources.list.d/ müssen sämtliche Verweise von buster auf bullseye geändert werden. Dies lässt sich händisch, z.B. mit nano oder vim vornehmen, oder automatisch mit sed. Aus buster/updates wird bullseye-security, aus jedem anderen buster ein bullseye.

$ sudo find /etc/apt/ -type f -name '*.list' -exec sudo sed -i 's/buster\/updates/bullseye-security/g' {} +

$ sudo find /etc/apt/ -type f -name '*.list' -exec sudo sed -i 's/buster/bullseye/g' {} +

Anschließend lässt sich die lokale Paketliste aktualisieren:

$ sudo apt update
[...]
1191 packages can be upgraded. Run 'apt list --upgradable' to see them.

Schritt 4 - System aktualisieren

Nun kann mittels apt das System aktualisiert werden:

$ sudo apt full-upgrade

Die daraufhin erscheinende Liste ist in 4 Bereiche unterteilt:

  • The following packages were automatically installed and are no longer required: Pakete, die automatisch mit installiert wurden und nach dem Upgrade nicht mehr benötigt werden. Diese werden wir später noch entfernen.
  • The following packages will be REMOVED: Pakete, die beim Upgrade entfernt werden. Hier lohnt es sich genauer hinzuschauen und ggf. zu prüfen, ob neue Versionen der Software nach dem Upgrade händisch installiert werden müssen. In meinem Fall war z.B. ein händisches Installieren der php7.4-Pakete notwendig.
  • The following NEW packages will be installed: Pakete, die mit dem Upgrade neu installiert werden.
  • The following packages will be upgraded: Pakete, die mit dem Upgrade aktualisiert werden.

Nach dem Upgrade starten wir das System neu:

$ sudo reboot now

Schritt 5 - Dienste prüfen

Zunächst sollte überprüft werden, ob alle Dienste wieder korrekt gestartet sind. Bei Problemen lohnt es sich die Changelogs der konkreten Anwendungen zu lesen um z.B. Änderungen in den Konfigurationsdateien nachziehen zu können. Üblicherweise gibt es aber nur wenige Probleme.

Schritt 6 - Entfernen veralteter Pakete (optional)

Mit folgendem Befehl lassen sich nun alle veralteten Pakete (welche keine Funktion mehr auf dem System haben) entfernen.

$ sudo apt autoremove

Fazit

Das System ist nun auf Debian 11 aktualisiert.