详解如何在 CentOS 7 中安装或升级最新的内核

 更新时间:2017年03月20日 11:23:43   作者:Matei Cezar  
这篇文章主要介绍了详解如何在 CentOS 7 中安装或升级最新的内核,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

虽然有些人使用 Linux 来表示整个操作系统,但要注意的是,严格地来说,Linux 只是个内核。另一方面,发行版是一个完整功能的系统,它建立在内核之上,具有各种各样的应用程序工具和库。

在正常操作期间,内核负责执行两个重要任务:

  1. 作为硬件和系统上运行的软件之间的接口。
  2. 尽可能高效地管理系统资源。

为此,内核通过内置的驱动程序或以后可作为模块安装的驱动程序与硬件通信。

例如,当你计算机上运行的程序想要连接到无线网络时,它会将该请求提交给内核,后者又会使用正确的驱动程序连接到网络。

随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要。此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击。

准备好了在 CentOS 7 或其衍生产品(如 RHEL 7和 Fedora)上更新内核了么?如果是这样,请继续阅读!

步骤 1:检查已安装的内核版本

让我们安装了一个发行版,它包含了一个特定版本的内核。为了展示当前系统中已安装的版本,我们可以:

# uname -sr

下面的图片展示了在一台 CentOS 7 服务器上的输出信息:

Check Kernel Version in CentOS 7

如果我们现在进入 https://www.kernel.org/,在撰写本文时,我们看到最新的内核版本是4.10.1(其他版本可以从同一网站获得)。

还要考虑的一个重要的事情是内核版本的生命周期 - 如果你当前使用的版本接近它的生命周期结束,那么在该日期后将不会提供更多的 bug 修复。关于更多信息,请参阅内核发布页

步骤 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

Enable ELRepo in CentOS 7

在 CentOS 7 启用 ELRepo

仓库启用后,你可以使用下面的命令列出可用的内核相关包:

# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

Yum - Find Available Kernel Versions

接下来,安装最新的主线稳定内核:

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

Install Latest Kernel Version in CentOS 7

最后,重启机器并应用最新内核,接着运行下面的命令检查最新内核版本:

uname -sr

Verify Kernel Version

步骤 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

Set Kernel in GRUB

重启并验证最新的内核已作为默认内核。

Booting Default Kernel Version in CentOS 7

恭喜你!你已经在 CentOS 7 中升级内核了!

总结

在本文中,我们解释了如何轻松升级系统上的 Linux 内核。我们还没讲到另外一个方法,因为它涉及从源代码编译内核,这可以写成一本书,并且不推荐在生产系统上这么做。

虽然它是最好的学习体验之一,并且允许细粒度配置内核,但是你可能会让你的系统不可用,并且可能必须从头重新安装它。

上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • CentOS Linux系统搭建Android开发环境详细介绍

    CentOS Linux系统搭建Android开发环境详细介绍

    这篇文章主要介绍了CentOS Linux系统搭建Android开发环境详细介绍的相关资料,需要的朋友可以参考下
    2016-11-11
  • 在 Ubuntu 15.04/CentOS 7 中安装 Lighttpd Web 服务器的方法

    在 Ubuntu 15.04/CentOS 7 中安装 Lighttp

    以下是我们在运行 Ubuntu 15.04 或 CentOS 7 Linux 发行版的机器上安装 Lighttpd Web 服务器的简要流程,需要的朋友可以参考下
    2017-04-04
  • Centos环境下安装Zend optimizer 3.3.9的方法

    Centos环境下安装Zend optimizer 3.3.9的方法

    这篇文章主要介绍了Centos环境下安装Zend optimizer 3.3.9的方法,简单说明了CentOS服务器环境下安装Zend optimizer 3.3.9的相关下载、解压、安装、配置等操作步骤与相关注意事项,需要的朋友可以参考下
    2018-03-03
  • 宝塔Linux面板 2.8.9稳定版介绍

    宝塔Linux面板 2.8.9稳定版介绍

    这篇文章主要介绍了宝塔Linux面板 2.8.9稳定版介绍,需要的朋友可以参考下
    2017-04-04
  • Linux shell利用sed如何批量更改文件名详解

    Linux shell利用sed如何批量更改文件名详解

    最近在学习shell,为了练习sed,写了个简单的批量修改文件名的脚本,所以下面这篇文章主要给大家介绍了关于Linux shell利用sed如何批量更改文件名的相关资料,需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-09-09
  • linux安装xmind的方法步骤

    linux安装xmind的方法步骤

    这篇文章主要介绍了linux安装xmind的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Linux基础之xargs命令的入门实例

    Linux基础之xargs命令的入门实例

    你是否遇到过这样的情况,需要一遍又一遍地对多个文件执行同样的操作?如果有那你肯定会深有感触这是多么的无聊和效率低下。还好有种简单的方式,可以使用xargs命令解决这个烦恼。本文介绍了Linux基础学习之xargs命令入门的相关资料,需要的朋友可以参考下。
    2017-12-12
  • 详解bash中的初始化机制

    详解bash中的初始化机制

    这篇文章主要介绍了详解bash中的初始化机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 在Centos部署nodejs的步骤

    在Centos部署nodejs的步骤

    本篇文章主要介绍了在Centos部署nodejs的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • linux查看硬盘大小与挂载硬盘的实现

    linux查看硬盘大小与挂载硬盘的实现

    这篇文章主要介绍了linux查看硬盘大小与挂载硬盘的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09

最新评论