在Linux实例中执行yum命令失败,提示“HTTP Error 404 -Not Found Trying other mirror”错误怎么办?

本文介绍在Linux系统的ECS实例中执行yum命令失败,提示“HTTP Error 404 -Not Found Trying other mirror”错误时的问题原因和解决方案。

问题描述

在Linux系统的ECS实例中执行yum命令(如yum -y install XXXyum listyum search XXX等)失败,出现类似如下错误信息。

http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.

问题原因

出现该问题可能有以下原因:

解决方案

切换CentOS 6/8的源地址

CentOS 6与CentOS 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本。按照社区规则,CentOS 6/8的源地址内容已移除。当您在CentOS 6/8系统内继续使用默认配置的源地址时会发生报错。建议您先切换CentOS 6/8的源地址,然后再进行操作。具体操作,请参见CentOS 6 EOL如何切换源?CentOS 8 EOL如何切换源?

将CentOS默认Base源更换为阿里Base源

本节以CentOS 7.4系统版本的Base源为例进行介绍,其他系统及版本请参见阿里云官方镜像站

  1. 远程连接ECS实例。

    具体操作,请参见连接方式概述

  2. 执行以下命令,备份异常的Base源文件。

    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  3. 执行以下命令,下载并安装Base源。

    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  4. 重新执行yum相关命令,确保可以正常使用。

修改环境变量配置文件/etc/profile

  1. 远程连接ECS实例。

    具体操作,请参见连接方式概述

  2. 依次执行如下命令,确认能ping通,且80端口也能通。

    • 若不能连通,说明可能是网络问题,请排查网络后重试。

    • 若可以正常ping通,请继续执行步骤。

      ping mirrors.cloud.aliyuncs.com
      telnet mirrors.cloud.aliyuncs.com 80
  3. 执行以下命令,查看YUM仓库能否正常访问。

    curl http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/repodata/repomd.xml -v

    系统显示类似如下,返回404状态码,且配置了HTTP代理。

    404

  4. 修改环境变量文件/etc/profile

    1. 执行如下命令,打开环境变文件/etc/profile

      vim /etc/profile
    2. i进入编辑模式,在HTTP代理前加# 注释该配置或根据需要修改代理。

      delete proxy

    3. 编辑完成后,按Esc键,并输入:wq保存退出文件。

    4. 执行如下命令,使环境变量配置生效。

      source /etc/profile
  5. 重新执行yum相关命令,确保可以正常使用。

安装centos-release软件包

本节以安装CentOS 7.4系统版本的centos-release软件包为例进行介绍,其他系统及版本请参见阿里云官方镜像站

  1. 远程连接ECS实例。

    具体操作,请参见连接方式概述

  2. 下载并安装centos-release软件包。

    wget https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/centos-release-7-9.2009.0.el7.centos.x86_64.rpm
    rpm -ivh centos-release-7-9.2009.0.el7.centos.x86_64.rpm
  3. 重新执行yum相关命令,确保可以正常使用。