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.