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

问题描述

在Linux系统的ECS实例中执行yum命令(如yum -y install XXX、yum list、yum 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),源地址内容已移除。您可以参考切换CentOS 6/8的源地址修复该问题。
  • YUM仓库(repository)配置问题,导致无法正常解析,您可以参考将CentOS默认Base源更换为阿里Base源修复该问题。
  • 环境变量/etc/profile文件中配置了HTTP代理,导致无法正常解析,您可以参考修改环境变量配置文件/etc/profile修复该问题。
  • 缺少centos-release软件包,导致URL中$releasever变量无法正常解析,您可以参考安装centos-release软件包修复该问题。

解决方案

切换CentOS 6/8的源地址

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

将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-7.1908.0.el7.centos.x86_64.rpm rpm -ivh centos-release-7-7.1908.0.el7.centos.x86_64.rpm
  3. 重新执行yum相关命令,确保可以正常使用。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/10256

赞 (0)
凯影的头像凯影
上一篇 2023年11月27日 下午4:45
下一篇 2023年11月29日 下午3:52

相关推荐

  • 实验案例:日志分析及系统故障修复

    公司使用的Linux服务器越来越多,经常会有个别服务器出现启动引导、文件系统等故障。为了避免出现上述故障时,无法快速定位故障原因与及时处理故障,公司新招的运维人员小王需要提前进行排障演练并熟悉系统内各种日志文件,以便在需要时能够及时修复系统故障。 日志文件分析 在终端tty3中尝试以不存在的用户账号Administrator进行登录 新建用户账号admin并…

    2024年6月25日
    2.3K00
  • 常用Centos 7防火墙配置教程

    如果我们用的可视化面板建站环境的,防火墙的设置还是相对简单,我们直接在可视化面板上面添加放行或者限制的端口。当然提醒大家也不要忘记在服务器端安全组的设置,有些服务商是必须强制使用安全组的。 在这篇文章中,记录CentOS7防火墙的开放端口设置方法,比如我们有一些常用的端口是如何设置。当然这个是针对直接在服务器端SHELL命令设置的,如果我们有直接可视化设置那…

    2022年6月8日
    5.2K10
  • Ubuntu 18.04 永久修改DNS

    每次在/etc/resolv.conf 修改DNS之后,重启服务器DNS就会重置为127.0.0.53 解决过程 从/etc/resolv.conf的注释中发现systemd-resolved为本地应用程序提供了DNS解析服务。通过 systemd-resolved 在本地回环网口 127.0.0.53 上提供的本地DNS服务器。 应用程序可以直接向 127…

    2022年7月5日
    2.3K00
  • 使用PowerShell管理文件访问权限

    文件和目录的权限管理是一项复杂且耗时的工作,尤其是在Windows环境中,windows环境中,文件和目录权限管理使用图形化界面进行标准操作。但Powershell将能使这项工作更快更容易。 Powershell能够完成权限管理的哪些操作呢 列出文件和目录权限设置 添加文件和目录权限 移除文件和目录权限 修改文件和目录的属主 启用和禁用目录的继承属性 列出N…

    2023年3月28日
    2.0K00
  • k8s-重启Pod方法

    kubectl 没有 restart pod 这个命令,主要是由于在 k8s 中pod 的管理属于rs 等控制器,并不需要手动维护,但有时更新了yaml文件后,期望破都能够”重启”重新加载yaml文件,比如修改了configmap 的配置文件后,希望重启pod 加载配置,此时就需要 “重启” Pod。而”重启”…

    2023年10月9日
    1.8K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信