使用更新命令yum时出现故障的解决方法
Posted on 五月 15th, 2009 in linux笔记 | 4 Comments »
近日在运行系统更新命令yum update时候出现了如下错误提示:
Component: pirut
Summary: TBe8ae967a sqlitesack.py:94:_read_db_obj:TypeError: unsubscriptable object
Traceback (most recent call last):
File “/usr/sbin/pup”, line 407, in _apply
output = self.applyChanges(self.mainwin)
File “/usr/lib/python2.4/site-packages/pirut/__init__.py”, line 813, in applyChanges
self.checkDeps(mainwin)
File “/usr/lib/python2.4/site-packages/pirut/__init__.py”, line 550, in checkDeps
(result, msgs) = self.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
Local variables in innermost frame:
item: name
db_obj: None
这个问题是由于yum的原数据损坏导致的,需要先删除原数据和数据库缓存,然后重建,问题即可解决
解决方法,依次运行以下命令:
yum clean metadata
yum clean dbcache
yum makecache
Leave a Reply
You must be logged in to post a comment.
4 Responses
aibamonzekkano Watch Football kaurenacprigginc ziffanieichaba camazhamanzer kouveniaGkaben
AaronOuzzen Watch NFL Football Online bariucPakmezer Brenboncien chekzonzamayo Frebbyhevere
onibykka Watch NFL Football Online marucBoerczker zazumHape Emiocazzker zobbAggac
Excellent link inside the post, but it appears like that web-site is down at the instant. Anyone got a mirror?