当前位置:首页 > 文章列表 > 文章 > linux > Linux添加yum源步骤详解

Linux添加yum源步骤详解

2026-04-13 17:40:34 0浏览 收藏
本文深入解析了在现代Linux发行版(尤其是CentOS 8+/RHEL 8+及Fedora)中正确添加和管理yum/dnf软件源的关键要点与常见陷阱:明确指出yum在新系统中仅为dnf的别名,强调配置文件路径虽统一于`/etc/yum.repos.d/`但dnf语法更严格;揭露手动编写`.repo`文件比依赖易出错的`yum-config-manager --add-repo`更可靠;详解变量替换、GPG校验失败、缓存静默失败、多源同名冲突等高频问题的诊断与解决方法,并提供实用命令如`dnf makecache --refresh`、`dnf repolist -v`和`--disablerepo`等,助你避开“看似成功实则失效”的坑,真正掌控软件源配置。

Linux怎么添加yum源_Linux如何配置第三方软件仓库【方法】

怎么确认当前系统用的是 yum 还是 dnf

CentOS 8+、RHEL 8+ 和 Fedora 默认已切换到 dnf,但命令仍兼容 yum 别名;而 CentOS 7 及更早版本才是真·yum。直接运行 yum --version 看输出里有没有 dnf 字样,比查文档更快。

关键区别在于:配置文件路径一致(/etc/yum.repos.d/),但 dnf 对 repo 文件语法更严格,比如不支持过时的 gpgcheck=1 却没配 gpgkey —— 这会导致 dnf makecache 失败,但 yum 可能默默跳过。

  • 运行 rpm -q yum dnf 查看是否两者都装了(常见于升级过渡期)
  • 用 alias yum 看它实际指向哪个二进制(/usr/bin/dnf 还是 /usr/bin/yum)
  • 别盲目复制老教程里的 yum-config-manager 命令——RHEL 8+ 默认没装这个包,得先 dnf install yum-utils

添加第三方源:直接写 .repo 文件最稳

别依赖 yum-config-manager --add-repo 自动下载并生成 repo 文件,它对 HTTPS 重定向、认证响应、非标准 HTML 页面极其敏感,经常生成空文件或带乱码的 .repo,且不会报错。

手动创建更可控,比如加 EPEL 源:

[epel]
name=Extra Packages for Enterprise Linux $releasever - $basearch
baseurl=https://dl.fedoraproject.org/pub/epel/$releasever/Everything/$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-$releasever
  • baseurl 中的 $releasever 和 $basearch 是 yum/dnf 内置变量,会自动替换(如 7 → 7,aarch64 → aarch64),别手写死
  • enabled=0 表示默认不启用,适合测试源;设为 1 才参与安装搜索
  • 若提示 GPG key retrieval failed,先确认 gpgkey 路径是否存在,再用 rpm --import 手动导入(尤其自建私有源时)

为什么 yum makecache 报错却找不到原因

常见现象是执行后卡住几秒,然后静默退出,但后续 yum install 仍提示 “No package found”——其实 cache 没建成功,只是错误被吞了。

真正该看的是 yum makecache --verbose 或直接 dnf makecache --refresh(--refresh 强制重拉元数据,暴露真实网络/校验错误)。

  • 典型错误:Cannot download 'https://xxx': Cannot open: No such file or directory. —— 实际是 baseurl 路径不存在,不是网络不通
  • 遇到 Failed to synchronize cache for repo 'xxx',先 curl -I 测 baseurl 是否返回 200,别急着重启服务
  • 私有源用 HTTP 且没配 gpgcheck=0,会因缺失 GPG 校验直接失败,日志里只显示 “skipping” 不报错

多个同名仓库冲突怎么办

当两个 .repo 文件里都有 [nginx],yum/dnf 会合并它们的配置,但 baseurl、gpgkey 等字段只取最后一个文件里的值,前面的被覆盖——这很隐蔽,尤其用自动化脚本批量加源时。

检查方法:运行 dnf repolist -v | grep -A 5 "Repo-id",看每个 repo 的完整路径和实际生效的 baseurl。

  • 命名唯一:给 repo ID 加发行版后缀,比如 [nginx-el7]、[nginx-el8]
  • 禁用不用的源:用 dnf config-manager --disable xxx,比删文件安全,也方便回滚
  • 临时禁用某源:安装时加 --disablerepo=xxx,比全局改配置更精准

repo 文件名本身不影响加载顺序,但字母序靠前的文件(如 a.repo)会被先读取,所以别用 00-xxx.repo 期望它“优先”,没用。

理论要掌握,实操不能落!以上关于《Linux添加yum源步骤详解》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

Go语言爬取动态网页实战教程Go语言爬取动态网页实战教程
上一篇
Go语言爬取动态网页实战教程
2026春节高速免费时间及避峰攻略
下一篇
2026春节高速免费时间及避峰攻略
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    543次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    516次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    500次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    485次学习
查看更多
AI推荐
  • PubMedQA数据集详解:生物医学问答基准、功能与应用指南
    PubMedQA
    深入了解PubMedQA生物医学问答数据集,涵盖其核心功能、使用方法及在临床决策、药物研发等场景的应用,助力提升NLP模型性能。
    679次使用
  • H2O EvalGPT:开源LLM大模型评估与排行榜工具
    H2O EvalGPT
    H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。
    696次使用
  • LMArena是什么?伯克利AI模型评估平台使用指南与功能解析
    LMArena
    LMArena是加州大学伯克利分校推出的AI模型匿名评测平台。通过盲测投票机制,用户可对比不同大模型回答并生成实时排行榜,助力开发者优化模型及用户选择最佳AI工具。
    741次使用
  • 斯坦福HELM:大语言模型Holistic Evaluation整体评估框架详解
    HELM
    深入了解斯坦福推出的HELM(Holistic Evaluation of Language Models)大模型评测体系。本文解析其核心功能、安装配置步骤及应用场景,涵盖准确性、公平性、鲁棒性等多维度指标,助力开发者全面优化语言模型性能。
    709次使用
  • MMBench详解:多模态大模型基准测试、功能特点与使用指南
    MMBench
    MMBench是由上海人工智能实验室等机构联合推出的多模态基准测试平台,提供细粒度能力评估、大规模数据集及VLMEvalKit工具。本文详细介绍其核心功能、安装使用方法及应用场景,助力开发者全面评估多模态模型性能。
    548次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议 和 隐私政策
返回登录
  • 重置密码