linux操作系统中,加载和删除内核模块的命令是什么?

2025-02-12 07:55:44
推荐回答(3个)
回答1:

modprobe命令
Linux命令:modprobe 。
功能说明:自动处理可载入模块。
语  法:modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]。
补充说明:modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。

内容
1、modprobe 命令是根据depmod -a的输出/lib/modules/version/modules.dep来加载全部的所需要模块。
2、删除模块的命令是:modprobe -r filename。
3、系统启动后,正常工作的模块都在/proc/modules文件中列出。使用lsmod命令也可显示相同内容。
4、在内核中有一个“Automatic kernel module loading"功能被编译到了内核中。当用户尝试打开某类型的文件时,内核会根据需要尝试加载相应的模块。/etc/modules.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/modules/2.6.18-8.el5/kernel/drivers/md/raid0.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid456.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid1.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid10.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/aacraid/aacraid.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mbox.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mm.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_sas.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/raid_class.ko

以上命令表示显示系统中所有的编译模块,并过滤包含有raid字符串的模块。

回答2:

加载内模块:在系统 root 用户下运行用户态模块命令装载内核模块

测试源代码 gettim e.c

卸载内模块:在系统 root 用户下运行用户态模块命令卸载内核模块

Linux操作系统是基于UNIX操作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。

以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。

其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。

至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

回答3:

modprobe命令
Linux命令:modprobe 。
功能说明:自动处理可载入模块。
语  法:modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]。
补充说明:modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。

内容
1、modprobe 命令是根据depmod -a的输出/lib/modules/version/modules.dep来加载全部的所需要模块。
2、删除模块的命令是:modprobe -r filename。
3、系统启动后,正常工作的模块都在/proc/modules文件中列出。使用lsmod命令也可显示相同内容。
4、在内核中有一个“Automatic kernel module loading"功能被编译到了内核中。当用户尝试打开某类型的文件时,内核会根据需要尝试加载相应的模块。/etc/modules.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/modules/2.6.18-8.el5/kernel/drivers/md/raid0.ko  /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid456.ko  /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid1.ko  /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid10.ko  /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid.ko  /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/aacraid/aacraid.ko  /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mbox.ko  /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mm.ko  /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_sas.ko  /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/raid_class.ko

以上命令表示显示系统中所有的编译模块,并过滤包含有raid字符串的模块。