由于公司服务器新业务需要,需要将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 查看系统内核版本

[root@vvuv0394 ~]# cat /etc/redhat-release
CentOS Linux release 7.2. (Core)
[root@vvuv0394 ~]# uname -r
3.10.-.el7.x86_64

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

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源:

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

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

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

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

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/

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

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,首先,我们可以通过命令查看默认启动顺序

[root@localhost ~]# awk -F\' '$=="menuentry " {print $}' /etc/grub2.cfg
CentOS Linux (5.2.-.el7.elrepo.x86_64) (Core)
CentOS Linux (4.4.-.el7.elrepo.x86_64) (Core)
CentOS Linux (3.10.-957.21..el7.x86_64) (Core)
CentOS Linux (3.10.-957.10..el7.x86_64) (Core)
CentOS Linux (3.10.-.el7.x86_64) (Core)
CentOS Linux (-rescue-e34fb4f1527b4f2d9fc75b77c016b6e7) (Core)

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

vim /etc/default/grub

GRUB_TIMEOUT=
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=
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命令来重新创建内核配置,如下:

grub2-mkconfig -o /boot/grub2/grub.cfg

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

reboot
[root@localhost ~]# uname -r
5.2.-.el7.elrepo.x86_64

到此,内核升级完毕。

CentOS 7/6系统升级内核版本到5.2.2的更多相关文章

  1. CentOS 7.3降低内核版本为7.2

    查看当前内核版本: [root@nineep ~]# uname -r 2.3.10.0-514.2.2.el7.x86_64  查看当前发行版本: [root@nineep ~]# cat /etc ...

  2. 升级Centos 7/6内核版本到4.12.4的方法

    一.查看那系统内核版本 二.升级内核 三.修改grub中默认的内核版本 四.重启系统并查看系统内核 公司打算上Docker服务,目前需要安装运行环境,Docker新的功能除了需要Centos 7系统之 ...

  3. yum-cron更新 CentOS yum update 不升级内核版本方法

    http://www.360doc.com/content/15/0608/17/15798950_476597844.shtml 相关yum-cron说明有一些 CentOS yum update ...

  4. centos 6.x系统升级glibc库至2.15版本的快速解决办法

    CentOS 6.x系统升级glibc库至2.15版本的快速解决办法  1.先确保相关软件包已经安装 yum install -y glibc yum install -y glibc-common ...

  5. 升级CentOS 7.4内核版本的三种方案

    https://blog.csdn.net/breeze915/article/details/79243673 在实验环境下,已安装了最新的CentOS 7.4操作系统,现在需要升级内核版本. 实验 ...

  6. centos与内核版本对应关系

    centos是基于redhat的二次开发,redhat会封装不同版本的内核,有时候,我们需要指定内核版本的centos,下面两个网站或许对你有帮助: https://access.redhat.com ...

  7. CENTOS 7 升级内核版本(附带升级脚本)

    写在前面的话 对于系统而言,除非是那种安全性要求非常高的公司或者经常会有第三方安全机构对其漏洞扫描的才容易涉及到系统的内核升级,比如之前呆过一个公司,因为需要做三级等保的原因,就会涉及到系统扫描,这时 ...

  8. 升级CentOS 7.4内核版本--升级到最新

    在实验环境下,已安装了最新的CentOS 7.4操作系统,现在需要升级内核版本.实验环境 CentOS-7-x86_64-Minimal-1708.isoCentOS Linux release 7. ...

  9. CentOS 7 升级内核版本

    1.查看当前内核版本 $ uname -r 3.10.0-514.el7.x86_64 $ uname -a Linux k8s-master 3.10.0-514.el7.x86_64 #1 SMP ...

随机推荐

  1. 删除tppabs,href="javascript:if(confirm)...",、/*tpa=http://...

    扒网站,据说是web从业人员的必备技能; 废话不多,下面应该是你想要的; 1:   tppabs="h[^"]*" 2: href="javascript\:i ...

  2. C二维数组用指针地址遍历

    #include <stdio.h> #include <stdlib.h> int main(){ int a = 100; void *p = &a; printf ...

  3. cf 911F 树的直径+贪心

    $des$ 给定一棵 n 个节点的树,你可以进行 n ? 1 次操作,每次操作步骤如下:选择 u,v 两个度数为 1 的节点.将 u,v 之间的距离加到 ans 上.将 u 从树上删除.求一个操作序列 ...

  4. UOJ226. 【UR #15】奥林匹克环城马拉松 [组合数学,图论]

    UOJ 思路 我们知道关于有向图欧拉回路计数有一个结论:在每个点入度等于出度的时候,答案就是 \[ t_w(G)\prod (deg_i-1)! \] 其中\(t_w(G)\)是以某个点为根的树形图个 ...

  5. 团队作业-Alpha(1/4)

    队名:软工9组 组长博客: https://www.cnblogs.com/cmlei/ 作业博客: 组员进度 ● 组员一(组长) 陈明磊 ○过去两天完成了哪些任务 ●文字/口头描述 初步学习flas ...

  6. BDD本质及与ATDD区别

    说起BDD,你会想到什么?   在刚接触BDD(Behavior Driven Development,行为驱动开发)的时候,我以为就是用Cucumber这样的工具来编写场景用例,从而实现自动化测试, ...

  7. Tomcat启动过程中找不到JAVA_HOME JRE_HOME的解决方法

    转自:http://blog.sina.com.cn/s/blog_61c006ea0100l1u6.html 原文: 在XP上明明已经安装了JDK1.5并设置好了JAVA_HOME,可偏偏Tomca ...

  8. iPhone 照片为heic格式怎么处理?

      解决办法: 永久解决:进入 相机设置 为 兼容模式即可 这样设置以后拍出来的就是jpg格式啦. 之前的heic的照片可以用,格式工厂 批量转化一下.   文章来源:刘俊涛的博客 欢迎关注公众号.留 ...

  9. Mysql中如何查看慢查询以及查看线程

    一.MySQL数据库有几个配置选项可以帮助我们及时捕获低效SQL语句 1,slow_query_log这个参数设置为ON,可以捕获执行时间超过一定数值的SQL语句. 2,long_query_time ...

  10. 初始化html font-size

    (function () { var docEl = document.documentElement, resizeEvt = 'orientationchange' in window ? 'or ...