前进笔记

CentOS升级到最新版本内核

要使用 Google 的 TCP BBR 拥塞控制算法,要求内核版本至少 4.9.0 以上,而我的CentOS 7内核版本为 3.10.0 ,所以要进行升级。

CentOS 升级内核一般都会使用 ELRepo,这是一个用于 Enterprise Linux 软件包的 RPM 存储库。ELRepo 支持 Red Hat Enterprise Linux(RHEL) 及其衍生版本( Scientific Linux,CentOS 等 ),提供了诸多文件系统驱动程序,图形驱动程序,网络驱动程序,声音驱动程序,网络摄像头和视频驱动程序。项目地址

如果不想添加仓库或者速度太慢请考虑 yum-plugin-fastestmirror 插件,也可以在清华镜像站手动下载所需的软件包,

要添加ELRepo仓库:

导入公钥

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

安装 yum 源

#该源仅提供给 RHEL-8 ,SL-8 ,Centos-8
yum install https://www.elrepo.org/elrepo-release-8.1-1.el8.elrepo.noarch.rpm
#该源仅提供给 RHEL-7 ,SL-7 ,Centos-7
yum install https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
#该源仅提供给 RHEL-6 ,SL-6 ,Centos-6
yum install https://www.elrepo.org/elrepo-release-6-9.el6.elrepo.noarch.rpm

禁用其他源并查看可用的 Kernel

yum --disablerepo=\* --enablerepo="elrepo-kernel" list available

所看到的内核有两个版本,kernel-ml 基于长期支持分支( long-term ), kernel-lt 基于主线稳定分支( mainline ),最新稳定版要用 kernel-ml

安装 kernel-ml

yum --enablerepo=elrepo-kernel install kernel-ml

安装完后修改内核引导顺序

查看系统上的所有可用内核:

sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

输出:

0 : CentOS Linux (5.5.6-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-1062.12.1.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-514.26.2.el7.x86_64) 7 (Core)
3 : CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
4 : CentOS Linux (0-rescue-963c2c41b08343f7b063dddac6b2e486) 7 (Core)

可以看到服务器上有5个内核,我要使用 5.5.6 版本,可以使用 grub2-set-default 或编辑 /etc/default/grub 来设置

方法1. 通过 grub2-set-default 0 命令设置,其中 0 是上面查询出来的可用内核编号
grub2-set-default 0
方法2. 编辑 /etc/default/grub 文件,设置 GRUB_DEFAULT=0 ,将上面查询显示的编号为 0 的内核作为默认内核:
emacs /etc/grub.conf

生成 grub 配置文件并重启

grub2-mkconfig -o /boot/grub2/grub.cfg&&reboot

验证

uname -r

输出:

5.5.6-1.el7.elrepo.x86_64

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »