Cómo instalar la última versión de git en CentOS 7.x / 6.x
Usé lo habitual:
yum install git
No instaló la última versión de git en mi CentOS 6. ¿Cómo puedo actualizar a la última versión de git para CentOS 6? La solución puede ser aplicable a versiones más recientes de CentOS como CentOS 7.
11 answers
Puedes usar el repositorio CentOS de WANdisco para instalar Git 2.x: para CentOS 6 , para CentOS 7
-
Instalar el paquete 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
-
Instale la última versión de Git 2.x:
yum install git
-
Verifique la versión de Git que se instaló:
git --version
A partir del 18 de agosto. 2017, la última versión disponible de WANdisco es 2.14.1.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-21 13:12:35
Echando un vistazo al blog aquí Encontré la solución en uno de los comentarios. Asegúrate de tener el repositorio rpmforge
agregado a tu CentOS yum y simplemente ejecuta el comando que fluye:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
Si ya tienes git instalado entonces usa:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
Pregunta(s) conexa (s):
Nota de actualización:
Gracias a Anthony Hatzopoulos, para git v1.8x
usted tendrá que use git18 como en:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
Nota actualización 2:
También gracias a @Axlrod por la siguiente sugerencia y @Hiphip por la retroalimentación:
Cambie el archivo rpmforge.repo
para que rpmforge-extras
esté habilitado,
yum update git
. De lo contrario, se quejó de problemas de dependencia.
Nota actualización 3:
Instalar una versión específica de git say 2.x Encontré esta guía agradable y fácil de seguir sobre cómo descargar el código fuente de GIT y compilarlo usted mismo (e instalarlo). Si la respuesta aceptada no le da la versión que desea, intente las siguientes instrucciones:
Http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora /
(Y pegado/reformateado desde la fuente anterior en caso de que se elimine más tarde)
Paso 1: Instale los paquetes requeridos
En primer lugar tenemos que asegurarnos de que hemos instalado los paquetes necesarios en su sistema. Utilice el siguiente comando para instalar los paquetes necesarios antes de compilar Git fuente.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
Paso 2: Desinstalar viejo Git RPM
Ahora elimine cualquier instalación previa de Git a través de RPM file o Yum package manager. Si su versión anterior también se compila a través de código fuente, omita este paso.
# yum remove git
Paso 3: Descarga y Compila el código fuente de Git
Descargue el código fuente de git del kernel git o simplemente use el siguiente comando para descargar 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
Después de descargar y extraer el código fuente de Git, utilice siguiente comando para compilar el código fuente.
# 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
PISTA 1: Método actualizado para agregar el directorio compilado de git bin a bashrc. Debido a que
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
usa "" en lugar de ", expandiría el valor de la sesión actual para PATH PATH en lugar de mantenerlo como una variable, y podría afectar negativamente a todo el sistema. Como mínimo, debería usar "en lugar de "" y realmente debería ser un script separado en/etc/profile.d/
PISTA 2 (@DJB):
/usr/local/git/bin
antes de$PATH
, ya que la versión anterior de git ya estaba en PATH PATH:export PATH=/usr/local/git/bin:$PATH
Paso 4. Compruebe la versión de Git
Al completar los pasos anteriores, ha instalado Git correctamente en su sistema. Vamos a usar el siguiente comando para comprobar la versión de git
# git --version
git version 2.0.4
También quería añadir que la guía "Primeros pasos" en el sitio web de GIT también incluye instrucciones sobre cómo descargarlo y compilarlo usted mismo:
Http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 10:31:31
Encontré esta guía agradable y fácil de seguir sobre cómo descargar el código fuente de GIT y compilarlo usted mismo (e instalarlo). Si la respuesta aceptada no te da la versión que deseas, prueba las siguientes instrucciones:
Http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora /
(Y pegado/reformateado desde la fuente anterior en caso de que se elimine más tarde)
Paso 1: Instale los paquetes requeridos
En primer lugar tenemos que asegurarnos de que tenemos se instalaron los paquetes necesarios en su sistema. Utilice el siguiente comando para instalar los paquetes necesarios antes de compilar el código fuente de Git.
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
# yum install gcc perl-ExtUtils-MakeMaker
Paso 2: Desinstalar viejo Git RPM
Ahora elimine cualquier instalación previa de Git a través de RPM file o Yum package manager. Si su versión anterior también se compila a través de código fuente, omita este paso.
# yum remove git
Paso 3: Descarga y Compila el código fuente de Git
Descargue el código fuente de git desde el kernel git o simplemente use lo siguiente comando para descargar 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
Después de descargar y extraer el código fuente de Git, Utilice el siguiente comando para compilar el código fuente.
# 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
Paso 4. Compruebe la versión de Git
Al completar los pasos anteriores, ha instalado Git correctamente en su sistema. Utilice el siguiente comando para comprobar la versión de git
# git --version
git version 2.5.3
También quería añadir que la guía "Primeros pasos" en el sitio web de GIT también incluye instrucciones sobre cómo descargarlo y compilarlo usted mismo:
Http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-03 16:46:02
Rackspace mantiene el repositorio ius, que contiene un git razonablemente actualizado, pero el git de stock debe eliminarse primero.
CentOS 7 instrucciones:
$ 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 instrucciones:
$ sudo yum install https://centos6.iuscommunity.org/ius-release.rpm
$ sudo yum erase git
$ sudo yum install epel-release
$ sudo yum install git2u
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-25 15:16:33
Mi preferencia personal es construir paquetes rpm para CentOS al instalar software no estándar y reemplazar componentes distribuidos. Para esto te recomiendo que utilices Mock para crear un entorno de construcción limpio.
El procedimiento es:
Obtenga los RPMS de origen o un archivo de ESPECIFICACIONES adecuado y un tarball de origen prístino. En este caso se pueden encontrar paquetes RPM de origen para git2X para CentOS-6 en:
http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/
. Paquetes para otras versiones de CentOS también son disponible.-
Instale el software de soporte necesario:
yum install epel-release # you need this for mock yum install rpm-build yum install redhat-rpm-config yum install rpmdevtools yum install mock
-
Agregue una cuenta de usuario de compilación rpm (no compile como root o como usuario real - los problemas de seguridad volverán para morderle).
sudo adduser builder --home-dir /home/builder \ --create-home --user-group --groups mock \ --shell /bin/bash --comment "rpm package builder"
-
A continuación necesitamos un entorno de compilación.
su -l builder rpmdev-setuptree
Esto produce la siguiente estructura de directorios:
~ └── rpmbuild ├── BUILD ├── RPMS ├── SOURCES ├── SPECS └── SRPMS
-
Estamos usando un SRPMS preparado para que los tarballs de las FUENTES se puedan ignorar para esto case y podemos ir directamente a 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
-
Configurar mock (como root)
cd /etc/mock rm default.cfg ln -s epel-6-x86_64.cfg default.cfg vim default.cfg
Deshabilita los repositorios
beta
. Habilite los repositoriosbase
yupdate
. -
Inicializar el árbol de compilación (/var/lib / mock es el valor predeterminado)
mock --init
-
Si construyéramos a partir de FUENTES, entonces aquí es donde emplearíamos el archivo SPEC y usaríamos
mock --buildsrpm . . .
. Pero en este caso vamos directamente al paso de compilación binaria:mock --no-clean --rebuild ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
Esto resolverá la construcción dependencias y descargarlas (unos 95 paquetes) en la raíz de compilación limpia. Luego extraerá las fuentes y construirá el binario desde el SRPM proporcionado y lo dejará en
/var/lib/mock/epel-6-x86_64/result
; o en cualquier ubicación raíz de compilación personalizada y arquitectura que haya proporcionado. Tomará mucho tiempo. Hay mucho en este paquete; particularmente documentación. -
Si todo va bien, entonces debería terminar con un conjunto de paquetes RPM adecuados para la instalación en lugar de la versión de distribución. Esto es lo que terminé con:
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
-
Instalar usando yum o rpm.
Necesitará
git2u-2.5.3-1.ius.el6.x86_64.rpm
como mínimo y los paquetes de soporte adicionales que requiera (perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
) o que desee.Esta compilación tiene una dependencia cíclica:
git2u-2.5.3-1.ius.el6.x86_64.rpm
depende deperl-Git2u-2.5.3-1.ius.el6.noarch.rpm
yperl-Git2u-2.5.3-1.ius.el6.noarch.rpm
depende degit2u-2.5.3-1.ius.el6.x86_64.rpm
. Por lo tanto, una instalación recta conrpm
fallará.Hay dos maneras de lidiar con esto:{[27]]}
-
Instale ambos al mismo tiempo a través de yum:
yum localinstall \ git2u-2.5.3-1.ius.el6.x86_64.rpm \ perl-Git2u-2.5.3-1.ius.el6.noarch.rpm`
-
Configurar un repositorio local de yum.
Estoy incluyendo mi archivo
LocalFile.repo
a continuación, ya que contiene instrucciones sobre cómo hacer esto y proporciona el archivo repo necesario al mismo tiempo.
-
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
También se le puede solicitar que preinstale manualmente paquetes de dependencias adicionales como perl-TermReadKey
disponibles en los repositorios habituales.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-07 17:37:05
Para compilar e instalar modern Git en 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-16 18:17:19
Añadiendo una respuesta indirecta aquí. Estaba luchando para instalar git en una instancia de Amazon RHEL 6.0, y lo que terminó salvándome fue ... conda, como en Ana conda Python.
Instalé conda en la línea de comandos desde los archivos (código modelado después de esto):
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"
Y luego corrió
conda install git
Y se instaló una versión relativamente reciente de git. Hoy es 12/26/2016 y la versión 2.9.3.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-26 22:39:04
Este es mi método para instalar git en 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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-08 19:13:01
Compilar la última versión de git
en Centos 6/7
Preparando el sistema para construir rpms
-
Instalar epel:
Para EL6, utilizar:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
Para EL7, utilizar:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-
Instalar
fedpkg
:sudo yum install fedpkg
-
Agrégate al grupo mock (es posible que necesites volver a iniciar sesión en el servidor después de este cambio):
sudo usermod -a -G mock $USER
Descargar git
-
Descargar
git
fuentes:fedpkg clone -a git && cd git fedpkg sources
-
Verificar fuentes:
sha512sum -c sources
Construir rpm
-
Crear srmp. Utilizar
el6
para RHEL6,el7
para RHEL7.fedpkg --dist el7 srpm
-
Compilar el paquete en mock:
mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
Instale la última versión de
git
rpm desde/var/lib/mock/epel-7-x86_64/result/
. Tenga en cuenta que es posible que deba desinstalar la versión existente del git de su sistema primero.
Esta instrucción se basa en el mensaje de la lista de correo de Todd Zullinger .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-09 14:38:01
Esto puede ser irrelevante. Es para las personas que no quieren construir el último git en el host, mientras tanto, todavía pueden obtener el último git.
Creo que a la mayoría de la gente no le gusta construir el último git en CentOS porque las dependencias contaminarán el host y tienes que ejecutar muchos comandos. Por lo tanto, tengo una idea que es construir git dentro del contenedor de Docker y luego instalar el ejecutable a través del montaje de volumen de docker. Después de eso, puede eliminar la imagen y contenedor.
Sí, la desventaja es que tiene que instalar docker. Pero las dependencias menos se introducen en el host y no tiene que instalar otro repositorio de yum.
Aquí está mi repositorio. https://github.com/wood1986/docker-library/tree/master/git
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-03 23:08:59
Puede ser muy confuso, y peligroso, reemplazar los repositorios base de upstream con repositorios add-on sin pruebas y pensamientos considerables. RPMForge, en particular, está efectivamente moribundo y no está recibiendo actualizaciones.
Personalmente publico herramientas para compilar git 2.4, empaquetadas como un paquete alternativo llamado "git24", en https://github.com/nkadel/git24-srpm / . Siéntase libre de acceder y bifurcar aquellos si desea que los paquetes se distingan del sistema estándar paquetes, al igual que los paquetes "samba" y "samba4" se diferencian.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-03-07 20:14:08