每当我尝试使用安装或更新包时yum
,在更新其数据库后,都会显示以下消息:
Loaded plugins: langpacks, presto, refresh-packagekit, tidy-cache google64
http://download.fedora.redhat.com/pub/epel/6/i386/repodata/repomd.xml:
[Errno 14] curl#6 - "Couldn't resolve host" Trying other mirror.
http://download.fedora.redhat.com/pub/epel/6/i386/repodata/repomd.xml:
[Errno 14] curl#6 - "Couldn't resolve host" Trying other mirror.
Error: failure: repodata/repomd.xml from mypck: [Errno 256] No more mirrors to try.
我正在运行 Linux 3.4.3。什么可能导致这个问题?我如何解决它?
答案1
镜像列表包含无效条目。在我的 Fedora 安装中,错误仅供参考,因为它转到镜像列表中的下一个条目并成功完成。
root
您可以通过(作为或使用sudo
)编辑文件来消除错误/etc/yum.repos.d/fedora-updates.repo
。您将看到以下几行:
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/
$releasever/$asearch/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f
$releasever&arch=$basearch
取消注释该baseurl
行并注释掉该mirrorlist
行。这将删除从维护的镜像列表中获取更新的选项。
答案2
在我看来,主机不存在:
$ host download.fedora.redhat.com
Host download.fedora.redhat.com not found: 3(NXDOMAIN)
所以,要么
- 等待主机再次可用
- 找到替换主机并将其更新为 yum 源
- 从源中删除主机
注意
$ host download.fedoraproject.org
download.fedoraproject.org is an alias for wildcard.fedoraproject.org.
wildcard.fedoraproject.org has address 85.236.55.6
wildcard.fedoraproject.org has address 80.239.156.215
wildcard.fedoraproject.org has address 209.132.181.16
wildcard.fedoraproject.org has IPv6 address 2001:4178:2:1269::fed2
wildcard.fedoraproject.org has IPv6 address 2610:28:3090:3001:dead:beef:cafe:fed4
这可能就是您正在寻找的。
答案3
这就是我解决问题的方法。这会对你有所帮助
对我来说,出现这个问题是因为 Fedora 中的 IPV6 互联网连接。所以首先我们必须完全禁用 IPV6。这是你必须做的
- 打开终端
- 输入 su 并回车以超级用户身份登录
- 输入root密码
- 输入 cd /etc/modprobe.d/ 将目录更改为 /etc/modprobe.d/
- 键入 vi disableipv6.conf 以在其中创建一个新文件
- 按 Esc + i 将数据插入文件
- 在文件上键入 install ipv6 /bin/true 以避免加载 IPV6 相关模块
- 输入 Esc + : 然后输入 wq 保存并退出
- 输入reboot来重启fedora
- 重新启动后打开终端并输入 lsmod |查询ipv6
- 如果没有结果,则说明您正确禁用了 IPV6
Fedora 可能会使用您的 ADSL 路由器或调制解调器作为 DNS 服务器。另一方面,Fedora 可能会使用一些功能较弱的 DNS 服务器进行查找。因此,您的 DNS 查找在大多数情况下会很慢并且错误。这会导致 Curl 错误和加载缓慢错误。因此,我们必须在 Fedora 中设置一些强大的 DNS 服务器来进行查找。这是步骤。
- 打开终端
- 输入 su 并回车以超级用户身份登录
- 输入root密码
- 输入 cat /etc/resolv.conf 检查您的 Fedora 使用的 DNS 服务器。大多数情况下 - 这将是您的调制解调器 IP 地址。
- 现在我们必须找到一个强大的DNS服务器。幸运的是,有一个开放的 DNS 服务器 - 由 Google 维护。
- 转到此页面并了解什么是“Google 公共 DNS IP 地址”
- 现在是 8.8.8.8 和 8.8.4.4。但将来这些可能会改变。
- 输入 vi /etc/resolv.conf 编辑 resolv.conf 文件
- 按 Esc + i 将数据插入文件
- 通过在每行的开头插入 # 来注释文件中的所有内容。不要删除任何内容,因为将来可能有用。
在文件中输入以下两行
nameserver 8.8.8.8 nameserver 8.8.4.4
输入 Esc + : 然后输入 wq 保存并退出
- 现在您已完成,一切正常(无需重新启动)。
- 但每次重新启动计算机时,您的 /etc/resolv.conf 都会被默认替换。所以我让你找到一种方法来避免这种情况。
查看此处查看详细答案 http://codeketchup.blogspot.com/2014/07/how-to-fix-curl-6-could-not-resolve.html
答案4
您可以将/etc/resolv.conf
文件设为只读
chattr +i /etc/resolv.conf