本文最后更新于 2025-02-22,文章内容可能已经过时。

报错信息

在 CentOS7 系统中执行yum命令,例如:

yum update

出现如下报错信息:

[root@localhost ~]# yum update
已加载插件:fastestmirror
Determining fastest mirrors
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; 未知的错误"


 One of the configured repositories failed (未知),
 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 find a valid baseurl for repo: base/7/x86_64

报错原因

根据错误提示,无法找到有效的baseurl,这通常由以下几种情况引起:

电脑无法上网
检查网络连接是否正常。例如,运行以下命令测试网络连通性:

ping 223.5.5.5

如果无法 ping 通,说明网络连接有问题。解决网络问题后再继续排查。

DNS 配置有问题
通过以下命令检查 DNS 配置是否正常:

ping www.baidu.com

如果无法解析域名,则可能是 DNS 配置问题。可以尝试更换 DNS。

YUM 源问题
电脑可以上网,DNS 也配置正常,但依然无法解析 YUM 源地址。这种情况下,可以考虑更换 YUM 源。例如,使用阿里云的镜像源。

解决方法

  1. 访问阿里云镜像网站阿里云CentOS镜像源

  2. 下载Centos-7.repo文件

  3. 使用 SSH 工具将文件上传到服务器的/root目录。

  4. 将文件复制到/etc/yum.repos.d/目录:

cp /root/Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo