CentOS7 升级 Git (最新方法,秒杀一切旧方法!)

使用 IUS 安装,该方法也是 Git 官方推荐的。

CentOS7 升级 Git (最新方法,秒杀一切旧方法!)

  ————2024.5.6

使用 IUS 安装,该方法也是 Git 官方推荐的。

RHEL 及其衍生产品(包括 CentOS )通常会优先考虑安全性和稳定性,而不是添加新功能。这构造了一个安全且稳定的操作系统,但有时用户愿意牺牲一些稳定性,以便获得较新软件版本中的功能。

参考链接

HinGwenWoong 【CentOS7 升级 Git (最新方法,秒杀一切旧方法!)】

操作步骤

1. 卸载旧版本的Git

yum remove git

执行以下命令:

[root@192 ~]# yum remove git
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 git.x86_64.0.1.8.3.1-25.el7_9 将被 删除
--> 正在处理依赖关系 git = 1.8.3.1-25.el7_9,它被软件包 perl-Git-1.8.3.1-25.el7_9.noarch 需要
--> 正在检查事务
---> 软件包 perl-Git.noarch.0.1.8.3.1-25.el7_9 将被 删除
--> 解决依赖关系完成

依赖关系解决

===================================================================
 Package      架构       版本                   源            大小
===================================================================
正在删除:
 git          x86_64     1.8.3.1-25.el7_9       @updates      22 M
为依赖而移除:
 perl-Git     noarch     1.8.3.1-25.el7_9       @updates      57 k

事务概要
===================================================================
移除  1 软件包 (+1 依赖软件包)

安装大小:22 M
是否继续?[y/N]:y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在删除    : perl-Git-1.8.3.1-25.el7_9.noarch               1/2 
  正在删除    : git-1.8.3.1-25.el7_9.x86_64                    2/2 
  验证中      : git-1.8.3.1-25.el7_9.x86_64                    1/2 
  验证中      : perl-Git-1.8.3.1-25.el7_9.noarch               2/2 

删除:
  git.x86_64 0:1.8.3.1-25.el7_9                                    

作为依赖被删除:
  perl-Git.noarch 0:1.8.3.1-25.el7_9                               

完毕!

2. 安装 IUS:

RHEL/CentOS 7 操作系统

yum install \
https://repo.ius.io/ius-release-el7.rpm \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

执行以下命令(因连接外网不稳定,执行了很多次才成功):

[root@192 ~]# yum install https://repo.ius.io/ius-release-el7.rpm https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
已加载插件:fastestmirror, langpacks
ius-release-el7.rpm                         | 8.2 kB     00:00     
正在检查 /var/tmp/yum-root-FJrPhY/ius-release-el7.rpm: ius-release-2-1.el7.ius.noarch
/var/tmp/yum-root-FJrPhY/ius-release-el7.rpm 将被安装
epel-release-latest-7.noarch.rpm            |  15 kB     00:00     
正在检查 /var/tmp/yum-root-FJrPhY/epel-release-latest-7.noarch.rpm: epel-release-7-14.noarch
/var/tmp/yum-root-FJrPhY/epel-release-latest-7.noarch.rpm 将被安装
正在解决依赖关系
--> 正在检查事务
---> 软件包 epel-release.noarch.0.7-14 将被 安装
---> 软件包 ius-release.noarch.0.2-1.el7.ius 将被 安装
--> 解决依赖关系完成

依赖关系解决

===================================================================
 Package      架构   版本      源                             大小
===================================================================
正在安装:
 epel-release noarch 7-14      /epel-release-latest-7.noarch  25 k
 ius-release  noarch 2-1.el7.ius
                               /ius-release-el7              4.5 k

事务概要
===================================================================
安装  2 软件包

总计:30 k
安装大小:30 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : epel-release-7-14.noarch                       1/2 
  正在安装    : ius-release-2-1.el7.ius.noarch                 2/2 
  验证中      : epel-release-7-14.noarch                       1/2 
  验证中      : ius-release-2-1.el7.ius.noarch                 2/2 

已安装:
  epel-release.noarch 0:7-14    ius-release.noarch 0:2-1.el7.ius   

完毕!

3. 去到 IUS 的 Github repo 查看需要的库和版本:

我这里搜索到的是 Git 2.36

iusrepo/git236
Fast Version Control System
rpm·hacktoberfest
Shell·13·Updated on 2023年5月3日

4. 去到 CentOS 在命令行直接敲:

yum install git224

执行以下命令:

[root@192 ~]# yum install git236
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.nju.edu.cn
 * centos-sclo-rh: mirrors.nju.edu.cn
 * centos-sclo-sclo: mirrors.huaweicloud.com
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.nju.edu.cn
 * updates: mirrors.nju.edu.cn
