(SquashFS是一个压缩文件系统 – http://en.wikipedia.org/wiki/SquashFS )
我正在寻找一种方法来从程序中读取一个SquashFS文件系统。 到目前为止,我已经知道它的内核驱动程序,但是我确定它的用户空间库必须存在。 任何语言都可以,但是C是首选。
只要安装文件系统并以这种方式使用它在技术上是可行的,但是我宁愿避免这种路由,因为我正在查看的应用程序在任何时候都会涉及至less几十个档案。
我只是从squashfs.sourceforce.net下载了代码tarball,并且没有内核代码。 C中只有mksquashfs
和unsquashfs
用户级代码。
你也许可以从unsquashfs中提取代码。
有一个名为unsquashfs
的工具,它提取类似tar
的squashfs图像。 它应该与mksquashfs
捆绑在一起
我有一些ruby代码会这样做: https : //github.com/vasi/squash.rb
这很粗糙,但它工作正常。 也许我有一天会把它变成一个设计得更好的C库。
mksquashfs
和unsquashfs
在我的Red Hat系统上打包成“squashfs-tools”:
名称:squashfs-tools 组:系统环境/基地 大小:160923 网址:http://squashfs.sf.net 总结:squashfs实用程序 说明:Squashfs是一个高度压缩的Linux只读文件系统。 该软件包包含用于操作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
被警告说,挤压和不加速是痛苦的缓慢。 我写了一个脚本,需要几分钟的时间来解压,修改和重新stage2.img
87M stage2.img
文件。