Linux 发行版的发布周期

与 Windows 的工作相比,Linux 工作的特点之一在于各不相同的发布周期所带来的多样性与挑战。在 Windows 的世界里,这相当简单:只有一款产品,它该发布时就发布,大约每两年左右一次。每一个从事 Windows 工作的人都非常清楚即将到来的各个版本,清楚它们何时发布、何时进入候选发布阶段、何时到达生命周期终点等等。这一切都非常清晰、非常简单。
在 Linux 的世界里,情况则大不相同。当然,最大的区别在于,Windows 是一款产品、一个来自单一供应商的东西。而在 Linux 中,我们谈论的是一个来自众多供应商的、相互关联的产品“家族”,其中有些供应商还拥有多款产品。而这还是在 Linux 自身所提供的内核发布周期之上–后者我们在此不予讨论。
每个发行版都独一无二,并各自做出自己的发布决策。事实上,发布周期往往是区分一个发行版与另一个发行版的关键因素之一。例如,三大主要的企业级 Linux 供应商都各自提供两款不同的产品,而在这三种情形中,区分二者的主要依据正是发布周期!因此,发布周期这一概念在这个市场中无疑是一个重要的概念。
在所有操作系统(而不仅仅是 Linux 发行版)中,我们都会遇到三种主要的发布“风格”:长期版本、短期版本和滚动版本。每一种发布风格都服务于不同的目的,但大体上都遵循一套类似的规则。
发布的理念在于,除安全和稳定性补丁之外,一个版本之内的各个软件包不会发生变化。当然,这是以当今企业级供应商的行为方式为前提的,任何一个特定的发行版都可以选择遵循既定的惯例,也可以选择不遵循。并不存在什么宇宙固有的法则让这种行为非如此不可;但它是一种强有力的惯例,而发布这一概念正是建立在这一惯例之上的。
长期版本
这种发布模式在企业级操作系统这一总体领域中最为常见,在 Linux 之外,FreeBSD、Solaris、AIX、Mac OSX 和 Windows 等系统也都遵循这一模式。长期版本(通常以 LTS 指代)是围绕缓慢的系统变更速率而设计的,它在重大系统版本之间提供数年、有时甚至许多年的间隔,让 IT 团队得以在更长的时间里避免迁移,并为软件供应商提供在很长一段时间内都保持稳定的目标。
在企业级 Linux 的世界里,所有供应商都至少提供一款长期版本产品。这些产品也是部署最为广泛的。
就 Red Hat 而言,RHEL 和 CentOS 产品都是长期版本,其发布周期极其漫长–并没有固定的时间表,但目前大约每三到四年发布一次。
Suse 拥有两款 LTS 产品:Suse Linux Enterprise Server 和 openSuse Leap。SLES 所维持的发布周期目前介于三到五年之间,而 openSuse Leap 则相对紧密地基于 SLES 的各个版本。
Ubuntu 的 LTS 版本被恰如其分地命名为 LTS,它每两年在偶数年的四月发布,准时得如同时钟一般。Ubuntu 目前拥有此类别中所有 LTS 产品里最短的发布周期。
所有长期版本在各个重大版本之间都会推出小版本,为操作系统带来一些细小的改动或调整,这些改动比适合用补丁发布的要大,但又不足以大到需要发布一个全新的操作系统。这些小版本的理念在于,它们足够小,以至于不会造成“破坏”,从而让以重大版本为目标的软件能够在整个重大版本周期中保持可用。重大版本则被视为具有“破坏性”,它带来诸如重要的新内核特性、软件包选择上的变化、新的编译器特性、不同的库等等大幅度的改动。
短期版本或快速版本
长期版本的发布周期显然给那些追求更现代的软件包和功能的人带来了麻烦。为了解决这一问题,所有企业级 Linux 供应商都提供一款短期版本产品。
Red Hat 提供 Fedora 发行版,它大约每六个月发布一次,但时间表较为灵活。Fedora 并不完全算是一个独立于 RHEL 和 CentOS 的发行版,而是每隔一段时间就会有某个 Fedora 版本被选定,作为未来某个 RHEL 和 CentOS 版本的“基础”。这种基础关系并非直接照搬,有时会从较晚的 Fedora 版本中加入一些软件包,也会做出一些改动,但其基本内容与某个 Fedora 版本高度吻合。被选定的 Fedora 版本会被冻结并经过广泛的测试,然后再转化为一个长期支持的 RHEL 版本。
Suse 家族并不采用短期版本产品,在这一点上独树一帜。
Ubuntu 采用了一种与 Red Hat 颇为不同的策略。Ubuntu 每六个月发布一款产品,时间表极其固定。每第四个版本都被指定为长期版本,其余三个则是短期版本。相比于 Red Hat 那种短期版本用户与长期版本用户每两年会有六个月相互重叠的运作方式,这构成了一套简单得多、也直截了当得多的体系。
滚动版本
发布周期类型中更为快速的一种是滚动版本,它基本上是持续不断地进行的。这种发布策略并不常见,但近来开始得到越来越认真的对待。如今,只有 Suse 凭借 openSuse Tumbleweed 发行版提供企业级的滚动版本系统。其更新频率可以高达每隔几天一次。
不同于其他发布周期那样把大批软件包“冻结”为单一的一个版本,滚动版本对各个软件包的更新会在它们就绪时随时到来。因此,更新虽小,却持续不断。这使得适应过程得以简化,把变化控制在极其微小的尺度上,但也让创建一个单一、可预测的目标变得非常困难。
那些追求最新软件包和尖端功能的人会发现,滚动版本是让一切尽可能保持最新的最佳途径。
关于发布周期,一个重要的认识是:它既不直接与某个版本所获得的支持时长相关联,也不能表明每个版本所投入的测试量。
每一种发布风格都在系统生态中扮演着重要的角色,而通过拥有不同风格的发布方式,企业级 Linux 的世界相比于其他情形,便具备了更大的多样性与灵活性,以应对范围更广的各种需求。
目前,长期版本在系统管理领域中最为突出、也最受欢迎,但这一趋势似乎不太可能延续下去。整个企业级 Linux 领域的总体稳定性已经有所提升,而对时新性的需求又往往是更为关键的考量,以至于人们越来越渴望那些更为快速的发行版。
