> 本文作者:丁辉 # Linux内核升级 ## Centos-内核升级 ### 简介 [Ml内核文件下载](https://dl.lamp.sh/kernel/el7/) [Centos已归档状态内核文件下载](https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/) **版本介绍** | 版本 | 版本号 | 介绍 | | :--------------: | :----: | :----------------------------------------------------------: | | CentOS官方 | 3.10 | 官方默认版本 | | ELRepo kernel-lt | 5.x | Long Term 版本是指 Linux 内核的长期支持版本。这些版本经过仔细测试和稳定性验证,通常会在发布后获得较长时间的支持和更新,以提供更长的生命周期和稳定性保证。对于企业和组织而言,使用 LT 版本可以获得持续的安全修复、错误修复和功能改进,而无需频繁地进行升级。 | | ELRepo kernel-ml | 6.x | Mainline 版本是指 Linux 内核的主线发行版,即最新的稳定版本。这些版本包含最新的功能、驱动程序和改进,并经过广泛测试和社区接受。Mainline 版本往往具有更先进的特性和性能,但可能在某些情况下会存在一些不稳定性或兼容性问题。因此,它们一般适合于技术爱好者、开发人员和那些需要最新功能和改进的用户。 | > 总结: > > LT (Long Term) 版本提供了长期支持和稳定性,适用于那些更注重稳定性和可靠性的用户和组织; > > ML (Mainline) 版本则提供了最新的功能和改进,适用于那些寻求最新特性和技术的用户。 | RPM | 是否必须 | 用途 | | ---------------------------------- | ------------ | ------------------ | | `kernel-lt-...rpm` | **必须** | 内核本体 | | `kernel-lt-tools-...rpm` | 推荐 | kernel 工具 | | `kernel-lt-tools-libs-...rpm` | 推荐 | tools 运行库 | | `kernel-lt-tools-libs-devel...rpm` | ❌ 通常不需要 | 开发用 | | `kernel-lt-devel...rpm` | ❌ 通常不需要 | 编译第三方内核模块 | | `kernel-lt-headers...rpm` | ❌ 通常不需要 | 编译程序/模块 | | `kernel-lt-doc...rpm` | ❌ 不需要 | 内核文档 | ### 离线安装 1. 现在最新版本LT内核文件 ```bash wget https://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.278-1.el7.elrepo.x86_64.rpm --no-check-certificate ``` 2. 安装 ```bash rpm -ivh kernel-*.rpm ``` 3. 查看内核插入顺序 ```bash awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg ``` 4. 设置默认启动 ```bash grub2-set-default 0 ``` 5. 查看当前实际启动顺序 ```bash grub2-editenv list ``` 6. 重启检查 ```bash reboot ``` ### 删除旧版本内核 - 直接卸载 ```bash yum remove $(rpm -q kernel | grep 3.10) -y ``` - 当内核数量超过三个时可以使用此命令清理 1. 安装软件包 ```bash yum install yum-utils ``` 2. 清理 ```bash package-cleanup --oldkernels ``` ## Ubuntu-内核升级 ### 包指定版本升级 [内核包官网下载](http://kernel.ubuntu.com/~kernel-ppa/mainline/) 1. 下载符合这两个格式的文件 ```bash linux-image-*-generic-*.deb linux-modules-*-generic-*.deb ``` 2. 执行安装命令 ```bash dpkg --install *.deb ``` 3. 重启 ```bash reboot ``` 4. 查看内核版本 ```bash uname -r ```