Odd error when running yum update on my slice. This appears to be a currently outstanding bug which can be worked around by issuing a
user@computer:$ yum clean metadata
or
user@computer:$ yum clean all
The former worked fine for me. Original error shown below.
user@computer:$ yum update
Setting up Update Process
Resolving Dependencies
--> Running transaction check
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 229, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 145, in main
(result, resultmsgs) = base.buildTransaction()
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 647, in buildTransaction
(rescode, restring) = self.resolveDeps()
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 704, in resolveDeps
for po, dep in self._checkFileRequires():
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 939, in _checkFileRequires
if not self.tsInfo.getOldProvides(filename) and not self.tsInfo.getNewProvides(filename):
File "/usr/lib/python2.4/site-packages/yum/transactioninfo.py", line 414, in getNewProvides
for pkg, hits in self.pkgSack.getProvides(name, flag, version).iteritems():
File "/usr/lib/python2.4/site-packages/yum/packageSack.py", line 300, in getProvides
return self._computeAggregateDictResult("getProvides", name, flags, version)
File "/usr/lib/python2.4/site-packages/yum/packageSack.py", line 470, in _computeAggregateDictResult
sackResult = apply(method, args)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 861, in getProvides
return self._search("provides", name, flags, version)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in newFunc
return func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 837, in _search
for pkg in self.searchFiles(name, strict=True):
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in newFunc
return func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 586, in searchFiles
self._sql_pkgKey2po(rep, cur, pkgs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 470, in _sql_pkgKey2po
pkg = self._packageByKey(repo, ob['pkgKey'])
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 413, in _packageByKey
po = self.pc(repo, cur.fetchone())
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 68, in __init__
self._read_db_obj(db_obj)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 94, in _read_db_obj
setattr(self, item, _share_data(db_obj[item]))
TypeError: unsubscriptable object
Setting up Update Process
Resolving Dependencies
--> Running transaction check
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in ?
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 229, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 145, in main
(result, resultmsgs) = base.buildTransaction()
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 647, in buildTransaction
(rescode, restring) = self.resolveDeps()
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 704, in resolveDeps
for po, dep in self._checkFileRequires():
File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 939, in _checkFileRequires
if not self.tsInfo.getOldProvides(filename) and not self.tsInfo.getNewProvides(filename):
File "/usr/lib/python2.4/site-packages/yum/transactioninfo.py", line 414, in getNewProvides
for pkg, hits in self.pkgSack.getProvides(name, flag, version).iteritems():
File "/usr/lib/python2.4/site-packages/yum/packageSack.py", line 300, in getProvides
return self._computeAggregateDictResult("getProvides", name, flags, version)
File "/usr/lib/python2.4/site-packages/yum/packageSack.py", line 470, in _computeAggregateDictResult
sackResult = apply(method, args)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 861, in getProvides
return self._search("provides", name, flags, version)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in newFunc
return func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 837, in _search
for pkg in self.searchFiles(name, strict=True):
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 43, in newFunc
return func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 586, in searchFiles
self._sql_pkgKey2po(rep, cur, pkgs)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 470, in _sql_pkgKey2po
pkg = self._packageByKey(repo, ob['pkgKey'])
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 413, in _packageByKey
po = self.pc(repo, cur.fetchone())
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 68, in __init__
self._read_db_obj(db_obj)
File "/usr/lib/python2.4/site-packages/yum/sqlitesack.py", line 94, in _read_db_obj
setattr(self, item, _share_data(db_obj[item]))
TypeError: unsubscriptable object
It’s possible that this is the error reported fixed here in RHEL. The version on CentOS doesn’t seem to have caught up yet.
user@computer:$ rpm -q yum-metadata-parser
yum-metadata-parser-1.1.2-2.el5
yum-metadata-parser-1.1.2-2.el5


Thanks, it solved the problem also on a CentOs 5.2 64Bit
Thank you. Fixed my problem as well. Centos 5
Thanks. Works for me. Same Centos 5 problem.
Thanks, also fixed CentOS 5.3
Finally I found the answer,
thank you very much….
Just thought I’d add that it fixed yum on my centos 5 VM.
Thank you for the post. It solved my problem. I really appreciate it.
Fantastic–fixed my yum problem running Centos 5.2 on VMWare!
Worked on my trixbox – thanks!!
All good again! Thanks for posting this.
[...] long reading that as “unscriptable object”). Google to the rescue — following Rowan Crane’s helpful advice led me [...]
thanks! fixed a long-standing annoyance in my 5.2 vm
Thanks, cleaning metadata worked for me, regards.
you rock!
Thanks man ! As with everyone else, you saved my day.
Thank you very much. 1st one worked perfectly.
Thanks, you are a lifesaver. I’ve kept this CentOS vm around (and updated) quite a long time and really didn’t want to re-build it from scratch. It’s my collection of database and VPN weirdisms connecting to Oracle, MySQL and SQl Server via FreeTDS. Whether or not VirtualBox works on my host O/S is all I have to worry about now
-Michael
Thanks, fixed my 64bit CentOS 5. Worked like a charm.
Thanks for this, same issue on CentOS 5 x64
yum clean all
Solved the issue
Outstanding !
yum clean metadata fixed my issue on CentOS 5.3 x86_64
Thank you so much !
Thank you, also fixed my issue.
this is what i love about the web. hit an error. cut and paste the error into google. google’s first hit is to some kind soul’s blog where he posts the solution.
the system does work!
;^)
clean metadata worked for me, thank you!
Thanks!
Thank you.
Fixed my problem updating Python on CentOS 5.3.
Used “yum clean metadata”
Thanks for the quick fix!
Thanks! Fixed my CentOS 5.3 yum update error. I used: “yum clean metadata” and then the “yum update” worked!
Thanks! The problem is solved:)
Thanks, Karen. Yum clean metadata did the trick !
“yum clean metadata” and then “yum update” worked perfectly!
[...] Google, I was able to find this post about how to fix it. The proposed fix is to use this [...]
Thanks. Your advice was most usefull.
“yum clean metadata” did it for me as well on CentOS 5.3
Thanks for taking the time to post this!
You Rock! This was killing me
Hmmm, that fixed it. Google FTW I suppose, but I’d prefer a fix in the yum package itself.
Thanks, it solved the problem also on Redhat AS 5.3 64Bit
THX
Thank you for the hint, was wondering couldn’t update my centos. Now it works fine. THX a lot.
Solved my problem too. Love seeing the Atahualpa theme in use. what mods did you make for the code sections?
Thanks, did try knocking something together with Thematic first but didn’t quite have the time to come up with something visually pleasing. The syntax highlighter is a plugin http://blog.rowancrane.com/2009/05/13/terminal-syntax-highligher-plugin
thank you!
Yep, that did it for me too! Thanks! (CentOs5)
Really appreciate it. Love the Radiohead favicon.
Yup, Did it for me too! CentOS 5.2 64bit.
Thank you !
Works fine on CentOS.
Thanks, worked for me. CentOS 5.3
THANKS !!! Worked for me too, CentOS 5 64
Thank you for this ” yum clean metadata”
It was finally successful update my CentOS 5.2 i386 (92 updates!!!)
Awesomeness. Fixed my trixbox 2.6 as well…
Thanks! Worked for me as well.
Thanks. It worked for me on Centos 5.3 (running on Virtual Box).