i386とx86_64の両パッケージが存在/依存関係などで、rpmパッケージが消せなかった場合の対処

Fedoraな某サーバ環境で、Fedora8からFedora10にアップグレード(yumに拠る)しようとしたら、どういうわけか、i386用とx86_64用のパッケージが重複してインストールされているようで、以下のエラー(conflict)が出た。

Transaction Check Error:
  file /sbin/dmraid.static from install of dmraid-1.0.0.rc15-2.fc10.x86_64 conflicts with file from package dmraid-1.0.0.rc14-4.fc8.i386
  file /usr/share/man/man8/dmraid.8.gz from install of dmraid-1.0.0.rc15-2.fc10.x86_64 conflicts with file from package dmraid-1.0.0.rc14-4.fc8.i386

さて、ちょっと調べてみよう。

# rpm -qa | grep dmraid
dmraid-1.0.0.rc14-4.fc8
dmraid-1.0.0.rc14-4.fc8

検索すると、エラー文通り、2つ(x86とx86_64)のパッケージが該当。

# rpm -e dmraid-1.0.0.rc14-4.fc8
error: "dmraid-1.0.0.rc14-4.fc8" specifies multiple packages

削除しようとしても、↑のような感じで消せない。

# rpm -e --allmatches dmraid-1.0.0.rc14-4.fc8
error: Failed dependencies:
        dmraid is needed by (installed) mkinitrd-6.0.71-6.fc10.x86_64

そこで、"--allmatches"オプションを使うと、該当するパッケージ名の全てが消せるはずだが、、、依存関係が邪魔して消せない。

# rpm -e --allmatches --nodeps dmraid-1.0.0.rc14-4.fc8

ということで、"--nodeps"オプションをさらに加えて、依存関係を無視するカタチで削除。


別に該当パッケージを削除したいわけではないので、このあと改めて"yum install dmraid"等で、新しいバージョンのパッケージとして、インストールし直した後、改めてFedora8 ⇒ Fedora10へのアップグレード(yum updateだけど)を実施することで、問題なく成功した。

・・・というログでした。