为什么软件包依赖于 dpkg?

为什么软件包依赖于 dpkg?

我检查了许多软件包的传递依赖关系。它们都依赖于dpkg。我不明白原因。有人知道为什么吗?

答案1

在 的情况下perl-basedpkgPre-Depends,而不是Depends。 什么是Pre-Depends

此字段与 Depends 类似,不同之处在于它还会强制 dpkg 在开始安装声明预依赖关系的包之前完成所命名包的安装[...]。

[...]

应谨慎使用预依赖项,最好仅用于那些过早升级或安装会妨碍系统继续进行正在进行的升级的软件包。

dpkg曾经是用 Perl 编写的(其中的部分内容可能仍是用 Perl 编写的,我还没有检查源代码)。因此,如果 Perl 在 dpkg 之前升级,可能会造成混乱,并导致 dpkg 停止运行。因此dpkg必须在 Perl 之前安装/升级和配置。这就是为什么它是Pre-Depends

相关内容