Linux系统中安装Git(详细教程)

news2024/12/23 9:34:34

在Linux系统中安装Git,可以通过多种方式来实现,主要包括使用包管理器安装和从源代码编译安装。以下是详细的安装步骤:

一、使用包管理器安装(不建议该方式)

大多数Linux发行版都提供了包管理器,如Debian/Ubuntu的apt、CentOS/RHEL的yum/dnf等,通过这些包管理器可以方便地安装Git。

1. Debian/Ubuntu及其衍生版

打开终端,执行以下命令:

sudo apt update 
sudo apt install git

这将更新系统的包索引,并安装Git及其依赖项。

2. CentOS/RHEL及其衍生版

对于较新版本的CentOS(如CentOS 8及以上)和RHEL,可以使用dnf包管理器(CentOS 7及以下版本使用yum):

sudo dnf install git # CentOS 8及以上 
# 或者 
sudo yum install git # CentOS 7及以下

二、从源代码编译安装

如果需要安装特定版本的Git或者进行自定义配置,可以从源代码编译安装。

1. 下载Git源代码

访问Git官网或者其镜像站点下载Git的源代码包。也可以使用wget命令直接从命令行下载:

请将*替换为具体的版本号。

wget https://www.kernel.org/pub/software/scm/git/git-*.tar.gz

或者到官网下载


 

2. 解压源代码包

将下载的源代码包解压到指定目录:

tar -zxvf git-*.tar.gz 
cd git-*
3. 安装编译依赖

使用包管理器安装编译Git所需的依赖项。具体依赖项可能因Linux发行版而异,但通常包括curl、expat、gettext、openssl、zlib等库的开发文件以及gcc编译器。

例如,在Debian/Ubuntu上:

sudo apt install libcurl4-openssl-dev libexpat1-dev gettext libz-dev libssl-dev gcc

在CentOS/RHEL上:

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc


4. 编译和安装Git

在解压后的Git源代码目录中,执行以下命令进行编译和安装:

make prefix=/usr/local/git all 
sudo make prefix=/usr/local/git install

这里的/usr/local/git是Git的安装目录,可以根据需要修改。

注意:如果报错http.c:655:28: error: ‘CURLOPT_PROXYHEADER’ undeclared (first use in this function) curl_easy_setopt(result, CURLOPT_PROXYHEADER,

   /mydata/git是安装包的目录

whereis curl; ./configure --prefix=/mydata/git --with-curl=/usr/bin/curl; make; make install;
5. 配置环境变量

编辑/etc/profile文件或用户的~/.bashrc文件,添加Git的安装目录到PATH环境变量中:

export GIT_HOME=/usr/local/git 
export PATH=$GIT_HOME/bin:$PATH

然后,执行source /etc/profilesource ~/.bashrc使配置生效。

source /etc/profile
6. 验证安装

通过执行git --version命令来验证Git是否已成功安装,并检查其版本号。

总结

以上就是Linux系统中安装Git的两种方法:使用包管理器安装和从源代码编译安装。根据实际需要选择适合的安装方式。对于大多数用户来说,使用包管理器安装已经足够方便和快捷。如果需要安装特定版本或进行自定义配置,则可以考虑从源代码编译安装。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2056196.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

90%的人都在用这7个图片转pdf技巧,转换速度很快!

图片怎么转换成pdf格式?图片和pdf格式是两种完全不一样的格式,但是如果想要将图片转换成pdf格式还是蛮容易的,常见的方法就有数十种了。 本文整理了几种常见的图片转pdf的方法,包括图片转pdf在线方法,有需要的朋友可以…

取证工具 ElcomSoft iOS Forensics Toolkit: 在 Windows 中加载 HFS 镜像

天津鸿萌科贸发展有限公司是 ElcomSoft 系列取证软件的授权代理商。 Elcomsoft iOS Forensics Toolkit 功能简介 Elcomsoft iOS Forensics Toolkit 软件工具包适用于取证工作,对 iPhone、iPad 和 iPod Touch 设备执行完整文件系统和逻辑数据采集。对设备文件系统制…

【Linux操作系统】基础IO

目录 一、接口使用1.1 铺垫知识1.2 C接口使用1.3 系统接口使用 二、认识fd三、缓冲区四、文件系统五、软硬连接六、动静态库6.1 静态库的制作和使用6.1 动态库的制作和使用 七、理解动态库加载 一、接口使用 1.1 铺垫知识 文件文件内容文件属性 。一个文件如果它的文件内容为…

AI产品经理如何入门?零基础入门到精通,收藏这一篇就够了

现在做产品经理,真的挺累的。 现在产品越来越难做,晋升困难,工资迟迟不涨……公司裁员,产品经理首当其冲!! 做产品几年了,还没升职,就先到了“职业天花板”。 想凭工作几年积累的…

linux被植入木马排查思路

linux被植入木马排查思路 一、是否侵入检查 1)检查系统登录日志 last命令 2)检查系统用户 1、检查是否有异常用户 cat /etc/passwd 2、查看是否产生了新用户、uid和gid为0的用户 grep "0" /etc/passwd 3、查看passwd的修改时间&#xf…

