如何卸载Debian系统中手动编译安装的Subversion 1.14.2
兄弟,我太懂你手动编译软件后找不到卸载入口的头疼了——毕竟不是通过apt这类包管理器安装的,系统没自动记录这些文件的位置。别慌,给你几个靠谱的办法搞定它:
先回到你当初解压的Subversion 1.14.2源码目录,虽然Makefile里没写uninstall目标,但咱们可以用模拟安装的方式拿到所有已安装文件的清单。执行这条命令:
make -n install
这个命令是干运行模式,不会真的安装软件,只会输出当初安装时所有的操作和对应的文件路径。你可以先看看输出,确认这些路径大多在/usr/local下面(默认编译安装的位置),不会涉及系统核心目录。接下来把这些输出里的目标文件提取出来批量删除。可以用这条组合命令:
make -n install | grep -E '(install|cp) .* /' | awk '{print $NF}' | xargs sudo rm -f
简单解释下:先过滤出带install或cp的安装命令,然后提取每一行最后一列的文件路径,最后批量删除这些文件。重要提醒:跑这条命令前,建议先去掉后面的| xargs sudo rm -f,先看看输出的路径是不是全是Subversion相关的,避免误删系统文件。如果当初你还手动编译安装了Subversion的依赖(比如apr、apr-util这类配套库),那也要用同样的方法处理它们:回到对应的依赖源码目录,重复上面的步骤删除文件。要是这些依赖是通过apt安装的,那可以跑
sudo apt autoremove --purge来清理没用的依赖,但一定要仔细核对要删除的包列表,别把系统必需的组件删掉了。最后可以手动检查一下有没有漏网之鱼,比如
/usr/local/share/man里的svn手册页、/usr/local/lib里的相关库文件,或者/etc下的配置文件,这些如果没用了也可以手动删掉。
备注:内容来源于stack exchange,提问作者LiamF

