Opplæring: Loop File Systems

Hva er et loop-filsystem?

Gnu / Linux (og de aller fleste unix-systemer) har en mekanisme som gjør det mulig å montere en fil (tidligere formatert) som om det var en harddisk, vanligvis uten en partisjonstabell. Dette skitne diagrammet (laget av meg) forklarer hvordan denne mekanismen fungerer.

Flytskjema som forklarer (omtrent) hvordan sløyfefiler fungerer i GNU / linux.

** Representerer ikke fullstendig faktisk drift.

Bruk av loop-filer

1 - Mount.iso-filer

ISO-filene, standard på CDer og DVDer, er ikke noe mer enn en loop-fil hvis filsystem kan være ISO 9960 (mer vanlig på CD-er) eller UDF (vanligst på DVD-er). For å montere den, vil vi bruke monteringskommandoen.

mkdir iso # opprette katalogen chmod -R 666 iso # gi alle brukere lesetillatelse mount image. iso iso / # mount iso image (krever root)

Begrensningen du har er at begge filsystemene av åpenbare grunner er skrivebeskyttet.

2- skrivebeskyttet squash

Anta at vi har en mappe med bilder og / eller videoer som er organisert i henhold til året den ble tatt. Det er åpenbart ganske usannsynlig at vi ønsker å endre dataene som er inneholdt i mapper fra tidligere år. Det er der Squashfs kommer inn. Squashfs er et skrivebeskyttet komprimert filsystem, så når bildet er laget, vi vil ikke kunne endre dataene innen.

Dermed ikke bare vi vil spare store mengder plass, men også den nysgjerrige effekten som lesingen av filene vil bli raskere, ved å måtte lese mindre filer, siden i dag er dekomprimering av en fil en minimal innsats for de fleste CPUer.

Når vi forlater innledningene, må vi bruke kommandoen mksquashfs for å lage squashfs-bildet, hvis syntaks er enkelt:

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

Vel, den valgte algoritmen er xz siden den er den som høyere kompresjonsforhold tilbud (av de tilgjengelige), mens den valgte blokkstørrelsen er maksimum. hva gir bedre kompresjonsresultater (som standard er de 64 KB).

Nå skal vi kunne montere den med en enkel;

mount fotos_2009-2013.sqsfs fotos_2009-2013/

Etter å ha sjekket at alt er riktig, kan vi slette de originale filene eller la filen være en sikkerhetskopi.

Hvis vi vil at den skal monteres når operativsystemet starter, må vi legge til en linje av denne stilen til / etc / fstab:

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

Hvis du skriver inn feil data i / etc / fstab-filen, vil systemet slutte å starte. For å sikre at alt fungerer riktig, kan vi bruke kommandoen monter -a

Hva skjer nå når vi vil legge til eller slette filer, eller bare trekke ut disse øyeblikksbildene? Vel, vi har kommandoen kommandoen unsquashfs.

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

Som standard vil den bruke "squashfs-root" som utvinningskatalog. kan endres med -d alternativ

Bortsett fra dette eksemplet, brukes squashfs også i:

  • Live-CDer
  • Innebygde systemer
  • servere
  • Generelt ethvert skrivebeskyttet system

3- «Nødbytte»

Tenk deg at uansett grunn (dvalemodus, massive samlinger ...) trenger du en ekstra bytte. Det er her loop-filen kommer til spill, det første trinnet er å lage en tom fil av en viss størrelse, med en viss blokkstørrelse, vi gjør dette med kommandoen dd:

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

dd i feil hender er verre enn en ape med hagle. Tenk før du trykker på enter

I dette tilfellet er blokken en MiB og filstørrelsen er 512MiB. Det trenger ikke være slik.

Vi oppretter og aktiverer byttet med denne kommandoen

mkswap loop && swapon loop

Husk at ytelsen til en loopfil alltid er noe lavere enn den for en virkelig fysisk.

4-gjør det du vil

Dette er bare noen av de mest karakteristiske eksemplene, gjerne eksperimentere med chrots, krypteringssystemer, nestede sløyfer ... Dine muligheter er ubegrensede. Men vær forsiktig med kommandoene du kjører, tenk nøye før du trykker på enter.

Koblinger av interesse


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   illukki sa

    Bra innlegg che !! Jeg har noen gigantiske sikkerhetskopier der ute, og det har aldri falt meg inn å komprimere dem. Jeg skal bruke dette og for øvrig krypterer jeg den eksterne for å fylle den ut, og så husket jeg at jeg skulle kryptere den 🙁

  2.   sieg84 sa

    Interessant å prøve squashfs-tingen

  3.   Manuel R. sa

    God opplæring, jeg hadde lest hvordan jeg opprettet img-filer med dd og montert dem, men kjente ikke bruken av Squashfs og komprimering; Selv om det ikke tillater å endre innholdet, kan bruken være nyttig i situasjoner som de du kommenterer. Takk for deling, hilsen.

  4.   demo sa

    Veldig bra å vite, takk for tipset.

  5.   Joaquin sa

    Du lærer alltid noe nytt. Utmerket!

  6.   ikke fra Brooklyn sa

    Det er morsomt, jeg kjente squashfs og hva de er til, men det hadde aldri falt meg inn å komprimere bildene mine. Takk for tipset.

  7.   HO2Gi sa

    Imponerende, la oss prøve det for å se hva som skjer, veldig bra tips

  8.   Robert sa

    utmerket tuto !!! =) ... Veldig bra tips !!!

  9.   Forferdelig sa

    Hei roader. Veldig interessant artikkel, takk for at du delte.

  10.   Essau sa

    I Gentoo må du aktivere SquashFS-støtte i kjernen før du kompilerer den, jeg skal teste den for å se hvordan den fungerer. Takk skal du ha.

    1.    Essau sa

      testet på Gentoo og kompilerte kjernen for det og utmerket.
      Bare rett en liten skrivefeil, roader.

      I eksemplet:

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

      spare s i "-bs" (som bestemmer størrelsen på blokken), det skal se slik ut:

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