无法在Ubuntu中完全删除包

时间:2017-03-15 12:36:26

标签: ubuntu uninstall mosquitto

试图从Ubuntu中移除mosquitto,我可能忘了停止服务/进程。虽然删除了mosquitto(使用apt-get remove和apt-get purge以及autoremove等),但我仍然可以在命令提示符下访问(运行)mosquitto。

当我尝试再次移除它时,它说

  

包装' mosquitto'没有安装,所以没有删除

我无法解决如何删除包管理器告诉我不存在的内容。可能还有一些鬼文件,但仍然......

1 个答案:

答案 0 :(得分:3)

这是卸载之前没有源的已编译应用程序的方法。

您有两种选择:

  • 重新创建Makefile
  • 手动删除make
  • 创建的文件

重新创建Makefile

如果软件包的开发人员负责制定一个好的卸载规则,您可以重新创建Make配置并使用该规则。

再次下载应用程序的源代码tarball并使用您安装的相同版本。如果您在第一次解压缩tarball时将任何选项传递给./configure,则必须再次提供相同的选项。

然后您可以运行make uninstallsudo make uninstall

手动删除文件

首先创建整个系统的备份非常重要,因为您可以使用此方法轻松删除错误的文件。

然后找到可以从控制台调用的二进制文件:

whereis name_of_your_program

这将找到程序的源/二进制和手册部分。请注意存储它们的目录,并使用ls -l one_of_the_file链接引用和日期收集有关这些文件的更多信息。

您可能在一天内编译了应用程序,因此您可以尝试根据包含目录(如/usr/local中的日期)找到其文件,如下所示:

find /usr/local -type f -newermt '2017-03-23'

然后删除应用程序的目录,二进制文件和配置。

将来避免这些问题

使用软件包管理安装应用程序有很多优点,总是尽量避免自己编译。

但是,有时候必须使用checkinstall代替make install