OS:centos 5.3 32

安装gcc-C++ 出现yum不能安装问题

# yum install gcc-c++

Setting up Install Process

Parsing package install arguments

Resolving Dependencies
--> Running transaction check
---> Package gcc-c++.i386 0:4.1.2-52.el5_8.1 set to be updated
--> Processing Dependency: libstdc++-devel = 4.1.2-52.el5_8.1 for package: gcc-c++
--> Processing Dependency: libstdc++ = 4.1.2-52.el5_8.1 for package: gcc-c++
--> Running transaction check
---> Package libstdc++-devel.i386 0:4.1.2-52.el5_8.1 set to be updated
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 696, in resolveDeps
    CheckDeps, checkinstalls, checkremoves, missing = self._resolveRequires(errors)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 779, in _resolveRequires
    thisneeds = self._checkInstall(txmbr)
  File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 851, in _checkInstall
    provs = self.tsInfo.getProvides(*req)
  File "/usr/lib/python2.4/site-packages/yum/transactioninfo.py", line 432, in getProvides
    result.update(self.getNewProvides(name, flag, version))
  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


解决办法
#yum clean metadata
Loaded plugins: fastestmirror
21 metadata files removed
10 sqlite files removed
0 metadata files removed
# yum clean all
Loaded plugins: fastestmirror
Cleaning up Everything
Cleaning up list of fastest mirrors

参考:

http://blog.rowancrane.com/2009/05/13/yum-update-typeerror-unsubscriptable-object