Yumは、特定のパッケージがインストールされているがインストールされておらず、他のパッケージがインストールされていないと言います。

Yumは、特定のパッケージがインストールされているがインストールされておらず、他のパッケージがインストールされていないと言います。

新しいパッケージ()をインストールしようとしましたが、glibc-static次のエラーが発生します。

---> Package nss-softokn-freebl.i686 0:3.14.3-18.el6_6 will be installed
--> Finished Dependency Resolution
Error: Package: glibc-2.12-1.149.el6.i686 (CentOS-OS)
          Requires: glibc-common = 2.12-1.149.el6
          Installed: glibc-common-2.12-1.149.el6_6.5.x86_64 (@updates)
              glibc-common = 2.12-1.149.el6_6.5
          Available: glibc-common-2.12-1.149.el6.x86_64 (CentOS-OS)
              glibc-common = 2.12-1.149.el6
Error: Package: glibc-devel-2.12-1.149.el6.i686 (CentOS-OS)
          Requires: glibc-headers = 2.12-1.149.el6
          Installed: glibc-headers-2.12-1.149.el6_6.5.x86_64 (@updates)
              glibc-headers = 2.12-1.149.el6_6.5
          Available: glibc-headers-2.12-1.149.el6.x86_64 (CentOS-OS)
              glibc-headers = 2.12-1.149.el6
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

glibc-common-2.12-1.149.el6_6.5.x86_64とは一致glibc-common-2.12-1.149.el6.x86_64しません。ただし、glibc-common-2.12-1.149.el6_6.5.x86_64使用可能としてマークされます。私の考えではyumが喜んでインストールしてくれると思います。残念ながらyumはインストールしません。

それで私が自分でやろうとしています。

~ $> sudo yum install glibc-common-2.12-1.149.el6
Loaded plugins: fastestmirror, presto
Setting up Install Process
Loading mirror speeds from cached hostfile
 * epel: mirror.us.leaseweb.net
Package matching glibc-common-2.12-1.149.el6.x86_64 already installed. Checking for update.
Nothing to do

それは動作しません。すでにインストールされていると思います。

だから再インストールしてみました。

~ $> sudo yum reinstall glibc-common-2.12-1.149.el6
Loaded plugins: fastestmirror, presto
Setting up Reinstall Process
Loading mirror speeds from cached hostfile
No Match for argument: glibc-common-2.12-1.149.el6
Package(s) glibc-common-2.12-1.149.el6 available, but not installed.
Nothing to do

この問題をどのように解決できますか?

答え1

RPM DBがめちゃくちゃですね。以前このような状況にあった私のアドバイスは、rpm -e --justdb最新の「冗長」パッケージを最初にインストールしてから、yum upgradeこのパッケージをインストールすることです。rpm --rebuilddbちょうど私が少し編集証的だからです。最初の2つの手順を完了した後、リポジトリが正しく同期されたと仮定すると、最新のパッケージをインストールできます。yum clean all後でrpm -e --justdbこれを決定し、それを指定したことを確認してください。--justdbそうでなければ、システムにあらゆる種類の悪いことをする可能性があります。

答え2

RPMデータベースを操作しても特に良い結果はありませんでした。

結局のところ、いくつかのglibcパッケージはi686、いくつかのパッケージはx86_64。たとえば、

Package: glibc-2.12-1.149.el6.i686 (CentOS-OS)
    Requires: glibc-common = 2.12-1.149.el6
    Installed: glibc-common-2.12-1.149.el6_6.5.x86_64

私もそれが気に入らず、Yumもそれが気に入らないと思います。

走る

yum downgrade glibc glibc-headers glibc-common glibc-devel

すべてのパッケージを同じアーキテクチャにインポートします(x86_64)。次に、

yum install glibc-static

魅力のように動作します。

答え3

rpmをシステムに手動でダウンロードし(すべての依存rpmが必要です)、フォルダに保存して次のように実行して同様の問題を解決できました。

ヤムローカルアップデート/フォルダの場所/*.rpm

私の質問は、私がポイントしたリポジトリからRPMをインポートしたときに見つかった不一致についてです。しかし、症状はあなたが見ているのとまったく同じですので、これはあなたにも効果があるかもしれません。

関連情報