Linux 技术手札

重建损坏的 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
Exit mobile version