Linux modprobe命令加载与卸载内核模块
source link: https://www.myfreax.com/modprobe-command-in-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Linux modprobe命令加载与卸载内核模块
模块要么编译为可加载模块,要么内置在内核中。可加载模块可以根据需要在正在运行的内核中进行加载和卸载
Linux modprobe命令加载与卸载内核模块
每个Linux发行版,例如Ubuntu,CentOS,RedHat,操作系统的核心组件是Linux内核。它管理系统的资源,并充当计算机硬件和软件之间的桥梁。
Linux内核具有模块化设计。内核模块通常称为驱动程序,是一段扩展内核功能的代码。
模块要么编译为可加载模块,要么内置在内核中。可加载模块可以根据需要在正在运行的内核中进行加载和卸载,且不需要重新启动系统。
通常,内核模块是由udev按需加载的,udev通常称为设备管理器。但是,有时您可能需要微调模块的加载方式。
例如,您可能需要使用其他参数加载模块,或者禁止加载指定模块。
您可以使用modprobe
命令将模块手动加载到内核中,也可以在启动时自动将模块加载模块到内核。
通过在/etc/modules
或/etc/modules-load.d/*.conf
配置文件中指定加载的内核模块。
在本教程中,我们将说明如何使用modprobe
命令从Linux内核中添加和删除模块。 modprobe
是kmod
的一部分,该二进制文件实现了用于管理Linux内核模块的多个程序。
载入内核模块
内核模块存储在/lib/modules/<kernel_version>
目录。你可以运行uname -r
命令找到当前正在运行的内核版本号。
只有root或者具有sudo权限的用户才能在内核载入或者删除模块。要加载模块,请运行modprobe
命令,后跟模块名称。
modprobe
命令将加载指定的模块和该模块依赖的其它模块。你只需要指定要加载模块即可,依赖的模块将会自动加载到内核。
如果你需要使用其他参数加载内核模块,请使用parameter=value
语法运行modprobe命令。modprobe命令接受多个以空格分隔parameter=value
格式的选项。
modprobe module_name
modprobe module_name parameter=value
要确认内核模块是否加载成功,可以运行lsmod命令列出已加载的模块,然后通过管道传递给grep命令过滤即可。
lsmod | grep module_name
自动加载内核模块
通常,您需要在系统启动期间加载模块。您可以在/etc/modules-load.d
目录中创建配置文件指定模块名称及其参数来实现自动加载模块。
配置文件必须以.conf
结尾,你可以给为配置文件使用任何名称,通常建议使用模块的名称作为文件名。
这些文件中指定的设置由udev
读取,当在系统启动时使用modprobe
加载模块。
option module_name parameter=value
/etc/modules-load.d/module_name.conf卸载内核模块
要卸载指定内核模块,请使用modprobe
命令的-r
选项,后跟模块名称。modprobe
还将删除未使用的依赖模块。
使用-r
选项时,modprobe
命令允许接受多个模块作为参数。你也可以使用rmmod
命令从Linux内核中卸载模块。
modprobe -r module_name
modprobe -r module_name1 module_name2
使用modprobe
命令卸载的模块将保持卸载状态。直到系统重新启动,内核将会再次加载已经被卸载的模块。
要在启动时永久禁止加载已卸载的模块,请在/etc/modprobe.d
目录中创建文件blacklist.conf。文件的名称可以任何你喜欢的名称。
如果要将更多的模块加入此文件中,请以同样的格式在新的一行指定模块名称。
在本教程我们使用vim创建文件/etc/modprobe.d/blacklist.conf。完成后保存文件并退出vim。
sudo vim /etc/modprobe.d/blacklist.conf
blacklist module_name
/etc/modprobe.d/blacklist.confmodprobe
命令允许您添加和删除Linux内核模块。
如有任何疑问,请随时发表评论。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK