我必须更新 squashfs 图像文件中的一些文件。我在 Linux 中找到了一个工具,但在 Windows 中没有。
任何人都可以帮忙吗?
Eirik 的回答解决了“解压缩”部分。我将为您提供Windows 中的整个squashfs-toolsunsquashfs.exe ,因此您可以“解压缩”( )和“压缩”(mksquashfs.exe)。
gcc-corecygwin64-gcc-coregcc-corecygwin32-gcc-corexzliblzma5(不确定是否需要)liblzma-develsquashfs-tools/Makefile:
XZ_SUPPORT = 1LZMA_XZ_SUPPORT = 1squashfs-tools目录并使用以下命令进行编译:复制粘贴这个
make EXTRA_CFLAGS="-Dlinux -DFNM_EXTMATCH='(1<<5)' -D'sigtimedwait(a,b,c)=sigwaitinfo(a,b)'"
make install现在您在 Cygwin 命令行中拥有了 squashfs 工具,就像它是 Linux 一样。如上所述,工具是unsquashfs.exe和mksquashfs.exe。
这个答案的来源和学分:http: //domoticx.com/bestandssysteem-squashfs-tools-software/(荷兰语,我用谷歌翻译)
7-Zip能够打开 squashfs 图像并提取它们的文件。我在 Windows 10 上使用使用 xz 压缩的 squashfs 图像在 7-Zip 版本 15.14 [64 位] 上对此进行了测试。
创建存档时,7-Zip 似乎没有在存档格式中列出 squashfs,因此如果您想生成带有修改文件的 squashfs 图像,则需要查看其他地方。squashfs的Wikipedia 页面表明 mksquashfs 和 unsquashfs 已被移植到某些版本的 Windows(它还提到 7-Zip)。
André 的回答建议 Cygwin 作为从squashfs-tools. 适用于 Linux的Windows 子系统提供了另一种运行mksquashfs和unsquashfs. 在我Ubuntu 14.04.4通过 WSL 运行的 Windows 10 系统上,安装了以下命令,squashfs-tools之后可以使用。mksquashfsunsquashfs
sudo apt install squashfs-tools
无论使用哪种方法squashfs-tools(Cygwin 或 WSL),都不需要 7-Zip 来更新 squashfs 映像中的文件。