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

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

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

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

1. Debian/Ubuntu及其衍生版

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

bash 复制代码
sudo apt update 
sudo apt install git

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

2. CentOS/RHEL及其衍生版

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

bash 复制代码
sudo dnf install git # CentOS 8及以上 
# 或者 
sudo yum install git # CentOS 7及以下

二、从源代码编译安装

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

1. 下载Git源代码

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

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

bash 复制代码
wget https://www.kernel.org/pub/software/scm/git/git-*.tar.gz

或者到官网下载

2. 解压源代码包

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

bash 复制代码
tar -zxvf git-*.tar.gz 
cd git-*
3. 安装编译依赖

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

例如,在Debian/Ubuntu上:

bash 复制代码
sudo apt install libcurl4-openssl-dev libexpat1-dev gettext libz-dev libssl-dev gcc

在CentOS/RHEL上:

bash 复制代码
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc

4. 编译和安装Git

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

bash 复制代码
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是安装包的目录

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

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

bash 复制代码
export GIT_HOME=/usr/local/git 
export PATH=$GIT_HOME/bin:$PATH

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

bash 复制代码
source /etc/profile
6. 验证安装

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

总结

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

相关推荐
朝九晚五ฺ2 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream2 小时前
Linux的桌面
linux
xiaozhiwise3 小时前
Makefile 之 自动化变量
linux
Kkooe3 小时前
GitLab|数据迁移
运维·服务器·git
Beekeeper&&P...4 小时前
git bash是什么,git是什么,git中的暂存区是什么,git中的本地仓库是什么,git中工作目录指的是什么
开发语言·git·bash
意疏5 小时前
【Linux 篇】Docker 的容器之海与镜像之岛:于 Linux 系统内探索容器化的奇妙航行
linux·docker
BLEACH-heiqiyihu5 小时前
RedHat7—Linux中kickstart自动安装脚本制作
linux·运维·服务器
一只爱撸猫的程序猿5 小时前
一个简单的Linux 服务器性能优化案例
linux·mysql·nginx
我的K84096 小时前
Flink整合Hudi及使用
linux·服务器·flink