Tutorial: Sisteme de fișiere în buclă

Ce este un sistem de fișiere buclă?

Gnu / Linux (și marea majoritate a sistemelor unix) are un mecanism care permite montarea unui fișier (formatat anterior) ca și cum ar fi un hard disk, de obicei fără o tabelă de partiții. Această diagramă mizerabilă (făcută de mine) explică modul în care funcționează acest mecanism.

Diagramă de flux care explică (aproximativ) modul în care funcționează fișierele de bucle în GNU / linux.

** Nu reprezintă pe deplin funcționarea efectivă.

Utilizări ale fișierelor de buclă

1- Fișiere Mount.iso

Fișierele .iso, standardul prin excelență pentru CD-uri și DVD-uri, nu este altceva decât un fișier buclă al cărui sistem de fișiere poate fi ISO 9960 (mai frecvent pe CD-uri) sau UDF (cel mai frecvent pe DVD-uri). Pentru a-l monta, vom folosi comanda mount.

mkdir iso # creați directorul chmod -R 666 iso # acordați tuturor utilizatorilor permisiunea de citire montare imagine.iso iso / # montare imagine iso (necesită root)

Limita pe care o aveți este că, din motive evidente, ambele sisteme de fișiere sunt doar în citire.

2- squashfs numai în citire

Să presupunem că avem un dosar cu imagini și / sau videoclipuri organizat în funcție de anul în care a fost realizat. Evident, este destul de puțin probabil să dorim să modificăm datele conținute în dosare din anii precedenți. Aici intervine Squashfs. Squashfs este un sistem de fișiere comprimat numai în citire, deci odată ce imaginea este făcută, nu vom putea modifica datele din interior.

Astfel, nu numai vom economisi cantități uriașe de spațiu, dar va exista și efectul curios pe care citirea fișierelor va fi mai rapidă, prin a fi nevoie să citiți fișiere mai mici, din moment ce decomprimarea unui fișier este un efort minim pentru majoritatea procesoarelor.

Lăsând preambulurile, pentru a crea imaginea squashfs trebuie să folosim comanda mksquashfs, a cărei sintaxă este simplă:

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

Iată un exemplu practic:

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

Ei bine, algoritmul ales este xz, deoarece este cel care raport de compresie mai mare oferte (dintre cele disponibile), în timp ce dimensiunea blocului aleasă este maximă. ce permite rezultate mai bune la compresie (implicit sunt 64 KB).

Acum ar trebui să îl putem monta cu un simplu;

mount fotos_2009-2013.sqsfs fotos_2009-2013/

După verificarea faptului că totul este corect, putem șterge fișierele originale sau le putem lăsa ca o copie de rezervă.

În cazul în care dorim să fie montat la pornirea sistemului de operare, trebuie să adăugăm o linie de acest stil în / etc / fstab:

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

Introducerea datelor incorecte în fișierul / etc / fstab va face ca sistemul să nu mai pornească. Pentru a ne asigura că totul funcționează corect, putem folosi comanda munte -a

Acum, ce se întâmplă când dorim să adăugăm sau să ștergem fișiere sau pur și simplu să extragem aceste instantanee? Ei bine, avem comanda comandă unsquashfs.

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

În mod implicit, va folosi „squashfs-root” ca director de extracție. poate fi modificat cu opțiunea -d

În afară de acest exemplu, squashfs este, de asemenea, utilizat în:

  • Livecd-uri
  • Sisteme integrate
  • servere
  • În general, orice sistem de numai citire

3- «Schimb de urgență»

Imaginați-vă că, indiferent de motiv (hibernare, compilații masive ...) aveți nevoie de un schimb suplimentar. Aici intră în joc fișierul buclă, primul pas este de a crea un fișier gol de o anumită dimensiune, cu o anumită dimensiune de bloc, facem acest lucru cu comanda dd:

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

dd în mâinile greșite este mai rău decât o maimuță cu pușcă. Gândiți-vă înainte de a apăsa Enter

În acest caz, blocul este de un MiB și dimensiunea fișierului este de 512MiB. Nu trebuie să fie așa.

Creăm și activăm swap-ul cu această comandă

mkswap loop && swapon loop

Rețineți că performanța unui fișier de buclă este întotdeauna oarecum mai mică decât cea a unui fișier fizic real.

4-face ceea ce vrei

Acestea sunt doar câteva dintre cele mai caracteristice exemple, nu ezitați să experimentați cu chroots, sisteme de criptare, bucle imbricate ... Posibilitățile dvs. sunt nelimitate. Dar, fii atent cu comenzile pe care le executi, gândiți-vă bine înainte de a apăsa Enter.

Link-uri de interes


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   illukki el a spus

    Bun post che !! Am câteva copii de rezervă gigantice acolo și nu mi-a trecut prin cap să le comprim. Voi folosi acest lucru și, prin modul în care îl criptez pe cel extern, pentru a-l completa și apoi mi-am amintit că urma să-l criptez 🙁

  2.   sieg84 el a spus

    Interesant să încerci chestia cu squashfs

  3.   Manuel R. el a spus

    Bun tutorial, citisem cum să creez fișiere img cu dd și să le montez, dar nu știam utilizarea Squashfs și compresia acestuia; Deși nu permite modificarea conținutului său, utilizarea acestuia poate fi utilă în situații precum cele pe care le comentați. Vă mulțumim pentru distribuire, salutări.

  4.   Demo el a spus

    Foarte bine de știut, mulțumesc pentru Pont.

  5.   Joaquin el a spus

    Înveți mereu ceva nou. Excelent!

  6.   nu din brooklyn el a spus

    Este amuzant, știam squashfs și pentru ce sunt, dar nu mi-a trecut prin cap să-mi comprim imaginile. Multumesc pentru sfat.

  7.   HO2Gi el a spus

    Impresionant, să încercăm să vedem ce se întâmplă, sfat foarte bun

  8.   Robert el a spus

    excelent tuto !!! =) ... Sfat foarte bun !!!

  9.   Forios el a spus

    Buna roader. Articol foarte interesant, mulțumesc pentru distribuire.

  10.   Esaú el a spus

    În Gentoo trebuie să activați suportul SquashFS în kernel înainte de al compila, îl voi testa pentru a vedea cum funcționează. Mulțumesc.

    1.    Esaú el a spus

      testat pe Gentoo compilând nucleul pentru acesta și excelent.
      Corectează doar o greșeală mică, roader.

      În exemplu:

      mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -bs 1M

      economisiți s în „-bs” (care determină dimensiunea blocului), ar trebui să arate astfel:

      mksquashfs photos-2009 photos-2010 photos-2011 photos-2012 photos-2013 photos_2009-2013.sqsfs -comp xz -b 1M