作者信息
邮箱:sijiayong000@163.com
Q Q:601566386
Centos 7.x 内核升级
注意:
这篇文章只在 CentOS 7.× 系列版本上验证过,其他 CentOS 版本请谨慎使用.
检查当前 CentOS 系统版本
cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
检查当前 CentOS 系统内核版本
uname -sr
Linux 3.10.0-327.el7.x86_64
可以看出当前系统为 CentOS 7.2,系统内核版本为 3.10
升级 CentOS 7.× 内核,启用 ELRepo
大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。
增加epel仓库
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
仓库启用后,你可以使用下面的命令列出可用的系统内核相关包:
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
接下来,安装最新的主线稳定内核:
yum --enablerepo=elrepo-kernel install kernel-ml
设置 GRUB 默认的内核版本
为了让新安装的内核成为默认启动选项
你需要如下修改 GRUB 配置,打开并编辑/etc/default/grub
并设置GRUB_DEFAULT=0
意思是 GRUB 初始化页面的第一个内核将作为默认内核.
编辑/etc/default/grub
文件
# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto console=ttyS0 console=tty0 panic=5"
GRUB_DISABLE_RECOVERY="true"
GRUB_TERMINAL="serial console"
GRUB_TERMINAL_OUTPUT="serial console"
GRUB_SERIAL_COMMAND="serial --speed=9600 --unit=0 --word=8 --parity=no --stop=1"
接下来运行下面的命令来重新创建内核配置.
grub2-mkconfig -o /boot/grub2/grub.cfg
重启机器,查看系统当前内核版本,验证最新的内核已作为默认内核
# uname -a
Linux VM_112_0_centos 4.12.0-1.el7.elrepo.x86_64 #1 SMP Sun Jul 2 20:38:48 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux
删除 CentOS 更新后的旧内核
查看系统中全部的内核 RPM 包:
# rpm -qa | grep kernel
kernel-ml-4.16.2-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-327.el7.x86_64
kernel-tools-3.10.0-327.el7.x86_64
kernel-3.10.0-327.el7.x86_64
删除旧内核的 RPM 包
rpm -e kernel-tools-libs-3.10.0-327.el7.x86_64 kernel-tools-3.10.0-327.el7.x86_64 kernel-3.10.0-327.el7.x86_64
最后重启系统