Tutorial: Loop-Dateisysteme

Was ist ein Loop-Dateisystem?

Gnu / Linux (und die überwiegende Mehrheit der Unix-Systeme) verfügt über einen Mechanismus, mit dem eine Datei (zuvor formatiert) wie eine Festplatte bereitgestellt werden kann, normalerweise ohne Partitionstabelle. Dieses beschissene Diagramm (von mir gemacht) erklärt, wie dieser Mechanismus funktioniert.

Flussdiagramm, das (grob) die Funktionsweise von Schleifendateien in GNU / Linux erklärt.

** Stellt den tatsächlichen Betrieb nicht vollständig dar.

Verwendung von Schleifendateien

1- Mount.iso-Dateien

Die ISO-Dateien, der Standard par excellence auf CDs und DVDs, sind nichts anderes als eine Loop-Datei, deren Dateisystem sein kann ISO 9960 (häufiger auf CDs) oder UDF (am häufigsten auf DVDs). Um es zu mounten, verwenden wir den Befehl mount.

mkdir iso # erstelle das Verzeichnis chmod -R 666 iso # erteile allen Benutzern die Leseberechtigung mount image.iso iso / # mounte das iso image (erfordert root)

Die Einschränkung besteht darin, dass beide Dateisysteme aus offensichtlichen Gründen schreibgeschützt sind.

2- schreibgeschützte Squashfs

Angenommen, wir haben einen Ordner mit Bildern und / oder Videos, der nach dem Jahr der Aufnahme geordnet ist. Offensichtlich ist es ziemlich unwahrscheinlich, dass wir die in Ordnern aus früheren Jahren enthaltenen Daten ändern möchten. Hier kommt Squashfs ins Spiel. Squashfs ist ein schreibgeschütztes komprimiertes Dateisystem. Sobald das Image erstellt wurde, Wir können die darin enthaltenen Daten nicht ändern.

Also nicht nur Wir werden viel Platz sparen, aber es wird auch den merkwürdigen Effekt geben, dass Das Lesen der Dateien wird schneller sein, da kleinere Dateien gelesen werden müssen, ist das Dekomprimieren einer Datei heutzutage für die meisten CPUs ein minimaler Aufwand.

Um das Präambelbild zu erstellen, müssen wir den Befehl mksquashfs verwenden, dessen Syntax einfach ist:

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

Und hier ist ein praktisches Beispiel:

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

Nun, der gewählte Algorithmus ist xz, da es derjenige ist, der höheres Kompressionsverhältnis Angebote (von den verfügbaren), während die gewählte Blockgröße das Maximum ist. Was ermöglicht bessere Komprimierungsergebnisse (Standardmäßig sind es 64 KB).

Jetzt sollten wir in der Lage sein, es mit einem einfachen zu montieren;

mount fotos_2009-2013.sqsfs fotos_2009-2013/

Nachdem wir überprüft haben, ob alles korrekt ist, können wir die Originaldateien löschen oder die Datei als Backup belassen.

Wenn wir möchten, dass es beim Start des Betriebssystems bereitgestellt wird, müssen wir der Zeile / etc / fstab eine Zeile dieses Stils hinzufügen:

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

Wenn Sie falsche Daten in die Datei / etc / fstab eingeben, wird das System nicht mehr gestartet. Um sicherzustellen, dass alles richtig funktioniert, können wir den Befehl verwenden Berg -a

Was passiert nun, wenn wir Dateien hinzufügen oder löschen oder einfach diese Schnappschüsse extrahieren möchten? Nun, wir haben den Befehl den Befehl unsquashfs.

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

Standardmäßig wird "squashfs-root" als Extraktionsverzeichnis verwendet. kann mit der Option -d geändert werden

Abgesehen von diesem Beispiel wird squashfs auch verwendet in:

  • Live-CDs
  • Eingebettete Systeme
  • Servidores
  • Im Allgemeinen jedes schreibgeschützte System

3- «Notfalltausch»

