Dd
dd (disk dump) erstellt bit-genaue Kopien von Datenträgern, Partitionen oder Dateien. Bit-genau bedeutet, dass Bit-für-Bit bzw. Byte-für-Byte ausgelesen und beschrieben wird, unabhängig von dessen Inhalt und Belegung.
Syntax
dd [Option] if=Inputfile of=Outputfile
Optionen
Schalter | Bedeutung |
---|---|
if= | Steht für Input File, also die Quelle |
of= | Steht für Output File, also das Ziel |
count= | Legt fest wie viele der mit BS festgelegten Blöcke kopiert werden sollen. Z.B.: „count=10“ kopiert genau 10 Blöcker der mit „bs“ angegebenen Größe. |
bs= | Steht für Block Size. Z.B.: „bs=1M“ beutet das die Blockgröße genau 1 Megabyte ist. Angaben können in K (Kilobyte), M (Megabyte), G (Gigabyte), etc… angegeben werden |
Anwendungen
Backup eines MBR erstellen
dd if=/dev/hda bs=512 count=1 of=/tmp/mbr.bin
Komprimiertes Archiv einer Partition erstellen
Komprimieren
dd if=/dev/hda1 | gzip > /tmp/image.gz
Dekomprimieren
gunzip -c /tmp/image.gz | dd of=/dev/hda1
Datenträger klonen
Mit folgendem Befehl, kann man einen Datenträger (sda) auf einen anderen Datenträger klonen. Hierbei gibt man die Blocksize an, um eine bessere Performance zu erreichen.
ACHTUNG: Die Datenträger sollten nicht im Dateisystem gemountet sein. Am besten eine Live CD verwenden.
dd if=/dev/sda of=/dev/sdb bs=2048
Fortschritt anzeigen
dd status=progress if=/dev/hda of=/dev/hdb bs=2048
Datenträger-Image erstellen
dd if=/dev/sda1 | pv -s18G | gzip | ssh -p2227 root@mx10.foxtom.de "dd of=/media/daten/backup/mx50sda1.gz"
Datenträger mit zufälliger Zeichenfolge überschreiben
dd if=/dev/urandom of=/dev/sda
Datei mit fester Größe erstellen
dd if=/dev/zero of=/mnt/name bs=1M count=500
Synchrones Schreiben
Um die Geschwindigkeiten eines Datenträgers zu testen, sollte der Cache des Betriebssystems abgeschaltet werden.
Lese-Cache: iflag=sync Schreib-Cache: oflag=sync
Schreibgeschwingigkeit
dd if=/dev/zero of=/tmp/lesetest bs=1M count=1000 oflag=sync
Lesegeschwindigkeit
dd if=/tmp/lesetest of=/dev/null iflag=sync