使用yum命令式报错:thread.error: can't start new thread。
错误具体内容为:
[root@lxy.me]# yum update Loaded plugins: fastestmirror Determining fastest mirrors 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 309, in user_main errcode = main(args) File "/usr/share/yum-cli/yummain.py", line 178, in main result, resultmsgs = base.doCommands() File "/usr/share/yum-cli/cli.py", line 345, in doCommands self._getTs(needTsRemove) File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 101, in _getTs self._getTsInfo(remove_only) File "/usr/lib/python2.4/site-packages/yum/depsolve.py", line 112, in _getTsInfo pkgSack = self.pkgSack File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 661, in <lambda> pkgSack = property(fget=lambda self: self._getSacks(), File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 501, in _getSacks self.repos.populateSack(which=repos) File "/usr/lib/python2.4/site-packages/yum/repos.py", line 232, in populateSack self.doSetup() File "/usr/lib/python2.4/site-packages/yum/repos.py", line 79, in doSetup self.ayum.plugins.run('postreposetup') File "/usr/lib/python2.4/site-packages/yum/plugins.py", line 179, in run func(conduitcls(self, self.base, conf, **kwargs)) File "/usr/lib/yum-plugins/fastestmirror.py", line 181, in postreposetup_hook all_urls = FastestMirror(all_urls).get_mirrorlist() File "/usr/lib/yum-plugins/fastestmirror.py", line 333, in get_mirrorlist self._poll_mirrors() File "/usr/lib/yum-plugins/fastestmirror.py", line 376, in _poll_mirrors pollThread.start() File "/usr/lib/python2.4/threading.py", line 416, in start _start_new_thread(self.__bootstrap, ()) thread.error: can't start new thread
解决办法:禁用fastestmirror,将/etc/yum/pluginconf.d/fastestmirror.conf中的enabled=1改成enabled=0;
禁用后还出现如下错误提示:
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 //重建缓存
通过上述方法,yum命令执行成功