linux 查询内核版本_linux内核版本号的构成

linux 查询内核版本_linux内核版本号的构成文章目录Linux内核(Linuxkernel)简介Linux内核版本号1、在CentOS下如:2、在Ubuntu下如:3、在ARMCortex-A7内核的嵌入式Linux开发板下内核版本分类查看Linux内核版本命令查看Linux系统版本的命令本文作者:Jasonhu本文链接:http://jasonhzy.github.io/2019/02/05/linux-kernel-version/Linux内核(Linuxkernel)简介 Linux内核版本命名在不同时期有着不同的规范

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本文作者: Jason hu
本文链接: http://jasonhzy.github.io/2019/02/05/linux-kernel-version/

Linux内核(Linux kernel)简介

 Linux内核版本命名在不同时期有着不同的规范,在涉及到Linux版本问题时经常容易混淆,主线版本/稳定版/长期支持版本经常搞不清楚,本文主要记录下内核版本命名的规则以及如何查看Linux系统版本信息。
Linux内核(Linux kernel)简介

内核是操作系统的核心 ,其主要功能有:

  • 响应中断,执行中断服务程序
  • 管理多个进程,调度和分享处理器的时间
  • 管理进程地址空间的内存管理
  • 网络和进程间通信等系统服务程序

内核的活动范围:

  • 运行于用户空间,执行用户进程
  • 运行于内核空间,处于进程上下文,代表某个特定进程的执行
  • 运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断

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 ubuntu 4.15.0-142-generic #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

说明如下:

  • 第一个组数字:4, 主版本号
  • 第二个组数字:15, 次版本号,当前为稳定版本
  • 第三个组数字:0, 修订版本号
  • 第四个组数字:142,当前内核版本(4.15.0)的第142次微调patch
  • generic:当前内核版本为通用版本,另有表示不同含义的server(针对服务器)、i386(针对老式英特尔处理器)
  • pae(Physical Address Extension):物理地址扩展,为了弥补32位地址在PC服务器应用上的不足而推出,表示此32位系统可以支持超过4G的内存
  • x86_64:采用的是64位的CPU
  • SMP:对称多处理机,表示内核支持多核、多处理器
  • Tue Apr 13 09:27:15 UTC 2021:内核的编译时间(build date)为 2021/04/13 09:27:15

3、在ARM Cortex-A7内核的嵌入式Linux开发板下

Linux buildroot 5.2.0-licheepi-zero #2 SMP Sun Mar 13 09:40:49 PDT 2022 armv7l GNU/Linux

内核版本分类

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
Ubuntu

# cat /proc/version
Linux version 4.15.0-142-generic (buildd@lgw01-amd64-039) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)) #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021

我的的开发板

# cat /proc/version
Linux version 5.2.0-licheepi-zero (liefyuan@ubuntu) (gcc version 4.9.4 (Linaro GCC 4.9-2017.01)) #2 SMP Sun Mar 13 09:40:49 PDT 2022

2、uname -a
Ubuntu

# uname -a
Linux ubuntu 4.15.0-142-generic #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

我的的开发板

# uname -a
Linux buildroot 5.2.0-licheepi-zero #2 SMP Sun Mar 13 09:40:49 PDT 2022 armv7l GNU/Linux

3、uname -r
Ubuntu

# uname -r
4.15.0-142-generic

我的的开发板

# uname -r
5.2.0-licheepi-zero

查看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)

# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core) 

3、cat /etc/issue(适用于所有的Linux发行版本)

$ cat /etc/issue
Ubuntu 16.04.5 LTS \n \l

参考资料:
1、Linux内核(维基百科)
2、Linux内核剖析

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/172320.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月23日 下午1:16
下一篇 2022年8月23日 下午1:16


相关推荐

  • 清除微信浏览器缓存

    清除微信浏览器缓存在做微信移动页面开发时 若需要清除缓存 对于 Android 和 iOS 平台的清除方法如下 iOSiOS 的微信浏览器中自带刷新按钮 点击微信右上角的菜单 刷新 即可刷新页面实现清除缓存 Android 不得不说 Android 平台比较坑 没有刷新按钮 关掉应用再开启也

    2026年3月26日
    2
  • seajs的使用

    seajs的使用在模块文件外部想要引入一个模块文件要使用 seajs use 方法该方法接收两个参数第一个参数是一个数组 数组中的每一项都是一个模块文件路径 当引入的只有一个文件的时候 可以省略数组 第二个参数是回调函数回调函数中的参数就是前面模块向外暴露的功能 一一对应的 根目录 seajs 引入的文件路径是以 seajs 所在的目录决定的 seajs 所在的目录就是根目录 通常我们要把 seajs 文件放在最外面与 index html 文件在同一级为了引入文件方便 seajs 遵循 cmd 规

    2026年3月18日
    3
  • java游戏的扩展名_java源程序文件的扩展名是什么?

    java游戏的扩展名_java源程序文件的扩展名是什么?目前护理已经发展为一门专业,源程是因为其具有以下特征序文常用组合体的组合方式有叠加和切割。()扩展铅垂线的投影特性包括()物体上互相平行的线段,源程其轴测投影互相()轴线为铅垂线的圆柱被两相交平面截切,序文其中一个面为水平面,另一个面为侧平面,其截交线的空间形状为()扩展空间点A到V面的距离等于()两个圆柱体相贯穿,源程共同外切于同一球体,相贯线为两条椭圆曲线。()H、序文W两投影投影连线垂直…

    2022年7月7日
    23
  • plc编程小技巧_plc编程入门培训

    plc编程小技巧_plc编程入门培训PLC是一种在工业中被广泛应用的自动控制元件。然而PLC应用与编程人才短缺已经成为制约我国自动控制领域发展的瓶颈。通过学习PLC可编程控制器程序设计使学员掌握可编程序控制器的工作原理和PLC控制系统硬件软件的设计方法,可编写复杂的PLC程序,为从事PLC控制系统的设计、调试和改造工作打下基础。可以独立承担相关项目的设计与开发。让您由一位电工升级为货真价实的工程师![1]随着现代工业设备自动化,越来越多的工厂设备将采用PLC人机界面等自动化器件来控制,因此设备自动化程度越来越高。对设备的维护人员的技术要求越

    2025年10月4日
    3
  • eclipse中文档注释快捷键_eclipse文档注释

    eclipse中文档注释快捷键_eclipse文档注释Eclipse中的两种注释方法:(1)多行注释(2)单行注释一、多行注释快捷键1:添加注释Ctrl+Shift+/:  添加/**/注释 示例:选中代码块后按下快捷键即可/*floatsize=0.0f;  floatpct=0.0f;  try{size=Float.parseFloat(resInf

    2022年8月15日
    8
  • 【万字长文】 Vue全家桶从入门到实战,超详细笔记整理 ( 一 ) (建议收藏)

    【万字长文】 Vue全家桶从入门到实战,超详细笔记整理 ( 一 ) (建议收藏)笔记根据B站编程不良人视频整理,视频链接:【编程不良人】VUE全家桶入门到实战,学VUE看这个就够了,已完结!基于企业最流行Vue实战技术,需要md格式笔记的可以私信我。目录1、Vue引言2、Vue入门2.1、下载Vuejs2.2、Vue第一个入门应用3、v-text和v-html3.1、v-text3.2、v-html3.3、v-text和v-html对比4、vue中事件绑定(v-on)4、vue中事件绑定(v-on)4.1、绑定事件基本语法4.2、Vue中事件的简化语法4.3、Vue事件函数.

    2025年7月8日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号