阅读SquashFS归档文件

7
SquashFS是一种压缩文件系统,详情请参考http://en.wikipedia.org/wiki/SquashFS
我正在寻找一种从程序中读取SquashFS文件系统的方法。目前为止,我已经知道它的内核驱动程序,但我相信必须存在适用于用户空间的库。任何语言都可以,但最好使用C语言。
尽管从技术上讲,挂载文件系统并以这种方式使用是可能的,但我宁愿避免这种路线,因为我关注的应用程序将涉及同时处理至少几十个档案。
3个回答

6

有一个名为unsquashfs的工具,它类似于tar,可以提取squashfs映像。它应该与mksquashfs捆绑在一起。


截至2023年,mksquashfsunsquashfs都包含在squashfs-tools Debian软件包中。 - Juergen

5
我刚从squashfs.sourceforce.net下载了代码tar包,但里面没有内核代码,只有用于 mksquashfsunsquashfs 的C语言用户态代码。

您可以从unsquashfs中提取代码。


SquashFS驱动程序已经被整合到即将发布的2.6.34版本中。 - Yann Ramin

1

mksquashfsunsquashfs在我的Red Hat系统中打包为"squashfs-tools":

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

Squashfs is a highly compressed read-only filesystem for Linux. This package contains the utilities for manipulating 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
请注意,压缩和解压速度非常慢。我写的脚本需要几分钟的时间来解压、修改和重新压缩一个87M的stage2.img文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接