阅读SquashFS档案

时间:2010-05-10 21:00:42

标签: linux squashfs

(SquashFS是一个压缩文件系统 - http://en.wikipedia.org/wiki/SquashFS

我正在寻找一种从程序中读取SquashFS文件系统的方法。到目前为止,我已经了解了内核驱动程序,但我确信它的用户空间库必须存在于某个地方。任何语言都可以,但C是首选。

只是安装文件系统并以这种方式使用它在技术上是可行的,但我宁愿避免使用该路由,因为我正在查看的应用程序将涉及在任何给定时间使用至少几十个档案。

4 个答案:

答案 0 :(得分:5)

我刚刚从squashfs.sourceforce.net下载了代码tarball,并且没有内核代码。仅C中的用户名代码为mksquashfsunsquashfs

您可以从unsquashfs中提取代码。

答案 1 :(得分:5)

有一个名为unsquashfs的工具可以提取类似于tar的squashfs图像。它应与mksquashfs

捆绑在一起

答案 2 :(得分:1)

我有一些ruby代码可以执行此操作:https://github.com/vasi/squash.rb

这很粗糙,但效果很好。也许有一天我会把它变成一个设计得更好的C库。

答案 3 :(得分:0)

mksquashfsunsquashfs在我的Red Hat系统上打包为“squashfs-tools”:

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

警告说,压扁和取消是非常缓慢的。我编写的脚本需要几分钟才能解压缩,修改和重新压缩87M stage2.img文件。