情景

公司做等保3测评,在进行系统漏洞检测时发现内核存在漏洞,需要进行升级。

名称版本 升级前内核CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core) 升级后内核CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core) 正确操作过程

升级方法

升级方法很简单,找到对应版本的内核rpm包,然后直接使用yum或rpm进行安装即可,该过程中可能需要处理一些包之间的依赖问题。

$ yum install -y kernel-3.10.0-957.1.3.el7.x86_64.rpm kernel-headers-3.10.0-957.el7.x86_64.rpm kernel-tools-3.10.0-957.1.3.el7.x86_64.rpm kernel-tools-libs-3.10.0-957.1.3.el7.x86_64.rpm

生效新版本内核

安装完新版本内核之后一定要进行如下处理,不然就会和我一样在重启服务器的时候踩坑。

接下来操作的目的就是通过grub更改服务器启动时加载内核的版本!

  • 查看当前安装的系统内核
$ rpm -qa kernel*kernel-3.10.0-957.1.3.el7.x86_64kernel-headers-3.10.0-957.el7.x86_64kernel-tools-3.10.0-957.1.3.el7.x86_64kernel-tools-libs-3.10.0-957.1.3.el7.x86_64
  • 查看当前系统默认启动的内核版本,结果可能有如下两种:
$ grub2-editenv list# 结果1:无相关信息saved_entry=0# 结果2:当前运行的系统版本saved_entry=CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)
  • 切换系统启动时默认内核版本:
$ grub2-set-default 'CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core)'
  • 然后可以顺利重启服务器了,重启后查看系统信息:
$ uname -a或$ cat /proc/version Linux version 3.10.0-957.1.3.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 29 14:49:43 UTC 2018

至此内核升级完成。

意外

既然有正确操作过程,有时候往往就会一不小心犯点错误。因为是第一次做内核升级,我就顺利的踩坑了。精彩过程请往下看:

重启

新版内核安装完成后需要服务器重启才生效。第一次操作,就当一个普通rpm包升级来处理的,安装完成后果断执行 init 6 重启服务器,结果悲催了,如下图:

卡在这里不动了,看提示信息也没报错,直接回车,结果下面的场景出现了:

找不到对应版本的内核!!!

WTF!!!

解决问题

认真分析一下,提示信息是说找不到”3.10.0-327.el7.x86_64“版本的内核,那既然如此,百度(google)吧!关键词”centos 7 内核升级重启找不到内核“ ,找到一下几篇文章:

  • 内核重装: http://blog.51cto.com/zhaoqifly/1841868 (不推荐该方法)
  • 修改内核启动顺序及删除无用内核: https://www.cnblogs.com/anliven/p/7944842.html (思路来源)
  • centos7 如何修改内核启动顺序: https://www.cnblogs.com/cnsong/p/7058000.html (正确操作过程参考文档)

看过第一篇和第二篇文档后大概了解了修复的原理,即修改内核启动顺序,第一篇中的重装原系统内核对于本次内核升级来说意义不大,第二篇倒是提醒我一个核心——linux系统一切皆文件!

既然可以在服务器宕机前通过grub命令行更改内核启动顺序,那么宕机后肯定可以通过救援模式进入grub修改或者其他办法。

问题复现

因为是第一次遇到这种问题,整好手头有虚拟机,于是就抱着试试看的心理复现了该错误场景,重启虚拟机来到内核选择界面:

提示:"e" 编辑当前所选项目!反正是虚拟机,随便搞就是了,果断进入编辑状态:

刚好有内核信息出现,内心窃喜,不如就试试在这里更改一下系统版本信息,再继续往下看:

一口气全改了就是了,大不了重装系统了(前提当前服务器没部署特别重要的服务,不然的话还是要严谨些)。将上图中红框内的信息都改成新版本 “3.10.0-957.1.3.el7.x86_64” ,然后Ctrl-x,进入系统加载界面,瞬间内心如释重负。

等待系统启动完成,赶紧登陆检查一下状态,一切正常!!!

实践出真知!!!(PS:没事不要瞎搞,搞之前一定要好好学习!!!)

作者:阿dai学长

