在跑步的时候
./configure --prefix=/mingw
在我之前运行的库的MinGW / MSYS系统上
'./configure --prefix=/mingw && make && make install'
我遇到了此消息:
警告:已经安装了Vamp插件SDK版本。 如果安装新版本而不先删除旧版本,请担心。 (续)
这让我担心。 “ make install”的反义词是什么,即如何在Linux中卸载库? “清洁”会完成这项工作吗,还是有其他步骤涉及?
#1楼
取决于所讨论程序的makefile / configure脚本/ autofoo魔术程度,以下内容可能会解决您的问题:
make uninstall
问题是您应该在已安装版本的源代码树上执行此操作,并使用与安装时使用的配置完全相同的配置。
#2楼
make clean
通常仅清除包含源代码本身的目录中的已构建文件,而很少接触任何已安装的软件。
Makefile通常不包含卸载目标-通常,您必须自己完成操作,方法是从安装文件的目录中删除文件。 例如,如果您构建了一个程序并将其安装(使用make install
) make install
到/usr/local
,则需要浏览/usr/local/bin
, /usr/local/libexec
, /usr/local/share/man
等,然后删除不需要的文件。 有时,Makefile包含uninstall
目标,但并非总是如此。
当然,通常在Linux系统上,您可以使用软件包管理器来安装软件,该软件包管理器能够“自动”卸载软件。
#3楼
不幸的是,没有标准,这是从源代码安装的风险之一。 一些Makefile会包含“卸载”,因此
make uninstall
从源目录中可能有效。 否则,可能需要手动撤消make install
所做的任何事情。
make clean
通常只是清理源目录-删除生成/编译的文件等,可能不是您想要的。
#4楼
make clean
从源代码/构建树中删除所有中间文件或输出文件。 但是,它仅影响源代码/构建树。 它不会接触文件系统的其余部分,因此不会删除以前安装的软件。
如果幸运的话,可以运行make uninstall
。 但是,这取决于图书馆的作者。 有些作者提供了uninstall
目标,而另一些则没有。
如果您不走运,则必须手动将其卸载。 运行make -n install
可能会有所帮助,因为它将显示该软件自行安装但实际上不会执行任何操作的步骤。 然后,您可以手动撤消这些步骤。
#5楼
如果sudo make uninstall
不可用:
在基于Debian的系统中,您可以运行sudo checkinstall
来制作一个.deb
文件,该文件会自动安装,而不是(或在*之后)进行make install
。 然后,您可以使用系统软件包管理器将其删除(例如apt
/ synaptic
/ aptitude
/ dpkg
)。 Checkinstall还支持创建其他类型的软件包,例如RPM。
另请参见http://community.linuxmint.com/tutorial/view/162和一些基本的checkinstall用法以及debian checkinstall软件包 。
*:如果在使用make install
后阅读此书,您仍然可以按照上述说明进行操作,然后再执行dpkg -r $PACKAGE_NAME_YOU_CHOSEN
。
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3168002