轉載 Centos7 內核從3.10升級到4.12過程
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過程