卸载从源代码构建的软件

Qui*_*nma 4 make

如何卸载从源代码构建和安装的软件?(使用make install?)

小智 5

请问源码包还在吗?您可以解析 Makefile 以获取安装命令,也可以再次安装它(使用另一个$PREFIX)以捕获已安装文件的列表。此外,它还被打印到 STDOUT。然后,您可以从最初安装这些文件的目录中删除这些文件。

编辑:

我刚刚挖出了有关制作卸载程序脚本的笔记。请耐心等待,我在这里解释一下。

构建并安装到临时目标目录后,请执行以下操作。($PREFIX你用过的东西在哪里./configure。)

cd $PREFIX
find . -type f | cut -b 1 --complement | sed 's/^/rm -f \/usr\/local/g' > uninstall.sh
find . -type d | cut -b 1 --complement | sed 's/^/rmdir --ignore-fail-on-non-empty \/usr\/local/g' >> uninstall.sh
Run Code Online (Sandbox Code Playgroud)

输出将如下所示:

rm -f /usr/local/lib/somelib.so
rm -f /usr/local/bin/somebin
rm -f /usr/local/include/someapp/someheaders.h
rmdir --ignore-fail-on-non-empty /usr/local/share
rmdir --ignore-fail-on-non-empty /usr/local/bin
rmdir --ignore-fail-on-non-empty /usr/local/include/someapp
...
Run Code Online (Sandbox Code Playgroud)

这实际上并不会删除关键系统目录(/usr/local/bin等),因为它们将是非空的。此外,您还需要确认您的./configure脚本使用/usr/local默认$PREFIX. sed根据需要调整命令。