如何在Windows中处理挤压



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

有人能帮忙吗?

7-Zip能够打开squashfs图像并提取它们的文件。我在Windows 10上的7-Zip版本15.14[64位]上测试了这一点,并使用了一个使用xz压缩的squashfs图像。

7-Zip在创建存档时似乎不会在存档格式中列出squashfs,因此如果您想生成带有修改文件的squashfs图像,则需要查找其他位置。维基百科上的squashfs页面表明,mksquashfs和unsquashfs已被移植到某些版本的Windows(其中还提到了7-Zip)。

André的回答建议将Cygwin作为从squashfs-tools编译和运行命令的一种方式。Linux的Windows子系统提供了另一种运行mksquashfsunsquashfs的方式。在我的Windows 10系统中,Ubuntu 14.04.4通过WSL运行,下面的命令安装了squashfs-tools,之后mksquashfsunsquashfs可用。

sudo apt install squashfs-tools

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

Eirik的答案解决了"解压"部分。我将在Windows中为您提供整个squashfs工具,这样您就可以同时"解压缩"(unsquashfs.exe)和"压缩"(mksquashfs.exe)。
  1. 如果你没有赛格文
  2. 安装以下Cygwin软件包:
    • 如果您运行的是32位:
      • gcc-core
      • cygwin64-gcc-core
    • 如果您正在运行64位:
      • gcc-core
      • cygwin32-gcc-core
    • xz
    • liblzma5(不确定是否需要)
    • liblzma-devel
  3. 获取最新的squashfs源
  4. 取消注释squashfs-tools/Makefile中的以下行:
    • XZ_SUPPORT = 1
    • LZMA_XZ_SUPPORT = 1
  5. 在Cygwin控制台中,转到squashfs-tools目录并使用以下代码进行编译:

复制粘贴此

make EXTRA_CFLAGS="-Dlinux -DFNM_EXTMATCH='(1<<5)' -D'sigtimedwait(a,b,c)=sigwaitinfo(a,b)'"
  1. 使用完好的旧make install安装

现在您在Cygwin命令行中有了squashfs工具,就像在Linux中一样。如上所述,工具是unsquashfs.exemksquashfs.exe


此答案的来源和学分:http://domoticx.com/bestandssysteem-squashfs-tools-software/(荷兰语,我使用谷歌翻译)

相关内容

  • 没有找到相关文章

最新更新