码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 最小安装CentOS7后安装Git2.37.2 220828记录


    CentOS7安装Git2.37.2

    • 前言
    • 下载一堆编译工具
      • 可选,将yum源设为国内源(阿里,163..)
    • 下载Git
      • 下载页面和地址
        • 下载列表页面
        • tar.gz包下载地址
      • 下载方法
        • 用 curl 下载
          • 下载到当前文件夹 , 不改名 , -O是英文字母大写的O
          • 下载到当前文件夹, 并且指定名称 , -o小写
          • 下载, 并且指定文件路径和名称 , -o小写 , 要先创建文件夹
          • 演示
        • 用 wget 下载
          • wget下载到当前文件夹 , 不改名 , 没有o和O
          • wget下载到当前文件夹, 指定名称, 用-O大写
    • 解压下载的文件
    • make 编译解压的文件 然后安装
      • 编译
      • 安装
    • 设置环境变量
      • 打开 /etc/profile 进行编辑 之后执行
        • 以管理员身份打开 /etc/profile
        • 加入一行 export PATH=$PATH:/usr/local/git/bin
        • 执行 /etc/profile
        • 查看git版本
    • 一气呵成


    前言

    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
  • 相关阅读:
    centos yum源配置(CentOS7 原生 yum 源修改为阿里 yum 源)
    【软考-软件设计师精华知识点笔记】第十一章 法律法规与标准化
    P1827 [USACO3.4] 美国血统 American Heritage(前序 + 中序 生成后序)
    【算法竞赛01】leetcode第363场周赛
    C语言实现基于高效率IP路由查找的内容
    LLVM学习入门(2):实现解析器 Parser 和语法树 AST
    久贺谷亮《高效休息法》读书笔记
    泛型机制和增强for循环
    5G和移动边缘计算服务器如何打造智慧园区
    第八章 兼容多种模块标准的软件包封装
  • 原文地址:https://blog.csdn.net/kfepiza/article/details/126570336
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号