内核模块的查看
使用 lsmod 命令可以查看系统中到底安装了哪些内核模块。命令如下:
[root@a kernel]# lsmod | grep vfat
vfat 17461 0
fat 65950 1 vfat
我们还可以使用 modinfo 命令来查看这些模块的说明,命令格式如下:
[root@localhost ~]# modinfo 模块名 例如:
[root@a kernel]# modinfo vfat
filename: /lib/modules/3.10.0-693.el7.x86_64/kernel/fs/fat/vfat.ko.xz
author: Gordon Chaffee
description: VFAT filesystem support
license: GPL
alias: fs-vfat
rhelversion: 7.4
srcversion: A3254796A3CD9815ABDDC94
depends: fat
intree: Y
vermagic: 3.10.0-693.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: DA:18:7D:CA:7D:BE:53:AB:05:BD:13:BD:0C:4E:21:F4:22:B6:A4:9C
sig_hashalgo: sha256
内核模块的添加与删除
其实,如果模块已经下载到本机了,那么安装模块的方法非常简单。首先需要把模块复制到指定位置,一般复制到 /lib/modules/2.6.32-279.el6.i686/kemel/ 目录中,模块的扩展名一般是 *.ko;然后需要执行 depmod 命令扫描这些新模块,并写入 modules.dep 文件;最后就可以利用 modprobe 命令安装这些模块了。命令格式如下:
[root@localhost ~]# modprobe [选项] 模块名
选项:
- -I:列出所有模块的文件名,依赖 modules.dep 文件;
- -f:强制加载模块;
- -r:删除模块;
举个例子,我们需要安装 vfat 模块(fat32 文件系统的模块),那么需要执行如下命令即可
[root@a kernel]# lsmod | grep vfat
[root@a kernel]# modprobe vfat
[root@a kernel]# lsmod | grep vfat
vfat 17461 0
fat 65950 1 vfat
[root@a kernel]# modprobe -r vfat
[root@a kernel]# lsmod | grep vfat
[root@a kernel]#
定义模块的文件路径,与系统启动流程有关
[root@a systemd]# cd /usr/lib/systemd
[root@a systemd]# ls | grep rhel-loadmodules
rhel-loadmodules
[root@a systemd]# cat rhel-loadmodules
#!/bin/bash
# Load other user-defined modules
for file in /etc/sysconfig/modules/*.modules ; do
[ -x $file ] && $file
done
# Load modules (for backward compatibility with VARs)
if [ -f /etc/rc.modules ]; then
/etc/rc.modules
fi
[root@a systemd]#
添加模块,并设为开机自启动
[root@a systemd]# which modprobe
/usr/sbin/modprobe
[root@a systemd]# vim /etc/rc.modules
/usr/sbin/modprobe vfat
或者是
[root@a systemd]# vim /etc/sysconfig/modules/vfat.modules
/usr/sbin/modprobe vfat
[root@a systemd]# ll /etc/rc.modules
-rw-r--r-- 1 root root 25 Aug 14 22:40 /etc/rc.modules
[root@a systemd]# chmod a+x /etc/rc.modules
[root@a systemd]# ll /etc/rc.modules
-rwxr-xr-x 1 root root 25 Aug 14 22:40 /etc/rc.modules
[root@a systemd]#
[root@a systemd]# reboot
Connection closed by foreign host.
Disconnected from remote host(192.168.0.160) at 22:44:07.
Connecting to 192.168.0.160:22...
Connection established.
WARNING! The remote SSH server rejected X11 forwarding request.
Last login: Wed Aug 14 20:26:38 2019 from 192.168.0.104
[root@a ~]# lsmod | grep vfat
vfat 17461 0
fat 65950 1 vfat
查看内核中所有模块以及别名的命令是modprobe -c
[root@a ~]# modprobe -c | grep vfat
alias fs_vfat vfat