与“makeinstall”相反的是什么,即如何卸载Linux中的库?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (7)
  • 关注 (0)
  • 查看 (541)
./configure --prefix=/mingw 

在我以前运行的库的MinGW/MSYS系统上

'./configure --prefix=/mingw && make && make install' 

偶然看到这样的信息:

警告:Vamp插件SDK的一个版本已经安装。如果您安装了一个新版本而没有删除旧的二,那么您就会感到担心和悲伤。

这让我很担心。与“makeinstall”相反的是什么,即如何在Linux中卸载库?

提问于
用户回答回答于

一些makefile将包括一个“uninstall”,所以

make uninstall

从源目录可以工作。它可能是手动撤消任何make install做了。

make clean通常只是清理源目录

用户回答回答于
用户回答回答于

make clean通常只清除包含源代码本身的目录中构建的文件,很少涉及任何已安装的软件。

Makefiles通常不包含卸载的目标--通常您必须自己做,方法是从安装文件的目录中删除这些文件。如果你构建了一个程序并安装了它(使用make install)进入/usr/local,你会想通过/usr/local/bin,,,/usr/local/libexec,,,/usr/local/share/man等,并移除不需要的文件。有时候,makefile包含一个uninstall目标,但不总是。

用户回答回答于

以下内容可能解决你的问题:

make uninstall

问题是你应该在你已经安装的版本的源代码树上执行这个,并且使用和你安装时一样的配置。

用户回答回答于

如果你有manifest文件,该文件列出了与make install你可以从另一个回答中运行这个命令:

cat install_manifest.txt | xargs echo rm | sh

如果你有sudo make install需要在卸载中添加一个sudo:

cat install_manifest.txt | xargs echo sudo rm | sh
用户回答回答于

如果sudo make uninstall不可用:

在基于debian的系统中,而不是执行make install你可以跑sudo checkinstall使出.deb自动安装的文件。然后,你可以使用系统包管理器(例如,apt/synaptic/aptitude/dpkg)。

用户回答回答于

make clean从源/生成树中移除任何中间文件或输出文件。但是,它只影响源/构建树;它不触及文件系统的其余部分,因此不会删除以前安装的软件。

如果你幸运的话,跑make uninstall会有用的。然而,这取决于图书馆的作者;一些作者提供了一个uninstall目标,其他人没有。

如果你不走运,你必须手动卸载它。make -n install这可能很有帮助,因为它将显示软件安装自己的步骤。

扫码关注云+社区

领取腾讯云代金券