教你三步在 CentOS 7中安装或升级最新的内核

前端之家收集整理的这篇文章主要介绍了教你三步在 CentOS 7中安装或升级最新的内核前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

作为硬件和系统上运行的软件之间的接口。

尽可能高效地管理系统资源。

想要了解更多关于windows,linux的知识可以去《linux就该这么学》看看。

工具/原料

  • CentOS 7
方法/步骤
  1. 步骤 1:检查已安装的内核版本

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

    # uname -sr

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

    在 CentOS 7 上检查内核版本

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

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

  2. @H_502_86@

@H_502_86@
@H_502_86@
步骤 2:在 CentOS 7 中升级内核 @H_502_86@
  1. 大多数现代发行版提供了一种使用 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

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

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

    yum - 找出可用的内核版本

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

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

    在 CentOS 7 中安装最新的内核版本

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

    uname -sr

  2. @H_502_86@

  3. 3

步骤 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 中升级内核了!

  • @H_502_86@
  • @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    如果碰到/boot 空间不足的情况,按照下面处理,

    CentOS系统安装内核时提示/boot分区空间不足问题的解决方法

    今天登录服务器,准备使用 yum 安装一个软件,习惯性的先 yum update 一下,结果最后出现如下错误:

    ...
    Transaction check error:
    installing package kernel-3.10.0-327.4.5.el7.x86_64 needs 20MB on the /boot filesystem

    Error Summary
    -------------
    Disk Requirements:
    At least 20MB more space needed on the /boot filesystem.

    提示是要安装新的 Linux 内核包,但 /boot 文件系统空间不足 20MB。所以更新失败了。

    好吧,那就看看 /boot 下面到底还有多少空间。

    > df -H /boot
    Filesystem Size Used Avail Use% Mounted on
    /dev/sda1 247M 237M 10M 96% /boot

    嗯,只有 10M 了,电脑是不会撒谎的。怎么办呢,/boot 文件系统是很重要的,弄不好系统就挂了,我可不想出现这样的结局,明天可是周六。

    网上搜索了一番,原来可以尝试删除旧的内核包来达到清理空间的目的。 (文章地址)

    先看看有没有旧的内核包:

    > rpm -qa|grep kernel
    kernel-3.10.0-229.14.1.el7.x86_64
    kernel-3.10.0-229.11.1.el7.x86_64
    kernel-devel-3.10.0-229.11.1.el7.x86_64
    kernel-3.10.0-327.4.4.el7.x86_64
    kernel-devel-3.10.0-327.4.4.el7.x86_64
    kernel-devel-3.10.0-229.14.1.el7.x86_64
    kernel-headers-3.10.0-327.4.4.el7.x86_64
    kernel-3.10.0-229.el7.x86_64
    kernel-tools-libs-3.10.0-327.4.4.el7.x86_64
    kernel-tools-3.10.0-327.4.4.el7.x86_64

    嗯,有的,那就好。不过开始之前,我还要确认一下当前系统用的是哪个,删错了可不好。

    > uname -a
    Linux ... 3.10.0-229.14.1.el7.x86_64 #1 ... GNU/Linux

    看样子我只要不动 3.10.0-229.14.1 就个版本可以了。我决定删 3.10.0-229.11.1 这个版本。

    > sudo rpm -e kernel-3.10.0-229.11.1.el7.x86_64 kernel-devel-3.10.0-229.11.1.el7.x86_64

    然后再看看 /boot 文件系统的可用大小。@H_502_86@

    /dev/sda1 247M 190M 57M 78% /boot

    有 57M 了,足够了。再次执行 sudo yum update,更新新的内核包成功。

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    @H_502_86@

    /boot 空间不足

    原文链接:https://www.f2er.com/centos/374572.html

    猜你在找的CentOS相关文章