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
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