很多用Linux的默认镜像几乎都是 Ubuntu LTS,但大多数工程师说不清 LTS 究竟承诺了什么——以及同样重要的,它没有承诺什么。把这件事讲清楚,要从 LTS 的实际运作机制讲起。
LTS 的核心机制:backport
LTS 意味着两件看起来矛盾的事同时成立:软件版本被锁定,但安全补丁还在持续来。这两件事能同时成立,靠的是 backport(回移补丁)。
举一个具体例子:Ubuntu 22.04 LTS 出厂时搭载 OpenSSL 3.0.2。两年多后,上游 OpenSSL 3.3.2 修复了一个严重漏洞。Ubuntu 不会把 22.04 的 OpenSSL 升级到 3.3 系列——那样会引入新 API,可能破坏所有依赖它的软件的二进制兼容性。Ubuntu 的做法是:把 3.3.2 期间的漏洞修复补丁提取出来,手工移植到 3.0.2 的旧代码树上,发布为 openssl 3.0.2-0ubuntu1.18——版本号主体不变,.18 表示这是对此包的第 18 轮源码更新。
版本号冻结,补丁回流。
这个机制直接决定了 LTS 的本质边界:
- 主版本号不动,软件之间的 ABI 不会突变——集成测试通过的状态得以保持
- backport 只能移植孤立的补丁,无法移植需要大幅重构才能引入的新特性
- 如果一个 bug 的修复本身需要重写某个组件,这个补丁无法干净地移植到旧代码树——维护者可能搁置,这个 bug 就此被冻结在整个支持期内
最后一点是 LTS 最常被误解的地方。
Ubuntu LTS 的具体承诺
Ubuntu 对 LTS 的官方定义清晰但有限,核心只有两点:
- 在支持周期内(Desktop LTS 为 5 年)持续提供安全补丁(通过 backport)
明显缺席的内容:
- 不承诺修复非安全性 bug——普通功能 bug 是否回移由 Canonical 自行判断,经常不移
- 不承诺硬件兼容性(HWE 内核计划有所改善,但明确标注「无保证」)
- 不承诺有人来帮你解决问题——免费 LTS 没有 SLA,没有响应时间承诺
LTS 锁定的不只是版本,还锁定了那个版本里的所有 bug。2022 年发布时 GNOME 里有一个 bug,大概率会保留在整个 5 年周期内。
「稳定的 bug」和「不稳定的 bug」
这里有一个反直觉的推论:对于想要更少 bug 的用户,滚动更新发行版在很多场景下反而比 LTS 更好。
逻辑很简单:上游软件一直在修 bug。使用滚动更新(Arch、Fedora、openSUSE Tumbleweed),这些修复很快就会推送。使用 LTS,只能等待发行版维护者决定是否回移——对于非安全性 bug,经常不移。LTS 上的 bug 是稳定的:它们不会自己消失。
滚动更新也有代价:更新引入的集成问题更常见——某个库升级后,依赖它的另一个软件的某个功能暂时坏了。这类问题在 LTS 上很罕见,因为版本组合经过充分测试。
这是两种不同类型的风险之间的权衡:
对于生产服务器,前者可接受,后者不可接受。对于开发者桌面,结论可能相反——开发者通常知道如何 debug 和回滚。
「LTS」这个词在三个层面互不兼容
混淆 LTS 的另一个来源是:这个词在 Linux 生态里至少出现在三个完全独立的语境中,含义各不相同。
一、发行版 LTS:Ubuntu 24.04 LTS、Debian 12 Bookworm 等。承诺如上——安全补丁+版本锁定,5 年左右。
二、内核 LTS:Linux 内核维护者 Greg Kroah-Hartman 等维护 LTS 内核分支(目前活跃的有 5.10、5.15、6.1、6.6、6.12),各自支持 2—6 年。但 Ubuntu 24.04 LTS 出厂内核是 6.8,而 6.8 并不是内核社区的 LTS 版本。Ubuntu 的 HWE 计划会在支持周期内更换内核,但不保证换到内核 LTS 分支。
三、桌面环境 LTS:KDE Plasma 和 GNOME 有各自的支持政策,与发行版完全独立。Ubuntu 22.04 上的 Plasma 5.24 LTS,和 Ubuntu 22.04 本身是 LTS,是两个互不相关的承诺。
这三层互不同步,组合起来可能出现各种「两层 LTS、一层不 LTS」的局面,没有一个统一的「全 LTS」保证。
RHEL:把 backport 做到极致
RHEL 是理解 LTS 机制边界的最好对照组。
RHEL 同样基于 backport 策略,但力度远超 Ubuntu。RHEL 9 出厂内核是 Linux 5.14,但经过数年运营,已从后续内核版本回移了数千个补丁——安全修复、驱动更新、性能改进,乃至部分新特性,全部以不破坏 ABI 的方式注入旧代码树。RHEL 9 的内核版本号显示为 5.14.0-503.el9 这类形式,503 是迭代轮次,实际能力远超原版 5.14。
这背后是专职的 backport 工程团队持续工作的结果,也是 RHEL 能给出以下承诺的原因:
- 10 年支持周期(5 年完整支持 + 5 年维护支持),比 Ubuntu LTS 的 5 年长一倍
- 应用二进制兼容性(ABI)保证:同一主版本内,编译好的应用不会因系统更新而崩溃。这是 Ubuntu LTS 没有的承诺
- 付费 SLA
免费 LTS 不包括任何人工支持——生产环境出了问题,没有官方支持团队兜底。Ubuntu Pro 提供付费人工支持(每工作站约 $300/年),SUSE Enterprise Linux 定位类似 RHEL,在欧洲和部分国内金融机构有较强渗透。
RHEL 订阅定价的核心逻辑:企业支付的不只是支持电话,而是那个 backport 工程团队的持续工作。
CentOS 的消亡与国内的替代选项
说到 RHEL,不能绕开 CentOS。
长期以来,国内大量企业服务器运行的不是付费 RHEL,而是 CentOS——RHEL 的免费二进制兼容克隆。CentOS 享有 RHEL 的软件内容和更新节奏,但不提供任何商业支持。这个格局在 2020 年被打破:Red Hat 宣布 CentOS 8 提前终止,CentOS 项目转型为 CentOS Stream(RHEL 的上游滚动测试床),不再是传统意义的固定版本 LTS。CentOS 8 于 2021 年底 EOL,大批迁移由此开始。
此后出现了多个替代发行版,均提供免费的 RHEL 兼容版本,同时也有付费企业级支持选项:
- Rocky Linux:RESF 基金会主导,国际社区最活跃的 RHEL 克隆;商业支持由 CIQ(CentOS 原创始人 Gregory Kurtzer 创办)等公司提供
- Circle Linux(cclinux.org):国际化社区驱动,赞助方以国内厂商为主,支持 x86_64 / aarch64 / ppc64le,维护 8.x / 9.x / 10.x 三个系列,同样提供企业级支持服务
两者的共同模式:免费版提供 RHEL 的软件内容和更新节奏,不含 RHEL 订阅的 ABI 兼容性保证;需要有人兜底的企业可购买各自的付费支持,但覆盖深度和响应保证与 RHEL 官方订阅有差距。
国内企业从 CentOS 迁移时,Circle Linux 是最直接的国内选项;对合规有更高要求、或需要完整 ABI 保证的场景,仍应考虑 RHEL 付费订阅。
怎么选
| |
|---|
| Ubuntu LTS / Debian Stable ✓ |
| |
| |
| Circle Linux 企业版 / RHEL 付费订阅 ✓ |
| |
| Fedora / Arch / openSUSE Tumbleweed ✓ |
| |
| |
| |
一行总结:LTS 提供的是经过测试的固定版本加安全补丁,而不是「少 bug 的系统」;真正的企业支持需要另外付费,RHEL 和 Ubuntu Pro 是两条路。