Z 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
[…] nedělejte zmeškanou synchronizaci pro dokončení před vytažením jednotky USB.
Rád bych to věděl
- Co to dělá?
- Jaké důsledky to má, pokud se vynechá?
Poznámky
dd
příkaz používaný s volitelným status=progress
:
tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync
Nebo pomocí pv
pro pokrok
tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync
Přijatá odpověď:
dd
neobchází mezipaměť disku jádra, když zapisuje do zařízení, takže některá část dat nemusí být ještě zapsána na USB
držte se dd
dokončení. Pokud odpojíte USB
v tu chvíli přilepte obsah na USB
hůl by byla nekonzistentní. Váš systém tedy může dokonce selhat při bootování z tohoto USB
hůl.
Sync
vyprázdní všechna data stále v mezipaměti do zařízení.
Místo vyvolání sync
můžete použít fdatasync
dd
možnost převodu:
fdatasync
fyzicky zapsat data výstupního souboru před dokončením
Ve vašem případě by příkaz byl:
tar -xzOf archlinux-2016-09-03-dual.iso |
dd of=/dev/disk2 bs=4M status=progress conv=fdatasync
conv=fdatasync
dělá dd
efektivně zavolat fdatasync()
systémové volání na konci přenosu těsně před dd
ukončí (zkontroloval jsem to pomocí dd
zdroje).
To potvrzuje, že dd
neobejde ani nevyprázdní mezipaměti, pokud k tomu nedostane výslovný pokyn.