Linux 查看 Kernel 版本(含查多个Kernel 场景)

本文介绍了如何在Linux系统中查看当前内核版本,包括使用`uname`、`/proc/version`、`hostnamectl`和`rpm`命令。此外,还提到了存在多个内核的情况,以及如何通过`grub2.cfg`配置文件来管理这些内核。

Linux Kernel

Kernel 是与计算机硬件接口的易替换软件的最低级别。它负责将所有以“用户模式”运行的应用程序连接到物理硬件,并允许称为服务器的进程使用进程间通信(IPC)彼此获取信息。
在这里插入图片描述

查看 Kernel 的几种方式

uname

[root@localhost ~]$ uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

或者:

[root@localhost ~]$ uname -srm
Linux 3.10.0-957.el7.x86_64 x86_64

/proc/version

/proc目录包含虚拟文件,其中包含有关系统内存,CPU内核,已安装文件系统等的信息。有关正在运行的内核的信息存储在/proc/version虚拟文件中。

[root@localhost ~]# cat /proc/version
Linux version 3.10.0-957.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018

hostnamectl

[root@localhost ~]# hostnamectl
   Static hostname: localhost.localdomain
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 10af50f814e8499ca958942bc8e28e12
           Boot ID: 3de2d0925cde4a15a64a5f334bf850be
    Virtualization: vmware
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-957.el7.x86_64
      Architecture: x86-64

rpm

[root@localhost ~]# rpm -qa|grep kernel
kernel-3.10.0-957.el7.x86_64
kernel-devel-3.10.0-957.el7.x86_64
kernel-headers-3.10.0-957.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
abrt-addon-kerneloops-2.1.11-52.el7.centos.x86_64
kernel-tools-3.10.0-957.el7.x86_64

多个Kernel

个别Linux 会安装多个版本的 Kernel,具体查看方式为:

[root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
1 : CentOS Linux (0-rescue-bdd2b751b8664f8c951d755b692172b2) 7 (Core)

Reference

https://www.kernel.org/
Linux内核是什么
Linux内核学习经验总结

<think> 我们正在回答用户的问题:“我想查看linux kernel版本 请问如何查看linux kernel版本” 根据引用内容,我们可以提供多种方法来查看Linux内核版本,包括查看多个内核版本的情况。 我们将按照引用内容,整理出几种常用方法,并确保回答清晰、步骤明确。 </think> ### 查看Linux内核版本的常用方法 #### 1. **使用 `uname` 命令**(推荐) ```bash # 查看完整内核版本(包架构和编译日期) uname -a # 示例输出:Linux hostname 5.15.0-86-generic #97-Ubuntu SMP Mon Oct 2 21:09:21 UTC 2023 x86_64 GNU/Linux # 仅查看内核版本号 uname -r # 示例输出:5.15.0-86-generic ``` > **说明**:这是最常用的方法,`-r` 参数直接显示版本号[^4][^1] #### 2. **查看 `/proc/version` 文件** ```bash cat /proc/version # 示例输出:Linux version 5.15.0-86-generic (buildd@lcy02-amd64-001) ``` > **特点**:包内核编译器和构建服务器的详细信息[^4] #### 3. **使用 `hostnamectl` 命令** ```bash hostnamectl | grep Kernel # 示例输出: Kernel: Linux 5.15.0-86-generic ``` > **优势**:同时显示操作系统名称、主机名等系统级信息[^5] #### 4. **通过 `dmesg` 日志获取** ```bash dmesg | grep "Linux version" # 示例输出:[ 0.000000] Linux version 5.15.0-86-generic... ``` > **适用场景**:系统启动时内核版本会记录在日志中[^1] #### 5. **查看已安装的多个内核版本** ```bash # 查看所有已安装内核(CentOS/RHEL) awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg # 查看所有已安装内核(Debian/Ubuntu) dpkg --list | grep linux-image ``` > **输出示例**: > ``` > 0 : CentOS Linux (5.15.0-86-generic) > 1 : CentOS Linux (5.14.0-80-generic) # 旧版内核 > ``` > 此方法可查看系统保留的多个内核版本[^2] #### 6. **通过包管理器询**(针对特定发行版) ```bash # RPM系(CentOS/RHEL) rpm -q kernel # DEB系(Debian/Ubuntu) dpkg -l | grep linux-image ``` > **最佳实践**: > 1. 日常使用首选 `uname -r` > 2. 排兼容性问题时用 `uname -a` 获取完整信息 > 3. 多内核系统升级前使用 `grub2.cfg` 方法确认可用内核[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值