This commit is contained in:
169
Docs/Linux内核升级.md
Normal file
169
Docs/Linux内核升级.md
Normal file
@@ -0,0 +1,169 @@
|
||||
> 本文作者:丁辉
|
||||
|
||||
# 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
|
||||
```
|
||||
|
||||
|
Reference in New Issue
Block a user