我的目标是检查软件包是否已安装,如果没有,则安装它。
存在一个包:
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
,则说明该软件包已安装;其他任何事情都意味着它不是(或不完全)。