• 最小安装CentOS7后安装Git2.37.2 220828记录



    前言

    CentOS7 用 yum install git 安装的是较旧的版本

    git官网也说, 新版可以用源码编译安装
    RHEL 和衍生产品通常会发布旧版本的 git。 您可以下载 tar球 并从源代码构建,或使用第三方存储库(例如 IUS 社区项目)来获取更新版本的 git。RHEL 和衍生产品通常会发布旧版本的 git。 您可以下载 tar包 并从源代码构建,或使用第三方存储库(例如 IUS 社区项目)来获取更新版本的 git。

    下载一堆编译工具

    可选,将yum源设为国内源(阿里,163…)

    备份 CentOS-Base.repo 文件

    # 备份 /etc/yum.repos.d/CentOS-Base.repo
    sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    
    • 1
    • 2

    设为阿里源

    # CentOS7 yum设为阿里源
    sudo curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    
    • 1
    • 2

    设为163源

    sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
    
    
    • 1
    • 2

    下载安装编译工具

    # 下载安装编译工具
    sudo yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
    
    
    • 1
    • 2
    • 3

    下载安装编译工具的同时,会安装上一个旧版的git , 将其卸载

    sudo yum -y remove git
    
    
    • 1
    • 2

    下载Git

    下载页面和地址

    下载列表页面

    1. https://mirrors.edge.kernel.org/pub/software/scm/git/
      https://mirrors.edge.kernel.org/pub/software/scm/git/

    tar.gz包下载地址

    1. https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.2.tar.gz

    2. https://github.com/git/git/archive/v2.37.2.tar.gz

    下载方法

    用 curl 下载

    curl 在 CentOS7 最小安装 就已经自带

    下载到当前文件夹 , 不改名 , -O是英文字母大写的O
    # 下载到当前文件夹 , 不改名 , -O是英文字母大写的O
    curl -O https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.2.tar.gz
    
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    下载到当前文件夹, 并且指定名称 , -o小写
    # 下载到当前文件夹, 并且指定文件名称为temp , -o小写
    curl -o temp https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.2.tar.gz
    
    
    • 1
    • 2
    • 3
    下载, 并且指定文件路径和名称 , -o小写 , 要先创建文件夹
    # 下载, 并且指定文件路径和名称 , -o小写 , 要先创建文件夹
    mkdir folder1
    curl -o ./folder1/file1 https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.2.tar.gz
    
    
    • 1
    • 2
    • 3
    • 4
    演示

    在这里插入图片描述



    用 wget 下载

    CentOS7最小安装没有自带wget 要 用 sudo yum install wget 安装

    #安装wget
    sudo yum install wget
    
    • 1
    • 2
    wget下载到当前文件夹 , 不改名 , 没有o和O

    wget url 相当于 crul -O url

    # wget下载到当前文件夹 , 不改名 , 没有o和O 
    # 对比 curl -O https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.2.tar.gz
    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.2.tar.gz
    
    
    • 1
    • 2
    • 3
    • 4
    wget下载到当前文件夹, 指定名称, 用-O大写
    # wget下载到当前文件夹, 指定名称, 用-O大写
    # 和curl正好相反, curl的o小写,  wget的O大写
    # 对比 curl -o temp https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.2.tar.gz
    wget -O temp https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.2.tar.gz
    
    • 1
    • 2
    • 3
    • 4




    解压下载的文件

    比如,下载的文件被我命名为 temp

    # z 针对 tar.gz 类型的文件
    # x 解压
    # v 显示过程
    # f 接文件
    # temp 下载的将要被解压文件被我命名为temp
    # --strip-components 1 解压的文件夹去掉第一层前导文件夹
    # -C 自定义解压的文件
    sudo tar -zxvf temp --strip-components 1 -C folder
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8




    make 编译解压的文件 然后安装

    编译

    # 先cd到解压出来的目录
    # 在解压的目录执行
    sudo make prefix=/usr/local/git all
    
    
    • 1
    • 2
    • 3
    • 4

    make是编译
    prefix= 是把prefix这个变量的赋值传到make脚本,也就是makefile里。
    all是makefile中指定的一个编译目标

    阮一峰的网络日志—Make命令教程

    安装

    sudo make prefix=/usr/local/git install
    
    
    • 1
    • 2

    阮一峰的网络日志—Make命令教程




    设置环境变量

    打开 /etc/profile 进行编辑 之后执行

    以管理员身份打开 /etc/profile

    sudo vi /etc/profile
    
    • 1

    加入一行 export PATH=$PATH:/usr/local/git/bin

    export PATH=$PATH:/usr/local/git/bin
    
    • 1

    然后 esc , :wq(冒号wq) 保存退出

    执行 /etc/profile

    source /etc/profile
    
    • 1

    source /etc/profile
    
    • 1

    查看git版本

    git --version
    
    • 1

    git version
    
    • 1




    一气呵成

    #!/bin/bash
    
    # 下载安装编译工具和依赖
    sudo yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc gcc-c++ perl-ExtUtils-MakeMaker
    
    # 删除旧版本git (下载安装编译工具和依赖时,会安装一个旧版本git)
    sudo yum -y remove git
    
    # 来到当前用户主目录 ; 建立一个名为 gitInstallTempFolder的文件夹 ; 进入该文件夹
    cd ~ ; mkdir gitInstallTempFolder ; cd gitInstallTempFolder
    
    # 下载git源码tar.gz包到当前目录, 取名temp
    curl -o temp https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.37.2.tar.gz
    
    # 解压temp到当前文件夹
    # --strip-components 1 的意思是去除第一层目录
    sudo tar -zxvf temp --strip-components 1
    
    # 编译, 编译成功就安装
    sudo make prefix=/usr/local/git all && sudo make prefix=/usr/local/git install
    
    # 向/etc/profile追加环境变量
    sudo echo -e '\n\n\n# 添加git环境变量\nexport PATH=$PATH:/usr/local/git/bin' >> ~/.bash_profile
    
    # 执行~/.bash_profile
    source ~/.bash_profile
    
    # 查看git版本
    git --version
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
  • 相关阅读:
    6.3.3 配置MySQL系统环境变量
    如何安全得下载官方的Notepad++
    【自学笔记】网络安全——黑客技术
    c++ onnx之resnet分类
    【论文精读8】MVSNet系列论文详解-UCS-Net
    flask请求生命周期
    springboot+Elasticsearch进阶
    域委派攻击详解
    webAPI学习大纲整理(一)
    114 接口中幂等性的保证
  • 原文地址:https://blog.csdn.net/kfepiza/article/details/126570336