Linux内核版本介绍

一直在使用Ubuntu系统,但是对内核版本号的含义存在困惑,现在详细记录一下Linux内核版本号的详细含义。

最近在看《Michael Kerrisk - Linux-UNIX系统编程手册(上、下册)-人民邮电出版社 (2014)》这本书,在书的第7页有详细的介绍,我就直接照搬过来了。

原文如下:

与大多自由软件项目一样,Linux 也遵循及早、经常的发布模式,因而对内核的修订会频繁出现(有时甚至是每天都有)。随着Linux 用户群的激增,对这一发布模式有所调整,意在降低对现有用户的干扰。具体来说,在Linux1.0 版本之后,内核开发者针对每次发布所采用

的内核版本编号方案为x.y.z。x 表示主版本号,y 为附属于主版本号的次版本号,z 是从属于次版本号的修订版本号(细微的改进和BUG 修复)。

采用这一发布模式,内核的两个版本会一直处于开发之中。一个是用于生产系统的稳定(stable)分支,其次版本号为偶数;另一个是经常变动的开发(development)分支,其次版本号为奇数(当前稳定版次版本号+1)。指导思想是(在实践中并未严格执行)应将所有新特性添加到内核当前的开发分支系列中,而对内核稳定分支系列的修订应严格限定为细微的改进及bug修复。当开发者认为当前的开发分支已宜于发布时,会将该开发分支转换成新的稳定分支,并为其分配一个偶数的次版本号。例如,内核开发分支2.3.z 会"进化"为内核稳定分支2.4。

随着 2.6 内核的发布,内核开发模式再次发生改变。稳定内核版本之间发布间隔过长,因而导致诸多问题和不便,这是内核开发模型改变的主要原因(从Linux 2.4.0 到2.6.0 的发布历时近3 年)。虽然还会就该模型的微调定期开展讨论,但基本细节已经确定如下。

  • 不再有稳定内核和开发内核的概念 。每个新的2.6.z 发布版都可以包含新特性,其生命周期始于对新特性的追加,然后历经一系列候选发布版本让新特性稳定下来。当开发者认为某个候选版本足够稳定时,便可将其作为内核2.6.z 发布。一般情况下,发布
    周期约为3 个月。
  • 有时,也可能需要为某个稳定的2.6.z 发布版打上些小补丁程序,以修复bug 或安全问题。如果这样的修复工作具有足够高的优先级,并且补丁程序的正确性也"毋庸置疑",那么无需等待下一个2.6.z 发布版,可以直接应用补丁创建一个版本号形如2.6.z.r 的发布版本,其中,r 作为该2.6.z 内核版本的次修订版序号。
  • 额外责任将转嫁给Linux 发行厂商,由他们来确保随Linux 发行版一同发行内核的稳定性。

总结一下:在前期的版本有稳定内核和开发内核的区别,后期就没有区分了,有Linux发行商自己决定内核的选用。

相关推荐
Python私教2 分钟前
ubuntu搭建k8s环境详细教程
linux·ubuntu·kubernetes
羑悻的小杀马特15 分钟前
环境变量简介
linux
小陈phd1 小时前
Vscode LinuxC++环境配置
linux·c++·vscode
是阿建吖!1 小时前
【Linux】进程状态
linux·运维
明明跟你说过1 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
Komorebi.py2 小时前
【Linux】-学习笔记05
linux·笔记·学习
Mr_Xuhhh2 小时前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
内核程序员kevin6 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ10 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream10 小时前
Linux的桌面
linux