Fedora 仓库与 dnf5
Fedora 的仓库体系不复杂,但官方仓库与第三方仓库的边界必须先划清:官方文档把第三方软件单独成节,各有各的启用步骤;混着配,出问题时你连「这个包是谁维护的」都答不上来。
默认仓库:fedora / updates / updates-testing / rawhide
Section titled “默认仓库:fedora / updates / updates-testing / rawhide”官方文档把官方仓库与第三方软件分开说明:RPM Fusion、Flathub、Snap、AppImage、源码安装单列在 Third Party Software 小节,各有自己的启用步骤。
一个正常安装的 Fedora,仓库按用途分四类。官方仓库说明页对每一类都有逐条描述,对应的 .repo 文件分别是:
| 仓库 | 对应的 .repo 文件 | 定位 |
|---|---|---|
| fedora | fedora.repo | 该版本发布时的稳定内容 |
| updates | fedora-updates.repo | 稳定版的更新流,对已发布版本默认启用,通常应保持启用 |
| updates-testing | fedora-updates-testing.repo | 进入稳定前的暂存区(update candidates) |
| rawhide | fedora-rawhide.repo | Rawhide 上的唯一仓库:跑 Rawhide 的系统应启用,其它系统不应启用 |
表中的仓库名与
.repo文件名取自官方 Fedora DNF repositories 页面(docs.fedoraproject.org);仓库内容随版本演进,长期引用前回官方页面确认。
添加、启用与移除仓库
Section titled “添加、启用与移除仓库”官方 Quick Docs 的《Adding or removing software repositories in Fedora》给出 dnf config-manager 的 addrepo / setopt 用法,以及删除 /etc/yum.repos.d 下 .repo 文件的做法。 三类动作对应三类命令:
# 添加:先把 .repo 文件写到临时位置,再交给 config-managersudo dnf config-manager addrepo --from-repofile=/tmp/example.repo
# 启用 / 禁用:按仓库 ID 改 enabledsudo dnf config-manager setopt example.enabled=1sudo dnf config-manager setopt example.enabled=0
# 移除:先确认仓库 ID 属于哪个文件,再删文件grep -E "^\[.*]" /etc/yum.repos.d/*sudo rm /etc/yum.repos.d/example.repo第三方源:RPM Fusion 怎么装
Section titled “第三方源:RPM Fusion 怎么装”RPM Fusion 自身的配置页给出启用命令:以 rpm -E %fedora 拼出 free 与 nonfree 两个 release 包,再用 dnf install 安装。
sudo dnf install \ https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \ https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpmRPM Fusion 只是官方「Third Party Software」小节里的一项,同一节还有 Flathub、Snap Store、AppImage 与源码安装——每一项都有自己的启用步骤,不要拿「装一个 release 包」的经验去套其它源。
RPM Fusion 的配置页里还有一个典型的写法差异:启用 fedora-cisco-openh264 仓库,Fedora 41 及以后用 sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1,Fedora 40 及以前用 sudo dnf config-manager --enable fedora-cisco-openh264。同一个动作,两代 dnf 是两种写法;完整差异与迁移路径见从 dnf 迁到 dnf5 的实操差异。
dnf5 下的写法变化
Section titled “dnf5 下的写法变化”上面用到的 addrepo --from-repofile= 与 setopt <repo>.enabled=1|0 就是 dnf5 的写法,官方 Quick Docs 的仓库页已经按新写法给出示例。习惯 --enable / --disable 一类旧参数的脚本,在仓库管理这一块要改写;只改 sed 替换是不够的,因为参数形态从「开关选项」变成了「键值设置」。
官方仓库的包来自官方镜像网络,而不是写死某一个站点。官方仓库说明页给出的查询形式形如 https://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f44&arch=x86_64——把 repo 与 arch 换成你的组合,就能核对镜像是否可用:
| 镜像 | 仓库根地址 |
|---|---|
| 官方镜像列表(metalink) | https://mirrors.fedoraproject.org |
| Fedora 官方主站 | https://dl.fedoraproject.org/pub/fedora/linux |
| 官方下载入口 | https://download.fedoraproject.org/pub/fedora/linux |
表中地址取自
src/data/distro-profiles.json的 fedora 档案(登记并逐条挂证据);镜像网络会调整,长期引用前回官方页面确认。
- 从 dnf 迁到 dnf5 的实操差异 — 子命令、插件与脚本改写
- Fedora 当前版本与 EOL 表 — 版本状态决定你该用哪个仓库线
- 安装 Fedora(工作站/服务器) — 装完先确认仓库清单
- Fedora 发布节奏与支持窗口 — updates / updates-testing 与版本窗口的关系
- 官方:Fedora DNF repositories、Adding or removing software repositories in Fedora、RPM Fusion Configuration