虽然有些人使用Linux来表示操作系统作为一个整体,但重要的是要注意,严格来说,Linux只是内核。 另一方面,分发是一个完全功能的系统,建立在内核之上,具有各种各样的应用程序工具和库。
在正常操作期间,内核负责执行两个重要任务:
- 充当硬件和在系统上运行的软件之间的接口。
- 尽可能高效地管理系统资源。
为此,内核通过内置的驱动程序或以后可作为模块安装的驱动程序与硬件通信。
例如,当您计算机上运行的应用程序想要连接到无线网络时,它会将该请求提交给内核,后者又使用正确的驱动程序连接到网络。
随着新的设备和技术定期出来,如果我们想充分利用它们,保持我们的内核是最新的很重要。 此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击。
准备在CentOS 7或其衍生产品(如RHEL 7和Fedora)上更新内核? 如果是这样,继续阅读!
第1步:检查已安装的内核版本
当我们安装一个发行版,它包括一个特定版本的Linux内核。 要显示我们的系统上安装的当前版本,我们可以:
# uname -sr
下图显示了CentOS 7服务器中上述命令的输出:
检查CentOS 7中的内核版本
如果我们现在去https://www.kernel.org/ ,我们将看到最新的内核版本是4.10.1在本文撰写时(其他版本可从同一网站)。
要考虑的一个重要的事情是内核版本的生命周期 - 如果您当前使用的版本接近它的生命周期,在该日期后不会提供更多的错误修复。 有关详细信息,请参阅内核版本页。
第2步:在CentOS 7中升级内核
大多数现代发行版提供了一种使用软件包管理系统(例如yum和官方支持的存储库)升级内核的方法。
但是,这只会执行升级到分发版本库中可用的最新版本,而不是https://www.kernel.org/中的最新版本 。 不幸的是,Red Hat只允许使用前一个选项升级内核。
与Red Hat不同 , CentOS允许使用ELRepo ,这是一个第三方存储库,可以将升级到最新版本的内核。
要在CentOS 7上启用ELRepo存储库,请执行:
# 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
在CentOS 7中启用ELRepo
启用存储库后,可以使用以下命令列出可用的kernel.related包:
# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Yum - 查找可用的内核版本
接下来,安装最新的主线稳定内核:
# yum --enablerepo=elrepo-kernel install kernel-ml
在CentOS 7中安装最新的内核版本
最后,重新启动机器以应用最新的内核,然后运行以下命令检查内核版本:
uname -sr
验证内核版本
第3步:在GRUB中设置默认内核版本
要使新安装的版本成为默认引导选项,您将必须按如下所示修改GRUB配置:
打开并编辑文件/ etc / default / grub ,并设置GRUB_DEFAULT=0
。 这意味着GRUB初始屏幕中的第一个内核将被默认使用。
GRUB_TIMEOUT=5 GRUB_DEFAULT=0 GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto rhgb quiet" GRUB_DISABLE_RECOVERY="true"
接下来,运行以下命令重新创建内核配置。
# grub2-mkconfig -o /boot/grub2/grub.cfg
在GRUB中设置内核
重新启动并验证默认情况下现在正在使用最新的内核。
在CentOS 7中启动默认内核版本
恭喜! 你已经在CentOS 7中升级了你的内核!
概要
在本文中,我们已经解释了如何轻松升级系统上的Linux内核。 还有另一种方法,我们没有覆盖,因为它涉及从源代码编译内核,这将是值得拥有一本书,不推荐在生产系统。
虽然它代表了最好的学习体验之一,并允许内核的细粒度配置,您可能会渲染您的系统不可用,可能必须从头重新安装它。
如果你仍然有兴趣构建内核作为一个学习经验,你会发现如何做在Kernel Newbies页面的说明。
一如既往,如果您对本文有任何问题或意见,请随时使用下面的表格。