Zurück zum Blog

Linux-VPS auf Ubuntu 26.04 oder Debian 13 upgraden, ohne die Produktion zu gefährden

Ubuntu 26.04 und Debian 13 sind da, Debian 12 ist im LTS: die komplette Checkliste für das Upgrade eines produktiven Linux-VPS, mit Befehlen und Rückfallplan.

Admin
Terminal Linux affichant une invite ubuntu avec la commande sudo, illustrant la mise à niveau d'un VPS vers Ubuntu 26.04 ou Debian 13

Ubuntu 26.04 LTS ist im April 2026 erschienen, und seit September steht das Upgrade von 24.04 allen offen. Debian 13 ist seit August 2025 die stabile Version, Debian 12 wird nur noch vom LTS-Team gepflegt. So bringen Sie Ihren Linux-VPS auf die neue Version, ohne dass aus dem Update ein Produktionsausfall wird: Bestandsaufnahme, Checkliste, Befehle und Rückfallplan.

Stand von Ubuntu und Debian im Oktober 2026

Zahlen aus den Release Notes von Canonical und dem LTS-Zeitplan von Debian:

VersionErschienenSupportUpgrade von
Ubuntu 26.04 LTS (Resolute Raccoon)23. April 2026, Point Release 26.04.1 am 27. August 20265 Jahre Standard-Updates (April 2031), 10 Jahre mit ESM von Ubuntu Pronur 24.04 LTS oder 25.10
Ubuntu 24.04 LTSApril 2024Standard-Support bis 202922.04 LTS
Debian 13 (trixie)9. August 2025 (13.7 im September 2026)Sicherheitsteam bis 9. August 2028, danach LTS bis 30. Juni 2030nur Debian 12
Debian 12 (bookworm)10. Juni 2023LTS seit 11. Juni 2026, bis 30. Juni 2028Debian 11

Zwei praktische Folgen:

  • Von Ubuntu 22.04 gibt es keinen direkten Sprung. Canonical schreibt es ausdrücklich: Zuerst auf 24.04 LTS (oder 25.10), dann auf 26.04. Rechnen Sie also mit zwei Upgrades, mit Neustart und Tests dazwischen.
  • Auch Debian überspringt keine Version. Unterstützt wird nur das Upgrade von der direkten Vorgängerversion: Ein Server mit Debian 11 geht erst auf 12, dann auf 13.

Bei einem VPS mit Ubuntu 24.04 eilt es nicht, er ist bis 2029 abgedeckt. Ein Server mit Debian 12 erhält dagegen nur noch Korrekturen des LTS-Teams mit eingeschränktem Umfang: Planen Sie den Wechsel auf Debian 13 in Ruhe, statt 2028 unter Zeitdruck.

In-Place-Upgrade oder neuer Server?

Für eine Produktionsumgebung ist das In-Place-Upgrade nicht immer der sicherste Weg. Sie haben zwei Möglichkeiten:

  • In-Place-Upgrade (do-release-upgrade oder apt full-upgrade): schnell, IP-Adresse und Konfiguration bleiben erhalten, aber der Dienst ist während des Vorgangs unterbrochen, und der Weg zurück führt über eine Wiederherstellung.
  • Neuer VPS mit 26.04 oder 13, dann Umschalten: Sie migrieren die Daten, testen in Ruhe und stellen dann den DNS um. Der alte Server bleibt unverändert und ist Ihr sofortiger Rückweg.

Für einen einfachen Server reicht das In-Place-Upgrade bei guter Vorbereitung. Bei vielen Fremdquellen oder alten Containern ist eine saubere Neuinstallation oft weniger riskant.

Die Checkliste vor dem Eingriff in die Produktion

1. Ein Snapshot UND ein echtes Backup

