Debian 12 auf 13 upgraden (bookworm auf trixie)

Du bringst Debian 12 (bookworm) auf Debian 13 (trixie), indem du zuerst alle Updates für Debian 12 einspielst, dann in deinen Paketquellen bookworm durch trixie ersetzt und anschließend apt upgrade --without-new-pkgs und apt full-upgrade ausführst. Nach einem Neustart läuft dein Server mit Debian 13. Plane dafür etwa 15 bis 30 Minuten ein und lege vorher einen Snapshot oder ein Backup an.

Debian 13 ist seit dem 9. August 2025 die stabile Version. Debian 12 bekommt seit Juni 2026 nur noch Sicherheitsupdates über das Debian-LTS-Projekt. Es lohnt sich also, das Upgrade jetzt zu planen.

Bevor du anfängst

  • Sicherung anlegen: Erstelle im Cloud Manager einen Snapshot (schnell zurückzuspielen, wird nach 48 Stunden automatisch gelöscht) oder über „Backup erstellen“ ein Backup. Wie das geht, steht in Snapshot erstellen und zurückspielen.
  • Version prüfen: cat /etc/debian_version muss 12.x zeigen. Bist du noch auf Debian 11, gehst du zuerst den Schritt Debian 11 auf 12 upgraden. Versionen überspringen unterstützt Debian nicht.
  • Upgrade in screen oder tmux starten: Bricht deine SSH-Verbindung ab, läuft das Upgrade weiter und du holst die Sitzung zurück. Siehe Linux screen oder tmux.
  • Notfallzugang kennen: Falls der Server nach dem Neustart nicht per SSH erreichbar ist, kommst du über VNC im Cloud Manager auf die Konsole. Nach dem Aktivieren von VNC ist einmal Stop und Start nötig.
  • Platz prüfen: df -h sollte auf / mindestens 2 bis 3 GB frei zeigen. Hast du eine eigene /boot-Partition, braucht sie rund 300 MB freien Platz.

Schritt 1: Debian 12 vollständig aktualisieren

apt update
apt full-upgrade

Wenn alle Updates durchgelaufen sind, startest du neu:

systemctl reboot

Das ist wichtiger, als es aussieht: Ein Fehler im OpenSSH von Debian 12 kann dich aussperren, wenn ein Upgrade über SSH unterbrochen wird. Behoben ist das ab Version 1:9.2p1-2+deb12u7, die du mit diesem Schritt bekommst. Prüfen kannst du das mit dpkg -l openssh-server.

Schau danach, ob Pakete zurückgehalten werden oder in einem fehlerhaften Zustand sind. Beide Befehle sollten nichts ausgeben:

apt-mark showhold
dpkg --audit

Schritt 2: Paketquellen auf trixie umstellen

Finde zuerst heraus, wo deine Quellen stehen:

grep -rn bookworm /etc/apt/sources.list /etc/apt/sources.list.d/

Ersetze bookworm durch trixie. Das deckt das klassische Format in sources.list und das neue Format in .sources-Dateien ab:

sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*.sources

Meldet sed, dass es eine Datei nicht gibt, ist das kein Problem. Nutzt du stattdessen .list-Dateien unter /etc/apt/sources.list.d/, passe sie genauso an. Einträge mit bookworm-backports entfernst du vorher.

Fremde Repositorys (zum Beispiel für PHP, Docker oder Datenbanken) kommentierst du mit # aus. Nach dem Upgrade aktivierst du sie wieder, sobald der Anbieter trixie unterstützt. Welche Pakete nicht aus Debian stammen, zeigt dir:

apt list '?narrow(?installed, ?not(?origin(Debian)))'

Schritt 3: Upgrade durchführen

Läuft auf dem Server MariaDB, stoppe den Dienst vorher sauber mit systemctl stop mariadb. Der Sprung von MariaDB 10.11 auf 11.8 klappt nur zuverlässig nach einem sauberen Herunterfahren.

Debian empfiehlt ein Upgrade in zwei Stufen. Erst die Pakete, die sich ohne Neuinstallationen oder Entfernungen aktualisieren lassen, dann der Rest:

apt update
apt upgrade --without-new-pkgs
apt full-upgrade

