If you have to deal with VPS, there are some specific solutions, that should be known by a Linux administrator. Today I will post the solution for yum error.
You can get this error on software update. For example, when trying to update ImageMagick:
-bash-3.1# yum update ImageMagick
Loading “installonlyn” plugin
error: no dbpath has been set
error: cannot open Packages database in /%{_dbpath}
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 82, in main
base.getOptionsConfig(args)
File “/usr/share/yum-cli/cli.py”, line 206, in getOptionsConfig
errorlevel=opts.errorlevel)
File “/usr/lib/python2.4/site-packages/yum/__init__.py”, line 132, in
doConfigSetup
self.conf = config.readMainConfig(startupconf)
File “/usr/lib/python2.4/site-packages/yum/config.py”, line 598, in
readMainConfig
yumvars[‘releasever’] = _getsysver(startupconf.installroot,
startupconf.distroverpkg)
File “/usr/lib/python2.4/site-packages/yum/config.py”, line 661, in
_getsysver
idx = ts.dbMatch(‘provides’, distroverpkg)
TypeError: rpmdb open failed
Let’s see the error message. It tells us: error: no dbpath has been set. How should we proceed?
First of all, you need to try to clear the database. Here is the set of commands that should help you to do this:
#yum clean all
#rm -f /var/lib/rpm/__db*
#rpm –rebuilddb
#yum update
If this doesn’t help, here is another set:
#rm /dev/urandom
#mknod -m 644 /dev/urandom c 1 9
After that, run
#yum clean all
This should do the trick.