GIT kann nicht auf CentOS 6.0 x64 installiert werden

12

Ich versuche, GIT mit RPM oder YUM zu installieren, aber ich kann nicht. Ich erhalte folgenden Fehler:

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

Beim Laufen 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

Repo-Liste:

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

Auf dem Server wird das neueste WHM / cPanel ausgeführt.

Wie kann man das beheben?

Tom
quelle
Haben Sie versucht, die fehlenden Bibliotheken und Pakete zu installieren?
Karagasidis
1
Wenn er über yum installiert, sollte es die Abhängigkeiten aufgelöst haben. @Tom, kannst du den Befehl "yum repolist" ausführen und deine Frage einfügen?
Rilindo

Antworten:

17

Wie Sie diesem Beitrag in den cPanel-Foren entnehmen können, installiert cPanel / WHM eine eigene Version von Perl aus dem Quellcode, um die Perl * -Pakete, die yum in /etc/yum.conf einlesen könnte, zu blockieren.

Die Lösung besteht darin , die Ausschluss- Direktive vorübergehend zu ignorieren, während yum die Abhängigkeiten für Git aussortiert:

yum install git --disableexcludes=main --skip-broken
Stewart Adam
quelle
arbeitete Mate +1 Danke
Sergey Benner
3

Es sieht so aus, als würde während der erstmaligen Installation von git zuerst aus dem Update-Repo gezogen - mit git-1.7.1-2.el6_0.1.x86_64.rpm (im Gegensatz zu git-1.7.1-2 .el6.x86_64.rpm).

Hierfür gibt es zwei Möglichkeiten:

Installiere git von der Basis und deaktiviere das Update-Repo vorübergehend mit:

yum -y install git --disablerepo=updates

oder

Übernehmen Sie die meisten aktuellen Updates mit:

yum -y upgrade

Führen Sie anschließend die Git-Installation erneut aus, damit Sie Ihre aktuellen Abhängigkeiten mit der aktualisierten Version von Git erfüllen können.

Ich schlage einen früheren Ansatz vor, da Sie keine Updates anwenden möchten, wenn Sie keinen Regressionsplan haben.

BEARBEITEN: Okay, da es nicht scheint, die Abhängigkeiten aufzulösen, oder es geht zu einem Repo, das diese Aktualisierungs-RPM hat, lade das RPM von diesen Orten herunter:

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

und dann über yum installieren mit:

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

und den versuch git nochmal zu installieren. Wenn nötig, lade git selbst herunter und installiere es mit:

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
quelle
Beides hat nicht funktioniert, Perl-Git und Perl-Fehler sind immer noch erforderlich
Tom
Okay, aktualisierte Antwort mit der dritten Option.
Rilindo
Installierter Git-Fehler, aber Perl-Git kann nicht installiert werden. Es heißt: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
Okay, lade gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/… herunter und installiere dann git-1.7.1-2.el6_0.1.x86_64.rpm perl-Git-1.7.1-2 .el6_0.1.noarch.rpm
Rilindo
2

Die erste Gruppe von Fehlern, die Sie gemeldet haben, weist darauf hin, dass Sie versucht haben, eine 32-but-Version von git mit RPM zu installieren. Dies ist jedoch ein 64-Bit-System.

Bist du gelaufen yum install git? Es sollte Ihre Abhängigkeitskette aufgelöst haben. Bereinigen Sie Ihren Yum-Cache mit yum clean all.

Wenn nicht, müssen Sie die folgenden Abhängigkeiten installieren ...

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

Versuchen Sie , gitüber yum install gitfolgende , dass.

ewwhite
quelle
Es findet perl-Gitoderperl-Error
Tom
Okay, entferne die beiden Perl-Pakete und versuche, sie gitalleine zu installieren .
ewwhite
Ich habe den Beitrag mit dem, was ich bekomme, aktualisiert.
Tom
1
Vielleicht probier mal einen yum clean alldann rennen yum install git.
ewwhite
1

Einfach herunterladen und aus dem Quellcode kompilieren.

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
quelle
6
Bah, wir haben aus einem bestimmten Grund eine Paketverwaltung, und Sie sollten die Paketverwaltung nur dann verlassen, wenn Sie einen sehr guten Grund haben. "yum" funktioniert nicht richtig weist darauf hin, dass ein Problem behoben und nicht ignoriert werden muss.
cjc
Ich bin alles dafür, Dinge aus dem Quellcode zu kompilieren, wenn es einen guten Grund gibt , aber in diesem Fall wäre das ein (schlechter) Hack, keine richtige Lösung.
Voretaq7
@All: Für Version 1.7 hatte ich kein Problem mit der Installation / Aktualisierung auf die neueste Version, aber ich konnte kein Upgrade auf 1.8.x durchführen. Dann habe ich diese Methode verwendet, um es mit Erfolg zu installieren (auch wenn Sie nicht ohne Paket-Manager installieren
möchten
1

Anscheinend fehlen in Ihren Repositorys einige der zusätzlichen Pakete, die für die Installation von GIT erforderlich sind. Normalerweise installiere ich auch das Repository für Extra Packages für Enterprise Linux, wodurch eine Menge meiner Probleme behoben werden.

Es kann hier gefunden werden:

RHEL5 oder RHEL6

Installieren Sie das RHEL6 Repo und Sie sollten Zugriff auf die zusätzlichen Pakete haben, die Sie benötigen.

Am besten wenn Glück

J Baron
quelle
GIT ist in den CentOS-Basisdistributionen enthalten, daher ist dies nicht ganz korrekt.
Rilindo,