我用了通常的:
yum install git
它没有在我的CentOS 6上安装最新版本的git。如何更新到CentOS 6的最新版本?该解决方案适用于CentOS 7等更新版本的CentOS。
我用了通常的:
yum install git
它没有在我的CentOS 6上安装最新版本的git。如何更新到CentOS 6的最新版本?该解决方案适用于CentOS 7等更新版本的CentOS。
当前回答
在Centos 6/7上构建最新版本的git
准备系统建立rpm
安装epel: 对于EL6,使用: Sudo yum安装https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm 对于EL7,使用: Sudo yum安装https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 安装fedpkg: Sudo yum安装fedpkg 将自己添加到组mock(更改后您可能需要重新登录服务器): sudo usermod -a -G mock $USER
下载
下载git源代码: Fedpkg克隆-一个git && CD git fedpkg来源 验证来源: Sha512sum -c源
构建rpm
创建srmp。用el6代替RHEL6,用el7代替RHEL7。 Fedpkg—dist el7 SRPM 在mock中构建包: 模拟-r eel -7-x86_64 git-2.16.0-1.el7.src.rpm 从/var/lib/mock/ eel -7-x86_64/result/安装最新版本的git rpm。注意,您可能需要首先从系统中卸载现有版本的git。
本指南基于Todd Zullinger的邮件列表。
其他回答
在没有经过大量测试和思考的情况下,将上游基础存储库替换为附加存储库,这是非常令人困惑和危险的。尤其是RPMforge,实际上已经奄奄一息,并且没有得到更新。
我个人在https://github.com/nkadel/git24-srpm/上发布了构建git 2.4的工具,包装成另一个名为“git24”的包。如果您希望将这些包与标准系统包区分开来,就像区分“samba”和“samba4”包一样,您可以随意访问这些包并将其派生出来。
这可能无关紧要。它是为了人们不希望在主机上构建最新的git,同时他们仍然可以获得最新的git。
我认为大多数人不喜欢在CentOS上构建最新的git,因为依赖关系会污染主机,你必须运行大量的命令。因此,我有一个想法,这是在Docker容器内构建git,然后通过Docker卷安装可执行文件。之后,您可以删除映像和容器。
是的,缺点是你必须安装docker。但最少的依赖被引入到主机,你不需要安装其他yum repo。
这是我的存储库。https://github.com/wood1986/docker-library/tree/master/git
如果git已经安装,首先删除旧的git
sudo yum remove git*
并安装最新版本的git
yum install -y git-core
检查版本 git -版本
宾果!
正如git所说:
RHEL及其衍生产品通常会发布较旧版本的git。你可以 下载一个压缩包并从源代码构建,或者使用第三方 如IUS社区项目的存储库,以获得最新的 git的版本。
这里有很好的教程。 在我的情况下(Centos7服务器)安装后不得不注销并再次登录。
Rackspace维护ius存储库,其中包含一个相当最新的git,但必须首先删除库存git。
CentOS 6或7指令(以root用户或sudo运行):
# retrieve and check CENTOS_MAIN_VERSION (6 or 7):
CENTOS_MAIN_VERSION=$(cat /etc/centos-release | awk -F 'release[ ]*' '{print $2}' | awk -F '.' '{print $1}')
echo $CENTOS_MAIN_VERSION
# output should be "6" or "7"
# Install IUS Repo and Epel-Release:
yum install -y https://repo.ius.io/ius-release-el${CENTOS_MAIN_VERSION}.rpm
yum install -y epel-release
# re-install git:
yum erase -y git*
yum install -y git-core
# check version:
git --version
# output: git version 2.24.3
注意:git-all通常会安装旧版本而不是git-core。试试git224-all。
该脚本在CentOS 7 docker映像(7e6257c9f8d8)和CentOS 6 docker映像(d0957ffdf8a2)上进行测试。