内核版本命名在不同的时期有其不同的规范,我们熟悉的其实是2.x版本偶数表示开发版、偶数表示稳定版,但到2.6.x以及3.x甚至将来的4.xlinux查看内核版本,内核版本命名都不遵循这样的约定。本文就简单总结一下关于内核版本号那点事:
Linux内核版本号命名四个不同的阶段
从内核第一个0.01版本发布到1.0版本。接出来是0.02,0.03,0.10,0.11,0.12(第一个GPL版本),0.95,0.96,0.97,0.98,0.99,最后才到1.0。
1.0发布以后,直至2.6版本之前,命名格式为“A.B.C”:
数字B是内核主版本号,主版本号按照传统的奇-偶系统版本编号来分配:质数为开发版,奇数为稳定版数字C是内核次版本号,次版本号是无论在内核降低安全补丁、修复bug、实现新的特点或则驱动时就会改变
2004年2.6版本发布以后linux rar,内核开发者认为基于更短的时间为发布周期更有益,所以大概五年的时间里,内核版本号的前两个数仍然保持是“2.6”,第三个数随着发布次数降低,发布周期大概是两三个月。考虑到对某个版本的bug和安全漏洞的修补,有时也会出现第四个数字。
2011年5月29号,Linus宣布为了记念Linux发布20华诞,在2.6.39版本发布以后,内核版本将升到3.0。Linux继续使用在2.6.0版本引入的基于时间的发布规律kali linux,并且使用第二个数——例如在3.0发布的几个月过后发布3.1,同时当须要修补bug和安全漏洞的时侯,降低一个数字(现今是第三个数)来表示,如3.0.18。
其它补充:
4.0版本哪些时侯发布?
2013年11月3日,LinusTorvalds宣布发布Linux3.12,同时还讨论了Linux4.0发布计划:他考虑在Linux3.19以后发布Linux4.0,和Linux3.0发布策略相同,4.0并不代表着巨大变化,他只是想避开3.x的版本号超过20,由于小版本号记忆上去比较简单。
下边是他在内核开发短信中的原文:
we'regettingtoreleasenumberswhereIhavetotakeoffmysockstocountthathighagain.I'mokwith3.,butIdon'twantustogettothekindsofcrazynumberswehadinthe2.xseries,soatsomepointwe'regoingtocutoverfrom3.xto4.x,justtokeepthenumberssmallandeasytoremember.We'renotthereyet,butIwouldactuallyprefertonotintothetwenties,soIcanseeithappeninginayearorso,andwe'llhave4.0follow3.19orsomethinglikethat.
根据Linus的发布4.0的预期以及现今每一个多月就更新一个版本的频度,大约在一年之内内核版本就可以弄成4.x。
内核版本分类
在Linux内核官网上你会看见主要有三种类型的内核版本,右图为我在2013.11.13在官网的截图:
mainline是主线版本,目前主线版本为3.12。stable是稳定版,由mainline在时机成熟时发布,稳定版也会在相应版本号的主线上提供bug修补和安全补丁,但内核社区人力有限,因而较老版本会停止维护,而标记为EOL(EndofLife)的版本表示不再支持的版本。longterm是常年支持版,目前还处在常年支持版的有五个版本的内核,分别为3.10、3.4、3.2、2.6.34、2.6.32,常年支持版的内核等到不再支持时,也会标记EOL。查看机器使用的内核版本号
我们安装了不同的Linux发行版,这么怎样去查看该发行版使用的内核版本号呢?我们可以使用命令uname-r来查看:
[root@archlab-server2 ~]# cat /etc/issue CentOS release 6.4 (Final) [root@archlab-server2 ~]# uname -r 2.6.32-358.6.1.el6.i686
我测试的机器使用的是CentOS6.4的发行版linux查看内核版本,显示的内核版本为2.6.32。
参考资料