我正在 CentOS 6.7 上工作。当我安装命令“yum update all”时,出现以下错误。
http://centos-hn.viettelidc.com.vn/6.7/updates/x86_64/repodata/fd8c1fcb64e32ff588e93a20dfda7f205841bc090e3c8da42c0b2c2a9cf01938-primary.sqlite.bz2:
[Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404
Not Found"
它还继续尝试其他镜像,但在尝试所有镜像后失败。我观察到的是,我可以浏览到 URL“http://centos-hn.viettelidc.com.vn/6.7/updates/x86_64/repodata/“。在我的Internet Explorer中,但我没有找到文件“”fd8c1fcb64e32ff588e93a20dfda7f205841bc090e3c8da42c0b2c2a9cf01938-primary.sqlite.bz2”。我还尝试执行以下命令,以便确定我获得了最新的 CentOS 存储库文件。
yum reinstall
http://mirror.centos.org/centos/6/os/x86_64/Packages/centos-release-6-7.el6.centos.12.3.x86_64.rpm
但执行上述命令后,我看到CentOS-Base.repo
文件中提到了相同的 URI。谁能帮助我理解我做错了什么。我不是 CentOS 专家。谢谢。
答案1
我从 CentOS 论坛找到了解决方案,我把它放在这里。
问题出在缓存的元数据上。我首先执行“yum clean”命令来删除所有缓存的元数据。然后我执行了“yum update”,它正确下载了所有软件包。
答案2
我记得应该http
替换为https
.您应该在存储库配置文件中执行此操作。如果你解决了这个问题,它可能会运行。
我在我的系统上找不到该文件的位置和名称,该系统不是 Centos,因此您必须自己查找。 (嗯,可能是/etc/yum.repos.d/
)
答案3
我列出了我在经验中遇到的几个原因。 1 - 客户端无法与互联网通信 2 - 未启用存储库。 3 - repofile 中的baseurl 或mirrorlist 未正确设置。
问题 #1 的解决方案 通过 ping 任何互联网资源来确保客户端上的互联网通信。
root@localhost # ping 4.2.2.2 ==> If ping reply not receiving then check internet connection
检查名称解析
root@localhost # curl ident.me ==> This should return your public IP if nothing returns then check your dns configuration in /etc/resolv.conf
问题 #2 的解决方案 转到您的存储库文件并检查存储库是否已启用,至少应启用一个
问题 #3 的解决方案 更改镜像列表中的基本 URL,反之亦然以获取分辨率。
答案4
操作问题的真正答案是必须在服务器上的存储库上运行 createrepo 才能创建丢失的文件。显然,对存储库进行了一些更改,但未在存储库数据目录中反映出来(由 createrepo 创建)。