在进行Yum更新时,我收到了校验和错误,因为Yum正在从CentOS 6 repo中查找Nginx包(我使用的是CentOS5.6)。
下面是错误:http://nginx.org/packages/centos/6/x86_64/repodata/a017491800bf2f9c0d3d043d30ca1e065ff89212b35159c0fa201fd9c02f77f3-primary.sqlite.bz2:Errno -3执行校验和尝试其他镜像的错误。
有办法从百胜卸载Nginx吗?
发布于 2013-05-25 07:18:49
在CentOS 5上安装CentOS 6回购包是不明智的,应该避免.如果您想要的话,请完全升级到CentOS 6。或者,手动获取源rpm并在CentOS 5上重新构建它。
至于为什么失败: CentOS 6的新createrepo使用了不同于CentOS 5中yum使用的校验和算法(sha256 vs sha1 iirc),因此您的yum无法验证存储库的内容。
发布于 2013-05-25 07:14:42
试试下面的命令
yum clean all然后是一个
yum update或者是一个
yum upgrade发布于 2013-07-09 02:03:39
我也有同样的错误信息。在我的例子中,问题是存储库服务器使用sha256校验和算法对其RPM进行索引,而yum客户端软件只知道简单的sha校验和。
我的解决方案:
python-hashlib (用于Python 2 /3.的文档)。/usr/lib/python*/site-packages/yum/{repos,misc}.pyc/usr/lib/python*/site-packages/yum/repos.py,替换:else == ' sha ':import sum = sha.new() Errors.RepoError,'Error Checksumming文件,错误\校验和类型%s‘%和类型。带: elif和类型== ' sha ':import sha sum = sha.new() hashlib.algorithms中的导入hashlib if“算法”,和类型在hashlib.algorithms中: sum =hashlib.new(和型) elif和类型在hashlib.__dict__:sum = hashlib.__dict__和型 hashlib.algorithms中: raise Errors.RepoError,'Error Checksumming文件,错误\校验和类型%s‘%和类型/usr/lib/python*/site-packages/yum/misc.py通过替换: MiscError,‘错误校验和文件,坏校验和类型%s’%和类型.在hashlib.__dict__中导入hashlib if“算法”,在hashlib.algorithms中导入和类型: sum =hashlib.new(和型)hashlib.__dict__中的elif和类型: sum = hashlib.__dict__和型 hashlib.__dict__:raise,'Error Checksumming文件,坏校验和类型%s‘% sumtypeyum现在应该理解并处理存储库服务器分发的sha256校验和,因此您应该能够再次运行命令,而不会出现此问题。
当hashlib客户端尚未识别校验和时,新代码将尝试使用yum。它应该足够灵活,可以处理hashlib和存储库索引器本身将来添加的哈希,而无需进一步修改yum客户端。
https://serverfault.com/questions/510789
复制相似问题