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 を使いましょう。

  • ブックマーク : アクセス: 17,229回
  • カテゴリー : Linux
  • キーワード : , ,

1件のコメント

  1. きょう津田ふみかと、エラーされた。
    だけど、エラーをバックアップー!

    コメント by BlogPetのusausa2008-02-14 10:09

Sorry, the comment form is closed at this time.

34 queries. HTML convert time: 0.076 sec. Powered by WordPress. Valid XHTML
Copyright © 2003-2017 @ futuremix.org ログイン