如何完全删除 Debian 中的软件包?

dat*_*.io 5 package-management debian aptitude dpkg apt

我试着用这个:

aptitude remove denyhosts
Run Code Online (Sandbox Code Playgroud)

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

ps aux | grep "denyhosts"
Run Code Online (Sandbox Code Playgroud)

我看到启动后仍然加载了拒绝主机。

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

Dav*_*man 14

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

apt-get --purge remove package
Run Code Online (Sandbox Code Playgroud)

如果它仍然给您带来问题,请尝试重新安装然后清除:

apt-get --reinstall install package
apt-get --purge remove package
Run Code Online (Sandbox Code Playgroud)

您可能仍然需要:

killall package
Run Code Online (Sandbox Code Playgroud)

重新启动,如果它再次启动运行:

update-rc.d remove package
Run Code Online (Sandbox Code Playgroud)

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

  • apt-get、aptitude 和 dpkg 都是 Debian 的首选软件包管理器。它不再像以前那样重要了。如果 Debian 真的只想要一个包管理器,他们会将其中的一个符号链接到其他的,并教给新的一个相同的开关。 (3认同)