如何查看已安装的Linux内核? 命令行查看所有已安装Linux内核的技巧

大哥帮我说明下,如何查看已安装的Linux内核? 命令行查看所有已安装Linux内核的技巧
最新回答
魔怪小姐

2026-02-02 15:36:47

在Linux系统中,查看已安装内核的方法因发行版不同而有所差异。以下是针对主流发行版的命令行操作指南:

Red Hat系列(RHEL/CentOS/Fedora)
  • 方法1:使用rpm命令直接查询内核包

    rpm -qa kernel

    此命令会列出所有已安装的kernel包名称及版本号(如kernel-5.14.0-70.el9.x86_64)。

  • 方法2:结合grep过滤内核相关包

    rpm -qa | grep -i kernel

    除主内核包外,还会显示kernel-devel、kernel-headers等关联包。

Debian系列(Debian/Ubuntu/Linux Mint)
  • 核心命令:通过dpkg查询linux-image包

    dpkg --list | grep linux-image

    输出结果包含内核镜像包(如linux-image-5.15.0-76-generic),并显示安装状态(ii表示已安装)。

  • 补充说明:

    若需查看所有内核相关包(包括工具和头文件),可替换grep关键词:dpkg --list | grep linux-

    使用uname -r可查看当前运行的内核版本。

SUSE系列(SUSE/openSUSE)
  • 方法1:与Red Hat系列相同,使用rpm查询

    rpm -qa | grep -i kernel

    输出示例:kernel-default-5.14.21-150400.24.14.1.x86_64。

  • 方法2:通过zypper包管理器查询(可选)

    zypper search -i kernel

    需管理员权限,适合需要交互式操作的场景。

Arch Linux系列(Arch Linux/Manjaro)
  • 方法1:使用pacman直接查询linux包

    pacman -Q linux

    输出格式为linux 6.1.12-arch1-1,显示主内核版本。

  • 方法2:过滤所有含linux的包

    pacman -Q | grep linux

    会列出linux-headers、linux-lts等衍生包。

通用技巧与注意事项
  1. 权限要求:

    普通用户可执行查询命令,但部分操作(如删除内核)需sudo权限。

  2. 结果解读:

    包名中的版本号(如5.15.0-76)对应内核版本,后缀(如-generic、-default)表示发行版定制版本。

    当前运行内核可通过uname -r确认,若与已安装列表不一致,可能需要重启或调整GRUB配置。

  3. 清理旧内核(可选):

    Debian/Ubuntu:使用purge-old-kernels工具(需安装ubuntu-standard元包)。

    RHEL/CentOS:通过yum remove或dnf remove删除旧包。

    Arch Linux:手动卸载后运行pacman -Scc清理缓存。

  4. 多版本共存:

    系统通常保留多个内核版本以备故障恢复,但过多旧内核会占用磁盘空间。建议保留2-3个最新版本及当前运行版本。

示例输出解析
  • Red Hat系列:

    $ rpm -qa kernelkernel-5.14.0-70.el9.x86_64kernel-5.11.0-44.el9.x86_64

    表示系统安装了5.14.0和5.11.0两个主版本内核。

  • Debian系列:

    $ dpkg --list | grep linux-imageii linux-image-5.15.0-76-generic 5.15.0-76.86 amd64 Signed kernel image genericii linux-image-5.10.0-23-generic 5.10.0-23.27 amd64 Signed kernel image generic

    ii状态表示已安装,第一列为包名,第二列为版本号。

通过上述命令,可快速获取已安装内核的完整列表,为系统维护、升级或故障排查提供关键信息。