linux內核是GNU/Linux操作系統的核心組件。它是一個免費、開源、龐大、模塊化、多任務的類Unix的操作系統內核。它最初是由Linus Torvalds在1991年為他的i386 PC創造的。實際上我們可以在系統中安裝多個內核。有沒有想過在您的Linux機器中安裝了多少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開始。
1. 查看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上安裝的內核
2. 列出Arch 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。
3. 在Debian, Ubuntu, Pop!_OS上查找安裝的內核
在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上的內核
4. 查看在Fedora, centos, RHEL, AlmaLinux中安裝的內核
在基于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上安裝的內核
5. 列出在openSUSE中安裝的所有Linux內核
因為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協議]