<?php

yum 问题一则

今天在测试环境中需要上传一个zip包,但又不想安装ftp,更不想用ssh要输很长的命令。。

so.. 决定使用rz

但是执行后发现命令不存在。。 于是登录到root安装之:

yum install lrzsz

突然感觉不妙。。显示以下错误信息:

rpmdb: Lock table is out of available locker entries
rpmdb: Unknown locker ID: a1b
error: db4 error(22) from db->close: 无效的参数
error: cannot open Packages index using db3 - 无法分配内存 (12)
error: cannot open Packages database in /var/lib/rpm
Traceback (most recent call last):
  File “/usr/bin/yum”, line 29, in ?
    yummain.main(sys.argv[1:])
  File “/usr/share/yum-cli/yummain.py”, line 85, in main
    base.getOptionsConfig(args)
  File “/usr/share/yum-cli/cli.py”, line 163, in getOptionsConfig
    disabled_plugins=self.optparser._splitArg(opts.disableplugins))
  File “/usr/lib/python2.4/site-packages/yum/__init__.py”, line 164, in _getConfig
    self._conf = config.readMainConfig(startupconf)
  File “/usr/lib/python2.4/site-packages/yum/config.py”, line 685, in readMainConfig
    yumvars['releasever'] = _getsysver(startupconf.installroot, startupconf.distroverpkg)
  File “/usr/lib/python2.4/site-packages/yum/config.py”, line 752, in _getsysver
    idx = ts.dbMatch(’provides’, distroverpkg)
TypeError: rpmdb open failed

gg之后直到了错误原因:

执行yum * 之后会访问RPM的BDB数据库,但是在此之前可能由于其他命令,比如rpm时首先会设置一个临时锁。如果在它运行时您用 control-c 中断它,或者是给它发了中断信号。那么rpm就很可能会出错误。因为这个临时锁还没有被释放

决绝办法如下:

rm /var/lib/rpm/__db.00*

rpm –rebuilddb

这样就可以搞定了。。

然后执行yum install lrzsz 一切正常

然后开始利用rz上传。。

Tags: ,

Leave a Reply