Tutorial: Sistem File Loop

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.

Diagram alir yang menjelaskan (secara kasar) pengoperasian file loop di GNU / linux.

** Tidak sepenuhnya mewakili operasi sebenarnya.

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

Memasukkan data yang salah di file / etc / fstab akan menyebabkan sistem berhenti booting. Untuk memastikan semuanya berfungsi dengan benar, kita dapat menggunakan perintah gunung -a

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

Selain contoh ini, squashf juga digunakan di:

  • 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

dd di tangan yang salah lebih buruk daripada monyet dengan senapan. Pikirkan sebelum menekan enter

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


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   Illukki. dijo

    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 🙁

  2.   sieg84 dijo

    Menarik untuk mencoba hal squashfs

  3.   Manuel R. dijo

    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.

  4.   demo dijo

    Sangat baik untuk mengetahui, terima kasih untuk Tipnya.

  5.   Joaquin dijo

    Anda selalu belajar sesuatu yang baru. Luar biasa!

  6.   bukan daribrooklyn dijo

    Ini lucu, saya tahu squashf dan untuk apa mereka, tetapi tidak pernah terpikir oleh saya untuk mengompres gambar saya. Terima kasih atas tipnya.

  7.   HO2Gi dijo

    Mengesankan, mencobanya untuk melihat apa yang terjadi. Tip yang sangat bagus

  8.   Robert dijo

    tuto luar biasa !!! =)… Tip yang sangat bagus !!!

  9.   berpori dijo

    Halo roader. Artikel yang sangat menarik, terima kasih sudah berbagi.

  10.   Essau dijo

    Di Gentoo Anda perlu mengaktifkan dukungan SquashFS di kernel sebelum mengkompilasinya, saya akan mengujinya untuk melihat cara kerjanya. Terima kasih.

    1.    Essau dijo

      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