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だけど)を実施することで、問題なく成功した。
・・・というログでした。