运维系列:CentOS 更换内核




CentOS 更换内核

在这里插入图片描述

Linux 系统包含两个版本,一个是 Linux 发行版的版本(如 CentOS 7.6),另一个是内核版本(如 3.10.0-957),本文介绍了更换两者的方法。

Linux 系统包含两个版本,一个是 Linux 发行版的版本(如 CentOS 7.6),另一个是内核版本(如 3.10.0-957),通过以下命令可以查看两个的版本:

# 查看 CentOS 发行版的版本
$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
# 查看内核版本
$ uname -r
3.10.0-957.el7.x86_64

一、更换 CentOS 发行版本

前往 CentOS Vault 仓库寻找自己需要的版本,这里包括基本所有需要的 CentOS 历史版本,但需要注意它通常不包括 LTS 版本(长期支持,如 CentOS 7.9,这类版本会存储于 CentOS 主仓库)。

清华大学开源软件镜像站

这里以 7.6.1810 版本为例,需要执行以下命令:

# 下载安装包
$ wget https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.6.1810/os/x86_64/Packages/centos-release-7-6.1810.2.el7.centos.x86_64.rpm
# 安装
$ rpm -ivh centos-release-7-6.1810.2.el7.centos.x86_64.rpm --force
# 查看目前的所有版本
$ rpm -qa | grep -i centos-release
centos-release-7-8.2003.0.el7.centos.x86_64
centos-release-7-6.1810.2.el7.centos.x86_64
# 卸载原有版本
$ rpm -ev centos-release-7-8.2003.0.el7.centos.x86_64
# 重启系统
$ reboot

二、更换内核版本

首先下载内核包括两种方法,一种是基于 Vault 源,另一种是基于 ELRepo 源

1. 基于 YUM 源

如果想更换的内核正好属于某个 CentOS 发行版本的默认内核(对应关系如下表),则可以通过替换 YUM 源的方式进行,具体步骤如下:

CentOS 版本发行时间默认 Linux 内核版本
7.0.1406/07-Apr-2015 15:36kernel-3.10.0-123.el7.src.rpm
7.1.1503/13-Nov-2015 13:01kernel-3.10.0-229.el7.src.rpm
# 追加 vault 仓库到源中
$ echo "# C7.6.1810
[C7.6.1810-base]
name=CentOS-7.6.1810 - Base
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos-vault/7.6.1810/os/\$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1" >> /etc/yum.repos.d/CentOS-Vault.repo
# 更新源
$ yum makecache
# 查看可安装的内核版本
$ yum list kernel --showduplicates

Installed Packages
kernel.x86_64                3.10.0-957.el7                       @base
kernel.x86_64                3.10.0-1160.el7                      @anaconda
Available Packages
kernel.x86_64                3.10.0-957.el7                       C7.6.1810-base
kernel.x86_64                3.10.0-1160.el7                      base
kernel.x86_64                3.10.0-1160.el7                      updates
kernel.x86_64                3.10.0-1160.2.1.el7                  updates
# 之后只需安装需要的版本即可
$ yum install kernel-3.10.0-957.el7
# 查看当前拥有的内核版本
$ cat /boot/grub2/grub.cfg | grep menuentry

menuentry 'CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-8add9029-af05-4660-8c1c-37e6fd7b1ac5' {
menuentry 'CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-8add9029-af05-4660-8c1c-37e6fd7b1ac5' {
# 更换默认内核
$ grub2-set-default "CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)"
# 重启
$ reboot

2. 基于 ELRepo

如果希望下载最新的内核版本,可以使用 ELRepo 源进行安装,具体如下:

# 导入 ELRepo 仓库的公共密钥
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装 ELRepo 仓库的 yum 源
$ yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
# 替换为清华 ELRepo 源
$ sed -e "s|mirrorlist=|#mirrorlist=|g" \
      -e "s|elrepo.org/linux|mirrors.tuna.tsinghua.edu.cn/elrepo|g"\
      -i.bak \
      /etc/yum.repos.d/elrepo.repo
# (可选) 更新 yum 缓存
$ yum makecache
# 查看可用的内核版本,kernel-ml(mainline stable):稳定主线版本,kernel-lt(long term support):长期支持版本
$ yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

Available Packages
kernel-lt.x86_64                        5.4.202-1.el7.elrepo       elrepo-kernel
kernel-lt-devel.x86_64                  5.4.202-1.el7.elrepo       elrepo-kernel
kernel-lt-doc.noarch                    5.4.202-1.el7.elrepo       elrepo-kernel
kernel-lt-headers.x86_64                5.4.202-1.el7.elrepo       elrepo-kernel
kernel-lt-tools.x86_64                  5.4.202-1.el7.elrepo       elrepo-kernel
kernel-lt-tools-libs.x86_64             5.4.202-1.el7.elrepo       elrepo-kernel
kernel-lt-tools-libs-devel.x86_64       5.4.202-1.el7.elrepo       elrepo-kernel
kernel-ml.x86_64                        5.18.8-1.el7.elrepo        elrepo-kernel
kernel-ml-devel.x86_64                  5.18.8-1.el7.elrepo        elrepo-kernel
kernel-ml-doc.noarch                    5.18.8-1.el7.elrepo        elrepo-kernel
kernel-ml-headers.x86_64                5.18.8-1.el7.elrepo        elrepo-kernel
kernel-ml-tools.x86_64                  5.18.8-1.el7.elrepo        elrepo-kernel
kernel-ml-tools-libs.x86_64             5.18.8-1.el7.elrepo        elrepo-kernel
kernel-ml-tools-libs-devel.x86_64       5.18.8-1.el7.elrepo        elrepo-kernel
# 升级为主线版本
$ yum --enablerepo=elrepo-kernel install kernel-ml -y
# 查看当前拥有的内核版本
$ cat /boot/grub2/grub.cfg | grep menuentry

menuentry 'CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-8add9029-af05-4660-8c1c-37e6fd7b1ac5' {
menuentry 'CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-1160.el7.x86_64-advanced-8add9029-af05-4660-8c1c-37e6fd7b1ac5' {
# 更换默认内核
$ grub2-set-default "CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)"
# 重启
$ reboot







闪念胶囊

CentOS 更换内核

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坦笑&&life

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值