阅读更多
使用的ubuntu系统,在使用yum的时候会报错:http://mirrors.aliyun.com/centos/%24releasever/addons/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404: Not Found
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: addons. Please verify its path and try again
问题原因是提示源找不到,从而无法下载,之前没察觉,一直以为是源失效的原因,然后网上下载的最新的源文件CentOS-Base.repo进行替换,依旧出现问题,查看CentOS-Base.repo,才发现问题,源文件中的地址中的$releasever在终端中被替换成%24releasever。
搜了网上的一些博客,有人详细介绍了这个参数的代表意义
http://julyclyde.org/?p=275
然而而该博客却没有说明解决方法。
可以看出是$releasever产生的问题。因此进入/etc/yum.conf,发现是在distroverpkg=redhat-release对应的包中寻找$releasever变量,就用 rpm -q redhat-release查看是否安装了此包,结果package redhat-release is not installed。
那要安装此包,可是yum又不能用,死循环呀!!想到把/etc/yum.repos.d/*.repo内的$releasever全部用centos5.8中的5替代,然后yum update,接着安装 yum install redhat-release ,结果为安装的是 centos-release(可以用rpm -q redhat-release查看依旧没结果,改为rpm -q centos-release,可以看见centos-release-5-10.el5.centos)。
最后yum makecache,成功。进入/etc/yum.repos.d/*.repo内,发现又变为了$releasever,但是现在yum可以正常使用啦