Linux内核的版本号是有一定的规则的,版本号遵从的格式通常是:主版本号.次版本号.修正号。
主版本号和次版本号标志着重要的功能变动;修正号表示较小的功能变动。以2.6.12版本为例,

2代表主版本号,6代表次版本号,12代表修正号。其中次版本号还有特定的意义:如果次版本
号是偶数,则表示该内核是一个可放心使用的稳定版;如果次版本号是奇数,则表示该内核加
入了一些测试的新功能,是一个内部可能存在BUG的测试版。如:2.5.74表示是一个测试版就的
内核,2.6.12表示是一个稳定版的内核。我们可以从Linux官方网站上:
http://www.kernel.org/下载最新的内核代码

 

Linux内核版本号的含义

 

Linux内核有三个不同的命名方案。

早期版本

  • 第一个版本的内核是0.01。然后依次是0.02,0.03, 0.10, 0.11, 0.12(第一GPL版本), 0.95, 0.96, 0.97,0.98, 0.99及1.0。

从0.95版开始有许多的补丁发布于主要版本版本之间。

旧计划(1.0和2.6版之间)的版本格式为A.B.C,分别代表:

  • A——大幅度转变的内核。这是很少发生变化,只有当发生重大变化的代码和核心发生才会发生。在历史上曾改变两次的内核:1994年的1.0及1996年的2.0。
  • B——是指一些重大修改的内核。
    • 其中奇数代表发展中版本(development) ,偶数代表稳定版本(stable)
  • C——是指轻微修订的内核。这个数字当有安全补丁,bug修复,新的功能或驱动程序,内核便会有变化。

自2.6.0(2003年12月)发布后,人们认识到,更短的发布周期将是有益的。自那时起,版本的格式为A.B.C.D,其中A,B,C,D代表:

  • A和B是无关紧要的(即2.6)
  • C是内核的版本,随着每次释出新内核而增长
  • D是安全补丁,有需要时发布
Linux Kernel 3.0 正式版于2011.07.22日放出,Linus指出,3.0版只是一个数字的变化,并没有加入重大的新功能。因为目前2.6.x的版本号太长太复杂,命名规则变得模糊不清,且以沿用八年,版本号中的“2.6”已经没有任何意义了。所以趁Linux内核发布的二十周年这个好机会去说,“够了”。
3这个标识如同2.6一样,且3.x版的命名规则类似于2.6系列,版本格式为3.A.B,其中:
  • A是释出版本,随着每次释出而增长
  • B是补丁,有需要时发布
  • 开发版将在后面以rc注明,如3.4-rc1

 

 

Linux distribution通常会在这三个版本号后加入后缀,用以描述其他信息,以我的Unbuntu 10.10为例:

kernel-release为 2.6.35-32-generic(有的为2.6.35-32-generic-pae  )

  • 2.6.35  :当前内核版本,是2.6版内核系列的第35次释出版
  • 32    :当前内核版本(2.6.35)的第32次微调patch
  • generic :当前内核版本为通用版本,另有表示不同含义的server(针对服务器)、i386(针对老式英特尔处理器)
  • pae   : 物理地址扩展,表示此32位系统可以支持超过4G的内存

kernel-version为 #67-Ubuntu SMP Mon Mar 5 19:35:26 UTC 2012

  • SMP: 对称多处理机,表示内核支持多核、多处理器
  • Mon Mar 5 19:35:26 UTC 2012: 内核的编译时间(build date)为 2012/03/05 19:35:26

 

参考:

中文维基百科:http://zh.wikipedia.org/wiki/Linux_kernel

英文维基百科:http://en.wikipedia.org/wiki/Linux_kernel

Linux之父Linus访谈录:漫谈Linux 3.0内核:http://www.ha97.com/4177.html

鸟哥的Linux私房菜:http://vbird.dic.ksu.edu.tw/

Linux Kernel:http://www.kernel.org/