yum 配置写错了?
yum 仓库配置报错的常见原因:.repo 语法错、baseurl 路径错、$releasever 变量对不上、GPG 校验失败,给定位与修复命令。
简短答案
九成是 /etc/yum.repos.d/ 下某个 .repo 文件写错:段落名、baseurl 路径、$releasever 变量,或 GPG 校验位。先定位是哪个仓库报错,再对着修,不要整体推翻重写。
现象对照表
| 报错关键词 | 对应原因 |
|---|---|
| 语法解析错误(expected …) | .repo 段落/等号/换行写错 |
Cannot find a mirrorlist / baseurl |
baseurl 没配或指错 |
repomd.xml not found |
路径末尾结构错,或对端服务没起 |
GPG check FAILED |
公钥没导入,或校验开关配置错 |
| releasever 解析为空 | 系统版本与仓库定义对不上 |
排查步骤
# 逐个仓库看解析结果,定位坏的是哪个
yum repolist -v
# 语法快查(每个段落须有 name 与 baseurl 或 mirrorlist)
for f in /etc/yum.repos.d/*.repo; do echo "== $f"; cat -n "$f"; done
# 清缓存后重新拉元数据
yum clean all
yum makecache
处理办法
- GPG 失败:优先导入仓库公钥
rpm --import 公钥地址;只在测试环境临时用gpgcheck=0,生产按行业规范保留校验; - releasever 对不上:把
$releasever改成仓库实际要求的固定值,或调整仓库名映射; - 任何配置改动后一律
yum clean all && yum makecache再验证; - 配置基线(含 GPG 策略)建议与 服务器 V11 条目 发行说明保持一致;
- 需要整系统重装的,镜像取 银河麒麟镜像列表,写盘参考 Rufus 启动盘条目。
操作小结
- 先
yum repolist -v定位坏仓库,再动手; - 逐段核对 .repo 四要素:段落名 / name / baseurl / 校验位;
- GPG 问题优先导公钥,而不是关校验;
- 改完必清缓存,再跑一次 makecache 验证。