Dies ist eine alte Version des Dokuments!
Ich habe hier einmal beschrieben, wie man Images von Festplatten/Partitionen auf verschieden Weise erstellt.
Dies ist auch auf Floppys, CDs, USB-Sticks und anderen Speichermedien anwendbar
Einfachste Art
Backup
Die einfachste Art der Image-Erstellung ist
dd if=/dev/sda of=/home/backup.img
Restore
Zurückspielen des Images
dd if=/home/backup.img of=/dev/sdb
komprimiertes Image
Backup
Dieses Image ist aber sehr groß, deshalb wird komprimiert
dd if=/dev/sda | gzip > /home/backup_compress.img.gz
oder
dd if=/dev/sda | bzip2 -5 > /home/backup_compress.img.bz2
Restore
Zurückspielen des Images
gunzip -c /home/backup_compress.img.gz | dd of=/dev/sdb
bzw
bunzip -c /home/backup_compress.img.bz2 | dd of=/dev/sdb
Komprimiertes Image über Netzwerk
Backup
Wenn man jetzt das Image noch über Netzwerk auf einen anderen Rechner spielen will, sieht das wie folgt aus
Zielrechner
netcat -l -p 5555 | dd of=/home/netcat_backup.img.bz2
Quellrechner
dd if=/dev/sda | bzip2 -1 | netcat <ZielIP> 5555
Die Ports (hier 5555) sind beliebig wählbar, empfohlen ist aber ein Port höher als 1024.
Restore
Zum Restore sollte folgendes funktionieren
Zielrechner
netcat -l -p 5555 | dd of=/def/sdb
Quellrechner
bunzip -c /home/netcat_backup.img.bz2 | netcat <ZielIP> 5555
Statusanzeige
Leider verhält sich dd wie ein typisches Unix-Programm. Wenn es keine Fehler gibt, wird nichts ausgegeben.
Da wir aber den Status sehen wollen, muss man folgendes tun
In einer zweiten Konsole (Strg+Alt+F1…6) folgenden Befehl eingegen
kill -USR1 `pidof dd`
diese Zeile macht keine Ausgabe. Jetzt muss man wieder auf die Konsole wechseln, auf der dd ausgeführt wird. Hier erkennt man nun, wie viel er schon kopiert hat.<br /> Da man aber nicht immer diesen Befehl eingeben will, empfielt siche eine kleine Schleife nach folgender Art
while [ "`pidof dd`" ]; do kill -USR1 `pidof dd`; sleep 30; done
Jetzt wird, solange dd ausgeführt wird, alle 20 Sekunden ein kill geschickt
Diskussion