内核与内核模块

内核与内核模块

先来看一下,内核与内核模块放在哪?这里以centos6为例

  • 内核: /boot/vmlinuz或/boot/vmlinuz-version
  • 内核解压所需要RAMDisk: /boot/initrc(/boot/initrc-version)
  • 内核模块:/lib/modules/version/kernel或/lib/modules/uname -r/kernel
  • 内核源码:/usr/src/linux (安装过才会有,默认无)
  • 内核版本:/proc/version
  • 系统内核功能:/proc/sys/kernel

内核模块

我们先来看一下内核文件

内核模块的存放位置,打开/lib/modules/version/kernel或/lib/modules/uname -r/kernel

arch  crypto  drivers  fs  kernel  lib  mm  net  sound

(1)arch :与硬件平台有关的选项,如 CUP等

(2)crypto:加密相关的技术

(3)drives:硬件驱动程序,如显卡、网卡。

(4)fs:文件系统

(5)lib:函数库

(6)net:网络相关的各项协议数据,和防火墙模块

(7)sound:声音有关的模块

内核模块的查看

我们如何知道系统加载了哪些模块

lsmod 命令

lsmod

Module                  Size  Used by
nls_utf8                1455  0 
fuse                   79892  2 
autofs4                27000  3 
8021q                  20475  0 
garp                    7152  1 8021q
...
部分省略
...
ib_mad                 41340  3 ib_umad,ib_cm,ib_sa
ib_core                82732  10 ib_ipoib,rdma_ucm,ib_ucm,ib_uverbs,ib_umad,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad
ib_addr                 8304  3 rdma_ucm,rdma_cm,ib_core
...
部分省略
...
e1000                 134799  0 
vmware_balloon          7199  0 
sg                     29350  0 
i2c_piix4              11232  0 
shpchp                 29130  0 
ext4                  381065  3 
...
部分省略
...
dm_mirror              14864  0 
dm_region_hash         12085  1 dm_mirror
dm_log                  9930  2 dm_mirror,dm_region_hash
dm_mod                102467  2 dm_mirror,dm_log

其中我们可以看到我们已经见过的模块,例如,e1000网卡驱动模块,ext4文件系统模块等等

如果想要看更详细的模块信息,我们可以使用modinfo命令

modinfo的用法格式

modinfo [ adln ] [ modulename|filename… ]

-a ;仅列出作者名称
-d : 仅列出modules的说明
-l : 仅列出授权
-n : 仅列出指定模块的详细路径

示例

[root@Centos6 ~]#modinfo ext4
filename:       /lib/modules/2.6.32-696.el6.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
srcversion:     74AEE2BDA63AC8482A78F4D
depends:        mbcache,jbd2
vermagic:       2.6.32-696.el6.x86_64 SMP mod_unload modversions 

我们可以看出这个模块的来源,以及模块的较为简单的说明

模块的加载与删除

当我们想要自己加载需要的模块,需要用到一个简单的命令,modprobe

modprobe格式的用法

modprobe [-lcfr] module_name modprode 后直接指定模块名即可,不用写出其绝对路径,十分简单方便 相关参数

-l :列出当前系统中所有模块完整文件名
-c :列出所有模块
-f :强制加载模块
-r :删除指定模块

示例

# 加载cifs模块 [root@Centos6 ~]#modprobe cifs
# 删除cifs模块 [root@Centos6 ~]#modprobe -r cifs

 

原创文章,作者:M25_ymd,如若转载,请注明出处:http://www.178linux.com/86283

(4)
M25_ymdM25_ymd
上一篇 2017-09-04
下一篇 2017-09-05

相关推荐

  • bash特性、bash编程

    bash基础特性: 命令行展开:~,{} 命令别名:alias,unalias 命令历史:history 命令和路径补全:$PATH glob通配符:*,?,[],[^], 快捷键:Ctrl+{a,e,l,c,u,k} 命令hash:   bash通配符及特殊符号: 通配符: ?:任意一个字符; *:匹配任意个任意字符; []:匹配括号内的任意一个…

    Linux干货 2018-03-21
  • iptables 实现应用层过滤

        在linux环境中,工作于内核空间的netfilter和工作于用户空间的iptables共同组成了其功能强大且操作灵活的防火墙系统,对进出主机或内外网之间的流量基于IP地址、通信协议、端口以及连接状态等进行管控,然而,对于一些使用非固定端口或者通信协议的应用程序,默认是没有办法做限制的,比如聊天软件QQ、下载工具迅雷等,不过我们可…

    Linux干货 2015-07-10
  • Linux发行版的基础目录名称、命名法则及功能规定

    Linux发行版的基础目录名称、命名法则及功能规定 / 主层次的根,也是整个文件系统层次结构的根目录  /bin 存放系统的命令。  /boot 存放系统的启动文件,及其内核。  /dev 系统设备文件主目录。  /etc 系统主要配置文件主目录。  /home 普通用户家目录。  /lib 系统库…

    Linux干货 2016-10-31
  • Linux第二周学习博客作业

    对第二周学习的内容进行总结

    Linux干货 2017-12-10
  • 学习积累01#计算机组成#Linux版本#基本命令

    第一周的积累 问题1:描述计算机的组成及其功能 CPU:中央处理器,主要功能是进行运算和逻辑运算,内部大致可分为控制单元、逻辑算术单元、存储单元; 主板:核心部件,是电脑的“脉络”,CPU\内存\控制核心电路均安装在主板上,各种外部设备也通过主板上的插槽相互连接; 硬盘:常见的外存储器,容量大,保存时间长、安全性高。接口主要分为IDE、SATA、SCSI。 …

    Linux干货 2016-10-25
  • 权限管理和文本过滤

    1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@study ~]# cp -r /etc/skel/ /home/tuser1|chmod -R 700 tuser1/ [root@…

    Linux干货 2016-11-20