我的想法是,所有 Linux 发行版都使用一个内核(由 Linus Torvalds 开发的内核)。
那么为什么所有 Linux 发行版都有自己的内核?
答案1
有一个由 Linus Torvalds 发起并领导的项目,负责维护 Linux 内核的源代码。以下是发布在内核网站。请注意,这是不是内核,它的源代码——就像蛋糕的配方本身不是蛋糕一样。
要做蛋糕,你必须一步一步地按照食谱,混合原料,然后烘烤。要制作内核,你必须为你的计算机配置源代码并编译它。根据你的目标架构和你选择的配置(并且有很多配置选项),最终会得到不同的内核。差别不是很大,但确实不同。
此外,Linux 内核项目是开源的。它允许并鼓励每个人获取自己的源代码副本,对其进行修改以供自己使用,并分发自己修改后的副本 — 就像您可能继承了祖母从一本旧食谱中改编的蛋糕食谱,并且您可以有自己的个人变体。
虽然大多数人不会对自己的个人版本的内核源代码进行修改,但 Ubuntu、Fedora、Slackware 等发行版项目会分发他们自己修改过的 Linux 内核版本。通常,修改很简单:从较新版本的“上游”内核反向移植错误修复和尚未进入上游内核的安全修复。但它们可以是发行版项目认为可以使其版本“更好”的任何内容,符合该项目对“更好”的定义。
这就是为什么我们将“Ubuntu 内核”与“Linux 内核”区分开来的原因——因为它们确实不同。Ubuntu 内核是由 Canonical 维护。它基于 Debian 内核,而 Debian 内核本身是 Linux 内核的一个发行版。我不知道 Ubuntu 内核和 Linux 内核之间的所有区别。(不是因为它是秘密,而是因为我根本不知道。)我认为此页面列出了一堆, 和这是 Debian 内核的补丁。
最后,所有的内核都是基本上相同,这就是为什么我们称它们为 Linux。对内核进行如此大的改动以致于兼容性极差对任何人都没有好处。发行版各不相同很多他们随内核一起分发的程序种类更多,从而创建了整个操作系统。
答案2
有点过于简单了:
Linux 内核只有一个,但开发仍在进行中。如果您在几周后拍摄快照,您会发现细微的差别。
不同的 Linux 发行版在不同的时间拍摄快照,并且每个发行版都可以选择添加自己的秘密武器。更多细微的差别。
答案3
当您访问内核网站,你会看到有几个不同的内核版本。
简而言之,它们是:
- 主线:Linus 正在维护的开发内核。
- 稳定:最新的稳定分支。
- 长期:带有反向移植安全修复的旧内核版本。
Ubuntu 内核通常遵循相同的原则。当发布某个版本的 Ubuntu 时,它通常会坚持使用发布时“稳定”的内核版本(然后在该版本的 Ubuntu 中成为“长期”支持)。
例如,18.04 版本(Bionic)位于 4.15 内核分支上,而 20.04(Focal)位于 5.4 内核分支上。
在发布周期的后期,可能会有“HWE”(硬件支持)内核可用,它位于较新的分支上(例如,Focal HWE 位于 5.8 分支上)。这都是 Ubuntu 内核生态系统的一部分,旨在为用户提供更多选择。
此外,不同平台(云和准系统)有不同的内核构建 - 例如 Azure、AWS、KVM、Raspi、RiscV 等。
这(相当书呆子气)映射表显示哪些 Ubuntu 内核与主线内核版本相对应。也可以在Ubuntu 软件包列表。