Recently faced a issue while installing a package using yum
[root@back ~]# yum install mod-security
rpmdb: Lock table is out of available locker entries
rpmdb: Unknown locker ID: 3077
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
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
Googling and Searching on this topic got it resolved
[root@back ~]# ll /var/lib/rpm/ Basenames __db.000 __db.002 Dirnames Group Name Providename Pubkeys Requireversion Sigmd5 Conflictname __db.001 __db.003 Filemd5s Installtid Packages Provideversion Requirename Sha1header Triggername [root@back ~]# ll /var/lib/rpm/ Basenames __db.000 __db.002 Dirnames Group Name Providename Pubkeys Requireversion Sigmd5 Conflictname __db.001 __db.003 Filemd5s Installtid Packages Provideversion Requirename Sha1header Triggername
[root@back ~]# rm /var/lib/rpm/_db.00* rm: cannot lstat `/var/lib/rpm/_db.00*': No such file or directory [root@back ~]# rm /var/lib/rpm/__db.00* rm: remove regular empty file `/var/lib/rpm/__db.000'? y rm: remove regular file `/var/lib/rpm/__db.001'? y rm: remove regular file `/var/lib/rpm/__db.002'? y rm: remove regular file `/var/lib/rpm/__db.003'? y
[root@back ~]# rpm --rebuilddb
[root@back ~]# yum install mod-security utterramblings 100% |=========================| 951 B 00:00 primary.xml.gz 100% |=========================| 22 kB 00:00 utterrambl: ################################################## 64/64 extras 100% |=========================| 2.1 kB 00:00 primary.sqlite.bz2 100% |=========================| 184 kB 00:38 updates 100% |=========================| 1.9 kB 00:00 primary.sqlite.bz2 100% |=========================| 254 kB 00:28 base 100% |=========================| 2.1 kB 00:00 primary.sqlite.bz2 100% |=========================| 1.6 MB 00:17 c5-testing 100% |=========================| 1.9 kB 00:00 addons 100% |=========================| 951 B 00:00 Setting up Install Process Parsing package install arguments No package mod-security available. Nothing to do [root@back ~]# yum install mod_security Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package mod_security.i386 0:2.5.9-1.jason.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: mod_security i386 2.5.9-1.jason.1 utterramblings 1.2 M Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.2 M Is this ok [y/N]: y Downloading Packages: (1/1): mod_security-2.5.9 100% |=========================| 1.2 MB 00:03 warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 0d4306ef Importing GPG key 0x0D4306EF "Jason Litka (http://www.jasonlitka.com)" from http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka Is this ok [y/N]: y Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: mod_security ######################### [1/1] Installed: mod_security.i386 0:2.5.9-1.jason.1 Complete!
This problem occurs when rpm accesses the Berkeley database files, it makes temporary locker entries within the tables while it searches for data. If you control-c your rpm processes often, this issue will occur much sooner because the locks are never cleared.
Plugin by: PHP Freelancer
Related posts:
- How to Install Mod Security on Linux Centos 5.4, Fedora 11-12 ModSecurity is a free open source Firewall for Web application...
- Solved: PHP Fatal error: Call to undefined function json_encode(), How to Install JSON in PHP PHP 5.2 has included inbuilt json_encode() and json_decode() functions by...



