Yumを更新/パッケージにインストールすると、次のエラーが発生します。これを克服するためにどのような行動を取る必要がありますか?
Traceback (most recent call last):
File "/usr/bin/yum", line 29, in <module>
yummain.user_main(sys.argv[1:], exit_code=True)
File "/usr/share/yum-cli/yummain.py", line 267, in user_main
errcode = main(args)
File "/usr/share/yum-cli/yummain.py", line 120, in main
result, resultmsgs = base.doCommands()
File "/usr/share/yum-cli/cli.py", line 432, in doCommands
return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
File "/usr/share/yum-cli/yumcommands.py", line 226, in doCommand
return base.updatePkgs(extcmds)
File "/usr/share/yum-cli/cli.py", line 736, in updatePkgs
if not self.update(pattern=arg):
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 3687, in update
obs_tups = self.up.obsoleted_dict.get(installed_pkg.pkgtup, [])
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 878, in <lambda>
up = property(fget=lambda self: self._getUpdates(),
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 702, in _getUpdates
self._up = rpmUtils.updates.Updates(self.rpmdb.simplePkgList(), self.pkgSack.simplePkgList())
File "/usr/lib/python2.7/site-packages/yum/rpmsack.py", line 489, in simplePkgList
return self.pkglist
File "/usr/lib/python2.7/site-packages/yum/rpmsack.py", line 232, in _get_pkglist
csumpkgtups = self.preloadPackageChecksums(load_packages=False)
File "/usr/lib/python2.7/site-packages/yum/rpmsack.py", line 966, in preloadPackageChecksums
rpmdbv = self.simpleVersion(main_only=True)[0]
File "/usr/lib/python2.7/site-packages/yum/rpmsack.py", line 1149, in simpleVersion
self._put_cached_simpleVersion_main(main)
File "/usr/lib/python2.7/site-packages/yum/rpmsack.py", line 1098, in _put_cached_simpleVersion_main
os.rename(rpmdbvfname + ".tmp", rpmdbvfname)
OSError: [Errno 5] Input/output error
あなたの状況は、 CentOSの質問 で概説されている状況に似ています。
したがって、ソリューションはおそらく同じです:python
を再インストールしてからyum
を再インストールし、次にyum clean all && yum makecache
を実行してからyum update
を実行します。
重要な部分は最後の行のようです:
OSError: [Errno 5] Input/output error
これは、基盤となるストレージメディア、つまりハードドライブとの間でデータの読み取りまたは書き込みが物理的に失敗したことを示します。
dmesg
を実行すると、最後にさらに詳しい診断情報が見つかる場合があります。
この特定のエラーに遭遇するたびに、私はすぐにメディアを疑うようになります。ハードドライブである可能性が高いため、そのSMARTステータスを確認することをお勧めします。例:
smartctl -a /dev/sda
そして、不良セクタがないか確認してください。
badblocks /dev/sda
また、ドライブケーブルがしっかりと接続されていること、および電源装置が十分な電力を供給していることを確認してください。