CentOS 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本。建议您切换到Anolis或Alinux。如果您的业务过渡期仍需要使用CentOS 8系统中的一些安装包,请根据下文切换CentOS 8的源。

背景信息

2021年12月31日CentOS 8 EOL。按照社区规则,CentOS 8的源地址http://mirror.centos.org/centos/8/内容已移除,目前第三方的镜像站中均已移除CentOS 8的源。阿里云的源http://mirrors.cloud.aliyuncs.com和http://mirrors.aliyun.com也无法同步到CentOS 8的源。当您在阿里云上继续使用默认配置的CentOS 8的源会发生报错。报错示例如下图所示:centos8报错

您可以通过下文的操作步骤,在CentOS 8操作系统的ECS实例中将源配置按照网络环境不同进行切换。

  • yum源
    • 专有网络VPC类型实例需切换为http://mirrors.cloud.aliyuncs.com/centos-vault/8.5.2111/源。
    • 经典网络类型实例需切换为http://mirrors.aliyuncs.com/centos-vault/8.5.2111/源。
  • epel源:
    • 专有网络VPC类型实例需切换为http://mirrors.cloud.aliyuncs.com/epel-archive/8/源。
    • 经典网络类型实例需切换为http://mirrors.aliyuncs.com/epel-archive/8/源。
说明 本文主要说明ECS实例中的相关操作与配置。如果您的服务器不是ECS实例,需保证服务器具有公网访问能力,并且源地址http://mirrors.cloud.aliyuncs.com需要替换为http://mirrors.aliyun.com。例如,切换yum源为http://mirrors.aliyun.com/centos-vault/8.5.2111/;切换epel源为http://mirrors.aliyun.com/epel-archive/8/

操作步骤

  1. 登录CentOS 8系统的ECS实例。
    具体操作,请参见连接方式概述
  2. 运行以下命令备份之前的repo文件。
    rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo
  3. 运行以下命令下载最新的repo文件。
    wget http://mirrors.cloud.aliyuncs.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo
    wget http://mirrors.cloud.aliyuncs.com/repo/epel-archive-8.repo -O /etc/yum.repos.d/epel-archive-8.repo
    说明 如果您的服务器具备公网访问能力,请将命令中的源地址http://mirrors.cloud.aliyuncs.com替换为http://mirrors.aliyun.com您也可以直接参考CentOS 镜像社区说明进行下载。
  4. 运行以下命令替换repo文件中的链接。
    sed -i 's/mirrors.cloud.aliyuncs.com/url_tmp/g'  /etc/yum.repos.d/Centos-vault-8.5.2111.repo &&  sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo && sed -i 's/url_tmp/mirrors.aliyun.com/g' /etc/yum.repos.d/Centos-vault-8.5.2111.repo
    sed -i 's/mirrors.aliyun.com/mirrors.cloud.aliyuncs.com/g' /etc/yum.repos.d/epel-archive-8.repo
  5. 运行以下命令重新创建缓存。
    yum clean all && yum makecache
    yum源和epel源切换完成后,即可使用yum install命令在实例上安装您所需要的软件包。