如何将“unsquashfs”与 lzma 一起使用?

如何将“unsquashfs”与 lzma 一起使用?

我使用的是 Ubuntu 12.04。我想取消压缩 lzma 图像。我已经做好了

sudo apt-get squashfs-tools

现在,当我这样做时

unsquashfs <squashed_image_filename>

我明白了

Filesystem uses lzma compression, this is unsupported by this version

我知道我压扁的形象是lzma。如何安装对 lzma 的支持?我从这里下载了squashfs-tools:http://sourceforge.net/projects/squashfs/files/

据我了解,提取该 tarball 后,我需要通过取消注释该行cd来进入squashfs4.2/squashfs-tools并编辑.那我只需要跑就可以了。MakefileLZMA_XZ_SUPPORT = 1make

那对我不起作用。我收到错误:

gzip_wrapper.c:23:18: fatal error: zlib.: No such file or directory

我想我需要安装lzma-develxz-devel.我已经尝试过这个,并且在谷歌上搜索了几个小时,但没有找到任何地方或找到任何可靠的说明来说明它应该如何工作。有做过这个的人可以帮我吗?我是桌面 Linux 新手因此,如果您能在说明中相当详细,我们将不胜感激。

答案1

感谢@msw,我找到了 Ubuntu 的软件包名称。谢谢你!以下是未来某人的完整步骤。

在这里获取源码:http://sourceforge.net/projects/squashfs/

# sudo apt-get install lzma-dev
# sudo apt-get install liblzma-dev
# tar -zxvf squashfs4.2.tar.gz
# cd squashfs4.2/squashfs-tools: Edit Makefile and uncomment this line "LZMA_XZ_SUPPORT = 1"
# make
# sudo make install
# sudo unsquashfs <path/lzma_filename_to_unsquash>

答案2

对于来这里寻找支持 lzma 的 squashfs 的人来说,在 Ubuntu 22.10 中似乎是这样的:

  • 内核(5.19.0)确实不是支持挂载LZMA压缩的squashfs镜像:
    Filesystem uses "lzma" compression. This is not supported
    
  • unsquashfs工具来自squashfs-tools(版本1:4.5.1-1)支持LZMA,无需任何特殊选项。

相关内容