为什么内核定期更新,甚至比操作系统发布更频繁

为什么内核定期更新,甚至比操作系统发布更频繁

我一直观察到 Linux 内核定期更新。我认为内核为操作系统与不同硬件和软件交互提供了一个基本层。它是开源的,以前内核快速发展似乎是合乎逻辑的。但现在,所有内核都相当不错,我们仍然看到内核不断更新。如果我们看看 OS X,基本系统并不经常更新,即使两者都具有相当的稳定性和功能性。

答案1

您观察到更常规的内核更新,部分原因是内核是一大块东西,需要与(在 Ubuntu 情况下为 apt)包系统很好地配合(否则您的系统将无法启动!)

虽然各种严重到需要更新的软件错误和安全漏洞只会影响安装了相应软件的用户,每个人使用 GNU/Linux 的用户将安装 Linux 内核。因此,虽然各种应用程序会获得各种更新,但每个人都会获得内核更新。因此,每个人都会获得许多内核更新,但相比之下其他软件更新却很少,这仅仅是因为他的系统只安装了特定的软件。

  1. 某些 RAID 驱动程序存在严重缺陷,偶尔会导致重要数据无法读取?Ubuntu 必须发布更新,对于任何可能受到影响的人 = 使用包含故障的内核版本的每个人 = 可能使用受支持的 Ubuntu 版本的每个人。

  2. nginx 网络服务器的 MP4 模块中发现了一个严重缺陷,可能允许第三方接管流媒体服务器?大多数 Ubuntu 用户没有收到更新,甚至大多数使用 nginx 的人也没有收到,因为他们没有安装该特定模块,只有包含该模块的包需要接收安全更新。

  3. Windows 中发现了一个严重漏洞,导致使用 Windows 系统证书存储的用户应用程序接受恶意证书,从而泄露部分本应加密的流量。由于补丁日是上周,应用程序供应商将解决这个问题直到下个月。然后,所有收集到的更新都会发布一个内核更新,这也造成了一些更新次数减少的错觉

  4. 发现 Windows 上的用户应用程序存在严重缺陷。由于 Windows 没有包管理器,没人注意到几个月后,当用户意识到自己已成为大型僵尸网络的一部分时,他重新安装了机器。

经验法则:如果您不需要功能更新,请使用长期支持 (LTS) 更新。发布到该版本的所有更新在某种程度上都是重要的错误和/或安全修复。


关于 Linux 发行版(尤其是 Ubuntu)更新频率的另一个注意事项:从安全角度来看,微软和苹果部署更新的方式糟糕的。这并不是说他们的软件更好,需要更少的更新,而是从经济角度部署更新,这意味着他们通常,尽管有些用户(但不是经济相关的份额)受到了恶意错误的影响。

在 Linux 上,你会看到安全漏洞已修复小时被人知道。在一些专有系统中,维护公司要求安全工程师在 3 个月内不向公众透露有关缺陷的信息。个月(例如微软)并且只负责任地发布这些漏洞,直到在通常的周期内发布修复程序为止,例如每月一次(例如微软)。

想想安全漏洞修复的后果,如果修复过程经过了精心策划,但慢的方式与 Linux 的方式相比:最大努力尽可能快。您将理解为什么许多管理员更喜欢开源和 Linux 方法,尽管更新频率增加以及随之而来的所有潜在问题。

TL;DR:快速且频繁的更新是一件好事,只要它们的安装不会造成中断并且在自动模式下很少导致失败。


笔记:将来内核更新将不再那么麻烦。目前,用于处理通过 apt 安装和删除旧版本的架构正在改进,而且各种 Linux 发行版都在关注和/或探索将较小的修复程序部署为实时补丁的方法,这些补丁可以应用于或多或少“正在运行”的系统,而您无需过多关注它。

答案2

这也许就是为什么它看起来更加稳定的原因。请记住,每次 Windows 或 Mac 更新都会有很多关于一切都崩溃的投诉。如果更改中存在小错误,并且这些错误的数量一次减少,那么崩溃就会减少。

想象一下,如果所有修复都同时出现,并且每个修复都存在未经测试的用例问题,甚至其中一些问题会因为其他不相关的更改而变得更糟。更新有时会破坏我的东西,但通常感觉它们很小,而且当我在像 arch 这样的更新很多的 Linux 发行版上时似乎更容易修复。

相关内容