在安装cherokee时为了省去编译源码包的麻烦,我使用其官方推荐的也就是常用的第三方源:

https://fedoraproject.org/w/index.php?title=EPEL/zh-cn&action=edit (这里有其具体针对不对版本的安装方法)

我使用是rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm epel-release-5-4.noarch.rpm

安装完成后,并安装相关软件后。我在重启机器,并重新获得IP地址后。发现yum不能升级了,一直出现下的提示。

YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg.

/
      removing mirrorlist with no valid mirrors: //var/cache/yum/base/mirrorlist.txt

Error: Cannot find a valid baseurl for repo: base
      看到以上提示,我先ping了下一个百度,发现是正常的,查看了下DNS设置也没问题。所以就想到是更新第三方源的问题引起的,首先便想到prority 为不同的源设定等级。而且自己也专门写过一篇相关的日志。不过该方法实在是太麻烦。

于是先试试把第三方源的文件删除,发现也不行。按上面的提示,在/var/cache/yum/base新建mirrorlist.txt文件,并把相关的源写进去。还是不行,更新还是上面的提示。心想把DNS换下吧,实再不行就重新安装yum软件。结果把DNS换为google的8.8.4.4,竞然奇迹出现了——可以更新了。

问题虽然解决,不过还是有点纳闷,为什么自动获得的DNS会无法解析上面的源?ping的话就是通的。