Estoy usando el siguiente comando para crear una tarjeta SD arrancable
sudo dd bs=4m if=en_windows_10_enterprise_version_1511_x64_dvd_7224901.iso of=/dev/disk2
¿Hay alguna manera de rastrear el progreso?
Estoy usando el siguiente comando para crear una tarjeta SD arrancable
sudo dd bs=4m if=en_windows_10_enterprise_version_1511_x64_dvd_7224901.iso of=/dev/disk2
¿Hay alguna manera de rastrear el progreso?
La misma información, mostrada cada segundo en la respuesta de klanomath, se puede mostrar utilizando tu comando. Simplemente necesitas presionar un carácter controlT desde el teclado mientras el comando dd
se está ejecutando.
Al presionar el carácter controlT, estás enviando la misma señal SIGINFO
al comando dd
que envía el comando pkill -INFO -x dd
.
A partir de coreutils 8.24, dd agregó una opción de estado. Instala coreutils con Homebrew para actualizar dd.
brew install coreutils
# Todos los comandos se han instalado con el prefijo 'g'
sudo gdd if=XXXX.iso of=/dev/diskX bs=1 status=progress
> ejemplo:
> 139648967 bytes (140 MB, 133 MiB) copiados, 304 s, 459 kB/s
Todavía puedes usar el disco crudo de la siguiente manera: sudo gdd if=XXXX.iso of=/dev/rdiskX bs=1M
y verificar el progreso a través de CTRL
+ T
Puedes presionar Control + t mientras se ejecuta el comando dd
o para una barra de progreso agradable puedes instalar pv
(pipe viewer) a través de Homebrew:
brew install pv
y luego ejecutar:
sudo dd if=disk-image.img | pv | sudo dd of=/dev/disk2
o (sabiendo el tamaño de la imagen, 16GB en este ejemplo):
dd if=disk-image.img | pv -s 16G | dd of=/dev/disk2
Ejemplo de salida 2:
(datos transferidos, tiempo transcurrido, velocidad, barra de progreso y tiempo estimado):
1.61GiB 0:12:19 [2.82MiB/s] [===> ] 10% ETA 1:50:25
dd
en sí no proporciona una barra de progreso. Sin embargo, puedes estimar el progreso del proceso de copia de dd agregando un comando pkill -INFO.
Ejemplo:
dd if=/dev/zero of=/dev/null bs=64m count=1000 & while pkill -INFO -x dd; do sleep 1; done
Resultado:
[1] 37691
0+0 registros entrantes
0+0 registros salientes
0 bytes transferidos en 0,028923 segs (0 bytes/seg)
275+0 registros entrantes
275+0 registros salientes
18454937600 bytes transferidos en 1,029698 segs (17922667819 bytes/seg)
553+0 registros entrantes
553+0 registros salientes
37111201792 bytes transferidos en 2,048291 segs (18118129881 bytes/seg)
829+0 registros entrantes
829+0 registros salientes
55633248256 bytes transferidos en 3,068911 segs (18128009214 bytes/seg)
1000+0 registros entrantes
1000+0 registros salientes
67108864000 bytes transferidos en 3,720346 segs (18038339571 bytes/seg)
[1]+ Hecho dd if=/dev/zero of=/dev/null bs=64m count=1000
Lo cual se traduce en un impresionante 18.1 GB/s.
¿Cuáles son las especificaciones del hardware de la máquina en la que ejecutaste ese comando?
Solo estaba curioso por la salida de bytes/segundo, que por cierto es en realidad de 16.8 GB/s (aproximado hacia arriba) ya que se trata de cálculos en base 2, no en base 10.
En primer lugar, instala Homebrew Package Manager. Luego debes instalar pv
y dialog
con este comando:
brew install pv dialog
Luego puedes ejecutar este comando para obtener una barra de progreso con el comando:
dd if=disk.img bs=1m | pv disk.img | dd of=/dev/diskX bs=1m
pero asegúrate de reemplazar disk.img
con la ruta de la imagen y diskX
con el identificador de disco de tu tarjeta SD. Si prefieres algo más gráfico, puedes intentar esto:
(dd if=disk.img bs=1m | pv -n disk.img | dd of=/dev/diskX bs=1m conv=notrunc,noerror) 2>&1 | dialog --gauge "Escribiendo imagen en la tarjeta SD..." 10 70 0
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.
2 votos
¿Cómo hacer que dd imprima estadísticas de transferencia en MacOS?