试图从Ubuntu中移除mosquitto,我可能忘了停止服务/进程。虽然删除了mosquitto(使用apt-get remove和apt-get purge以及autoremove等),但我仍然可以在命令提示符下访问(运行)mosquitto。
当我尝试再次移除它时,它说
包装' mosquitto'没有安装,所以没有删除
我无法解决如何删除包管理器告诉我不存在的内容。可能还有一些鬼文件,但仍然......
答案 0 :(得分:3)
这是卸载之前没有源的已编译应用程序的方法。
您有两种选择:
如果软件包的开发人员负责制定一个好的卸载规则,您可以重新创建Make配置并使用该规则。
再次下载应用程序的源代码tarball并使用您安装的相同版本。如果您在第一次解压缩tarball时将任何选项传递给./configure,则必须再次提供相同的选项。
然后您可以运行make uninstall
或sudo 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