EC2实例中无法使用yum安装软件包,请求技术帮助
EC2实例Yum安装httpd超时问题解决方法
问题概况
在AWS EC2 Amazon Linux 2实例上执行yum install httpd安装Apache时失败,核心错误:
- 无法获取仓库镜像列表
https://amazonlinux-2-repos-us-east-1.s3.dualstack.us-east-1.amazonaws.com/2/core/latest/x86_64/mirror.list,超时提示:(28, 'Resolving timed out after 5000 milliseconds') - 系统提示找不到
amzn2-core/2/x86_64仓库的有效baseurl,且无足够缓存数据继续执行
解决步骤
1. 验证网络连通性
即使已开启出站流量,仍需确认:
- EC2实例拥有公网IP,或通过NAT网关能够访问公网
- 安全组出站规则允许HTTPS(443端口)流量至
0.0.0.0/0 - 网络ACL同时放行出站443端口及入站的响应流量
2. 测试DNS解析
执行命令测试仓库域名的解析是否正常:
nslookup amazonlinux-2-repos-us-east-1.s3.dualstack.us-east-1.amazonaws.com
若解析失败,可临时修改DNS配置:
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
3. 修改仓库配置
备份原仓库文件后,编辑amzn2-core仓库配置:
cp /etc/yum.repos.d/amzn2-core.repo /etc/yum.repos.d/amzn2-core.repo.bak vi /etc/yum.repos.d/amzn2-core.repo
将baseurl字段替换为非dualstack的地址(以us-east-1为例):
baseurl=https://amazonlinux-2-repos-us-east-1.s3.amazonaws.com/2/core/latest/x86_64/
保存后重新执行yum install httpd
4. 临时禁用失效仓库
若需紧急完成安装,可临时跳过amzn2-core仓库:
yum --disablerepo=amzn2-core install httpd
5. 配置自动跳过失效仓库
若仓库偶尔不可用,可设置yum自动跳过该仓库(会增加命令执行时间,仅作临时折中):
yum-config-manager --save --setopt=amzn2-core.skip_if_unavailable=true
内容的提问来源于stack exchange,提问作者Mohana Naga Venkat Sayempu
相关产品推荐
相关产品推荐

