如何对Linux系统内核进行模块管理?


Linux内核分为几个模块,这样既方便管理,也可以方便增加新模块,从而丰富Linux系统的功能。下面就从内核模块路径和查看内核模块等方面来介绍一下,如何对Linux系统内核进行模块管理?

一、内核模块存放位置

Linux内核模块文件的命名方式通常为,CentOS 6.3系统的内核模块被集中存放在/lib/modules/`uname -r`/[1]目录下(uname -r获得的信息为当前内核的版本号)。下面通过几个实例说明对内核模块的基本操作。

二、 查看已加载内核模块

lsmod命令用来显示当前Linux内核模块状态,不是使用任何参数会显示当前已经加载的所有内核模块。输出的三列信息分别为模块名称、占用内存大小、是否在被使用,如果第三列为0则该模块可以随时卸载,非0则无法执行modprobe删除模块。

1.[root@centos6 ~]# lsmod

2.Module Size Used by

3.bridge 79950 0

4.stp 2173 1 bridge

5.llc 5642 2 bridge,stp

6.fuse 66891 2

7.autofs4 27212 3

8.sunrpc 263516 1

9.ipt_REJECT 2351 2

10.nf_conntrack_ipv4 9506 2

11.nf_defrag_ipv4 1483 1 nf_conntrack_ipv4

12.iptable_filter 2793 1

13.ip_tables 17831 1 iptable_filter

14.(部分输出省略)

<!--[if !supportLists]-->2.9.3<!--[endif]-->加载与卸载内核模块

三、modprobe命令可以动态加载与卸载内核模块

1.[root@centos6 ~]# modprobe ip_vs #动态加载ip_vs模块

2.[root@centos7 ~]# lsmod |grep ip_vs #查看模块是否加载成功

3.[root@centos7 ~]# modprobe -r ip_vs #动态卸载ip_vs模块

modinfo命令可以查看内核模块信息:

1.[root@centos7 ~]# modinfo ip_vs

2.filename: /lib/modules/2.6.32-279.el6.x86_64/kernel/net/netfilter/ipvs/ip_vs.ko

3.license: GPL

4.srcversion: 01386EABC060B63920E181B

5.depends: ipv6,libcrc32c

6.vermagic: 2.6.32-279.el6.x86_64 SMP mod_unload modversions

四、修改内核参数

通过上述modprobe方式加载的内核模块仅在当前有效,计算机重启后并不会再次加载该模块,如果希望系统开机自动挂载内核模块则需要将modprobe命令写入/etc/rc.sysinit文件中:

1.[root@centos7 ~]# echo modprobe ip_vs >> /etc/rc.sysinit

当内核模块不再需要时可以通过将/etc/rc.sysinit文件中的对应modprobe命令删除,但需要重启计算机才生效。此时,可以通过modprobe -r命令来立刻删除内核模块:

1.[root@centos6 ~]# modprobe -r ip_vs

<!--[if !supportLists]-->2.9.4<!--[endif]-->修改内核参数

<!--[if !supportLists]-->1.<!--[endif]-->临时调整内核参数

Linux内核参数随着系统的启动会被写入内存中,我们可以直接修改/proc目录下的大量文件来调整内核参数,并且这种调整是立刻生效的。


上一篇:Linux如何在单用户模式下破解root密码

下一篇:Ubuntu系统下编译PARSEC 2.1出现错误如何办?


Linux系统内核 linux加载内核模块 linux查看内核模块
Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器