为什么 Ubuntu LTS 版本基于尚未发布的 Debian 版本?

为什么 Ubuntu LTS 版本基于尚未发布的 Debian 版本?

引用时 关于 Ubuntu 和 Debian 版本如何保持一致的答案 我注意到相应的 Debian 版本 Ubuntu 已经发布了基于该特定 Debian 版本的 LTS,一年之后又发生了这种情况。发布操作系统有什么意义呢? 注重稳定 当你在我们之上构建的操作系统甚至感觉不值得实际发布时?在 Ubuntu LTS 发布的第一年,是否因为 Debian 社区不断修复了许多错误而修复了许多错误?

答案1

我注意到相应的 Debian 版本是在 Ubuntu 基于该特定版本的 Debian 发布其 LTS 一年后发布的。

这其实并不是一个正确的评估。您需要查看实际的软件包名称和版本号,而不是整个系统。在某些方面,Ubuntu 在某个特定时刻处于领先地位,而在其他方面,Debian 则处于领先地位。


“不稳定的 Debian”和“稳定的 Ubuntu”之间大约有 6 个月的差距。

不稳定的 Debian -> 不稳定的 Ubuntu -> 测试、修复和反馈到 Debian -> 测试版 Ubuntu -> 最终 Ubuntu 版本。

由于 Debian 社区不断修复问题,Ubuntu LTS 的第一年是否会修复很多错误?

在测试版和最终版本之间,你会看到更多错误得到修复。发布后,你经常会看到一些额外的更新,但比最终版本之前少得多。之后的更新也越来越少。在下一个版本发布之前,你还会看到更新略有增加(本周我们已经有 3 个更新 :) )

答案2

这种问题每年都会出现几次。

通常情况下,这种情况的发生是因为“稳定的“可以有多种含义。

LTS 版本是稳定的意思是“软件不变”。企业客户发现,Ubuntu 的新版本包含最新软件,包括更改和新功能……但往往会破坏他们既定的工作流程,从而带来麻烦。LTS 版本最初旨在解决这个问题,承诺除了高/关键错误修复和安全补丁之外,不会对软件进行任何更改。

  • 例如:Ubuntu 18.04 LTS 附带 Gnome 3.28。它仍然运行 Gnome 3.28,无论您安装多少升级,尽管 Gnome 最近发布了 3.40。
  • 软件不变也有几个例外。例如:Firefox 的攻击面很大,但在 Ubuntu 的所有受支持版本中都已更新到最新版本。

LTS 版本不是稳定的意思是“没有错误”。Ubuntu 开发人员非常努力地确保没有发布关键错误(这也恰好与 Debian 新版本的标准相似)。通常会有一套冗长的发行说明,详细说明在测试期间发现的问题。而且,确实有很多错误修复,特别是在 LTS 发布后的第一年……但大多数错误都是在发布后才发现的发布。(LTS 版本拥有大量用户)

  • 例子:每周桌面团队更新看看工程师们为协调上游项目的错误、修复和计划付出了多少努力……包括 Debian。这些人努力成为开源生态系统的好公民。大多数 Canonical 工程师都是开源爱好者,许多人也是 Debian 开发人员。这是在疯狂的预发布阶段结尾发布周期;在下一个周期开始的一个月内将会进行更多的上游协调。

  • 日历周期的例外:Ubuntu 06.04 因几个发布关键错误而延迟两个月至 06.06。这是 Ubuntu 历史上唯一延迟的版本。

答案3

Ubuntu 和 Debian 是不同的项目,侧重点也不同。Ubuntu 更注重时效性和有限的软件选择。Debian 更注重花时间完善发行版本。

此时值得注意的是,ubuntu 版本“基于 Debian 版本”的想法从根本上是错误的。每个 Ubuntu 版本都首先基于之前的 Ubuntu 版本。有一个过程可以自动从 Debian 导入更改,但它仅适用于 Debian 和 Ubuntu 之间同步的软件包。

还值得注意的是,如果您计划长期支持某些东西,那么新鲜度是有帮助的,因为这意味着如果您需要反向移植补丁,或者即使您需要雇用熟悉代码的人,您与上游之间的差异就会减少。

由于 Ubuntu 和 Debian 的发布计划不一致,从 Debian 稳定版导入确实不是一个可行的选择。过去他们确实从测试版而不是不稳定版导入 lts 版本,但在引入“建议迁移”过滤器后就停止了。

Ubuntu 自己维护着许多最受关注的软件包,通常比 Debian 领先。Ubuntu 领先 Debian 有几个原因,首先,Ubuntu 有全职员工,他们可以花更多时间解决问题。其次,Ubuntu 支持的架构比 Debian 少。第三,Debian 更多地由个人维护者推动,而 ubuntu 更多地由战略目标推动。

然而,对于 Universe 部分中的更多 Niche 包来说,它们很常见地只是 Debian 导入冻结时 Debian 中不稳定的包,因为没有人在 Ubuntu 中维护它们。

您当然不是第一个发现无论 Debian 的发布周期如何,自动从 Debian 导入都会出现问题的人。我曾经见过一位 Debian 开发人员抱怨过这个问题,当时一个包含预发布版本的程序的软件包最终出现在了 Ubuntu 版本中(可能是 lts 版本,我记不清了),但很难看出 Ubuntu 除了完全放弃 Universe(这无异于把孩子和洗澡水一起倒掉)或将其发布周期与 Debian 同步(正如我在下面讨论的那样,发布周期的定义方式是 Debian 和 Ubuntu 之间最根本的区别之一)之外还能做什么。


我认为在比较 Debian 和 Ubuntu 时,了解历史很重要,新用户可能不记得这些历史,但这对于理解为什么它们会这样大有帮助。

2004 年,Debian 遇到了一个问题。每次发布都比上一次耗时更长。Slink 耗时 8 个月,Potato 耗时 17 个月,Woody 耗时 23 个月,人们都在担心 Sarge 是否会发布。

Ubuntu 就是在这种环境下推出的。它与 Debian 有几个关键区别,包括:

  1. 基于时间的发布,而不是采用“当它准备好时”的方法,让人们怀疑它是否会准备好,Ubuntu 致力于每 6 个月发布一次定期发布计划。
  2. 这项业务的背后是一个非常有钱的人创办的企业,他有能力支付员工维护包裹的费用。他们希望最终能够盈利,但这是一个长期目标,而不是短期任务。
  3. 分为“主要”和“通用”,“主要”中的软件包将由 Canonical 的付费员工维护和支持。“通用”中的软件包则由社区负责维护或不维护。

从那时起,事情开始逐渐趋于一致,Debian 能够重新掌控其发布流程,于 2005 年中期发布了 sarge,此后大约每两年发布一次。Ubuntu 开始将四个版本中的一个指定为长期支持版本,并对这些版本提供更长时间的支持,但基本理念保持不变。Ubuntu 只有一次错过了其常规发布月份,而 Debian 自 Sarge 以来的发布日期一直在 2 月和 8 月之间变化。

相关内容