安裝/更新 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 並回車以超級使用者身分登入
  • 輸入根密碼
  • 輸入 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 並回車以超級使用者身分登入
  • 輸入根密碼
  • 輸入 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

相關內容