今天工作上遇到作 rpm 查询套件如 rpm -qa | grep mysql 或是执行" yum "命令会出现错误如下∶
rpmdb: Lock table is out of available locker entries
error: db4 error(22) from db->close: Invalid argument
error: cannot open Packages index using db3 - Cannot allocate memory (12)
error: cannot open Packages database in /var/lib/rpm
在网路上找了一下可以按照如下操作来修复它∶
1.操作之前请先备份 /var/lib/rpm ∶
tar cvzf rpmdb-backup.tar.gz /var/lib/rpm
2.删除rpm的BDB数库∶
rm /var/lib/rpm/__db.00*
3.重建立 rpm 使用的数库,注意∶此处可能需要一点时间∶
rpm --rebuilddb
4.检查 rpm 是否一切正常:
rpm -qa | sort
为什麽为发生这个问题呢?
其实当您用 rpm 命令後,rpm 访问 BDB 数库,首先会设置一个临时锁。如果在它运行时您用 control-c 中断它,或者是给它发了中断信号。那麽 rpm 就很可能会出错误。因为这个临时锁还没有被释放呢。
- 关键字 : error, 数据库, rpmdb, cannot, Packages, 重建立, 释放呢, 访问, 网路上找, 给它发, 注意, 此处, 检查, 查询套件如, 操作, 执行, 命令後, 否一切正常, 前请先备份, 删除rpm
0 0
2009-06-12T17:42:59+0000