问题的产生与解决
作者作为Android应用开发者,对Linux的接触一直是Ubuntu为主,但是有一个用于科学上网的vps,由于内存只有64M,所以使用的操作系统为CentOS6,最近在上面安装用于Json处理的jq的时候,发现需要用到epel源,于是,采用了如何在CentOS 5/6上安装EPEL 源方法进行安装(http://www.linuxidc.com/Linux/2013-12/93433.htm),过程很顺利,但是在安装完成之后,运行yum repolist
的时候,epel源根本就没有被列出,直接就傻眼了,然后执行yum install jq
发现果真报错了,内容如下:
epel | 4.3 kB 00:00
http://mirror.math.princeton.edu/pub/epel/6/i386/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
Trying other mirror.
epel | 4.3 kB 00:00
https://mirror.csclub.uwaterloo.ca/Fedora/epel/6/i386/repodata/repomd.xml: [Errno -1] repomd.xml does not match metalink for epel
Trying other mirror.
https://pubmirror1.math.uh.edu/fedora-buffet/epel/6/i386/repodata/repomd.xml: [Errno 14] PYCURL ERROR 7 – “couldn’t connect to host”
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: epel. Please verify its path and try again
查看epel.repo是这样子的:
然后在网上看别说, 直接将发生错误的源的***.repo文件中的enabled=1设置为0就好,我信以为真,修改之后,重新安装,发现真的不报错了,但是软件也没有安装上啊,直到我查了更多资料才知道,原来这个设置是用来设置是否该源是否可用的,源都不用了,当然就不报错了.从网上找了很多方法,但是都没有解决问题,但是[Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
这句话给我灵感了,是不是在跟源的连接上出现问题了,我试着把baseurl的注释去掉,将mirrorlist直接注释掉,发现果真可用了.结果如下:
最后的结果告诉我们,遇到问题的时候,还是需要多思考,一味地在网上寻找答案,有时候碰巧遇到一样的时候,一下就解决了,但是当问题不相同时,更多的就是在浪费时间,只有针对性的寻找答案才是王道.
其他资料-*.repo参数含义
name repo的描述
baseurl,mirrorlist 路径,可以为本地或者远程地址
enabled 是否可用0/1
gpgcheck 是否进行gpg检查0/1
gpgkey** rpm包的验证文件
CentOS 5/6.X 使用 EPEL YUM源 http://www.linuxidc.com/Linux/2013-08/88523.htm
RHEL/CentOS/Fedora各种源(EPEL、Remi、RPMForge、RPMFusion)配置 http://www.linuxidc.com/Linux/2013-05/85077.htm
配置EPEL YUM源 http://www.linuxidc.com/Linux/2012-10/71850.htm
为CentOS/RHEL添加EPEL软件仓库 http://www.linuxidc.com/Linux/2010-04/25734.htm
RedHat配置EPEL软件源 http://www.linuxidc.com/Linux/2012-04/58309.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136553.htm