No se puede instalar GIT en un CentOS 6.0 x64

12

Estoy tratando de instalar GIT por RPM o YUM pero no puedo. Obtuve el siguiente error:

error: Failed dependencies:
        libcrypto.so.10 is needed by git-1.7.1-2.el6.i686
        libcurl.so.4 is needed by git-1.7.1-2.el6.i686
        libexpat.so.1 is needed by git-1.7.1-2.el6.i686
        libssl.so.10 is needed by git-1.7.1-2.el6.i686
        libz.so.1 is needed by git-1.7.1-2.el6.i686
        perl(Error) is needed by git-1.7.1-2.el6.i686
        perl(Git) is needed by git-1.7.1-2.el6.i686
        perl-Git = 1.7.1-2.el6 is needed by git-1.7.1-2.el6.i686

Cuando se ejecuta yum install git:

root@server [/usr/local/src]# yum install git
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.symnds.com
 * extras: mirror.atlanticmetro.net
 * updates: mirror.trouble-free.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.7.1-2.el6_0.1 set to be updated
--> Processing Dependency: perl-Git = 1.7.1-2.el6_0.1 for package: git-1.7.1-2.el6_0.1.x86_64
--> Processing Dependency: perl(Git) for package: git-1.7.1-2.el6_0.1.x86_64
--> Processing Dependency: perl(Error) for package: git-1.7.1-2.el6_0.1.x86_64
--> Finished Dependency Resolution
Error: Package: git-1.7.1-2.el6_0.1.x86_64 (updates)
           Requires: perl(Error)
Error: Package: git-1.7.1-2.el6_0.1.x86_64 (updates)
           Requires: perl-Git = 1.7.1-2.el6_0.1
Error: Package: git-1.7.1-2.el6_0.1.x86_64 (updates)
           Requires: perl(Git)
 You could try using --skip-broken to work around the problem
bandmin-1.6.1-5.noarch has missing requires of perl(bandmin.conf)
bandmin-1.6.1-5.noarch has missing requires of perl(bmversion.pl)
bandmin-1.6.1-5.noarch has missing requires of perl(services.conf)
exim-4.69-30_cpanel_maildir.x86_64 has missing requires of perl(SafeFile)
frontpage-2002-SR1.2.i386 has missing requires of libexpat.so.0

Lista de repositorios:

repo id                       repo name                                status
base                          CentOS-6 - Base                          5,664+355
extras                        CentOS-6 - Extras                                1
updates                       CentOS-6 - Updates                          991+51
repolist: 6,656

El servidor está ejecutando el último WHM / cPanel.

¿Cómo arreglar eso?

Tom
fuente
¿Intentaste instalar las bibliotecas y paquetes faltantes?
dkaragasidis
1
Si está instalando a través de yum, debería haber resuelto las dependencias. @ Tom, ¿puedes hacer un comando "yum repolist" y pegar tu pregunta?
Rilindo

Respuestas:

17

Como puede ver en esta publicación en los foros de cPanel, cPanel / WHM opta por instalar su propia versión de Perl desde la fuente para que ponga en la lista negra los paquetes de perl * que podría obtener yum en /etc/yum.conf.

La solución es ignorar temporalmente la directiva exclude mientras yum ordena las dependencias de Git:

yum install git --disableexcludes=main --skip-broken
Stewart Adam
fuente
compañero trabajado +1 thnx
Sergey Benner
3

Parece que mientras está instalando git por primera vez, se está extrayendo del repositorio de actualizaciones primero, que tiene git-1.7.1-2.el6_0.1.x86_64.rpm (a diferencia de git-1.7.1-2 .el6.x86_64.rpm).

Hay dos opciones para abordar esto:

Instale git desde la base y desactive el repositorio de actualizaciones temporalmente con:

yum -y install git --disablerepo=updates

o

Aplique la mayoría de las actualizaciones actuales con:

yum -y upgrade

Y luego ejecute la instalación de git nuevamente, para que pueda satisfacer sus dependencias actuales con la versión actualizada de git.

