前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS 7/6系统升级内核版本到5.2.2

CentOS 7/6系统升级内核版本到5.2.2

作者头像
用户1679793
发布2019-07-25 18:51:42
6.9K0
发布2019-07-25 18:51:42
举报

由于公司服务器新业务需要,需要将CentOS 7系统的内核(3.10.0-229)进行升级。

关于内核版本的定义: 版本性质:主分支ml(mainline),稳定版(stable),长期维护版lt(longterm) 版本命名格式为 “A.B.C”: 数字 A 是内核版本号:版本号只有在代码和内核的概念有重大改变的时候才会改变,历史上有两次变化: 第一次是1994年的 1.0 版,第二次是1996年的 2.0 版,第三次是2011年的 3.0 版发布,但这次在内核的概念上并没有发生大的变化 数字 B 是内核主版本号:主版本号根据传统的奇-偶系统版本编号来分配:奇数为开发版,偶数为稳定版 数字 C 是内核次版本号:次版本号是无论在内核增加安全补丁、修复bug、实现新的特性或者驱动时都会改变

1 查看系统内核版本

代码语言:javascript
复制
[root@vvuv0394 ~]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@vvuv0394 ~]# uname -r
3.10.0-327.el7.x86_64

2 在升级内核之前,先升级软件包(非必要)

代码语言:javascript
复制
yum update -y

3 升级内核

CentOS 6 和CentOS 7的升级方法类似,只不过选择的yum源或者rpm包不同而已,下面仅记录CentOS7升级的详细过程

方法一:添加第三方yum源进行下载安装。 Centos 6 YUM源:http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm Centos 7 YUM源:http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

先导入elrepo的key,然后安装elrepo的yum源:

代码语言:javascript
复制
rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

仓库启用后,你可以使用下面的命令列出可用的内核相关包,如下图:

代码语言:javascript
复制
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

上图可以看到,长期维护版本lt为4.4,最新主线稳定版ml为5.2.2,接下来使用命令安装最新稳定内核

代码语言:javascript
复制
yum -y --enablerepo=elrepo-kernel install kernel-ml

方法二:通过下载kernel image的rpm包进行安装。 下载地址:

官方 Centos 6: http://elrepo.org/linux/kernel/el6/x86_64/RPMS/

官方 Centos 7: http://elrepo.org/linux/kernel/el7/x86_64/RPMS/

获取下载链接进行下载安装即可

代码语言:javascript
复制
wget https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-lt-4.4.185-1.el7.elrepo.x86_64.rpm

rpm -ivh kernel-lt-4.4.185-1.el7.elrepo.x86_64.rpm

方法三:通过源码包编译安装.

这种方式可定制性强,但也比较复杂,有需要的可自行查找资料安装,下面只给出各系统版本内核源码包的下载地址:

https://www.kernel.org/pub/linux/kernel/

4 修改grub中默认的内核版本 内核升级完毕后,目前内核还是默认的版本,如果此时直接执行reboot命令,重启后使用的内核版本还是默认的3.10,不会使用新的5.2.2,首先,我们可以通过命令查看默认启动顺序

代码语言:javascript
复制
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (5.2.2-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.4.182-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.10.1.el7.x86_64) 7 (Core)
CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-e34fb4f1527b4f2d9fc75b77c016b6e7) 7 (Core)

由上面可以看出新内核(4.12.4)目前位置在0,原来的内核(3.10.0)目前位置在1,所以如果想生效最新的内核,还需要我们修改内核的启动顺序为0:

vim /etc/default/grub

代码语言:javascript
复制
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

注:Centos 6 更改的文件相同,使用命令确定新内核位置后,然后将参数default更改为0即可。

接着运行grub2-mkconfig命令来重新创建内核配置,如下:

代码语言:javascript
复制
grub2-mkconfig -o /boot/grub2/grub.cfg

四 重启系统并查看系统内核

代码语言:javascript
复制
reboot
代码语言:javascript
复制
[root@localhost ~]# uname -r
5.2.2-1.el7.elrepo.x86_64

到此,内核升级完毕。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-07-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档