Während des Upgrades fragt apt bei geänderten Konfigurationsdateien nach. Hast du eine Datei bewusst angepasst (zum Beispiel /etc/ssh/sshd_config mit eigenem Port), behalte deine Version. Sonst nimmst du die Version des Paketbetreuers. Bei der Frage, ob Dienste ohne Rückfrage neu gestartet werden dürfen, antwortest du mit Ja.

Schritt 4: Neustart und Kontrolle

systemctl reboot

Nach dem Neustart prüfst du Version, Kernel und Dienste:

cat /etc/debian_version
uname -r
systemctl --failed
systemctl status qemu-guest-agent

Du solltest 13.x und einen Kernel der Reihe 6.12 sehen. Läuft der Guest Agent nicht, zeigt der Cloud Manager nur das minimale Panel. Starte ihn dann mit systemctl enable --now qemu-guest-agent.

Zum Schluss räumst du auf und stellst die Quellen auf das neue Format um:

apt autoremove
apt purge '?config-files'
apt modernize-sources

Häufige Stolpersteine

  • Kein Netzwerk nach dem Neustart: Debian 13 kann Netzwerkschnittstellen anders benennen als Debian 12. Verbinde dich per VNC, prüfe mit ip a den neuen Namen und passe ihn in /etc/network/interfaces an. Danach systemctl restart networking.
  • Eigene sysctl-Werte greifen nicht mehr: Debian 13 liest /etc/sysctl.conf nicht mehr. Verschiebe eigene Einstellungen (zum Beispiel net.ipv4.ip_forward=1 für VPN oder Docker) in eine Datei unter /etc/sysctl.d/, etwa /etc/sysctl.d/99-local.conf.
  • /tmp liegt jetzt im Arbeitsspeicher: Nach dem Neustart ist /tmp ein tmpfs mit bis zu 50 % des RAM. Legen Programme dort große Dateien ab, wird der Speicher knapp. Zurück zum alten Verhalten kommst du mit systemctl mask tmp.mount und einem Neustart.
  • SSH-Login mit DSA-Schlüssel klappt nicht mehr: OpenSSH in Debian 13 unterstützt keine DSA-Schlüssel. Lege vor dem Upgrade einen Ed25519-Schlüssel an, siehe SSH-Passwort-Authentifizierung ausschalten.
  • „Could not perform immediate configuration“: Bricht apt full-upgrade damit ab, führe apt full-upgrade -o APT::Immediate-Configure=0 aus.
  • Warnungen „unable to delete old directory“: Die erscheinen bei Firmware-Paketen und sind harmlos.
  • Server bootet nicht mehr: Spiele den Snapshot oder das Backup zurück, siehe Backup wieder einspielen. Hängt er im initramfs, hilft Dateisystem mit fsck reparieren.

Verwandte Artikel

Debian 11 auf 12 upgraden (bullseye auf bookworm)

Du bringst Debian 11 (bullseye) auf Debian 12 (bookworm), indem du die Paketquellen zuerst auf das Debian-Archiv stellst und Debian 11 fertig aktualisierst, danach die Quellen auf bookworm umschreibst und apt upgrade --without-new-pkgs und apt full-upgrade ausführst. Nach einem Neustart läuft Debian 12. Lege vorher einen Snapshot oder ein Backup an und plane gleich danach den Schritt auf Debian 13.

Debian 11 hat am 31. August 2026 das Ende seines Long Term Support erreicht. Es gibt keine Sicherheitsupdates mehr, und die Pakete liegen nur noch auf archive.debian.org. Debian 12 ist ebenfalls schon im LTS-Betrieb. Sieh es deshalb als Zwischenstopp auf dem Weg zu Debian 13.

Bevor du anfängst

  • Sicherung anlegen: Erstelle im Cloud Manager einen Snapshot (schnell zurückzuspielen, wird nach 48 Stunden automatisch gelöscht) oder über „Backup erstellen“ ein Backup. Siehe Snapshot erstellen und zurückspielen.
  • Version prüfen: cat /etc/debian_version muss 11.x zeigen. Ältere Versionen musst du zuerst Schritt für Schritt auf Debian 11 bringen.
  • Upgrade in screen oder tmux starten: Bricht deine SSH-Verbindung ab, läuft das Upgrade weiter. Siehe Linux screen oder tmux.
  • Notfallzugang kennen: Ist der Server nach dem Neustart nicht per SSH erreichbar, kommst du über VNC im Cloud Manager auf die Konsole. Nach dem Aktivieren von VNC ist einmal Stop und Start nötig.
  • Platz prüfen: df -h sollte auf / mindestens 2 bis 3 GB frei zeigen.
  • Neu installieren statt upgraden? Läuft auf dem Server wenig, ist eine Neuinstallation mit Debian 13 oft schneller als zwei Upgrades hintereinander. Dabei werden aber alle Daten auf der Platte gelöscht, siehe Wie kann ich meinen Server neu installieren?

