Dcfldd als Alternative zu Dd mit Fortschrittsanzeige und Hashing on-the-fly

Avatar von Christoph Langner

3 Min. Lesezeit

77 Aufrufe

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…

Clock

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.

Ähnliche Beiträge

7 Kommentare zu „Dcfldd als Alternative zu Dd mit Fortschrittsanzeige und Hashing on-the-fly“

  1. Avatar von Tom

    Ich verwende für solche Sachen immer ddrescue. Das besitzt auch eine Fortschrittsanzeige und außerdem noch die Möglichkeit eine log-Datei anzugeben. Anhand derer kann man auch eine Wiederherstellung oder eine Kopie von Partitionen einfach fortsetzen, ohne wieder komplett von vorne beginnen zu müssen.
    Zu installieren ist es unter Ubuntu per
    sudo apt-get install gddrescue
    unter Arch per
    sudo pacman -S ddrescue

    PS: Das Setzen von code mit dem ‚pre‘-Tag scheint nicht zu funktionieren…

  2. Avatar von Markus

    Au sehr gut! Gerade wenn man viel und oft riesige Odroid- oder RPi-Images schreibt, war das bisher immer „Hmm hab ich noch Zeit für nen Kaffee oder ist’s gleich fertig?“ 🙂

  3. Avatar von Daniel

    Department of Defense? Hat sich da mal jemand den Code angeschaut um sicher zu gehen dass nicht noch jemand anderes Statusupdates bekommt?

  4. Avatar von warum nicht cv?
    warum nicht cv?

    Schau dir das mal an: https://github.com/Xfennec/cv

  5. Avatar von der_bud

    Danke für den ‚cv‘ Tipp. Ich wollte für den gleichen Zweckgerade pv (pipeviewer) vorschlagen, der auch recht viel kann (wenn Größe bekannt ist auch prozentuale Fortschrittsanzeige, verbleibende Zeit, auch für cat, copy, move einrichtbar.
    dd if=/dev/input | pv -brt | dd of=/dev/output

    Mehr dazu siehe z.B. hier: http://www.catonmat.net/blog/unix-utilities-pipe-viewer/ oder Kommentare hier: http://blog.christophersmart.com/2009/11/28/checking-the-progress-of-dd/#comment-5453

  6. Avatar von random

    Mit pv (pipeviewer) mach ich jetzt so meine zufall-dateien für luks container, mit „wann-fertig-Anzeige“ (ETA):

    size=500; # size in MiB
    dd if=/dev/urandom bs=1M count=$size 2&>/dev/null | pv -tpreb -s ${size}M | dd of=filecontainerorBlockDev 2&>/dev/null

  7. Avatar von Caspi

    Ich habe eine kurze Frage:
    wie kann ich dcflss dazu überreden, die angezeigten Daten aus der Console in ein log zu schreiben.
    Mit einem ergänzten „>/var/log/backup.log“ tut er es bei mir nicht!
    Besten Dank für einen tipp!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Markdown wird unterstützt: **fett**, _kursiv_, [Linktext](URL), `Code`, Zeilen mit - für Listen, 1. für nummerierte Listen, dreifache Backticks für Codeblöcke.

Sicherheitsabfrage: Welches Logo ist das?

Über den Blog

Seit 2006 probiere ich hier aus, was Linux, freie Software und die passende Hardware so hergeben – von Distributions-Tests bis zum Raspberry-Pi-Projekt. Praxisnah statt bloßem Nachrichtenticker.

Zuletzt auf Mastodon

Scene Composer in Aktion: Ein Screenshot wird geladen, in verschiedene 3D-Szenen wie Café, Gaming-Desktop, Homeoffice und Podcast-Studio eingesetzt, gedreht und gezoomt. Anschließend wird eine Vorschau gerendert.

Ich finde Screenshots als Aufmacher oft langweilig. In der Vergangenheit habe ich daher oft den Bildschirm im wahrsten Sinne des Wortes abfotografiert. Das bringt etwas Leben in die Artikel –…

Kategorien

Blog unterstützen

Gefällt dir, was du hier liest? Mit einer kleinen Spende hilfst du, Hosting und neue Testgeräte zu finanzieren – und sorgst nebenbei für den nötigen Kaffee.

Linux und Ich — Dcfldd als Alternative zu Dd mit Fortschrittsanzeige und Hashing on-the-fly
https://linuxundich.de/gnu-linux/dcfldd-alternative-dd-fortschrittsanzeige-und-hashing/ — gedruckt am 25. September 2026