01 January 2007

yumエラー (RPMDBエラー) の対処

Fedora Core 6 をインストールした後、yum update を1回掛けて再起動したところ、yumが二度と起動しなくなった。


[root@localhost ~]# yum -d 10 listt
〜 (略) 〜
Reading Local RPMDB

と、RPMのデータベースを見に行ったまま返ってこない。(-d 10 オプションを付けているのは、詳細な実行状況を表示させるため。これを付けていないと、何も表示しないままフリーズした状態になる)

rpm のデータベースが破損していると思われるので、 rpm --rebuilddb を実行したが、これも途中で止まってしまう状態。

ネットで解決方法を探したところ、@ITのサイトhttp://www.atmarkit.co.jp/flinux/rensai/linuxtips/677errorrpm.html
に解決方法の糸口が書いてあった。

まず、/var/lib/rpm の _db.001 〜 _db.003 というファイルを削除してから、


[root@localhost ~]# rpm --rebuilddb -vv
[root@localhost ~]# yum clean metadata
[root@localhost ~]# yum clean dbcache
[root@localhost ~]# yum clean all

と行う。なお、rpm での -vv スイッチは実行中のメッセージを表示させるもの。
yum clean を行わないと ”セグメント違反” というエラーが出る場合がある。