天天看點

有關yum不能使用的問題

1如果用的是本地yum源:出現如下情況:

[root@glnode04 ~]# yum -y install xen*

Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

解決:

    1檢視yum倉庫中是否有repomd.xml檔案,是否yum clean all 上次的結果

    2 檢視yum配置檔案是否有錯誤

        確定gpgcheck=0

========================================================

如果使用網絡YUM源:

1  確定本機能上網,域名能得到解析

2 懷疑是網絡問題, repomd.xml 檔案下載下傳不下來,但是使用wget 可以下載下傳。

可能是yum自己的代理設定問題,将其取消掉。

[root@glnode04 ~]# vim /etc/yum.conf 

[main]

cachedir=/var/cache/yum

keepcache=0

debuglevel=2

logfile=/var/log/yum.log

distroverpkg=redhat-release

tolerant=1

exactarch=1

obsoletes=1

gpgcheck=1

plugins=1

# Note: yum-RHN-plugin doesn't honor this.

metadata_expire=1h

# Default.

# installonly_limit = 3

# PUT YOUR REPOS HERE OR IN separate files named file.repo

# in /etc/yum.repos.d

#The proxy server address

#proxy=http://10.10.44.251:6588  這個代理上不了網,導緻 repomd.xml 下載下傳不下來,取消掉;要設定 Yum 代理就在此處設定

(2) 修改後安裝出現如下錯誤

[root@glnode04 yum.repos.d]# yum -y install virt-manager

base                      100% |=========================| 1.1 kB    00:00     

primary.xml.gz            100% |=========================| 1.1 MB    00:00     

base      : ################################################## 3222/3222

updates                   100% |=========================| 1.1 kB    00:00     

updates   : ################################################## 3222/3222

file:///media/CentOS/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] 沒有那個檔案或目錄: '/media/CentOS/repodata/repomd.xml'

Trying other mirror.

file:///media/cdrecorder/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] 沒有那個檔案或目錄: '/media/cdrecorder/repodata/repomd.xml'

file:///media/cdrom/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] 沒有那個檔案或目錄: '/media/cdrom/repodata/repomd.xml'

Error: Cannot retrieve repository metadata (repomd.xml) for repository: c5-media. Please verify its path and try again

這是 /etc/yum.repos.d/CentOS-Media.repo 在作怪,删掉,或者重命名

[root@glnode04 yum.repos.d]# cd /etc/yum.repos.d

[root@glnode04 yum.repos.d]# mv CentOS-Media.repo CentOS-Media.repo.bak

(3) 使用yum安裝相關軟體包時找到的包版本不對應,例如 CentOS 5.2下安裝 virt-manager,一直提示相應的軟體包不能在yum源處下載下傳.

錯誤如下:

Downloading Packages:

http://10.10.104.86:8080/CentOS/5.2/CentOS/libvirt-python-0.6.3-20.el5.x86_64.rpm: [Errno 14] HTTP Error 404: Not Found

http://10.10.104.86:8080/CentOS/5.2/CentOS/kernel-xen-2.6.18-164.el5.x86_64.rpm: [Errno 14] HTTP Error 404: Not Found

原因分析:

搜尋一下Cent OS 5.2 下的軟體包kernel-xen,發現版本是 kernel-xen-2.6.18-92.el5.x86_64.rpm . 而這裡提示的是下載下傳 kernel-xen-2.6.18-164.el5.x86_64.rpm失敗,二者不對應。

這說明雖然 yum 的源配置到了 CentOS 5.2 的鏡像,但是使用 yum 安裝時下載下傳的确是 另外的版本,

檢視 /etc/yum.conf 檔案,有 cachedir=/var/cache/yum 項,這是 yum 的緩存,我想是不是緩存的原因呢,于是删掉 /var/cache/yum 下的所有檔案,重新使用 yum install 安裝,成功了。

之後想想,終于明白原因了,之前我由于誤操作,将 yum 源配置成了 CentOS 5.4 的源,并且做了相同的安裝,這樣會有緩存,下次即使配置了新 yum 源,yum 查找軟體包依賴時首先還是從緩存中查找的,查不到的才到 源中搜尋,這樣就導緻下載下傳的是 5.4 下的版本 kernel-xen-2.6.18-164.el5.x86_64.rpm 了。

(4)yum 安裝時出現 GPG key retrieval failed: [Errno 14] HTTP Error 404: Not Found 錯誤

指令後加上  --nogpgcheck  選項