1. 程式人生 > >centos 7 升級 git 版本(通過安裝 ius 源的方式)

centos 7 升級 git 版本(通過安裝 ius 源的方式)

文章目錄

檢視系統相關資訊

檢視CentOS的版本號

[[email protected] ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core) 

檢視核心版本

[[email protected] ~]# uname -r
3.10.0-693.el7.x86_64

檢視 git 版本

[[email protected] haskell]# git version
git version 1.8.3.1

可以看到,我的 CentOS 7 中自帶的是 1.8.3.1 版本的git,我想升級到最新版本,於是我進入了git官網,去找我該怎麼升級我的git版本。

進入相關下載頁面(https://git-scm.com/download/linux) 可以看到以下資訊:
在這裡插入圖片描述
我們可以看到,我們使用的 Red Hat 有兩種升級我們 git 版本的方式,分別是:

  1. 原始碼編譯安裝的方式
  2. 用第三方 yum 源,來更新我們的 git 版本

通過安裝第三方 yum 源的方式來更新git

下載對應的 yum 源

我們點選進入 the IUS Community Project 網站,首頁是這樣的:
在這裡插入圖片描述
可以看到,這個頁面很友好,很乾淨。簡單的介紹了一下專案用途,專案哲學,介紹了以下怎麼使用。

然後我們可以點選下圖中的這個連結,進入對應的頁面:
在這裡插入圖片描述
這裡為了方便直接,我直接在這裡放出頁面地址:https://ius.io/GettingStarted/

點進去以後,找到下面這一段:
在這裡插入圖片描述
用我四級的水平稍微理解了一下,可以明白,我麼們用的 CentOS 系統,可以跳過安裝 epel-release ,直接進入第二步了。

然後我們就能回到我們的 Linux,通過 wget 下載對應版本的 rpm 源。

[[email protected] ~]# wget https://centos7.iuscommunity.org/ius-release.rpm
--2018-11-07 09:29:06--  https://centos7.iuscommunity.org/ius-release.rpm
正在解析主機 centos7.iuscommunity.org (centos7.iuscommunity.org)... 162.242.221.48, 2001:4802:7801:102:be76:4eff:fe21:14aa
正在連線 centos7.iuscommunity.org (centos7.iuscommunity.org)|162.242.221.48|:443... 已連線。
已發出 HTTP 請求,正在等待迴應... 301 Moved Permanently
位置:https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm [跟隨至新的 URL]
--2018-11-07 09:29:11--  https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm
正在解析主機 dl.iuscommunity.org (dl.iuscommunity.org)... 146.20.25.47, 2001:4802:7901:0:4ccc:ff11:0:a
正在連線 dl.iuscommunity.org (dl.iuscommunity.org)|146.20.25.47|:443... 已連線。
已發出 HTTP 請求,正在等待迴應... 200 OK
長度:8340 (8.1K) [application/x-redhat-package-manager]
正在儲存至: “ius-release.rpm”

100%[================================================================>] 8,340       --.-K/s 用時 0s      

2018-11-07 09:29:15 (95.7 MB/s) - 已儲存 “ius-release.rpm” [8340/8340])

如果你還沒有安裝 wget,那麼這裡安利一下我之前寫過的一篇安裝 python3 的文章,https://blog.csdn.net/lovefengruoqing/article/details/79284573,裡面有安裝 wget 的教程,希望能幫到你。

安裝 yum 源

[[email protected] ~]# rpm -i ius-release.rpm 
警告:ius-release.rpm: 頭V4 DSA/SHA1 Signature, 金鑰 ID 9cd4953f: NOKEY

刪除掉已經存在的 git

如果不刪除,直接安裝,會報錯:

[[email protected] ~]# yum install git2u
已載入外掛:fastestmirror, langpacks, replace
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * ius: hkg.mirror.rackspace.com
 * updates: mirrors.aliyun.com
正在解決依賴關係
--> 正在檢查事務
---> 軟體包 git2u.x86_64.0.2.16.5-1.ius.centos7 將被 安裝
--> 正在處理依賴關係 git2u-core = 2.16.5-1.ius.centos7,它被軟體包 git2u-2.16.5-1.ius.centos7.x86_64 需要
--> 正在處理依賴關係 git2u-core-doc = 2.16.5-1.ius.centos7,它被軟體包 git2u-2.16.5-1.ius.centos7.x86_64 需要
--> 正在處理依賴關係 git2u-perl-Git = 2.16.5-1.ius.centos7,它被軟體包 git2u-2.16.5-1.ius.centos7.x86_64 需要
--> 正在檢查事務
---> 軟體包 git2u-core.x86_64.0.2.16.5-1.ius.centos7 將被 安裝
---> 軟體包 git2u-core-doc.noarch.0.2.16.5-1.ius.centos7 將被 安裝
---> 軟體包 git2u-perl-Git.noarch.0.2.16.5-1.ius.centos7 將被 安裝
--> 處理 git2u-core-2.16.5-1.ius.centos7.x86_64 與 git-core < 2.16.5 的衝突
--> 處理 git2u-perl-Git-2.16.5-1.ius.centos7.noarch 與 perl-Git < 2.16.5 的衝突
--> 處理 git2u-2.16.5-1.ius.centos7.x86_64 與 git < 2.16.5 的衝突
--> 解決依賴關係完成
錯誤:git2u-perl-Git conflicts with perl-Git-1.8.3.1-14.el7_5.noarch
錯誤:git2u conflicts with git-1.8.3.1-14.el7_5.x86_64
錯誤:git2u-core conflicts with git-1.8.3.1-14.el7_5.x86_64
 您可以嘗試新增 --skip-broken 選項來解決該問題
 您可以嘗試執行:rpm -Va --nofiles --nodigest

這裡需要注意的是,使用ius源安裝的軟體,一般都會在軟體名稱後面加上版本號u,我們查詢一下就能知道:

[[email protected] ~]# yum info git*u --disablerepo=base,extras,updates --enablerepo=ius
已載入外掛:fastestmirror, langpacks, replace
Loading mirror speeds from cached hostfile
 * epel: mirrors.aliyun.com
 * ius: mirrors.tuna.tsinghua.edu.cn
已安裝的軟體包
名稱    :git2u
架構    :x86_64
版本    :2.16.5
釋出    :1.ius.centos7
大小    :2.3 M
源    :installed
來自源:ius
簡介    : Fast Version Control System
網址    :https://git-scm.com
協議    : GPLv2
描述    : Git is a fast, scalable, distributed revision control system with an
         : unusually rich command set that provides both high-level operations
         : and full access to internals.
         : 
         : The git rpm installs common set of tools which are usually using with
         : small amount of dependencies. To install all git packages, including
         : tools for integrating with other SCMs, install the git-all meta-package.

通過查詢得知,在 ius 源中有 2.16.5 版本的 git,這已經比我們系統自帶的 1.8.3.1 版本的 git 好多了。

刪除掉原本的版本的 git:

yum remove git

安裝 ius 源中的 git

安裝命令為:

yum install git2u 

安裝完成以後檢查一下版本:

[[email protected] ~]# git version
git version 2.16.5

恭喜你,你已經成功通過 ius 源,安裝了新版本的 git 了。

後記

至於通過原始碼編譯的方式安裝 git,我之前寫過一篇類似的文章,地址為:https://lovefengruoqing.github.io/blog/CentOS下git最新版本的安裝方法.html ,順便安利一下我用 hexo 搭建的個人部落格吧。