小伙伴日常肯定遇到过内核升级的情况,小编就以Centos 7内核升级为例,升级内核一般有两种方式:一种是编译,一种是yum,现就yum这种方法进行学习。
1、查看当前内核版本
①uname -r
②uname -a
③less /proc/version
2、升级内核准备
①启用 ELRepo 仓库,导入ELRepo仓库的公共密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
②安装ELRepo仓库的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
3、查看可用内核版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
4、安装最新版本内核
yum --enablerepo=elrepo-kernel install kernel-ml
//enablerepo 选项开启 CentOS 系统上的指定仓库。默认开启的是 elrepo,这里用 elrepo-kernel 替换//
5、设置grub2
内核安装好后,需要设置为默认启动选项并重启后才会生效,查看系统上的所有可用内核:
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
设置新的内核为grub2的默认版本 :
①通过 grub2-set-default 0
命令设置,0是上面查出来的序号
②编辑 /etc/default/grub
文件,设置 GRUB_DEFAULT=0,通过上面查询显示的编号为 0 的内核作为默认内核:
生成 grub 配置文件并重启:grub2-mkconfig -o /boot/grub2/grub.cfg
6、重启后并验证
reboot //重启
uname -r //验证
7、删除旧内核(建议保留一段时间再进行删除)
查看系统的全部内核
rpm -qa | grep kernel
删除方法有两种:
①yum remove 删除旧内核的 RPM 包
②安装yum-utils
yum install yum-utils
删除旧版本:package-cleanup --oldkernels