linux内核是GNU/Linux操作系统的核心组件。它是一个免费、开源、庞大、模块化、多任务的类Unix的操作系统内核。它最初是由Linus Torvalds在1991年为他的i386 PC创造的。实际上我们可以在系统中安装多个内核。有没有想过在您的Linux机器中安装了多少Linux内核? 没有? 好吧,这个简短的教程将教你如何在不同Linux发行版中查看所有安装的Linux内核以及它们的版本。
根据您使用的Linux发行版,有多种方法可以查看系统中安装的所有Linux内核信息。查看Linux中所有已安装内核的最简单、最快捷的方法是使用find命令。
默认情况下,所有安装的Linux内核及其相关文件都存储在/boot目录下。只需使用find命令查看该目录的内容即可查看已安装的内核列表:
$ find /boot/vmli*
我的Ubuntu 20.04 LTS输出示例:
/boot/vmlinuz
/boot/vmlinuz-5.4.0-64-generic
/boot/vmlinuz-5.4.0-65-generic
/boot/vmlinuz.old
使用find命令查看所有安装的Linux内核
从上面的输出中可以看到,在我的Ubuntu机器上安装了两个版本的Linux内核(5.4.0-64和5.4.0-65)。
接下来,我们将会学习一些特定于某个发行版的方法,以找出已安装的Linux内核的详细信息。首先,让我们从Alpine Linux开始。
我们可以使用以下apk命令查看所有已安装的内核及其版本:
$ apk info -vv | grep linux
输出示例
libblkid-2.32-r0 - Block device identification library from util-linux
linux-virt-4.14.167-r0 - Linux vanilla kernel
syslinux-6.04_pre1-r1 - Boot loader for the Linux operating system
查看Alpine Linux上安装的内核
要查看Arch Linux及其衍生发行版(如Manjaro Linux)上内核安装情况,使用pacman命令:
$ pacman -Q linux
输出示例
linux 5.9.14.arch1-1
你也可以结合pacman和grep命令来列出已经安装的内核的版本信息:
$ pacman -Q | grep linux
输出示例
archlinux-keyring 20201210-1
linux 5.9.14.arch1-1
linux-api-headers 5.8-1
util-linux 2.36.1-4
util-linux-libs 2.36.1-4
在Arch Linux上列出内核信息
如您所见,我的Arch Linux系统中只有一个Linux内核,它的版本是5.9.14。
在Debian和其他基于Debian的系统中,比如Ubuntu, Pop!_OS, Linux Mint,我们可以使用dpkg命令找到所有已安装内核的列表:
$ dpkg --list | grep linux-image
输出示例
ii linux-image-5.4.0-64-generic 5.4.0-64.72 amd64 Signed kernel image generic
ii linux-image-5.4.0-65-generic 5.4.0-65.73 amd64 Signed kernel image generic
ii linux-image-generic 5.4.0.65.68 amd64 Generic Linux kernel image
查找Debian、Ubuntu、Pop!_OS上的内核
在基于rpm的系统,如Fedora, CentOS, RHEL以及RHEL克隆版本,AlmaLinux中,我们可以使用rpm命令查看所有安装的内核,如下所示:
$ rpm -qa kernel
或者,
$ rpm -qa | grep -i kernel
Fedora 33上的输出示例:
kernel-core-5.8.15-301.fc33.x86_64
查看Fedora中安装的内核
AlmaLinux 8.3上的输出示例:
查看AlmaLinux上安装的内核
因为openSUSE也是一个基于rpm的系统,所以列出所有安装的Linux内核的命令与Fedora、RHEL发行版相同。
$ rpm -qa | grep -i kernel
要查看当前运行的内核,执行以下命令:
$ uname -r
5.4.0-65-generic
或者,
$ uname -mrs
Linux 5.4.0-65-generic x86_64
现在您已经知道如何查看Linux系统上已安装内核的列表。希望这对你有帮助
本文译自: List Or Check All Installed Linux Kernels From Commandline
作者: Sk
译者: OpenView
校对: 开源科学计算
原文及本文遵循: [CC BY-NC4.0协议]