?首先排除本地配置問題
檢查 /etc/yum.repos.d/ 目錄下是否含有相關的 *.repo 文件
其次嘗試排除DNS問題
查看 /etc/yum.repos.d/ 里面 url 地址, 譬如 url 地址為
http://mirror.aliyun.com
執行命令:
ping mirror.aliyun.com
查看能否解析出 ip .
?再次嘗試排除網絡問題
查看 /etc/yum.repos.d/ 里面 url 地址, 譬如 url 地址為:
http://abc.example.com
執行命令:
telnet abc.example.com 80
查看是否正常, 若 url 地址為 https 服務, 則執行命令:
telnet abc.example.com 443
看是否正常.
清除緩存重試
最后如果上述都沒有問題, 則嘗試執行:
yum clean all
清除本地緩存來嘗試修復.
yum 安裝軟件包的時候報:The requestd URL returned error: 404
一般是由于本地 cache 過期引起,解決辦法:
yum clean all
yum/rpm安裝時卡死
常見的情況是rpmq過多導致的db死鎖, strace會發現發生 futex FUTEX_WAIT, 那么可以判斷程序在等待系統對文件解鎖, 去排查相關的文件打開狀況. 執行命令:
ps axu | grep rpm
可以看到大量的
/usr/lib/rpm/rpmq
解除死鎖的辦法是重建 db:
sudo rm -f /var/lib/rpm/__db*;rpm --rebuilddb
還有可能的情況是在
yum list/search/install
時發生 segmentation fault, 這通常是由于索引文件損毀造成的,可以嘗試先刪除目錄
/var/cache/yum 下的文件,然后執行:
yum makecache
?如何禁掉 yum 的 plugin ?
執行 yum 命令時加上下述參數即可
yum --noplugins xxx
yum 卸載基礎包時,把上層的依賴包也卸載掉了?
從 yum 的設計理念出發,這樣操作是符合邏輯的,以減少系統中多余的軟件,在yum系統中會提示刪除基礎包會導致上層包不能工作也需要刪除,故執行前要慎重考慮影響。像 python, sqlite, db等這樣的底層包切勿使用yum刪除。?yum update升級時會不會升級底層包?
當指定了特定的包時就不會升級,僅升級指定的軟件包。從網上下了個rpm, 一直安裝不上,安裝rpm包遇到錯誤。
錯誤信息如下:
error: esl-erlang_16.b.3-1~centos~6_amd64.rpm: Header V4 RSA/SHA1 signature: BAD, key ID a14f4fca
可以加上萬能的取消校驗選項:
rpm --nodigest --nosignature --nomd5 ... -ivh xxx.rpm
如果能獲取到GPG Key文件的話,建議還是開啟GPG校驗,這樣能夠規避一些安全風險。
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/100496