dd aus Coreutils 8.24 kennt jetzt eine Fortschrittsanzeige

Avatar von Christoph Langner

3 Min. Lesezeit

2 Aufrufe

dd aus Coreutils 8.24 kennt endlich eine Fortschrittsanzeige – mit status=progress oder weiterhin mit dem Pipe Viewer.

Wer gerne und viel mit dem Raspberry Pi arbeitet, schreibt mit Sicherheit des Öfteren Images mittels dd auf eine SD-Karte. Bei kleineren Systemen und einem USB-3.0-tauglichen Kartenleser dauert der Datentransfer in der Regel nur wenige Momente. Beim Schreiben größerer Images mit einem einfachen USB-2.0-Kartenleser kann der Vorgang jedoch schnell 15 Minuten oder länger dauern. Da dd bislang keine Statusausgabe bot, mussten Ungeduldige zur Anzeige des Fortschritts entweder ein pkill -USR1 -x dd an den Prozess senden oder Tools wie pv oder progress verwenden. Mit der frisch veröffentlichten Version 8.24 der Coreutils – zu diesem Paket gehört auch dd – erhält das Kommandozeilenwerkzeug nun endlich eine native Fortschrittsanzeige.

dd mit Fortschrittsanzeige

Die entsprechende Version der Coreutils ist bislang nur in wenigen Linux-Distributionen enthalten. Arch Linux und dessen Derivate liefern sie in der Regel bereits aus. Debian Sid führt derzeit noch coreutils in Version 8.23-4 in den Paketquellen, ein Update dürfte jedoch bald folgen. Ist auf Ihrem System eine ausreichend aktuelle Version der Coreutils installiert, genügt es, an den üblichen dd-Befehl die Option status=progress anzuhängen. Das Kommando zeigt dann die bereits kopierte Datenmenge, die verstrichene Zeit und die aktuelle Übertragungsrate an.

$ dd --version
dd (coreutils) 8.24
[...]
$ sudo dd if=beispiel.img of=/dev/sdd bs=1M status=progress
461373440 Bytes (461 MB) kopiert, 28,875167 s, 16,0 MB/s

Wer mit Ubuntu unterwegs ist, muss auf die kommende Ubuntu-Version „Xenial Xerus“ 16.04 warten – erst diese bringt eine ausreichend aktuelle Version des Pakets mit. Ältere Ubuntu-Ausgaben werden ein Update eines derart zentralen Pakets wie coreutils mit großer Wahrscheinlichkeit nicht erhalten. Wer coreutils 8.24 dennoch manuell unter Debian oder Ubuntu installieren möchte, kann dies mit den folgenden Kommandos tun. Ich persönlich würde jedoch davon abraten: Zwar verlief ein Test unter Ubuntu 15.10 in einer virtuellen Maschine problemlos, langfristig kann eine manuelle Installation dieser Art jedoch zu unerwarteten Problemen führen.

$ wget ftp://ftp.gnu.org/pub/gnu/coreutils/coreutils-8.24.tar.xz
$ tar -xf coreutils-8.24.tar.xz
$ cd coreutils-8.24
$ ./configure && make -j $(nproc) && sudo make install
$ dd --version
dd (coreutils) 8.24
Copyright © 2015 Free Software Foundation, Inc.
Lizenz GPLv3+: GNU GPL Version 3 oder höher <http://gnu.org/licenses/gpl.html>
Dies ist freie Software: Sie können sie ändern und weitergeben.
Es gibt keinerlei Garantien, soweit wie es das Gesetz erlaubt.

Geschrieben von Paul Rubin, David MacKenzie und Stuart Kemp.

pv als Alternative zu dd

Als Alternative zu dd – unabhängig davon, ob mit oder ohne Fortschrittsanzeige – empfiehlt sich generell der Pipe Viewer, kurz pv. Das Programm ist in den Paketquellen aller gängigen Linux-Distributionen enthalten und bietet im Gegensatz zur aktualisierten dd-Version zusätzlich einen grafischen Fortschrittsbalken. So sehen Sie auf einen Blick, wie lange der Kopiervorgang noch dauert – selbst ohne die Größe der Imagedatei zu kennen. Außerdem wählt pv automatisch eine sinnvolle Blockgröße, sodass der Kopiervorgang effizient abläuft. Bei dd hingegen sollte die Option bs=1M nicht weggelassen werden.

### Pipe Viewer unter Debian, Ubuntu oder Linux Mint installieren
$ sudo apt install pv
### Pipe Viewer unter Arch Linux, Manjaro oder Antergos installieren
$ sudo pacman -S pv
### Mit Pipe Viewer eine Imagedatei kopieren
$ pv < 2015-11-21-raspbian-jessie.img > /dev/sdd
1,63GiB 0:01:48 [12,5MiB/s] [=============> ] 44% ETA 0:02:14

Ähnliche Beiträge

8 Kommentare zu „dd aus Coreutils 8.24 kennt jetzt eine Fortschrittsanzeige“

  1. Avatar von Robert

    Ich nutze grundsätzlich das gesprächigere dcfldd

  2. Avatar von

    Danke, ein sehr interessantes Feature von dem ich noch nicht wusste. Und das obwohl coreutils 8.24 bei mir bereits seit Juli 2015 installiert ist (Arch Linux).

  3. Avatar von

    SD Karten schreiben geht auch bei USB 2.0 schnell, so lange man bs=4M setzt. Ohne die Option wird jeder Block 8x beschrieben.

  4. Avatar von werna

    danke 🙂

  5. Avatar von Florian Vaal

    Endlich! Wie lange ich auf dieses Feature gewartet habe. Danke 🙂

    Zuvor musste man sich immer mit pv und zwei Pipes helfen. Zum Glück gehört das jetzt der Vergangenheit an:

    $ dd if=/dev/urandom | pv | dd of=/dev/sda1

  6. Avatar von andre

    DDrescue bringt so etwas schon lange und auch die Lese und Schreibraten werden angezeigt

  7. Avatar von Chris Pea
    Chris Pea

    Bitte beachten, um die Coreutils installieren zu können, muss ein compiler da sein beispielsweise gcc und das libc6-dev package, ansonsten läuft make ins leere

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

Ich brauche eigentlich keine App für Zeitzonen – aber die GUI von Timezones ist einfach richtig schön gemacht. Eine native GTK4-/Libadwaita-App, die Städte und Zeitzonen übersichtlich auf einer gemeinsamen Zeitachse…

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 — dd aus Coreutils 8.24 kennt jetzt eine Fortschrittsanzeige
https://linuxundich.de/gnu-linux/dd-coreutils-824-fortschrittsanzeige/ — gedruckt am 30. September 2026