我正在運行yum check-update
,並且在 2 行輸出後它凍結了:
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
我不確定發生了什麼事。我記得用 yum 做的最後一件事是yum update
查看 CentOS yum 存儲庫之一,但我沒有做任何更改。
有什麼建議來修復 yum 嗎?
答案1
您可能遇到 DNS 問題。嘗試確保您可以在本機解析 DNS 記錄:
nslookup google.com
如果您從該命令中獲得 IP,則 DNS 應該沒問題。然後嘗試刪除最快的鏡像快取並重新運行 yum 命令:
rm -f /var/cache/yum/timedhosts.txt
答案2
所有這些都不適合我。
使用 CentOS 和 yum。 yum 掛起時至少沒有錯誤訊息,看起來是這樣。按Ctrl+C不起作用(一次又一次地按它可以)。
需要檢查幾件事: - 儲存庫是否正常? - 網路正常嗎? - yum 和 rpm 資料庫是否正常?
因此,首先從簡單的事情開始 - 清理資料庫:
rm -f /var/lib/rpm/__*
rpm --rebuilddb -v -v
yum clean all
如果這不起作用,您可以在以下位置為 yum 設定偵錯等級、錯誤等級和逾時/etc/yum.conf
:
debuglevel=1
errorlevel=1
timeout=1
標準超時時間為 30 秒。因此,如果儲存庫沒有回應,錯誤將在 30 秒後出現。也可以嘗試使用不含插件(例如最快的鏡像和優先順序)的 yum 以及選項--noplugins
。現在再次啟動 yum 應該可以更快地為您提供更多資訊。測試:
yum --verbose --noplugins info
你可能會得到這樣的東西:
Config time: 0.105
Yum Version: 3.2.22
Setting up Package Sacks
Loading mirror speeds from cached hostfile
* base: mirror.nl.leaseweb.net
* extras: mirror.nl.leaseweb.net
* ius: mirrors.ircam.fr
* rpmforge: mirror.nl.leaseweb.net
* updates: mirror.nl.leaseweb.net link-to-server-repository/repomd.xml: [Errno 4] IOError: urlopen error (97, 'Address family not supported by protocol')
Trying other mirror.
這表明無法從伺服器接收任何資訊。嘗試在 Web 瀏覽器中使用 yum 顯示的 URL(上面以連結到伺服器儲存庫表示)。從您的 yum 回復中複製並貼上它,而不是從這篇文章中!如果你得到一個列表,你就知道儲存庫是在線的。
如果您的瀏覽器出現錯誤,請嘗試從/etc/yum.repos.d
.嘗試使用 wget 取得伺服器上的清單並貼上 URL:
wget link-to-server-repository/repomd.xml
如果這會導致逾時,則表示您的防火牆或代理設定有問題。嘗試停用您的防火牆。
如果您正在執行csf
(ConfigServer 安全性和防火牆)並且lfd
可以使用以下命令停用 csf:
csf -x
再次嘗試 yum,如果它有效,您將必須重新配置您的csf
.再次啟用csf
:
csf -e
也要檢查您的代理設定。您也可以嘗試將 .repo 檔案中的 https 變更為 http /etc/yum.repos.d/
。
答案3
就我而言,是一個揮之不去的 RPM 資料庫鎖定檔案/var/lib/rpm/.dbenv.lock
導致 yum 命令掛起。刪除該檔案後 yum 可以再次使用。
答案4
有一個類似的問題,原因是存在 yum 鎖定文件/var/run/yum.pid
,而之前的 yum 運行由於致命錯誤而留下了該文件。
我用它刪除了它sudo rm /var/run/yum.pid
,問題就解決了。