如何在Windows中处理squashfs

时间:2016-04-07 13:54:52

标签: python-2.7 squashfs

我必须更新squashfs图像文件中的一些文件。我在Linux中找到了一个工具,但在Windows中找不到。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:4)

Eirik的回答解决了"解压缩"部分。我会在Windows中为您提供完整的 squashfs-tools ,这样您就可以解压缩"解压缩" (unsquashfs.exe)和" zip" (mksquashfs.exe)。

  1. 如果您没有,请获取Cygwin
  2. 安装以下Cygwin软件包:
    • 如果您正在运行32位:
      • gcc-core
      • cygwin64-gcc-core
    • 如果您正在运行64位:
      • gcc-core
      • cygwin32-gcc-core
    • xz
    • liblzma5(不确定是否需要)
    • liblzma-devel(不确定是否需要)
  3. 获取latest squashfs source
  4. 取消注释squashfs-tools/Makefile中的以下行:
    • XZ_SUPPORT = 1
    • LZMA_XZ_SUPPORT = 1
  5. 在Cygwin控制台中,转到squashfs-tools目录并使用以下命令编译:
  6. 复制粘贴

    make EXTRA_CFLAGS="-Dlinux -DFNM_EXTMATCH='(1<<5)' -D'sigtimedwait(a,b,c)=sigwaitinfo(a,b)'"
    
    1. 安装旧的make install
    2. 现在,您可以在Cygwin命令行中使用squashfs工具,就像它是Linux一样。如上所述,工具为unsquashfs.exemksquashfs.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提供了另一种运行mksquashfsunsquashfs的方法。在通过WSL运行Ubuntu 14.04.4的Windows 10系统上,安装了以下命令squashfs-tools,之后mksquashfsunsquashfs可用。

sudo apt install squashfs-tools

使用squashfs-tools(Cygwin或WSL)的方法,7-Zip对于更新squashfs图像中的文件是不必要的。