Sugiero un enfoque anterior, ya que no desea aplicar actualizaciones si no tiene un plan de regresión.

EDITAR: De acuerdo, ya que parece que no puede resolver las dependencias o va a un repositorio que tiene esas actualizaciones rpm, descargue el RPM desde estas ubicaciones:

http://www.gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/perl-Git-1.7.1-2.el6_0.1.noarch.rpm

http://www.gtlib.gatech.edu/pub/centos/6.0/os/x86_64/Packages/perl-Error-0.17015-4.el6.noarch.rpm

y luego instalar a través de yum con:

yum localinstall perl-Error-0.17015-4.el6.noarch.rpm perl-Git-1.7.1-2.el6_0.1.noarch.rpm

e intente instalar git nuevamente. Si es necesario, descargue git e instálelo con:

yum localinstall perl-Error-0.17015-4.el6.noarch.rpm perl-Git-1.7.1-2.el6_0.1.noarch.rpm git-1.7.1-2.el6_0.1.x86_64.rpm
Rilindo
fuente
Ninguno funcionó, todavía requiere perl-git y perl-error
Tom
Bien, respuesta actualizada con la tercera opción.
Rilindo
Instaló git-Error, pero no puede instalar perl-Git, dice:error: Failed dependencies: git = 1.7.1-2.el6_0.1 is needed by perl-Git-1.7.1-2.el6_0.1.noarch
Tom
Bien, descargue gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/… y luego haga yum localinstall git-1.7.1-2.el6_0.1.x86_64.rpm perl-Git-1.7.1-2 .el6_0.1.noarch.rpm
Rilindo
2

El primer grupo de errores que publicaste indica que estabas intentando instalar rpm una versión de git de 32 pero. Sin embargo, este es un sistema de 64 bits.

¿Corriste yum install git? Debería haber resuelto su cadena de dependencia. Limpia tu caché de yum con yum clean all.

Si no, necesitará instalar las siguientes dependencias ...

yum install openssl libcurl expat zlib perl-Git perl-Error

Intenta instalar a gittravés de yum install gitseguir eso.

ewwhite
fuente
Sí encuentra perl-Gitoperl-Error
Tom
De acuerdo, elimine los dos paquetes perl e intente instalar gitsolo.
ewwhite
He actualizado la publicación con lo que obtengo.
Tom
1
Tal vez intente yum clean allluego correr yum install git.
ewwhite
1

Simplemente descargue y compile desde la fuente.

mkdir /home/sources
cd /home/sources
wget http://git-core.googlecode.com/files/git-1.7.8.4.tar.gz
tar -zxf git-1.7.8.4.tar.gz
cd git-1.7.8.4
./configure
make
make install
Jimmy Ngu
fuente
66
Bah, tenemos administración de paquetes por una razón, y solo debes dejar la administración de paquetes si tienes una muy buena razón. "mmm" no funciona correctamente indica que se ha solucionado un problema que no se ignora
cjc
Estoy a favor de compilar cosas de la fuente cuando hay una buena razón , pero en este caso sería un truco (malo), no una solución adecuada.
voretaq7
@Todo: para la versión 1.7 no tuve problemas para instalar / actualizar a la última versión, pero no es posible actualizar a 1.8.x; Luego utiliza este método para instalar con éxito (incluso como que no me gusta de instalar sin gestor de paquetes)
рüффп
1

Parece que a sus repositorios les faltan algunos de los paquetes adicionales necesarios para instalar GIT. Por lo general, también instalo los paquetes adicionales para el repositorio Enterprise Linux y eso soluciona muchos de mis problemas.

Se puede encontrar aquí:

RHEL5 o RHEL6

Instale el repositorio RHEL6 y debería tener acceso a los paquetes adicionales que necesita.

Mejor si la suerte

J baron
fuente
GIT está incluido en las distribuciones CentOS básicas, por lo que esto no es del todo exacto.
Rilindo