Chinaunix首页 | 论坛 | 博客
  • 博客访问: 407723
  • 博文数量: 126
  • 博客积分: 4025
  • 博客等级: 上校
  • 技术积分: 1970
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-18 18:09
文章分类

全部博文(126)

文章存档

2009年(126)

我的朋友

分类: LINUX

2009-03-19 10:30:36

修复rpm数据库

                                      

有的时候,我们的rpm的数据库会因为某些原因损坏,这样当你执行rpm的相关命令的时候就会报类似下面的错误:

rpmdb: fatal region error detected; run recovery
error: db4 error(-30982) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index

这样的后果是你将不能使用rpm来添加删除,更新查询你系统的RPM软件包了,其实只要按照下面的步骤做就可以恢复您的RPM数据库而不需要重新安装系统

# cd /var/lib
# mv rpm rpm.old
# mkdir rpm
# rpmdb --initdb
# cp rpm.old/Packages rpm
# rpmdb --rebuilddb

就可以了
以上是针对redhat8 和redhat9的做法如果是以前的版本或者其他版本的linux
请按照下面的步骤进行

# cd /var/lib
# mv rpm rpm.old
# mkdir rpm
# rpm --initdb
# cp rpm.old/Packages rpm
# rpm --rebuilddb

 

 

另一篇

Repair RPM database

当进行包安装、升级、卸载等操作时,可能损坏RPM DB,这时需要通过--rebuild参数来修复RPM DB,但有时会碰到这样的问题:

[root@tiv125 lib]# rpm -v --rebuilddb
rpmdb: fatal region error detected; run recovery
error: db4 error(-30982) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index

这时需要先手动删除/var/lib/rpm目录下的 __db.* 文件,比如 __db.001, __db.002, etc.
然后再运行 rpm -v --rebuilddb 即可。

阅读(413) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~