- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| arch2arch.sh | ||
| README.md | ||
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/tmpentpackt - 📊 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/Sdkund.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.
/etcwird beim Restore NICHT automatisch überschrieben – es wird nach/tmp/etc_restoredentpackt, 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.