linux操作系统中,加载和删除内核模块的命令是什么。
发布网友
发布时间:2022-04-24 05:46
我来回答
共6个回答
懂视网
时间:2023-02-13 16:09
linux系统下insmod命令是什么呢?下面是insmod命令的具体介绍:
1、insmod命令简介:
insmod全称是install module,用于载入模块 install loadable kernel module。
2、语法:
insmod [-fkmpsvxX][-o <模块名称>][模块文件][符号名称 = 符号值]
3、参数:
-f 不检查目前kernel版本与模块编译时的kernel版本是否一致,强制将模块载入。
-k 将模块设置为自动卸除。
-m 输出模块的载入信息。
-o <模块名称> 指定模块的名称,可使用模块文件的文件名。
-p 测试模块是否能正确地载入kernel。
-s 将所有信息记录在系统记录文件中。
-v 执行时显示详细的信息。
-x 不要汇出模块的外部符号。
-X 汇出模块所有的外部符号,此为预设置。
4、使用说明:
Linux有许多功能是通过模块的方式,在需要时才载入kernel。如此可使kernel较为精简,进而提高效率,以及保有较大的弹性。这类可载入的模块,通常是设备驱动程序。
insmod命令主要用于在Linux 2.4内核之前加载Linux内核模块命令。对于通过此命令加载的Linux内核模块,系统不仅不会自动解决内核模块之间的依赖关系,而且还要求将模块路径写详细。所以在Linux 2.6内核出现时,此命令已渐渐被遗忘。
加载RAID1阵列级别模块,如下所示:
[root@rhel5 boot]# insmod /lib/modules/2.6.
18-8.el5/kernel/drivers/md/raid1.ko
[root@rhel5 boot]# lsmod |grep raid1
raid1 25153 0
从以上显示结果可知,RAID1模块已加载成功。只是在使用insmod命令加载模块时,需要使用绝对路径方能加载,且加载时无法自动解决依赖关系。
5、insmod 和modprobe的区别:
insmod 与 modprobe 都是载入 kernel module,不过一般差别于 modprobe 能够处理 module 载入的相依问题。
比方你要载入 a module,但是 a module 要求系统先载入 b module 时,直接用 insmod 挂入通常都会出现错误讯息,不过 modprobe 倒是能够知道先载入 b module 后才载入 a module,如此相依性就会满足。
不过 modprobe 并不是大神,不会厉害到知道 module 之间的相依性为何,该程式是读取 /lib/modules/2.6.xx/modules.dep 档案得知相依性的。而该档案是透过 depmod 程式所建立。
以上就是小编今天的分享了,希望可以帮助到大家。
热心网友
时间:2023-02-13 13:17
modprobe命令
Linux命令:modprobe 。
功能说明:自动处理可载入模块。
语 法:modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]。
补充说明:modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。
内容
1、modprobe 命令是根据depmod -a的输出/lib/moles/version/moles.dep来加载全部的所需要模块。
2、删除模块的命令是:modprobe -r filename。
3、系统启动后,正常工作的模块都在/proc/moles文件中列出。使用lsmod命令也可显示相同内容。
4、在内核中有一个“Automatic kernel mole loading"功能被编译到了内核中。当用户尝试打开某类型的文件时,内核会根据需要尝试加载相应的模块。/etc/moles.conf或 /etc/modprobe.conf文件是一个自动处理内核模块的控制文件。
modprobe命令主要用于在Linux 2.6内核中加载和删除Linux内核模块。通过此命令用户可以轻松地加载和删除Linux内核模块,同时使用此命令加载Linux内核模块时,Linux内核会自动解决内核模块之间的依赖关系,将相互依赖的模块自动加载,如下所示:
1) 加载RAID1阵列级别模块:
[root@rhel5 boot]# modprobe raid1
2) 显示已加载的RAID1阵列级别模块:
[root@rhel5 boot]# lsmod |grep raid1 raid1 25153 0
3) 删除RAID1阵列级别模块:
[root@rhel5 boot]# modprobe -r raid1
4) 显示RAID1阵列级别模块:
[root@rhel5 boot]# lsmod |grep raid1
modprobe命令在加载模块时会自动解决依赖的模块。当加载的模块需依赖另一个模块时,系统会自动将此模块加载。而当用户使用insmod命令加载模块时,则不会自动解决相对应的依赖模块。
modprobe命令中的"-r"参数表示删除指定模块,"-c"参数表示显示/etc/modprobe.conf配置文件的参数,"-C"参数表示指定内核配置文件,"-f"表示覆盖,"-l"表示显示模块的绝对路径。
[root@rhel5 boot]# modprobe -l|grep raid /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid0.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid456.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid1.ko /lib/moles/2.6.18-8.el5/kernel/drivers/md/raid10.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/aacraid/aacraid.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mbox.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mm.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_sas.ko /lib/moles/2.6.18-8.el5/kernel/drivers/scsi/raid_class.ko
以上命令表示显示系统中所有的编译模块,并过滤包含有raid字符串的模块。
热心网友
时间:2023-02-13 14:35
insmod :加载模块 insmod xxx.ko
rmmod:卸载模块 rmmod xxx.ko
热心网友
时间:2023-02-13 16:10
insmod :加载模块,该命令可以加入适当的参数;
rmmod:卸载模块;
热心网友
时间:2023-02-13 18:01
modprobe命令
热心网友
时间:2023-02-13 20:09
加载: insmod
删除: rmmod