Der VPS-Snapshot ist, sofern Ihr Anbieter ihn anbietet, der schnellste Weg zurück: Er friert die gesamte Festplatte ein. Er liegt aber auf derselben Infrastruktur wie der Server und ersetzt kein Backup. Machen Sie beides:

  • einen Snapshot direkt vor dem Eingriff, mit gestoppten Diensten oder zumindest gestoppten Datenbanken, damit der Zustand konsistent ist;
  • ein externes Backup der wichtigen Daten außerhalb des Servers: Datenbank-Dumps, /etc, Webverzeichnisse, Docker-Volumes, Crontabs.
# Als root (sudo -i), an Ihre Installation anpassen
mkdir -p /root/backup

# Datenbank-Dumps
mysqldump --all-databases --single-transaction > /root/backup/mysql-all.sql
su - postgres -c pg_dumpall > /root/backup/pg-all.sql

# Konfiguration und installierte Pakete
tar czf /root/backup/etc.tar.gz /etc
dpkg --get-selections '*' > /root/backup/pakete.txt
apt-mark showmanual > /root/backup/pakete-manuell.txt

Kopieren Sie /root/backup anschließend auf einen anderen Rechner (rsync, Object Storage, Ihren eigenen Computer). Ein nie zurückgespieltes Backup ist nur eine Annahme: Testen Sie mindestens einen Dump.

2. cgroup v2 prüfen (blockierend für Ubuntu 26.04)

Das ist die Änderung, die dieses Jahr am meisten Schaden anrichtet. systemd 259, das mit Ubuntu 26.04 kommt, unterstützt cgroup v1 (Legacy- und Hybrid-Hierarchie) überhaupt nicht mehr. Laut den Release Notes von Canonical gilt:

  • Eine Ubuntu-Installation mit cgroup v1 darf nicht auf 26.04 aktualisiert werden;
  • Container-Workloads mit 26.04 laufen nicht auf einem Host, der mit cgroup v1 gebootet wurde;
  • ein Host mit 26.04 unterstützt keine Container mehr, die cgroup v1 benötigen, etwa Ubuntu-Images älter als 18.04.

Ubuntu und Debian nutzen cgroup v2 seit mehreren Versionen standardmäßig, manche Server wurden aber für alte Container, alte Docker-Versionen oder Monitoring-Agenten auf v1 gezwungen. Prüfen Sie:

stat -fc %T /sys/fs/cgroup/
# cgroup2fs  -> cgroup v2, alles in Ordnung
# tmpfs      -> cgroup v1 oder hybrid, vor dem Upgrade korrigieren

