Upgrade Trixi Link in das iob Forum: https://forum.iobroker.net/topic/81187/upgrade-von-debian-12-bookworm-auf-debian-13-trixie Achtung: Vorher iob anhalten!!! 🧰 MASTER‑SCRIPT: Bookworm → Trixie Upgrade für Proxmox‑LXC 📌 Dateiname für das Script(Empfehlung): upgrade-bookworm-to-trixie-advanced.sh 🧭 So führst du das Skript aus: nano /root/upgrade-bookworm-to-trixie-advanced.sh chmod +x /root/upgrade-bookworm-to-trixie-advanced.sh ./upgrade-bookworm-to-trixie-advanced.sh --------------------------------------------------------------------- 🛡️ Rollback‑Funktion (falls etwas schiefgeht) 🧯 1. Rollback‑Skript (restore‑bookworm.sh) Dieses Skript setzt die Paketquellen zurück, macht ein Downgrade und stellt DB‑Backups wieder her. #!/usr/bin/env bash set -euo pipefail LOG="/root/rollback-to-bookworm.log" ROLLBACK_FILE="/root/rollback-sources.list" DB_BACKUP_DIR="$1" echo "=== Rollback auf Debian Bookworm ===" | tee -a "$LOG" echo "Startzeit: $(date)" | tee -a "$LOG" if [[ "$(id -u)" -ne 0 ]]; then echo "Dieses Skript muss als root ausgeführt werden!" | tee -a "$LOG" exit 10 fi if [[ -z "$DB_BACKUP_DIR" ]]; then echo "Bitte Backup-Verzeichnis angeben!" | tee -a "$LOG" exit 11 fi if [[ ! -d "$DB_BACKUP_DIR" ]]; then echo "Backup-Verzeichnis existiert nicht: $DB_BACKUP_DIR" | tee -a "$LOG" exit 12 fi echo "Rollback der APT-Sources..." | tee -a "$LOG" cp "$ROLLBACK_FILE" /etc/apt/sources.list if ls /etc/apt/sources.list.d/*.list >/dev/null 2>&1; then sed -i 's/trixie/bookworm/g' /etc/apt/sources.list.d/*.list fi echo "Lade Paketlisten..." | tee -a "$LOG" apt update | tee -a "$LOG" echo "Starte Downgrade (so weit möglich)..." | tee -a "$LOG" apt full-upgrade -y --allow-downgrades | tee -a "$LOG" echo "Stelle Redis wieder her..." | tee -a "$LOG" if [[ -f "$DB_BACKUP_DIR"/redis-dump-*.rdb ]]; then systemctl stop redis-server || true cp "$DB_BACKUP_DIR"/redis-dump-*.rdb /var/lib/redis/dump.rdb chown redis:redis /var/lib/redis/dump.rdb systemctl start redis-server || true else echo "Kein Redis-Backup gefunden." | tee -a "$LOG" fi echo "Stelle InfluxDB wieder her..." | tee -a "$LOG" if [[ -d "$DB_BACKUP_DIR/influx1" ]]; then systemctl stop influxdb || true influxd restore -portable "$DB_BACKUP_DIR/influx1" || true systemctl start influxdb || true fi if [[ -d "$DB_BACKUP_DIR/influx2" ]]; then systemctl stop influxdb || true influx restore "$DB_BACKUP_DIR/influx2" || true systemctl start influxdb || true fi echo "Rollback abgeschlossen." | tee -a "$LOG" echo "Bitte Container neu starten." | tee -a "$LOG" ------------------------------------------------------------------- 🔧 2. Wiederherstellungs‑Skript (restore-databases.sh) Dieses Skript stellt nur die Datenbanken wieder her — ideal, wenn das Upgrade geklappt hat, aber Redis/Influx Probleme machen. #!/usr/bin/env bash set -euo pipefail LOG="/root/restore-databases.log" DB_BACKUP_DIR="$1" echo "=== Wiederherstellung von Redis & InfluxDB ===" | tee -a "$LOG" echo "Startzeit: $(date)" | tee -a "$LOG" if [[ "$(id -u)" -ne 0 ]]; then echo "Dieses Skript muss als root ausgeführt werden!" | tee -a "$LOG" exit 10 fi if [[ -z "$DB_BACKUP_DIR" ]]; then echo "Bitte Backup-Verzeichnis angeben!" | tee -a "$LOG" exit 11 fi if [[ ! -d "$DB_BACKUP_DIR" ]]; then echo "Backup-Verzeichnis existiert nicht: $DB_BACKUP_DIR" | tee -a "$LOG" exit 12 fi # Redis echo "Stelle Redis wieder her..." | tee -a "$LOG" if [[ -f "$DB_BACKUP_DIR"/redis-dump-*.rdb ]]; then systemctl stop redis-server || true cp "$DB_BACKUP_DIR"/redis-dump-*.rdb /var/lib/redis/dump.rdb chown redis:redis /var/lib/redis/dump.rdb systemctl start redis-server || true else echo "Kein Redis-Backup gefunden." | tee -a "$LOG" fi # InfluxDB 1.x if [[ -d "$DB_BACKUP_DIR/influx1" ]]; then echo "Stelle InfluxDB 1.x wieder her..." | tee -a "$LOG" systemctl stop influxdb || true influxd restore -portable "$DB_BACKUP_DIR/influx1" || true systemctl start influxdb || true fi # InfluxDB 2.x if [[ -d "$DB_BACKUP_DIR/influx2" ]]; then echo "Stelle InfluxDB 2.x wieder her..." | tee -a "$LOG" systemctl stop influxdb || true influx restore "$DB_BACKUP_DIR/influx2" || true systemctl start influxdb || true fi echo "Wiederherstellung abgeschlossen." | tee -a "$LOG" ------------------------------------------------------------------- 📦 Wie du die Skripte verwendest Rollback (komplett zurück auf Bookworm) bash rollback-to-bookworm.sh /root/db-backup-"xxxxx" Nur Datenbanken wiederherstellen bash restore-databases.sh /root/db-backup-"xxxxx"