CentOS:rpmdb:PANIC:检测到致命区域错误;运行恢复错误和解决方案

时间:2020-01-09 10:34:17  来源:igfitidea点击:

CentOS Linux v6.5执行yum命令时出现以下错误:

> **rpmdb: PANIC: fatal region error detected; run recovery  
>  error: db3 error(-30974) from dbenv->open: 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:**
> 
> Error: rpmdb open failed

如何在基于CentOS/RHEL的系统上解决此问题?

您可以通过清除rpm数据库来解决此问题。为了最大程度地降低风险,请使用cp命令备份/var/lib/rpm /中的文件:

mkdir /root/backups.rpm.mm\_dd\_yyyy/  
cp -avr /var/lib/rpm/ /root/backups.rpm.mm\_dd\_yyyy/  

要查找__db*文件列表,请输入:

# ls -l /var/lib/rpm/_*

输出示例:

-rw-r--r-- 1 root root   24576 Jan 28 04:00 /var/lib/rpm/__db.001
-rw-r--r-- 1 root root  229376 Jan 28 04:00 /var/lib/rpm/__db.002
-rw-r--r-- 1 root root 1318912 Jan 28 04:00 /var/lib/rpm/__db.003
-rw-r--r-- 1 root root  753664 Jan 28 04:00 /var/lib/rpm/__db.004

要解决此问题,请尝试:

# rm -f /var/lib/rpm/__db*
# db_verify /var/lib/rpm/Packages
# rpm --rebuilddb
# yum clean all

使用以下yum命令验证错误已消失

# yum update