在执行yum更新,即运行 yum update 命令时,提示以下错误:
File "/usr/bin/yum", line 29, in ?
yummain.main(sys.argv[1:])
File "/usr/share/yum-cli/yummain.py", line 97, in main
result, resultmsgs = do()
File "/usr/share/yum-cli/cli.py", line 481, in doCommands
return self.updatePkgs()
File "/usr/share/yum-cli/cli.py", line 957, in updatePkgs
self.doRepoSetup()
File "/usr/share/yum-cli/cli.py", line 82, in doRepoSetup
self.doSackSetup(thisrepo=thisrepo)
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 291, in
doSackSetup
self.repos.populateSack(which=repos)
File "/usr/lib/python2.4/site-packages/yum/repos.py", line 289, in
populateSack
dobj = repo.cacheHandler.getPrimary(xml, csum)
File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 96, in
getPrimary
return self._getbase(location, checksum, 'primary')
File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 89, in
_getbase
self.updateSqliteCache(db, parser, checksum, metadatatype)
File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 373, in
updateSqliteCache
cur.execute("DELETE FROM "+table+ " where pkgKey in %s" % delpkgs)
File "/usr/lib/python2.4/site-packages/sqlite/main.py", line 244, in
execute
self.rs = self.con.db.execute(SQL)
_sqlite.DatabaseError: database disk image is malformed
估计是由于yum的原数据损坏导致的,与rpm的数据库损坏类似,前者会导致更新不能正常执行,后者会导致安装失败并出现乱码,前者的解决参见yum更新和rpm安装包问题(rpmdb: PANIC: Invalid argument),后者的错误可以通过一下方法解决:
终端,依次输入:
1.) yum clean metadata
2.) yum clean dbcache
3.) yum makecache
即先删除原数据和数据库缓存,然后重建之,问题即可解决
gongjun_mail 于 2014-05-28 21:52:08发表:
学习了
于 2014-05-28 10:45:10发表:
nice 成功了(q):s
roina 于 2009-05-20 15:23:48发表:
受教