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」版。查看和发表评论请点击:完整版 »