Das Upgrade von Debian von Version 12 (bookworm) auf Version 13 (trixie) ist ein Vorgang, der auf Servern und Containern (z. B. Proxmox LXC oder virtuelle Maschinen) reproduzierbar und ohne Überraschungen durchgeführt werden sollte. Unten finden Sie eine einfache Anleitung sowie fertige Befehle zum Herunterladen und Ausführen des Upgrade-Skripts.
Vor dem Upgrade: erstellen Sie ein Backup oder einen Snapshot. In Proxmox ist die beste Option vzdump oder ein Snapshot. Auf Bare-Metal-Systemen sichern Sie mindestens /etc, Anwendungen und Datenbanken.
- Proxmox LXC / VM: Backup mit vzdump oder Snapshot.
- Server: Backup von /etc, /var/www, Datenbanken (MySQL/PostgreSQL) und SSL-Zertifikaten.
Download des Skripts:
https://soban.pl/bash/upgrade_to_debian13.sh
1) Backup vor dem Upgrade (Beispiele)
Beispiel für ein Backup in Proxmox (auf dem Proxmox-Host ausführen, CTID/VMID ersetzen):
|
1 |
vzdump 101 --mode snapshot --compress zstd --storage local |
Beispiel für ein einfaches Dateisystem-Backup auf einem Server (ersetzt keinen vollständigen Snapshot, ist aber besser als nichts):
|
1 |
tar czf /root/backup_before_upgrade.tar.gz /etc /var/www /root |
2) Skript herunterladen (wget / curl)
Am einfachsten verwenden Sie wget. Wenn der Befehl wget trotz installiertem Paket nicht funktioniert, verwenden Sie den vollständigen Pfad /usr/bin/wget.
Variante A (Standard wget):
|
1 2 3 4 5 |
apt update apt install -y wget cd /root wget -O upgrade_to_debian13.sh https://soban.pl/bash/upgrade_to_debian13.sh chmod +x upgrade_to_debian13.sh |
Variante B (wget mit vollständigem Pfad – hilfreich bei PATH-Problemen):
|
1 2 3 4 5 |
apt update apt install -y wget cd /root /usr/bin/wget -O upgrade_to_debian13.sh https://soban.pl/bash/upgrade_to_debian13.sh chmod +x upgrade_to_debian13.sh |
Variante C (curl):
|
1 2 3 4 5 |
apt update apt install -y curl cd /root curl -fsSL -o upgrade_to_debian13.sh https://soban.pl/bash/upgrade_to_debian13.sh chmod +x upgrade_to_debian13.sh |
3) Skripthilfe (Parameter)
Bevor Sie das Upgrade starten, zeigen Sie die verfügbaren Parameter und Beispiele an:
|
1 2 |
cd /root ./upgrade_to_debian13.sh --help |
4) Upgrade Debian 12 → Debian 13 (nur System)
Wenn Sie derzeit Debian 12 (bookworm) verwenden und ein System-Upgrade durchführen möchten:
|
1 2 |
cd /root ./upgrade_to_debian13.sh |
Das Skript erstellt ein Backup von /etc/apt/sources.list, wechselt die Repositories zu trixie, führt apt update und apt full-upgrade aus und anschließend autoremove und autoclean.
5) Automatische Erkennung von PHP/nginx und Update bei Bedarf
Wenn der Container oder die VM einen Webserver verwendet und das Skript automatisch PHP (nginx + fastcgi_pass) erkennen und PHP sowie nginx aktualisieren soll:
|
1 2 |
cd /root ./upgrade_to_debian13.sh --auto |
6) PHP- und nginx-Upgrade erzwingen (PHP-FPM Socket Fix)
Wenn Sie die Installation oder das Upgrade von PHP erzwingen und die nginx-Konfiguration automatisch auf den richtigen PHP-FPM-Socket umstellen möchten:
|
1 2 |
cd /root ./upgrade_to_debian13.sh --with-php --with-nginx --php-version 8.2 |
Dieser Befehl installiert PHP 8.2 (php-fpm und gängige Module) und ersetzt alte PHP-FPM-Socket-Pfade in der nginx-Konfiguration durch /run/php/php8.2-fpm.sock. Anschließend wird nginx -t ausgeführt und die Dienste werden neu geladen oder neu gestartet.
7) Bereits Debian 13 installiert? Nur PHP/nginx Modus
Wenn das System bereits Debian 13 (trixie) verwendet und Sie nur PHP und nginx aktualisieren möchten, ohne die System-Repositories zu ändern:
|
1 2 |
cd /root ./upgrade_to_debian13.sh --php-nginx-only --with-php --with-nginx --php-version 8.2 |
8) Testmodus (Dry-Run)
Wenn Sie sehen möchten, was das Skript tun wird, ohne Änderungen vorzunehmen:
|
1 2 |
cd /root ./upgrade_to_debian13.sh --auto --dry-run |
9) Diagnose: wget installiert, aber funktioniert nicht
Wenn apt meldet, dass wget installiert ist, aber die Shell command not found anzeigt, liegt meist ein PATH-Problem vor. Verwenden Sie in diesem Fall den vollständigen Pfad /usr/bin/wget.
|
1 2 3 4 |
echo "$PATH" command -v wget || true ls -l /usr/bin/wget || true /usr/bin/wget --version || true |
Zusammenfassung
Diese Lösung ermöglicht ein sicheres Upgrade von Debian 12 → Debian 13 und behebt optional typische PHP/nginx-Probleme nach dem Upgrade. Erstellen Sie immer ein Backup vor dem Upgrade und beginnen Sie mit --help, um die verfügbaren Optionen zu prüfen.