内核与内核模块

内核与内核模块

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

相关推荐

  • haproxy代理服务

    HAProxy: LB Cluster:         四层:   lvs, nginx(stream),haproxy(mode tcp)         七层:   http: nginx(http, ngx_http_upstrea…

    Linux干货 2017-05-17
  • python 10第一周博客作业

    1. 修改提示符格式 PS1=”\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]” 2.命令别名:alias NAME=’VALUE’   如果想永久有效,要定义在配置文件中 仅对当前用户:~/.bashrc   对所有用户有效:/etc/bashrc 3.日期和时间:相关命令 d…

    Linux干货 2018-03-17
  • 作业用户和组管理

    1、创建用户gentoo,附加组为bin和root,默认shell为 /bin/csh,注释信息为"Gentoo Distribution" 首先来分析下题目,创建一个gentoo用户,那我们这时候就想到了useradd命令,不错,就是这个命令,创建用户gentoo时会默认创建主组gentoo,那么想同时将用户gentoo加到root,b…

    Linux干货 2016-08-03
  • vsftp简单应用

    vsftp配置详解 前言 FTP(File Transfer Protocol)是文件传输协议的简称。它能让用户 连接上一个远程计算机(运行着 FTP 服务器程序)查看远程 计算机上有哪些文件,然后把文件从远程计算机上下载到 本地计算机,或把本地计算机文件上传到远程计算机。但是ftp是一种古老的文件传输协议,是明文传输,特别的不安全所以就有了vsftp。 一…

    Linux干货 2016-12-18
  • 进程和计划任务

    一、进程概念    内核的功用:进程管理、文件系统、网络功能、内存管理、驱动程序、 安全功能等 v Process:  运行中的程序的一个副本(文件),是被载入内存的一个指令集合,在内存中运行,系统指定一个内存空间和PID编号;进程ID(Process ID ,PID )号码被用来标记各个进程;存在生命周期 &nbsp…

    Linux干货 2016-11-27
  • Linux下如何使用sendEmail来发送邮件

    1)什么是sendEmail sendEmail是一个轻量级,命令行的SMTP邮件客户端(注意,不要跟sendmail混淆了)。如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大,从此以后你就爱上了它。 2)安装sendEmail [root@zabbix ~]# wget http://…

    系统运维 2016-07-29