修复rpm数据库
有的时候,我们的rpm的数据库会因为某些原因损坏,这样当您执行rpm的相关命令的时候就会报类似下面的错误:
rpmdb: fatal region error detected; run recoveryerror: db4 error(-30982) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recoveryerror: 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
当进行包安装、升级、卸载等操作时,可能损坏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
或者执行rpm的相关命令后没有任何执行结果
这时需要先手动删除/var/lib/rpm目录下的 __db.* 文档,比如 __db.001, __db.002, etc.
然后再运行 rpm -v --rebuilddb 即可。
转自:http://www.idcnews.net/html/edu/20080425/301849.html