如何卸载从源代码安装的git?

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

    我在这里find了解决scheme。

    更新2.11.2012

    如果你足够聪明,并且在configurationGit时使用了一些非标准的前缀,以便它已经被安装在一个特定的层次下,比如在/ opt / git下,那么只需recursion地删除那个层次结构。

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

    1)取出你制作和安装的版本的源码包,解包。

    2)configuration它完全像你在原始安装方面的安装位置(前缀,exec前缀等); 应该是你不应该重写任何东西。

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

    4)安装Git,传递一个适当的DESTDIRvariables来完成:$ make DESTDIR = / var / tmp / git install Git层次结构将在临时目录下创build。

    5)使用创build的层次结构来决定在真实层次下(“/”本身)删除哪些文件。

    最后一步是“魔法”发生的地方,所以它有更多的解释。 例如,你可以跑

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

    (以root身份)将第一次错误安装的文件删除到根文件系统中。 上面的代码使用/ var / tmp / git层次结构来打印find的文件列表,但是它们用“/”replace了“/ var / tmp / git”前缀,这样“/ var / tmp / git / usr / bin / git“将会被列为”/ usr / bin / git“。 然后将这个列表传递给xargsxargs在它的十个包中读取的文件名上运行rm (只是为了将rm的调用次数减less一个数量级)。

    处理完文件后,运行

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

    检查已安装目录的列表。 这些需要手动的方法,所以只要看看生成的列表,并认为你可以安全地rmdir从你的系统(这些将是像“/ usr / libexec / git”或类似的目录;你可能不希望删除“/ usr / share / man / mann”,即使它是空的)。

    PS在将来, 不要通过运行make install将任何东西安装到系统中! 现在大多数makefile不支持“卸载”目标,因为它们用于安装到私有临时位置进行testing或制作软件包(.rpm,.deb等),然后软件包pipe理器负责清理。 如果您需要安装某些东西,请尝试find一个正式的软件包,或尝试从最新版本的操作系统(如果有的话)恢复其他官方软件包。 作为最后的手段,尝试使用checkinstall工具尝试从make install运行中创build一个二进制包。 这个糟透了,但还是比裸机make install

    我刚刚通过了Makefile的2691行。 确实没有使卸载。 讨厌鬼。

    在这种情况下,解决方法可能是使用make rpm选项。 安装rpm(覆盖所有安装的文件,应该与已经安装的文件相同)。 然后卸载rpm。

    在未来的情况下,build立一个包(RPM,YUM,无论)。 这使得维护更容易。