CentOS5でyumが壊れた。。。
yumやrpmで実験的に色々ライブラリ入れていたら、突然こんなメッセージが...(;3;)
[takakura@cent1 ~]$ sudo yum list ... dag : 1/6611Traceback (most recent call last): File "/usr/bin/yum", line 29, in ? yummain.main(sys.argv[1:]) File "/usr/share/yum-cli/yummain.py", line 94, in main result, resultmsgs = base.doCommands() File "/usr/share/yum-cli/cli.py", line 381, in doCommands return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds) File "/usr/share/yum-cli/yumcommands.py", line 150, in doCommand return base.updatePkgs(extcmds) File "/usr/share/yum-cli/cli.py", line 672, in updatePkgs self.doRepoSetup() File "/usr/share/yum-cli/cli.py", line 109, in doRepoSetup self.doSackSetup(thisrepo=thisrepo) File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 338, in doSackSetup self.repos.populateSack(which=repos) File "/usr/lib/python2.4/site-packages/yum/repos.py", line 200, in populateSack sack.populate(repo, with, callback, cacheonly) File "/usr/lib/python2.4/site-packages/yum/yumRepo.py", line 91, in populate dobj = repo.cacheHandler.getPrimary(xml, csum) File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 100, in getPrimary return self._getbase(location, checksum, 'primary') File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 93, in _getbase self.updateSqliteCache(db, parser, checksum, metadatatype) File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 368, in updateSqliteCache self.addPrimary(pkgId, package, cur) File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 257, in addPrimary pkgKey = self.insertHash('packages', PackageToDBAdapter(package), cur) File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 204, in insertHash values = hash.values() File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 459, in values out.append(self[k]) File "/usr/lib/python2.4/site-packages/yum/sqlitecache.py", line 451, in __getitem__ return self._pkg[self.NAME_MAPS.get(k, k)] File "/usr/lib/python2.4/site-packages/yum/mdparser.py", line 69, in __getitem__ return self._p[k] KeyError: 'epoch'
で、調べてみると一回エラーが出ているdagリポジトリを使用しなければOKっぽい。
disablerepoオプションで可能。
[takakura@cent1 ~]$ sudo yum --disablerepo=dag list
うまく再更新できたみたいなので、再度オプションを付けずに実行。
[takakura@cent1 ~]$ sudo yum list Loading "fastestmirror" plugin Loading "installonlyn" plugin Setting up repositories Loading mirror speeds from cached hostfile ...
ふぅ、無事復活。。。