内核与内核模块

内核与内核模块

先来看一下,内核与内核模块放在哪?这里以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

相关推荐

  • 第五周作业

    1、简述rpm与yum命令的常见选项,并举例 rpm 命令 linux的的包管理器,用于对rpm软件包,进行安装、升级、卸载、查询、校验等操作。 使用语法: rpm [OPTIONS] [PACKAGE_FILE] 常用选项: 安装: -i,–install 升级: -U,–update,-F,–freshen 卸载: -…

    Linux干货 2017-12-14
  • 学以致用

    1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 cp – copy files and directories 复制文件或目录 使用格式: 单文件复制 cp [OPTION]… [-T] SOURCE DEST 如果DEST不存在,即创建文件并复制源文件数据流; 如果DEST存在,且为非目录文件时,将覆盖…

    Linux干货 2016-10-13
  • 马哥教育网络班25期+第一周课程练习

    一、计算机的组成及功能     现代计算机的结构:冯诺依曼结构体系(储存程序,顺序执行),由20世纪30年代中期,美国科学家冯·诺依曼提出     冯.诺依曼结构处理器具有以下几个特点:     1:必须有一个存储器;2:必须有一个控制器;3:必须有一个运算器…

    Linux干货 2016-11-28
  • 马哥教育网络班20期+第1周课程练习

    1、描述计算机的组成及其功能。  (1)组成:运算器、控制器、存储器、输入设备、输出设备  (2)功能:数值计算、数据处理、自动控制、辅助设计、辅助教学、人工智能、娱乐活动 2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。  (1)主要发行版本之间关系    基于slackware:sus…

    Linux干货 2016-06-23
  • 谷歌三大核心技术(二)Google MapReduce中文版

    摘要 MapReduce是一个编程模型,也是一个处理和生成超大数据集的算法模型的相关实现。用户首先创建一个Map函数处理一个基于key/value pair的数据集合,输出中间的基于key/value pair的数据集合;然后再创建一个Reduce函数用来合并所有的具有相同中间key值的中间value值。现实世界中有很多满足上述处理模型的例子,本论文将详细描…

    Linux干货 2015-04-13
  • linux 学习笔记

    第一周

    Linux干货 2018-03-16