内核版本定义

在Linux系统中,系统内核版本查看可在终端输入如下命令查看

[root@localhost ~]# uname -r
3.10.0-1160.15.2.el7.x86_64

内核版本性质为:主分支ml(main line),稳定版(stable),长期维护版lt(long term)

其版本命名格式为 “A.B.C”:

数字 A 是内核版本号:版本号只有在代码和内核的概念有重大改变的时候才会改变,历史上有两次变化:

第一次是1994年的 1.0 版,第二次是1996年的 2.0 版,第三次是2011年的 3.0 版发布,但这次在内核的概念上并没有发生大的变化

数字 B 是内核主版本号:主版本号根据传统的奇-偶系统版本编号来分配:奇数为开发版,偶数为稳定版

数字 C 是内核次版本号:次版本号是无论在内核增加安全补丁、修复bug、实现新的特性或者驱动时都会改变

内核升级

小版本升级

1、查看当前和可升级版本

[root@localhost ~]# yum list kernel
Installed Packages
kernel.x86_64                           3.10.0-1160.15.2.el7                            @updates
kernel.x86_64                           3.10.0-1160.25.1.el7                            @updates

2、升级

yum update kernel -y

3、重启机器并检查内核版本

[root@localhost ~]# reboot
[root@localhost ~]# uname -r

大版本升级

1、载入公钥

[root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

2、升级安装ELRrpo

rpm -Uvh http://elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm

3、载入elrepo-kernel元数据

yum --disablerepo=\* --enablerepo=elrepo-kernel repolist

4、查看可用的rpm包

[root@localhost ~]# yum --disablerepo=\* --enablerepo=elrepo-kernel list kernel*
Installed Packages
kernel.x86_64                                   3.10.0-1160.15.2.el7               @updates     
kernel.x86_64                                   3.10.0-1160.25.1.el7               @updates     
kernel-headers.x86_64                           3.10.0-1160.25.1.el7               @updates     
kernel-tools.x86_64                             3.10.0-1160.25.1.el7               @updates     
kernel-tools-libs.x86_64                        3.10.0-1160.25.1.el7               @updates     
Available Packages
kernel-lt.x86_64                                5.4.116-1.el7.elrepo               elrepo-kernel
kernel-lt-devel.x86_64                          5.4.116-1.el7.elrepo               elrepo-kernel
kernel-lt-doc.noarch                            5.4.116-1.el7.elrepo               elrepo-kernel
kernel-lt-headers.x86_64                        5.4.116-1.el7.elrepo               elrepo-kernel
kernel-lt-tools.x86_64                          5.4.116-1.el7.elrepo               elrepo-kernel
kernel-lt-tools-libs.x86_64                     5.4.116-1.el7.elrepo               elrepo-kernel
kernel-lt-tools-libs-devel.x86_64               5.4.116-1.el7.elrepo               elrepo-kernel
kernel-ml.x86_64                                5.12.1-1.el7.elrepo                elrepo-kernel
kernel-ml-devel.x86_64                          5.12.1-1.el7.elrepo                elrepo-kernel
kernel-ml-doc.noarch                            5.12.1-1.el7.elrepo                elrepo-kernel
kernel-ml-headers.x86_64                        5.12.1-1.el7.elrepo                elrepo-kernel
kernel-ml-tools.x86_64                          5.12.1-1.el7.elrepo                elrepo-kernel
kernel-ml-tools-libs.x86_64                     5.12.1-1.el7.elrepo                elrepo-kernel
kernel-ml-tools-libs-devel.x86_64               5.12.1-1.el7.elrepo                elrepo-kernel

其中:lt:为长期支持版本;ml:为主线版本

5、安装最新版本的Kernel

[root@localhost ~]# yum --disablerepo=\* --enablerepo=elrepo-kernel install  kernel-ml.x86_64  -y

6、删除旧版本工具包

[root@localhost ~]# yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64  -y

7、安装新版本工具包

[root@localhost ~]# yum --disablerepo=\* --enablerepo=elrepo-kernel install kernel-ml-tools.x86_64 kernel-ml-tools-libs.x86_64  -y

8、查看内核插入顺序

[root@localhost ~]# awk -F \' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (5.12.1-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1160.25.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-1160.15.2.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-6ab2830113da4c6eabb6a7e39800eb6b) 7 (Core)

说明:默认新内核是从头插入,默认启动顺序也是从0开始(当前顺序还未生效),或者使用:

[root@localhost ~]# grep "^menuentry" /boot/grub2/grub.cfg | cut -d "'" -f2
CentOS Linux (5.12.1-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.25.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.15.2.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-6ab2830113da4c6eabb6a7e39800eb6b) 7 (Core)

其中文件/etc/grub2.cfg/boot/grub2/grub.cfg内容一致。

9、查看当前实际启动顺序

[root@localhost ~]# grub2-editenv list
saved_entry=CentOS Linux (3.10.0-1160.25.1.el7.x86_64) 7 (Core)

10、设置默认启动

[root@localhost ~]# grub2-set-default 'CentOS Linux (5.12.1-1.el7.elrepo.x86_64) 7 (Core)'
[root@localhost ~]# grub2-editenv list
saved_entry=CentOS Linux (5.12.1-1.el7.elrepo.x86_64) 7 (Core)
[root@localhost ~]# 

或者直接设置数值

[root@localhost ~]# grub2-set-default 0  // 0代表当前第一行
[root@localhost ~]# grub2-editenv list
saved_entry=0

11、重启并检查

[root@localhost ~]# reboot
[root@localhost ~]# uname -r
文章名: 《CentOS内核版本升级》

文章链接:https://www.yfriend.xyz/1175.html

除特别注明外,文章均为深度博客所创,转载时请注明本文出处及文章链接
Last modification:June 5th, 2021 at 02:42 pm
如果觉得我的文章对你有用,请随意赞赏