Comment installer la dernière version de git sur CentOS 7.x / 6.x

j'ai utilisé l'habituel:

yum install git

il n'a pas installé la dernière version de git sur mon CentOS 6. Comment mettre à jour vers la dernière version de Git pour CentOS 6? La solution peut être applicable à de nouvelles versions de CentOS comme CentOS 7.

167
demandé sur A-B-B 2014-02-17 08:23:49

11 réponses

vous pouvez utiliser le dépôt CentOS de Wandisco pour installer Git 2.x: pour CentOS 6 , pour CentOS 7 151980920"

  1. Installer WANDisco pensions de paquet:

    yum install http://opensource.wandisco.com/centos/6/git/x86_64/wandisco-git-release-6-1.noarch.rpm
    - or -
    yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-1.noarch.rpm
    - or -
    yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm
    
  2. installez la dernière version de Git 2.x:

    yum install git
    
  3. Vérifiez la version de Git qui a été installée:

    git --version
    

au 18 Août. 2017, la dernière version disponible de WANDisco est 2.14.1 .

197
répondu Joseph Leedy 2018-03-21 13:12:35

ayant un oeil au blog ici j'ai trouvé la solution dans un des commentaires. Assurez-vous d'avoir le dépôt rpmforge ajouté à votre Yum CentOS et lancez simplement la commande suivante:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git

si vous avez déjà installé git, utilisez alors:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git

question(s) reliée (s):

  1. 6,4

Note mise à jour:

merci à Anthony Hatzopoulos, pour git v1.8x vous aurez besoin d'utiliser git18 comme dans:

yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18 

Note de mise à jour 2:

merci aussi à @Axlrod pour l'allusion ci-dessous et à @Hiphip pour le feedback:

modifier le fichier rpmforge.repo pour avoir rpmforge-extras pour activer, yum update git . Sinon, il s'est plaint de la dépendance problème.

Note mise à jour 3:

Installation d'une version spécifique de git dire 2.x J'ai trouvé ce guide agréable et facile à suivre sur la façon de télécharger le source GIT et de le compiler vous-même (et de l'installer). Si la réponse acceptée ne vous donne pas la version que vous voulez, essayez les instructions suivantes:

http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora /

(et collé/reformaté à partir de la source ci-dessus dans le cas où il est supprimé plus tard)

Étape 1: Installer Les Paquets Requis

tout d'Abord nous devons nous assurer que nous avons installé les paquets requis sur votre système. Utilisez la commande suivante pour installer les paquets requis avant de compiler git source.

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install  gcc perl-ExtUtils-MakeMaker

Étape 2: Désinstaller les anciens Git TR / min

supprime maintenant toute installation antérieure de Git via RPM file ou Yum package manager. Si votre ancienne version est aussi compilée par source, alors sautez cette étape.

# yum remove git

Étape 3: télécharger et compiler Git Source

Téléchargez le code source git à partir du noyau git ou utilisez simplement la commande suivante pour télécharger Git 2.0.4.

# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.0.4.tar.gz
# tar xzf git-2.0.4.tar.gz

après téléchargement et extraction du code source Git, utilisez la commande suivante pour compiler le code source.

# cd git-2.0.4
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
#
# echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
#  or
# echo 'export PATH=$PATH:/usr/local/git/bin' > /etc/profile.d/git.sh
#
# source /etc/bashrc

indice 1: Mise à jour de la méthode d'ajout du répertoire compilé git bin à bashrc. Parce que echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc utilise ""au lieu de", cela augmenterait la valeur de la session actuelle pour $PATH au lieu de la garder comme une variable, et pourrait affecter négativement l'ensemble du système. Au minimum, il devrait utiliser "au lieu de" et devrait vraiment être un script séparé dans /etc/profile.d/

INDICE 2 (@DJB): /usr/local/git/bin avant $PATH , car l'ancienne version de git était déjà sur $PATH: export PATH=/usr/local/git/bin:$PATH

Étape 4. Vérifier La Version Git

une réalisation des étapes ci-dessus, vous avez installer avec succès Git dans votre système. Utilisez la commande suivante pour vérifier la version git

# git --version

git version 2.0.4

je voulais aussi ajouter que le " obtenir Commencé "guide sur le site Web de GIT comprend également des instructions sur la façon de le télécharger et de le compiler vous-même:

http://git-scm.com/book/en/v2/Getting-Started-Installing-Git

124
répondu AmirHd 2017-05-23 10:31:31

j'ai trouvé ce guide agréable et facile à suivre sur la façon de télécharger le source GIT et de le compiler vous-même (et de l'installer). Si la réponse acceptée ne vous donne pas la version que vous voulez, essayez les instructions suivantes:

http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora /

(et collé/reformaté à partir de la source ci-dessus dans le cas où il est supprimé plus tard)

Étape 1: Installer Les Paquets Requis

tout d'Abord nous devons nous assurer que nous avons installé les paquets requis sur votre système. Utilisez la commande suivante pour installer les paquets requis avant de compiler git source.

# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install  gcc perl-ExtUtils-MakeMaker

Étape 2: Désinstaller les anciens Git RPM

supprime maintenant toute installation antérieure de Git via RPM file ou Yum package manager. Si votre ancienne version est aussi compilée par source, ensuite, sautez cette étape.

# yum remove git

Étape 3: télécharger et compiler Git Source

Téléchargez le code source git à partir du noyau Git ou utilisez simplement la commande suivante pour télécharger Git 2.5.3.

# cd /usr/src
# wget https://www.kernel.org/pub/software/scm/git/git-2.5.3.tar.gz
# tar xzf git-2.5.3.tar.gz

après avoir téléchargé et extrait le code source Git, utilisez la commande suivante pour compiler le code source.

# cd git-2.5.3
# make prefix=/usr/local/git all
# make prefix=/usr/local/git install
# echo 'pathmunge /usr/local/git/bin/' > /etc/profile.d/git.sh 
# chmod +x /etc/profile.d/git.sh
# source /etc/bashrc

Étape 4. Vérifier La Version Git

à l'achèvement des étapes ci-dessus, vous avez installer avec succès Git dans votre système. Utilisez la commande suivante pour vérifier la version git

# git --version

git version 2.5.3

je voulais aussi ajouter que le guide "Getting Started" sur le site de GIT inclut également des instructions sur la façon de le télécharger et de le compiler vous-même:

http://git-scm.com/book/en/v2/Getting-Started-Installing-Git

73
répondu Pytry 2017-11-03 16:46:02

Rackspace maintient le IUS repository , qui contient un git raisonnablement à jour, mais le git stock doit d'abord être supprimé.

CentOS 7 instructions:

$ sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
$ sudo yum erase git
$ sudo yum install epel-release 
$ sudo yum install git2u

CentOS 6 instructions:

$ sudo yum install https://centos6.iuscommunity.org/ius-release.rpm
$ sudo yum erase git
$ sudo yum install epel-release
$ sudo yum install git2u
60
répondu Mark Visser 2018-01-25 15:16:33

Ma préférence personnelle est de construire des paquets rpm pour CentOS lors de l'installation de logiciels non standard et du remplacement de composants distribués. Pour cela, je vous recommande D'utiliser Mock pour créer un environnement de construction propre.

la procédure est:

  1. obtenir la source RPMS ou un fichier SPEC approprié et vierge source tarball. Dans ce cas, on peut trouver les paquets source RPM pour git2X pour CentOS-6 à: http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/ . Des paquets pour D'autres versions de CentOS sont également disponibles.

  2. installer le logiciel de soutien nécessaire:

    yum install epel-release  # you need this for mock
    yum install rpm-build
    yum install redhat-rpm-config
    yum install rpmdevtools
    yum install mock
    
  3. Ajouter un compte d'utilisateur de construction rpm ( ne pas construire en tant que root ou comme un utilisateur réel - problèmes de sécurité will revenir à vous mordre ).

    sudo adduser builder --home-dir /home/builder \
    --create-home --user-group --groups mock \
    --shell /bin/bash --comment "rpm package builder"
    
  4. ensuite, nous avons besoin d'un environnement de construction.

    su -l builder
    rpmdev-setuptree
    

    cela produit la structure de répertoire suivante:

    ~
    └── rpmbuild
        ├── BUILD
        ├── RPMS
        ├── SOURCES
        ├── SPECS
        └── SRPMS
    
  5. nous utilisons un SRPMS préparé de sorte que les sources tarballs peuvent être ignorées pour ce cas et nous pouvons aller directement à SRPMS.

    wget http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm \
    -O ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
    
  6. configurer mock (en tant que root)

    cd /etc/mock
    rm default.cfg
    ln -s epel-6-x86_64.cfg default.cfg
    vim default.cfg
    

    Désactiver beta repos. Activez les base et update les pensions de titres.

  7. Initialiser l'arbre de construction (/var/lib/maquette est par défaut)

    mock --init
    
  8. si nous construisions à partir de SOURCES, c'est là que nous utiliserions le fichier SPEC et que nous utiliserions mock --buildsrpm . . . . Mais dans ce cas nous allons directement à l'étape de construction binaire:

    mock --no-clean --rebuild ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
    

    cela résoudra les dépendances de construction et les téléchargera (environ 95 paquets) dans le propre racine de construction. Il extraira ensuite les sources et construira le binaire à partir du SRPM fourni et le laissera dans /var/lib/mock/epel-6-x86_64/result ; ou dans n'importe quel emplacement et architecture root personnalisé que vous avez fourni. Il va prendre un certain temps. Il y a beaucoup dans ce paquet, en particulier de la documentation.

  9. si tout va bien, alors vous devriez vous retrouver avec une suite de paquets RPM appropriés pour l'installation à la place de la version distro. C'est ce que j'ai fini avec:

    ll /var/lib/mock/epel-6-x86_64/result
    total 34996
    -rw-rw-r--. 1 byrnejb mock   448455 Oct 30 10:09 build.log
    -rw-rw-r--. 1 byrnejb mock    52464 Oct 30 10:09 emacs-git2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    47228 Oct 30 10:09 emacs-git2u-el-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock  8474478 Oct 30 09:57 git2u-2.5.3-1.ius.el6.src.rpm
    -rw-rw-r--. 1 byrnejb mock  8877584 Oct 30 10:09 git2u-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock    27284 Oct 30 10:09 git2u-all-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    27800 Oct 30 10:09 git2u-bzr-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   112564 Oct 30 10:09 git2u-cvs-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   436176 Oct 30 10:09 git2u-daemon-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock 15858600 Oct 30 10:09 git2u-debuginfo-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock    60556 Oct 30 10:09 git2u-email-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   274888 Oct 30 10:09 git2u-gui-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    79176 Oct 30 10:09 git2u-p4-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   483132 Oct 30 10:09 git2u-svn-2.5.3-1.ius.el6.x86_64.rpm
    -rw-rw-r--. 1 byrnejb mock   173732 Oct 30 10:09 gitk2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   115692 Oct 30 10:09 gitweb2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    57196 Oct 30 10:09 perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock    89900 Oct 30 10:09 perl-Git2u-SVN-2.5.3-1.ius.el6.noarch.rpm
    -rw-rw-r--. 1 byrnejb mock   101026 Oct 30 10:09 root.log
    -rw-rw-r--. 1 byrnejb mock      980 Oct 30 10:09 state.log
    
  10. installation utilisant yum ou rpm.

    vous aurez besoin de git2u-2.5.3-1.ius.el6.x86_64.rpm au minimum et de tous les paquets de support supplémentaires qu'il nécessite ( perl-Git2u-2.5.3-1.ius.el6.noarch.rpm ) ou que vous désirez.

    cette construction a une dépendance cyclique: git2u-2.5.3-1.ius.el6.x86_64.rpm dépend de perl-Git2u-2.5.3-1.ius.el6.noarch.rpm et perl-Git2u-2.5.3-1.ius.el6.noarch.rpm dépend de git2u-2.5.3-1.ius.el6.x86_64.rpm . Une installation directe avec rpm échouera donc.

    Il y a deux façons d'y faire face:

    • installer les deux en même temps via yum:

      yum localinstall \
        git2u-2.5.3-1.ius.el6.x86_64.rpm \
        perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
      
    • mise en place d'un repo yum local.

      j'inclus mon fichier LocalFile.repo ci-dessous car il contient des instructions sur la façon de faire ceci et fournit le fichier de pension nécessaire en même temps.

cat /etc/yum.repos.d/LocalFile.repo
# LocalFile.repo
#
#  This repo is used with a local filesystem repo.
#
# To use this repo place the rpm package in /root/RPMS/yum.repo/Packages.
# Then run: createrepo --database --update /root/RPMS/yum.repo.
#
# To use:
#  yum --enablerepo=localfile [command]
#  
# or to use only ONLY this repo, do this:
#
#  yum --disablerepo=\* --enablerepo=localfile [command]

[localfile]
baseurl=file:///root/RPMS/yum.repo
name=CentOS-$releasever - Local Filesystem repo

# Before persistently enabling this repo see the priority note below.
enabled=0
gpgcheck=0

# When this repo is enabled all packages in repos with priority>5
# will not be updated even when they have a more recent version.
# Be careful with this.
priority=5

vous devrez peut-être aussi pré-installer manuellement des paquets de dépendances supplémentaires comme perl-TermReadKey disponibles dans les dépôts habituels.

9
répondu James B. Byrne 2015-12-07 17:37:05

pour construire et installer Git moderne sur CentOS 6:

yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
export GIT_VERSION=2.6.4
mkdir /root/git
cd /root/git
wget "https://www.kernel.org/pub/software/scm/git/git-${GIT_VERSION}.tar.gz"
tar xvzf "git-${GIT_VERSION}.tar.gz"
cd git-${GIT_VERSION}
make prefix=/usr/local all
make prefix=/usr/local install
yum remove -y git
git --version # should be GIT_VERSION
5
répondu Joe Goggins 2015-12-16 18:17:19

ajoutant une réponse rond-point ici. J'avais du mal à installer git sur une instance de RHEL 6.0 Amazon, et ce qui a fini par me sauver était ... conda, comme dans Ana conda Python.

j'ai installé conda sur la ligne de commande du archives (code modelé après ce ):

wget http://repo.continuum.io/miniconda/Miniconda2-4.2.12-Linux-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh -b -p $HOME/miniconda
export PATH="$HOME/miniconda/bin:$PATH"

puis ran

conda install git

et une version relativement récente git a été installé. Aujourd'hui nous sommes le 26/12/2016 et la version est le 2.9.3.

3
répondu Ben Ogorek 2016-12-26 22:39:04

voici ma méthode pour installer git sur centos 6.

sudo yum groupinstall "Development Tools"
sudo yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel curl-devel
sudo yum install wget
cd ~
wget -O git.zip https://github.com/git/git/archive/v2.7.2.zip
unzip git.zip
cd git-2.7.2
make configure
./configure --prefix=/usr/local
make all doc
sudo make install install-doc install-html
1
répondu Dylan Pearson 2016-08-08 19:13:01

construire la dernière version de git sur Centos 6/7

Préparer le système à la construction des rpm

  1. installer epel:

    pour EL6, utiliser:

    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm  
    

    pour EL7, utiliser:

    sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
  2. Installer fedpkg :

    sudo yum install fedpkg
    
  3. ajoutez-vous au groupe mock (vous devrez peut-être vous reconnecter au serveur après cette modification):

    sudo usermod -a -G mock $USER
    

télécharger git

  1. télécharger git sources:

    fedpkg clone -a git && cd git
    fedpkg sources
    
  2. vérifier les sources:

    sha512sum -c sources
    

Construire des rpm

  1. créer srmp. Use el6 pour RHEL6, el7 pour RHEL7.

    fedpkg --dist el7 srpm
    
  2. Construire le paquet dans la maquette:

    mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
    
  3. installez la dernière version de git rpm de /var/lib/mock/epel-7-x86_64/result/ . Notez que vous pourriez avoir besoin de désinstaller la version existante du git à partir de votre système en premier.

cette instruction est basée sur le mailing list post de Todd Zullinger .

1
répondu sashk 2018-02-09 14:38:01

cela peut ne pas être pertinent. C'est pour les gens qui ne veulent pas construire le dernier git sur l'hôte pendant qu'ils peuvent encore obtenir le dernier git.

je pense que la plupart des gens n'aiment pas construire le dernier git sur CentOS parce que les dépendances contamineront l'hôte et vous devrez exécuter beaucoup de commandes. Par conséquent, j'ai une idée qui est de construire git à l'intérieur du conteneur Docker et d'installer ensuite l'exécutable via le support de volume docker. Après cela, vous pouvez supprimer l'image et le contenant.

Oui, l'inconvénient est que vous devez installer docker. Mais le moins de dépendances sont introduits à l'hôte et vous n'avez pas à installer d'autres yum repo.

Voici mon dépôt. https://github.com/wood1986/docker-library/tree/master/git

0
répondu WooD 2017-06-03 23:08:59

il peut être très déroutant, et dangereux, de remplacer les dépôts de base en amont par des dépôts complémentaires sans procéder à des essais et à une réflexion considérables. RPMforge, en particulier, est effectivement moribond et ne reçoit pas de mises à jour.

je publie personnellement des outils pour la construction de git 2.4, enveloppé comme un paquet alternativement appelé "git24", à https://github.com/nkadel/git24-srpm / . N'hésitez pas à accéder et à la fourche ceux si vous voulez paquets les paquets "samba" et "samba4" se distinguent des paquets de système standard, tout comme les paquets "samba" et "samba4".

-3
répondu Nico Kadel-Garcia 2016-03-07 20:14:08