Apa yang terjadi ketika saya melakukan “cat debian.iso> / dev / sdX”?

10

Saya membuat live-USB dan tidak mengerti persis: apa yang terjadi ketika saya menyalin file (atau bahkan sistem file) langsung ke node perangkat (sebagai lawan dari sistem file)?

Boris Burkov
sumber

Jawaban:

16

Shell akan membuka perangkat /dev/sdX. Semua output dari catperintah, yang akhirnya menjadi isi debian.iso, ditulis langsung ke perangkat itu.

Hasil akhirnya adalah yang debian.isoditulis byte-untuk-byte ke awal disk yang mendasarinya /dev/sdX.

Akibatnya, simpul perangkat membuatnya tampak bahwa konten tingkat rendah media penyimpanan Anda berperilaku sebagai file tunggal. Anda menulis ke "file" ini, dan karena itu menulis ke media penyimpanan. Filosofi ini dikenal sebagai "semuanya adalah file" dan dianggap sebagai salah satu fitur penentu sistem Unix.

Jim Paris
sumber
9
Apakah perintah ini berbeda dari dd if=debian.iso of=/dev/sdX?
2
@tor, tidak signifikan, tetapi ddmemberi Anda lebih banyak kontrol atas ukuran blok, standarnya tergantung pada implementasi (mis. 1 atau 512 byte). Dengan ddAnda berpotensi dapat memilih ukuran yang lebih baik untuk perangkat blok Anda, seperti 4096 byte.
mrb
Terima kasih, Jim. Apakah itu berarti, bahwa dengan menjalankan perintah ini, saya menimpa MBR dengan tabel partisi dan partisi FAT pada flash saya dan mengisinya dengan sistem file ISO-9660 dengan sektor 2048-byte dan bootloader di suatu tempat? Saya tidak tahu, bagaimana ini dimaksudkan untuk bekerja, menyebabkan spesifikasi CD bootable El Torito memungkinkan beberapa mode aksi dari gambar CD - emulasi floppy, emulasi hard drive dan tidak ada emulasi. Bisakah Anda juga menjelaskan, apa artinya untuk memberitahu dd (jika saya menggunakannya sebagai gantinya), ukuran blok apa yang harus digunakan, jika ukuran blok ditentukan oleh sistem file (yaitu mereka harus 2048 byte pada ISO)
Boris Burkov
2
@ Bob Kecuali dengan tape drive, ukuran blok yang Anda lewati ddmempengaruhi kinerja, tetapi bukan data apa yang dibaca dan ditulis. Tidak ada hubungan antara ddukuran blok dan ukuran blok CD atau ukuran blok sistem file. Beberapa megabyte biasanya akan memberi Anda kinerja terbaik, meskipun catbisa lebih cepat daripada dd.
Gilles 'SO- stop being evil'
2
Bagaimana dengan sektor boot, apakah / dev / sdX setelah itu akan boot seperti gambar CD / DVD?
matematika