modprobe,lsmod,modinfo命令教程,带示例加载,列出Linux内核模块

是什么造就了操作系统Linux发行版?所有Linux发行版都使用相同的内核,名为Linux kernel。Linux内核提供操作系统服务、硬件管理、进程管理、内存管理等。

null

Linux内核是一个单一的内核,它意味着一个可执行文件。但是操作系统应该提供动态环境来满足用户的需求。Linux提供了加载一些驱动程序、特性等的机制,这称为内核模块。在本教程中,我们将使用 modprobe 命令。本教程中的大多数示例都需要root权限。

救命

$ modprobe -h
Help
救命

列出可用的内核模块

Linux内核附带了很多默认的内核模块。这些模块是根据发行版提供的需求和内核配置加载的。还可以选择在Linux外部添加新的内核模块。我们可以列出所有这些模块 lsmod 命令

$ lsmod
List Available Kernel Modules
列出可用的内核模块

或者其他方式

$ cat /proc/modules
List Available Kernel Modules
列出可用的内核模块

列出加载的模块

我们知道内核模块是加载或卸载的。我们只能使用previous命令列出已安装的内核模块。但在这个指挥部我们需要一些外部帮助。我们将使用 egrep 筛选已安装的内核模块。

$ lsmod | egrep -v  "s0"
List Loaded Modules
列出加载的模块

获取有关内核模块的信息

内核模块可以获得不同的参数以进行配置。也有不同类型的信息。以下是一些可以与 显示内核信息 命令。

  • filename 模块文件名和路径是什么
  • license 模块许可证类型,如GPL、GPL2、Apache、TM
  • description 关于内核模块的简短描述
  • depends 指定加载此模块需要哪些其他内核模块
  • intree 指定此内核模块是否在内核git存储库中维护
  • vermagic 指定内核模块的版本
  • parm 指定可用于配置此内核模块的参数。
$ modinfo qxl
Get Information About Kernel Module
获取有关内核模块的信息

加载或安装新的内核模块

通常Linux操作系统会自动加载相关的内核模块。在大多数情况下,不需要手动加载它们。但有时可能需要手动操作来加载内核模块。我们将安装名为 ipx 通过使用 insmod 在这个例子中。

$ modprobe ipx

移除或卸载加载的内核模块

我们可以移除内核模块。我们将使用 modprobe 再次命令 -r 选项,提供内核模块名称。在这个例子中,我们卸载 ipx 内核模块

$ sudo modprobe -r ipx

图片[6]-modprobe,lsmod,modinfo命令教程,带示例加载,列出Linux内核模块-yiteyi-C++库

相关文章: 如何更新和升级Linux内核?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享