阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux kernel模块管理相关详解

303次阅读
没有评论

共计 2666 个字符,预计需要花费 7 分钟才能阅读完成。

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) 整个系统调用库的入口

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

Linux kernel 模块管理相关详解

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

格式:uname [OPTION]…
uname -a:显示内核所有信息
uname -v:内核的编译版本号
uname -r:内核的 release 发行号
uname -n:主机名
Linux kernel 模块管理相关详解

3.lsmod:列出内核模块

显示的内核来自于 /proc/modules
模块名,大小,被引用的次数、被什么引用
Linux kernel 模块管理相关详解

4.modinfo 命令:显示指定的模块的详细信息

格式:modinfo [-F field] [-k kernel] [modulename|filename…]
-k kernel:多内核并存时若要查询另外一个 kernel 上的模块信息
-F field:仅显示指定字段的信息;
-n:显示文件路径;
通过读取 /lib/modules/#######/* 文件的原数据来显示相关信息
Linux kernel 模块管理相关详解
显示内容:文件名、协议、描述、作者、别名、适用于 RHEL 版本号、依赖的模块、签名单位、签名、加密算法
Linux kernel 模块管理相关详解

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

格式:modprobe [-r] module_name
模块的动态装载:modprobe module_name
动态卸载:modprobe -r module_name
注意:默认被装载的模块不要随意卸载
Linux kernel 模块管理相关详解

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/#/*, 进程相关信息
Linux kernel 模块管理相关详解
可写:可接受用户指定一个“新值”来实现对内核某功能或特性的配置;/proc/sys/
格式:/proc/sys: net/ipv4/ip_forward 相当于 net.ipv4.ip_forward
Linux kernel 模块管理相关详解
(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 文件系统:输出内核识别出的各硬件设备的相关属性信息,也有内核对硬件特性的可设置参数;
对此些参数的修改,即可定制硬件设备工作特性;
Linux kernel 模块管理相关详解
udev:通过读取 /sys 目录下的硬件设备信息按需为各硬件设备创建设备文件;
udev 是用户空间程序;专用工具:devadmin, hotplug;
udev 为设备创建设备文件时,会读取其事先定义好的规则文件
一般在 /etc/udev/rules.d/ 目录下,以及 /usr/lib/udev/rules.d/ 目录下;

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计2666字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7796627
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用AI做了一个1978年至2019年中国大陆企业注册的查询网站

我用 AI 做了一个 1978 年至 2019 年中国大陆企业注册的查询网站 最近星哥在 GitHub 上偶然...
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统

从“纸堆”到“电子化”文档:用这个开源系统打造你的智能文档管理系统 大家好,我是星哥。公司的项目文档存了一堆 ...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地

把小米云笔记搬回家:飞牛 NAS 一键部署,小米云笔记自动同步到本地 大家好,我是星哥,今天教大家在飞牛 NA...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...