Pergunta

(Squashfs é um sistema de arquivos compactado - http://en.wikipedia.org/wiki/squashfs)

Estou procurando uma maneira de ler um sistema de arquivos Squashfs a partir de um programa. Até agora, conheço os drivers no kernel, mas tenho certeza de que uma biblioteca do Usuários Space deve existir em algum lugar. Qualquer idioma seria bom, mas C é preferido.

Apenas montar o sistema de arquivos e usá -lo dessa maneira é tecnicamente possível, mas prefiro evitar essa rota, porque o aplicativo que estou procurando envolveria trabalhar com pelo menos algumas dezenas de arquivos a qualquer momento.

Foi útil?

Solução

Acabei de baixar o código Tarball do squashfs.sourceforce.net e não há código de kernel lá. Somente o código da terra do usuário em C para mksquashfs e unsquashfs.

Você provavelmente poderia extrair código do UNTQUASHFS.

Outras dicas

Existe uma ferramenta chamada unsquashfs que extrai a imagem de squashfs semelhante a tar. Deve ser empacotado com mksquashfs

Eu tenho algum código de rubi que fará isso: https://github.com/vasi/squash.rb

É muito difícil, mas funciona bem. Talvez eu o transforme em uma biblioteca C melhor projetada algum dia.

mksquashfs e unsquashfs são embalados como "squashfs-tools" no meu sistema de chapéu vermelho:

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

O Squashfs é um sistema de arquivos somente leitura altamente compactado para o Linux. Este pacote contém os utilitários para manipular o Squashfs FileSystems.

/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

Esteja avisado de que esmagar e invasão são dolorosamente lentos. Leva vários minutos para um script que escrevi para inútil, modificar e re-calar um 87m stage2.img Arquivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top