前言
本文仅适合在线 Yum 方式安装升级
查看当前内核版本
升级前查看下现在发行版的内核
1 | # uname -sr |
安装最新内核
- 导入 ELRepo 公钥
1
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
ELRepo 项目使用的 GPG 密钥的详细信息访问https://www.elrepo.org/tiki/key
- 安装 ELRepo 仓库,根据自己 OS 的发行版选对应命令。
To install ELRepo for RHEL-8 or CentOS-8:
1
yum install https://www.elrepo.org/elrepo-release-8.0-2.el8.elrepo.noarch.rpm
To install ELRepo for RHEL-7, SL-7 or CentOS-7:
1
yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm
To install ELRepo for RHEL-6, SL-6 or CentOS-6:
1
yum install https://www.elrepo.org/elrepo-release-6-9.el6.elrepo.noarch.rpm
为了使用镜像系统,请同时安装
yum-plugin-fastestmirror
1
yum install yum-plugin-fastestmirror -y
ELRepo 安装后,使用下面的命令列出可用的系统内核相关包
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24[root@yunwei ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* elrepo-kernel: hkg.mirror.rackspace.com
Available Packages
kernel-lt.x86_64 4.4.204-1.el7.elrepo elrepo-kernel
kernel-lt-devel.x86_64 4.4.204-1.el7.elrepo elrepo-kernel
kernel-lt-doc.noarch 4.4.204-1.el7.elrepo elrepo-kernel
kernel-lt-headers.x86_64 4.4.204-1.el7.elrepo elrepo-kernel
kernel-lt-tools.x86_64 4.4.204-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs.x86_64 4.4.204-1.el7.elrepo elrepo-kernel
kernel-lt-tools-libs-devel.x86_64 4.4.204-1.el7.elrepo elrepo-kernel
kernel-ml-devel.x86_64 5.4.0-1.el7.elrepo elrepo-kernel
kernel-ml-doc.noarch 5.4.0-1.el7.elrepo elrepo-kernel
kernel-ml-headers.x86_64 5.4.0-1.el7.elrepo elrepo-kernel
kernel-ml-tools.x86_64 5.4.0-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs.x86_64 5.4.0-1.el7.elrepo elrepo-kernel
kernel-ml-tools-libs-devel.x86_64 5.4.0-1.el7.elrepo elrepo-kernel
perf.x86_64 5.4.0-1.el7.elrepo elrepo-kernel
python-perf.x86_64 5.4.0-1.el7.elrepo elrepo-kernel可以看到
kernel-ml
最新版本是 5.4.0 了
- 安装最新的主线稳定内核
1
yum --enablerepo=elrepo-kernel install kernel-ml
修改grub中默认的内核版本
内核升级完毕后,目前内核还是默认的版本,如果此时直接执行 reboot
命令,重启后使用的内核版本还是默认的 3.10,不会使用最新安装的内核版本,首先,我们可以通过命令查看默认启动顺序:
1 | [root@yunwei ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg |
由上面可以看出新内核(5.4.0)目前位置在0,原来的内核(3.10.0)目前位置在1,所以如果想生效最新的内核,还需要我们修改内核的启动顺序为0:
1 | vi /etc/default/grub |
Centos 6 更改的文件相同,使用命令确定新内核位置后,然后将参数default更改为0即可。
接着运行grub2-mkconfig命令来重新创建内核配置
1 | [root@yunwei ~]# grub2-mkconfig -o /boot/grub2/grub.cfg |
重启,验证最新内核
1 | reboot |
删除旧内核
- 查看系统中全部的内核 RPM 包
1
2
3
4
5
6
7
8[root@yunwei ~]# rpm -aq |grep kernel
kernel-headers-3.10.0-1062.4.1.el7.x86_64
kernel-debug-devel-3.10.0-1062.4.1.el7.x86_64
kernel-tools-libs-3.10.0-1062.4.1.el7.x86_64
kernel-tools-3.10.0-1062.4.1.el7.x86_64
kernel-ml-5.4.0-1.el7.elrepo.x86_64
kernel-3.10.0-1062.4.1.el7.x86_64
kernel-devel-3.10.0-1062.4.1.el7.x86_64 - 删除旧内核
1
yum remove kernel-headers-3.10.0-1062.4.1.el7.x86_64 kernel-debug-devel-3.10.0-1062.4.1.el7.x86_64 kernel-tools-3.10.0-1062.4.1.el7.x86_64 kernel-3.10.0-1062.4.1.el7.x86_64 kernel-devel-3.10.0-1062.4.1.el7.x86_64
安装最新版 kernel-tool, kernel-headers, kernel-devel
1 | yum --enablerepo=elrepo-kernel install kernel-ml-devel.x86_64 kernel-ml-headers.x86_64 kernel-ml-tools.x86_64 |
链接
- ELRepo.org
- The Linux Kernel Archives