内核与内核模块

内核与内核模块

先来看一下,内核与内核模块放在哪?这里以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 20:43
下一篇 2017-09-05 09:03

相关推荐

  • Tomcat 性能优化-1

    <Connector  port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75&…

    Linux干货 2016-09-19
  • Linux 任务计划、周期性任务执行

    Linux 任务计划、周期性任务执行 概述:      什么是任务计划呢?就像我们每个人日常生活中都会使用到的闹钟一样,按时的去提醒该去做什么事情,以免忘记。同样,我们在工作当中也要在每天在特定的时间内安排做一些事情,这就是任务计划,本章将学习如何制定Linux系统的任务计划,这里主要包括两种工具:at和crontab…

    Linux干货 2016-09-11
  • 8月9日sed(更新版)

    sed命令及vim基础使用命令 处理文本的工具sed stream editor,行编辑器    sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有…

    Linux干货 2016-08-15
  • vim简单实用的技巧总结

    vi 和 vim无需过多的区分,vim可认为是vi的增强版。        这篇关于vim的手册,我个人觉得实在无法把它写成文章,只能以手册的方式列举出来,因为,vim是一个动手使用的工具,只能在使用中你才能慢慢发现它的操作多么符合逻辑,我从下面这些简略的描述中,尽量将它的操作步骤写出来,但更重要的…

    Linux干货 2015-09-14
  • 优云Web新功能发布,邀您在线免费体验!

    你是否还在因为无法通过大数据精准分析需求而烦恼? 你是否还在因为无法直观呈现用户的行为而头大? 你是否还在因为怎么优化页面布局而愁眉苦脸? 正所谓“一图胜千言”,一张色彩缤纷的图片甚至可以给人带来意想不到的收获,优云web作为监控利器,其新功能“热图”可以为您解决这些麻烦! 热图作为优云web的特色功能点,究竟是怎样帮助您更好地了解用户行为的呢,让小编给您一…

    系统运维 2017-01-09
  • 马哥教育网络班N22期+第7周课程练习

    1、创建一个10G分区,并格式为ext4文件系统; (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; mke2fs -t ext4 -b 2048 -L MYDATA -m 2 /dev/sdb1 tune2…

    Linux干货 2016-10-24