Debian 12 (Bookworm) auf Debian 13 (Trixie) upgraden
In-Place-Upgrade ohne Neuinstallation
Diese Anleitung beschreibt ein In-Place-Upgrade von Debian 12 "Bookworm" auf Debian 13 "Trixie". Dabei bleibt die bestehende Installation erhalten; das System wird nicht neu installiert. Ein In-Place-Upgrade ist grundsätzlich der von Debian dokumentierte Weg für ein Upgrade von der vorherigen Debian-Version. Debian unterstützt und dokumentiert für Trixie insbesondere den direkten Upgrade-Pfad von Debian 12 (Bookworm).
Für ältere Debian-Versionen sollte zunächst auf Bookworm und anschließend auf Trixie aktualisiert werden.
Eine Neuinstallation ist selbstverständlich ebenfalls möglich und kann bei stark veränderten oder über Jahre gewachsenen Systemen die sinnvollere Alternative sein.
Wichtig: Vor dem Upgrade sollte unbedingt ein funktionierendes Backup vorhanden sein. Außerdem sollte die offizielle Debian-Dokumentation vor Beginn gelesen werden.
Alternativ zum Upgrade von Debian eine Neuinstallation.
Vorab die Referenzen von debian.org
- Debian Release-Notes. Es ist eine Referenz zum Upgrade auf Trixie. debian.org/releases/trixie/release-notes/
- Debian Referenz zum Upgrade auf Trixie. debian.org/releases/trixie/release-notes/upgrading.de/
- Debian apt-manpage manpages.debian.org/trixie/apt/apt.8.de
1. Voraussetzungen
Vor dem Upgrade sollte das vorhandene Debian 12 (Bookworm) vollständig aktualisiert werden.
Zunächst die Paketquellen aktualisieren:
# apt update
Anschließend Bookworm vollständig aktualisieren:
# apt full-upgrade
Danach sollte das System auf dem aktuellen Stand von Debian 12 (Bookworm) sein. Die Release Notes von Debian gehen ebenfalls davon aus, dass das bestehende Bookworm-System vor dem eigentlichen Releasewechsel auf den aktuellen Stand gebracht wird.
2. Backup erstellen
Ein Release-Upgrade sollte niemals ohne aktuelles Backup durchgeführt werden.
Debian empfiehlt insbesondere die Sicherung von:
- /etc
- /var/lib/dpkg
- /var/lib/apt/extended_states
- dem Paketstatus
Daten im /home -Directory, oder anwendungsspezifische Daten sollten auf externe Speichermedien gesichert werden.
Beispiel für ein Backup von /etc:
# mkdir -p /home/backup/etc/$(date +%Y%m%d)
# cp -av /etc /home/backup/etc/$(date +%Y%m%d)/
# chmod o-rwx /home/backup
Den Paketstatus sichern:
mkdir -p /home/backup/pakete_$(date +%Y-%m-%d)
dpkg --get-selections '*' \
> /home/backup/pakete_$(date +%Y-%m-%d)/dpkg-selections.txt
Die manuell installierten Pakete dokumentieren:
apt-mark showmanual \
> /home/backup/pakete_$(date +%Y-%m-%d)/manuell-installierte-pakete.txt
Zusätzlich kann der komplett installierte Paketbestand einschließlich Version dokumentiert werden:
dpkg-query -W -f='${binary:Package}\t${Version}\n' | sort -u \
> /home/backup/pakete_$(date +%Y-%m-%d)/installierte-pakete-und-versionen.txt
Die von Debian empfohlenen Paketstatusdateien können zusätzlich direkt gesichert werden:
cp -a /var/lib/dpkg /home/backup/
cp -a /var/lib/apt/extended_states /home/backup/
Falls aptitude verwendet wird, sollte auch dessen Paketstatus gesichert werden:
# cp -a /var/lib/aptitude/pkgstates /home/backup/
3. Fremdpakete und Drittanbieter-Repositories prüfen
Drittanbieter-Repositories sind eine häufige Ursache für Probleme bei einem Releasewechsel.
Vor dem Upgrade sollten daher insbesondere folgende Quellen überprüft werden:
- Debian Multimedia
- Docker
- Wine
- externe Hersteller-Repositories
- PPAs beziehungsweise andere Fremdquellen
- selbst erstellte oder lokal installierte Pakete
Drittanbieter-Repositories sollten während des Releasewechsels deaktiviert werden.
Die klassische /etc/apt/sources.list
Bei älteren APT-Konfigurationen befinden sich die Quellen beispielsweise in:
$ cat /etc/apt/sources.list
Zusätzliche Quellen können unter
$ ls -l /etc/apt/sources.list.d/
liegen.
Das neue DEB822-Format von Debian-13
Neuere Debian-Installationen verwenden häufig Dateien mit der Endung:
.sourcesbeispielsweise:
/etc/apt/sources.list.d/debian.sourcesBei einer solchen Datei kann ein Fremdrepository beispielsweise durch
Enabled: nodeaktiviert werden.
Drittanbieterquellen sollten nicht einfach mit sed von 'bookworm' auf 'trixie' umgestellt werden.
Zunächst muss geprüft werden, ob der jeweilige Anbieter überhaupt ein Repository für Debian 13 / Trixie bereitstellt. Also Vorsicht!
# sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
4. Debian-Quellen auf Trixie vorbereiten
Für das eigentliche Upgrade müssen die Debian-Quellen auf Trixie zeigen.
Eine klassische Konfiguration könnte beispielsweise so aussehen:
deb http://deb.debian.org/debian/ trixie main contrib non-free-firmware non-free
deb-src http://deb.debian.org/debian/ trixie main contrib non-free-firmware non-free
deb http://security.debian.org/debian-security trixie-security main contrib non-free-firmware non-free
deb-src http://security.debian.org/debian-security trixie-security main contrib non-free-firmware non-free
deb http://deb.debian.org/debian/ trixie-updates main contrib non-free-firmware non-free
deb-src http://deb.debian.org/debian/ trixie-updates main contrib non-free-firmware non-free
#deb https://www.deb-multimedia.org trixie main non-free
www.deb-multimedia.org in diesem Beispiel ist bereits als Fremdquelle deaktiviert.
Bei aktuellen Debian-Installationen sollte die von Debian dokumentierte DEB822-Konfiguration verwendet werden.
Debian dokumentiert für Trixie beispielsweise /etc/apt/sources.list.d/debian.sources mit deb.debian.org und security.debian.org.
Wichtig: Nicht nur /etc/apt/sources.list prüfen. Auch sämtliche Dateien unter /etc/apt/sources.list.d/ müssen kontrolliert werden.
Vor dem Upgrade dürfen keine aktiven Debian-Quellen mehr auf 'bookworm' zeigen.
5. Paketstatus überprüfen
Vor dem Releasewechsel empfiehlt sich eine Kontrolle des aktuellen Paketstatus.
Aktuelle Debian-Version anzeigen:
$cat /etc/debian_version
Nicht vollständig konfigurierte Pakete suchen:
$ dpkg --audit
Gehaltene Pakete anzeigen:
$ apt-mark showhold
APT-Quellen und deren Prioritäten prüfen:
$ apt-cache policy
Auch die folgenden Pakete können auf lokale oder nicht mehr verfügbare Installationen hinweisen:
$ apt list --installed 2>/dev/null | grep -i local
Oder:
apt list '?narrow(?installed, ?not(?origin(Debian)))'
Obsolete Pakete können beispielsweise mit
$ apt list '?obsolete'
angezeigt werden.
Alternativ:
aptitude search '~o'
Die gefundenen Pakete sollten vor einer Entfernung einzeln geprüft werden.
Ein Paket kann beispielsweise aus einem Fremdrepository stammen, inzwischen aber durch ein Debian-Paket ersetzt worden sein. Deshalb sollte man nicht blind alle als "obsolete" angezeigten Pakete löschen.
6. Debian-Multimedia und andere Fremdpakete
Wenn beispielsweise 'Debian Multimedia' verwendet wird, kann nach entsprechenden Paketen gesucht werden:
$ apt list --installed 2>/dev/null | grep -i dmo
Auch die Paketquelle eines einzelnen Pakets lässt sich mit
apt-cache policy PAKETNAMEüberprüfen. Alternativ kann man sich für mehrere Pakete die verfügbaren Versionen und Quellen anzeigen lassen.
Fremdpakete, die für den Betrieb des Systems nicht benötigt werden, sollten vor dem Releasewechsel möglichst entfernt werden.
Beispiel:
apt purge PAKETNAME
Nach der Deinstallation nicht mehr benötigte Abhängigkeiten entfernen:
# apt autoremove --purge
Konfigurationsreste bereits entfernter Pakete können beispielsweise mit
$ dpkg -l | grep '^rc'
Diese können anschließend gezielt bereinigt werden.
7. Festplattenplatz prüfen
Ein Releasewechsel kann eine große Anzahl von Paketen herunterladen und installieren.
Deshalb sollte vor dem Upgrade ausreichend freier Speicher vorhanden sein:
$ df -h / /var /boot
Wer gerne und öfter den belegten Platz seines System untersucht installiert einfach 'ncdu'.
$ sudo apt update && sudo apt install ncdu
Dann:
$ ncdu /
Beenden mit 'q'
Dabei insbesondere auf folgende Dateisysteme achten:
/
/var
/boot
Falls /boot eine eigene Partition ist, muss auch dort ausreichend freier Speicher vorhanden sein und sollte mindestens 768 MB groß sein und etwa 300 MB freien Speicher haben!
Den voraussichtlichen Platzbedarf für das Upgrade kann APT simulieren:
# apt -o APT::Get::Trivial-Only=true full-upgrade
APT zeigt dabei unter anderem an, wie viele Archive heruntergeladen werden und wie viel zusätzlicher Speicher benötigt wird.
8. Vorbereitende Prüfungen
Vor dem eigentlichen Releasewechsel sollte zunächst ein erneutes Update der Paketinformationen durchgeführt werden:
# apt update
Danach kann das geplante Upgrade simuliert werden:
apt full-upgrade --simulate
oder kurz:
apt full-upgrade -s
Die Ausgabe sollte sorgfältig geprüft werden.
Besonders kritisch sind:
- eine große Anzahl zu entfernender Pakete
- Entfernung wichtiger Desktop-Pakete
- Entfernung von Netzwerkkomponenten
- Entfernung des Kernels
- ungelöste Abhängigkeiten
- Pakete aus Fremdquellen
- gehaltene Pakete
Bei unerwarteten Paketentfernungen sollte das Upgrade zunächst nicht durchgeführt werden.
9. Eigentliches Upgrade auf Debian 13 "Trixie"
Wenn die vorherigen Prüfungen ohne Probleme abgeschlossen wurden, kann das Upgrade durchgeführt werden.
Debian empfiehlt als Paketverwaltungswerkzeug für den Releasewechsel apt.
Zunächst:
# apt update
Bei Systemen mit proprietären Grafiktreibern, insbesondere NVIDIA-Treibern, sollte vor dem Upgrade geprüft werden, ob der verwendete Treiber und die installierten NVIDIA-Pakete in Trixie verfügbar und unterstützt sind.
Möchte man sich per ssh und screen mit dem System verbinden, ist das eine gute Idee welche ich aber hier nicht beschreibe!
So nun der erste Upgrade-Schritt:
# apt upgrade --without-new-pkgs
Anschließend das vollständige Upgrade:
# apt full-upgrade
Ein 'full-upgrade' kann während des Releasewechsels neue Pakete installieren und nicht mehr benötigte oder inkompatible Pakete entfernen.
Während des Upgrades können Rückfragen zu Konfigurationsdateien auftreten. Bei änderungen an Konfigurationsdateien sollte geprüft werden, ob die lokal angepasste Version oder die vom Paketbetreuer bereitgestellte neue Version verwendet werden soll.
10. System neu starten
Nach einem erfolgreichen Upgrade:
# reboot
Nach dem Neustart prüfen:
$ cat /etc/debian_version && cat /etc/os-release
Es sollte nun Debian 13 „Trixie“ angezeigt werden.
Außerdem empfiehlt es sich, den Kernel zu überprüfen:
$ uname -r
Das System sollte erfolgreich mit dem neuen Kernel gestartet sein, bevor alte Kernel oder nicht mehr benötigte Pakete entfernt werden.
11. Paketstatus nach dem Upgrade überprüfen
Nach dem Neustart sollte zunächst geprüft werden, ob das Paketmanagement einen konsistenten Zustand meldet:
dpkg --audit
Danach:
apt updateapt full-upgrade
Auch die aktiven Paketquellen sollten nochmals kontrolliert werden:
apt-cache policy
Insbesondere dürfen keine versehentlich aktiv gebliebenen Bookworm-Quellen vorhanden sein.
12. Aufräumen
Nach einem erfolgreichen Neustart sollten nicht mehr benötigte Abhängigkeiten und Pakete entfernt werden:
apt autoremove --purge
Vor dem Bestätigen sollte die von APT vorgeschlagene Paketliste kontrolliert werden.
Alte Kernel sollten ebenfalls nicht blind entfernt werden. Mindestens ein funktionierender Kernel sollte als Fallback erhalten bleiben.
13. Fremdquellen wieder aktivieren
Drittanbieter-Repositories sollten erst nach einem erfolgreichen Upgrade wieder aktiviert werden.
Vorher sollte geprüft werden, ob der jeweilige Anbieter Debian 13 / Trixie offiziell unterstützt.
Das gilt beispielsweise für Debian Multimedia.
Ein Fremdrepository sollte nicht allein deshalb wieder aktiviert werden, weil es unter Bookworm funktioniert hat.
Nach dem Aktivieren einer solchen Quelle sollte zunächst geprüft werden, welche Pakete daraus stammen und welche Versionen APT installieren möchte.
Installiert man ein einzelnes .deb Debian-Paket und es kommen Fehlermeldungen hilft in der Regel folgendes Kommando:
# apt install -f
14. Abschlusskontrolle
Zum Abschluss empfehlen sich folgende Kommandos:
$ cat /etc/os-release
$ uname -r
# dpkg --audit
# apt update
# apt update
# apt full-upgrade
und:
# apt autoremove --purge
Die Logdateien des Paketmanagements können ebenfalls hilfreich sein:
/var/log/apt/history.log
/var/log/apt/history.log
/var/log/apt/term.log
/var/log/dpkg.log
APT und dpkg protokollieren dort die Paketänderungen des Upgrades.
Wenn es Probleme gibt
Bei Problemen sollte nicht versucht werden, das Upgrade durch weitere Paketinstallationen "irgendwie" fortzusetzen.
Stattdessen sollte zunächst die konkrete APT-/dpkg-Fehlermeldung untersucht und der Zustand des Paketmanagements wieder konsistent hergestellt werden.