Schritt 1: Debian 11 über das Archiv fertig aktualisieren

Seit dem Supportende liefert deb.debian.org für bullseye nur noch Teile des Index aus, Pakete scheitern mit 404 Not Found. Stelle /etc/apt/sources.list deshalb auf das Archiv um:

deb http://archive.debian.org/debian bullseye main contrib non-free
deb http://archive.debian.org/debian-security bullseye-security main contrib non-free

Zeilen mit bullseye-updates und bullseye-backports entfernst du. Dann spielst du alle ausstehenden Updates ein und startest neu:

apt update
apt full-upgrade

Wenn alle Updates durchgelaufen sind, startest du neu:

systemctl reboot

Prüfe danach, ob Pakete zurückgehalten werden oder in einem fehlerhaften Zustand sind. Beide Befehle sollten nichts ausgeben:

apt-mark showhold
dpkg --audit

Schritt 2: Paketquellen auf bookworm umstellen

Ersetze den Inhalt von /etc/apt/sources.list durch die Quellen für Debian 12. Neu ist der Bereich non-free-firmware, in den Debian 12 die Firmware-Pakete verschoben hat:

deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware

Prüfe auch /etc/apt/sources.list.d/. Fremde Repositorys (zum Beispiel für PHP, Docker oder Datenbanken) kommentierst du mit # aus und aktivierst sie nach dem Upgrade wieder, sobald der Anbieter bookworm unterstützt. Welche Pakete nicht aus Debian stammen, zeigt:

apt list '?narrow(?installed, ?not(?origin(Debian)))'

Schritt 3: Upgrade durchführen

Läuft MariaDB auf dem Server, stoppe den Dienst vorher sauber mit systemctl stop mariadb. Danach das Upgrade in zwei Stufen:

apt update
apt upgrade --without-new-pkgs
apt full-upgrade

Bei geänderten Konfigurationsdateien fragt apt nach. Hast du eine Datei bewusst angepasst (zum Beispiel /etc/ssh/sshd_config mit eigenem Port), behalte deine Version. Sonst nimmst du die Version des Paketbetreuers. Die Frage, ob Dienste ohne Rückfrage neu gestartet werden dürfen, beantwortest du mit Ja.

Schritt 4: Neustart und Kontrolle

systemctl reboot

Nach dem Neustart prüfst du Version, Kernel und Dienste:

cat /etc/debian_version
uname -r
systemctl --failed
systemctl status qemu-guest-agent

Du solltest 12.x und einen Kernel der Reihe 6.1 sehen. Läuft der Guest Agent nicht, zeigt der Cloud Manager nur das minimale Panel. Starte ihn mit systemctl enable --now qemu-guest-agent. Zum Schluss räumst du auf:

apt autoremove
apt purge '?config-files'

Jetzt geht es direkt weiter mit Debian 12 auf 13 upgraden.

Häufige Stolpersteine

  • „Release file is expired“: Meldet apt das für die Archiv-Quellen, hilft einmalig apt -o Acquire::Check-Valid-Until=false update. Das betrifft nur Schritt 1, die bookworm-Quellen sind aktuell.
  • „changed its ‚Suite‘ value“: Das ist der bekannte Fehler nach einem neuen Debian-Release, siehe This must be accepted explicitly: APT-Fehler beheben.
  • pip meldet „externally-managed-environment“: Debian 12 verbietet pip install in das System-Python. Nutze Pakete aus apt (apt install python3-<name>) oder eine virtuelle Umgebung mit python3 -m venv.
  • Webseite zeigt PHP-Fehler: Debian 12 bringt PHP 8.2 statt 7.4 mit. Alte Anwendungen brauchen ein Update, und Konfigurationen unter /etc/php/7.4/ musst du nach /etc/php/8.2/ übernehmen.
  • Server bootet nicht mehr: Spiele den Snapshot oder das Backup zurück, siehe Backup wieder einspielen. Hängt er im initramfs, hilft Dateisystem mit fsck reparieren.

Verwandte Artikel