怎么知道Linux内核版本
一、查看Linux内核版本命令
方法一:cat/proc/version
用法:[root@S-CentOS home]# cat /proc/version
方法二:uname-a
用法:[root@S-CentOS home]# uname-a
二、查看Linux系统版本的命令
方法一:lsb_release -a
用法:[root@S-CentOS ~]# lsb_release -a
注意:使用该命令即可列出所有版本信息,这个命令适用于所有的Linux发行版,包括RedHat、SUSE、Debian等发行版。
方法二:cat /etc/redhat-release
用法:[root@S-CentOS home]# cat /etc/redhat-release
注意:该方法只适合Redhat系的Linux
方法三:cat /etc/issue
用法:[root@S-CentOS home]# cat /etc/issue
注意:该命令也适用于所有的Linux发行版
查看linux内核版本发行版本常用命令
1.uname查看linux内核版本 最常用 的命令,适用于CentOS,Fedora,Debian,Ubuntu等各种linux发行版本。
这里我用的服务器是CentOS7版本
uname -a
列出系统所有信息
解释如下
也可以只查询某一项信息
a.显示主机类型:
uname -m
b.显示主机名
uname -n
c.显示操作系统发行编号:
uname -r
d.显示操作系统名称:
uname -s
e.显示系统版本与时间:
uname -v
2.使用linux配置文件查看
a.查看内核版本
cat /proc/version
相比较uname而言可以看到开发者组织和gcc版本号
b.查看发行版本
cat /etc/redhat-release
3.Linux dmesg命令用于显示开机信息
kernel会将开机信息存储在ring buffer中。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。
查看linux内核版本
dmesg | grep Linux
linux内核版本变少
Linux内核版本命名在不同时期有着不同的规范,在涉及到Linux版本问题时经常容易混淆,主线版本/稳定版/长期支持版本经常搞不清楚,本文主要记录下内核版本命名的规则以及如何查看Linux系统版本信息。
Linux内核(Linux kernel)简介
内核是操作系统的核心 ,其主要功能有:
响应中断,执行中断服务程序
管理多个进程,调度和分享处理器的时间
管理进程地址空间的内存管理
网络和进程间通信等系统服务程序
内核的活动范围:
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(PhysicalAddressExtension):物理地址扩展,为了弥补32位地址在PC服务器应用上的不足而推出,表示此32位系统可以支持超过4G的内存
x86_64:采用的是64位的CPU
SMP:对称多处理机,表示内核支持多核、多处理器
TueJul1517:46:11UTC2014:内核的编译时间(builddate)为2014/07/1517:46:11
有好东西,一定想着大家。我是爱分享的Linux技术狂。大家记得关注我,也不要忘记点赞、评论、收藏。
同时也可以点击 正在跳转 我们在这里一起学习、一起进步,或者点击 C/C++Linux服务器开发/后台架构师 免费订阅一下,多一点知识,多一份收获,更多一点工资。
更多关于内核的视频干货:
哔哩哔哩 ( ゜- ゜)つロ 乾杯~ Bilibili
内核版本分类
Linux内核版本的最新发布状态,参见Linux官网:
The Linux Kernel Archives
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/versionLinux 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 -aLinux 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 -r4.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_releaseLoaded 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-core2、cat /etc/redhat-release(适用于Redhat系的Linux)
[root@bogon ~]# cat /etc/redhat-releaseCentOS 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
本文转自链接:
版权声明:本文采用 CC BY-NC-SA 3.0 许可协议。
展开阅读全文

