Dari 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
[…] Jangan jangan lewatkan sinkronisasi untuk menyelesaikan sebelum menarik drive USB.
Saya ingin tahu
- Apa fungsinya?
- Apa akibatnya jika ditinggalkan?
Catatan
dd
perintah yang digunakan dengan status=progress
opsional :
tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync
Atau menggunakan pv
untuk kemajuan
tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync
Jawaban yang Diterima:
dd
tidak melewati cache disk kernel saat menulis ke perangkat, jadi beberapa bagian data mungkin belum ditulis ke USB
tetap pada dd
penyelesaian. Jika Anda mencabut USB
tetap pada saat itu, konten di USB
tongkat akan menjadi tidak konsisten. Dengan demikian, sistem Anda bahkan bisa gagal untuk boot dari USB
ini tongkat.
Sync
mem-flush semua data yang masih tersimpan dalam cache ke perangkat.
Alih-alih menjalankan sync
anda dapat menggunakan fdatasync
dd
opsi konversi:
fdatasync
secara fisik menulis data file keluaran sebelum selesai
Dalam kasus Anda, perintahnya adalah:
tar -xzOf archlinux-2016-09-03-dual.iso |
dd of=/dev/disk2 bs=4M status=progress conv=fdatasync
conv=fdatasync
membuat dd
secara efektif memanggil fdatasync()
panggilan sistem di akhir transfer tepat sebelum dd
keluar (saya memeriksa ini dengan dd
sumbernya).
Ini menegaskan bahwa dd
tidak akan mem-bypass atau menghapus cache kecuali diinstruksikan secara eksplisit untuk melakukannya.