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

阿磊大大_5182

阿磊大大_5182

2026-03-20

930人浏览

原创

centos 8+默认使用dnf,yum仅为指向dnf的符号链接;运行rpm -q yum dnf可查两者是否共存,alias yum或ls -l /usr/bin/yum可确认其实际指向。

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 <key_path></key_path> 手动导入(尤其自建私有源时)

为什么 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 期望它“优先”,没用。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
nginx 重启
nginx 重启

nginx重启对于网站的运维来说是非常重要的,根据不同的需求,可以选择简单重启、平滑重启或定时重启等方式。本专题为大家提供nginx重启的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.27

403

5

nginx 配置详解
nginx 配置详解

Nginx的配置是指设置和调整Nginx服务器的行为和功能的过程。通过配置文件,可以定义虚拟主机、HTTP请求处理、反向代理、缓存和负载均衡等功能。Nginx的配置语法简洁而强大,允许管理员根据自己的需要进行灵活的调整。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

3747

6

nginx配置详解
nginx配置详解

NGINX与其他服务类似,因为它具有以特定格式编写的基于文本的配置文件。本专题为大家提供nginx配置相关的文章,大家可以免费学习。

2023.08.04

6525

6

tomcat和nginx有哪些区别
tomcat和nginx有哪些区别

tomcat和nginx的区别:1、应用领域;2、性能;3、功能;4、配置;5、安全性;6、扩展性;7、部署复杂性;8、社区支持;9、成本;10、日志管理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

581

5

nginx报404怎么解决
nginx报404怎么解决

当访问 nginx 网页服务器时遇到 404 错误,表明服务器无法找到请求资源,可以通过以下步骤解决:1. 检查文件是否存在且路径正确;2. 检查文件权限并更改为 644 或 755;3. 检查 nginx 配置,确保根目录设置正确、没有冲突配置等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.07.09

1496

5

Nginx报404错误解决方法
Nginx报404错误解决方法

解决方法:只需要加上这段配置:try_files $uri $uri/ /index.html;即可。想了解更多Nginx的相关内容,可以阅读本专题下面的文章。

2024.08.07

3978

3

nginx部署php项目教程汇总
nginx部署php项目教程汇总

本专题整合了nginx部署php项目教程汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

122

12

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

2026.01.13

517

23

Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建
Nginx跨平台安装实操指南:Windows、macOS与Linux环境快速搭建

本指南详解Nginx在Windows、macOS及Linux系统的安装全流程。涵盖官方包解压、Homebrew一键部署、APT/YUM源配置及Docker容器化方案。无论新手或开发者,均可快速搭建运行环境,掌握跨平台核心指令,为后续配置与调优奠定坚实基础。

2026.03.16

159

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习