公司使用的阿里雲服務器(Centos7.4 x86_64bit)內核版本為:3.10.0-693.21.1.el7.x86_64, 2019年3月4日 02:07:58通過雲盾▪安騎士-->漏洞管理顯示七條高危漏洞提示,緊急程度為:高
說是內核漏洞,應該可以通過升級內核來解決這個問題,點擊“詳情”查看:
確定是內核漏洞,以及python-perf 的漏洞
打開Linux kernel官網https://www.kernel.org/,當前最新穩定版本為:4.20.13
現在着手准備升級系統內核版本:
Linux內核升級通常有兩種方式:
1.下載新版內核到服務器上,進行編譯安裝,之后刪除老的內核。優點:可完全控制編譯項。缺點:速度較慢,且容易失敗。
2. 采用yum 方式安裝,優點是:快捷且方便,成功率高。
這里采用第二種方式來安裝,畢竟網站還在使用,不能耽誤。采用yum安裝最多也就三五分鍾的事,萬一失敗,還能補救。
一、導入key
[root@docker ~]#rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
二、安裝elrepo的yum源
[root@docker ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm Retrieving http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm Retrieving http://elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm Preparing... ################################# [100%] Updating / installing... 1:elrepo-release-7.0-3.el7.elrepo ################################# [100%]
三、安裝內核(默認安裝最新穩定版本內核)
#yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml
四、查看啟動順序
[root@docker ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg 0 : CentOS Linux (4.20.13-1.el7.elrepo.x86_64) 7 (Core) 1 : CentOS Linux (3.10.0-957.5.1.el7.x86_64) 7 (Core) 2 : CentOS Linux (3.10.0-957.1.3.el7.x86_64) 7 (Core) 3 : CentOS Linux (3.10.0-862.14.4.el7.x86_64) 7 (Core) 4 : CentOS Linux (3.10.0-862.11.6.el7.x86_64) 7 (Core) 5 : CentOS Linux (3.10.0-693.2.2.el7.x86_64) 7 (Core) 6 : CentOS Linux (0-rescue-f0f31005fb5a436d88e3c6cbf54e25aa) 7 (Core)
說明:/etc/grub2.cfg文件是一個鏈接文件,實際鏈接到/boot/grub2/grub.cfg
新的內核版本默認會在最前面,下面將選擇系統啟動時的內核版本,順序為 0
五、選擇默認內核版本
[root@docker ~]# grub2-set-default 0
六、重啟服務器,使之生效
[root@docker ~]# reboot
七、驗證內核版本
[root@docker ~]# uname -a Linux docker 4.20.13-1.el7.elrepo.x86_64 #1 SMP Wed Feb 27 10:02:05 EST 2019 x86_64 x86_64 x86_64 GNU/Linux
Linux docker 4.20.13-1.el7.elrepo.x86_64 #1 SMP Wed Feb 27 10:02:05 EST 2019 x86_64 x86_64 x86_64 GNU/Linux
顯示已經是4.20.13的內核。
最后一步,需要將內核工具包以及python-perf一並升級。
首先刪除舊版本工具包:
[root@docker ~]# yum remove kernel-tools-libs.x86_64 kernel-tools.x86_64
然后更新內核工具包:
[root@docker ~]# yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml-tools.x86_64
最后升級python-perf
[root@docker ~]# yum -y update python-perf
至此,Centos 7.4 升級最新版本內核完成。