centos如何解决“rpmdb:PANIC: fatal region error detected; run recovery error and solution”错误

CentOS osetc 1044℃ 0评论

在centos 或者rhel系统,当你使用yum命令的时候可能会遇到下面的错误信息:

1
2
3
4
5
6
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

如何解决这个问题呢?

首先要先备份下rpm数据库,以防万一。使用下面的命令备份rpm数据库:

1
cp -avr /var/lib/rpm/ /root/backups.rpm.mm_dd_yyyy/

显示所有的rpm 数据库文件,输入下面的命令:

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

命令输出:

1
2
3
4
5
[root@devops Desktop]# ls -l /var/lib/rpm/_*
-rw-r--r--. 1 root root   24576 Dec 14 04:13 /var/lib/rpm/__db.001
-rw-r--r--. 1 root root  229376 Dec 14 04:13 /var/lib/rpm/__db.002
-rw-r--r--. 1 root root 1318912 Dec 14 04:13 /var/lib/rpm/__db.003
-rw-r--r--. 1 root root  753664 Dec 14 04:13 /var/lib/rpm/__db.004

执行下面的命令,修复问题:

1
2
3
4
rm -f /var/lib/rpm/__db*
db_verify /var/lib/rpm/Packages
rpm --rebuilddb
yum clean all

到此我们可以执行一个yum命令来验证问题已经被解决。
输入下面命令:

1
yum repolist

命令输出:

1
2
3
4
5
6
7
8
9
10
11
[root@devops Desktop]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.btte.net
 * updates: mirrors.btte.net
repo id                        repo name                                  status
base                           CentOS-6 - Base                            6,518
extras                         CentOS-6 - Extras                             36
updates                        CentOS-6 - Updates                           494
repolist: 7,048

转载请注明:osetc.com » centos如何解决“rpmdb:PANIC: fatal region error detected; run recovery error and solution”错误

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址