J'ai utilisé l'habitude:
yum install git
Il n’a pas installé la dernière version de git sur mon CentOS 6. Comment puis-je mettre à jour vers la dernière version de git pour CentOS 6? La solution peut être appliquée aux versions les plus récentes de CentOS telles que CentOS 7.
Vous pouvez utiliser le référentiel CentOS de WANDisco pour installer Git 2.x: pour CentOS 6 , pour CentOS 7
Installez le package WANDisco repo:
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 installée:
git --version
À compter du 16 juillet 2019, la dernière version disponible de WANDisco est la suivante: 2.22.0 .
En regardant le blog ici J'ai trouvé la solution dans l'un des commentaires. Assurez-vous que le référentiel rpmforge
a été ajouté à votre serveur CentOS et exécutez simplement la commande suivante:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
Si vous avez déjà installé git, utilisez:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
Questions connexes):
Grâce à Anthony Hatzopoulos, pour git v1.8x
, vous devrez utiliser git18 comme suit:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
Merci également à @Axlrod pour le conseil ci-dessous et à @Hiphip pour les commentaires:
Modifiez le fichier rpmforge.repo
pour que rpmforge-extras
soit activé, yum update git
. Sinon, il s'est plaint de problèmes de dépendance.
En installant une version spécifique de git say 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 souhaitée, essayez les instructions suivantes:
http://tecadmin.net/install-git-2-0-on-centos-rhel-Fedora/
(Et collé/reformaté à partir de la source ci-dessus s'il est supprimé ultérieurement)
Étape 1: Installez les packages requis
Premièrement, nous devons nous assurer que nous avons installé les packages requis sur votre système. Utilisez la commande suivante pour installer les packages requis avant de compiler la source Git.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc Perl-ExtUtils-MakeMaker
Étape 2: Désinstallez l'ancien RPM Git.
Supprimez maintenant toute installation antérieure de Git via le fichier RPM ou le gestionnaire de paquets Yum. Si votre ancienne version est également compilée via le source, ignorez cette étape.
# yum remove git
Étape 3: Téléchargez et compilez Git Source
Téléchargez le code source de git depuis le 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 avoir téléchargé et extrait le code source de 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
CONSEIL 1: Méthode mise à jour pour ajouter le répertoire compilé git bin à bashrc. Étant donné que
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
a utilisé "" au lieu de '', la valeur de la session en cours est augmentée pour $ PATH au lieu de la conserver en tant que variable et peut avoir un impact négatif sur 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/
CONSEIL 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 de Git
Une fois les étapes ci-dessus terminées, vous avez correctement installé Git dans votre système. Laisse utiliser la commande suivante pour vérifier la version de git
# git --version
git version 2.0.4
Je voulais aussi ajouter que le guide "Getting Started" 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 souhaitée, essayez les instructions suivantes:
http://tecadmin.net/install-git-2-0-on-centos-rhel-Fedora/
(Et collé/reformaté à partir de la source ci-dessus s'il est supprimé ultérieurement)
Étape 1: Installez les packages requis
Premièrement, nous devons nous assurer que nous avons installé les packages requis sur votre système. Utilisez la commande suivante pour installer les packages requis avant de compiler la source Git.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc Perl-ExtUtils-MakeMaker
Étape 2: Désinstallez l'ancien RPM Git.
Supprimez maintenant toute installation antérieure de Git via le fichier RPM ou le gestionnaire de paquets Yum. Si votre ancienne version est également compilée via le source, ignorez cette étape.
# yum remove git
Étape 3: Téléchargez et compilez Git Source
Téléchargez le code source de git depuis le 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 de 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 de Git
Une fois les étapes ci-dessus terminées, vous avez correctement installé Git dans votre système. Utilisez la commande suivante pour vérifier la version de git
# git --version
git version 2.5.3
Je voulais aussi ajouter que le guide "Getting Started" 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
Rackspace gère le ius repository , qui contient un git raisonnablement à jour, mais le git de stock doit d'abord être supprimé.
Instructions CentOS 7:
$ Sudo yum install https://centos7.iuscommunity.org/ius-release.rpm
$ Sudo yum erase git
$ Sudo yum install epel-release
$ Sudo yum install git2u
Instructions CentOS 6:
$ 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 créer des packages 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 la suivante:
Obtenez le fichier RPMS source ou un fichier SPEC approprié et une archive source vierge. Dans ce cas, vous pouvez trouver les paquetages RPM source pour git2X pour CentOS-6 à l'adresse: http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/
. Des packages pour d'autres versions de CentOS sont également disponibles.
Installez le logiciel de support 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
Ajoutez un compte utilisateur de construction rpm ( ne créez pas en tant que root ou en tant qu'utilisateur réel - problèmes de sécurité sera revenez 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é afin que les archives de SOURCES puissent être ignorées pour ce cas et que nous puissions passer 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 la maquette (en tant que root)
cd /etc/mock
rm default.cfg
ln -s epel-6-x86_64.cfg default.cfg
vim default.cfg
Désactivez le beta
repo. Activer le base
et update
repo.
Initialiser l'arbre de construction (/ var/lib/mock est la valeur par défaut)
mock --init
Si nous construisions à partir de SOURCES, c’est là que nous emploierions le fichier SPEC et 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 paquetages) dans la racine de la nouvelle 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 de racine personnalisé et architecture que vous avez fournis. Il faudra une longue période. Il y a beaucoup de choses dans ce paquet; en particulier la documentation.
Si tout se passe bien, vous devriez vous retrouver avec une série de paquetages RPM pouvant être installés à 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
Installez en utilisant yum ou rpm.
Vous aurez besoin de git2u-2.5.3-1.ius.el6.x86_64.rpm
au minimum et des packages de support supplémentaires nécessaires (Perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
) ou de votre choix.
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 de gérer cela:
Installez 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`
Configurez un repo local miam.
J'inclus mon fichier LocalFile.repo
ci-dessous car il contient des instructions sur la procédure à suivre et fournit le fichier de mise en 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 également préinstaller manuellement des packages de dépendance supplémentaires, tels que Perl-TermReadKey
, disponibles dans les référentiels 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
RHEL et ses dérivés livrent généralement les anciennes versions de git. Vous pouvez télécharger une archive et une compilation à partir des sources, ou utiliser un référentiel tiers, tel que le projet de communauté IUS, pour obtenir une version plus récente de git.
il y a un bon tutoriel ici . dans mon cas (serveur Centos7) après l’installation, il a fallu se déconnecter puis se reconnecter.
git
sur Centos 6/7Installez epel:
Pour EL6, utilisez:
Sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
Pour EL7, utilisez:
Sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Installez fedpkg
:
Sudo yum install fedpkg
Ajoutez-vous à la simulation de groupe (vous devrez peut-être vous reconnecter au serveur après cette modification):
Sudo usermod -a -G mock $USER
git
Téléchargez git
sources:
fedpkg clone -a git && cd git
fedpkg sources
Vérifier les sources:
sha512sum -c sources
Créez srmp. Utilisez 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 à partir de /var/lib/mock/epel-7-x86_64/result/
. Notez que vous devrez d’abord désinstaller la version existante de git de votre système.
Cette instruction est basée sur la liste de diffusion postée par Todd Zullinger .
Ajouter un rond point répondre ici. J'avais du mal à installer git sur une instance Amazon RHEL 6.0, et ce qui m'a finalement sauvé, c'est ... conda, comme dans Ana conda Python.
J'ai installé conda sur la ligne de commande depuis le archives (code modélisé d'après this ):
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"
et ensuite couru
conda install git
et une version relativement récente, git, a été installée. Nous sommes le 26/12/2016 et la version 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
Cela peut être hors de propos. C'est pour les gens qui ne veulent pas construire le dernier git sur l'hôte en attendant qu'ils puissent toujours avoir le dernier git.
Je pense que la plupart des gens n'aiment pas construire le dernier git sur CentOS car les dépendances vont contaminer l'hôte et vous devez exécuter beaucoup de commandes. Par conséquent, j'ai une idée qui construit git à l'intérieur du conteneur Docker, puis installe l'exécutable via le montage du volume du docker. Après cela, vous pouvez supprimer l'image et le conteneur.
Oui, l'inconvénient est que vous devez installer le menu fixe. Mais les moindres dépendances sont introduites dans l'hôte et vous n'avez pas besoin d'installer d'autres référentiels yum.
Voici mon référentiel. https://github.com/wood1986/docker-library/tree/master/git