CentOS 7 无法找到 repo 的有效 baseurl:base/7/x86_64 当 yum 更新时

CentOS 7 无法找到 repo 的有效 baseurl:base/7/x86_64 当 yum 更新时

这个错误让我抓狂,我尝试了论坛上发布的所有方法,但都不起作用。

当我输入:

# yum update

我收到以下错误:

[root@www yum.repos.d]# yum update 完成加载:fastestmirror 从缓存的主机文件加载镜像速度 无法检索镜像列表 http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock 错误为 14:curl#56 - “接收失败:远程机器重置连接”

其中一个配置的存储库失败(未知),yum 没有足够的缓存数据来继续。此时 yum 唯一能安全做的事情就是失败。有几种方法可以“修复”此问题:

 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

无法找到 repo 的有效 baseurl:base/7/x86_64

它是一个具有自己的 IP 的生产服务器,所以我还没有尝试过 DHCP on 和 ONBOOT=no(我将其设置为是)等。

如果我输入:

# curl -v 'http://mirrorlist.centos.org/?repo=os&arch=x86_64&release=7'

这是我得到的:

[root@www yum.repos.d]# curl -v 'http://mirrorlist.centos.org/?repo=os&arch=x86_64&release=7'
* About to connect() to mirrorlist.centos.org port 80 (#0)
*   Trying 2001:1b48:203::4:10...
* Connected to mirrorlist.centos.org (2001:1b48:203::4:10) port 80 (#0)
> GET /?repo=os&arch=x86_64&release=7 HTTP/1.1
> User-Agent: curl/7.29.0
> Host: mirrorlist.centos.org
> Accept: */*
>
* Recv failure: Connection reset by remote machine
* Closing connection 0
curl: (56) Recv failure: Connection reset by remote machine

我的内容CentOS-Base.repo是:

> # CentOS-Base.repo
> #
> # The mirror system uses the connecting IP address of the client and the
> # update status of each mirror to pick mirrors that are updated to and
> # geographically close to the client.  You should use this for CentOS updates
> # unless you are manually picking other mirrors.
> #
> # If the mirrorlist= does not work for you, as a fall back you can try the
> # remarked out baseurl= line instead.
> #
> #
> 
> [base] name=CentOS-$releasever - Base
> mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
> #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
> 
> #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
> #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
> gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
> 
> #additional packages that may be useful [extras] name=CentOS-$releasever - Extras
> mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
> #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
> 
> #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus
> mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
> #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
> gpgcheck=1 enabled=0
> gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

其内容/etc/yum.conf如下:

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release


#  This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
#  It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m

# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d

我怎样才能yum update再次工作???

答案1

我使用静态配置的 IP 地址时也遇到了同样的问题。为了让它正常工作,我的解决办法是在接口配置文件中配置 DNS。

“vi /etc/sysconfig/network-scripts/$InterfaceName$”

我添加了以下几行

DNS1=Internal Server IP
DNS2=8.8.8.8

这对我似乎有用。

相关内容