EC2使用yum install httpd安装httpd时报No more mirrors to try错误
故障说明
Amazon Linux 2 EC2实例执行yum install httpd时抛出Errno 256 No more mirrors to try错误,核心原因是yum客户端无法从配置的软件源镜像站拉取到目标rpm包,按以下顺序逐次排查即可解决:
排查解决步骤
- 清理yum本地过期缓存
本地缓存的失效镜像地址是触发这类问题最常见的原因,直接执行命令清理重建缓存:
重建完成后重新执行安装命令测试,如果仍报错继续下一步。sudo yum clean all sudo rm -rf /var/cache/yum/* sudo yum makecache - 排查实例到yum源的网络连通性
先验证基础出网能力:- 执行
ping -c 3 amazonlinux.default.amazonaws.com,如果完全不通,优先排查网络配置:- 检查实例绑定的安全组出方向规则,确认放行了80、443端口的出网访问
- 私有子网内的实例,确认关联的NAT网关状态正常,路由表存在指向公网的有效默认路由
- 如果实例配置了正向代理访问公网,检查
/etc/yum.conf中配置的proxy地址、端口、认证信息是否正确,代理本身可正常访问AWS软件源
- ping通但仍无法拉取包的话,执行
curl -I http://amzn2-ami-repos.s3.amazonaws.com测试源站HTTP访问,如果返回连接超时、连接被拒绝,检查VPC网络ACL是否放行了出方向80端口、1024-65535临时端口的访问权限。
- 执行
- 修复损坏的yum源配置
如果之前手动修改过yum源配置、或者安装第三方源时损坏了默认源配置,执行命令恢复Amazon Linux 2官方默认源:
执行完成后重新生成yum缓存再测试安装。sudo mv /etc/yum.repos.d/*.repo /tmp/ sudo yum reinstall -y amazon-linux-extras sudo amazon-linux-extras enable epel - 修复系统时钟偏移
实例本地时间与标准时间偏差过大时,会导致HTTPS证书校验失败、连接源站被拒绝,执行命令同步系统时间:
等待1-2分钟时间同步完成后,重新尝试安装。sudo yum install -y chrony sudo systemctl enable --now chronyd sudo timedatectl set-ntp true - 中国区实例特殊适配
位于AWS中国区的实例如果遇到源站同步延迟问题,可以将/etc/yum.repos.d/目录下核心源配置文件中的baseurl替换为AWS中国区官方镜像地址,重建缓存后即可正常拉取包。
安装验证
问题修复后执行以下命令验证安装结果:
sudo yum install -y httpd sudo systemctl enable --now httpd curl 127.0.0.1
命令返回httpd默认测试页内容即为安装成功。
内容的提问来源于stack exchange,提问作者Syeda Uzma
相关产品推荐
相关产品推荐

