RPM がエラーで複数パッケージが共存状態になったのを解消
2008-2-10 21:41
ある CentOS のサーバで、yum update の最中に反応が無くなってリブートしたら、kernel でもないのに複数のパッケージが共存というか重複して混在しているというあり得ない状態になってしまいました。たとえば、
# rpm -qa | sort …… bind-9.2.4-28.el4 bind-chroot-9.2.4-27.0.1.el4 bind-chroot-9.2.4-28.el4 bind-libs-9.2.4-27.0.1.el4 bind-libs-9.2.4-28.el4 bind-utils-9.2.4-27.0.1.el4 bind-utils-9.2.4-28.el4 ……
のような状態になってしまっています。本来ならこのような形で同じ名前のパッケージが複数インストールされることはないのですが。
ここで一方のパッケージを削除すると、パッケージに含まれるファイルが削除されてしまいますので、困ります。こういう場合は rpm コマンドで --replacepkg オプションを使用して強制的に置き換えます。念のために設定ファイルなど変更したファイルはバックアップしておきます。
# rpm -Uvh bind-libs bind-utils bind-chroot --replacepkgs
パッケージは、yum のキャッシュが /var/cache/yum/base/packages/ などに残っていればそれを使います。なければ yumdownloader を使いましょう。
きょう津田ふみかと、エラーされた。
だけど、エラーをバックアップー!
コメント by BlogPetのusausa — 2008-02-14 10:09