No package * available & Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

首先出现这个问题是由于官方的repository里面没有我们需要的rpm包,所以我们可以先试一下换源难呢过不能解决问题,可以查看我之前的教程

CentOS换163源

如果不可以,我们就要安装epel我们来了解下epel


RHEL以及他的衍生发行版如CentOS、ScientificLinux为了稳定,官方的rpm repository提供的rpm包往往是很滞后的,当然了,这样做这是无可厚非的,毕竟这是服务器版本,安全稳定是重点,官方的rpm repository提供的rpm包也不够丰富,很多时候需要自己编译那太辛苦了,而EPEL恰恰可以解决这两方面的问题。

什么是EPEL?

EPEL的全称叫 Extra Packages for Enterprise linux。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。

如果你知道rpmfusion.org的话,拿 rpmfusion 做比较还是很恰当的,rpmfusion 主要为桌面发行版提供大量rpm包,而EPEL则为服务器版本提供大量的rpm包,而且大多数rpm包在官方 repository 中是找不到的

另外一个特点是绝大多数rpm包要比官方repository 的rpm包版本要来得新,比如我前些日子在CentOS上安装的PHP,RHEL为了稳定性还在延用5.1.6版,我记得这是去年上半年的版本,而php的最新版本已经到5.3.2,如果在php5.1.6的基础上安装phpmyadmin,则会提示php版本过低,这时候,EPEL中提供的较新php rpm就能很方便的派上用场了。


yum install -y epel-release

但是

安装完epel后,我们在make cache或则安装包的时候回出现如下问题:

Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again

其实这是因为yum-epel升级到0.5.2版本,更换了https链接,所以原来的镜像列表就过时了

解决方法一:

yum –disablerepo=epel -y update ca-certificates

记住一定要加上–disablerepo=epel,否则怎么都更新不了

解决方法二:

以手动去改镜像列表

sed -i "s/mirrorlist=https/mirrorlist=http/" /etc/yum.repos.d/epel.repo

把原来epel用的https改成http

参考文献:

https://serverfault.com/questions/637549/epel-repo-for-centos-6-causing-error?answertab=votes

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • http://blog.csdn.net/mathewsking/article/details/8211273 ...
    liuboxx1阅读 11,271评论 1 1
  • Linux 程序包管理 linux系统中的诸多程序都是由源代码编译或者由二次发行商选择性编译分布,其大部分的程序安...
    魏镇坪阅读 11,078评论 1 8
  • centos下安装完EPEL源然后更新一下yum缓存如果发现这样的错误: Error: Cannot retrie...
    think_lonely阅读 2,325评论 0 0
  • 算是期待了好久 情绪开始生锈 斑驳零落的借口 最后还有没有 一起漫步的时候 启齿还伴着娇羞 那晚 夜有点儿温柔 星...
    幽兮忆阅读 1,020评论 0 0
  • 第一天开始正式学习,不知道什么时候能赶上现在的进度。没有什么灵感,先把重要的理论记下来。刚读到第三篇有点发现,“得...
    逗逗你玩阅读 1,794评论 0 0