CentOS7 yum安装软件报错,yum源更换教程
时间:2026-10-22 07:20 作者:emer 分类: 无
前言
CentOS7执行 yum install 经常报错:Could not resolve host、No package available、Download failed、Metadata cache expired。原因大多是默认国外源慢或已失效、DNS不通、缓存过期。换成国内阿里云/清华镜像源,再清缓存重建,基本都能解决。本篇给出完整换源步骤。
一、先判断报错类型
# 看当前yum源列表
yum repolist
# 测试网络与DNS
ping -c 3 mirrors.aliyun.com
nslookup mirrors.aliyun.com
- 解析不了域名:先修DNS(
/etc/resolv.conf加nameserver 114.114.114.114); - 能ping通但装不上:源本身失效,换国内源。
二、备份原有源
cd /etc/yum.repos.d/
mkdir backup
mv CentOS-Base.repo backup/
保留备份,换源失败可还原。
三、更换阿里云Base源(CentOS7)
# 下载阿里云7镜像源配置
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
# 若curl不可用用wget
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
清华源备选:
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.tuna.tsinghua.edu.cn/repo/Centos-7.repo
四、更换EPEL源(装扩展软件常用)
# 先删旧epel
rm -f /etc/yum.repos.d/epel.repo
# 阿里云epel7
curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
五、清缓存并重建
# 清除旧缓存
yum clean all
# 重建缓存
yum makecache
# 验证源是否生效
yum repolist
# 再试安装
yum install -y vim wget net-tools
六、常见坑
- CentOS8/9换了7的源:版本号要对应,
Centos-7.repo只用于7; - 下载源文件404:镜像站路径改版,换清华或官方备用地址;
- 多个repo残留冲突:
/etc/yum.repos.d/下旧的失效repo没删干净,会重复报错; - makecache卡在Metadata:DNS或网络不通,先
ping镜像站确认; - yum install -y 卡住超时:可临时调大超时,或换网络更好的镜像;
- 时间不准导致HTTPS证书校验失败:先
date检查系统时间,用ntpdate校时。
总结
yum报错先分DNS不通还是源失效:DNS不通修resolv.conf;源失效就备份 /etc/yum.repos.d/,下载阿里云Centos-7.repo和epel-7.repo,yum clean all && yum makecache 重建缓存后再安装。
遇到问题加QQ23979811 协助处理