一份菜单

用于查看,安装和删除模块的Linux modprobe命令示例

modprobe实用程序用于将可加载模块添加到Linux内核。您也可以使用modprobe命令查看和删除模块。

Linux维护模块及其配置文件(/etc/modprobe.conf和/etc/modprobe.d除外)的/ lib / modules / $(uname-r)目录。

在Linux内核2.6中,使用.ko模块而不是.o文件,因为该文件包含内核用于加载模块的其他信息。本文中的示例是在Ubuntu上使用modprobe完成的。

1.列出可用的内核模块

modprobe -l将显示所有可用的模块,如下所示。

$ modprobe -l | less
kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko
kernel/arch/x86/kernel/cpu/cpufreq/e_powersaver.ko
kernel/arch/x86/kernel/cpu/cpufreq/p4-clockmod.ko
kernel/arch/x86/kernel/msr.ko
kernel/arch/x86/kernel/cpuid.ko
kernel/arch/x86/kernel/apm.ko
kernel/arch/x86/kernel/scx200.ko
kernel/arch/x86/kernel/microcode.ko
kernel/arch/x86/crypto/aes-i586.ko
kernel/arch/x86/crypto/twofish-i586.ko

2.列出当前加载的模块

尽管上面的modprobe命令显示了所有可用的模块,但是lsmod命令将显示Linux内核中当前加载的所有模块。

$ lsmod | less
soundcore          7264   1 snd
ppdev                6688   0
snd_page_alloc   9156    1 snd_pcm
psmouse            56180  0
lp                     8964    0

3.将新模块安装到Linux内核中

为了将新模块插入内核,请使用模块名称执行modprobe命令。

以下示例将vmhgfs模块加载到Ubuntu上的Linux内核。

$ sudo modprobe vmhgfs

加载模块后,使用lsmod命令对其进行验证,如下所示。

$ lsmod | grep vmhgfs
vmhgfs                 50772  0

模块文件的扩展名为.ko。如果您想知道特定Linux内核模块的完整文件位置,请使用modprobe命令并对模块名称进行grep,如下所示。

$ modprobe | grep vmhgfs
misc/vmhgfs.ko

$ cd /lib/modules/2.6.31-14-generic/misc

$ ls vmhgfs*
vmhgfs.ko

注意:您也可以使用insmod将新模块安装到Linux内核中。

4.加载具有不同名称的新模块以避免冲突

考虑一下,在某些情况下,您应该加载一个新模块,但是具有相同模块名称的另一个模块已经出于不同目的而加载。

如果出于某些奇怪的原因,您试图加载到内核中的模块名称被另一个模块使用(具有相同的名称),那么您可以使用另一个名称来加载新模块。

要使用其他名称加载模块,请使用modprobe选项-o,如下所示。

$ sudo modprobe vmhgfs -o vm_hgfs

$ lsmod  | grep vm_hgfs
vm_hgfs                   50772  0

5.卸下当前加载的模块

如果你’如果出于某种测试目的将模块加载到Linux内核,则可能要从内核中卸载(删除)模块。

使用modprobe -r选项从内核卸载模块,如下所示。

modprobe -r vmhgfs

如果你 enjoyed this article, you might also like..

  1. 50个Linux Sysadmin教程
  2. 50个最常用的Linux命令(包括示例)
  3. 排名前25位的最佳Linux性能监视和调试工具
  4. 妈妈,我找到了! 15个实用的Linux Find命令示例
  5. Linux 101 Hacks第二版电子书 Linux 101黑客手册

Bash 101 Hacks书 Sed和Awk 101黑客手册 Nagios Core 3书 Vim 101黑客手册

{ 7 评论… 加一 }

  • 马达拉桑 2010年11月9日,上午4:37

    再次感谢 !!!

  • 五边形 2013年5月21日,上午9:41

    我对您站点中不同命令上有用且精心编写的信息的数量感到惊讶。

  • 拉贾 2013年12月8日,上午1:19

    这真的很棒..我搜索任何Unix / Linux查询器..
    我总是以这个页面结尾。
    您可以对此进行正确分类,简单易懂…
    谢谢

  • 普拉巴 2014年12月2日,晚上10:48

    很好的解释ðŸ™,

  • 沙龙 2015年1月1日,上午11:23

    大家好感谢您的解释。
    但是当我写modprobe -l |少了,我得到一个空文件,

  • 格雷索 2015年4月13日,上午4:18

    嗨,大家好,
    modprobe -l没有’无法在Ubuntu 14.10上运行“l” option doesn’不存在。人们建议在/ lib / modules / $(uname-r)下使用find模块名。我只想使用modprobe -l这样的命令列出所有可用的模块,在Ubuntu 14.10上是否有其他可选命令可用?

  • gmk 2015年5月10日,上午6:39

    @沙龙:
    那’s,因为-l参数已被弃用/删除

发表评论