Linux内核升级指南:从编译到安装完整流程 | linux-tutorial

Linux内核升级指南:从编译到安装完整流程 | linux-tutorial

【免费下载链接】linux-tutorial :penguin: Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本 【免费下载链接】linux-tutorial 项目地址: https://gitcode.com/GitHub_Trending/lin/linux-tutorial

在Linux系统管理中,内核升级是一项关键的维护任务,它不仅能修复安全漏洞,还能提升系统性能和硬件兼容性。本文将带你通过编译安装的方式完成Linux内核升级,整个过程分为环境准备、源码获取、配置编译、安装部署四个阶段,即使是新手也能按步骤完成操作。

一、环境准备与依赖检查

内核编译需要特定的开发工具和库文件支持,我们可以通过项目中的系统工具快速完成环境配置。首先执行系统检查脚本了解当前内核版本和系统状态:

bash codes/linux/sys/syscheck.sh

该脚本会输出当前内核版本(uname -r的结果)和系统配置信息,如syscheck.sh中第75-89行所示:

sys_kernel=$(uname -r)
# 系统内核:   3.10.0-1160.el7.x86_64

接着安装编译所需的开发工具链,项目提供的install-libs.sh脚本已包含内核编译依赖:

bash codes/linux/sys/install-libs.sh

脚本中第33-34行明确安装了内核开发包:

yum -y install make gcc gcc-c++ kernel-devel libtool

二、内核源码获取与准备

2.1 选择合适的内核版本

内核源码可从kernel.org获取,建议选择长期支持版(LTS)如5.15.x系列。使用wgetcurl下载:

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.100.tar.xz
tar -xf linux-5.15.100.tar.xz
cd linux-5.15.100

2.2 配置内核参数

内核配置是升级过程中最关键的步骤,决定了系统功能和驱动支持。建议基于当前系统配置进行修改:

cp /boot/config-$(uname -r) .config
make menuconfig

项目中的内核参考配置可通过syscheck.sh第121-144行查看:

kernel_config=$(sysctl -p 2> /dev/null)
# 内核参考配置:
# net.ipv4.ip_forward = 1
# vm.swappiness = 10

在图形配置界面中,重点关注以下选项:

  • 硬件驱动(如SATA、NVMe控制器)
  • 文件系统支持(ext4、btrfs、xfs)
  • 网络功能(TCP/IP优化、防火墙支持)
  • 电源管理(笔记本用户需配置ACPI支持)

三、内核编译与模块安装

3.1 多线程编译

使用make命令进行编译,通过-j参数指定线程数(通常为CPU核心数+1)加速编译:

make -j $(nproc)

编译过程耗时较长(取决于硬件性能),建议在screen会话中执行以避免终端断开影响。

3.2 安装内核模块

编译完成后安装内核模块到/lib/modules目录:

make modules_install

该步骤会创建/lib/modules/5.15.100目录,包含所有编译好的内核模块。

四、内核安装与启动配置

4.1 安装内核镜像

执行以下命令安装内核镜像和相关文件:

make install

此操作会自动完成:

  • 复制内核镜像到/boot目录(如vmlinuz-5.15.100)
  • 更新initramfs镜像
  • 添加 grub 启动项

4.2 验证启动配置

检查/boot/grub2/grub.cfg确认新内核已添加:

grep menuentry /boot/grub2/grub.cfg | grep 5.15.100

设置新内核为默认启动项:

grub2-set-default 'CentOS Linux (5.15.100) 7 (Core)'
grub2-mkconfig -o /boot/grub2/grub.cfg

4.3 重启与验证

重启系统并验证内核版本:

reboot
uname -r  # 应输出 5.15.100

五、故障恢复与回滚方案

如果新内核无法正常启动,可在GRUB菜单中选择旧内核启动。若需彻底回滚,删除新内核文件:

rm -rf /lib/modules/5.15.100
rm -f /boot/vmlinuz-5.15.100
rm -f /boot/initramfs-5.15.100.img
grub2-mkconfig -o /boot/grub2/grub.cfg

六、自动化升级脚本规划

虽然项目中暂无现成的内核升级脚本,但可基于现有工具链构建自动化流程:

  1. 使用download.sh(codes/linux/download.sh)自动化源码获取
  2. 将配置编译步骤整合进自定义脚本
  3. 通过systemd服务单元实现升级后的服务重启

提示:生产环境建议使用发行版提供的内核包(如yum update kernel)进行升级,本文编译方式更适合需要定制内核功能的场景。完整操作脚本可参考项目shell脚本模板进行编写。

通过本文的步骤,你已掌握从源码编译到安装部署的完整内核升级流程。项目中的系统工具目录提供了更多系统维护脚本,可帮助你更好地管理Linux系统。

【免费下载链接】linux-tutorial :penguin: Linux教程,主要内容:Linux 命令、Linux 系统运维、软件运维、精选常用Shell脚本 【免费下载链接】linux-tutorial 项目地址: https://gitcode.com/GitHub_Trending/lin/linux-tutorial

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值