CY7C68000 实现High Speed USB2 UART

已经在Malogic PFGA Board 上用CY7C68000 实现High Speed USB2UART,店铺还上架了 ULPI (USB3300)的 TestBench 和ModelSim 验证环境,刚刚写出来的,其实效果和UTMI差不多, 比UTMI麻烦一些,需要写…

k8s篇之kubectl安装命令自动补全插件

1. 简介 常见情况:在部署生产环境或者测试环境的k8s集群时,常因输入命令繁琐,使得执行相关k8s操作排错时麻烦,以下自动补全插件即可解决这一问题。 以下安装亲测有效 2. 安装 安装bash completion yum install -y bash-comple…

车载以太网交换机入门基本功(3)—VLAN 转发

在《车载以太网交换机入门基本功(2)》中提到,报文通过携带Tag字段,表明报文所属的VLAN。本文将介绍携带Tag报文在VLAN下的转发过程。而在实际转发过程中,交换机的端口属性起到关键作用。 交换机端口属性 交换机的端口…

计算机毕业设计选题推荐-地震数据分析与预测-Python爬虫可视化

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

Java语言程序设计——篇十五(2)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

如何在C++ QT 程序中集成cef3开源浏览器组件去显示网页?

目录 1、问题描述 2、为什么选择cef3浏览器组件 3、cef3组件的介绍与下载 4、将cef3组件封装成sdk 5、如何使用cef3组件加载web页面 5.1、了解CefApp与CefClient 5.2、初始化与消息循环 5.3、如何创建浏览器 5.4、重载CefClient类 6、在qt客户端集成cef组件 7、最后…

国内外大模型汇总:Open AI大模型、Google大模型、Microsoft大模型、文心一言大模型、通义千问大模型、字节豆包大模型、智普清言大模型

Open AI大模型 特点: 多模态能力:如GPT-4o,能接受文本、音频、图像作为组合输入,并生成任意形式的输出。 情感识别与回应:具备情感识别能力,能根据对话者的情绪做出有感情的回应。 几乎无延迟&#xff…

python中sum是什么意思

在开发语言中,sum函数是求和函数,用于求多个数据的和。而在python中,虽然也是求和函数,但稍微有些差别,sum()传入的参数得是可迭代对象(比如列表就是一个可迭代对象),返回这个被传入…

webflux源码解析(3)-reactor netty

目录 1.连接的状态2.reactor netty中的连接状态3. webflux中的io处理4.总结 为什么webflux在io密集型的场景能有效的提升系统吞吐量呢? 是因为它使用的是响应式编程,使用的是NIO,但这里的响应式、nio到底是怎么样的呢?响应式编程上…

自动化智能立体库验收报告

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 这份文件是一份关于自动化智能立体库的验收报告,它包含了以下几个核心部分: 到货验收表:列出了自动化智能立体…

dubbo:dubbo整合nacos实现服务注册中心、配置中心(二)

文章目录 0. 引言1. nacos简介及安装2. 注册中心实现3. 配置中心实现4. 源码5. 总结 0. 引言 之前我们讲解的是dubbozookeeper体系来实现微服务框架,但相对zookeeper很多企业在使用nacos, 并且nacos和dubbo都是阿里出品,所以具备一些天生的契合性&#…

黑神话:悟空四年前就布局商标,多个名称申请全类!

近日黑神话:悟空上线,预售超4亿元,普推知产商标老杨经检索发现,背后的主体游科互动早在三年前就布局商标,申请了多个核心名称的45类全类的商标。 背后的游科互动名下申请了245件商标,其“黑悟空”是2021年申…

如何通过观测云实现AIOps突破?

在当今信息技术迅猛发展的浪潮中,企业正置身于一个日益复杂化的 IT 环境,并面临着数据量的爆炸性增长。智能运维(AIOps),作为 IT 运维管理领域的革新者,融合了大数据和机器学习技术,致力于对 IT…

全场景——(四)Modbus 通讯协议

文章目录 一、学习Modbus的快速方法1.1 寄存器速记1.2 协议速记 二、初识Modbus2.1 背景2.2 什么是Modbus?2.2.1 Modbus简介2.2.2 Modbus特点2.2.3 Modbus常用术语2.2.4 Modbus事务处理 三、Modbus软件与使用3.1 Modbus软件简介3.2 Modbus Poll(主站设备…

鸿蒙HarmonyOS之使用ArkTs语言实现层级树状目录选择UI

一、实现效果 二、实现步骤 代码示例中用到的颜色、图片等资源可以自行替换设置 1、Index.ets 里面调用 import { CategoryView} from ./CategoryView;//主页面 Entry Component struct Index {State tabsIndex: number 0;build() {...//层级目录ViewCategoryView()...} …