Desde Arch Linux Wiki:https://wiki.archlinux.org/index.php/USB_flash_installation_media
# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync
[…] no pierda la sincronización para completar antes de extraer la unidad USB.
me gustaria saber
- ¿Qué hace?
- ¿Qué consecuencias hay si se deja de lado?
Notas
dd
comando usado con status=progress
opcional :
tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync
O usando pv
para el progreso
tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync
Respuesta aceptada:
El dd
no pasa por alto las memorias caché del disco del kernel cuando escribe en un dispositivo, por lo que es posible que parte de los datos aún no se hayan escrito en el USB
adherirse a dd
terminación. Si desenchufas tu USB
pegar en ese momento, el contenido en el USB
palo sería inconsistente. Por lo tanto, su sistema podría incluso fallar al arrancar desde este USB
palo.
Sync
vacía cualquier dato aún en caché al dispositivo.
En lugar de invocar sync
podrías usar fdatasync
dd
opción de conversión:
fdatasync
escribir físicamente los datos del archivo de salida antes de terminar
En tu caso, el comando sería:
tar -xzOf archlinux-2016-09-03-dual.iso |
dd of=/dev/disk2 bs=4M status=progress conv=fdatasync
El conv=fdatasync
hace dd
llamar efectivamente a fdatasync()
llamada al sistema al final de la transferencia justo antes de dd
salidas (verifiqué esto con dd
fuentes).
Esto confirma que dd
no omitiría ni vaciaría los cachés a menos que se le indique explícitamente que lo haga.