跳转到内容

Fedora (RHEL 上游)

Fedora 是 Red Hat 赞助的社区 Linux 发行版,也是 RHEL 的上游源头。每一个 RHEL 大版本都基于某个 Fedora 版本构建。理解 Fedora 与 RHEL 的关系,有助于把握 Enterprise Linux 技术发展的脉络。

Fedora → CentOS Stream → RHEL → AlmaLinux / Rocky Linux / ...

Fedora 在 EL 生态中的角色是技术创新的前沿实验场。Red Hat 的工程师在 Fedora 中引入和测试新技术,经过社区验证后,这些技术中的成熟部分会被选入下一个 RHEL 大版本。

RHEL 版本基于 Fedora发布年份
RHEL 7Fedora 19/202014
RHEL 8Fedora 282019
RHEL 9Fedora 342022
RHEL 10Fedora 402025

这意味着当你使用 Fedora 40 时,实际上在提前体验 RHEL 10 的技术基础。

  1. 技术在 Fedora 中首发:新的内核版本、系统组件、默认配置
  2. 社区验证:Fedora 的庞大用户群帮助发现问题
  3. 进入 CentOS Stream:成熟的技术进入 CentOS Stream 进行进一步集成测试
  4. RHEL 正式发布:经过全面 QA 后发布 RHEL 大版本

Fedora 提供多个版本(Editions),面向不同使用场景。

面向桌面用户和开发者的旗舰版本:

  • GNOME 桌面环境(通常是最新稳定版)
  • 预装开发工具
  • PipeWire 音频系统
  • Wayland 显示协议
  • Flatpak 应用支持

适合:Linux 桌面用户、开发者工作站

面向服务器和基础设施的版本:

  • 最小化安装
  • Cockpit Web 管理界面
  • 模块化软件包管理
  • 服务器角色(Server Roles)管理

适合:测试和开发服务器、实验环境

面向物联网和边缘计算的版本:

  • 基于 OSTree 的不可变系统
  • 自动更新(rpm-ostree)
  • 容器优先的工作负载模式
  • 支持 ARM 和 x86 设备

面向容器化工作负载的最小化操作系统:

  • 自动更新
  • 通过 Ignition 配置进行声明式部署
  • 为运行容器而设计
  • 是 Kubernetes 节点的理想 OS
Terminal window
# Fedora CoreOS 通过 Ignition 配置
# 不使用传统的 Anaconda 安装器
# 而是通过配置文件声明式部署

Fedora 还提供预装不同桌面环境的变体:

  • KDE Plasma
  • Xfce
  • LXQt
  • MATE-Compiz
  • Cinnamon
  • i3 / Sway (平铺窗口管理器)
  • Budgie

Fedora 采用约 6 个月的发布周期:

  • 每年春季和秋季各发布一个版本
  • 每个版本维护约 13 个月(到下一个版本发布后约 1 个月)
  • 版本号连续递增(Fedora 39, 40, 41, 42…)
特性FedoraRHEL
发布周期~6 个月~3 年(大版本)
支持周期~13 个月~10 年
内核版本紧跟上游冻结 + 回移
软件包版本最新稳定版版本冻结
定位前沿创新企业稳定

Fedora 通常包含各软件的最新稳定版本:

Terminal window
# Fedora 上的软件版本通常比 RHEL 新很多
# 例如 Fedora 41:
# GCC 14.x (RHEL 9: GCC 11.x)
# Python 3.13 (RHEL 9: Python 3.9)
# kernel 6.x (RHEL 9: kernel 5.14)
# GNOME 47 (RHEL 9: GNOME 40)

Fedora 遵循 “First” 策略——在主流发行版中率先采用新技术:

  • 首个默认使用 systemd 的主流发行版
  • 首个默认使用 Wayland 的主流发行版
  • 首个默认使用 PipeWire 的主流发行版
  • 首个默认使用 Btrfs 的主流桌面发行版

这些”首发”技术在 Fedora 中验证成熟后,往往会被 RHEL 和其他发行版采用。

Fedora 在较新版本中率先采用了 DNF 5 包管理器:

Terminal window
# Fedora 上的包管理
dnf install <package>
dnf update
dnf search <keyword>
dnf remove <package>
# DNF 5 相比 DNF 4 的改进:
# - 性能大幅提升
# - C++ 重写核心
# - 更好的事务处理

EPEL(Extra Packages for Enterprise Linux) 是 Fedora 项目为 RHEL 及其兼容发行版提供的额外软件仓库。

EPEL 中的软件包来源于 Fedora,但经过调整以在 EL 系统上编译和运行:

Terminal window
# 在 RHEL/AlmaLinux/Rocky Linux 上安装 EPEL
dnf install -y epel-release
# EPEL 提供了大量 RHEL 官方仓库中没有的软件
# 例如:htop, neofetch, nginx(较新版本), nodejs 等

对于 EL 用户来说,EPEL 几乎是必装的第三方仓库:

  • 提供数千个额外的软件包
  • 由 Fedora 社区维护,质量有保障
  • 不会与 RHEL 官方仓库冲突
  • 遵循 RHEL 的兼容性指南
  • 桌面日常使用:最新的桌面环境和应用
  • 开发者工作站:最新的开发工具和语言运行时
  • 技术爱好者:想要体验最新 Linux 技术
  • Fedora → RHEL 预览:提前了解 RHEL 下一代的技术方向
  • 短生命周期的开发环境:不需要长期维护的测试系统
  • 生产服务器:需要长期稳定和支持
  • 企业应用:运行经过认证的商业软件
  • 合规要求:安全认证和审计
  • 长期运维:不希望频繁升级操作系统
  • 一致性:大规模部署中保持统一版本

许多团队采用混合策略:

开发者工作站:Fedora Workstation(最新工具)
CI/CD 环境:CentOS Stream(提前测试兼容性)
生产服务器:RHEL / AlmaLinux / Rocky Linux(长期稳定)

下载地址:fedoraproject.org

Terminal window
# 使用 Podman 快速体验 Fedora(在 EL 系统上)
podman run -it fedora:latest bash
# 或使用 toolbox(Fedora 的容器化开发工具)
toolbox create --distro fedora --release 41
toolbox enter fedora-toolbox-41
Terminal window
# 更新系统
sudo dnf update -y
# 安装开发工具
sudo dnf groupinstall -y "Development Tools"
# 安装特定版本的软件
sudo dnf install -y python3.13 nodejs22
# 系统升级(跨版本)
sudo dnf system-upgrade download --releasever=42
sudo dnf system-upgrade reboot

Fedora 拥有一个庞大而活跃的社区:

Fedora 的所有重大变更都通过公开的 Change Proposal 流程:

  • 提案者提交变更说明
  • FESCo(Fedora 工程指导委员会)审核
  • 社区讨论
  • 投票决定是否纳入

这一透明的流程使得 Fedora 的技术演进方向是可预测的——关注 Fedora Changes,你就能大致预见 RHEL 未来几年的技术方向。

Fedora 是理解 RHEL 和整个 EL 生态不可缺少的一环。它不仅是 RHEL 的技术源头,也是 Linux 世界中最具影响力的创新平台之一。作为 EL 用户,关注 Fedora 的发展动态,就是在关注你所使用的操作系统的未来。