Impossible d'installer GIT sur un CentOS 6.0 x64

12

J'essaie d'installer GIT par RPM ou YUM mais je ne peux pas. J'obtiens l'erreur suivante:

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

Lors de l'exécution 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

Liste de dépôt:

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

Le serveur exécute le dernier WHM / cPanel.

Comment y remédier?

À M
la source
Avez-vous essayé d'installer les bibliothèques et les packages manquants?
dkaragasidis
1
S'il installe via yum, il devrait avoir résolu les dépendances. @Tom, pouvez-vous faire une commande "yum repolist" et coller votre question?
Rilindo

Réponses:

17

Comme vous pouvez le voir dans ce post sur les forums cPanel, cPanel / WHM choisit d'installer sa propre version de Perl à partir des sources afin qu'il liste les packages perl * qui pourraient être récupérés par yum dans /etc/yum.conf.

La solution consiste à ignorer temporairement la directive excludes pendant que yum trie les dépendances pour Git:

yum install git --disableexcludes=main --skip-broken
Stewart Adam
la source
compagnon de travail +1 thnx
Sergey Benner
3

Il semble que lorsque vous installez git pour la première fois, il tire d'abord sur le dépôt de mise à jour - qui a git-1.7.1-2.el6_0.1.x86_64.rpm (par opposition à git-1.7.1-2 .el6.x86_64.rpm).

Il y a deux options pour aborder cela:

Installez git à partir de la base et désactivez temporairement le dépôt de mise à jour avec:

yum -y install git --disablerepo=updates

ou

Appliquez la plupart des mises à jour actuelles avec:

yum -y upgrade

Ensuite, exécutez à nouveau l'installation de git, afin que vous puissiez satisfaire vos dépendances actuelles avec la version mise à jour de git.

Je suggère une ancienne approche, car vous ne voulez pas appliquer de mises à jour si vous n'avez pas de plan de régression.

EDIT: D'accord, car il ne semble pas résoudre les dépendances ou va à un référentiel qui a ces mises à jour rpm, téléchargez le RPM à partir de ces emplacements:

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

puis installez via yum avec:

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

et essayez de réinstaller git. Si nécessaire, téléchargez git lui-même et installez-le avec:

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
la source
Aucun n'a fonctionné, nécessitant toujours perl-git et perl-error
Tom
D'accord, réponse mise à jour avec la troisième option.
Rilindo
Installé git-Error, mais ne peut pas installer perl-Git, il dit: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
D'accord, téléchargez gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/… puis faites 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

Le premier groupe d'erreurs que vous avez signalé indique que vous tentiez d'installer rpm une version 32 mais de git. Il s'agit cependant d'un système 64 bits.

Tu as couru yum install git? Cela aurait dû résoudre votre chaîne de dépendance. Nettoyez votre cache yum avec yum clean all.

Si non, vous devrez installer les dépendances suivantes ...

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

Essayez d'installer gitvia en yum install gitsuivant cela.

ewwhite
la source
Il trouve perl-Gitouperl-Error
Tom
D'accord, supprimez les deux packages perl et essayez de l'installer gitseul.
ewwhite
j'ai mis à jour le message avec ce que j'obtiens.
Tom
1
Essayez peut-être de yum clean allcourir ensuite yum install git.
ewwhite
1

Il suffit de télécharger et de compiler depuis la source.

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
la source
6
Bah, nous avons la gestion des paquets pour une raison, et vous ne devriez vous éloigner de la gestion des paquets que si vous avez une très bonne raison. "yum" ne fonctionne pas correctement indique un problème à résoudre, non ignoré.
cjc
Je suis pour la compilation de trucs à partir de la source quand il y a une bonne raison , mais dans ce cas, ce serait un (mauvais) hack, pas une bonne solution.
voretaq7
@All: Pour la version 1.7, je n'ai eu aucun problème pour installer / mettre à jour vers la dernière version mais pas possible de passer à 1.8.x; Ensuite, j'ai utilisé cette méthode pour l'installer avec succès (même comme vous, je n'aime pas l'installer sans gestionnaire de paquets)
рüффп
1

Il semble que vos référentiels manquent certains des packages supplémentaires nécessaires pour installer GIT. En règle générale, j'installe également le référentiel Extra Packages for Enterprise Linux et cela résout une tonne de mes problèmes.

Il peut être trouvé ici:

RHEL5 ou RHEL6

Installez le RHEL6 Repo et vous devriez avoir accès aux packages supplémentaires dont vous avez besoin.

Meilleure chance

J Baron
la source
GIT est inclus dans les distributions de base CentOS, donc ce n'est pas tout à fait exact.
Rilindo