Domanda

(SquashFS è un filesystem compresso - http://en.wikipedia.org/wiki/SquashFS)

Sto cercando un modo per leggere un filesystem SquashFS da un programma.Finora, ho conoscere il driver nel kernel, ma sono sicuro che un userspace libreria deve esistere da qualche parte.Qualsiasi linguaggio va bene, ma C è preferito.

Appena montato il filesystem e utilizzando in questo modo è tecnicamente possibile, ma preferisco evitare di rotta, perché l'applicazione che sto guardando avrebbero lavorato con almeno una dozzina di archivi in qualsiasi momento.

È stato utile?

Soluzione

Ho appena scaricato il codice tarball da squashfs.sourceforce.net e non c'è il codice del kernel in là.Solo userland di codice in C per mksquashfs e unsquashfs.

Probabilmente si potrebbe estrarre il codice da unsquashfs.

Altri suggerimenti

C'è uno strumento chiamato unsquashfs che estrae l'immagine squashfs simile a tar.Dovrebbe essere fornito in bundle con mksquashfs

Io ho un codice ruby che fanno: https://github.com/vasi/squash.rb

E ' rozzo ma funziona benissimo.Forse mi trasformerò in un design libreria C, un giorno.

mksquashfs e unsquashfs sono confezionati come "squashfs-tools" sul mio sistema Red Hat:

Name        : squashfs-tools
Group       : System Environment/Base
Size        : 160923
URL         : http://squashfs.sf.net
Summary     : squashfs utilities
Description :

Squashfs è altamente compresso file system in sola lettura per Linux.Questo pacchetto contiene i programmi di utilità per la manipolazione di filesystem squashfs.

/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

Essere avvertiti che, schiacciamento e unsquashing sono dolorosamente lento.Ci vogliono diversi minuti per uno script che ho scritto per unsquash, modificare e ri-squash un 87M stage2.img file.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top