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

我试图用这个:

aptitude remove denyhosts 

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

 ps aux | grep "denyhosts" 

我看到denyhosts在启动后仍然被加载。

那么我该怎么做才能停下来彻底摧毁它呢? “aptitude remove something”是不是意味着卸载?

将删除一个包和所有的configuration文件。

 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工作并杀死所有需要的进程。

如果你喜欢性倾向:

 # aptitude purge denyhosts 

purge也应该删除init脚本,所以update-rc.d步骤并不是真的需要。

另一个可能的情况是另一个包也提供了一个名为denyhosts的守护进程。 要search包含其中包含denyhosts文件的所有安装的软件包:

 $ dpkg -S denyhosts