APT 中的“包选择”的含义?

APT 中的“包选择”的含义?

根据dpkg手册页,选择状态为安装表示“已选择安装该包”。选择状态为卸载表示“选择要卸载的包(即我们要删除除配置文件之外的所有文件)”。

让我困惑的是,我想澄清的是:删除包后,它处于选择状态卸载但它已经被移除了。被移除的东西怎么可能处于任何状态?而我做过删除所有文件,我不想删除它们。

同样适用于安装选择状态:如果某个包已经安装,如何“选择它进行安装”?

同样,手册页dpkg-query区分了期望行动包裹状态,我的理解是选择状态状态分别。大多数软件包的期望操作是安装以及状态已安装。同样,这是什么意思?为什么我们要安装已经安装的包?

而最大的问题是:在什么情况下选择/期望状态和正常状态之间的区别才是相关的?

答案1

套餐选择状态“告诉 dpkg 你想要什么。

包裹状态“告诉 dpkg 某个包是否真的安装。

如果某个包已经安装,如何“选择安装”?是对语言的误解(可以理解)。这并不意味着将来-- dpkg 没有未来或过去的概念。

大多数情况下,您的偏好和系统状态会匹配。这是好事。这意味着您的系统运行正常:

       Selection State                          State
I want Package X to be installed     --and-- Package X is installed.
I want Package Y to be NOT installed --and-- Package Y is NOT installed.

有出入...

       Selection State                          State
I want Package X to be NOT installed --but-- Package X is installed

...应该进行调查。如果相同的差异仍然存在,有时表明存在问题(冲突的软件包、损坏的软件包)。dpkg 并非旨在为您解决差异...但 apt 可以。

相关内容