Öğretici: Döngü Dosya Sistemleri

Döngü dosya sistemi nedir?

Gnu / Linux (ve unix sistemlerinin büyük çoğunluğu), bir dosyayı (önceden biçimlendirilmiş) bir sabit diskmiş gibi, genellikle bir bölüm tablosu olmadan monte etmeye izin veren bir mekanizmaya sahiptir. Bu berbat şema (benim tarafımdan yapılmıştır) bu mekanizmanın nasıl çalıştığını açıklıyor.

Döngü dosyalarının GNU / linux'ta nasıl çalıştığını (kabaca) açıklayan akış şeması.

** Gerçek işlemi tam olarak temsil etmez.

Döngü dosyalarının kullanımı

1- Mount.iso dosyaları

CD'lerde ve DVD'lerde standart mükemmellik olan .iso dosyaları, dosya sistemi olabilen bir döngü dosyasından başka bir şey değildir. ISO 9960 (CD'lerde daha yaygındır) veya UDF (en çok DVD'lerde yaygındır). Takmak için mount komutunu kullanacağız.

mkdir iso # chmod -R 666 iso # dizinini oluşturuyoruz tüm kullanıcılara okuma izni veriyoruz image.iso iso / # iso imajını bağlarız (root gerektirir)

Sahip olduğunuz sınırlama, bariz nedenlerden dolayı, her iki dosya sisteminin de salt okunur olmasıdır.

2- salt okunur squashfs

Çekildiği yıla göre düzenlenmiş bir resim ve / veya video klasörümüz olduğunu varsayalım. Açıkçası, önceki yıllara ait klasörlerde bulunan verileri değiştirmek istememiz pek olası değil. Squashfs burada devreye giriyor. Squashfs salt okunur sıkıştırılmış bir dosya sistemidir, bu nedenle görüntü oluşturulduktan sonra içindeki verileri değiştiremeyeceğiz.

Böylece sadece büyük miktarda yer tasarrufu sağlayacağızama aynı zamanda ilginç bir etki de olacak dosyaların okunması daha hızlı olacak, daha küçük dosyaları okumak zorunda bırakılarak, çünkü günümüzde bir dosyayı açmak çoğu CPU için minimum çaba gerektirmektedir.

Başlangıç ​​eklerini terk ederek, squashfs görüntüsünü oluşturmak için sözdizimi basit olan mksquashfs komutunu kullanmalıyız:

mksquashfs directorio 1 [directorio 2 directorio 3...] imagen.sqsfs -comp [algoritmo de compresión] -b [tamaño del bloque ]

Ve işte pratik bir örnek:

mksquashfs fotos-2009 fotos-2010 fotos-2011 fotos-2012 fotos-2013 fotos_2009-2013.sqsfs -comp xz -bs 1M

Pekala, seçilen algoritma xz'dir çünkü daha yüksek sıkıştırma oranı teklifler (mevcut olanlardan), seçilen blok boyutu maksimumdur. ne daha iyi sıkıştırma sonuçları sağlar (varsayılan olarak 64KiB'dir).

Şimdi basit bir şekilde monte edebilmeliyiz;

mount fotos_2009-2013.sqsfs fotos_2009-2013/

Her şeyin doğru olup olmadığını kontrol ettikten sonra orijinal dosyaları silebilir veya dosyayı yedek olarak bırakabiliriz.

İşletim sistemi başladığında monte edilmesini istememiz durumunda, / etc / fstab dosyasına bu stilde bir satır eklemeliyiz:

/dir/loop.sqsh /dir/mountdir squashfs ro,defaults 0 0

/ Etc / fstab dosyasına yanlış veri girmek, sistemin önyüklemeyi durdurmasına neden olur. Her şeyin doğru çalıştığından emin olmak için şu komutu kullanabiliriz binmek -a

Şimdi, dosya eklemek veya silmek ya da sadece bu anlık görüntüleri çıkarmak istediğimizde ne olur? Peki, komuta sahibiz Unquashfs.

unsquashfs [opciones] snapshot.sqfs [Directorios o archivos que extraer]

Varsayılan olarak, çıkarma dizini olarak "squashfs-root" kullanacaktır. -d seçeneği ile değiştirilebilir

