一步步教你如何升级Centos内核(图解)

查看当前系统所使用的内核版本

uname -rs

 

添加 ELRepo 软件仓库(一个由社区维护的企业级 Linux 软件仓库),依次运行下面命令。

导入 ELRepo 公钥

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

 

安装 ELRepo(适用 CentOS 7)

rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm

 

安装 ELRepo(适用 CentOS 6)

rpm -Uvh https://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm

 

编辑 ELRepo 配置文件,设置只用它的内核软件包(默认包含了其它类别软件),将[elrepo]下的 enabled 数值改为 0,[elrepo-kernel] enabled 数值改为 1。保存后用 yum repolist all 检查软件仓库启用情况。

vi /etc/yum.repos.d/elrepo.repo

 

考虑之后安装&更新内核都通过 ELRepo 获取,为避免之后运行 yum update 影响默认内核版本设置。建议在 Base.repo 中置不通过 CentOS 自带源更新旧版内核。

在 [updates] 下添加如下一行,排除 kernel 开头的软件包更新。

vi /etc/yum.repos.d/CentOS-Base.repo
exclude=kernel*

 

从 ELRepo 安装新版内核,有两个版本选择,分别是 kernel-lt 长期支持版本和 kernel-ml 最新主线版本。建议选择 kernel-lt 版本。

# 安装 kernel-lt 版本

yum --enablerepo=elrepo-kernel install kernel-lt

 

# 安装 kernel-ml 版本

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

 

列出系统上已安装的内核版本。

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

 

设置使用指定内核版本。内核名称用上个命令查询。

grub2-set-default "CentOS Linux (5.4.247-1.el7.elrepo.x86_64) 7 (Core)"

 

运行 grub2-mkconfig -o /boot/grub2/grub.cfg 命令重新生成启动文件,reboot 重启生效。 重启后再次查看当前内核版本 uname -rs

 

删除旧版内核和安装内核相关软件包

列出已安装的内核和相关软件包。

rpm -qa kernel\* | sort -V

 

这里用 package-cleanup 命令删除内核,需要先安装 yum-utils 软件包。

yum -y install yum-utils

删除内核旧版本(默认从最旧的开始删),修改其中数字以设置要保留几个旧内核版本。如果只有一个旧版内核,就不用操作了,建议保留以备不时之需。

package-cleanup --oldkernels --count=1

 

删除旧版内核相关的软件包。

yum remove kernel-tools-libs kernel-tools


安装新版内核相关软件包。其中 kernel-*-headers 是内核头文件,供 glibc 使用。有些软件需要用到,建议安装。
# 对应 kernel-lt 版本软件包

yum --enablerepo=elrepo-kernel install kernel-lt-tools kernel-lt-headers

 

# 对应 kernel-ml 版本软件包

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


这里在安装kernel-*-headers时有一个报错,是因为与旧版的kernel-*-headers冲突导致的,先删除旧版本再安装就可以了,注意:要把下面的旧内核版本改为你所使用的内核版本

yum remove kernel-headers-3.10.0-1160.90.1.el7.x86_64


 

运行 grub2-mkconfig -o /boot/grub2/grub.cfg 命令重新生成启动文件,reboot 重启生效。

阅读剩余
THE END