重建損壞的 RPM 資料庫

在 RHEL 或 CentOS 的 RPM 資料庫 (/var/lib/rpm) 損壞了, 當使用 rpm 指令時會出現以下錯誤:

rpm command terminates with “cannot open Packages database in /var/lib/rpm”

要解決這個問題, 可以用 rpmdb tools 重建 RPM 資料庫.

1. 先進入 single user mode, 注意不能用 SSH 做.


# init 1

2. 先把目前的 /var/lib/rpm 備份:

# mkdir -vp /backup/rpm/
# cp -avr /var/lib/rpm/* /backup/rpm/

3. 移除 /var/lib/rpm/__db*

# cd /var/lib/rpm/
# rm -vf __db*

4. 重建 RPM 資料庫:

# rpm –rebuilddb -vv
# rpmdb_verify Packages

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.