De l'arche 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
[...] DO non Miss Sync à compléter avant de tirer le lecteur USB.
J'aimerais savoir
dd
commande utilisée avec optionnelle status=progress
:
tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync
Ou en utilisant pv
pour progresser
tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync
Le dd
ne contourne pas les caches du disque du noyau lorsqu'il écrit sur un périphérique, une partie des données ne peut pas être écrite à la clé USB
sur dd
. Si vous débranchez votre bâton USB
à ce moment-là, le contenu du bâton USB
serait incompatible. Ainsi, votre système pourrait même ne pas démarrer à partir de ce bâton USB
.
Sync
afflète toutes les données toujours intégrées au périphérique.
Au lieu d'invoquer sync
, vous pouvez utiliser fdatasync
dd
Option de conversion:
fdatasync
écrire physiquement les données du fichier de sortie avant de finir
Dans votre cas, la commande serait:
tar -xzOf archlinux-2016-09-03-dual.iso | \
dd of=/dev/disk2 bs=4M status=progress conv=fdatasync
Le conv=fdatasync
Fait dd
appeler efficacement fdatasync()
appel du système à la fin du transfert juste avant dd
sorties (j'ai vérifié cela avec dd
Sources de's).
Cela confirme que dd
ne contournerait pas ni ne rincerait les caches sauf indication contraire de le faire explicitement.
À partir de la page MANUEL SYNC (1): "Sync - Synchronize Cached écrit sur le stockage persistant". Fondamentalement sync
veille à ce que toutes vos données soient écrites dans le bâton du cache.