centos升级内核 大漠知秋_记一次centos 7内核升级事故相关推荐

  1. centos怎么用命令关机_【转】centos关机与重启命令详解

    Linux centos关机与重启命令详解与实战 Linux centos重启命令: 1.reboot 2.shutdown -r now 立刻重启(root用户使用) 3.shutdown -r 1 ...

  2. java uuid会重复吗_记一次订单号重复的事故,快看看你的 uuid 在并发下还正确吗?...

    点击上方蓝色字体,选择"设为星标" 回复"666"获取面试宝典 去年年底的时候,我们线上出了一次事故,这个事故的表象是这样的: 系统出现了两个一模一样的订单号, ...

  3. t420i升级固态硬盘提升_给自己的办公设备大升级:购入雷克沙固态移动硬盘,享受高速...

    因为工作的关系,日常需要经常性的去使用移动硬盘去备份和存储一些重要的文件资料.日常使用了一款1TB容量的移动硬盘,从存储容量来说绰绰有余了,因为日常存储的文件居多,本身PPT和Excel文件都占用不了 ...

  4. t420i升级固态硬盘提升_你的“文件传输助手”该升级了!希捷酷鱼飞翼移动固态硬盘体验...

    大数据时代,给我们带来的不只是海量数据,还有文件体积的一增再增.曾几何时,我们电脑里一张照片几M.一部电影几G.一个游戏10来G都算大的了,但这些在今天看来,简直小儿科,不值一提!大法一张照片动辄50 ...

  5. java二次开发浏览器内核_常见的五大浏览器的内核

    首先我们理解一下什么是内核: 英文叫做:Rendering Engine,中文翻译很多,排版引擎.解释引擎.渲染引擎,现在流行称为浏览器内核. Rendering Engine,顾名思义,就是用来渲染 ...

  6. linux内核深度解析_十年磨一剑,第一本龙芯平台的Linux内核书来了

    <用"芯"探核:基于龙芯的Linux内核探索解析>是一本基于龙芯平台,结合源代码来探索和解析Linux-5.x内核的书. 市面上解析Linux 内核的经典书籍已有不少, ...

  7. java 内核驱动程序_内核第三讲,进入ring0,以及编写第一个内核驱动程序.

    内核第三讲,进入ring0,以及编写第一个内核驱动程序. 一丶进入ring0之前的简介 进入0环之前,我们要明白操作系统的设计,操作系统允许驱动程序使用In out等等特权指令来操作高2G的内存.那么 ...

  8. linux 内核 网卡驱动 移植,Linux内核移植步骤_添加DM9000网卡驱动(设备树).docx

    Linux内核移植步骤_添加DM9000网卡驱动(设备树) Linux内核移植步骤2015年05月13日星期三上午 11:05往设备树中添加网卡驱动:1.选平台,指定交叉编译工具链:(1).在Make ...

  9. centos mysql 5.6.19_Centos 6.3将Mysql 5.1.61升级为mysql 5.6.19遇到的问题及解决方式

    环境:mysql-5.1.61 操作系统:Cent-os6.3 目的:升级为mysql 5.6.19 首先,yum是不可行的.因为yum源没更新,我已经使用了163网易的源,但是还是不行.最新版仍然不 ...

最新文章

  1. MinkowskiEngine语义分割
  2. 机器学习中的标签泄漏介绍及其如何影响模型性能
  3. Android之给图片添加水印效果
  4. mysql表copy锁表吗_MySQL锁(二)表锁:为什么给小表加字段会导致整个库挂掉?...
  5. ASP.NetViewState的实现方案
  6. 服务器修改密码复杂性,【已解决】在windows server 2008域环境中如何禁用密码复杂性要求?...
  7. 如何选择WEB报表工具(二)
  8. mac上用VMWare虚拟机装Ubuntu,搞定了
  9. ASP和JS读写Cookie的问题
  10. 解决wordpress用户注册时,点击邮件中的重置密码链接提示“您的密码重设链接无效”
  11. 计算机系统及原理pdf,计算机系统及工作原理教学设计.pdf
  12. 数据库——T-SQL方式创建数据库
  13. 移动平均法,加权平均法
  14. 原生小说APP源码出售,可二次开发,小说阅读app源码
  15. 深度学习基础知识(人工智能)
  16. 输入名字显示其电话号码
  17. Windows 7恢复分区丢失了怎么恢复?
  18. 自学c语言需要懂英语吗,本人没有英语基础和数学基础,能学好C语言吗?
  19. leetcode find kth
  20. SQL Server使用代码创建数据库主文件日志文件

热门文章

  1. phpstrom配置Xdebug
  2. 6 功能4:文章详情页、点赞功能
  3. 【JS 笔记】比较操作符之大小与记录
  4. HEAP: Free Heap block xxxxxxxx modified at xxxxxxxx after it was freed
  5. 新四则运算 合作完成
  6. 插件五之滚动条jquery.slimscroll.js
  7. linux硬盘分区为什么总有1M,3步实现制作并挂载自己的Linux硬盘分区
  8. 没有日志 mysql 5.6主从同步_mysql之 mysql 5.6不停机主从搭建(一主一从基于日志点复制)...
  9. mysql 避免重复添加_MySql三种避免重复插入数据的方法
  10. arduino nano 蓝牙_贸泽开售结合蓝牙5.2与USB 2.0的 Nordic Semiconductor nRF52820多协议SoC...