grep -o 'systemd.unified_cgroup_hierarchy=[0-9]' /proc/cmdline
grep -n 'cgroup' /etc/default/grub /etc/default/grub.d/* 2>/dev/null

Steht noch ein Parameter systemd.unified_cgroup_hierarchy=0 in der GRUB-Konfiguration, entfernen Sie ihn, führen Sie sudo update-grub aus, starten Sie neu und prüfen Sie vor dem Upgrade, ob Ihre Container noch laufen. Listen Sie bei Docker Container und Images mit docker ps -a auf und suchen Sie nach sehr alten Distributionen: Ein Image, dessen internes systemd älter als cgroup v2 ist, muss ersetzt werden. Ein Workaround ist nicht möglich, denn systemd 259 kann nicht mehr mit cgroup v1 starten, unter 26.04 gibt es also keinen Schalter zurück.

Unter Debian 13 gilt cgroup v1 für systemd 257 bereits als veraltet: Dieselbe Prüfung erspart Ihnen beim nächsten Upgrade eine böse Überraschung.

3. Fremdquellen erfassen

Docker, PHP aus einem externen Repository, Node.js, diverse PPAs: Sie sind es, die Upgrades scheitern lassen. Listen Sie sie auf:

ls /etc/apt/sources.list.d/
grep -rhE '^(deb|URIs|Suites)' /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null

Prüfen Sie für jede Quelle, ob sie Pakete für das Ziel anbietet (resolute für Ubuntu 26.04, trixie für Debian 13). Das offizielle Docker-Repository unterstützt zum Beispiel Ubuntu 26.04 und Debian 13. do-release-upgrade deaktiviert Fremdquellen während des Vorgangs; unter Debian ist das Ihre Aufgabe. Notieren Sie sie in jedem Fall, um sie danach wieder zu aktivieren.

4. Zurückgehaltene Pakete

apt-mark showhold

Ein wichtiges Paket im Status hold lässt das Upgrade scheitern. Die Debian-Release-Notes empfehlen, Holds vor dem Start aufzuheben (sudo apt-mark unhold paket), außer bei einem Paket, das Sie selbst neu kompiliert haben.

5. Speicherplatz, Notfallzugang und Wartungsfenster

  • Halten Sie einige GB auf / frei und prüfen Sie /boot: df -h / /boot. Unter Debian schätzt apt -o APT::Get::Trivial-Only=true full-upgrade den Platzbedarf, sobald die neuen Quellen eingetragen sind.
  • Suchen Sie die Notfallkonsole Ihres Anbieters (VNC-Konsole oder Ähnliches im Kundenbereich): Sie rettet Sie, wenn das Netzwerk nach dem Neustart nicht zurückkommt.
  • Arbeiten Sie in tmux oder screen: Bricht die SSH-Verbindung ab, läuft das Upgrade weiter und Sie verbinden sich erneut mit der Sitzung.
  • Informieren Sie Ihre Nutzer, senken Sie vorab die TTL Ihrer DNS-Einträge, falls Sie umschalten wollen, und wählen Sie eine ruhige Zeit.

6. Den Rückfallplan aufschreiben

Entscheiden Sie vorher, nicht währenddessen: „Wenn die Dienste nach X Minuten nicht wieder laufen, spiele ich den Snapshot zurück.“ Notieren Sie, wo die Wiederherstellung zu finden ist, wie lange sie dauert und was Sie verlieren (alles, was nach dem Snapshot geschrieben wurde).

Ubuntu 24.04 auf 26.04, Schritt für Schritt

Seit dem Erscheinen von 26.04.1 wird das Upgrade regulär angeboten: Die Option -d, mit der man es vor der offiziellen Freigabe erzwingen konnte, ist nicht mehr nötig.

# 1. 24.04 vollständig aktualisieren, bei neuem Kernel neu starten
sudo apt update && sudo apt full-upgrade
sudo reboot

# 2. Werkzeug und Upgrade-Richtlinie prüfen
sudo apt install update-manager-core
grep Prompt /etc/update-manager/release-upgrades   # sollte Prompt=lts zeigen

# 3. Upgrade in tmux starten
tmux new -s upgrade
sudo do-release-upgrade

Über SSH gestartet, bietet das Werkzeug an, einen zweiten SSH-Dienst auf einem anderen Port als Reserve zu starten; wenn Sie zustimmen, öffnen Sie diesen Port vorübergehend in Ihrer Firewall. Bei Fragen zu Konfigurationsdateien behalten Sie im Zweifel Ihre Version und vergleichen sie anschließend mit der Datei .dpkg-dist.

Kommen Sie von Ubuntu 22.04, bringt Sie derselbe Befehl auf 24.04. Neu starten, Dienste prüfen, dann do-release-upgrade erneut ausführen, um 26.04 zu erreichen.

Was sich auf einem Ubuntu-26.04-Server ändert

  • Kernel 7.0 und systemd 259; 26.04 ist die letzte Version mit Unterstützung für System-V-Skripte: Migrieren Sie sie zu systemd-Units.
  • sudo-rs ist jetzt das Standard-sudo; das ursprüngliche sudo bleibt als sudo.ws verfügbar. Testen Sie Skripte und Playbooks mit ungewöhnlichen sudoers-Optionen.
  • rust-coreutils liefert jetzt die Basiswerkzeuge. Canonical stellt die GNU-Werkzeuge für Inkompatibilitäten weiter bereit: Testen Sie Ihre Shell-Skripte.
  • /tmp als tmpfs standardmäßig: Was in /tmp lag, belegt jetzt RAM und verschwindet beim Neustart.
  • OpenSSH 10.2: DSA-Schlüssel werden nicht mehr unterstützt.
  • Chrony ist der Zeitdienst bei Neuinstallationen; auf einem aktualisierten Server erfolgt der Wechsel manuell (sudo apt-mark auto systemd-timesyncd, dann sudo apt install chrony).
  • Apache und mod_php: Die systemd-Unit von Apache setzt MemoryDenyWriteExecute=yes, was den PHP-JIT mit libapache2-mod-php bricht. Canonical empfiehlt den Wechsel zu php-fpm oder alternativ, die Option per sudo systemctl edit apache2 zu überschreiben.
  • PostgreSQL: Canonical meldet eine Leistungsregression mit Kernel 7.0 und empfiehlt, Huge Pages zu aktivieren.
  • Versionen: PHP 8.5, MySQL 8.4 LTS. Lesen Sie die Migrationshinweise Ihrer Anwendungen.

Debian 12 auf Debian 13, Schritt für Schritt

Debian hat kein Gegenstück zu do-release-upgrade: Sie ändern die APT-Quellen und aktualisieren dann in zwei Stufen.

# 1. Debian 12 vollständig aktualisieren (inklusive OpenSSH-Korrektur für Remote-Upgrades)
sudo apt update && sudo apt full-upgrade
sudo reboot

Die Release Notes warnen, dass eine unterbrochene SSH-Sitzung während des Upgrades den Server mit dem ursprünglichen OpenSSH von bookworm unerreichbar machen konnte: Stellen Sie sicher, dass mindestens Version 1:9.2p1-2+deb12u7 installiert ist (dpkg -l openssh-server), und arbeiten Sie in tmux.

Stellen Sie dann die Quellen auf das von Debian 13 empfohlene deb822-Format um: eine einzige Datei /etc/apt/sources.list.d/debian.sources, die alte /etc/apt/sources.list wird entfernt.

sudo mv /etc/apt/sources.list /root/backup/sources.list.bookworm
sudo tee /etc/apt/sources.list.d/debian.sources <<'EOF'
Types: deb
URIs: https://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
EOF

Ergänzen Sie contrib oder non-free in der Zeile Components, wenn Ihre alte Konfiguration sie nutzte. Deaktivieren Sie Fremdquellen (Dateien in .disabled umbenennen) und entfernen Sie Einträge für bookworm-backports-sloppy, für die Debian keinen sauberen Upgrade-Pfad vorsieht.

# 2. Minimales Upgrade, dann vollständiges Upgrade
sudo apt update
sudo apt upgrade --without-new-pkgs
sudo apt full-upgrade

Vor dem Neustart prüfen Sie den Namen Ihrer Netzwerkschnittstelle: Mit systemd 257 kann sich der erzeugte Name mancher Netzwerkkarten ändern, und ein VPS mit umbenannter Schnittstelle startet ohne Netzwerk. Die Release Notes nennen den Befehl, der direkt vor dem Neustart auszuführen ist:

ip -br link
udevadm test-builtin net_setup_link /sys/class/net/eth0 2>/dev/null | grep ID_NET_NAME

Ersetzen Sie eth0 durch den von ip -br link angezeigten Namen. Weicht ID_NET_NAME vom aktuellen Namen ab, passen Sie /etc/network/interfaces an oder fixieren Sie den Namen vor dem Neustart mit einer systemd-.link-Datei. Prüfen Sie außerdem, dass ein Kernel-Metapaket installiert ist (dpkg -l 'linux-image*' | grep ^ii | grep -i meta).

Nach dem Neustart aufräumen und restliche Quellen umwandeln:

sudo apt modernize-sources   # wandelt verbliebene .list-Dateien in deb822 um
sudo apt autoremove
apt list '?obsolete'          # Pakete, die aus keinem Repository mehr stammen

Debian 13 weist außerdem darauf hin, dass die Schlüsselbund-Pfade mit .gpg nur noch Kompatibilitätslinks auf die .pgp-Dateien sind: Nach dem Upgrade können Sie in Ihren Quellen debian-archive-keyring.gpg durch debian-archive-keyring.pgp ersetzen.

Was sich auf einem Debian-13-Server ändert

  • Kernel 6.12, OpenSSH 10.0 (keine DSA-Schlüssel mehr), OpenSSL 3.5, PHP 8.4, PostgreSQL 17, MariaDB 11.8, Nginx 1.26, Python 3.13.
  • /tmp liegt jetzt in einem tmpfs (standardmäßig bis zu 50 % des RAM), und /tmp sowie /var/tmp werden regelmäßig aufgeräumt: Ein Dienst, der dort dauerhafte Dateien ablegt, muss umziehen.
  • i386 ist keine vollwertige Architektur mehr: Aktualisieren Sie keinen 32-Bit-Server.

Nach dem Neustart: die Prüfungen

lsb_release -a               # richtige Version?
systemctl --failed           # keine fehlgeschlagenen Dienste?
journalctl -p err -b         # Fehler seit dem Start
ss -tlnp                     # lauschen die erwarteten Ports?
stat -fc %T /sys/fs/cgroup/  # cgroup2fs
docker ps -a                 # Container wieder gestartet?

Aktivieren Sie anschließend die Fremdquellen mit dem neuen Versionsnamen. Für Docker genügt meist Suites: resolute (Ubuntu 26.04) oder Suites: trixie (Debian 13) in /etc/apt/sources.list.d/docker.sources, danach sudo apt update && sudo apt full-upgrade. Testen Sie zuletzt Ihre Websites und APIs von außen, Cronjobs, automatische Backups und die Zertifikatserneuerung (sudo certbot renew --dry-run, falls Sie Certbot nutzen).

Wenn etwas schiefgeht: der Rückweg

  • Der Server antwortet nicht mehr: Nutzen Sie die Notfallkonsole des Anbieters. Häufigste Ursache sind das Netzwerk (Schnittstellenname, Netplan) oder die Firewall.
  • Ein Dienst startet nicht: journalctl -u dienst -b nennt fast immer den Grund (entfernte Konfigurationsoption, fehlendes PHP-Modul, Datenbankversion).
  • Das Problem ist nicht in der gesetzten Frist gelöst: Spielen Sie den Snapshot zurück, bringen Sie den Dienst wieder online und analysieren Sie in Ruhe an einer Kopie. Ein sauberes „Downgrade“ einer Distribution gibt es nicht: Der Rückweg ist der Snapshot oder das Backup.

FAQ

Kann man direkt von Ubuntu 22.04 auf 26.04 wechseln?

Nein. Canonical verlangt den Zwischenschritt über 24.04 LTS (oder 25.10). Auf einem Server machen Sie zwei aufeinanderfolgende Upgrades mit Tests dazwischen.

Warum meldet do-release-upgrade, dass keine neue Version verfügbar ist?

Prüfen Sie Prompt=lts in /etc/update-manager/release-upgrades und ob 24.04 vollständig aktualisiert ist. Beachten Sie außerdem: Ein System mit cgroup v1 darf nicht auf 26.04 aktualisiert werden, wechseln Sie zuerst auf cgroup v2.

Ist Debian 12 in der Produktion noch sicher?

Es erhält bis zum 30. Juni 2028 Sicherheitskorrekturen vom LTS-Team, allerdings für eine kleinere Paketauswahl. Es bleibt nutzbar, aber planen Sie den Wechsel auf Debian 13.

Laufen meine alten Docker-Container unter Ubuntu 26.04?

Container, die cgroup v1 benötigen, etwa Ubuntu-Images älter als 18.04, laufen nicht mehr. Aktualisieren Sie diese Images vor dem Upgrade, wenn möglich auf einem Testserver.