Nie można zainstalować GIT na CentOS 6.0 x64

12

Próbuję zainstalować GIT za pomocą RPM lub YUM, ale nie mogę. Otrzymuję następujący błąd:

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

Podczas uruchamiania 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 repozytoriów:

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

Na serwerze działa najnowsza wersja WHM / cPanel.

Jak to naprawić?

Tomek
źródło
Czy próbowałeś zainstalować brakujące biblioteki i pakiety?
dkaragasidis,
1
Jeśli instaluje się przez yum, powinno to rozwiązać zależności. @Tom, czy możesz wykonać polecenie „mniam repolist” i wkleić pytanie?
Rilindo,

Odpowiedzi:

17

Jak widać z tego postu na forach cPanel, cPanel / WHM decyduje się zainstalować własną wersję Perla ze źródła, więc umieszcza na czarnej liście pakiety perl *, które mogłyby zostać pobrane przez yum w /etc/yum.conf.

Rozwiązaniem jest tymczasowe zignorowanie dyrektywy wykluczającej, podczas gdy yum uporządkuje zależności dla Git:

yum install git --disableexcludes=main --skip-broken
Stewart Adam
źródło
pracował kolega +1 dzięki
Sergey Benner
3

Wygląda na to, że podczas instalowania gita po raz pierwszy najpierw pobiera się z repozytorium aktualizacji - które ma git-1.7.1-2.el6_0.1.x86_64.rpm (w przeciwieństwie do git-1.7.1-2 .el6.x86_64.rpm).

Istnieją dwie opcje, aby podejść do tego:

Zainstaluj git z bazy i tymczasowo wyłącz repozytorium aktualizacji za pomocą:

yum -y install git --disablerepo=updates

lub

Zastosuj większość bieżących aktualizacji za pomocą:

yum -y upgrade

Następnie uruchom ponownie instalację git, abyś mógł zaspokoić swoje obecne zależności dzięki zaktualizowanej wersji git.

Sugeruję wcześniejsze podejście, ponieważ nie chcesz stosować aktualizacji, jeśli nie masz planu regresji.

EDYCJA: OK, ponieważ wydaje się, że nie można rozwiązać zależności lub idzie do repozytorium, które ma te aktualizacje rpm, pobierz RPM z tych lokalizacji:

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

a następnie zainstaluj przez yum za pomocą:

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

i spróbuj ponownie zainstalować git. W razie potrzeby pobierz sam git i zainstaluj za pomocą:

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
źródło
Żadne z nich nie działało, wciąż wymaga perl-git i perl-error
Tom
Dobra, zaktualizowana odpowiedź z trzecią opcją.
Rilindo,
Zainstalowano git-Error, ale nie można zainstalować perl-Git, Mówi: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
Dobra, pobierz gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/…, a następnie zrób lokalną instalację git-1.7.1-2.el6_0.1.x86_64.rpm perl-Git-1.7.1-2 .el6_0.1.noarch.rpm
Rilindo
2

Pierwsza grupa opublikowanych błędów wskazuje, że próbujesz zainstalować RPM w wersji 32-ale git. Jest to jednak system 64-bitowy.

Biegałeś yum install git? Powinno to rozwiązać Twój łańcuch zależności. Wyczyść swoją pamięć podręczną za pomocą yum clean all.

Jeśli nie, musisz zainstalować następujące zależności ...

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

Spróbuj zainstalować gitpoprzez yum install gitpo.

ewwhite
źródło
Znajduje perl-Gitlubperl-Error
Tom
Okej, usuń dwa pakiety perla i spróbuj zainstalować gitsam.
ewwhite
zaktualizowałem post o to, co dostaję.
Tom
1
Może spróbuj yum clean allwtedy yum install git.
ewwhite
1

Wystarczy pobrać i skompilować ze źródła.

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
źródło
6
Nie bez powodu mamy zarządzanie pakietami i powinieneś odejść od zarządzania pakietami tylko, jeśli masz bardzo dobry powód. „mniam” nie działa poprawnie oznacza problem do naprawienia, a nie zignorowania.
cjc 23.01.12
Jestem za kompilowaniem rzeczy ze źródła, gdy jest ku temu dobry powód , ale w tym przypadku byłby to (zły) hack, a nie właściwa poprawka.
voretaq7
@Wszystkie: W przypadku wersji 1.7 nie miałem problemu z instalacją / aktualizacją do najnowszej wersji, ale nie było możliwe uaktualnienie do wersji 1.8.x; Potem użyłem tej metody, aby zainstalować ją z sukcesem (nawet jak ty nie lubię instalować bez menedżera pakietów)
рüффп
1

Wygląda na to, że w twoich repozytoriach brakuje niektórych dodatkowych pakietów potrzebnych do zainstalowania GIT. Zazwyczaj instaluję również repozytorium Extra Packages for Enterprise Linux, co naprawia mnóstwo moich problemów.

Można go znaleźć tutaj:

RHEL5 lub RHEL6

Zainstaluj RHEL6 Repo i powinieneś mieć dostęp do dodatkowych pakietów, których potrzebujesz.

Najlepiej jeśli na szczęście

J Baron
źródło
GIT jest zawarty w podstawowych dystrybucjach CentOS, więc nie jest to do końca dokładne.
Rilindo