zoukankan      html  css  js  c++  java
  • linux内核模块

    内核模块的查看

    使用 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

  • 相关阅读:
    扫描线与悬线
    随机搜索与模拟退火
    树的直径相关
    分数规划及斜率优化
    数学-剩余系
    后缀数据结构
    AC自动机和KMP
    生命游戏和随机数之间某种不可言说的秘密
    转移了
    BZOJ 1710: [Usaco2007 Open]Cheappal 廉价回文
  • 原文地址:https://www.cnblogs.com/xiaofeng666/p/11355123.html
Copyright © 2011-2022 走看看