更新时间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中/混帐”.然后将此列表传送到运行rm的xargs
在文件名上,它以十个包的形式读取(只是为了减少数量
rm调用一个数量级).
处理完文件后,运行
$find /var/tmp/git -type d -printf '/%P\n'
检查已安装目录的列表.这些都需要手动
方法所以只需看看生成的列表并思考它们中的哪一个
可以安全地从你的系统rmdir(这些将是目录
比如“/usr/libexec / git”或类似的东西;你可能不会
想要删除“/usr/share / man / mann”或者其他东西,即使它是空的).
附:将来永远不要通过运行将任何东西安装到系统中安装!这些天大多数makefile都不支持“卸载”目标,因为他们习惯于安装到私人划痕测试或制作包的位置(.rpm,.deb等)然后包裹经理负责清理.如果您需要安装某些东西,请尝试查找官方软件包或尝试从最近的版本中反向移植另一个官方软件包您的操作系统(如果有).作为最后的手段,尝试使用尝试的checkinstall工具从make install运行中创建二进制包.这糟透了,但仍然比裸装make更好.