您的位置:首页 > 产品设计

yum更新和rpm安装包问题(rpmdb: PANIC: Invalid argument)

2011-04-26 21:19 375 查看
http://www.quwenqing.com/rewrite.php/read-87.html

使用yum或者rpm安装包时出现的问题,安装时报出大约如下的错误:

================================================================================

rpmdb: PANIC: Invalid argument

error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery

error: error(-30977) setting "o▒n+ c=-

@m

" records from Filemd5s index

rpmdb: PANIC: fatal region error detected; run recovery

error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery

error: error(-30977) setting ";b.#C+ . ՘

@m

" records from Filemd5s index

rpmdb: PANIC: fatal region error detected; run recovery

error: db4 error(-30977) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run database recovery

error: error(-30977) setting "$ > И

@m

================================================================================

还可能出现整屏幕的乱码,这多半是因为prm数据库出现损坏导致的,此错误可能导致多数(甚至是所有的)rpm软件的升级、安装甚至是删除都会出现问题,终端出现乱码,yum和/或rpm包在重启机器之前不能再使用……

曾经被这个错误搞得头都大了,差点没把MySQL和yum给卸载了……

现在好像已经没事……修复此错误,请在以root身份在终端输入以下命令:

rm -f /var/lib/rpm/__db.*

rpm --rebuilddb

yum clean all

解释一下:

第一句命令将rpm所用的数据库删除,第二句将重建该数据库,第三句可选,你可以不敲入这一句,直接安装,一般不会出现问题,如果出现问题可能是你的 yum下下来的数据没有checksum,校验值不对所致,可以运行一下第三句清除所有yum的缓存再行使用yum安装。

另外,如果你使用yum时整天出现

Metadata file does not match checksum (校验值不对)

之类的提示,你可以参照《yum 更新时 md5 值校验错误的解决([Errno> -1] Metadata file does not match checksum)》 来解决。如果在安装的时候出现以上错误,请检查自己的yum配置是否执对下载下来的数据执行了校验。具体方法在终端输入

cat /etc/yum.conf

注意可能需要root权限才能查看,检查

gpgcheck=1

看看是否等于1,否则改为1即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: