linux 加载模块(linux安装软件包的命令)

大家好,linux 加载模块相信很多的网友都不是很明白,包括linux安装软件包的命令也是一样,不过没有关系,接下来就来为大家分享关于linux 加载模块和linux安装软件包的命令的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

Linux如何在系统启动时自动加载模块

为搞清楚如何在系统启动时自动加载模块,搜索了好久,网上有很多人提出这个问题,但都没有正确的答案。大家的回答都没有讲到点子上,无非是围绕modprobe.conf、modprobe讲来讲去的,要不就是针对特定问题尝试不同的方法。有的还建议把modprobe modulename写入rc.local,却不曾想rc.local的执行被放在整个启动顺序的很后面,而启动init.d下面定义的服务却在rc.local前面,那么如果某个服务要用这个模块,就不行了。在测试LVS时,因为我的Fedora7的Kernel(2.6.21-1)缺省没有加载ip_vs模块,而内核中已经包含编译好的IPVS相关的模块了,放在:/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/下面,有:/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_dh.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_ftp.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_lblc.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_lblcr.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_lc.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_nq.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_rr.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_sed.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_sh.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_wlc.ko/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/ip_vs_wrr.ko其中ip_vs.ko是IPVS的基本模块,不加载IPVS就不能工作(运行ipvsadm会报错的),而其他的都是IPVS的调度算法或特定协议的辅助模块,需要时则须加载。要了解如何在系统启动时自动加载模块(Automatically load kernel modules),就得先了解系统是如何启动的,启动的过程中按什么顺序做了什么,怎么做的,这些启动操作都有那些文件和脚本控制。整个开机流程是:(1)载入BIOS的硬件信息,并取得第一个开机装置的代号(2)读取第一个开机装置的MBR的boot Loader(grub)的开机信息(3)载入OS Kernel信息,解压Kernel,尝试驱动硬件(4) Kernel执行init程序并获得run-lebel信息(如3或5)(5) init执行/etc/rc.d/rc.sysinit(6)启动内核外挂模块(/etc/modprobe.conf)(7) init执行run-level的各种Scripts,启动服务(8) init执行/etc/rc.d/rc.local(9)执行/bin/login,等待用户Login(10)Login后进入Shell看来正确的方式是把需要加载的模块放在(5)或(6),我修改了/etc/rc.d/rc.sysinit就成功加载了。初步尝试在rc.sysinit最后增加 modprobe.conf ip_vs,重启后lsmod| grep ip_vs,发现成功自动加载了。于是仿效rc.sysinit中其他模块的加载方法,扩展改脚本文件,在最后增加下来一段:# load LVS IPVS modules if [-d/lib/modules/$unamer/kernel/net/ipv4/ipvs ]; then for module in/lib/modules/$unamer/kernel/net/ipv4/ipvs/*; do module=${module##*/} module=${module%.ko} modprobe$module>/dev/null 2>&1 done fi就把/lib/modules/2.6.21-1.3194.fc7/kernel/net/ipv4/ipvs/下的所有模块都自动加载。

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

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字符串的模块。

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

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字符串的模块。

阅读剩余
THE END