如何在CentOS 7上升级内核
内核是操作系统的大脑。 这就像每个操作系统的核心元素。 说到Linux,由Linus Torvalds创建的Linux内核是一个单片的,类Unix的内核。 一些使用Linux内核的流行操作系统是Ubuntu,CentOS和Debian。
在本教程中,我将向您展示如何将CentOS 7内核升级到最新版本,我们将使用ELRepo存储库中的内核。 CentOS 7使用3.10作为默认内核版本。 在本指南中,我们将安装最新的稳定版本4.11.2。
什么是ELRepo?
ELRepo是一个基于社区的企业Linux存储库,支持RedHat Enterprise(RHEL)和其他基于它的分发(CentOS,Scientific,Fedora等)。
ELRepo专注于与硬件相关的软件包,包括文件系统驱动程序,图形驱动程序,网络驱动程序,声卡驱动程序,网络摄像头等。
我们将要做什么
- 更新和升级CentOS 7
- 检查内核版本
- 添加ELRepo存储库
- 安装新的内核版本
- 配置Grub2
- 删除旧的内核
第1步 - 更新和升级CentOS 7
在升级内核之前,我们必须做的第一件事是将所有软件包升级到最新版本。 使用下面的yum命令将存储库和所有包更新到最新版本。
yum -y update
现在安装以下软件包以快速安装和更新过程。
yum -y install yum-plugin-fastestmirror
CentOS 7系统已更新,所有软件包升级到最新版本。
第2步 - 检查内核版本
在本教程中,我们将使用CentOS 7.3和默认的内核3.10。 用以下命令检查你的CentOS版本。
cat /etc/redhat-release
cat /etc/os-release
您将获得如下所示的系统信息。
为了检查内核版本,可以使用uname命令 。
uname -msr
输出将显示您的机器的Linux内核版本以及系统架构。
第3步 - 添加ELRepo存储库
在安装新的内核版本之前,我们需要添加新的版本库ELRepo库。 这是因为我们想要使用ELRepo社区的内核版本。
将ELRepo gpg密钥添加到系统中。
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
现在用rpm命令添加新的ELRepo存储库。
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
接下来,检查系统上启用的所有存储库,并确保列表中包含ELRepo。
yum repolist
ELRepo存储库已被添加到CentOS 7服务器。
第4步 - 安装新的内核版本
在这一步中,我们将从ELRepo存储库安装最新的内核版本(4.11.2-最新的kernel.org上的稳定版本)。
使用下面的这个yum命令。
yum --enablerepo=elrepo-kernel install kernel-ml
--enablerepo是在CentOS系统上启用特定存储库的选项。 默认情况下,启用“elrepo”存储库,但对于我们的情况,我们需要“elrepo-kernel”。
您可以使用以下命令检查系统上的所有可用存储库(启用以及禁用)。
yum repolist all
第5步 - 配置Grub2 CentOS 7
在第四步,我们已经为系统安装了一个新的内核4.11.2。 现在我们将向您展示如何使它成为系统启动时加载的默认内核版本。
使用下面的awk命令检查所有可用的内核版本。
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
在输出中,您会看到我们有两个内核版本 - 3.10和4.11.2。
我们要使用内核4.11作为默认值,所以你可以使用下面的命令来实现这个功能。
sudo grub2-set-default 0
0 - 它来自顶部的awk命令。 内核4.11.2 = 0,内核3.10 = 1.如果要恢复到旧的内核,可以将grub2-set-default命令的值更改为1。
接下来,用'gurb2-mkconfig'命令生成grub2配置,然后重启服务器。
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
请再次登录到服务器,并检查当前使用的内核。
uname -msr
结果应该是你的系统上正在使用内核版本4.11.2。
第6步 - 删除旧的内核(可选)
这是我们认为您需要获得更多自由空间的可选步骤。 在这一步中,我们将向您展示如何从CentOS 7系统中删除一个旧的内核。 这可以在服务器上安装几个内核版本时完成。
为此,我们需要从存储库安装yum-utils工具。
yum install yum-utils
现在用下面的命令清理旧的内核。
package-cleanup --oldkernels
如果你得到下面的结果。
这意味着你只安装了2或3个版本的内核。 如果您安装了3个以上的版本,该命令将自动从您的系统中删除旧的内核。
使用ELRepo内核版本,CentOS 7内核已经更新到最新的稳定版本。