小智 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
根据需要调整命令。