在CentOS 7系统下使用yum安装Git服务器的详细步骤指南
时间:2026-06-24 22:29
在 Linux 上安装 Git,最直截了当的方式当然是 yum 一把梭。但如果你需要比较新的版本——比如需要支持某些新协议或者新功能——那就得自己动手编译了。下面把整个过程拆开来讲,从卸载旧版本到配置环境变量,再到可能遇到的坑,都会提到。 先用 yum 装上看看版本: yum install git
在 Linux 上安装 Git,最直截了当的方式当然是 yum 一把梭。但如果你需要比较新的版本——比如需要支持某些新协议或者新功能——那就得自己动手编译了。下面把整个过程拆开来讲,从卸载旧版本到配置环境变量,再到可能遇到的坑,都会提到。
先用 yum 装上看看版本:
yum install git
检查一下:
git --version
如果发现版本不是你想要的,那就先把它卸掉:
yum remove git
接下来,编译 Git 需要一些开发工具和依赖包,少一个后面都会报错。先把它们装上:
yum -y groupinstall Development Tools
yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
然后去下载 Git 的源代码。到 [Git 的 releases 页面](https://github.com/git/git/releases) 挑一个稳定版(别下载带 `-rc` 的,那是候选版)。目前我们拿 2.32.0 举例:
wget https://www.kernel.org/pub/software/scm/git/git-2.32.0.tar.gz
或者直接从 GitHub 下载:
wget https://github.com/git/git/archive/refs/tags/v2.32.0.tar.gz
解压缩:
tar -zxvf git-2.32.0.tar.gz
cd git-2.32.0
配置安装路径(建议装到 `/usr/local/git`,方便管理):
./configure --prefix=/usr/local/git
编译并安装:
make && make install
安装完成后,得让系统找到新版的 `git` 命令。最简单的办法是改环境变量:
export PATH="/usr/local/git/bin:$PATH"
source /etc/profile
也可以单独创建一个环境变量文件,避免污染全局配置:
echo "export PATH=$PATH:/usr/local/git/bin" > /etc/profile.d/git.sh
source /etc/profile.d/git.sh
之后检查版本,确认是否装好:
git --version
---
**实际使用中可能遇到的一个坑**:当你用 `https` 协议操作远程仓库时,可能会报错 `Unable to find remote helper for 'https'`。这是因为 `git-core` 下的辅助工具没有被加到 PATH 里。解决办法:在使用 Git 之前设置一下 PATH,或者直接写到 `/etc/profile` 里:
PATH=$PATH:/usr/libexec/git-core
---
下面是补充
如果你打算用 SSH 协议搭建 Git 服务器,需要提前做几件事:
- 在服务器和客户端分别安装 Git
- 服务器上启用了 SSH 服务
- 客户端有 SSH 客户端
另外,如果之前编译过程中间出了问题,想要重新编译,可以用 `make clean` 清除;如果不想自己编译了,直接用 `yum remove git` 卸载即可。
---
安装服务端:
先把系统更新一下:
sudo yum update
安装必需的依赖:
sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
下载源码并解压:
wget https://github.com/git/git/archive/v2.32.0.tar.gz
tar zxvf v2.32.0.tar.gz
cd git-2.32.0
编译(这里用 `all` 目标,先编译全部):
make prefix=/usr/local/git all
如果编译过程中遇到 `libiconv` 相关错误(比如 `undefined reference to libiconv`),那是系统缺少 `libiconv` 库。需要先安装它:
cd /usr/local
wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv && make && make install
然后创建软链接:
ln -s /usr/local/lib/libiconv.so /usr/lib
ln -s /usr/local/lib/libiconv.so.2 /usr/lib
之后再回到 Git 源码目录重新编译和安装:
make prefix=/usr/local/git all
make prefix=/usr/local/git install
这时候如果你用 `git --version` 检查,可能会发现版本还是老的(比如 1.8.1)。这是因为系统仍然优先使用 `/usr/bin` 下面的旧版。可以用 `whereis git` 查看:
$ whereis git
git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz
所以需要手动把新版的路径加到环境变量里,让它覆盖旧版。编辑 `/etc/profile`(或者 `/etc/bashrc`):
sudo vim /etc/profile
在文件末尾添加:
export PATH=/usr/local/git/bin:$PATH
保存退出后,再次查看版本,应该就是新的了。
---
安装 gitosis
gitosis 是一个轻量级的 Git 仓库管理工具,基于 Python。安装它需要先装 `setuptools`:
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-19.0.tar.gz
tar zxvf setuptools-19.0.tar.gz
cd setuptools-19.0
python setup.py install
然后克隆 gitosis 源码:
cd /usr/local
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install
看到 `Finished processing dependencies for gitosis==0.2` 就说明装好了。
---
在 Linux 服务器上搭建 Git 仓库
**第一步:创建专用的 Git 账户**(如果已经有账户可跳过):
sudo groupadd git
sudo useradd git -m -s /sbin/nologin -d /home/git -g git
如果希望这个账号能登录 shell,可以把 `/sbin/nologin` 改成 `/bin/bash`。
**第二步:新建一个空的 Git 仓库**。
切换到 git 账号(或者用 root):
cd /home/git
mkdir www.laogao.com
cd www.laogao.com
git init --bare
看到 `Initialized empty Git repository in /home/git/www.laogao.com.git/` 就成功了。
**第三步:添加用户的公钥**。
切换到 git 账户:
su git
mkdir /home/git/.ssh
chmod 700 .ssh
cd /home/git/.ssh
ssh-keygen -t rsa # 生成密钥,默认生成 ~/.ssh/id_rsa.pub
gitosis-init < /home/git/.ssh/id_rsa.pub # 初始化
初始化后,`.ssh` 目录下会出现三个文件:`authorized_keys`、`id_rsa`、`id_rsa.pub`。
最后,设置权限:
chmod 600 authorized_keys
然后编辑 `authorized_keys`:
vim authorized_keys
把你客户端生成的公钥粘贴进去,保存退出。这样就完成了。