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

你可能感兴趣的:(No package * available & Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again)