有時(shí)候,我們需要的功能只能在某個(gè)版本Linux內(nèi)核上運(yùn)行,比如BBR只能在Linux 4.9及以上版本中安裝使用。
查看內(nèi)核版本,命令 uname -r
執(zhí)行以下命令
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
然后,對(duì)于centos6、centos7執(zhí)行不同的命令
Centos 7.x 使用命令 :
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Centos 6.x 使用命令:
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
好了到了這步,我們可以看下哪些最新內(nèi)核是可以升級(jí)的,執(zhí)行命令
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
現(xiàn)在,開(kāi)始進(jìn)行內(nèi)核升級(jí),執(zhí)行以下命令
可選命令1(直接升級(jí)到默認(rèn)的最新穩(wěn)定版內(nèi)核,BBR用途推薦選這個(gè)):
yum -y --enablerepo=elrepo-kernel install kernel-ml.x86_64 kernel-ml-devel.x86_64
可選命令2(自己選一個(gè)版本,比如選擇其他的版本,如上圖,注:以下例子不適合BBR,Linux版本為4.4,請(qǐng)使用命令1):
yum -y --enablerepo=elrepo-kernel install kernel-lt.x86_64 kernel-lt-devel.x86_64
安裝新內(nèi)核過(guò)程比較久,可能需要等幾分鐘。
安裝完成后,這并沒(méi)有結(jié)束,現(xiàn)在生效的還是之前的內(nèi)核,還需要做修改(使用uname -r查看還是之前的內(nèi)核)
查看目前已經(jīng)安裝的內(nèi)核版本,命令如下
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
如下圖,可以看到列出了多個(gè)版本內(nèi)核,系統(tǒng)默認(rèn)用了位置1(紅標(biāo)1)內(nèi)核,而我們自己想把當(dāng)前位置0(紅標(biāo)0)這個(gè)內(nèi)核設(shè)置為默認(rèn)啟動(dòng)內(nèi)核。
開(kāi)始修改默認(rèn)啟動(dòng)內(nèi)核
執(zhí)行如下命令:
vim /etc/default/grub
將如下圖中的 GRUB_DEFAULT=saved 改為 GRUB_DEFAULT=0 保存即可
然后,通過(guò)grub2-mkconfig創(chuàng)建grub2配置文件,如下命令:
grub2-mkconfig -o /boot/grub2/grub.cfg
然后就是重啟系統(tǒng)了,重啟完成后可以看到內(nèi)核已經(jīng)生效了,如下圖:

所有步驟都已結(jié)束。
特別說(shuō)明:某些應(yīng)用可能在特定內(nèi)核下無(wú)法正常運(yùn)行,升級(jí)內(nèi)核前最好提前做下備份。