请选择 进入手机版 | 继续访问电脑版

[LINUX] Linux kernel模块管理干系 详解

  [复制链接]
查看235 | 回复64 | 2021-9-5 02:13:41 | 显示全部楼层 |阅读模式

Linux内核模块化计划

1. Linux内核计划 :单内核、模块化(动态装载和卸载)

(1) Linux:单内核计划 ,但充分鉴戒 了微内核体系的计划 的长处 ;为内核引入了模块化机制;

(2) 内核的构成 部分:

kernel:内核核心,一样平常 为bzImage格式,通常位于/boot目次 ,名称为vmlinuz-VERSION-release;

当体系 启动之后该文件就不在利用 ,由于 已经加载到内存,放置/boot下方便管理

kernel object:内核模块,一样平常 放置于/lib/modules/VERSION-release/

内核模块与内核核心版本肯定 要严酷 匹配;

2.内核模块:编译选择模式

[ ]:N,不编译此部分

[M]:Module ,以模块化编译,可以暂时 装载,占用磁盘空间,不占用内核空间

  • :Y,编译进内核核心,可以直接调用

    3.ramdisk:辅助性文件,并非必须,取决于内核是否能直接驱动rootfs地点 的装备

    ramdisk:一个简装版的根文件体系 ,可提供的驱动如下:

    目的 装备 驱动,比方 SCSI装备 的驱动;

    逻辑装备 驱动,比方 LVM装备 的驱动;

    文件体系 ,比方 xfs文件体系 ;

    内核模块信息获取和管理下令

    1.ldd:打印二进制应用程序所依赖 的库文件-print shared library dependencies

    格式:ldd [OPTION]... FILE...

    表现 :

    1) 所依赖 库文件名称 => 所依赖 库文件路径 (对应内存载入符号链接映射指向)

    2) 整个体系 调用库的入口

    1. linux-vdso.so.1 => (0x00007fff293fe000)
    2. /lib64/ld-linux-x86-64.so.2 (0x00007f0228073000)
    复制代码

    ldd1

    2.uname:内核信息获取 -print system information

    格式:uname [OPTION]…

    uname -a:表现 内核全部 信息

    uname -v:内核的编译版本号

    uname -r:内核的release发行号

    uname -n:主机名

    uname

    3.lsmod:列出内核模块

    表现 的内核来自于/proc/modules

    模块名,大小,被引用的次数、被什么引用

    lsmod

    4.modinfo下令 :表现 指定的模块的具体 信息

    格式:modinfo [-F field] [-k kernel] [modulename|filename...]

    -k kernel:多内核并存时若要查询别的 一个kernel上的模块信息

    -F field: 仅表现 指定字段的信息;

    -n:表现 文件路径;

    通过读取/lib/modules/#######/*文件的原数据来表现 相干 信息

    module

    表现 内容:文件名、协议、形貌 、作者、别名、实用 于RHEL版本号、依赖 的模块、署名 单位、署名 、加密算法

    modinfo

    5.modprobe:实现模块的装载和卸载,同时会挂载依赖 的模块

    格式:modprobe [-r] module_name

    模块的动态装载:modprobe module_name

    动态卸载:modprobe -r module_name

    留意 :默认被装载的模块不要随意卸载

    modprobe

    6.depmod:- Generate modules.dep and map files

    内核模块依赖 关系文件和体系 信息映射文件的天生 工具;

    7.insmod、rmmod:模块的装载和卸载,不能主动 办理 模块依赖 关系

    insmod [filename] [module options...]

    filename:模块文件的文件路径;

    rmmod [module_name]

    ramdisk文件的管理

    1.mkinitrd(CentOS 5):为当前利用 中的内核重新制作ramdisk文件

    # mkinitrd [OPTION...] []

    --with=:除了默认的模块之外必要 装载至initramfs中的模块;

    --preload=:initramfs所提供的模块必要 预先装载的模块;

    示例: ~]# mkinitrd /boot/initramfs-$(uname -r).img $(uname -r)

    2.dracut(CentOS 6/7 , 兼容5): - low-level tool for generating an initramfs image

    # dracut [OPTION...] [ []]

    示例: ~]# dracut /boot/initramfs-$(uname -r).img $(uname -r)

    内核信息输出伪文件体系

    1./proc:内核状态和统计信息的输出接口;还提供一个设置 接口,/proc/sys

    (1)参数:

    只读:信息输出;比方 /proc/#/*,进程 相干 信息

    proc

    可写:可担当 用户指定一个“新值”来实现对内核某功能或特性的设置 ;/proc/sys/

    格式: /proc/sys: net/ipv4/ip_forward 相当 于 net.ipv4.ip_forward

    proc

    (2)修改参数方式

    1) sysctl下令

    专用于查看或设定/proc/sys目次 下参数的值; sysctl [options] [variable[=value]]

    查看:# sysctl -a;# sysctl variable

    修改其值:# sysctl -w variable=value

    2) 文件体系 下令 (cat, echo)

    查看:# cat /proc/sys/PATH/TO/SOME_KERNEL_FILE

    设定:# echo "VALUE" > /proc/sys/PATH/TO/SOME_KERNEL_FILE

    3) 设置 文件:/etc/sysctl.conf, /etc/sysctl.d/*.conf

    立即 见效 的方式:sysctl -p [/PATH/TO/CONFIG_FILE]

    (3)紧张 的内核参数

    net.ipv4.ip_forward:核心转发;

    vm.drop_caches:

    kernel.hostname:主机名;

    net.ipv4.icmp_echo_ignore_all:忽略全部 ping操作;

    2./sys目次 :Kernel 2.6版本后引入

    sys文件体系 :输出内核辨认 出的各硬件装备 的相干 属性信息,也有内核对硬件特性的可设置参数;

    对此些参数的修改,即可定制硬件装备 工作特性;

    sys

    udev:通过读取/sys目次 下的硬件装备 信息按需为各硬件装备 创建装备 文件;

    udev是用户空间程序;专用工具:devadmin, hotplug;

    udev为装备 创建装备 文件时,会读取其事先定义好的规则文件

    一样平常 在/etc/udev/rules.d/目次 下,以及/usr/lib/udev/rules.d/目次 下;


    免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    回复

    使用道具 举报

    avatar 待该州伙 | 2021-9-10 06:41:55 | 显示全部楼层
    我就搞不明白了,看帖回帖能死人么,居然只有我这么认真的在回帖!
    回复

    使用道具 举报

    avatar 禾口王君卤 | 2021-9-12 17:05:02 | 显示全部楼层
    admin楼主的帖子提神醒脑啊!
    回复

    使用道具 举报

    avatar hhhong2017 | 2021-9-12 17:21:51 | 显示全部楼层
    写得实在太好了,我唯一能做的就是默默顶贴!
    回复

    使用道具 举报

    avatar 123457595 | 2021-9-14 14:47:14 | 显示全部楼层
    好多兽医在广场上义诊,admin楼主去看看吧!
    回复

    使用道具 举报

    avatar 麦子971 | 2021-9-14 19:35:34 | 显示全部楼层
    admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,运动刷步数还是免费刷的,QQ和微信都可以刷,特别好用。访问地址:http://yd.mxswl.com 猫先森网络
    回复

    使用道具 举报

    avatar 萍381 | 2021-9-14 22:54:11 | 显示全部楼层
    很有品味!
    回复

    使用道具 举报

    avatar 天八部饶gc | 2021-9-17 01:44:37 | 显示全部楼层
    投admin楼主一票,不用谢哦!
    回复

    使用道具 举报

    avatar 甜心猫舍 | 2021-9-19 20:23:09 | 显示全部楼层
    终于看完了,很不错!
    回复

    使用道具 举报

    avatar 郭光庆 | 2021-9-20 15:33:34 | 显示全部楼层
    太邪乎了吧?
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则