要卸载从存储库安装的软件包(例如:tor),应该使用
sudo apt-get remove tor
我这样做了,但dpkg -l | grep tor
包装上出现了问题。下次我尝试
sudo apt-get purge tor
但当我检查时dpkg -l | grep tor
,我发现
reza@reza-N43JM:/$ dpkg -l tor
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
un tor <none> (no description available)
我认为当我卸载任何软件包时,列表中都不应该出现任何内容dpkg -l
。这是真的吗?或者apt-get remove
其他软件包可以正常purge
工作但无法卸载?
答案1
答案2
看来@souravc 只给出了部分解决方案。
(注意:我在 Debian 上执行此操作,我猜它也应该主要适用于 Ububtu。)
/var/lib/dpkg/status 和 /var/lib/dpkg/available 保存有关软件包的信息,这些软件包要么可供安装(类似于 apt 所做的),要么已安装,要么只是有剩余的配置文件。如果软件包上的其中一个软件包(例如bar
)本身尚未列出(只要您仅使用官方稳定的 Debian/Ubuntu 存储库,就不会发生这种情况),则会提及它们。Depends:
foo
foo
dpkg -l tor
grep-status
(无需 root 权限)是一个简洁的命令,可以帮助您找到哪个包是罪魁祸首:
$ grep-status foo
Package: bar
Depends: foo
...
$ dpkg -s bar
$ dpkg -L bar
...
现在您可以使用以下命令卸载或清除该包:
# dpkg -r bar
# dpkg -P bar