Bu örnekten ayrı olarak squashfs şunlarda da kullanılır:

  • canlı cd'ler
  • Gömülü sistemler
  • Sunucular
  • Genel olarak, herhangi bir salt okunur sistem

3- «Acil durum değişimi»

Her ne sebeple olursa olsun (hazırda bekletme, büyük derlemeler ...) fazladan bir değişime ihtiyacınız olduğunu hayal edin. İşte döngü dosyasının devreye girdiği yer burasıdır, ilk adım belirli bir boyutta boş bir dosya yapmaktır, belirli bir blok boyutunda, bunu komutla yaparız gg:

dd if=/dev/zero of=loop bs=1M count=512

Yanlış ellerde dd, pompalı bir maymundan daha kötüdür. Enter tuşuna basmadan önce düşünün

Bu durumda, blok bir MiB'dir ve dosya boyutu 512MiB'dir. Bu şekilde olmak zorunda değildir.

Bu komut ile swap oluşturup etkinleştiriyoruz

mkswap loop && swapon loop

Bir döngü dosyasının performansının her zaman gerçek bir fiziksel dosyadan biraz daha düşük olduğunu unutmayın.

4-İstediğini yap

Bunlar en karakteristik örneklerden sadece birkaçı, chroot'lar, şifreleme sistemleri, iç içe döngülerle denemekten çekinmeyin… Olasılıklarınız sınırsız. Ancak, çalıştırdığınız komutlara dikkat edin, enter tuşuna basmadan önce dikkatlice düşünün.

İlgi alanları


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Illukki dijo

    İyi gönderi che !! Dışarıda devasa yedeklemelerim var ve onları sıkıştırmak hiç aklıma gelmedi. Bunu kullanacağım ve bu arada harici olanımı doldurmak için şifreleyeceğim ve sonra şifreleyeceğimi hatırladım 🙁

  2.   Sieg84 dijo

    Squashfs şeyini denemek ilginç

  3.   Manuel R. dijo

    İyi öğretici, dd ile img dosyalarını nasıl oluşturacağımı ve onları nasıl bağlayacağımı okudum, ancak Squashf'lerin kullanımını ve sıkıştırmasını bilmiyordum; İçeriğini değiştirmeye izin vermese de, yorum yaptığınız gibi durumlarda kullanımı faydalı olabilir. Paylaştığınız için teşekkürler selamlar.

  4.   gösteri dijo

    Bilmekte fayda var, İpucu için teşekkürler.

  5.   Joaquin dijo

    Her zaman yeni bir şeyler öğrenirsin. Mükemmel!

  6.   Notfrombrooklyn dijo

    Komik, squashf'leri ve ne işe yaradıklarını biliyordum, ama resimlerimi sıkıştırmak hiç aklıma gelmemişti. Bahşiş için teşekkürler.

  7.   HO2Gi dijo

    Etkileyici, hadi ne olduğunu görmek için deneyelim, çok iyi ipucu

  8.   Robert dijo

    mükemmel tuto !!! =)… Çok iyi bir ipucu !!!

  9.   Fosforlu dijo

    Merhaba yolcu. Çok ilginç makale, paylaştığınız için teşekkürler.

  10.   Esav dijo

    Gentoo'da, derlemeden önce çekirdekte SquashFS desteğini etkinleştirmeniz gerekir, nasıl çalıştığını görmek için test edeceğim. Teşekkür ederim.

    1.    Esav dijo

      Gentoo üzerinde çekirdeği derlerken test edildi ve mükemmel.
      Sadece küçük bir yazım hatasını düzeltin, roader.

      Örnekte:

      mksquashfs fotoğraflar-2009 fotoğraflar-2010 fotoğraflar-2011 fotoğraflar-2012 fotoğraflar-2013 fotoğraflar_2009-2013.sqsfs -comp xz -bs 1M

      s'leri "-bs" olarak (bloğun boyutunu belirler) yedekleyin, şöyle görünmelidir:

      mksquashfs fotoğrafları-2009 fotoğrafları-2010 fotoğrafları-2011 fotoğrafları-2012 fotoğrafları-2013 fotoğrafları_2009-2013.sqsfs -comp xz -b 1M