安装/更新 yum 软件包时出现“无法解析主机”

安装/更新 yum 软件包时出现“无法解析主机”

每当我尝试使用安装或更新包时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)

所以,要么

  1. 等待主机再次可用
  2. 找到替换主机并将其更新为 yum 源
  3. 从源中删除主机

注意

$ 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

相关内容