CentOS 6.0 x64에서 GIT를 설치할 수 없습니다


12

RPM 또는 YUM으로 GIT를 설치하려고하는데 설치할 수 없습니다. 다음과 같은 오류가 발생합니다.

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

실행할 때 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 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

서버가 최신 WHM / cPanel을 실행 중입니다.

그것을 고치는 방법?


누락 된 라이브러리 및 패키지를 설치하려고 했습니까?
dkaragasidis

1
그가 yum을 통해 설치하는 경우 종속성을 해결해야합니다. @Tom, "yum repolist"명령을 사용하여 질문에 붙여 넣을 수 있습니까?
Rilindo

답변:


17

cPanel 포럼 의이 게시물에서 알 수 있듯이 cPanel / WHM은 소스에서 자체 Perl 버전을 설치하도록 선택하여 /etc/yum.conf에서 yum이 가져올 수있는 perl * 패키지를 블랙리스트에 추가합니다.

해결책은 excludes 지시문 을 일시적으로 무시하는 반면 yum은 Git의 종속성을 분류합니다.

yum install git --disableexcludes=main --skip-broken

일하는 동료 +1 thnx
Sergey Benner

3

git을 처음 설치하는 동안 git-1.7.1-2.el6_0.1.x86_64.rpm이있는 업데이트 저장소에서 먼저 가져옵니다 (git-1.7.1-2와 반대) .el6.x86_64.rpm).

이에 접근하는 두 가지 옵션이 있습니다.

기본에서 git을 설치하고 다음을 사용하여 업데이트 저장소를 일시적으로 비활성화하십시오.

yum -y install git --disablerepo=updates

또는

다음을 사용하여 대부분의 최신 업데이트를 적용하십시오.

yum -y upgrade

그런 다음 git install을 다시 실행하여 업데이트 된 버전의 git으로 현재 종속성을 충족시킬 수 있습니다.

회귀 계획이없는 경우 업데이트를 적용하지 않으려는 이전 방법을 제안합니다.

편집 : 좋아, 종속성을 해결할 수 없거나 해당 rpm이있는 저장소로 갈 수 있으므로 다음 위치에서 RPM을 다운로드하십시오.

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

그런 다음 yum을 통해 다음을 설치하십시오.

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

그리고 git을 다시 설치하십시오. 필요한 경우 git 자체를 다운로드하고 다음을 사용하여 설치하십시오.

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

펄 -git과 펄-에러가 여전히 필요함
Tom

좋아, 세 번째 옵션으로 응답을 업데이트했습니다.
Rilindo

git-Error를 설치했지만 perl-Git을 설치할 수 없습니다.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

좋아, gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/… 를 다운로드 한 다음 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

게시 한 첫 번째 오류 그룹은 32 비트 버전의 git을 rpm 설치하려고 시도했음을 나타냅니다. 그러나 이것은 64 비트 시스템입니다.

뛰었 어 yum install git? 의존성 체인을 해결했을 것입니다. 로 yum 캐시를 정리하십시오 yum clean all.

그렇지 않은 경우 다음 종속성을 설치해야합니다.

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

다음을 git통해 설치하십시오 yum install git.


그것은 찾을 않습니다 perl-Git또는perl-Error

펄 패키지 두 개를 제거하고 git혼자 설치해보십시오 .
ewwhite

내가 얻는 것으로 게시물을 업데이트했습니다.
Tom

1
어쩌면 yum clean all다음 실행을 시도하십시오 yum install git.
ewwhite

1

소스에서 다운로드하여 컴파일하십시오.

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

6
바, 우리는 이유 때문에 패키지 관리를하고 있으며, 당신이 아주 좋은 이유가있는 경우에만 패키지 관리에서 벗어나야합니다. "yum"이 올바르게 작동하지 않으면 문제가 해결되고 무시되지 않음을 나타냅니다.
cjc

나는 좋은 이유가있을 때 소스에서 물건을 컴파일하기위한 모든 것이지만,이 경우 적절한 해결책이 아닌 (나쁜) 해킹 일 것입니다.
voretaq7

@All : 버전 1.7의 경우 최신 버전으로 설치 / 업데이트하는 데 아무런 문제가 없었지만 1.8.x로 업그레이드 할 수 없었습니다. 그런 다음이 방법을 사용하여 성공적으로 설치했습니다 (패키지 관리자없이 설치하지 않더라도)
рüффп

1

리포지토리에 GIT 설치에 필요한 일부 추가 패키지가없는 것 같습니다. 일반적으로 Enterprise Linux 용 Extra Packages 리포지토리도 설치하면 많은 문제가 해결됩니다.

여기에서 찾을 수 있습니다 :

RHEL5 또는 RHEL6

RHEL6 Repo를 설치하면 필요한 추가 패키지에 액세스 할 수 있어야합니다.

행운이면 최고


GIT는 기본 CentOS 배포판에 포함되어 있으므로 완전히 정확한 것은 아닙니다.
Rilindo
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.