我使用的是 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
并编辑.那我只需要跑就可以了。Makefile
LZMA_XZ_SUPPORT = 1
make
那对我不起作用。我收到错误:
gzip_wrapper.c:23:18: fatal error: zlib.: No such file or directory
我想我需要安装lzma-devel
和xz-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,无需任何特殊选项。