在 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