Fortschritt von dd unter Mac OS

Heute musste ich mal wieder ein Image auf eine SD-Karte kopieren, und sowas ist unter Unix/Linux ja kein Problem, daher mache ich das immer gerne mit dd auf meinem MacBook. Dieses mal hatte ich es sogar erst unter Windows versucht, aber dort wollte es nicht so recht funktionieren, also holte ich mein MacBook doch wieder raus. Dort den ganz normalen dd-Befehl abgesetzt:


sudo dd if=/path/to/file.img of=/dev/disk1 bs=1m

Nun dauert das natürlich (das Image war 2GB groß, und ja es war ein Raspberry Pi Image ;)). Naja, warten wir mal. … Aber es würde mich schon interessieren, wie weit er gerade ist… Warum hat dd eigentlich keinen Fortschrittsbalken?

Also schnell dies PID rausgesucht:


ps a

Aufpassen: Nicht die von sudo nehmen, sondern die von dd selber! Nun dachte ich man müsste das USR1 Signal an dd schicken. Und das muss man auch unter Linux. Nicht aber unter Mac OS! USR1 beendet dd! Hier ist das SIGINFO Signal das richtige. Mit diesem Befehl gibt es einen Status:


sudo kill -SIGINFO [PID]

Kleiner Tipp: Wenn man als Blockgröße (bs=…) sowas wie 1m (ein Megabyte) genommen hat kann man an den „records in/out“ wunderbar sehen, wie weit er schon ist 🙂

Also immer mit kill aufpassen… Besonders, wenn dd schon fast fertig ist 🙁

4 Gedanken zu „Fortschritt von dd unter Mac OS

  1. Einfacher ist es eventuell, wenn man im entsprechenden OSX-Terminal „ctrl-t“ drückt.
    (Wirklich „ctrl“, nicht „cmd“, denn „cmd-t“ öffnet ein Tab)
    Auf USR1 bin ich auch schon mal reingefallen. 😉

  2. Was sich auch immer gut macht, ist den dd-Prozess in den Hintergrund zu schicken und dann im gleichen Terminal den Fortschritt anzuzeigen:


    $ sudo -s
    # diskutil umountDisk /dev/disk1
    # dd if=./meintollesimage.img of=/dev/disk1 bs=1m & pid=$!
    # while true; do clear; kill -SIGINFO $pid; sleep 10; done

  3. Also nur, falls mal jemand das noch googlen sollte: bei mir hat -SIGINFO nix gebracht, ausser einer Meldung "invalid signal specification". Habe weitergegoogelt, bin dann auf die Info gestossen -INFO zu verwenden, und siehe da – es klappt. 😉

  4. Danke Niklas. Ich google imme rals erstes nach den Linux / UNIX Befehlen. Meist ist das ergiebiger. Aber hin und wieder wird man da mit OS X in eine Falle gelockt. 😉

    Danke für SIGINFO.

    Aber auch Danke an „VINZ“ [ctrl]+[t] ist natürlich noch leichter.

Schreibe einen Kommentar

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