如何查询Linux内核版本
如何查询Linux内核版本
终端下输入
[xxxx@ ~]uname -r
3.5.0-34-generic
查看内核版本命令:
1) [root@q1test01 ~]# cat /proc/version
Linux version 2.6.9-22.EL *** p (bhpile@crowe.devel.redhat.) (g version 3.4.4 20050721 (Red Hat 3.4.4-2)) #1 SMP Mon Sep 19 18:00:54 EDT 2005
2) [root@q1test01 ~]# uname -a
Linux
q1test01 2.6.9-22.EL *** p #1 SMP Mon Sep 19 18:00:54 EDT 2005 x86_64
x86_64 x86_64 GNU/Linux3) [root@q1test01 ~]# uname -r2.6.9-22.EL *** p
如何查询Linux内核函数
如果要看这两个函数在标准库中的定义用ctags或cscope生成索引.h,cscope,可以跳转到函数定义,man malloc,声明见stdlib。
如果仍然找不到,可以用ctags,si或grep。
windows下用source insight也可,然后查找函数定义,用grep -r 搜索关键字,atoi和malloc在C的标准库中有定义。
1.安装ctags
在源代码目录下运行
ctags -R
这样,会递归生成当前目录下及其子目录的tags文件。
2.使用VIM根据tags文件查找函数或结构定义。
1.在源码目录下查找
vi -t tagname
2.如果要在任意位置使用,则需要把该tags文件添加到~/.vimrc文件中
set tags=/home/money/sda8/2.6232/tags
3.如果要在代码中实时跟踪,则光标移动到函数名上,使用CTRL+]键,按CTRL+t可以返回。
如果要跟踪系统函数,使用shift+K可以自动跳转道光标所在函数的手册。
如何分析LINUX内核2.6.29版本
uname -a 显示版本号,是这意思吗?
这个问题太大了,近似于说:请教下我怎么编写一个Linux内核。
分析内核唯一可以做的就是一行行看代码,Linux早期版本有完整的代码分析,如果是指定2.6.29的话,那估计有人做出来就可以出书收钱了……
如何根据linux内核判断linux版本
在Linux内核的顶层Makefile中,顶端就有,格式为
VERSION = 3
PATCHLEVEL = 0
SUBLEVEL = 8
EXTRAVERSION =
NAME = Sneaky Weasel
以上的版本号就是3.08
如何修改linux内核版本号
得重新编译内核,之前修改源代码的顶层目录下的Makefile文件,比如2.6.29.1内核的Makefile中:
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 29
EXTRAVERSION = .1
在Qt C/C++中怎样查询Linux内核版本号
查询Linux内核版本号可以调用uname函数,uname函数的函数原型是这样的:
int uname(struct utsname *name);
uname函数在调用时需要向它传递一个utsname结构体指针(或地址),uname函数会写入name参数指向的utsname结构体,Linux的内核版本号就保存在utsname结构体的release成员里面,代码就像下面这样:
struct utsname uts;
if(uname(uts) = 0) {
printf(\"The version is %s\\n\", uts.release);
}
注意,使用uname函数需要包含sys/utsname.h头文件:
#include sys/utsname.h
什么是linux的内核版本?
Linux内核版本:Linux的内核是Linux操作系统的核心组件,它会定期的更新.每次更新都有一个版本号,这个版本号就是Linux的内核把本,比如现在最新的是3.2.X了~
Linux的发行版本,不同组织发行的,他们的发行的Linux操作系统包括内核和外围的GNU的应用程序组成,一般来说是一个比较完整的操作系统,每个组织发行的版本是不太一样的(内核的修改、打包的应用软件、不同的包管理系统等等),这些不同的版本成为Linux发行版本。
常见发行版本:fedora,archlinux,ubuntu,Centos,RHEL,Debian等。
linux的内核版本是什么?
一般地,可以从Linux内核版本号来区分系统是否是Linux稳定版还是测试版。以版本2.4.0为例,2代表主版本号,4代表次版本号,0代表改动较小的末版本号。在版本号中,序号的第二位为偶数的版本表明这是一个可以使用的稳定版本,如2.2.5,而序号的第二位为奇数的版本一般有一些新的东西加入,是个不一定很稳定的测试版本,如2.3.1。这样稳定版本来源于上一个测试版升级版本号,而一个稳定版本发展到完全成熟后就不再发展。\\x0d\\x0aLinux内核的版本号命名是有一定规则的,版本号的格式通常为“主版本号.次版本号.修正号”。主版本号和次版本号标志着重要的功能变动,修正号表示较小的功能变更。以2.6.22版本为例,2代表主版本号,6代表次版本号,22代表修正号。其中次版本还有特定的意义:如果是偶数数字,就表示该内核是一个可以放心使用的稳定版;如果是奇数数字,则表示该内核加入了某些测试的新功能,是一个内部可能存在着BUG测试版。\\x0d\\x0a\\x0d\\x0a2.发行版本\\x0d\\x0a仅有内核而没有应用软件的操作系统是无法使用的,所以许多公司或社团将内核、源代码及相关的应用程序组织构成一个完整的操作系统,让一般的用户可以简便地安装和使用Linux,这就是所谓的发行版本(distribution),一般谈论的Linux系统便是针对这些发行版本的。目前估计各种发行版本有数十种,它们的发行版本号各不相同,使用的内核版本号也可能不一样,下面就为读者介绍目前比较著名的几个发行版本\\x0d\\x0aRed Hat Linux
Red Hat是最成功的Linux发行版本之一,它的特点是安装和使用简单。Red Hat可以让用户很快享受到Linux的强大功能而免去繁琐的安装与设置工作。Red Hat是全球最流行的Linux,Red Hat已经成为Linux的代名词,许多人一提到Linux就会毫不犹豫地想到Red Hat。它曾被权威计算机杂志InfoWorld评为最佳Linux。