OS
CentOS 7 升级内核
CentOS 7 自带的内核是3.10版本,有很多特性都无法使用,其中尤为重要的一点是没有bbr加速。其实elrepo中是有更新的内核,通过elrepo换内核实现各种新功能的同时还可以保持系统本身的稳定性。 更新CentOS 7 更新内核需要安装几个软件(repolist),所以首先需要更新一下。
1 |
yum -y update |
更新完后,安装yum-plugin-fastestmirror来加速后面从更新源下载的速度和稳定性,避免在如此重要的时候掉链子导致后续无法进入系统。
1 |
yum -y install yum-plugin-fastestmirror |
查看内核版本 首先要检查系统版本和内核版本,以确保操作了正确的服务器。
1 |
1 2 |
cat /etc/os-release uname -msr |
一般来说,CentOS 7 的内核版本应该是3.10。 添加ELRepo源 将ELRepo的gpg密钥添加进系统。
1 |
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org |
添加ELRepo源。
1 |
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm |
检查系统上目前可用的所有更新源,确保ELRepo在列表中。
1 |
yum repolist |
安装新内核 使用以下命令,系统将自动从elrepo上下载并安装目前最新的稳定版系统内核。
1 |
yum --enablerepo=elrepo-kernel install kernel-ml |
配置Grub2文件 安装了最新的内核后,我还需要手动设置,将默认内核改成刚才安装的才可以。 首先检查所有已经安装了的内核。
1 |
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg |
一般情况下,至少有3.10和新内核两个内核,并且新内核的标识为0,将其设置为默认内核。
1 |
grub2-set-default 0 |
随后,生成grub2的配置文件并重启。
1 2 |
grub2-mkconfig -o /boot/grub2/grub.cfg reboot |
1 |
1 |
重启后,查看内核是否已经更新了。
1 |
uname -msr |
移除多余的内核 如果系统内有多个内核,可以选择删除不需要的内核,也可以不删除留在那里。 删除内核需要安装yum-utils。
1 |
yum install yum-utils |
使用以下命令进行删除。需要注意的是,只有系统上有超过桑哥以上的内核时,才会按照从旧到新的顺序依次删除,如果没有那么多的内核,则不会有删除旧内核的行为。
1 |
package-cleanup --oldkernels |