题
(squashfs的是一个压缩的文件系统 - http://en.wikipedia.org/wiki/SquashFS一>)
我在寻找一种方法来读取一个程序的squashfs文件系统。到目前为止,我已经知道内核中的驱动程序,但我敢肯定,为它的用户态库必须存在某处。任何语言就可以了,但是C是首选。
只是挂载文件系统,并使用它的方式在技术上是可行的,但我宁愿避开这条路,因为我期待在应用将涉及在任何给定时间至少几十档案工作。
解决方案
我刚刚下载从squashfs.sourceforce.net代码压缩包并且在那里没有内核代码。只在C用户级代码mksquashfs
和unsquashfs
。
您也许可以从unsquashfs提取代码。
其他提示
有一个名为unsquashfs
工具,它提取的squashfs图像类似于tar
。它应与mksquashfs
捆绑
我有一些Ruby代码即会做到这一点: https://github.com/vasi /squash.rb
这是相当粗糙,但它工作正常。也许我会变成一个更好的设计-C库的一天。
和mksquashfs
unsquashfs
被打包为我的红帽系统上“的squashfs工具”:
Name : squashfs-tools Group : System Environment/Base Size : 160923 URL : http://squashfs.sf.net Summary : squashfs utilities Description :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
但是要注意,挤压和unsquashing是十分缓慢。这需要几分钟的脚本我写信给unsquash,修改和再压扁的87M stage2.img
文件。
不隶属于 StackOverflow