琐碎笔记

解决 RPM 数据库损坏的问题

佩佩 · 6月19日 · 2020年 · · 177次查看

前言

最近在为刚开的一台 VPS 升级内核时,报了如下错误:

error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db5 - (-30969)
error: cannot open Packages database in /var/lib/rpm

问题

[[email protected] ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
error: cannot open Packages index using db5 -  (-30969)
error: cannot open Packages database in /var/lib/rpm

分析

以上提示信息可知,由于强制结束了yum 操作而导致 rpm 数据库被损坏了!

解决

  • 删除损坏的 rpmdb 文件
[[email protected] ~]# rm /var/lib/rpm/__**
rm: remove regular file '/var/lib/rpm/__db.001'? y
rm: remove regular file '/var/lib/rpm/__db.002'? y
rm: remove regular file '/var/lib/rpm/__db.003'? y
  • 重建 rpm 数据库
[[email protected] ~]# rpm --rebuilddb
  • 清除所有 yum 的缓存
[[email protected] ~]# yum clean all
52 files removed

测试

[[email protected] ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

什么也提示没有,说明恢复正常了。

结束

Enjoy it !

0 条回应