Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Arch KDE Backup & Restore

Ein interaktives Bash-Skript zum Sichern und Wiederherstellen eines Arch-KDE-Systems – konzipiert für den unkomplizierten Umzug auf einen neuen Rechner.


✨ Features

  • 🎯 Interaktives Menü – wählt zwischen Backup und Restore
  • 📦 Sichert installierte Pakete (pacman nativ, AUR, Flatpak, optional Snap)
  • 🏠 Sichert das Home-Verzeichnis inkl. Anwendungseinstellungen
  • ⚙️ Sichert /etc – beim Restore optional und sicher nach /tmp entpackt
  • 📊 Größenübersicht vor dem Backup mit Speicherplatz-Check am Ziel
  • 🚫 Intelligente Ausschlüsse für Caches, node_modules, venvs, SDKs etc.
  • 📧 Thunderbird-aware: sichert Einstellungen & Logins, aber keine IMAP-Maildaten (werden beim ersten Start neu geladen)
  • 🔐 Läuft als normaler User – fragt nur bei Bedarf nach sudo

📋 Voraussetzungen

  • Arch Linux (oder eine andere Arch-basierte Distribution)
  • KDE Plasma (auch andere Desktop Environmentss funktionieren grundsätzlich)
  • bash, tar, pacman
  • Optional: flatpak, yay (wird beim Restore automatisch installiert)

🚀 Verwendung

1. Skript herunterladen

git clone https://code.pifferi.io/wraith/Arch2Arch.git
cd Arch2Arch
chmod +x arch2arch.sh

2. Backup erstellen (auf dem alten System)

./arch2arch.sh

→ Option 1 wählen und den Zielpfad angeben (z. B. /run/media/USER/USB-Stick).

Das Skript zeigt eine Übersicht der zu sichernden Datenmenge an und fragt vor dem Start nach einer Bestätigung.

3. Wiederherstellen (auf dem neuen System)

Zuerst Arch KDE frisch installieren – mit dem gleichen Benutzernamen wie auf dem alten System. Dann:

./arch2arch.sh

→ Option 2 wählen und den Pfad zum Backup-Ordner angeben.

Nach Abschluss: Neu starten.


📦 Was wird gesichert?

Inhalt Beschreibung
pkglist_native.txt Liste aller pacman-Pakete aus offiziellen Repos
pkglist_aur.txt AUR- und Fremdpakete
flatpak_list.txt Installierte Flatpaks + Remotes
home_backup.tar.gz Komplettes Home-Verzeichnis (nach Ausschlussliste)
flatpak_data.tar.gz Flatpak-App-Daten aus ~/.var/app
etc_backup.tar.gz Systemkonfiguration aus /etc
BACKUP_INFO.txt Metadaten zum Backup

🚫 Was wird NICHT gesichert?

Standardmäßig ausgeschlossen (anpassbar im EXCLUDES-Array oben im Skript):

  • Caches (.cache, Browser-Caches, npm, gradle, …)
  • Papierkorb und Thumbnails
  • Nextcloud/ (synct sich neu vom Server)
  • Android/Sdk und .android/avd
  • Python venv / .venv, node_modules, __pycache__, Build-Ordner
  • Thunderbird-Maildaten (IMAP) – Einstellungen und Logins bleiben erhalten
  • KDE Baloo Such-Index (baut sich automatisch neu auf)
  • Docker-Daten, Cargo-Registry, Rustup, Go-Module

🔄 Nach dem Restore

Folgende Dinge müssen ggf. manuell erledigt werden:

  • Nextcloud-Client neu einrichten (synct dann automatisch)
  • Android Studio öffnen → SDK Manager → SDK neu herunterladen
  • Python venvs neu erstellen:
    python -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
  • Beim ersten Build laden sich node_modules, Gradle-Cache etc. automatisch neu

⚠️ Wichtige Hinweise

  • Nicht als root ausführen! Das Skript prüft dies aktiv und bricht ggf. ab.
  • Gleicher Benutzername auf altem und neuem System dringend empfohlen.
  • /etc wird beim Restore NICHT automatisch überschrieben – es wird nach /tmp/etc_restored entpackt, damit selektiv gemergt werden kann.
  • Vor dem Backup Thunderbird schließen (das Skript bietet das automatisch an).
  • Bei Nextcloud: vor dem Backup auf vollständigen Sync achten (grüner Haken im Tray).

🛠️ Anpassung

Die Ausschlussliste ist als Array EXCLUDES=(...) ganz oben im Skript definiert und kann nach Belieben erweitert oder gekürzt werden.


📜 Lizenz

MIT License – frei nutzbar, anpassbar und weiterverteilbar.


🤝 Beitragen

Pull Requests und Issues sind willkommen! Insbesondere für:

  • Erweiterungen der Ausschlussliste
  • Unterstützung weiterer Desktop-Umgebungen
  • Verbesserungen bei der Fehlerbehandlung

💬 Kontext

Dieses Skript entstand ursprünglich im Rahmen eines persönlichen Hardware-Umzugs. Ein ausführlicher Erfahrungsbericht ist auf gnulinux.ch erschienen. Die hier durchgeführten Anpassungen beziehen sich auf den Umzug einer generellen Arch Linux-Umgebung.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages