Appearance
12. 内核与模块管理
本章节指导在 RHEL 8.10(主机名 ZSLinux)上使用 SecureCRT 进行内核和模块管理,配合 SecureFX 传输配置文件。内容涵盖内核版本管理(查看、更新、回滚)、内核模块管理(加载、卸载、自动加载)和内核参数调整(sysctl 和 GRUB 配置),全面实用,适合初学者快速掌握和运维人员日常维护。所有操作在 ZSLinux 环境中测试,确保实验一致性。
12.1 前提条件
- RHEL 8.10 已安装(参考第 1 章),主机名设置为
ZSLinux. - 使用 SecureCRT 登录(SSH2 协议,端口 2222,参考第 6 章).
- 使用 SecureFX 传输文件(SFTP 协议).
- 具有 root 或 sudo 权限.
- 系统已订阅并启用 RHEL 仓库(参考第 4 章).
12.2 内核管理
12.2.1 查看内核版本
- 检查当前内核版本:bash
uname -r # 显示当前运行的内核版本
12.2.2 更新内核
- 更新到最新内核:bash
dnf update kernel -y # 安装最新内核包 reboot # 重启系统以应用新内核
12.2.3 回滚内核
- 查看可用内核:bash
grubby --info=ALL # 列出所有可用内核 - 设置下次启动使用的内核:bash
grubby --set-default /boot/vmlinuz-<旧内核版本> # 设置旧内核为默认启动项 reboot # 重启系统以回滚内核 - 临时选择内核(单次启动):bash
grub2-reboot <旧内核索引> # 设置下次启动的内核索引(从 grubby --info=ALL 获取) reboot # 重启系统以使用指定内核
12.3 模块管理
12.3.1 加载和卸载模块
- 加载内核模块(以
vfat为例):bashmodprobe vfat # 加载 vfat 文件系统模块 - 卸载内核模块:bash
rmmod vfat # 卸载 vfat 模块
12.3.2 配置模块自动加载
- 配置模块自动加载:bash
vim /etc/modprobe.d/vfat.conf # 创建模块配置文件 # 添加以下内容: install vfat /sbin/modprobe --ignore-install vfat - 检查模块是否加载:bash
lsmod | grep vfat # 查看 vfat 模块是否已加载
12.4 参数调整
12.4.1 修改 sysctl 参数
- 临时设置参数:bash
sysctl -w kernel.sysrq=1 # 启用 sysrq 魔术键(临时) - 永久设置参数:bash
vim /etc/sysctl.d/99-custom.conf # 创建 sysctl 配置文件 # 添加以下内容: kernel.sysrq=1 sysctl -p /etc/sysctl.d/99-custom.conf # 应用配置
12.4.2 配置 GRUB 内核参数
- 编辑 GRUB 配置:bash
vim /etc/default/grub # 编辑 GRUB 配置文件 # 在 GRUB_CMDLINE_LINUX 添加参数,例如: GRUB_CMDLINE_LINUX="... quiet sysrq=1" - 更新 GRUB 配置:bash
grub2-mkconfig -o /boot/grub2/grub.cfg # 更新 GRUB 配置文件 reboot # 重启系统以应用参数
12.5 验证
- 验证内核版本:bash
uname -r # 检查当前内核版本 grubby --info=DEFAULT # 检查默认启动内核 - 验证模块加载:bash
lsmod | grep vfat # 检查 vfat 模块是否加载 - 验证 sysctl 参数:bash
sysctl kernel.sysrq # 检查 sysrq 参数是否为 1 - 验证 GRUB 参数:bash
cat /proc/cmdline # 检查当前内核启动参数 - 常见问题:
- 内核更新失败:检查 RHEL 仓库是否启用(参考第 4 章)或磁盘空间(
df -h)。 - 模块加载失败:确认模块存在(
modinfo vfat)或是否有依赖问题。 - 参数未生效:检查配置文件(
/etc/sysctl.d/,/etc/default/grub)或重启系统。
- 内核更新失败:检查 RHEL 仓库是否启用(参考第 4 章)或磁盘空间(
12.6 实践任务
- 使用 SecureCRT 登录
ZSLinux,检查当前内核版本。 - 更新内核并验证新版本。
- 加载
vfat模块并配置其自动加载。 - 配置
sysrq=1参数(临时和永久),验证生效。
12.7 自测问题
- 问题:如何查看当前内核版本?
- 答案:
uname -r
- 答案:
- 问题:如何配置模块自动加载?
- 答案:编辑
/etc/modprobe.d/<模块>.conf,添加install <模块> /sbin/modprobe --ignore-install <模块>。
- 答案:编辑
- 问题:如何临时回滚到旧内核?
- 答案:
grubby --set-default /boot/vmlinuz-<旧内核版本>或grub2-reboot <索引>,然后reboot。
- 答案:
