Comment installer la dernière version de git sur CentOS 7.x / 6.x
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"
-
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
-
installez la dernière version de Git 2.x:
yum install git
-
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 .
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):
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
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
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
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:
-
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. -
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
-
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"
-
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
-
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
-
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 lesbase
etupdate
les pensions de titres. -
Initialiser l'arbre de construction (/var/lib/maquette est par défaut)
mock --init
-
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. -
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
-
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 deperl-Git2u-2.5.3-1.ius.el6.noarch.rpm
etperl-Git2u-2.5.3-1.ius.el6.noarch.rpm
dépend degit2u-2.5.3-1.ius.el6.x86_64.rpm
. Une installation directe avecrpm
é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.
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
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.
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
construire la dernière version de git
sur Centos 6/7
Préparer le système à la construction des rpm
-
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
-
Installer
fedpkg
:sudo yum install fedpkg
-
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
-
télécharger
git
sources:fedpkg clone -a git && cd git fedpkg sources
-
vérifier les sources:
sha512sum -c sources
Construire des rpm
-
créer srmp. Use
el6
pour RHEL6,el7
pour RHEL7.fedpkg --dist el7 srpm
-
Construire le paquet dans la maquette:
mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
-
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 .
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
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".