Debian 文件 [.deb] 解压器支持哪些压缩?

Debian 文件 [.deb] 解压器支持哪些压缩?

我知道一个典型的 .deb 文件包含三个文件:

debian-binary
control.tar.gz
data.tar.gz

并且有些是 xz 压缩而不是 gzip 压缩(control.tar.xz、data.tar.xz)。

Debian 文件还支持哪些其他压缩?Debian 安装程序如何知道使用哪种解压缩?

如果我想添加对另一种压缩的支持(例如,zopfli -https://github.com/google/zopfli)。是否有可用的 Debian 安装程序源代码,我可以修改它来实现此功能?

答案1

这篇博文,它似乎处理dpkg-deb压缩。从man dpkg-deb14.04

-Zcompress-type
      Specify  which  compression type to use when building a package.
      Allowed values are gzip, xz, bzip2, lzma, and none  (default  is
      xz).

15.10

-Zcompress-type
      Specify which compression type to use when building  a  package.
      Allowed   values   are  gzip,  xz  (since  dpkg  1.15.6),  bzip2
      (deprecated), lzma (since dpkg  1.14.0;  deprecated),  and  none
      (default is xz).

并且在22.04,并lzma去掉bzip2了并zstd添加了:

-Zcompress-type
   Specify which compression type to use when building a package.  Allowed values are
   gzip, xz (since dpkg 1.15.6), zstd (since dpkg 1.19.0.5ubuntu2) and none (default is
   zstd).

源代码dpkg可以浏览Debian Alioth据我所知,它也使用了tar一些地方,如果tar不支持 zopfli,请准备添加对 zopfli 的支持GNU tar也一样。

相关内容