Linux内核模块管理:lsmod、insmod、rmmod、modeinfo、modprobe、depmod

一、基本介绍

1、这些命令安装在“kmod”包中,系统通常已经安装了,如果没有安装请安装:

[ ]# rpm -ql kmod|grep sbin
/usr/sbin/depmod
/usr/sbin/insmod
/usr/sbin/lsmod
/usr/sbin/modinfo
/usr/sbin/modprobe
/usr/sbin/rmmod
/usr/sbin/weak-modules

2、CentOS中所有的内核模块都存放在"/lib/modules/$(uname -r)/kernel/“下面:

[ ~]# cd /lib/modules/$(uname -r)/kernel/
[ kernel]# ls
arch  crypto  drivers  fs  kernel  lib  mm  net  sound

二、命令介绍

1、lsmod:查看内核已加载的模块

[ kernel]# lsmod|head -4
Module                  Size  Used by
ip6table_filter        12815  0 
ip6_tables             27025  1 ip6table_filter
iptable_filter         12810  0

2、modinfo:查看模块的基本信息

[ kernel]# modinfo /lib/modules/3.10.0-123.el7.x86_64/kernel/fs/ext4/ext4.ko
filename:       /lib/modules/3.10.0-123.el7.x86_64/kernel/fs/ext4/ext4.ko
license:        GPL
description:    Fourth Extended Filesystem
author:         Remy Card, Stephen Tweedie, Andrew Morton, Andreas Dilger, Theodore Ts‘o and others
alias:          fs-ext4
alias:          ext3
alias:          fs-ext3
alias:          ext2
alias:          fs-ext2
srcversion:     7854620F0551D7F88A126F0
depends:        mbcache,jbd2
intree:         Y
vermagic:       3.10.0-123.el7.x86_64 SMP mod_unload modversions 
signer:         CentOS Linux kernel signing key
sig_key:        BC:83:D0:FE:70:C6:2F:AB:1C:58:B4:EB:AA:95:E3:93:61:28:FC:F4
sig_hashalgo:   sha256

3、insmod:将指定模块加载到内核,建议使用modeprobe命令

4、rmmod:将已加载模块从内核中移除,建议使用modeprobe命令

5、modprobe:加载或卸载内核模块,根据modules.dep.bin文件进行加载操作,可以自动解决模块间的依赖关系表

[ kernel]# lsmod|grep ext4     
[ kernel]# modprobe ext4              #加载模块
[ kernel]# lsmod|grep ext4
ext4                  528957  0 
mbcache                14958  1 ext4
jbd2                   98341  1 ext4
[ kernel]# modprobe -r ext4           #卸载模块
[ kernel]# lsmod|grep ext4

6、depmod:查找/lib/moduels/(uname -r)/中的所有模块并建立modules.dep.bin文件,该文件记录了模块位置及依赖关系

[ kernel]# cd /lib/modules/$(uname -r)/
[ 3.10.0-123.el7.x86_64]# ls|grep dep  
modules.dep
modules.dep.bin
modules.softdep
[ 3.10.0-123.el7.x86_64]# rm -rf modules.dep.bin 
[ 3.10.0-123.el7.x86_64]# modprobe ext4
modprobe: FATAL: Module ext4 not found.
[ 3.10.0-123.el7.x86_64]# depmod -a         #生成文件
[ 3.10.0-123.el7.x86_64]# modprobe ext4
[ 3.10.0-123.el7.x86_64]# lsmod|grep ext4
ext4                  528957  0 
mbcache                14958  1 ext4
jbd2                   98341  1 ext4
[ 3.10.0-123.el7.x86_64]# ls|grep dep            
modules.dep
modules.dep.bin
modules.softdep

相关推荐