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
ddcomando utilizado con opcional status=progress:
tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync
O usando pvpara el progreso
tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync
fuente

ddno 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 ejecutarsesyncdespués de una operación dedddispositivo 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
syncse asegura de que todos sus datos se escriban en el dispositivo desde el caché.fuente