【问题标题】:Reading a SquashFS archive读取 SquashFS 存档
【发布时间】:2021-04-08 20:57:23
【问题描述】:

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

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

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

【问题讨论】:

    标签: squashfs


    【解决方案1】:

    我刚刚从 squashfs.sourceforce.net 下载了代码压缩包,里面没有内核代码。只有 mksquashfsunsquashfs 的 C 语言用户空间代码。

    您可能可以从 unsquashfs 中提取代码。

    【讨论】:

    • SquasFS 驱动程序已经主线化到即将发布的 2.6.34
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      我有一些 ruby​​ 代码可以做到这一点:https://github.com/vasi/squash.rb

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

      【讨论】:

        【解决方案4】:

        mksquashfsunsquashfs 在我的 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
        

        请注意,压扁和解压非常缓慢。我编写的脚本需要几分钟才能解压缩、修改和重新压缩 87M stage2.img 文件。

        【讨论】:

          猜你喜欢
          • 2013-12-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-08-26
          • 2013-09-28
          • 2013-06-13
          相关资源
          最近更新 更多