dpkg 中存在一个软件包,但无法通过 apt 安装

dpkg 中存在一个软件包,但无法通过 apt 安装

我的目标是检查软件包是否已安装,如果没有,则安装它。

存在一个包:

dpkg -l | grep arangodb3
rc  arangodb3    3.4.11-1  amd64     a multi-model NoSQL database

但:

$ sudo apt remove arangodb3
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'arangodb3' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 46 not upgraded.

怎么会这样?以及如何修复它?

答案1

rc输出开头的状态表示dpkg -l该包已被删除,但其配置仍然存在。所以apt remove没什么关系。

您可以通过清除其配置来完全删除它:

sudo apt purge arangodb3

我的目标是检查软件包是否已安装,如果没有,则安装它。

那么您可能应该安装它:如果已经安装了,则不会重新安装(尽管必要时会升级),如果没有安装,则会重新安装。

要确定软件包是否已正确安装,请运行

dpkg-query -W -f '${db:Status-Status}' package

package酌情更换)。如果输出installed,则说明该软件包已安装;其他任何事情都意味着它不是(或不完全)。

相关内容