Linux内核版本介绍与查询
Linux内核版本命名在不同时期有着不同的规范,在涉及到Linux版本问题时经常容易混淆,主线版本/稳定版/长期支持版本经常搞不清楚,本文主要记录下内核版本命名的规则以及如何查看Linux系统版本信息。
Linux内核(Linux kernel)简介
内核是操作系统的核心 ,其主要功能有:
1.响应中断,执行中断服务程序 2.管理多个进程,调度和分享处理器的时间 3.管理进程地址空间的内存管理 4.网络和进程间通信等系统服务程序
内核的活动范围:
1.运行于用户空间,执行用户进程
2.运行于内核空间,处于进程上下文,代表某个特定进程的执行
3.运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断
Linux内核版本号
第一种方式:
Linux 的版本号分为两部分,即内核版本与发行版本。内核版本号由3个数字组成:A.B.C。各数字含义如下:
A:内核主版本号。这是很少发生变化,只有当发生重大变化的代码和内核发生才会发生。在历史上曾改变两次的内核:1994年的1.0及1996年的2.0。
B:内核次版本号。是指一些重大修改的内核。偶数表示稳定版本;奇数表示开发中版本。
C:内核修订版本号。是指轻微修订的内核。这个数字当有安全补丁,bug修复,新的功能或驱动程序,内核便会有变化。
第二种方式:
major.minor.patch-build.desc
major : 主版本号,有结构变化才变更
minor : 次版本号,新增功能时才发生变化,一般技术表示测试版,偶数表示生产版
patch : 补丁包数或次版本的修改次数
build : 编译(或构建)的次数,每次编译可能对少量程序做优化或修改,但一般没有大的(可控的)功能变化。
desc : 当前版本的特殊信息,其信息由编译时指定,具有较大的随意性,有如下的标识是常用的:
rc(或r),表示发行候选版本(release candidate),rc后的数字表示该正式版本的第几个候选版本,多数情况下,各候选版本之间数字越大越接近正式版。
smp,表示对称多处理器(Symmetric MultiProcessing)。
pp,在Red Hat Linux中常用来表示测试版本(pre-patch)。
EL,在Red Hat Linux中用来表示企业版Linux(Enterprise Linux)。
mm,表示专门用来测试新的技术或新功能的版本。
fc,在Red Hat Linux中表示Fedora Core。
例如:
用命令uname -a查看内核版本号
1、在CentOS下如:
Linux localhost 2.6.32-642.15.1.el6.x86_64 #1 SMP Fri Feb 24 14:31:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
说明如下:
第一个组数字:2, 主版本号
第二个组数字:6, 次版本号,当前为稳定版本
第三个组数字:32, 修订版本号
第四个组数字:642.15.1,表示发型版本的补丁版本
el6:则表示我正在使用的内核是 RedHat / CentOS 系列发行版专用内核
x86_64:采用的是64位的CPU
2、在Ubuntu下如:
Linux localhost 3.2.0-67-generic #101-Ubuntu SMP Tue Jul 15 17:46:11 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
#有的是3.2.0-67-generic-pae
说明如下:
第一个组数字:3, 主版本号
第二个组数字:2, 次版本号,当前为稳定版本
第三个组数字:0, 修订版本号
第四个组数字:67,当前内核版本(3.2.0)的第67次微调patch
generic:当前内核版本为通用版本,另有表示不同含义的server(针对服务器)、i386(针对老式英特尔处理器)
pae(Physical Address Extension):物理地址扩展,为了弥补32位地址在PC服务器应用上的不足而推出,表示此32位系统可以支持超过4G的内存
x86_64:采用的是64位的CPU
SMP:对称多处理机,表示内核支持多核、多处理器
Tue Jul 15 17:46:11 UTC 2014:内核的编译时间(build date)为 2014/07/15 17:46:11
内核版本分类
Linux内核版本的最新发布状态,参见Linux官网:https://kernel.org/

