如何在 Debian 中彻底删除软件包?

如何在 Debian 中彻底删除软件包?

我尝试使用这个:

aptitude remove denyhosts

它似乎成功了,但在我使用后重新启动:

ps aux | grep "denyhosts"

我看到启动后仍加载denyhosts。

那么我该怎么做才能一劳永逸地停止并销毁它?“aptitude remove something”不是用于卸载的吗?

答案1

将删除包和所有配置文件。

apt-get --purge remove package

如果仍然出现问题,请尝试重新安装然后清除:

apt-get --reinstall install package
apt-get --purge remove package

您可能仍需要:

killall package

重新启动并再次启动,请运行:

update-rc.d remove package

故事时间:有一次,出于某种未知原因,当我清除 ejabberd 时,它继续运行。我信任 apt-get 会杀死并删除它。但它没有。不用说,它最终用 ramdisk 日志文件填满了我的整个 /var。它一直持续到我杀死所有 ejabberd 进程,这很快解决了这个问题。所以它教会了我始终确保 apt-get 工作并杀死所有需要的进程。

答案2

如果您愿意aptitude

# aptitude purge denyhosts

purge 还应该删除初始化脚本,因此这update-rc.d一步其实没有必要。

另一个可能的原因是另一个软件包也提供了一个名为denyhosts的守护进程。要搜索所有包含denyhosts以下内容的已安装软件包:

$ dpkg -S denyhosts

相关内容