> 本文作者:丁辉 # Linux内核升级 ## Centos-内核升级 ### 网络升级 #### 升级内核 [ELRepo官网](http://elrepo.org/tiki/HomePage) [官方内核rpm包](http://elrepo.reloumirrors.net/kernel/) [国内内核包源](https://mirrors.tuna.tsinghua.edu.cn/kernel/) 1. 载入公钥 ```bash rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org ``` 2. 安装 ELRepo 源 - Http ```bash rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm ``` - Https ```bash rpm -Uvh https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm ``` 3. 查看可用的 kernel 包 - 检查已启用的存储库列表 ```bash yum repolist ``` - 将所有已启用的仓库禁用,然后仅启用 `elrepo-kernel` 仓库 ```bash yum list available --disablerepo='*' --enablerepo=elrepo-kernel ``` **版本介绍** | 版本 | 解释 | | :-----------------: | :----------------------------------------------------------: | | LT (Long Term) 版本 | Long Term 版本是指 Linux 内核的长期支持版本。这些版本经过仔细测试和稳定性验证,通常会在发布后获得较长时间的支持和更新,以提供更长的生命周期和稳定性保证。对于企业和组织而言,使用 LT 版本可以获得持续的安全修复、错误修复和功能改进,而无需频繁地进行升级。 | | ML (Mainline) 版本 | Mainline 版本是指 Linux 内核的主线发行版,即最新的稳定版本。这些版本包含最新的功能、驱动程序和改进,并经过广泛测试和社区接受。Mainline 版本往往具有更先进的特性和性能,但可能在某些情况下会存在一些不稳定性或兼容性问题。因此,它们一般适合于技术爱好者、开发人员和那些需要最新功能和改进的用户。 | > 总结来说,LT (Long Term) 版本提供了长期支持和稳定性,适用于那些更注重稳定性和可靠性的用户和组织;而 ML (Mainline) 版本则提供了最新的功能和改进,适用于那些寻求最新特性和技术的用户。 4. 安装最新版本的kernel-lt 版本 ```bash yum --enablerepo=elrepo-kernel install kernel-lt -y ``` 5. 查看内核插入顺序 ```bash awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg ``` 6. 设置默认启动 ```bash grub2-set-default 0 ``` 7. 查看当前实际启动顺序 ```bash grub2-editenv list ``` 8. 重启检查 ```bash reboot ``` #### 删除旧版本内核 - 直接卸载 ```bash yum remove $(rpm -q kernel | grep 3.10) -y ``` - 当内核数量超过三个时可以使用此命令清理 1. 安装软件包 ```bash yum install yum-utils ``` 2. 清理 ```bash package-cleanup --oldkernels ``` ### 离线安装 > 在有网环境通过上面的方法添加源后下载 rpm 文件 1. 创建目录 ```bash mkdir /root/kernel/ ``` 2. 拉取文件 ```bash yumdownloader --enablerepo=elrepo-kernel --resolve --destdir=/root/kernel/ kernel-lt ``` > 离线环境安装 1. 安装 ```bash yum localinstall -y kernel-*.rpm ``` > 后续依然是如上操作,直至重启验证 ## 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 ```