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」コマンドを実行し、質問に貼り付けることができますか?
リリンド

回答:


17

cPanelフォーラムのこの投稿からわかるように、cPanel / WHMはソースから独自のバージョンのPerlをインストールすることを選択し、yumが/etc/yum.confに取り込むことができるperl *パッケージをブラックリストに追加します。

解決策は、yumがGitの依存関係を整理する間一時的にexcludesディレクティブを無視することです:

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

仕事仲間+1 thnx
セルゲイベナー

3

初めてgitをインストールしている間、最初に更新リポジトリからプルしているようです-git-1.7.1-2.el6_0.1.x86_64.rpm(git-1.7.1-2とは対照的) .el6.x86_64.rpm)。

これにアプローチするための2つのオプションがあります。

ベースからgitをインストールし、更新リポジトリを一時的に無効にします:

yum -y install git --disablerepo=updates

または

現在の更新のほとんどを次のもので適用します。

yum -y upgrade

そして、更新されたバージョンのgitで現在の依存関係を満たすことができるように、再度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

どちらも機能せず、perl-gitとperl-errorがまだ必要です
トム

さて、3番目のオプションで応答を更新しました。
リリンド

git -エラーインストールしたのですが、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
トム・

さて、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
リリンド

2

投稿したエラーの最初のグループは、32-butバージョンの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-Gitperl-Error
トム

さて、2つのperlパッケージを削除して、git単独でインストールしてみてください。
ewwhite

私は私が得るもので投稿を更新しました。
トム

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リポジトリ用のエクストラパッケージもインストールします。これにより、多くの問題が修正されます。

ここにあります:

RHEL5または RHEL6

RHEL6リポジトリをインストールすると、必要な追加パッケージにアクセスできるはずです。

運が最高


GITは基本CentOSディストリビューションに含まれているため、これは完全に正確ではありません。
リリンド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.