Was ist das SFS-Dateiformat?
Eine .sfs-Datei ist ein schreibgeschütztes, komprimiertes Squashfs-Dateisystem-Image, das am häufigsten als Live-Root-Dateisystem in Linux-Live-CD- und USB-Distributionen zu finden ist. Der Linux-Kernel kann .sfs-Images direkt mit mount -t squashfs einbinden, und der Befehl unsquashfs (aus dem Paket squashfs-tools) extrahiert alle Dateien ohne vorheriges Mounten.
Squashfs packt einen gesamten Verzeichnisbaum in ein einziges komprimiertes Binär-Image. Ein 96-Byte-Superblock am Anfang identifiziert das Format - Magic Bytes hsqs (Little-Endian) oder sqsh (Big-Endian) - und zeichnet den Komprimierungsalgorithmus, die Blockgröße sowie die Tabellen-Offsets für Inodes, Verzeichnisse und Fragmentdaten auf. Dateien werden in unabhängig komprimierten Blöcken gespeichert, was einen wahlfreien Zugriff ermöglicht, ohne das gesamte Image dekomprimieren zu müssen.
Mehrere Komprimierungsalgorithmen werden unterstützt und zum Zeitpunkt der Erstellung ausgewählt: gzip (ursprünglich), lzma, lzo, xz, lz4 und zstd. Modernes mksquashfs verwendet standardmäßig xz für das beste Verhältnis; eingebettete Firmware-Images nutzen oft lzo für eine schnellere Dekomprimierung auf leistungsschwacher Hardware.
Linux-Live-ISOs (Ubuntu, Fedora, Kali Linux) betten das Root-Dateisystem als filesystem.squashfs oder filesystem.sfs in einem .iso-Container ein. Android verwendet Squashfs für /system-Partitionen. OpenWrt-Router und IP-Kameras speichern Firmware in Squashfs. Die Erweiterung .squashfs ist für dasselbe Format ebenfalls weit verbreitet.
- Squashfs wurde 2002 von Phillip Lougher erstellt und in Version 2.6.29 (März 2009) in den Linux-Kernel integriert.
- EROFS (integriert in Linux 5.4, 2019) ist der moderne Nachfolger für Android und eingebettete Implementierungen.
mksquashfserstellt Images;unsquashfsextrahiert sie; beide befinden sich im Paketsquashfs-tools.
Sicherheit
RISIKO: LOWSquashfs-Images sind Dateisystem-Container - es gelten dieselben Sicherheitserwägungen wie beim Einbinden eines beliebigen Disk-Images: Die extrahierten Dateien könnten bösartige ausführbare Dateien oder Symlink-Angriffe enthalten. Verwenden Sie beim Einbinden mit „mount -o loop“ einen schreibgeschützten Mount (bei Squashfs bereits Standard). Extrahieren Sie mit unsquashfs und prüfen Sie den Inhalt, bevor Sie Binärdateien ausführen. Firmware-Images aus inoffiziellen Quellen könnten Hintertüren enthalten.
Formatdetails
kurz gefasst- Puppy Linux SFS-Modul - Puppy Linux verwendet .sfs speziell für modulare Zusatzpakete, die über das Basissystem gelegt werden.
- StarCraft/Blizzard-Archiv (inoffiziell) - Einige Blizzard-Spieldatendateien wurden historisch mit .sfs benannt, sind aber ein völlig anderes proprietäres Format.
Programme zum Öffnen von SFS-Dateien
Technische Details
technische Spezifikation| Dateisignatur | 68 73 71 73 („hsqs“, Little-Endian) bei Offset 0; Big-Endian-Variante: 73 71 73 68 („sqsh“) |
| Superblock-Größe | 96 Bytes - fest; enthält Magic, Version, Inode-Anzahl, Blockgröße, Komprimierungstyp und Tabellen-Offsets |
| Dateisystemtyp | Schreibgeschützt komprimiert - keine Schreibunterstützung nach der Erstellung; für Live-Systeme als Overlay neu einbinden |
| Komprimierungsoptionen | gzip, lzma, lzo, xz/lzma2, lz4, zstd - wählbar bei der Erstellung mit mksquashfs |
| Standardkomprimierung | xz in modernem mksquashfs; gzip in älteren Versionen; lzo verbreitet in eingebetteter Firmware |
| Blockgröße | 4 KB - 1 MB (konfigurierbar bei Erstellung; Standard 128 KB) |
| On-Disk-Version | Squashfs 4.0 (2009); Versionsfeld bei Superblock-Byte-Offset 28 |
| Integrität | Keine Prüfsumme pro Datei; CRC auf Inode- und Verzeichnis-Metadatenblöcken in v4.0 |
| Typische Image-Größe | 4-64 MB (eingebettete Firmware); 400-900 MB (Linux-Live-ISO Root-Dateisystem) |
| Maximale Dateien | ~4 Milliarden (32-Bit Inode-Nummernlimit) |
| Byte-Reihenfolge | Little-Endian (Host-nativ); Big-Endian-Variante existiert für ältere eingebettete Systeme |
| Erstellungswerkzeug | mksquashfs (Paket squashfs-tools) |
| Extraktionswerkzeug | unsquashfs (squashfs-tools); 7-Zip unter Windows |
| Häufige Anwendungsfälle | Linux-Live-ISO Root-Dateisystem, Android /system-Partitionen, OpenWrt-Router und IP-Kamera-Firmware |
| Veröffentlicht | 2002 (Squashfs 1.0 by Phillip Lougher) |
| Neueste Version | Squashfs 4.0 (2009, merged into Linux kernel 2.6.29) |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | docs.kernel.org |
SFS-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu SFS-Dateien.