如何卸载从源安装的git? [关闭]

Modified on: Tue, 20 Aug 2019 05:20:02 +0800

我使用这篇文章安装了git。现在我要卸载git。怎么做?

作者:Mikhail

最佳答案

我在此处找到了解决方案。

更新2.11.2012

如果你足够聪明并且在使用时使用了一些非标准前缀
配置Git,使其安装在特定的层次结构下,
比如在/ opt / git下,然后以递归方式删除该层次结构。

如果没有,那么你可以这样:

1)获取您构建的版本的源tarball
   安装,拆包。

2)完全像原始安装一样配置它
   关于安装位置(前缀,exec-prefix等);
   据说你不应该覆盖任何东西。

3)创建一个临时目录来执行安装,如下所示:
   $ mkdir / var / tmp / git

4)安装Git传递适当的DESTDIR变量来制作:
   $ make DESTDIR = / var / tmp / git install
   最终将在该临时目录下创建Git层次结构。

5)使用创建的层次结构来决定要删除的文件
   真实的层次结构(“/”本身)。

最后一步是“神奇”发生的地方,因此它有更多的解释。
例如,您可以运行

$ find /var/tmp/git -type f -printf '/%P\n' | xargs -n 10 rm -f

(以root身份)删除第一次安装错误所安装的文件
进入根文件系统。上面的插图使用/ var / tmp / git
层次结构打印找到的文件列表,但它取代了
“/ var / tmp / git”前缀中带有“/”,这样就可以了
输出中的“/ var / tmp / git / usr / bin / git”最终将列为
“在/ usr / bin中/混帐”。然后将此列表传送到运行xargsrm
在文件名上,它以十个包的形式读取(只是为了减少数量
调用rm一个数量级。)

处理完文件后,运行

$ find /var/tmp/git -type d -printf '/%P\n'

检查已安装目录的列表。这些都需要手动
方法所以只需看看生成的列表并思考它们中的哪一个
可以安全地从您的系统rmdir(这些将是目录
比如“/ usr / libexec / git”或类似的东西;你可能不会
想要删除“/ usr / share / man / mann”或其他东西,即使它是空的。)

P.S。
将来永远不会通过运行将任何内容安装到系统中
make install!这些天大多数makefile都不支持“卸载”
目标,因为他们习惯于安装到私人划痕
测试或制作包的位置(.rpm,.deb等)然后
包裹经理负责清理。
如果您需要安装某些东西,请尝试查找官方软件包或尝试
从最近的版本中反向移植另一个官方软件包
您的操作系统(如果有)。
作为最后的手段,尝试使用尝试的checkinstall工具
make install运行创建二进制包。这糟透了,
但仍然比裸make install更好。

作者:,Mikhail

相关问答

添加新评论