1、mainline
主线版本
2、stable
稳定版,由mainline在时机成熟时发布,稳定版也会在相应版本号的主线上提供bug修复和安全补丁,但内核社区人力有限,因此较老版本会停止维护,而标记为EOL(End of Life)的版本表示不再支持的版本。
3、longterm(Long Term Support)
长期支持版,长期支持版的内核不再支持时会标记EOL。
4、linux-next,snapshot
代码提交周期结束之前生成的快照 用于给Linux代码贡献者们做测试
查看Linux内核版本命令
1、cat /proc/version
[root@bogon ~]# cat /proc/version
Linux version 4.4.131-1.el7.elrepo.x86_64 (mockbuild@Build64R7) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-28) (GCC) ) #1 SMP Wed May 2 13:09:02 EDT 2018
2、uname -a
[root@bogon ~]# uname -a
Linux bogon 4.4.131-1.el7.elrepo.x86_64 #1 SMP Wed May 2 13:09:02 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@bogon ~]# uname -r
4.4.131-1.el7.elrepo.x86_64
查看Linux系统版本的命令
1、lsb_release -a(适用于所有的Linux发行版本)
LSB是Linux Standard Base的缩写,lsb_release命令用来显示LSB和特定版本的相关信息。如果使用该命令时不带参数,则默认加上-v参数。
说明:
-v 显示版本信息。
-i 显示发行版的id。
-d 显示该发行版的描述信息。
-r 显示当前系统是发行版的具体版本号。
-c 发行版代号。
-a 显示上面的所有信息。
-h 显示帮助信息。
-s 输出简短的描述信息(仅限于redhat和fedora系统) 。
有些系统中默认并没有安装lsb_release,需要进行安装,以CentOS为例:
首先查找lsb_release安装包:
[root@bogon ~]# yum provides lsb_release
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.cn99.com
* elrepo: mirrors.tuna.tsinghua.edu.cn
* extras: centos.ustc.edu.cn
* updates: mirrors.cn99.com
redhat-lsb-core-4.1-27.el7.centos.1.x86_64 : LSB Core module support
Repo : base
Matched from:
Filename : /usr/bin/lsb_release
安装:
[root@bogon ~]# yum install -y redhat-lsb-core
2、cat /etc/redhat-release(适用于Redhat系的Linux)
[root@bogon ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
3、cat /etc/issue(适用于所有的Linux发行版本)
root@localhost:~# cat /etc/issue
Ubuntu 14.04.5 LTS \n \l
- 本文作者: Jason hu
- 本文链接: http://jasonhzy.github.io/2019/02/05/linux-kernel-version/
Linux内核版本介绍与查询的更多相关文章
- 查看Linux内核版本
您可能因多种原因需要确切知道GNU / Linux操作系统上运行的内核版本. 也许您正在调试与硬件相关的问题,或者了解影响旧内核版本的新安全漏洞,并且您想知道您的内核是否易受攻击. 无论是什么原因,从 ...
- Linux 内核版本命名
Linux 内核版本命名在不同的时期有其不同的规范,我们熟悉的也许是 2.x 版本奇数表示开发版.偶数表示稳定版,但到 2.6.x 以及 3.x 甚至将来的 4.x ,内核版本命名都不遵守这样的约定. ...
- 【2016-08-21】Linux内核版本编号规则简介
我们已经了解可以使用下面的几天命令来查看Linux内核版本及Ubuntu发行版本的信息: uname -r uname -a cat /proc/version lsb-release -a 等等 可 ...
- 查看Linux内核版本命令
一.查看Linux内核版本命令(两种方法): .cat /proc/version .uname -a 二.查看Linux系统版本的命令(3种方法): .lsb_release -a即可列出所有版本信 ...
- 1.3查看Linux内核版本
1.目前Linux内核主要维护的三个版本:Linux2.4.Linux2.6和Linux3.x,Android使用的是Linux2.6:Linux3.x是最新推出的Linux内核版本: 2.查看Lin ...
- 查看LINUX发行商版本与LINUX内核版本
查看LINUX发行商版本:[root@server-mysql ~]# cat /etc/issue Red Hat Enterprise Linux Server release 6.3 (Sant ...
- Linux内核策略介绍
Linux内核策略介绍学习笔记 主要内容 硬件 策略 CPU 进程调度.系统调用.中断 内存 内存管理 外存 文件IO 网络 协议栈 其他 时间管理 进程调度 内核的运行时间 系统启动.中断发 ...
- 快速升级openwrt的linux内核版本
一.分析 要升级openwrt的linux内核版本,关键是要制作内核配置文件 二.内核配置文件制作方法 2.1当前openwrt对应的某个开发板有对应的内核配置文件,比如此时的openwrt的linu ...
- Linux内核版本
在Linux中找到/usr/src/kernels/目录,该目录下面有一个系统内核文件 例如:2.6.32-431.11.2.el6.x86_64 Linux内核版本规则 Linux内核版本有三组数字 ...
随机推荐
- 用webpack构建一个常规项目,好处和坏处分析
最近项目改版,用webpack重新架构. 些许心得我会写几篇记录一下. 好处如下: 1.ES6语法用起来,babel-loader转义,各种新语法用起来. 2.import 语法写起来,webpack ...
- 阿里《JAVA实习生入职测试题—2019最新》之答案详解(连载一)
力争清晰完整准确(逐步完善,持续更新) 1.String类为什么是final的 首先分析String的源码: public final class String implements java.io. ...
- Could not delete D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/platform/WEB-INF/lib
再把之前的maven工程删掉时,出现了如下错误: Could not delete D:/workspace/.metadata/.plugins/org.eclipse.wst.server.cor ...
- JSP学习笔记(5)——Servlet、监听器、过滤器、MVC模式介绍
MVC模式 在讲解Servlet前,先介绍一下MVC模式. M:model 模型,相当于数据层,用于存放数据,如一个Java中的一个bean类 V:view 视图,相当于页面层,用于显示数据,如一个网 ...
- 固定定位下的div水平居中
发现了一个之前未留意的知识点,做个笔记. 当一个块级元素的父元素开启了flex布局后,我们可以很轻松的将这个元素居中对齐,可以在父元素上加 justify-content: center; align ...
- springboot 多模块项目创建
1.File>new>project 直接点击next 2.输入groupId .artifactId 3.选择项目保存路劲 finish 4.成功创建多模块项目的根模块 5.创建子 ...
- .netCore+Vue 搭建的简捷开发框架 (3)-- Services层实现
继续交作业: 上一篇作业中我们实现了 Repository仓储层的应用.并为我们的框架引入了EFCore 详见: .netCore+Vue 搭建的简捷开发框架 (2)--仓储层实现和EFCore 的使 ...
- 学习方法分享:为何一年半就能拿到大厂 offer
毕竟是聊聊曾经,放一张大学课堂上灵光一现,手写的一个我曾经一直使用的网名 前言 原文地址:Nealyang/personalBlog 讲真,的确是运气,才有机会进大厂.也没想到,那篇一年半工作经验试水 ...
- 简单粗暴的关键两部实现连接远程云服务器数据库SqlServer 2012
要连上远程服务器的数据库,前面的那些数据库配置就不说了,网上都一样. 下面讲讲关键的两点,也是我尝试普通的方法无效后通过下面的方法成功连上的. 1.点开云服务器的安全组,看看里面的端口是否都放行了.我 ...
- 转:查看oracle数据库允许的最大连接数和当前连接数
在查看数据的连接情况很有用,写完程序一边测试代码一边查看数据库连接的释放情况有助于分析优化出一个健壮的系统程序来. 1.查看当前的数据库连接数 select count(*) from v$proce ...