Stellen Sie sich vor, Sie benötigen aus irgendeinem Grund (Ruhezustand, umfangreiche Zusammenstellungen ...) einen zusätzlichen Tausch. Hier kommt die Loop-Datei ins Spiel. Der erste Schritt besteht darin, eine leere Datei mit einer bestimmten Größe und einer bestimmten Blockgröße zu erstellen. Dies geschieht mit dem Befehl dd:

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

dd in den falschen Händen ist schlimmer als ein Affe mit einer Schrotflinte. Denken Sie nach, bevor Sie die Eingabetaste drücken

In diesem Fall beträgt der Block 512 MiB und die Dateigröße XNUMX MB. Es muss nicht so sein.

Mit diesem Befehl erstellen und aktivieren wir den Swap

mkswap loop && swapon loop

Beachten Sie, dass die Leistung einer Loop-Datei immer etwas geringer ist als die einer echten physischen Datei.

4-mach was du willst

Dies sind nur einige der charakteristischsten Beispiele. Sie können gerne mit Chroots, Verschlüsselungssystemen, verschachtelten Schleifen experimentieren. Ihre Möglichkeiten sind grenzenlos. Aber seien Sie vorsichtig mit den Befehlen, die Sie ausführen. Überlegen Sie sorgfältig, bevor Sie die Eingabetaste drücken.

Links


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   illukki sagte

    Guter Beitrag che !! Ich habe einige gigantische Backups da draußen und es ist mir nie in den Sinn gekommen, sie zu komprimieren. Ich werde dies verwenden und übrigens meine externe verschlüsseln, um es auszufüllen, und dann erinnerte ich mich, dass ich es verschlüsseln würde 🙁

  2.   sieg84 sagte

    Interessant, das Squashfs-Ding auszuprobieren

  3.   Manuel R. sagte

    Gutes Tutorial, ich hatte gelesen, wie man img-Dateien mit dd erstellt und einbindet, kannte aber die Verwendung von Squashfs und deren Komprimierung nicht. Obwohl es nicht erlaubt, seinen Inhalt zu ändern, kann seine Verwendung in Situationen wie den von Ihnen kommentierten nützlich sein. Danke fürs Teilen, Grüße.

  4.   Demo sagte

    Sehr gut zu wissen, danke für den Tipp.

  5.   Joaquin sagte

    Sie lernen immer etwas Neues. Ausgezeichnet!

  6.   nichtausbrooklyn sagte

    Es ist lustig, ich kannte Squashfs und wofür sie sind, aber es war mir nie in den Sinn gekommen, meine Bilder zu komprimieren. Danke für den Tipp.

  7.   HO2Gi sagte

    Beeindruckend, lass es uns versuchen, um zu sehen, was los ist, sehr guter Tipp

  8.   Berndt sagte

    ausgezeichnetes Tuto !!! =)… Sehr guter Tipp !!!

  9.   phorisch sagte

    Hallo Roader. Sehr interessanter Artikel, danke fürs Teilen.

  10.   Essau sagte

    In Gentoo müssen Sie die SquashFS-Unterstützung im Kernel aktivieren, bevor Sie sie kompilieren können. Ich werde sie testen, um zu sehen, wie sie funktioniert. Vielen Dank.

    1.    Essau sagte

      auf Gentoo getestet, den Kernel dafür kompiliert und ausgezeichnet.
      Korrigieren Sie einfach einen kleinen Tippfehler, Roader.

      Im Beispiel:

      mksquashfs Fotos-2009 Fotos-2010 Fotos-2011 Fotos-2012 Fotos-2013 Fotos_2009-2013.sqsfs -comp xz -bs 1M

      Ersparen Sie das s in "-bs" (das die Blockgröße bestimmt), es sollte folgendermaßen aussehen:

      mksquashfs Fotos-2009 Fotos-2010 Fotos-2011 Fotos-2012 Fotos-2013 Fotos_2009-2013.sqsfs -comp xz -b 1M