Tutorial: Sistemes d'arxius Loop

Què és un sistema d'arxius loop?

GNU / Linux (i la gran majoria de sistemes unix) disposa d'un mecanisme que permet muntar un fitxer (prèviament formatat) com si fos un disc dur, normalment sense taula de particions. Aquest cutre diagrama (fet per mi) explica el funcionament d'aquest mecanisme.

Diagrama de flux que explica (grosso modo) el funcionament dels arxius loops en GNU / Linux.

** No representa el complet el funcionament real.

Usos dels arxius loop

1- Muntar archivos.iso

Els archivos.iso, l'estàndard per antonomàsia en CD i DVD no és més que un arxiu loop el sistema de fitxers pot ser ISO 9960 (Més comú en CDs) o UDF (Més comú en DVDs). Per muntar-lo, farem ús de la comanda mount.

mkdir iso #creamos directori chmod -R 666 iso #concedemos a tots els usuaris accés de lectura mount imagen.iso iso / # muntem la imatge iso (requereix root)

La limitació que té és que, per motius obvis, els dos sistemes d'arxius són de només lectura.

2- SquashFS de tan sols lectura

Suposem que tenim una carpeta d'imatges i / o vídeos que aquesta organitzada segons l'any en què es va treure. Òbviament, és força improbable que vulguem modificar les dades contingudes en carpetes d'anys anteriors. Aquí és on entra en joc SquashFS. Squashfs és un sistema d'arxius comprimit de només lectura, de manera que un cop feta la imatge, no podrem modificar les dades dins.

Així, no només estalviarem quantitats enormes d'espai, Sinó que també passarà el curiós efecte que la lectura dels arxius sera mes ràpida, A l'haver de llegir arxius més petits, ja que avui en dia descomprimir un arxiu és un esforç mínim per a la majoria de CPU.

Deixant els preàmbuls, per crear la imatge squashfs hem de fer servir la comanda mksquashfs, la sintaxi és simple:

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

I aquí un exemple pràctic:

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

Bé, l'algoritme triat és xz atès que és el que major ràtio de compressió ofereix (dels disponibles), mentre que la mida de bloc escollit és el màxim. el que permet obtenir millors resultats de compressió (Per defecte són 64KiB).

Ara hauríem de poder muntar-lo amb un simple;

mount fotos_2009-2013.sqsfs fotos_2009-2013/

Després de comprovar que tot esta correcte podem esborrar els arxius originals o deixar l'arxiu com backup.

En el cas que vulguem que es munti a l'arrencar el SO hem d'afegir a la / etc / fstab una linea d'aquest estil:

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

Introduir dades incorrectes en l'arxiu / etc / fstab farà que el sistema deixi d'arrencar. Per assegurar-nos que tot funciona correctament, podem usar la comanda muntar -a

Ara bé, ¿Que passa quan volem afegir o esborrar arxius, o simplement extreure aquestes snapshots? Doncs que tenim la comanda la comanda unsquashfs.

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

Per defecte fes servir com a directori d'extracció «squashfs-root». es pot canviar amb l'opció -d

A banda d'aquest exemple, squashfs també és utilitzat en:

  • LiveCDs
  • sistemes encastats
  • Servidors
  • En general, qualsevol sistema de només lectura

3- «swap d'emergència»

Imagina que pel motiu que sigui (hibernació, compilacions massives ...) necessites un extra de swap. Aquí és on entra en joc l'arxiu loop, el primer pas consisteix a fer un arxiu buit d'una mida determinada, amb una mida de bloc determinat, això ho fem amb la comanda dd:

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

dd a les mans equivocades és pitjor que un mico amb una escopeta. Pensa abans de prémer enter

En aquest cas, el bloc és d'un MiB i la mida de l'arxiu són 512MiB. No té per que ser així.

Creem i activem la swap amb aquesta comanda

mkswap loop && swapon loop

Tingues en compte que el rendiment d'un arxiu loop sempre és una mica inferior a el d'un físic real.

4-Fes el que vulguis

Aquests només són alguns dels exemples més característics, sentir-se lliure d'experimentar amb chroots, sistemes xifrats, sistemes loops imbricats ... Les seves possibilitats són il·limitades. Però, compte amb els comandaments que executes, pensa bé abans de pressionar enter.

Links d'interès


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   illukki va dir

    Bon post che !! Tinc uns backups gegants per ahi i mai es m'ocurrio comprimir-los. Vaig a fer servir això i de pas encriptar la meva extern que l'ompli i després vaig recordar que l'anava a xifrar 🙁

  2.   sieg84 va dir

    Interessant a provar el de squashfs

  3.   Manuel R va dir

    Bon tutorial, havia llegit com crear fitxers img amb dd i muntar-los, però desconeixia l'ús de SquashFS i la seva compressió; tot i que no permet modificar el seu contingut, el seu ús pot ser útil en situacions com les que comentes. Gràcies per compartir, salutacions.

  4.   Demo va dir

    Molt bo saber, gràcies per tl Tip.

  5.   Joaquin va dir

    Sempre s'aprèn alguna cosa nova. Excel·lent!

  6.   notfrombrooklyn va dir

    És curiós, coneixia squashfs i per al que serveix, però mai se m'havia ocorregut comprimir meus imatges. Gràcies pel tip.

  7.   HO2Gi va dir

    Impressionant, a provar-ho a veure que onda.Muy bon tip

  8.   Robert va dir

    excel·lent Estatut !!! =) ... molt bon tip !!!

  9.   Phorious va dir

    Hola roader. Molt interessant l'article, gràcies per compartir.

  10.   Essau va dir

    en Gentoo es necessita activar el suport per SquashFS en el nucli abans de compilar, ho provaré a veure que tal funciona. Gràcies.

    1.    Essau va dir

      provat en Gentoo compilant el nucli per a això i excel·lent.
      Tan sols corregir una petita errada, roader.

      En l'exemple:

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

      sobra la s de «-bs» (el que determina la mida de l'bloc), ha de quedar així:

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