查看Linux内核模块信息查看Linux内核模块信息查看Linux内核模块信息查看Linux内核模块信息
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

查看Linux内核模块信息

每次启动 Linux 系统时,系统都会加载许多内核模块,并用于为文件系统、新硬件和许多其他事物提供额外的支持。获取有关特定内核模块的信息可能是一项重要的故障排除技能。在本教程中,我们将解释如何使用 modinfo 命令及其各种选项来获取模块信息,例如描述、依赖项、作者或相关目标文件名。

在本教程中您将学习:

  • 如何检查当前加载的Linux内核

  • 如何查看当前加载了哪些内核模块

  • 如何查看有关任何已加载内核模块的详细信息

如何使用modinfo命令检查内核模块信息

默认情况下,任何可加载的内核模块都安装在 /lib/modules 目录中。对于每个特定的内核,都会创建一个单独的目录来包含与该特定内核一起使用的模块:


$ ls /lib/modules/
5.15.0-25-generic  5.15.0-30-generic

从我们的测试系统的输出中,我们可以看到这个特定的系统安装了两个内核。 Linux 系统通常会在系统上保留一两个额外的内核,以防出现错误并且需要回退到旧版本。但请记住,在任何给定时间只能运行一个内核。

我们可以使用uname命令查看当前正在使用哪个内核。


$ uname -a
Linux linuxconfig 5.15.0-30-generic #31-Ubuntu SMP Thu May 5 10:00:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

上面的 uname 命令输出显示 5.15.0-30-generic 是当前系统正在运行的内核,因此模块是从 /lib/modules/5.15.0 加载的-30-generic/ 目录正在使用中。要列出所有当前加载的内核模块,我们可以使用 lsmod 命令:


$ lsmod

使用 modinfo 查看已加载模块的信息

现在我们将使用 modinfo 命令来检查有关当前加载的内核模块的信息。查看下面的一些示例并注意各个命令选项的作用。

  1. 首先,让我们使用 -d 选项获取特定模块的一般描述:

    
    $ modinfo -d psmouse
    PS/2 mouse driver
    
  2. 接下来,让我们使用 -n 选项找出该特定模块的实际目标文件位置:

    
    $ modinfo -n psmouse
    /lib/modules/5.15.0-30-generic/kernel/drivers/input/mouse/psmouse.ko
    
  3. 要查看任何给定已安装 Linux 内核的目标文件位置,请使用 -k 开关并指定内核名称。

    
    $ modinfo -k 5.15.0-30-generic -n psmouse
    /lib/modules/5.15.0-30-generic/kernel/drivers/input/mouse/psmouse.ko
    
  4. 使用 -a 选项收集有关模块作者的信息。

    
    $ modinfo -a psmouse
    Vojtech Pavlik
    
  5. 最后,要查找模块的依赖信息,我们可以使用 -F 开关:

    
    $ modinfo -F depends ppdev
    parport
    

    请注意,如果输出中未返回任何内容,则该模块不具有任何依赖项。

结束语

在本教程中,我们了解了如何在 Linux 系统上检查有关内核模块的信息。由于模块扩展了 Linux 系统的功能,并为硬件和软件提供了额外的支持,因此系统管理员了解排除模块故障的基础知识非常重要。现在您已经知道如何检查有关已加载内核模块的信息,请查看我们有关用于模块管理的基本 Linux 内核命令的其他教程,以了解如何在 Linux 上加载和卸载内核模块。

©2015-2025 艾丽卡 support@alaica.com