我想使用 yum 和 kernel.org 上的 RPM 存储库安装最新版本的 Git,但将存储库添加到 yum.repos.d 会导致 yum 失败并出现校验和错误。
这个问题的主流解决方案似乎是简单地使用 Webtatic 上的存储库作为在这里回答超级用户。我知道我也可以使用 EPEL repo 安装旧版本的 Git,或者从最新的源 tarball 进行编译,但老实说,我想了解为什么我在使用 kernel.org repo 时遇到问题。
以下是全新安装 CentOS 5.5 并执行“yum update”后的工作流程:
[root]# wget -P /etc/yum.repos.d/ http://kernel.org/pub/software/scm/git/RPMS/git.repo
[root]# yum clean all
[root]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
* addons: mirrors.netdna.com
* base: mirror.clarkson.edu
* epel: serverbeach1.fedoraproject.org
* extras: centos.mirror.nac.net
* updates: mirror.cogentco.com
addons | 951 B 00:00
addons/primary | 202 B 00:00
base | 2.1 kB 00:00
base/primary_db | 1.6 MB 00:01
epel | 3.7 kB 00:00
epel/primary_db | 2.8 MB 00:01
extras | 2.1 kB 00:00
extras/primary_db | 188 kB 00:00
git | 1.2 kB 00:00
git/primary | 155 kB 00:00
http://www.kernel.org/pub/software/scm/git/RPMS/i386/repodata/primary.xml.gz: [Errno -3] Error performing checksum
Trying other mirror.
git/primary | 155 kB 00:00
http://www.kernel.org/pub/software/scm/git/RPMS/i386/repodata/primary.xml.gz: [Errno -3] Error performing checksum
Trying other mirror.
Error: failure: repodata/primary.xml.gz from git: [Errno 256] No more mirrors to try.
对于解决方案有什么建议吗?或者详细说明了为什么 kernel.org repo 会出现此问题?
(抱歉,我无法包含更多参考文献的链接,但我还没有这样的名声。)
答案1
我发现自己处于同样的情况并通过以下方法解决:
- 暂时禁用 git repo
yum install python-hashlib
- 验证了我的 yum 版本(我的版本是 3.2.22)
yum clean all
yum repolist
然后我尝试更新 git,但有很多依赖项失败。我偶然发现了这一点,并能够安装 git: