Desde el 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 se pierda la sincronización para completar antes de extraer la unidad USB.
Me gustaría saber
- ¿Qué hace?
- ¿Qué consecuencias hay si se dejan fuera?
Notas
dd
comando utilizado con opcional status=progress
:
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
fuente
dd
no lo hace de bypass las cachés de disco del núcleo cuando se escribe en un dispositivo . Al escribir en un archivo (sobre la capa del sistema de archivos del núcleo), las cosas se almacenan en caché. Sin embargo, me preocupa escribir en dispositivos. Proporcione una fuente para esa declaración si puede, porque esa es la clave de esta pregunta. Si es verdadero, proporcionaría una razón válida para ejecutarsesync
después de una operación dedd
dispositivo a dispositivo .oflag=sync
, por lo que el progreso genera la velocidad de transferencia real y no la almacenada en caché (por lo tanto, un 10 MB / s estable en lugar de un segundo 100 MB / sy luego 10 segundos de bloqueo).Desde la página del manual sync (1): "sync - Sincronizar escrituras en caché con almacenamiento persistente". Básicamente
sync
se asegura de que todos sus datos se escriban en el dispositivo desde el caché.fuente