- SquashFS
-
SquashFS (.sfs) ist ein von Phillip Lougher entwickeltes freies (GPL) komprimiertes Dateisystem für GNU/Linux-Betriebssysteme, welches nur lesbar ist. SquashFS komprimiert Dateien, Inodes und Verzeichnisse, und unterstützt zur besseren Komprimierung Blockgrößen bis zu 1 MiB. Der Zugriff darauf erfolgt über ein Kernel-Modul, als Virtuelles Dateisystem.
SquashFS ist als universelles, nur lesbares Dateisystem gedacht, z. B. als Alternative zu komprimierten Verzeichnisstrukturen (z. B. .tar.gz-Archiven), oder in Anwendungen, in denen nur eine geringe Speicherkapazität vorhanden ist (z. B. in eingebetteten Systemen).
Zur Datenkompression wird standardmäßig Deflate (zlib) verwendet, wobei auch Unterstützung für den Lempel-Ziv-Markow-Algorithmus (LZMA) vorhanden ist[1], der wesentlich bessere Komprimierungsverhältnisse erlaubt.
- Squashfs speichert die komplette Benutzer- und Gruppenkennung (UID/GID) und die Zeit der Dateierstellung.
- Theoretisch werden Dateien bis zu 16 Exabyte (264 Bytes) unterstützt.
- Inode- und Verzeichnisdaten sind stark komprimiert. Jeder Inode hat dabei durchschnittlich eine Länge von 8 Byte. Die exakte Länge variiert mit dem Dateityp, z. B. Verzeichnis, symbolische Verknüpfung etc.
- SquashFS kann mit Blockgrößen bis zu 1 MiB benutzt werden (Standardwert 128KiB).[2] Je größer die Blockgröße gewählt wird, desto höher sind die Kompressionsraten.
- Dateien, die mehrfach vorhanden sind, werden nur einmal gespeichert.
- Es werden Big- und Little-Endian-Architekturen unterstützt.
Zu SquashFS gibt es einen Satz Werkzeuge, die squashfs-tools, die unter anderen mksquashfs (zur Erzeugung eines Dateisystems) und unsquashfs enthalten.
SquashFS wird häufig zusammen mit UnionFS verwendet, um temporär auch Schreibzugriff auf Dateien zu erhalten.
openSUSE verwendet ab der Beta-Version 1 von openSUSE 10.3 squashfs als Dateisystem für das Installationssystem.
Inhaltsverzeichnis
Geschichte
Am 23. Oktober 2002 wurde die erste Version (1.0) veröffentlicht. Mit Version 3.3 wurde die effiziente Behandlung von Sparse-Dateien hinzugefügt.[3] Nachdem sich die SquashFS-Entwickler bereits mehrfach um die Aufnahme des Dateisystems in den Linux-Kernel bemüht hatten, hielt Version 4 des SquashFS-Codes schließlich in die am 23. März 2009 veröffentlichte Version 2.6.29 des Kernels Einzug, nachdem sich Linus Torvalds aufgrund der verbreiteten Nutzung dafür aussprach.[4] Aktuell ist Version 4.0 vom 5. April 2009 und in Version 2.6.29 des Linux-Kernels integriert.
Siehe auch
- CramFS, ein älteres, einfacheres vergleichbares Dateisystem
Einzelnachweise
- ↑ http://www.squashfs-lzma.org/
- ↑ Größe
- ↑ http://article.gmane.org/gmane.linux.file-systems/19352
- ↑ http://www.heise.de/open/artikel/Kernel-Log-Was-2-6-29-bringt-4-Dateisysteme-Storage-Btrfs-SquashFS-Ext4-ohne-Journal-und-neue-Storage-Treiber-224532.html Heise-Artikel: Kernel-Log – Was 2.6.29 bringt: Btrfs, SquashFS, Ext4 ohne Journal und neue Storage-Treiber
Weblinks
Kategorien:- Freies Dateisystem
- Linux-Software
Wikimedia Foundation.