Das gute alte dd-Kommando ist ein leistungsfähiges Werkzeug zum Erstellen von Disk-Images oder zum Übertragen von Images auf neue Datenträger. Wer eine neue Distribution für den Raspberry Pi ausprobieren, Daten von einer defekten Festplatte retten oder den Rechner von einer HDD auf eine SSD umrüsten möchte, kommt mit dd ans Ziel. Allerdings hat dd einen kleinen Nachteil: Es gibt keine Fortschrittsanzeige. Besonders beim Sichern oder Beschreiben großer Partitionen kann das stören – man weiß nie, wie weit der Vorgang ist oder wie lange er noch dauert. Eine Lösung bietet hier das dd aus dem Department of Defense Computer Forensics Lab.
Ganz auf eine Fortschrittsanzeige muss man bei dd nicht verzichten – mit ein paar Tricks lassen sich Informationen ausgeben. Das ist jedoch mit etwas Aufwand verbunden. Einfacher ist es, direkt eine Alternative wie dcfldd zu verwenden. Das Programm basiert auf dem Quellcode von dd, bringt aber zusätzliche Funktionen mit, die vor allem für die Computer-Forensik nützlich sind – daher stammt es auch aus dem Umfeld des Defense Computer Forensics Lab.
Mit dcfldd lassen sich zum Beispiel während des Kopiervorgangs Hashsummen berechnen, um sicherzustellen, dass Original und Kopie identisch sind. Wer möchte, kann diese Funktion nutzen – muss aber nicht. dcfldd lässt sich auch einfach als Ersatz für dd mit integrierter Fortschrittsanzeige einsetzen. Die Installation ist unkompliziert, da das Tool unter Arch Linux, Debian und Ubuntu direkt aus den offiziellen Paketquellen verfügbar ist.
### dcfldd unter Arch Linux installieren
$ sudo pacman -S dcfldd
### dcfldd unter Debian oder Ubuntu installieren
$ sudo apt install dcfldd
Im folgenden Beispiel sichere ich eine SD-Karte eines Raspberry Pi mit dcfldd auf die Festplatte. Zum Schluss lasse ich mir die MD5-Summe anzeigen. Diese könnte alternativ auch mit md5log=md5.txt in eine Datei geschrieben werden – oder man verzichtet ganz darauf. Während des gesamten Vorgangs zeigt dcfldd laufend den Fortschritt an. Wie ihr seht, ist die Syntax nahezu identisch zu dd – ein Umstieg fällt also leicht.
$ sudo dcfldd if=/dev/sdd of=~/raspberry-pi.img hash=md5
27136 blocks (848Mb) written.
...
242432 blocks (7576Mb) written. Total (md5): af51683036143ff104f658e1798d447d
242560+0 records in
242560+0 records out
Update: Lange Zeit bot dd keine Möglichkeit, den Fortschritt eines laufenden Kopiervorgangs anzuzeigen – das hat sich inzwischen geändert. Seit Version 8.24 der GNU Coreutils (veröffentlicht 2016) unterstützt dd den Parameter status=progress. Damit zeigt das Tool während der Ausführung regelmäßig an, wie viele Bytes bereits verarbeitet wurden. So erhält man auch beim klassischen dd eine einfache, aber effektive Fortschrittsanzeige. Weitere Informationen zur Funktion findet ihr in diesem Beitrag.






Schreibe einen Kommentar