
リポジトリにアクセスできない CentOS 6.5 マシンに、vnc サーバー用のパッケージをいくつかインストールする必要があります (そのため、必要な rpm パッケージを sftp を使用して転送する必要があります)。
パッケージ libX11-1.6.0-6 をインストールしようとすると、次のエラーが発生しました。
エラー: 依存関係に失敗しました: libxcb < 1.9.1-3 が libX11-1.6.0-6.el6.i686 と競合しています
そこで、libxcb を要求されたバージョンにアップグレードしましたが、同じエラーが発生しました。--nodeps を使用して libX11 のインストールを強制しようとしましたが、次のライブラリがありません: libxcb-glx.so.0 および libxcb.so.1。
ライブラリを元に戻すために libxcb を再インストール、アップグレード、またはダウングレードしようとしましたが、失敗しました。
何をすればよいでしょうか ?
答え1
メッセージは、libxcb
が と競合していることを示していますlibX11
。後者は自己完結型であるか、(競合するパッケージの場合)libxcb
を使用して置き換えます。一部のlibX11
。これを行うには、 用の別のパッケージが必要ですlibX11
。
考えられるシナリオは、次の議論のように、異なるリポジトリからのパッケージを混在させることです。Centos 6.6 をアップデートできません。エラー: パッケージ: が重複しています。 その中で、誰かがシステムに別のリポジトリからのパッケージを強制的に使用させようとしました (おそらくあなたの状況と同じです)。
代替リポジトリが本当に必要な場合は、唯一の方法は置き換えることです。全て最終的に依存するパッケージlibxcb
(libX11
、依存するパッケージ)それなど)。そうしないと、システムに一貫性がなくなり、予期しない問題が発生します (アップグレードできないなど)。
これを行うには、まず依存パッケージを見つける必要があります。
- Yum でインストールされた別のパッケージに依存するパッケージを一覧表示する(両方のリポジトリ セットに対して作業リポジトリを持つシステムがある場合に便利です)
- Re: すべての依存パッケージをクエリする壊れたシステムを分析するために使用できる
rpm
(--whatrequires
および)の 2 つのオプションについて言及しています。--whatprovides