我使用这篇文章安装了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“。 然后将这个列表传递给xargs , xargs在它的十个包中读取的文件名上运行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,无论)。 这使得维护更容易。