在特定的Linux系统中,知晓内核(Kernel)的版本号是非常有价值的。不仅仅是其本身的优势,更在于通过内核发布版本包含一些或大或小的改变与更新,可以帮助使用者诊断和升级系统。

幸运的是,获取这些信息是十分简单的,而且至少有五种方法可以使用。进一步来说,每一种方法可以通过一点点改变来获得更多的系统信息。

面对Linux内核含有大量的校订与发行的特征甚至新版本处在开发状态中,需要有一个系统来清楚的识别与管理它们。内核是一个程序,它是计算机操作系统的最主要的核心,用来控制系统之所有运行程序。Linux内核原由Linus Torvalds基于UNIX和MINIX系统开发而来。

最初的Linux内核有个非常简单的版本系统。在1991年9月Torvalds发布后,命名为0.01。随后在下个月发布0.02版本的内核。当前的版本系统基于在1994年3月发布的内核1.0版本。

现在,Linux内核版本由一系列4个数组成,偶尔还会添加一系列字符。

第一位数为内核大版本。它很少变化,只有涉及到内核概念或内核代码发生重大改变时才会改变。

第二位数可分为内核两条线,其中第二位数为奇数时,例如7或9,表示该版本为开发版本(不适合生产环境)该版本主要由内核开发人员使用。如果有新代码的更新,会更新到这个分支上。当第二位数为偶数时,例如8或10表示该版本为稳定版本该版本由家庭或者企业进行使用,主要是提供一个稳定环境。

第三位数为释出版本。在前两位架构不变的情况下,新增的功能累积到一定的程度后所新释出的核心版本。 而由于Linux核心是使用GPL的授权,因此大家都能够进行核心程序代码的修改。因此,如果你有针对某个版本的核心修改过部分的程序代码, 那么那个被修改过的新的核心版本就可以加上所谓的修改版本了。

第四位数为修改版本。主要是标识一些安全性问题解决,或者bug的修复。

最简单的便是uname命令(用来获取系统的软硬件信息)加上-r参数。

该方法可以通过最少的输入来获得最准确的的内核信息。

可以通过rpm命令(红帽子包管理器)加上参数-q和关键字kernel查询。

该命令其优势是输出结果只涉及到内核信息,而且其劣势是它只适用Linux的发行版本(Major Linux Distributions)中使用rpm包管理系统,例如红帽子(Red Hat)。

可以通过dmesg命令的输出信息,即系统信息(自启动以后)。由于dmesg会产生大量输出结果可以通过管道(Pipe)方式,然后以grep命名来进行过滤只包含关键字Linux的结果。

该方法的劣势是需要额外的输出,而结果却包含大量非相关信息,需要进一步过滤。

可以查看开发者在文件夹中遗留下来的源码包。这个方法在不同系统下会有不同结果,有些系统中根本不包含源码文件。内核通常存在/boot文件夹中,通过ls -l命令查看。

这个命令输出一些版本参考,与当前已安装和正在运行内核相同,例如vmlinuz-3.10.0-693.el7.x86_64。vmlinuz是压缩后的Linux内核,其具有可引导性也就是说它可以将操作系统加载到内存中,从而使计算机变得可用,应用程序能够运行。