centos系统升级内核

Centos系统升级内核

本次测试主机为某平台云主机,默认内核参数如下

Linux vm-10-250-64-26 3.10.0-327.13.1.el7.x86_64 #1 SMP Thu Mar 31 16:04:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

关于内核

Linux 内核分两种:官方内核(通常是内核开发人员用)和各大 Linux 发行版内核(一般用户常用)。

在使用 Docker 时,发现其对 Linux 内核版本的最低要求是 3.10(这也刚好是 CentOS 7.2 的内核版本),但是在这个版本上有部分功能无法实现。目前 Linux 内核已经发布到 4.X(可以随时在 Linux 内核官网 查看当前版本),为了使用最新版本的内核,只好在安装 CentOS 7 后对内核进行升级。

Prepatch:Prepatch 或 “RC” 内核是主要的内核预发行版本,主要针对内核开发人员和 Linux 爱好者。必须从源代

码进行编译,并且通常包含必须在可以放入稳定版本之前进行测试的新功能。Prepatch 内核由 Linus Torvalds 维护和发布。

Mainline:Mainline 主线树由 Linus Torvalds 维护。这个版本的内核会引入所有新功能。新的 Mainline 内核每2-3 个月发布一次。

Stable:每个主线内核被发布后,即被认为是“stable”。任何对 stable 内核的 BUG 修复都会从 Mainline 主线树中回溯并由指定的 stable 内核维护人员使用。 在下一个主线内核可用之前,通常只有几个 BUG 修复内核版本除非它被指定为“longterm maintenance kernel(长期维护内核)”。stable 内核更新按需发布,通常每月 2-3 次。

Longterm:通常会提供几个“longterm maintenance”内核版本,用于修复旧版内核的 BUG。这些内核只会修复重大BUG,并且不会频繁发布版本。

升级内核

先更新仓库

    yum -y update

启用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

查看可用的系统内核包

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

可看到本次能升级到4.4.176和5.0.2两个内核版本

安装新内核

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

    --enablerepo 选项开启CentOS系统上的指定仓库。默认开启的是elrepo,这里用elrepo-kernel替换。

设置 grub2

内核安装好后,需要设置为默认启动选项并重启后才会生效

查看系统上的所有可以内核

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

        0 : CentOS Linux (4.4.176-1.el7.elrepo.x86_64) 7 (Core)

        1 : CentOS Linux (3.10.0-957.5.1.el7.x86_64) 7 (Core)

        2 : CentOS Linux (3.10.0-327.13.1.el7.x86_64) 7 (Core)

        3 : CentOS Linux (0-rescue-ed703d1292182569f36c01ee63d5c153) 7 (Core)

设置grub2

    grub2-set-default 0

    0来自上一步查到的内核代号,想将哪一个内核设为默认启动内核则指定哪一个代号

生成 grub 配置文件并重启

    grub2-mkconfig -o /boot/grub2/grub.cfg

    reboot

你可能感兴趣的:(centos系统升级内核)