关于内核说明:
版本性质:主分支 ml(mainline),稳定版(stable),长期维护 lt(longterm)
版本命名格式:“A.B.C"
A 代表内核版本号
B 代表内核主版本号
C 代表内核次版本号
一、检查内核版本
[root@web1 ~]# uname -r
3.10.0-514.el7.x86_64
[root@web1 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@web1 ~]#
二、如何升级内核
这里只关注 centos7 如何升级
1、导入 elrepo 的 key 然后在安装 elrepo 的 yum 源:
rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org ###key
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm ###yum源
2、查看可用的内核相关的包
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
1 [root@web1 ~]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
2 Loaded plugins: fastestmirror, langpacks
3 elrepo-kernel | 2.9 kB 00:00:00
4 elrepo-kernel/primary_db | 1.8 MB 00:00:02
5 Loading mirror speeds from cached hostfile
6 * elrepo-kernel: mirrors.tuna.tsinghua.edu.cn
7 Available Packages
8 kernel-lt.x86_64 4.4.180-2.el7.elrepo elrepo-kernel
9 kernel-lt-devel.x86_64 4.4.180-2.el7.elrepo elrepo-kernel
10 kernel-lt-doc.noarch 4.4.180-2.el7.elrepo elrepo-kernel
11 kernel-lt-headers.x86_64 4.4.180-2.el7.elrepo elrepo-kernel
12 kernel-lt-tools.x86_64 4.4.180-2.el7.elrepo elrepo-kernel
13 kernel-lt-tools-libs.x86_64 4.4.180-2.el7.elrepo elrepo-kernel
14 kernel-lt-tools-libs-devel.x86_64 4.4.180-2.el7.elrepo elrepo-kernel
15 kernel-ml.x86_64 5.1.5-1.el7.elrepo elrepo-kernel
16 kernel-ml-devel.x86_64 5.1.5-1.el7.elrepo elrepo-kernel
17 kernel-ml-doc.noarch 5.1.5-1.el7.elrepo elrepo-kernel
18 kernel-ml-headers.x86_64 5.1.5-1.el7.elrepo elrepo-kernel
19 kernel-ml-tools.x86_64 5.1.5-1.el7.elrepo elrepo-kernel
20 kernel-ml-tools-libs.x86_64 5.1.5-1.el7.elrepo elrepo-kernel
21 kernel-ml-tools-libs-devel.x86_64 5.1.5-1.el7.elrepo elrepo-kernel
22 perf.x86_64 5.1.5-1.el7.elrepo elrepo-kernel
23 python-perf.x86_64 5.1.5-1.el7.elrepo
3、安装内核(我这里用最新的吧)以后如何继续升级直接用下面这条命令就可以了
yum -y --enablerepo=elrepo-kernel install kernel-ml
三、修改 grub 中默认的内核版本并重启
内核升级完成后,还需要调整
1、查看内核启动顺序
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
通过此命令可以看到新内核顺序为 0
1 [root@web1 ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
2 0 : CentOS Linux (6.3.3-1.el7.elrepo.x86_64) 7 (Core)
3 1 : CentOS Linux (3.10.0-1160.90.1.el7.x86_64) 7 (Core)
4 2 : CentOS Linux (3.10.0-1160.71.1.el7.x86_64) 7 (Core)
5 3 : CentOS Linux (0-rescue-8ac29b96fb6a484caa42e28ce6f398bc) 7 (Core)
6 [root@web1 ~]# grub2-set-default 0
7 [root@web1 ~]# reboot