base                                        | 3.6 kB     00:00     
centos-sclo-rh                              | 3.0 kB     00:00     
centos-sclo-sclo                            | 3.0 kB     00:00     
daftaupe-hugo                               | 1.8 kB     00:00     
extras                                      | 2.9 kB     00:00     
ius                                         | 1.3 kB     00:00     
updates                                     | 2.9 kB     00:00     
ius/x86_64/primary                            |  40 kB   00:23     
ius                                                        159/159
正在解决依赖关系
--> 正在检查事务
---> 软件包 git236.x86_64.0.2.36.6-1.el7.ius 将被 安装
--> 正在处理依赖关系 perl-Git = 2.36.6-1.el7.ius,它被软件包 git236-2.36.6-1.el7.ius.x86_64 需要
--> 正在处理依赖关系 git-core-doc = 2.36.6-1.el7.ius,它被软件包 git236-2.36.6-1.el7.ius.x86_64 需要
--> 正在处理依赖关系 git-core = 2.36.6-1.el7.ius,它被软件包 git236-2.36.6-1.el7.ius.x86_64 需要
--> 正在处理依赖关系 perl(Git::I18N),它被软件包 git236-2.36.6-1.el7.ius.x86_64 需要
--> 正在处理依赖关系 perl(Git),它被软件包 git236-2.36.6-1.el7.ius.x86_64 需要
--> 正在检查事务
---> 软件包 git236-core.x86_64.0.2.36.6-1.el7.ius 将被 安装
---> 软件包 git236-core-doc.noarch.0.2.36.6-1.el7.ius 将被 安装
---> 软件包 git236-perl-Git.noarch.0.2.36.6-1.el7.ius 将被 安装
--> 解决依赖关系完成

依赖关系解决

===================================================================
 Package             架构       版本                 源       大小
===================================================================
正在安装:
 git236              x86_64     2.36.6-1.el7.ius     ius      71 k
为依赖而安装:
 git236-core         x86_64     2.36.6-1.el7.ius     ius     6.9 M
 git236-core-doc     noarch     2.36.6-1.el7.ius     ius     2.8 M
 git236-perl-Git     noarch     2.36.6-1.el7.ius     ius      46 k

事务概要
===================================================================
安装  1 软件包 (+3 依赖软件包)

总下载量:9.7 M
安装大小:40 M
Is this ok [y/d/N]: y
Downloading packages:
警告:/var/cache/yum/x86_64/7/ius/packages/git236-2.36.6-1.el7.ius.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 4b274df2: NOKEY
git236-2.36.6-1.el7.ius.x86_64.rpm 的公钥尚未安装
(1/4): git236-2.36.6-1.el7.ius.x86_64.rpm     |  71 kB   00:23     
(2/4): git236-core-2.36.6-1.el7.ius.x86_64.rp | 6.9 MB   00:24     
(3/4): git236-core-doc-2.36.6-1.el7.ius.noarc | 2.8 MB   00:01     
(4/4): git236-perl-Git-2.36.6-1.el7.ius.noarc |  46 kB   00:00     
-------------------------------------------------------------------
总计                                  398 kB/s | 9.7 MB  00:25     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7 检索密钥
导入 GPG key 0x4B274DF2:
 用户ID     : "IUS (7) <dev@ius.io>"
 指纹       : c958 7a09 a11f d706 4f0c a0f4 e558 0725 4b27 4df2
 软件包     : ius-release-2-1.el7.ius.noarch (@/ius-release-el7)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7
是否继续?[y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : git236-core-2.36.6-1.el7.ius.x86_64            1/4 
  正在安装    : git236-core-doc-2.36.6-1.el7.ius.noarch        2/4 
  正在安装    : git236-perl-Git-2.36.6-1.el7.ius.noarch        3/4 
  正在安装    : git236-2.36.6-1.el7.ius.x86_64                 4/4 
  验证中      : git236-2.36.6-1.el7.ius.x86_64                 1/4 
  验证中      : git236-core-doc-2.36.6-1.el7.ius.noarch        2/4 
  验证中      : git236-perl-Git-2.36.6-1.el7.ius.noarch        3/4 
  验证中      : git236-core-2.36.6-1.el7.ius.x86_64            4/4 

已安装:
  git236.x86_64 0:2.36.6-1.el7.ius                                 

作为依赖被安装:
  git236-core.x86_64 0:2.36.6-1.el7.ius                            
  git236-core-doc.noarch 0:2.36.6-1.el7.ius                        
  git236-perl-Git.noarch 0:2.36.6-1.el7.ius                        

完毕!

5. 检查安装版本

git version

执行以下命令:

[root@192 ~]# git version
git version 2.36.6

安装成功!