Um ein Kopie von einem Datenträger wie einer Festplatte, einem USB-Stick, oder einer SD-Karte zu machen oder vice versa, natürlich ein Image zurückzuspielen, empfiehlt sich das Shellprogramm dd.
Nachteil, dd kann schon ziemlich an den Nerven zerren, wenn man nicht weiß, wie weit die Arbeit nun fortgeschritten ist.
Lösung
Ich habe mir aus dem Grund angewöhnt das Programm pv zu installieren, hiermit weiß ich wie weit dd seine Arbeit bis jetzt erledigt hat.
pv ?
Debian beschreibt pv sehr schön:
pv (Pipe Viewer) kann in jede normale Pipeline zwischen zwei Prozessen eingebaut werden. Es wird angezeigt, wie schnell die Daten durchfließen, wie lange es gedauert hat, wieviel bereits abgearbeitet ist und wie lange es schätzungsweise noch dauert.
Dem kann ich nichts weiter hinzufügen, ausser, pv funktioniert nicht nur mit dd ツ
dd und pv
pv -treb Dateiwelcheifwäre | dd of=WOHINGEHTDASIMAGE bs=INPUTOUTPUTBLOCKSIZE
Der Aufruf pv -treb steht für die Zeit welche seit dem Aufruf abgelaufen ist (-t), die Datenrate (-r), bis wann vorrausichtlich der Vorgang dauert (-e) und wieviel Bytes bis Dato durch die Pipe gelaufen sind (-b).
Um das Wurzelverzeichnis von meiner Xbianinstallation auf den USB-Stick zu transferieren ( siehe dazu auch den Artikel RaspberryPI: Xbian auf einen USB-Stick installieren) ist der Aufruf folgender:
root@xbian:/home/xbian# pv -tpreb /dev/mmcblk0p2 | dd of=/dev/sda1 bs=1M 114MB 0:00:12 [7.67MB/s] [=====> ] 3% ETA 0:06:23
Fortschrittsbalken habe ich nicht, aber dd kann den Status auch selber ausgeben.
[root@x ~]# dd if=/dev/random of=/usr/null count=2097152 &
[1] 12886
[root@x ~]# kill -USR1 12886
[root@x ~]# 0+2 records in
0+0 records out
0 bytes (0 B) copied, 13.9775 s, 0.0 kB/s
[root@x ~]# kill -USR1 12886
[root@x ~]# 0+2 records in
0+0 records out
0 bytes (0 B) copied, 19.0815 s, 0.0 kB/s
Ging mir ja um den Fortschrittsbalken ツ
Das kann in manchen Fällen sehr nervig sein, finde ich jedenfalls.
Und wir kennen es ja, ein Fortschrittsbalken beruhigt, auch wenn es nur Placebo ist, es geht schneller *g*
Ja, genau! :-)
+1
Ich verwende seit ein paar Jahren „dcfldd“ das ist in den Debian Repo’s und auch via MacPort’s verfügbar und gibt ohne weiteres zutun Rückmeldung über den Status… ;-)
Danke Dir.
Muss ich mir mal anschauen, glingt wirklich Gut.