透明地解压存档中的数据,以便以后进行更大的压缩

透明地解压存档中的数据,以便以后进行更大的压缩

例如,我有一个文件系统映像,其中有一些压缩文件(使用弱压缩,如 gzip),例如手册页或附近具有相同未压缩内容的档案。

如何预先过滤数据以将压缩数据“扩展”为纯文本格式(以强压缩重新压缩),然后在解压缩后进行后过滤以恢复原始的“半压缩”图像?SHA-1 匹配是建议但不是严格要求的(但生成的图像必须有效,例如重新压缩的文件不应增长太多,可解压缩等)

比如通过逆转弱压缩算法来提高压缩率。

有这方面的程序吗?

答案1

假设你处在一个可以编写和运行 shell 脚本的环境中,这很容易做到:

开店时:

  1. 挂载文件系统映像。
  2. 查找所有带有“弱压缩”后缀的文件
  3. 解压缩这些文件
  4. 将未压缩的文件列表保存在某处
  5. 卸载图像
  6. 压缩图像

恢复:

  1. 解压图片
  2. 安装系统
  3. 使用先前保存的列表来压缩文件

这可以使用 Gentoo 的 lesspipe.sh 中的某些文件检测代码、find 和 gzip、bzipt2 等来完成。

如果您更喜欢使用“强压缩”来压缩单个文件而不是整个图像,那么这当然也是可行的。

相关内容