Yum不在Centos6上安装最新版本的Git


16

当我转到Gits下载部分时,它提到最新版本为1.8,可以yum install git在Fedora上安装它。我正在运行CentOS6,因此该命令也应该对我有用,但是yum告诉我:

Setting up Install Process
Package git-1.7.1-2.el6_0.1.x86_64 already installed and latest version
Nothing to do

我的yum是否指向旧存储库?还是我在做点破事?

谢谢!

编辑:我知道供应商并不总是与他们的软件包列表保持最新,所以这意味着git网站上的文档不正确,因为他们告诉我使用yum下载它,而供应商还没有更新其软件包列表?


1
Git人员如何代表代表各种Linux发行版的各种打包程序说话。
mdpc

5
该语句如何与首选软件包管理器在Linux上安装Git的最简单的想法相矛盾,即您将不会获得最新的最新版本?这是最简单的安装混帐的封装版本。 大多数人不需要绝对最新版本的git。 如果您想生活在最前沿,那么就不必选择简单的道路。下载源代码并进行构建,或者在其他人已经完成工作的地方寻找合适的第三方存储库。
Zoredache

红帽很少更改软件包的主要版本以保持稳定性。由于git的当前值为1.7.1,因此它可能始终保持为1.7.1(向后移植了安全修复程序)。您唯一的选择是从源代码安装或从第三方存储库安装RPM。@muness的以下解决方案对我来说非常有效,现在我的版本为1.7.11,足以支持我在github.com上所需的大多数功能。
Stefan Lasiewski 2013年

1
这是否意味着git网站上的文档不正确 -是的,他们的网站不正确。Github.com是一个很棒的工具,但是他们的文档中肯定包含错误,并且在某些地方模棱两可。一些批评家会指出这样的错误,并说:“哦,对,它们很敏捷 ”。
Stefan Lasiewski

Fedora和CentOS并不相同。它们都基于RedHat Linux,但是您不能假设给定的命令总是对另一个有相同的作用。软件包管理尤其是差异最大的领域之一。
Ben Collins

Answers:


11

下载源代码并自己进行编译非常容易,我什至发现RPMForge方法有点麻烦。

下载Git 2.11源码并

    make configure 
    ./configure --prefix=/usr
    make all
    sudo make install install-doc install-html

在完全成功之前,我需要安装几个依赖项。

sudo yum install libcurl-devel zlib-devel asciidoc xmlto

我是在新的CentOS 6机器上使用Git 2.2源完成此操作的,zlib-devel除了还要安装还必须安装libcurl-devel
布莱恩(Brian)

刚刚在CentOS 6.6上尝试过,我还需要安装asciidoc和xmlto。
jfklein

谢谢,介意更新答案吗?
Reza Sanaie '16

如果您已经拥有GIT,则可以使用以下工具下载最新版本:git clone https://github.com/git/git
Wesley Abbenhuis

10

这对我有用:

  1. 启用的RPMForge
  2. yum install yum-plugin-priorities#通过安装yum priority插件
  3. 通过编辑/etc/yum.repos.d/rpmforge.repo启用RPM Forge Extras回购,并在rpmforge-extras部分将其更改为1。我还通过向两个部分都添加priority = 1来将两个rpmforge存储库的优先级提高到1。
  4. 百胜删除git
  5. 百胜清理所有&&百胜更新&&百胜安装git

4
RPMForge / RepoForge是一个无效的项目。不维护。不使用。另见github.com/repoforge/rpms/issues/375还有其他包含最新git的存储库吗?
Wooff'8

6

您的OS供应商(CentOS项目)可能尚未为最新版本的git构建软件包(或者他们可能尚未计划,而是打算坚持使用CentOS 6中的1.7.x系列)。

作者发行之日起,软件就不会神奇地出现在包装系统中-需要构建,测试,批准和推送软件包。如果您需要上游供应商不发货的版本,则可以随时自行构建...


是的,我理解这个概念,所以Git在他们的网站上有什么错误?“要获得1.8,请使用yum”?
Reza Sanaie 2012年

5
Git人无法代表代表各种Linux发行版的各种打包程序。
mdpc

2
@RezaSanaie您在哪里找到了git(git-scm.com)网站上的报价。他们比这样的主张要聪明得多。作为Zoredache指出,他们说这是最简单的使用您的操作系统软件包管理器(获得一个版本的Git)。如果您需要最新和最强大的产品,则应该自己构建。
voretaq7 2012年

2
当它说“最新稳定版本1.8.0发行说明(2012-10-21)下载Linux版”并且我单击它时,我通常希望得到它
Reza Sanaie 2012年

1
@RezaSanaie-在这种情况下,我建议您向Git发送电子邮件,并投诉他们对网站的措辞。它不会改变情况,但可能会消除将来的混乱。
马克·亨德森

1

为了稳定起见,面向企业的发行版(如CentOS)倾向于坚持发布OS时所使用的工具的主要版本。第三方存储库可用于升级到更高版本,但通常没有必要。如果Git 1.7很适合您,那么您应该坚持使用它。


3
Git人无法代表代表各种Linux发行版的各种打包程序。
mdpc

这个。基本上,当某人使用CentOS或RHEL时,他们通常会认为他们决定使用稳定的流行企业操作系统。在事实上,他们决定什么是:我们要对任何软件只安全修补程序没有新的功能。超稳定==超老功能。
kubanczyk

1

CentOS 6支持更新的编译器和工具的“并行”范围,不会破坏旧版本。你要

yum install devtoolset-2

安装完成后,执行

scl enable devtoolset-2 bash

这将修改您的路径。您将拥有git的旧版本/usr/bin/git和的较新版本/opt/rh/..../git。较新的是1.8.4 /。

您还可以获得更新的g ++(4.8)等。

您还将需要最新的devtoolset-2。关于devtoolset-2的详细信息可以在另一个答案中找到:https : //superuser.com/questions/381160/how-to-install-gcc-4-7-x-4-8-x-on-centos/676337# 676337


诱人的,但我的Ops团队在我的CentOS 6.5上不支持。
MarkHu '16


-1

在这里逐步指导。许多解决方案需要一点时间。刷新链接对我来说是最快的方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.