随着今年秋天 Ubuntu 21.10 的推出,Debian 软件包将通过 zstd 进行压缩,以提供更快的解压速度,这比最初的计划晚了三年。在过去的三年里,zstd 支持被添加到 Ubuntu 的 APT 和 dpkg 中,同时在上游的 Debian 中也看到了更广泛的 Zstd 支持。

  现在整个生态系统已经有了广泛而成熟的 Zstd 支持,Ubuntu 终于实现从 Ubuntu 21.10 开始向 zstd 压缩的 .deb 包过渡了。

Ubuntu 21.10开始利用zstd压缩Debian软件包-冯金伟博客园

  对比图像可以描述 zstd 的优秀压缩能力和性能表现

  当 Julian Andres Klode 等开发者在 Ubuntu 18.04 LTS 中为 Ubuntu 的 APT 和 dpkg 增加最初的 Zstandard 压缩支持时,原本计划让 Debian 迅速接受这些改变,并让 Ubuntu 18.10 成为第一个新的压缩技术可以加速软件包安装和升级的版本。但事实证明要实现这些花了比这更多的时间。

  从那时起,许多其他软件包已经被更新以支持 zstd 压缩包,只读压缩也已经被移植到 16.04 Xenial LTS 版本。现在 Debian,APT、debootstrap 和 reprepro 都可以支持 zstd。不过仍在进行代码审查以便纳入 Debian 的 dpkg(BTS bug 892664)。

Ubuntu 21.10开始利用zstd压缩Debian软件包-冯金伟博客园

  鉴于已经有足够的档案支持 zstd,Ubuntu 将在 Ubuntu 21.10,即目前的开发版本中切换到 zstd 压缩包。hello/2.10-2ubuntu3 将会是第一个 zstd 压缩的 Ubuntu 软件包,接下来会有许多其他用 dpkg(>=1.20.9ubuntu2)构建的软件包。

  这是继 Fedora RPM 等发行版本之后,又有一个主流版本利用 Facebook 开发的 Zstandard 压缩技术,实现更大的压缩率(取决于设置和前压缩算法)和更好的速度。

  要了解 zstd 的更多细节,请访问 FB 开发者官网:

  https://engineering.fb.com/2018/12/19/core-data/zstandard/