在 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/
# cp -avr /var/lib/rpm/* /backup/rpm/
3. 移除 /var/lib/rpm/__db*
# cd /var/lib/rpm/
# rm -vf __db*
# rm -vf __db*
4. 重建 RPM 資料庫:
# rpm –rebuilddb -vv
# rpmdb_verify Packages
# rpmdb_verify Packages