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
[...] Do tidak kehilangan sync untuk menyelesaikan sebelum menarik USB drive.
Saya ingin tahu
- Apa fungsinya?
- Apa konsekuensi yang ada jika ditinggalkan?
Catatan
dd
perintah yang digunakan dengan opsional status=progress
:
tar -xzOf archlinux-2016-09-03-dual.iso | dd of=/dev/disk2 bs=4M status=progress && sync
Atau gunakan pv
untuk kemajuan
tar -xzOf archlinux-2016-09-03-dual.iso | pv | dd of=/dev/disk2 bs=4M && sync
sumber
dd
Tidak mem-bypass cache disk kernel ketika ia menulis ke suatu perangkat . Saat menulis ke file (di atas lapisan sistem file dari kernel), semuanya di-cache. Namun, saya khawatir tentang menulis ke perangkat. Harap berikan sumber untuk pernyataan itu jika Anda bisa, karena itu adalah kunci dari pertanyaan ini. Jika benar, itu akan memberikan alasan yang valid untuk menjalankansync
setelah operasi kedd
perangkat .oflag=sync
, jadi progres menghasilkan kecepatan transfer yang sebenarnya dan bukan yang di-cache (jadi berjalan 10MB / s bukannya 100MB / s kedua dan kemudian 10 detik stall).Dari halaman buku panduan sinkronisasi (1): "sinkronisasi - Sinkronisasi penulisan cache ke penyimpanan persisten". Pada dasarnya
sync
memastikan bahwa semua data Anda ditulis ke tongkat dari cache.sumber