RPM数据库损坏的解决方法

来源:互联网 发布:明基投影仪 知乎 编辑:程序博客网 时间:2024/05/16 15:06
RPM包是Redhat和许多版本的linux(SUSE,红旗,Turbo)采用的一种软件包,或者说是一种软件包管理的方法。全称是:Redhat package mangement,是红帽子的发明。

通常情况下,这个系统非常的稳定和强健,但是个别的操作,例如安装意外中断,使用了冲突的包来源,这个简单的说,就是不同的人打得包,往往也有不同,依赖关系不一样。

我碰到过得一次情况,记录下来,当时的错误信息如下:

rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery
rpmdb: PANIC: fatal region error detected; run recovery
error: db4 error(-30977) from db->close: DB_RUNRECOVERY: Fatal error, run database recovery
rpmdb: PANIC: fatal region error detected; run recovery

这是在你执行安装新软件的时候出现的错误信息。

当然了,还是去google一下,把解决的办法也记录下来,希望对大家和我自己都有用:

rm /var/lib/rpm/__db*
rpm --rebuilddb
yum clean all

实际上,重新建立了rpm库里的记录,不会安装和删除任何的包。所以放心使用吧。

另外,

yum clean all

会删除之前的缓存,例如已经进行到一半的更新,临时文件都会被去掉,只好从头来过了。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xiaoshao_0_0/archive/2009/03/14/3991019.aspx

第一句命令将rpm所用的数据库删除,第二句将重建该数据库,第三句可选,你可以不敲入这一句,直接安装,一般不会出现问题,如果出现问题可能是你的 yum下下来的数据没有checksum,校验值不对所致,可以运行一下第三句清除所有yum的缓存再行使用yum安装。 
详细出处参考:http://www.itqun.net/content-detail/238125.html
原创粉丝点击