yum报错:One of the configured repositories failed (CentOS-7 - Addons - sohu.com), and yum doesn't
报错总结:
1.场景:内网环境,开通上网条件,可以ping通www.baidu.com,但是有yum进行install会报错
2.报错如下:
One of the configured repositories failed (CentOS-7 - Addons - sohu.com), 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. Disable the repository, 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 addons
\4. 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=addons.skip_if_unavailable=true
failure: repodata/repomd.xml from addons: [Errno 256] No more mirrors to try.http://mirrors.aliyun.com/non-supported/rhel/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Foundhttp://mirrors.aliyun.com/non-supported/rhel/7/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
3.报错处理思路:
1.看网络怎么样,表现在可以ping通www.baidu.com,可以用wget下载文件(可以下载阿里的网络源:)
CentOS7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
CentOS6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
2.网络没问题,那么就是你的repo库有问题。文件在/etc/yum.repos.d/下面,一定会有要有一个网络源(例如mirrors.aliyun.com),还必须有个本地源及一个epel源,先将epel源删了,然后yum clean all && yum makecache 3.可以把网络源中的mirrors这一列注释掉,留下baseurl,测试yum -y install gcc
4.上面还不行就把网络源中baseurl也注释掉,直接用本地源,测试yum -y install gcc