Tutorial: Loop File Systems

Hvad er et loop-filsystem?

Gnu / Linux (og langt størstedelen af ​​unix-systemer) har en mekanisme, der gør det muligt at montere en fil (tidligere formateret) som om det var en harddisk, normalt uden en partitionstabel. Dette skøre diagram (lavet af mig) forklarer, hvordan denne mekanisme fungerer.

Flowchart, der forklarer (nogenlunde), hvordan loop-filer fungerer i GNU / linux.

** Repræsenterer ikke fuldt ud den faktiske drift.

Anvendelse af loop-filer

1- Mount.iso-filer

.Iso-filerne, standarden par excellence på cd'er og dvd'er, er intet andet end en loopfil, hvis filsystem kan være ISO 9960 (mere almindelig på cd'er) eller UDF (mest almindelig på dvd'er). For at montere det bruger vi mount-kommandoen.

mkdir iso # opret kataloget chmod -R 666 iso # give alle brugere læsningstilladelse mount image. iso iso / # mount iso-billedet (kræver root)

Den begrænsning, du har, er, at begge filsystemer af åbenlyse grunde er skrivebeskyttede.

2- skrivebeskyttet squash

Antag, at vi har en mappe med billeder og / eller videoer, der er organiseret efter det år, det blev taget. Det er åbenbart, at det er ret usandsynligt, at vi vil ændre dataene i mapper fra tidligere år. Det er her Squashfs kommer ind. Squashfs er et skrivebeskyttet komprimeret filsystem, så når billedet er lavet, vi kan ikke ændre dataene indeni.

Således ikke kun vi sparer enorme mængder plads, men der vil også være den nysgerrige effekt, at læsningen af ​​filerne vil være hurtigere, ved at skulle læse mindre filer, da dekomprimering af en fil i dag er en minimal indsats for de fleste CPU'er.

Hvis vi forlader indledningen, skal vi bruge kommandoen mksquashfs til at oprette squashfs-billedet, hvis syntaks er enkel:

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

Og her er et praktisk eksempel:

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

Nå, den valgte algoritme er xz, da det er den, der højere kompressionsforhold tilbud (af de tilgængelige), mens den valgte blokstørrelse er det maksimale. hvad giver bedre komprimeringsresultater (som standard er de 64 KB).

Nu skal vi være i stand til at montere det med et simpelt;

mount fotos_2009-2013.sqsfs fotos_2009-2013/

Efter at have kontrolleret, at alt er korrekt, kan vi slette de originale filer eller lade filen være en sikkerhedskopi.

Hvis vi ønsker, at det skal monteres, når operativsystemet starter, skal vi tilføje en linje af denne stil til / etc / fstab:

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

Indtastning af forkerte data i / etc / fstab-filen får systemet til at stoppe opstart. For at sikre, at alt fungerer korrekt, kan vi bruge kommandoen mount -a

Hvad sker der nu, når vi vil tilføje eller slette filer eller blot udpakke disse snapshots? Nå, vi har kommandoen kommandoen unsquashfs.

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

Som standard bruger den "squashfs-root" som ekstraktionsmappe. kan ændres med -d option

Bortset fra dette eksempel bruges squashfs også i:

  • Live-cd'er
  • Indlejrede systemer
  • servere
  • Generelt ethvert skrivebeskyttet system

3- «Nødbytte»

Forestil dig, at du uanset årsag (dvale, massive samlinger ...) har brug for en ekstra swap. Det er her sløjfefilen kommer i spil, det første trin er at lave en tom fil af en bestemt størrelse med en bestemt blokstørrelse, vi gør dette med kommandoen dd:

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

dd i de forkerte hænder er værre end en abe med et haglgevær. Tænk inden du trykker på enter

I dette tilfælde er blokken en MiB, og filstørrelsen er 512MiB. Det behøver ikke at være sådan.

Vi opretter og aktiverer swap med denne kommando

mkswap loop && swapon loop

Husk, at ydeevnen for en loopfil altid er noget lavere end for en reel fysisk.

4-gør hvad du vil

Dette er blot nogle af de mest karakteristiske eksempler. Du er velkommen til at eksperimentere med kronroder, krypteringssystemer, indlejrede sløjfer ... Dine muligheder er ubegrænsede. Men vær forsigtig med de kommandoer, du kører, tænk grundigt over, inden du trykker på enter.

Links af interesse


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   illukki sagde han

    Godt indlæg che !! Jeg har nogle gigantiske sikkerhedskopier derude, og det har aldrig været mig at komprimere dem. Jeg skal bruge dette, og forresten krypterer jeg min eksterne til at udfylde det, og så huskede jeg, at jeg skulle kryptere det 🙁

  2.   sieg84 sagde han

    Interessant at prøve squashfs ting

  3.   Manuel R. sagde han

    God tutorial, jeg havde læst, hvordan man opretter img-filer med dd og monterer dem, men vidste ikke brugen af ​​Squashfs og dens komprimering; Selvom det ikke tillader ændring af dets indhold, kan dets anvendelse være nyttigt i situationer som dem, du kommenterer. Tak for deling, hilsner.

  4.   demo sagde han

    Meget godt at vide, tak for tipet.

  5.   Joaquin sagde han

    Du lærer altid noget nyt. Fremragende!

  6.   ikkefrombrooklyn sagde han

    Det er sjovt, jeg vidste squashfs og hvad de er til, men det havde aldrig været mig at komprimere mine billeder. Tak for tipet.

  7.   HO2Gi sagde han

    Imponerende, lad os prøve det for at se, hvad der sker, meget godt tip

  8.   Robert sagde han

    fremragende tuto !!! =) ... Meget godt tip !!!

  9.   forfærdelig sagde han

    Hej roader. Meget interessant artikel, tak for deling.

  10.   Essau sagde han

    I Gentoo skal du aktivere SquashFS-support i kernen, før du kompilerer den, jeg tester den for at se, hvordan den fungerer. Tak skal du have.

    1.    Essau sagde han

      testet på Gentoo kompilering af kernen for det og fremragende.
      Ret bare en lille skrivefejl, roader.

      I eksemplet:

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

      spar s i "-bs" (som bestemmer størrelsen på blokken), det skal se sådan ud:

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