???今天工作上遇到作 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 就很可能會出錯誤。因為這個臨時鎖還沒有被釋放呢。
- Keywords : error, rpmdb, cannot, Packages, 首先會設置一, 查詢套件如, 工作上遇到作, 命令會出現錯誤如下, 否一切正常, 前請先備份, 刪除rpm, 其實當您用, 一下可以按照如下操作來修復它, using, table, rebuilddb, mysql, memory, locker, index
00
2009-06-12T17:42:59+0000


