每一个Linux内核版本都有一个与之关联的不同版本号。你有没有想过Linux内核版本号是如何形成的?如果您使用Linux已有一段时间,就会知道Linux发行版具有独特的版本,并且每个版本都有特定的代号。Linux内核也有不同的版本号,作为内核所属系列的标识。然而,早期内核版本的形成方式与LinusTorvalds现在命名它们的方式不同。到最后,您将更加熟悉Linux内核版本控制方案,并且可以更轻松地阅读内核版本号并识别与特定版本相关的各种功能。传统的Linux内核版本控制当Linus刚开始开发内核时,使用的版本控制系统只包含一个从零(0.x)开始的增量变量方案。最初,Linus是该项目的唯一工作人员,版本控制系统足以记录和分发新的内核版本。以下是一些遵循这种命名方案的内核版本:后来,随着越来越多的开发人员开始为该项目做出贡献,并且修订和补丁的数量显着增加,决定这种版本控制方案不适用于内核等软件.从1.0版开始,Linus采用了一种带有一些附加变量的新方案。引入更具描述性的版本控制系统1994年,随着Linux1.00内核的发布,Linus开始使用新的版本控制系统,该系统在语法中使用三个变量:“abc”。这些变量(a、b和c)分别表示特定内核版本的主要、次要和修订号。以Linux1.1.95内核为例。您可以将其解码为第一个主要版本、第一个次要版本和第95次修订。当时,偶数次版本号表示稳定的内核版本,而奇数表示开发版本。拥有单独的分支很重要,这样开发人员可以在不影响稳定分支的情况下在内核中添加和测试新功能。内核开发人员在开发分支中添加和改进新功能,直到它足够稳定,可以作为LTS内核发布。LTS内核3.2在稳定版本3.1中开发了新功能,同样,新的开发内核3.3从3.2分支出来,为后来在Linux3.4中引入的新功能让路。从Linux2.4内核开始,内核名称中的第四个变量表示补丁版本。您可以说版本2.4.37.10是内核2.4.37的第十个补丁版本。补丁版本并不意味着内核版本中修复的问题数量。相反,它计算在修补发现的问题后发布更新内核的次数。直到Linux2.6才开始使用这个版本控制系统,它可以有效地将特定版本与其他版本区分开来。将修订计数和补丁版本添加到版本号是描述性的,但这意味着有更长、更复杂的内核版本。再次需要一个新的更好的解决方案。Linux内核版本现在如何命名?在Linux3.0版本中,Linus删除了版本号中的第四个变量。内核版本现在根据语法形成:abc,其中a、b和c分别是主要版本、次要版本和修订计数。此版本控制方案类似于1.0和2.4内核版本之间使用的方案。Linux3.2.0-23由于版本控制系统的进步,贡献者现在可以在稳定分支上无缝工作并添加新功能,而不会意外破坏已经运行的稳定版本。因此,4.0内核版本出来后,内核的稳定分支和生产分支使用偶数和奇数次版本号变得多余,4.x系列的第一个LTS版本(4.1)的次版本号为奇数.您可能还会注意到版本号末尾的一些字符,例如rcX。Reviewcandidates(或简称为“rc”)是内核的预览版和补丁前版本,开发人员修补这些版本以消除错误和其他问题。这些是以前开发版本的替代品,由奇数次要版本号表示。尽管这些版本专门为内核开发人员保留,因此他们可以修复报告的问题并实现新功能,但您也可以根据需要下载和测试这些内核审查候选版本,但通常不建议这样做,因为这是大多数开发发生的主要地方。在撰写本文时,最新的内核预览版是5.19-rc6。要创建新版本,当变量的值达到某个数字时,前面的变量会递增。例如,每当次要版本计数接近20时,主要版本就会更新到下一个数字。Linus在他的5.0内核开发电子邮件中提到,他刚刚将主要版本更新为5,因为次要版本的数量多得手指和脚趾都数不过来(20个!)。此外,根据kernel.org,当第一个点之后的数字开始看起来“太大”时,主版本号会增加。3.x系列的最终内核版本是3.19,最后一个主要的4.x内核系列是4.20,随后升级到5.0。Linux5.18.0-2从3.0版开始,Linux内核就遵循了这种版本控制方案,并且它在三个主要内核版本(3.x、4.x和5.x版)中被证明是有效的。使用版本号识别Linux内核版本鉴于已发布的Linux内核版本数量庞大,需要有一个系统来识别和区分特定版本与其他版本。使用新的内核版本控制方案,现在可以有效地识别和比较内核版本,并且很容易知道哪个内核版本是最新的,哪个是较早发布的。如果要检查系统上当前安装的Linux内核版本,可以使用uname来完成,这是一个Linux命令,可让您列出与系统相关的信息。根据您运行的发行版,uname显示的版本号可能与实际的Linux内核版本不同。
