内核与内核模块

内核与内核模块

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

相关推荐

  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中至少一个空白字符开头的行 [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; [root@…

    Linux干货 2016-08-15
  • N21_迟来的第三周练习

    最近忙成狗,落后了许多 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 # who | cut -d ' ' -f1 | uniq 2、取出最后登录到当前系统的用户的相关信息。 # last&nbsp…

    Linux干货 2016-08-02
  • Linux硬链接、软链接的介绍及两者的区别

    一、硬链接 链接数就是名字的数量: ln(link) 硬链接,多个相同的inode文件(同分区),多个硬链接文件的存在在硬盘上只占用一个文件的容量 创建的硬链接是平等的,inode相同,删除某一个互不影响,其他文件仍然可以使用 硬链接的本质:给一个文件创建多个名字   创建多个硬链接,观察链接数的变化(+1),链接数是几就是有几个文件名 同一分区中…

    Linux干货 2016-08-04
  • 进程和计划任务

    一、知识整理 1、网络客户端工具:lftp,ftp,lftget,wget 子命令:get,mget,ls,help等 wget [opt] …[url] -q 静默模式 -c 断点续传 -O 保存位置 –limit-rates=  指定传输速率 登录ftp之后:lcd 在本机切换目录;get下载单个文件 !ls 查看本机文…

    Linux干货 2016-09-13
  • shell脚本编程初步入门

    shell脚本编程初步入门    说到shell脚本编程,那我们就来先看下shell,shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统内核的一部分,但它调用了系统核…

    Linux干货 2016-08-15
  • Linux发展史

    1、Linux是什么     Linux 是一套 Unix-like 的作业系统,是 Unix 的一种,它控制整个系统基本服务的核心程式 (kernel) 是由 Linus 带头开发出来的,「Linux」这个名称便是以「Linus's Minix」来命名,Linus 选择用「大众公有版权」 (GPL)的方式来发行这份程…

    Linux干货 2016-10-19