Come posso tenere traccia dell'avanzamento di dd

24

Sto usando il seguente comando per creare una scheda SD avviabile

sudo dd bs=4m if=en_windows_10_enterprise_version_1511_x64_dvd_7224901.iso of=/dev/disk2

C'è un modo per monitorare i progressi?

    
posta SeanClt 08.04.2016 - 05:13
fonte

6 risposte

32

Le stesse informazioni, visualizzate ogni secondo nella risposta di klanomath, possono essere visualizzate usando il comando. Devi solo inserire un carattere control T dalla tastiera mentre il comando dd è in esecuzione.

Premendo il carattere control T , si invia lo stesso segnale SIGINFO al comando dd inviato dal comando pkill -INFO -x dd .

    
risposta data 08.04.2016 - 13:55
fonte
13

A partire da coreutils 8.24, dd ha aggiunto opzioni di stato. Installa coreutils con Homebrew per aggiornare dd.

brew install coreutils
# All commands have been installed with the prefix 'g'
sudo gdd if=XXXX.iso of=/dev/diskX bs=1 status=progress 

> example:
> 139648967 bytes (140 MB, 133 MiB) copied, 304 s, 459 kB/s    
    
risposta data 10.10.2016 - 15:25
fonte
7

dd stesso non fornisce una barra di avanzamento. Puoi stimare l'avanzamento del processo di copia dd aggiungendo comunque un comando pkill -INFO .

Esempio:

dd if=/dev/zero of=/dev/null bs=64m count=1000 & while pkill -INFO -x dd; do sleep 1; done

Risultato:

[1] 37691
0+0 records in
0+0 records out
0 bytes transferred in 0.028923 secs (0 bytes/sec)
275+0 records in
275+0 records out
18454937600 bytes transferred in 1.029698 secs (17922667819 bytes/sec)
553+0 records in
553+0 records out
37111201792 bytes transferred in 2.048291 secs (18118129881 bytes/sec)
829+0 records in
829+0 records out
55633248256 bytes transferred in 3.068911 secs (18128009214 bytes/sec)
1000+0 records in
1000+0 records out
67108864000 bytes transferred in 3.720346 secs (18038339571 bytes/sec)
[1]+  Done                    dd if=/dev/zero of=/dev/null bs=64m count=1000

Che si traduce in un enorme 18,1 GB / s.

    
risposta data 08.04.2016 - 06:14
fonte
3

Prima di tutto, installa Homebrew Package Manager . Quindi devi installare pv e dialog con questo comando:

brew install pv dialog

È quindi possibile eseguire questo comando per ottenere una barra di avanzamento con il comando:

dd if=disk.img bs=1m | pv disk.img | dd of=/dev/diskX bs=1m

ma assicurati di sostituire disk.img con il percorso dell'immagine e diskX con l'identificativo del disco della scheda SD. Se vuoi qualcosa di più grafico, puoi provare questo:

(dd if=disk.img bs=1m | pv -n disk.img | dd of=/dev/diskX bs=1m conv=notrunc,noerror) 2>&1 | dialog --gauge "Writing image to SD card..." 10 70 0

Fonte: link

    
risposta data 28.04.2018 - 20:40
fonte
2

Puoi premere Controllo + t mentre il comando dd è in esecuzione o per una bella barra di avanzamento puoi installare pv (pipe viewer) tramite Homebrew:

brew install pv

e quindi eseguire:

sudo dd if=disk-image.img | pv | sudo dd of=/dev/disk2

o (conoscendo le dimensioni dell'immagine, 16 GB in questo esempio):

dd if=disk-image.img | pv -s 16G | dd of=/dev/disk2

Esempio di output 2:

(dati trasferiti, tempo trascorso, velocità, barra di avanzamento e tempo stimato):

    1.61GiB 0:12:19 [2.82MiB/s] [===>                 ] 10% ETA 1:50:25
    
risposta data 28.04.2018 - 20:19
fonte
2

È facile! Per macOS High Sierra e versioni successive, è sufficiente eseguire un ciclo while e verrà eseguito fino al completamento. Assicurati di fare il codice qui sotto in un'altra finestra:

Il codice riportato di seguito funzionerà in modo definitivo durante l'avvio del firmware o nel sistema operativo completo

while kill -0 $PID; do $(caffeinate -t 10) $(kill - INFO $PID) echo “still copying file” “$(date)”; done

^ Per mantenere la macchina sveglia (caffeina) senza l'uso di "homebrew" o strumenti non disponibili in Mac OS X standard poiché homebrew richiede internet e un SO effettivo per installarlo.

NOTA: Quanto sopra ti richiede di sostituire il PID con il tuo ID processo e mostrerà costantemente i progressi

    
risposta data 27.06.2018 - 02:21
fonte

Leggi altre domande sui tag