CentOS 使用 yum 安装软件时提示“Error: rpmdb open failed”的解决方法

今天想在 VirMach VPS 上装点东西,奈何内存太小,发现基本装不了什么东西。装的时候遇到了一个问题,提示“Error: rpmdb open failed”,感觉可能会有人也遇到,于是在此做个记录。

一、问题描述

CentOS 系统上,在使用 yum 命令安装软件包时候报错:

rpmdb: Thread/process 6539/140448388269824 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 -  (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

二、解决方法

原因是 RPM 数据库被破坏,重建数据库后恢复正常:

cd /var/lib/rpm/
for i in `ls | grep 'db.'`;do mv $i $i.bak;done
rpm --rebuilddb
yum clean all

参考:https://blog.51cto.com/alsww/1742134


【AD】美国洛杉矶CN2 VPS/香港CN2 VPS/日本CN2 VPS推荐,延迟低、稳定性高、免费备份_搬瓦工vps

【AD】RackNerd 推出的 KVM VPS 特价优惠,在纽约、西雅图、圣何塞和阿什本每年仅需 12.88 美元!