Frage
(SquashFS ist ein komprimiertes Dateisystem - http://en.wikipedia.org/wiki/SquashFS)
Ich bin auf der Suche nach einer Möglichkeit, ein SquashFS Dateisystem von einem Programm zu lesen. Bisher hab ich wissen über die in-Kernel-Treiber für sie, aber ich bin sicher, dass ein User-Space-Bibliothek für sie muss irgendwo existieren. Jede Sprache wäre in Ordnung, aber C ist bevorzugt.
Nur das Dateisystem Montage und es auf diese Weise unter Verwendung von technisch möglich, aber ich möchte lieber diesen Weg vermeiden, da die Anwendung bei ich bin auf der Suche mit mindestens ein paar Dutzend Archive zu einem bestimmten Zeitpunkt beinhalten würde arbeiten.
Lösung
Ich habe gerade heruntergeladen den Code Tarball von squashfs.sourceforce.net und es gibt keinen Code Kernel drin. Nur Userland-Code in C für mksquashfs
und unsquashfs
.
Sie wahrscheinlich Code aus unsquashfs extrahieren können.
Andere Tipps
Es gibt ein Tool namens unsquashfs
, die das squashfs Bild extrahiert ähnlich tar
. Es sollte mit mksquashfs
gebündelt werden
Ich habe einige Ruby-Code habe, dass ich es tun: https://github.com/vasi /squash.rb
Es ist ziemlich rau, aber es funktioniert gut. Ich werde es sich in eine besser gestaltete C-Bibliothek eines Tages vielleicht.
mksquashfs
und unsquashfs
verpackt als "squashfs-Tools" auf meinem Red Hat-System:
Name : squashfs-tools Group : System Environment/Base Size : 160923 URL : http://squashfs.sf.net Summary : squashfs utilities Description :Squashfs ist ein stark komprimiertes Read-Only für Linux-Dateisystem. Dieses Paket enthält die Dienstprogramme für squashfs Dateisysteme zu manipulieren.
/sbin/mksquashfs /usr/sbin/unsquashfs /usr/share/doc/squashfs-tools-3.0 /usr/share/doc/squashfs-tools-3.0/ACKNOWLEDGEMENTS /usr/share/doc/squashfs-tools-3.0/CHANGES /usr/share/doc/squashfs-tools-3.0/COPYING /usr/share/doc/squashfs-tools-3.0/PERFORMANCE.README /usr/share/doc/squashfs-tools-3.0/README
Seien Sie gewarnt, dass Quetschen und unsquashing sind quälend langsam. Es dauert einige Minuten für ein Skript, das ich zu unsquash schrieb, ändern und wieder zerquetschen eine 87M stage2.img
Datei.