根据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 可以。