我使用本文安装了git 。现在我要卸载git。怎么做?
我使用本文安装了git 。现在我要卸载git。怎么做?
Answers:
我在这里找到了解决方案。
更新了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用户身份)确实将第一次误安装所安装的文件删除到root文件系统中。上面的说明使用/ var / tmp / git层次结构来打印找到的文件列表,但是它将其中的“ / var / tmp / git”前缀替换为“ /”,以便将“ / var / tmp / git”输出中的“ / usr / bin / git”将最终列为“ / usr / bin / git”。该列表将通过管道输送到xargs
它运行rm
在其上的十个包读取文件名(只减少调用次数rm
由一个数量级)。
处理完文件后,运行
$ find /var/tmp/git -type d -printf '/%P\n'
检查已安装目录的列表。这些需要手动处理,因此只需查看生成的列表,然后考虑可以安全地rmdir
从系统中选择哪些列表(这些目录将是“ / usr / libexec / git”之类的目录或类似的目录;您可能不想删除“ / usr / share / man / mann”或其他内容(即使为空)。
PS将来永远不要通过运行将任何东西安装到系统中
make install
!如今,大多数makefile都不支持“卸载”目标,因为它们习惯于安装到专用的暂存位置进行测试或制作软件包(.rpm,.deb等),然后软件包管理器负责清理。如果需要安装某些软件,请尝试找到一个官方软件包,或者尝试从较新版本的操作系统中向后移植另一个官方软件包(如果有)。作为最后的选择,请尝试使用checkinstall
尝试在运行时创建二进制包的工具make install
。这很烂,但仍然比光秃秃的要好make install
。
./configure
。sudo make && sudo make DESTDIR=/var/tmp/git install
。sudo find /var/tmp/git -type f -printf '/%P\n' | sudo xargs -n 10 rm -f
我刚刚浏览了2691行的Makefile。确实没有make卸载。德拉特
在这种情况下,解决方法可能是使用该make rpm
选项。安装rpm(覆盖所有已安装的文件,该文件应与已安装的文件相同)。然后卸载rpm。
在所有将来的情况下,请构建一个程序包(RPM,yum等)。它使维护变得非常容易。
make install
将东西放在前缀中,/usr/local
而rpm / deb / your-package-here在这里./configure
使用不同的参数运行,因此它们安装的文件以prefix结尾/usr
。
make rpm
命令。接下来我该怎么办?
man rpm
或开头'rpm --help
。它可能会告诉您使用rpm -i packagename.rpm
。但是,最好在伞网请求系统管理员帮助您。我们只能在远处做很多事情。
make install
使用的源代码?