Usé lo usual:
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.
Usé lo usual:
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.
Respuestas:
Puede usar el repositorio CentOS de WANDisco para instalar Git 2.x: para CentOS 6 , para CentOS 7
Instale el paquete de repositorio de WANDisco:
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 2 de marzo de 2020, la última versión disponible de WANDisco es 2.22.0 .
--disablerepo=base,updates
no funciona para mí.
Echando un vistazo al blog aquí , encontré la solución en uno de los comentarios. Asegúrese de haber rpmforge
agregado el repositorio a su CentOS yum y simplemente ejecute el comando que fluye:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git
Si ya tiene instalado git, use:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras update git
Preguntas relacionadas):
Gracias a Anthony Hatzopoulos, porque git v1.8x
necesitarás usar git18 como en:
yum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
También gracias a @Axlrod por la sugerencia a continuación y @Hiphip por los comentarios:
Cambie el rpmforge.repo
archivo para tener rpmforge-extras
en activado,
yum update git
. De lo contrario, se quejó de problemas de dependencia.
Instalar una versión específica de git dice 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, pruebe las siguientes instrucciones:
http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
(Y pegado / reformateado de la fuente anterior en caso de que se elimine más adelante)
Paso 1: Instale los paquetes requeridos
En primer lugar, debemos asegurarnos de que hemos instalado los paquetes necesarios en su sistema. Use el siguiente comando para instalar los paquetes requeridos 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 el antiguo Git RPM
Ahora elimine cualquier instalación previa de Git a través del archivo RPM o el administrador de paquetes Yum. Si su versión anterior también se compila a través de la fuente, omita este paso.
# yum remove git
Paso 3: descargue y compile Git Source
Descargue el código fuente de git desde 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, use el 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
SUGERENCIA 1: Método actualizado para agregar el directorio compilado git bin a bashrc. Debido a que se
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 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/
SUGERENCIA 2 (@DJB):
/usr/local/git/bin
antes$PATH
, ya que la versión anterior de git ya estaba en $ PATH:export PATH=/usr/local/git/bin:$PATH
Paso 4. Verifique la versión de Git
Una vez finalizados los pasos anteriores, ha instalado con éxito Git en su sistema. Deje usar el siguiente comando para verificar la versión de git
# git --version
git version 2.0.4
También quería agregar que la guía "Comenzando" en el sitio web de GIT también incluye instrucciones sobre cómo descargarla y compilarla usted mismo:
http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
git18
como enyum --disablerepo=base,updates --enablerepo=rpmforge-extras install git18
yum --disablerepo=base,updates --enablerepo=rpmforge-extras list | grep git
solo muestra Git 1.7.12 para mí en Centos 6.6. ¿Quizás han eliminado "git18"?
Rackspace mantiene el repositorio ius , que contiene un git razonablemente actualizado, pero primero debe eliminarse el git de stock.
Instrucciones de 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
Instrucciones de 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
Can't locate ExtUtils/MakeMaker.pm in @INC
git-credential-libsecret
se instala un compilado , que es el medio más seguro del sistema operativo nativo. para almacenar credenciales de git, por ejemplo, para URL de http [s]. La respuesta actualmente aceptada al momento de escribir ( stackoverflow.com/a/21820716/407170 ) no hace estas cosas y requiere que se compile usted mismo.
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, pruebe las siguientes instrucciones:
http://tecadmin.net/install-git-2-0-on-centos-rhel-fedora/
(Y pegado / reformateado de la fuente anterior en caso de que se elimine más adelante)
Paso 1: Instale los paquetes requeridos
En primer lugar, debemos asegurarnos de que hemos instalado los paquetes necesarios en su sistema. Use el siguiente comando para instalar los paquetes requeridos 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 el antiguo Git RPM
Ahora elimine cualquier instalación previa de Git a través del archivo RPM o el administrador de paquetes Yum. Si su versión anterior también se compila a través de la fuente, omita este paso.
# yum remove git
Paso 3: descargue y compile Git Source
Descargue el código fuente de git desde el kernel git o simplemente use el 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, use 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. Verifique la versión de Git
Al completar los pasos anteriores, ha instalado con éxito Git en su sistema. Use el siguiente comando para verificar la versión de git
# git --version
git version 2.5.3
También quería agregar que la guía "Comenzando" en el sitio web de GIT también incluye instrucciones sobre cómo descargarla y compilarla usted mismo:
http://git-scm.com/book/en/v2/Getting-Started-Installing-Git
wget https://www.kernel.org/pub/software/scm/git/git-2.5.3.tar.gz
echo "export PATH=/usr/local/git/bin:$PATH" >> /etc/bashrc
y luego source /etc/bashrc
Mi preferencia personal es crear paquetes rpm para CentOS al instalar software no estándar y reemplazar componentes distribuidos. Para esto, le recomiendo que use Mock para crear un entorno de compilación limpio.
El procedimiento es:
Obtenga el RPMS de origen o un archivo SPEC adecuado y un tarball de origen prístino. En este caso se pueden encontrar paquetes RPM fuente para git2X para CentOS-6 en: http://dl.iuscommunity.org/pub/ius/archive/CentOS/6/SRPMS/
. Los paquetes para otras versiones de CentOS también están disponibles.
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 un usuario real; los problemas de seguridad volverán a molestarlo ).
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 construcción.
su -l builder
rpmdev-setuptree
Esto produce la siguiente estructura de directorios:
~
└── rpmbuild
├── BUILD
├── RPMS
├── SOURCES
├── SPECS
└── SRPMS
Estamos utilizando un SRPMS preparado para que los tarballs de SOURCES puedan ignorarse en este caso y podamos 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 simulacro (como root)
cd /etc/mock
rm default.cfg
ln -s epel-6-x86_64.cfg default.cfg
vim default.cfg
Deshabilitar los beta
repositorios. Habilite base
y update
repos.
Inicialice el árbol de compilación (/ var / lib / mock es el predeterminado)
mock --init
Si estuviéramos construyendo desde SOURCES, aquí es donde emplearíamos el archivo SPEC y lo usaríamos mock --buildsrpm . . .
. Pero en este caso vamos directamente al paso de compilación binario:
mock --no-clean --rebuild ~/rpmbuild/SRPMS/git2u-2.5.3-1.ius.centos6.src.rpm
Esto resolverá las dependencias de compilación y las descargará (aproximadamente 95 paquetes) en la raíz de compilación limpia. Luego extraerá las fuentes y compilará el binario del SRPM proporcionado y lo dejará /var/lib/mock/epel-6-x86_64/result
; o en cualquier ubicación de raíz de compilación personalizada y arquitectura que haya proporcionado. Tomará un largo 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 lo que desee.
Esta compilación tiene una dependencia cíclica: git2u-2.5.3-1.ius.el6.x86_64.rpm
depende perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
y perl-Git2u-2.5.3-1.ius.el6.noarch.rpm
depende de git2u-2.5.3-1.ius.el6.x86_64.rpm
. Por lo tanto, una instalación directa con rpm
fallará.
Hay dos formas de tratarlo:
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.
Incluyo mi LocalFile.repo
archivo a continuación, ya que contiene instrucciones sobre cómo hacer esto y proporciona el archivo de repositorio 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 es posible que deba preinstalar manualmente paquetes de dependencia adicionales, como los perl-TermReadKey
disponibles en los repositorios habituales.
Para compilar e instalar Git moderno 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
RHEL y sus derivados suelen enviar versiones anteriores de git. Puede descargar un tarball y compilar desde la fuente, o usar un repositorio de terceros como el Proyecto de la Comunidad IUS para obtener una versión más reciente de git.
Hay un buen tutorial aquí . en mi caso (servidor Centos7) después de la instalación tuve que cerrar sesión y volver a iniciar sesión.
git
Centos 6/7Instalar epel:
Para EL6, use:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
Para EL7, use:
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Instalar fedpkg
:
sudo yum install fedpkg
Agregue usted mismo al simulacro de grupo (es posible que deba volver a iniciar sesión en el servidor después de este cambio)
sudo usermod -a -G mock $USER
git
Descargar git
fuentes:
fedpkg clone -a git && cd git
fedpkg sources
Verificar fuentes:
sha512sum -c sources
Crear srmp. Uso el6
para RHEL6, el7
para RHEL7.
fedpkg --dist el7 srpm
Construir paquete en simulacro:
mock -r epel-7-x86_64 git-2.16.0-1.el7.src.rpm
Instale la última versión de git
rpm de /var/lib/mock/epel-7-x86_64/result/
. Tenga en cuenta que es posible que primero deba desinstalar la versión existente del git de su sistema.
Esta instrucción se basa en la publicación de la lista de correo de Todd Zullinger .
Agregar una respuesta indirecta aquí. Estaba luchando por instalar git en una instancia de RHEL 6.0 Amazon, y lo que me salvó fue ... conda, como en Ana conda Python.
Instalé conda en la línea de comando 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 git. Hoy es 26/12/2016 y la versión es 2.9.3.
Aquí está 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
yum install libcurl-devel
.
Esto puede ser irrelevante. Es para las personas que no quieren construir el último git en el host mientras que 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 al host y tienes que ejecutar muchos comandos. Por lo tanto, tengo una idea de cómo construir git dentro del contenedor Docker y luego instalar el ejecutable a través del montaje de volumen de Docker. Después de eso, puede eliminar la imagen y el contenedor.
Sí, la desventaja es que debes 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
Si git ya está instalado, primero elimine el viejo git
sudo yum remove git*
Agregar repositorio IUS CentOS 7
sudo yum -y install https://centos7.iuscommunity.org/ius-release.rpm
sudo yum -y install git2u-all
Ahora verifique la versión de git después de instalar el paquete git2u-all. Si Docker está instalado en su máquina, ius-release puede crear un problema.
git --version
¡¡bingo!!
Puede ser muy confuso y peligroso reemplazar los repositorios base ascendentes con repositorios adicionales sin pruebas y análisis considerables. RPMforge, en particular, está efectivamente moribundo y no está recibiendo actualizaciones.
Personalmente publico herramientas para construir git 2.4, envuelto como un paquete alternativamente llamado "git24", en https://github.com/nkadel/git24-srpm/ . Siéntase libre de acceder y bifurcarlos si desea que los paquetes se distingan de los paquetes estándar del sistema, al igual que los paquetes "samba" y "samba4" se diferencian.