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_versionmuss12.xzeigen. 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 -hsollte 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
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 aden neuen Namen und passe ihn in/etc/network/interfacesan. Danachsystemctl restart networking. - Eigene sysctl-Werte greifen nicht mehr: Debian 13 liest
/etc/sysctl.confnicht mehr. Verschiebe eigene Einstellungen (zum Beispielnet.ipv4.ip_forward=1fü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
/tmpein 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 mitsystemctl mask tmp.mountund 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-upgradedamit ab, führeapt full-upgrade -o APT::Immediate-Configure=0aus. - 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.