CentOS 6.5 (Final)默认安装的git版本为1.7.1.3,而我们希望安装1.9.0版本。由于rpm安装库里没有1.9.0版本,因此我们需要找其它方法来安装。

网上有很多文章介绍了如何从git源程序编译和安装,我这里不准备介绍安装过程,只是做个总结。

从git源程序来安装大致有两类,一类是用git源程序中的make install安装,另一类是先对源程序rpmbuild打包,然后再yum localinstall安装。这两种方法都能成功安装,但用make install方法来安装绕过了yum安装模式,给人一种非正统的感觉。毕竟yum是CentOS标准的安装程序,建议采用rpmbuild+yum方式安装。

如果你用make install安装后又想卸载掉该如何操作呢。此时非正统性就显现出来了。若用正统的yum来安装,其后又想卸载则只需执行yum remove命令即可。但用make install来安装就要弄清楚make install到底安装了哪些文件,然后再逐个删除,比较繁琐,甚至还删不干净。若你需要卸载用make install安装的git,可参见:http://serverfault.com/questions/444289/how-to-uninstall-git-installed-from-the-source

另外,如果你用make install方式安装后,当你执行yum list时则仍显示为旧版本,给人造成错觉。

关于如何用rpmbuild+yum从git源程序进行安装,可参见这篇文章:http://itisnormal.com/site/create-an-rpm-file-from-a-tar-gz/

此外,我喜欢入乡随俗,用Linux就得有Linux的样子,优先采用正统的模式。如果你玩Linux还总离不开鼠标那还不如用Windows好了。

我发现很多时候人们都使用./bin/catalina.sh或./bin/startup.sh来启动tomcat,这多少也有非正统的感觉(当然这是正统启动tomcat的命令,但不是在Linux环境里启动服务的正统方法),这是因为启动Linux服务的标准命令是service,只要是服务都用这个命令来启动。试想一下,如果你在某个共享的服务器上准备启动tomcat,如果采用非正统的方式,你就得先要找到tomcat安装在哪里?/usr/local/tomcat?/usr/share/tomcat?/opt/tomcat?等等。而如果采用正统方式,则只需执行service tomcat start命令即可(如有必要先用chkconfig --list命令检查一下有哪些服务)。

这也跟maven和ant的区别一样,用ant时你就得很清楚在build.xml里定义了哪些target,然后再分别执行。当build.xml是别人书写的时候这个问题就突出了。而用maven就标准化了,不论是谁写的pom.xml文件,对这个工程的compile、test、install、deploy等操作命令都一样,十分方便多人团队开发。

在Linux CentOS 6.5 (Final)上安装git-1.9.0的更多相关文章

  1. 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器

    #!/bin/bash # # 在Linux(CentOS 6.6)服务器上安装并配置基于Apache的SVN服务器: # # .安装服务 # .创建svn版本库 # .创建svn用户 # .配置sv ...

  2. CentOS 7 / RHEL 7 上安装 LAMP + phpMyAdmin

    原文 CentOS 7 / RHEL 7 上安装 LAMP + phpMyAdmin 发表于 2014-11-02 作者 Haoxian Zeng 更新于 2014-12-12   之前根据在 Lin ...

  3. CentOS 6.5系统上安装SVN服务器端的方法及目录访问权限配置(转总结)

    SVN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服 ...

  4. 在 CentOS 8/RHEL 8 上安装和使用 Cockpit

    Cockpit 是一个基于 Web 的服务器管理工具,可用于 CentOS 和 RHEL 系统.最近发布的 CentOS 8 和 RHEL 8,其中 cockpit 是默认的服务器管理工具.它的软件包 ...

  5. CentOS 6.5系统上安装SVN服务器端的方法及步骤

    VN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服务 ...

  6. RAC分解步骤之一,在oracle linux 4u4上安装oracle 10.2.0.1.0操作日志

    练习oracle的rac组建过程,第一步,先练习4u4上安装oracle 10.2.0.1.0.直接安装rac,有些难度.从简单的做起.总RAC步骤,参照小布老师的RAC组建. 1. 启动vc,登陆v ...

  7. Linux(CentOS 7)命令行模式安装VMware Tools 详解

    本篇文章主要介绍了如何在Linux(CentOS 7)命令行模式安装VMware Tools,具有一定的参考价值,感兴趣的小伙伴们可以参考一下. 本例中为在Linux(以CentOS 7为例)安装VM ...

  8. Linux上安装git

    Linux上安装git Git是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. 而国外的GitHub和国内的Coding都是项目的托管平台.但是在使用Git工具的时候 ...

  9. CentOS 6.x/7.x上安装git

    yum安装 # yum info git # yum install -y git 可以通过下面的命令来检查是否安装了git环境 git --version 参考:如何在CentOS 6.x/7.x上 ...

随机推荐

  1. Remove Invalid Parentheses 解答

    Question Remove the minimum number of invalid parentheses in order to make the input string valid. R ...

  2. Reverse Nodes in k-Group 解答

    Question Given a linked list, reverse the nodes of a linked list k at a time and return its modified ...

  3. ZOJ3829---模拟,贪心

    这是2014年ACM亚洲区预赛牡丹江现场赛的一道题,铜牌题,可惜当时一路WA到死... 只有乘法的后缀表达式的特点有两个:(1)数字的数量一定大于‘*’的数量(2)最后一位一定是‘*’: 数字比*多的 ...

  4. onethink 验证码二维码不显示的问题

    常规思路: 1 检查GD和FreeType.在项目根目录(index.php同级)下放一个php文件 <?php echo phpinfo(); ?> 访问此文件,查看GD和FreeTyp ...

  5. Unity 安卓下DLL热更新一(核心思想)

    大家都知道一谈起热更新的话首选是Ulua这个插件, 其实Unity可以使用dll热更新的,如果你实在不想用Lua来编写逻辑,0.0请下看Dll+AssetBundle如何实现热更新的.让你看完这个文章 ...

  6. C/S系统实现两数求和(非阻塞+epoll+心跳包检测用户在线状况+滚动日志+配置文件.)

    C/S系统实现两数求和 任务要求: 实现配置文件 实现日志滚动 设置非阻塞套接字,EPOLL实现 检测客户端的连接,设置心跳检测 主线程 + 心跳检测线程 + EPOLL的ET模式处理事务线程 注意事 ...

  7. 设计模式13---设计模式之观察者模式(Observer)(行为型)

    1.场景模式抽象 订阅报纸的过程,如果报纸来了的时间不确定,那么订报纸的人如何知道呢?可以抽象为:当一个对象的状态发生改变的时候,如何让依赖他的所有对象得到通知,并进行相应的处理呢?生活中最常见的例子 ...

  8. EasyUI 两个日期比较

    两个日期进行比较,后一个日期不能早于晚一个日期.需要自己去扩展validatebox的方法 1.对比2个密码是否相同 $.extend($.fn.validatebox.defaults.rules, ...

  9. Boost线程库学习笔记

    一.创建一个线程 创建线程 boost::thread myThread(threadFun); 需要注意的是:参数可以是函数对象或者函数指针.并且这个函数无参数,并返回void类型. 当一个thre ...

  10. IE下使用jquery ajax失效

    ie是根据请求的url是不是一样来是否发送请求,对于同一请求,ie只发送一次http请求,得到缓存之后就不再请求,所以同一请求发送多次,但ie实际是不会发送的 在你的第二次请求之前 使用 $.ajax ...