記一次centos 7內核升級事故

情景

公司作等保3測評,在進行系統漏洞檢測時發現內核存在漏洞,須要進行升級。html

名稱 版本
升級前內核 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進行安裝便可,該過程當中可能須要處理一些包之間的依賴問題。linux

$ 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

生效新版本內核

安裝完新版本內核以後必定要進行以下處理,否則就會和我同樣在重啓服務器的時候踩坑。centos

接下來操做的目的就是經過grub更改服務器啓動時加載內核的版本!bash

  • 查看當前安裝的系統內核服務器

    $ rpm -qa kernel*
    kernel-3.10.0-957.1.3.el7.x86_64
    kernel-headers-3.10.0-957.el7.x86_64
    kernel-tools-3.10.0-957.1.3.el7.x86_64
    kernel-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)
  • 切換系統啓動時默認內核版本:ui

    $ grub2-set-default 'CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core)'
  • 而後能夠順利重啓服務器了,重啓後查看系統信息:google

    $ 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

至此內核升級完成。centos7

意外

既然有正確操做過程,有時候每每就會一不當心犯點錯誤。由於是第一次作內核升級,我就順利的踩坑了。精彩過程請往下看:命令行

重啓

新版內核安裝完成後須要服務器重啓才生效。第一次操做,就當一個普通rpm包升級來處理的,安裝完成後果斷執行 init 6 重啓服務器,結果悲催了,以下圖:

20190124154832791453243.png

卡在這裏不動了,看提示信息也沒報錯,直接回車,結果下面的場景出現了:

20190124154832797348980.png

找不到對應版本的內核!!!

WTF!!!

解決問題

認真分析一下,提示信息是說找不到」3.10.0-327.el7.x86_64「版本的內核,那既然如此,百度(google)吧!關鍵詞」centos 7 內核升級重啓找不到內核「 ,找到一下幾篇文章:

看過第一篇和第二篇文檔後大概瞭解了修復的原理,即修改內核啓動順序,第一篇中的重裝原系統內核對於本次內核升級來講意義不大,第二篇卻是提醒我一個核心——linux系統一切皆文件!

既然能夠在服務器宕機前經過grub命令行更改內核啓動順序,那麼宕機後確定能夠經過救援模式進入grub修改或者其餘辦法。

問題復現

由於是第一次遇到這種問題,整好手頭有虛擬機,因而就抱着試試看的心理復現了該錯誤場景,重啓虛擬機來到內核選擇界面:

20190124154832876030297.png

提示:"e" 編輯當前所選項目!反正是虛擬機,隨便搞就是了,果斷進入編輯狀態:

20190124154832347583118.png

恰好有內核信息出現,心裏竊喜,不如就試試在這裏更改一下系統版本信息,再繼續往下看:

20190124154832363032560.png

一口氣全改了就是了,大不了重裝系統了(前提當前服務器沒部署特別重要的服務,否則的話仍是要嚴謹些)。將上圖中紅框內的信息都改爲新版本 「3.10.0-957.1.3.el7.x86_64」 ,而後Ctrl-x,進入系統加載界面,瞬間心裏如釋重負。

等待系統啓動完成,趕忙登錄檢查一下狀態,一切正常!!!

實踐出真知!!!(PS:沒事不要瞎搞,搞以前必定要好好學習!!!)

發篇文檔裝B!!!

相關文章
相關標籤/搜索