Komplettes Debian Backup oder Umzug
 

Was unter Windows nur mit Fremdsoftware korrekt möglich ist (einige System-Dateien verweigern unter dem laufenden Betrieb eine simple Kopieraktion), geht unter Linux mal wieder ganz einfach mit hauseigenen Bordmitteln. Möchte man eine komplette Kopie seines zwar schnell installierten, aber in etwas längerer Arbeit liebevoll eingerichteten Debian-Systems machen, genügt da die Verwendung von rsync:

# rsync -avx --numeric-ids --delete / /Backup/Verzeichnis

Die Schalter im Detail:
-a = Archiv-Mode. Impliziert die Schalter -rlptgoD.

  • r = rekursiv, also alle Verzeichnisse, inkl. Unterverzeichnissen.
  • l = Symbolische Links als symbolische Links kopieren.
  • p = Berechtigungen beibehalten.
  • t = Änderungszeiten beibehalten.
  • g = Gruppe beibehalten.
  • o = Eigentümer beibehalten (nur Superuser).
  • D = Spezielle Dateien beibehalten und Zeichen- und Blockgerätedateien auf das Zielsystem übertragen.
-v = verbose, ausführlichere Meldungen.
-x = Dateisystemgrenzen nicht überschreiten.
--numeric-ids = UID-/GID-Werte nicht anhand von Benutzer- oder Gruppennamen zuordnen.
--delete = Überflüssige Dateien aus Zielverzeichnissen löschen.

Damit wird ein identisches, lauffähiges Backup des Systems erstellt, welches man durch wiederholte Aufrufe des rsync-Befehls auch noch aktuell halten kann. So ist es nicht nur möglich sein System zu sichern, sondern auch komplett damit auf eine andere Partition oder Festplatte umzuziehen.

Im Falle eines Umzugs muß man lediglich noch ein paar Dateien anpassen und den Bootloader neu installieren. Um die benötigten Änderungen vorzunehmen, muß man aber erst einmal das kopierte System wieder abstarten, was man mit Hilfe eines USB-Sticks auf dem grub-rescue installiert ist bewerkstelligen kann. Bootet man von einem USB-Stick mit grub-rescue, sucht grub-rescue nach installierten Systemen, listet diese auf und bietet sie zum booten an. Nachdem das kopierte System gestartet ist, muß man die Datei /etc/fstab, welche die Festplatten Anhand der UUID einhängt, bearbeiten und alle UUIDs gegen die veränderten neuen UUIDs austauschen. Mittels
# blkid -g; blkid
kann man sich die UUID sämtlicher Partitionen anzeigen lassen und die entsprechende Zahl einfach heraus kopieren.

Falls man auch einen neuen Swap-Speicher hat, muß man diesen nicht nur in der Datei /etc/fstab eintragen, sondern auch unter
/etc/initramfs-tools/conf.d/resume
Anschließend muß man den geänderten Swap-Speicher in das Kernel-Image eintragen, in dem man das Kernel-Image neu schreibt mittels
# update-initramfs -u -k all
Durch die Angabe all werden für alle installierten Kernel neue Images geschrieben.

Hat man für den Bootloader Grub eigene Konfigurations-Skripte unter
/etc/grub.d/
angelegt, muß man diese natürlich auch mit den geänderten UUIDs versehen. Anschließend kann man mittels
# grub-install /dev/sda (für eine Festplatte mit MBR, MasterBootRecord)
# update-grub
den Bootloader neu installieren. Damit ist dann das kopierte System wieder bootfähig und einsatzbereit.

Noch ein Hinweis zu rsync: Da rsync ja lediglich die Veränderungen von Dateien kopiert, ist es unheimlich schnell im Spiegeln von Verzeichnissen. So muß man nicht unbedingt stundenlang warten, bis das Backup beendet ist. Siehe hierzu auch das vorherige Kapitel über rsync.