Handledning: Loop File Systems

Vad är ett loop-filsystem?

Gnu / Linux (och de allra flesta unix-systemen) har en mekanism som gör det möjligt att montera en fil (tidigare formaterad) som om det vore en hårddisk, vanligtvis utan en partitionstabell. Detta skitdiagram (gjort av mig) förklarar hur denna mekanism fungerar.

Flödesschema som förklarar (ungefär) hur loopfiler fungerar i GNU / linux.

** Representerar inte fullständigt den faktiska driften.

Användning av loopfiler

1- Mount.iso-filer

ISO-filerna, standard på CD- och DVD-skivor, är inget annat än en loopfil vars filsystem kan ISO 9960 (vanligare på CD-skivor) eller UDF (vanligast på DVD-skivor). För att montera den använder vi kommandot mount.

mkdir iso # skapa katalogen chmod -R 666 iso # bevilja alla användare läsbehörighet montera bild. iso iso / # montera iso-bilden (kräver root)

Begränsningen du har är att av uppenbara skäl är båda filsystemen skrivskyddade.

2- skrivskyddade squashs

Anta att vi har en mapp med bilder och / eller videor som är organiserade efter det år då den togs. Uppenbarligen är det ganska osannolikt att vi vill ändra informationen i mappar från tidigare år. Det är där Squashfs kommer in. Squashfs är ett skrivskyddat komprimerat filsystem, så när bilden är klar, vi kommer inte att kunna ändra informationen inom.

Således inte bara vi kommer att spara stora mängder utrymme, men också den märkliga effekten som läsningen av filerna blir snabbare, genom att behöva läsa mindre filer, eftersom dekomprimering av en fil nuförtiden är ett minimalt arbete för de flesta processorer.

Om vi ​​lämnar inledningarna måste vi använda kommandot mksquashfs för att skapa squashfs-bilden, vars syntax är enkel:

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

Och här är ett praktiskt exempel:

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

Tja, den valda algoritmen är xz eftersom den är den som högre kompressionsförhållande erbjudanden (av de tillgängliga), medan den valda blockstorleken är maximalt. Vad möjliggör bättre komprimeringsresultat (som standard är de 64 kB).

Nu borde vi kunna montera den med en enkel;

mount fotos_2009-2013.sqsfs fotos_2009-2013/

Efter att ha kontrollerat att allt är korrekt kan vi ta bort originalfilerna eller lämna filen som en säkerhetskopia.

Om vi ​​vill att den ska monteras när operativsystemet startar måste vi lägga till en rad av den här stilen till / etc / fstab:

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

Om du anger fel data i / etc / fstab-filen kommer systemet att sluta starta. För att säkerställa att allt fungerar korrekt kan vi använda kommandot mount -a

Vad händer nu när vi vill lägga till eller ta bort filer eller helt enkelt extrahera dessa ögonblicksbilder? Vi har kommandot kommandot unsquashfs.

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

Som standard använder den "squashfs-root" som extraktionskatalog. kan ändras med -d-alternativet

Bortsett från detta exempel används squashfs också i:
  • Live-cds
  • Inbyggda system
  • servrar
  • I allmänhet alla skrivskyddade system

3- «Nödbyte»

Tänk dig att du oavsett anledning (viloläge, massiva sammanställningar ...) behöver ett extra byte. Det är här loopfilen spelar in, det första steget är att skapa en tom fil av en viss storlek, med en viss blockstorlek, vi gör det med kommandot dd:

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

dd i fel händer är värre än en apa med hagelgevär. Tänk innan du trycker på Enter

I det här fallet är blocket en MiB och filstorleken är 512MiB. Det behöver inte vara så.

Vi skapar och aktiverar bytet med det här kommandot

mkswap loop && swapon loop

Tänk på att prestanda för en loopfil alltid är något lägre än för en riktig fysisk.

4-gör vad du vill

Detta är bara några av de mest karakteristiska exemplen, gärna experimentera med chrots, krypteringssystem, kapslade loopar ... Dina möjligheter är obegränsade. Men var försiktig med kommandona du kör, tänka noga innan du trycker på Enter.

Länkar av intresse


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

11 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   illukki sade

    Bra inlägg che !! Jag har några gigantiska säkerhetskopior där ute och det har aldrig tänkt mig att komprimera dem. Jag ska använda det här och förresten krypterar jag min externa för att fylla i den och sedan kom jag ihåg att jag skulle kryptera den 🙁

  2.   sieg84 sade

    Intressant att prova squashfs

  3.   Manuel R. sade

    Bra handledning, jag hade läst hur man skapar img-filer med dd och monterar dem, men visste inte användningen av Squashfs och dess komprimering; Även om det inte tillåter ändring av innehållet, kan det vara användbart i situationer som de du kommenterar. Tack för att du delar, hälsningar.

  4.   demo sade

    Mycket bra att veta, tack för tipset.

  5.   Joaquin sade

    Du lär dig alltid något nytt. Excellent!

  6.   inte från Brooklyn sade

    Det är roligt, jag visste squashfs och vad de är till för, men det hade aldrig dykt upp för mig att komprimera mina bilder. Tack för tipset.

  7.   HO2Gi sade

    Imponerande, låt oss prova för att se vad som händer, mycket bra tips

  8.   Robert sade

    utmärkt tuto !!! =) ... Mycket bra tips !!!

  9.   hemskt sade

    Hej roader. Mycket intressant artikel, tack för att du delar.

  10.   Essau sade

    I Gentoo måste du aktivera SquashFS-stöd i kärnan innan du kompilerar det, jag testar det för att se hur det fungerar. Tack.

    1.    Essau sade

      testat på Gentoo och sammanställer kärnan för det och utmärkt.
      Korrigera bara ett litet skrivfel, roader.

      I exemplet:

      mksquashfs bilder-2009 foton-2010 foton-2011 foton-2012 foton-2013 foton_2009-2013.sqsfs -comp xz -bs 1M

      spara s i "-bs" (som bestämmer blockets storlek), det ska se ut så här:

      mksquashfs bilder-2009 foton-2010 foton-2011 foton-2012 foton-2013 foton_2009-2013.sqsfs -comp xz -b 1M