lampfree小站

学习交流lamp技术,笔记记录

CentOS7 执行yum 命令出错 One of the configured repositories 如何解决

评论

新安装的一台云服务器, 执行yum命令出现了错误, One of the configured repositories failed (Unknown),, 后是Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again 。完整的错误信息是

yum update
Loaded plugins: fastestmirror
base                                                                                                                                                  | 3.6 kB  00:00:00


 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:

     1. Contact the upstream for the repository and get them to fix the problem.

     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).

     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...

     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:

            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>

     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:

            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

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

这里重点是后一行 for repository: epel/x86_64. 说明是这个仓储出了问题。

解决办法1 删除这个仓库

rm -f mv /etc/yum.repos.d/epel.repo

这样执行yum命令就可以正确的执行。不过少了 epel 仓库好多软件包不能用。
这里介绍
二种解决方法
查看了

cat /etc/yum.repos.d/epel.repo

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/7/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-7&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

然后测试了一下网络

[root@lampfree.com ~]# ping download.fedoraproject.org
ping: download.fedoraproject.org: Name or service not known
[root@lampfree.com ~]# ping mirrors.fedoraproject.org
ping: mirrors.fedoraproject.org: Name or service not known

发现网络不通,这里就需要解决网络问题。
修改dns

cat /etc/resolv.conf

nameserver 8.8.8.8

如果不能解决,就修改

echo "140.211.169.206 download.fedoraproject.org" >> /etc/hosts
echo "140.211.169.206 download.fedoraproject.org" >> /etc/hosts

反正网络通了,就可以解决问题。

两个ip地址随时可能用变量

PING wildcard.fedoraproject.org (140.211.169.206) 56(84) bytes of data.
64 bytes from proxy09.fedoraproject.org (140.211.169.206): icmp_seq=1 ttl=48 time=229 ms
64 bytes from proxy09.fedoraproject.org (140.211.169.206): icmp_seq=2 ttl=48 time=228 ms


ping mirrors.fedoraproject.org
PING wildcard.fedoraproject.org (140.211.169.196) 56(84) bytes of data.
64 bytes from proxy06.fedoraproject.org (140.211.169.196): icmp_seq=1 ttl=48 time=228 ms