Saat memasang, kapan saya harus menggunakan perangkat loop?

18

Menurut pertanyaan berikut:
Apa yang dimaksud dengan "perangkat loop" saat pemasangan?
Perangkat loop adalah file yang bertindak sebagai perangkat berbasis blok. Meskipun saya dapat memahami hal itu secara konseptual, bagaimana hal ini berbeda dari pemasangan file lain? Sebagai contoh, jika saya mengambil gambar dd dari sistem file ext2 dan kemudian memasangnya, saya tidak harus menggunakan opsi loop - mount -t ext2 file.dd /mnt/mount-pointberhasil.

Kapan saya harus menggunakan opsi loop dan apa perbedaan antara pemasangan menggunakan opsi loop dan pemasangan tanpa itu?

Suchipi
sumber

Jawaban:

8

Jika Anda tidak harus menggunakan opsi loop untuk me-mount file biasa, itu karena mountmendeteksi ini dan mengaktifkannya untuk Anda secara otomatis. Anda harus menentukannya secara manual.

psusi
sumber
Aku masih melakukan. Saya tidak pernah memperhatikan mount bisa melakukan itu secara implisit.
Bananguin
@ user1129682 Saya ingin tahu apakah versi kernel atau distro yang berbeda memiliki atau tidak memiliki fitur ini?
Suchipi
22

Secara teknis perangkat loop adalah perangkat blok yang menulis ke file, bukan perangkat keras. Jadi, Anda selalu menggunakan / perlu menggunakan perangkat loop kembali saat memasang file.

Begitu banyak jawaban langsung. Mungkin ini berfungsi sebagai penjelasan:

Kernel mengimplementasikan beberapa lapisan abstraksi sehingga dapat memperlakukan perangkat keras yang berbeda dengan cara yang sama. Bayangkan jika Anda harus membangun kembali driver ext2 untuk setiap merek controller yang ada. Tidak ada yang menginginkan itu, tetapi kami ingin memperlakukan setiap harddisk dengan cara yang sama. Itu sebabnya kami membuat lapisan abstraksi.

Block device adalah abstraksi semacam itu. Block device memiliki atribut tertentu dan mengekspos fungsi-fungsi tertentu yang dapat digunakan oleh perangkat lunak lain. Tidak masalah apakah Anda memiliki ATA HDD atau SCSI HDD atau tape drive, Anda selalu menggunakan struktur dan fungsi yang sama persis untuk berinteraksi dengannya. Maka tugas dari kernel dan lebih eksplisit dari lapisan abstraksi itu, untuk melakukan hal yang benar ketika perangkat blok diakses. Hal yang benar dalam hal antarmuka perangkat blok adalah meneruskan panggilan dan data ke dan dari driver perangkat yang tepat. Driver perangkat tersebut dapat berupa subsistem SCSI atau driver untuk perangkat loop.

Pengandar perangkat loop mengubah operasi pada perangkat blok terkait menjadi operasi file (sistem), begitulah data / partisi berakhir di file.

Saya mungkin sangat keliru dalam terminologi yang digunakan dan nama serta jumlah lapisan abstraksi yang terlibat. Saya hanya ingin membuat sketsa konsep dasar sehingga menjadi jelas bahwa perangkat loop bukan file yang melakukan sesuatu, tetapi itu adalah sesuatu yang menggunakan file. File tidak melakukan hal yang berbeda dari yang biasa dilakukan.

Bananguin
sumber