导航:首页 > 编程系统 > linuxmodprobe

linuxmodprobe

发布时间:2023-08-20 20:36:49

『壹』 linux:命令modprobe主要的作用是什么能不能说的通俗一点谢谢

这个要聊聊模块了

初期linux的驱动程序是必须编译在内核之中的(相应地驱动程序提供的是源程序以符合GNU规则,例如DFE530TX网卡的驱动就是ftp://www.scyld.com/pub/network/via-rhine.c),后来推广使用以后一则感觉不方便、二则普通用户也没有能力自己编译内核、三则当时内核不能太大,里面驱动程序太多超过1M的话会瘫掉,于是发明了模块(moles),就是事先将驱动程序编译成mole,使用时再将他们装载到系统里以避免重新编译内核。再经过发展以后,几乎内核里的大多数功能都能以模块形式存在,例如读写NTFS、支持PPP协议等等,所以模块功能已经不局限于驱动程序了。

modprobe功能就是,对系统里的模块进行增、减、安装、删除等等操作。

『贰』 如何使用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. 安装新模块到内核
要向内核插入一个新模块,使用modprobe加模块名就行了:

$ sudo modprobe vmhgfs
当模块被加载后,最好使用lsmod来验证一下

$ lsmod | grep vmhgfs
vmhgfs 50772 0
模块的名称使用.ko后缀,如果你想知道特定的模块文件到底存放在哪里,可以使用modprobe命令并将输出定向到grep命令即可:

$ modprobe | grep vmhgfs
misc/vmhgfs.ko

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

$ ls vmhgfs*
vmhgfs.ko
注:也可以使用 insmod 命令安装新模块到内核。
. 使用另一个名字加载模块来防止冲突
考虑下这个问题,有些情况下我们想要向内核加载一个新模块,但是新模块的名称与一个已加载模块相同,但是这两个模块的功能和作用并不相同。

由于一些很奇怪的原因,你想要加载到内核的模块和别的已加载模块重名,那么这时候你需要使用另一个名字来加载你的模块,可以使用 modprobe 命令的 -o 选项来达到这个目的:

$ sudo modprobe vmhgfs -o vm_hgfs

$ lsmod | grep vm_hgfs
vm_hgfs 50772 0
5. 卸载模块
如果你已经加载一些模块到内核中(比如测试用),你或许想要把它们从内核卸载(或删除)。使用 modprobe 的 -r 选项可以达到这个目的:

modprobe -r vmhgfs

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

modprobe命令x0dx0aLinux命令:modprobe 。x0dx0a功能说明:自动处理可载入模块。x0dx0a语法:modprobe [-acdlrtvV][--help][模块文件][符号名称 = 符号值]。x0dx0a补充说明:modprobe可载入指定的个别模块,或是载入一组相依的模块。modprobe会根据depmod所产生的相依关系,决定要载入哪些模块。若在载入过程中发生错误,在modprobe会卸载整组的模块。x0dx0ax0dx0a内容x0dx0a1、modprobe 命令是根据depmod -a的输出/lib/moles/version/moles.dep来加载全部的所需要模块。x0dx0a2、删除模块的命令是:modprobe -r filename。x0dx0a3、系统启动后,正常工作的模块都在/proc/moles文件中列出。使用lsmod命令也可显示相同内容。x0dx0a4、在内核中有一个“Automatic kernel mole loading"功能被编译到了内核中。当用户尝试打开某类型的文件时,内核会根据需要尝试加载相应的模块。/etc/moles.conf或 /etc/modprobe.conf文件是一个自动处理内核模块的控制文件。x0dx0amodprobe命令主要用于在Linux 2.6内核中加载和删除Linux内核模块。通过此命令用户可以轻松地加载和删除Linux内核模块,同时使用此命令加载Linux内核模块时,Linux内核会自动解决内核模块之间的依赖关系,将相互依赖的模块自动加载,如下所示:x0dx0a1) 加载RAID1阵列级别模块:x0dx0a[root@rhel5 boot]# modprobe raid1 x0dx0ax0dx0a2) 显示已加载的RAID1阵列级别模块:x0dx0a[root@rhel5 boot]# lsmod |grep raid1 raid1 25153 0 x0dx0ax0dx0a3) 删除RAID1阵列级别模块:x0dx0a[root@rhel5 boot]# modprobe -r raid1 x0dx0ax0dx0a4) 显示RAID1阵列级别模块:x0dx0a[root@rhel5 boot]# lsmod |grep raid1 x0dx0ax0dx0amodprobe命令在加载模块时会自动解决依赖的模块。当加载的模块需依赖另一个模块时,系统会自动将此模块加载。而当用户使用insmod命令加载模块时,则不会自动解决相对应的依赖模块。x0dx0amodprobe命令中的"-r"参数表示删除指定模块,"-c"参数表示显示/etc/modprobe.conf配置文件的参数,"-C"参数表示指定内核配置文件,"-f"表示覆盖,"-l"表示显示模块的绝对路径。x0dx0a[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 x0dx0ax0dx0a以上命令表示显示系统中所有的编译模块,并过滤包含有raid字符串的模块。

『肆』 Linux 里的 modprobe 到底是干嘛的说载入模块,不懂这模块指的都是什么

为保持
linux
内核的稳定与可持续发展,内核在发展过程中引进了可装载模块这一特性。内核可装载模块就是可在内核运行时加载到内核的一组代码。通常
,
我们会在两个版本不同的内核上装载同一模块失败,即使是在两个相邻的补丁级(patch
level)版本上。这是因为内核在引入可装载模块的同时,对模块采取了版本信息校验。这是一个与模块代码无关,却与内核相连的机制。该校验机制保证了内核装载的模块是用户认可的,且安全的。

『伍』 linux绑定bond的七种模式

目前网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6

常用的有三种:

mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

Linux网口绑定:

通过网口绑定(bond)技术,可以很容易实现网口冗余,负载均衡,从而达到高可用高可靠的目的。前提约定:

2个物理网口分别是:eth0,eth1

绑定后的虚拟口是:bond0

服务器IP是:10.10.10.1

第一步,配置设定文件:

[root@woo ~]# vi  /etc/sysconfig/network-scripts/ifcfg-bond0  

DEVICE=bond0  

BOOTPROTO=none  

ONBOOT=yes  

IPADDR=10.10.10.1  

NETMASK=255.255.255.0  

NETWORK=192.168.0.0 

[root@woo ~]# vi  /etc/sysconfig/network-scripts/ifcfg-eth0  

DEVICE=eth0  

BOOTPROTO=none  

MASTER=bond0  

SLAVE=yes 

[root@woo ~]# vi  /etc/sysconfig/network-scripts/ifcfg-eth1  饥行

DEVICE=eth1  

BOOTPROTO=none  

MASTER=bond0  

SLAVE=yes  

第二步,修改modprobe相关设定文件,并加载bonding模块:

1.在这里,我们直接创建一个加载bonding的袭肢毁专属设定文件/etc/modprobe.d/bonding.conf  

[root@woo ~]# vi /etc/modprobe.d/bonding.conf  

alias bond0 bonding  

options bonding mode=0 miimon=200 

2.加载模块(重启系统后就不用手动再加载了)  

[root@woo ~]# modprobe bonding 

3.确认模块是否加载成功:  

[root@woo ~]# lsmod | grep bonding  

bonding 100065 0  

第三步,重启一下网络,然后确认一下状拍备况:

[root@db01 ~]# service network restart  

Shutting down interface bond0:  [  OK  ]  

Shutting down loopback interface:  [  OK  ]  

Bringing up loopback interface:  [  OK  ]  

Bringing up interface bond0:  [  OK  ] 

[root@db01 ~]#  cat /proc/net/bonding/bond0  

Ethernet Channel Bonding Driver: v3.4.0-1 (October 7, 2008) 

Bonding Mode: fault-tolerance (active-backup)  

Primary Slave: None  

Currently Active Slave: eth0  

MII Status: up  

MII Polling Interval (ms): 100  

Up Delay (ms): 0  

Down Delay (ms): 0 

Slave Interface: eth0  

MII Status: up  

Speed: 1000 Mbps  

Duplex: full  

Link Failure Count: 0  

Permanent HW addr: 40:f2:e9:db:c9:c2 

Slave Interface: eth1  

MII Status: up  

Speed: 1000 Mbps  

Duplex: full  

Link Failure Count: 0  

Permanent HW addr: 40:f2:e9:db:c9:c3  

[root@db01 ~]#  ifconfig | grep HWaddr  

bond0     Link encap:Ethernet  HWaddr 40:F2:E9:DB:C9:C2    

eth0      Link encap:Ethernet  HWaddr 40:F2:E9:DB:C9:C2    

eth1      Link encap:Ethernet  HWaddr 40:F2:E9:DB:C9:C2    

从上面的确认信息中,我们可以看到3个重要信息:

1.现在的bonding模式是active-backup

2.现在Active状态的网口是eth0

3.bond0,eth1的物理地址和处于active状态下的eth0的物理地址相同,这样是为了避免上位交换机发生混乱。

任意拔掉一根网线,然后再访问你的服务器,看网络是否还是通的。

第四步,系统启动自动绑定、增加默认网关:

[root@woo ~]# vi /etc/rc.d/rc.local  

#追加  

ifenslave bond0 eth0 eth1  

route add default gw 10.10.10.1 

阅读全文

与linuxmodprobe相关的资料

热点内容
苹果ipad官方壁纸 浏览:154
华创网络信号怎么样 浏览:495
共享单车网站源码 浏览:281
a班练琴app下载不了怎么回事 浏览:349
数控中怎么编程 浏览:409
vm如何安装linux系统 浏览:423
歌手实绩数据在哪里看 浏览:691
代码002 浏览:714
jdk如何编译java文件 浏览:900
修改iptables配置文件 浏览:427
word自动保存指定文件夹 浏览:18
电脑画质不清晰win10 浏览:912
diskgen使用教程 浏览:970
常州数控车编程培训哪里有 浏览:44
如何升级晴明等级 浏览:347
开头是什么文件 浏览:645
linux16进制看elf文件 浏览:663
纸档文件怎么能变成excel档 浏览:481
迅雷下载总出现jsp 浏览:150
创建网页用什么编程语言 浏览:526

友情链接