1. 程式人生 > >轉載 Centos7 內核從3.10升級到4.12過程

轉載 Centos7 內核從3.10升級到4.12過程

本地 可能 con eve rep pro 例如 sdn 出現

https://blog.csdn.net/youshijifen/article/details/73472434

近期,國家互聯網應急中心漏洞(CNCERT)公告中提到Linux kernel4個拒絕服務漏洞,對應CNVD-2017-07509、CNVD-2017-07508、CNVD-2017-07507、CNVD-2017-07386)。綜合利用上述漏洞,攻擊者可使系統拒絕服務,且在符合一定利用條件下可能導致遠程命令執行。設計到的內核版本從3.0到4.99,詳細信息可以到國家互聯網應急中心官網公告查看,隨後官方給出了代碼修復,用戶重新編譯內核到最新即可解決此次漏洞。

www.kernel.org內核官網下載4.12-RC5內核包

技術分享圖片

接下來我把自己虛擬機3.0內核升級到4.12

技術分享圖片

wgethttps://git.kernel.org/torvalds/t/linux-4.12-rc5.tar.gz --no-check-certificate

這裏使用Xshell通過ssh連接虛擬機。官網是https協議傳輸,使用wget下載時容易報錯,在最後加 --no-check-certificate 參數即可解決。

技術分享圖片

使用tar –xvf解壓到本地

技術分享圖片

安裝系統時選擇的是最小安裝法,導致還會有一些基本的工具沒裝,這裏使用

yum grouplist去檢測程序所有安裝包情況

這裏使用yum groupinstall Development tools安裝開發工具,這是一個包含眾多小工具例如:binutils、bison、flex、gcc、gcc-c++、gettext、libtool等等,以避免後面對內核進行編譯時出現錯誤。這是已經安裝後的。

技術分享圖片

yum install hmaccalc zlib-develbinutils-devel elfutils-libelf-devel

來安裝其它依賴工具,我這是已經安裝過後。如果提示要安裝,安裝即可。

技術分享圖片

開始準備編譯內核

make mrproper 刪除不必要的文件和目錄。

把舊版本內核的配置文件復制並命名為.config,這樣新編譯內核就會使用原來的配置文件

技術分享圖片

make bzImage 開始編譯,一路回車

技術分享圖片

解決報錯:

yum install openssl

技術分享圖片

yum install openssl-devel

技術分享圖片

make 編譯,需要較長時間

技術分享圖片

make modules文件編碼模塊,也需要等待較長一段時間

技術分享圖片

make modules_install 安裝模塊

技術分享圖片

make install

技術分享圖片

我們知道,centos 6.x是通過/etc/grub.conf就行內核啟動順序修改的,而且比較直觀查看。但centos 7的系統和6就不一樣了,是通過grub2為引導程序。下邊簡單說下centos 7的內核啟動順序如何修改。
1,首先查看當前系統有幾個內核。比如:

cat /boot/grub2/grub.cfg |grep menuentry

技術分享圖片

2,設置默認的啟動內核,選擇CentOS Linux (4.12.0-rc5)7 (Core)這個內核為默認啟動。

grub2-set-default "CentOS Linux (3.10.0-327.el7.x86_64)7 (Core)

技術分享圖片

驗證是否修改成功:grub2-editenv list

技術分享圖片

3,重啟機器觀察。
重啟成功以後查看下機器的內核是不是該內核:

在虛擬機啟動的時候出現多個內核引導項,選第一個進入系統

技術分享圖片

進入系統後查看內核版本,成功升級成4.12

技術分享圖片

轉載 Centos7 內核從3.10升級到4.12過程