web-dev-qa-db-ja.com

yum depsolvingproblems-パッケージはすでにインストールされていますか?

'yum update'を実行しようとすると、いくつかのシステムで次のエラーが発生し始めました。

--> Running transaction check
--> Processing Dependency: freetype = 2.2.1-28.el5_5 for package: freetype-devel
---> Package freetype.i386 0:2.2.1-28.el5_5.1 set to be updated
--> Finished Dependency Resolution
freetype-devel-2.2.1-28.el5_5.i386 from installed has depsolving problems
  --> Missing Dependency: freetype = 2.2.1-28.el5_5 is needed by package freetype-devel-2.2.1-28.el5_5.i386 (installed)
Error: Missing Dependency: freetype = 2.2.1-28.el5_5 is needed by package freetype-devel-2.2.1-28.el5_5.i386 (installed)

「不足している」パッケージをインストールしようとすると、すでにそこにあると言われるので、これは私には意味がありません。

Setting up Install Process
Package freetype-2.2.1-28.el5_5.i386 already installed and latest version
Nothing to do

私はすでに「yumcleanall」を変更せずに試しました。また、yumが提案するpackage-cleanupコマンドも試しました。

誰かが私がこれをさらに診断または解決するのを手伝ってくれる?

4
Jax

それはあなたにそれを伝えています:

  1. FreeTypeバージョン2.2.1-28.el5_5.1をアップグレードしたい—.1に注意してください。
  2. freetype-devel 2.2.1-28.el5_5(古いバージョン)がインストールされ、
  3. freetype-devel 2.2.1-28.el5_5(古いバージョン)にはfreetype 2.2.1-28.el5_5(古いバージョン)が必要です

手順1では古いバージョンのfreetypeが削除されるため、古いfreetype-develは壊れたままになります。だからそれは救済されます。

問題は、freetype-develを新しいバージョンに更新しようとしないのはなぜですか?

Freetypeとfreetype-develの両方にi386とx86_64の両方のパッケージがあるので、すべきではありませんが競合を引き起こしていますが、ええと、時々物事が不安定になります。 x86_64を使用していて、i386パッケージが必要ない場合は、それを削除すると問題が解決する可能性があります。

しかし、今すぐfreetypeにリンクするものをコンパイルしているのでない限り、再び作業を開始する最も簡単な方法は、おそらくfreetype-develを削除することです。アップデートが正常に完了したら、個別にインストールしてみてください。問題が発生した場合は、より簡単に解決できる問題があります。

4
mattdm

64ビットシステムを使用していますか?その場合、パッケージのi386バージョンとx86_64バージョンの両方がインストールされていると、奇妙な動作が発生する可能性があります。次のように、i386freetypeパッケージを削除してみてください。

yum remove freetype.i386

これにより、追加のi386パッケージが削除される可能性がありますが、x86_64システムを使用している場合は問題ありません。実際、私はしばしば次のようなi386パッケージを削除することになりますall

yum remove $(rpm -qa --qf = '%{NAME}-%{VERSION}。%{Arch}\n' | grep'.i386 $ ')

multilib_policy/etc/yum.confbestに設定することにより、i386パッケージが将来インストールされないようにすることができます。

multilib_policy=best
3
larsks