Apa itu sistem file loop?
Gnu / Linux (dan sebagian besar sistem unix) memiliki mekanisme yang memungkinkan pemasangan file (sebelumnya diformat) seolah-olah itu adalah hard disk, biasanya tanpa tabel partisi. Diagram jelek ini (dibuat oleh saya) menjelaskan cara kerja mekanisme ini.
Penggunaan file loop
1- File Mount.iso
File .iso, standar par excellence pada CD dan DVD, tidak lebih dari file loop yang sistem filenya dapat ISO 9960 (lebih umum di CD) atau UDF (paling umum di DVD). Untuk me-mountnya, kita akan menggunakan perintah mount.
mkdir iso # kita membuat direktori chmod -R 666 iso # kita memberikan semua pengguna izin membaca mount image.iso iso / # kita me-mount image iso (membutuhkan root)
Batasan yang Anda miliki adalah, karena alasan yang jelas, kedua sistem file hanya-baca.
2- squashfs hanya-baca
Misalkan kita memiliki folder gambar dan / atau video yang diatur menurut tahun pengambilannya. Jelasnya, sangat tidak mungkin kami ingin mengubah data yang terdapat dalam folder dari tahun-tahun sebelumnya. Di situlah Squashfs berperan. Squashfs adalah sistem file terkompresi hanya-baca, jadi setelah gambar dibuat, kami tidak akan dapat mengubah data di dalamnya.
Jadi, tidak hanya itu kami akan menghemat banyak ruang, tapi juga akan ada efek aneh itu pembacaan file akan lebih cepat, dengan membaca file yang lebih kecil, karena saat ini mendekompresi file adalah upaya minimum untuk sebagian besar CPU.
Meninggalkan pembukaan, untuk membuat image squashfs kita harus menggunakan perintah mksquashfs, yang sintaksnya sederhana:
mksquashfs directorio 1 [directorio 2 directorio 3...] imagen.sqsfs -comp [algoritmo de compresión] -b [tamaño del bloque ]
Dan inilah contoh praktisnya:
mksquashfs fotos-2009 fotos-2010 fotos-2011 fotos-2012 fotos-2013 fotos_2009-2013.sqsfs -comp xz -bs 1M
Nah, algoritma yang dipilih adalah xz karena itu adalah salah satunya rasio kompresi yang lebih tinggi penawaran (dari yang tersedia), sedangkan ukuran blok yang dipilih adalah maksimum. apa memungkinkan hasil kompresi yang lebih baik (secara default 64KiB).
Sekarang kita harus bisa memasangnya dengan sederhana;
mount fotos_2009-2013.sqsfs fotos_2009-2013/
Setelah memeriksa bahwa semuanya sudah benar, kita dapat menghapus file asli atau membiarkan file tersebut sebagai cadangan.
Jika kita ingin itu dipasang saat OS dimulai, kita harus menambahkan baris gaya ini ke / etc / fstab:
/dir/loop.sqsh /dir/mountdir squashfs ro,defaults 0 0
Sekarang, apa yang terjadi jika kita ingin menambah atau menghapus file, atau hanya mengekstrak snapshot ini? Nah, kita punya perintah perintahnya unsquashfs.
unsquashfs [opciones] snapshot.sqfs [Directorios o archivos que extraer]
Standarnya akan menggunakan "squashfs-root" sebagai direktori ekstraksi. dapat diubah dengan opsi -d
- Livecd
- Sistem tertanam
- Server
- Secara umum, sistem hanya-baca
3- «Pertukaran darurat»
Bayangkan bahwa untuk alasan apa pun (hibernasi, kompilasi besar-besaran ...) Anda memerlukan swap ekstra. Di sinilah file loop berperan, langkah pertama adalah membuat file kosong dengan ukuran tertentu, dengan ukuran blok tertentu, kita melakukan ini dengan perintah DD:
dd if=/dev/zero of=loop bs=1M count=512
Dalam hal ini, bloknya adalah satu MiB dan ukuran file 512MiB. Tidak harus seperti ini.
Kami membuat dan mengaktifkan swap dengan perintah ini
mkswap loop && swapon loop
Ingatlah bahwa performa file loop selalu lebih rendah daripada performa fisik asli.
Lakukan apa yang Anda inginkan
Ini hanyalah beberapa dari contoh paling khas, silakan bereksperimen dengan chroot, sistem enkripsi, loop bersarang… Kemungkinan Anda tidak terbatas. Tapi, hati-hati dengan perintah yang Anda jalankan, pikirkan baik-baik sebelum menekan enter.
Tautan yang menarik
- wikipedia squash
- Pria mksquashfs
- man unsquashfs
- wikipedia iso 9960
- wikipedia UDF
- wikipedia VFS
- Ulangi wikipedia
Pos bagus che !! Saya memiliki beberapa backup besar di luar sana dan tidak pernah terpikir oleh saya untuk mengompresnya. Saya akan menggunakan ini dan dengan cara saya mengenkripsi eksternal saya untuk mengisinya dan kemudian saya ingat bahwa saya akan mengenkripsinya 🙁
Menarik untuk mencoba hal squashfs
Tutorial yang bagus, saya telah membaca cara membuat file img dengan dd dan memasangnya, tetapi tidak tahu penggunaan Squashfs dan kompresinya; Meskipun tidak memungkinkan untuk mengubah isinya, penggunaannya dapat berguna dalam situasi seperti yang Anda komentari. Terima kasih telah berbagi, salam.
Sangat baik untuk mengetahui, terima kasih untuk Tipnya.
Anda selalu belajar sesuatu yang baru. Luar biasa!
Ini lucu, saya tahu squashf dan untuk apa mereka, tetapi tidak pernah terpikir oleh saya untuk mengompres gambar saya. Terima kasih atas tipnya.
Mengesankan, mencobanya untuk melihat apa yang terjadi. Tip yang sangat bagus
tuto luar biasa !!! =)… Tip yang sangat bagus !!!
Halo roader. Artikel yang sangat menarik, terima kasih sudah berbagi.
Di Gentoo Anda perlu mengaktifkan dukungan SquashFS di kernel sebelum mengkompilasinya, saya akan mengujinya untuk melihat cara kerjanya. Terima kasih.
diuji di Gentoo mengkompilasi kernel untuk itu dan sangat bagus.
Perbaiki saja kesalahan ketik kecil, roader.
Contoh:
mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -bs 1M
simpan s di "-bs" (yang menentukan ukuran blok), akan terlihat seperti ini:
mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -b 1M