CentOSのアップデートにはまる ― 2009年09月25日 23時37分21秒
いつもは小型のAspireOneを使っているのですが、仕様書を書く必要から、一時的に日立 Flora 210W NL5(ASUS S5200のOEM)を整備中です。Lenovo SL400も持っていて用途的にはこちらの方が適切なのですが、これは作業場所に置きっぱなしにしてあるので仕方なく・・・
このノートPCにはWindowsXPの他にCentOSとVineLinuxをインストールしているのですが、ずいぶん長い間アップデートしていなかったため、つい出来心でアップデートし始めたのが運の尽き。はまりまくって、結局1日つぶしてしまいました。
一番はまったのはCentOSです。 CentOSは単に使えれば良いという位置付けでインストールしているので、特に凝ったことはせずに、ソフトウェアの更新もyumなどは使わずにアップデートマネージャにお任せしています。 そのアップデートマネージャが大量に更新を指示するのですが、エラーが出て、完了しません。地道にアルファベット順に絞ってアップデートを続けて、最後に残ったアップデート対象は以下の2つ。fileとpythonの両方で同じエラーがでます。
エラーログは以下です。
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
で、解決方法はこちらと同じでした。情報ありがとうございました。但し、pythonというかDBのエラーは出なくなりましたが結局pythonの更新はダウンロード関連で解決しないまま。これは放置ですね。
最近のコメント