我必须更新squashfs图像文件中的一些文件。我在Linux中找到了一个工具,但在Windows中找不到。
有人可以帮忙吗?
答案 0 :(得分:4)
Eirik的回答解决了"解压缩"部分。我会在Windows中为您提供完整的 squashfs-tools ,这样您就可以解压缩"解压缩" (unsquashfs.exe
)和" zip" (mksquashfs.exe
)。
gcc-core
cygwin64-gcc-core
gcc-core
cygwin32-gcc-core
xz
liblzma5
(不确定是否需要)liblzma-devel
(不确定是否需要)squashfs-tools/Makefile
中的以下行:
XZ_SUPPORT = 1
LZMA_XZ_SUPPORT = 1
squashfs-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/(荷兰语,我使用谷歌翻译)
答案 1 :(得分:3)
7-Zip能够打开squashfs图像并提取其文件。我在Windows 10上的7-Zip版本15.14 [64位]上使用带有xz压缩的squashfs图像进行了测试。
在创建存档时,7-Zip似乎不会在存档格式中列出squashf,因此如果要生成包含已修改文件的squashfs图像,则需要查看其他位置。 squashfs的Wikipedia page表示mksquashfs和unsquashfs已被移植到某些版本的Windows(它还提到了7-Zip)。
André's answer建议使用Cygwin作为编译和运行squashfs-tools
命令的方法。 Windows Subsystem for Linux提供了另一种运行mksquashfs
和unsquashfs
的方法。在通过WSL运行Ubuntu 14.04.4
的Windows 10系统上,安装了以下命令squashfs-tools
,之后mksquashfs
和unsquashfs
可用。
sudo apt install squashfs-tools
使用squashfs-tools
(Cygwin或WSL)的方法,7-Zip对于更新squashfs图像中的文件是不必要的。