暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

centos7 内核升级

原创 Yon 2024-12-23
438

一、背景

在 CentOS 使用过程中,高版本的应用环境可能需要更高版本的内核才能支持,所以难免需要升级内核,所以以下将介绍yumrpm两种升级内核方式
关于内核种类:
  • kernel-ml——kernel-ml 中的ml是英文【 mainline stable 】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。
  • kernel-lt——kernel-lt 中的lt是英文【 long term support 】的缩写,elrepo-kernel中罗列出来的长期支持版本。ML 与 LT 两种内核类型版本可以共存,但每种类型内核只能存在一个版本。

二、在线 yum 安装

2.1 更新yum源为阿里云源

  1. 备份原有的 yum 配置文件
在更改源之前,最好先备份原有的 yum 配置文件,以防万一。
sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.backup
  1. 清理现有的 yum 源配置
删除或禁用原有的 CentOS 官方仓库配置文件。
sudo rm -f /etc/yum.repos.d/CentOS-Base.repo sudo rm -f /etc/yum.repos.d/CentOS-Base.repo.rpmsave
  1. 配置阿里云镜像源
创建一个新的 CentOS-Base.repo 配置文件,并使用阿里云的镜像源。您可以直接使用以下内容来替换默认源。
3.1 创建新的 CentOS-Base.repo
sudo vi /etc/yum.repos.d/CentOS-Base.repo
然后将以下内容复制到文件中:
[base] name=CentOS-$releasever - Base baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ gpgcheck=1 enabled=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-$releasever - Updates baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/ gpgcheck=1 enabled=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-$releasever - Extras baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/ gpgcheck=1 enabled=1 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7 [centosplus] name=CentOS-$releasever - Plus baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
这个配置文件设置了阿里云的 baseurl 地址,gpgkey 为阿里云提供的 GPG 密钥。
3.2 配置阿里云的 epel 源(可选)
如果您还需要 epel 源,可以使用下面的 epel 源配置。
sudo vi /etc/yum.repos.d/epel.repo
添加以下内容:
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch baseurl=http://mirrors.aliyun.com/epel/7/$basearch/ enabled=1 gpgcheck=1 gpgkey=http://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
  1. 清除并重新生成 yum 缓存
在更改源配置后,需要清除缓存并重新生成,以确保新的源配置生效。
sudo yum clean all sudo yum makecache
  1. 验证配置是否生效
现在可以测试是否能从阿里云镜像源下载包,例如:
sudo yum update
如果能成功下载更新,说明阿里云镜像源配置成功。
  1. 恢复备份(可选)
如果在配置过程中遇到问题,您可以随时恢复原来的 yum 配置文件:
sudo rm -f /etc/yum.repos.d/* sudo cp -r /etc/yum.repos.d.backup/* /etc/yum.repos.d/ sudo yum clean all sudo yum makecache

2.2 在线升级步骤

1)查看当前内核版本信息

uname -a # 仅查看版本信息 uname -r # 通过绝对路径查看版本信息及相关内容 cat /proc/version # 通过绝对路径查看版本信息 cat /etc/redhat-release

2)导入仓库源

# 1、更新yum源仓库 yum -y update # 2、导入ELRepo仓库的公共密钥 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org # 3、安装ELRepo仓库的yum源 [root@k8s-01 ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm 获取http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm 获取http://elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm 准备中... ################################# [100%] 软件包 elrepo-release-7.0-8.el7.elrepo.noarch (比 elrepo-release-7.0-4.el7.elrepo.noarch 还要新) 已经安装 # 4、查询可用内核版本 yum --disablerepo="*" --enablerepo="elrepo-kernel" list available yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep kernel-ml.x86_64

3)选择 MLLT 版本安装

# 安装最新版 ML 版本 yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y # 安装最新版 LT 版本 yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y # 不带版本号就安装最新版本,这里我们安装 LT 5.4.225-1.el7.elrepo版本,K8S全部选这个 yum --enablerepo=elrepo-kernel install kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64 kernel-lt-5.4.225-1.el7.elrepo.x86_64 -y
安装完成后需要设置 grub2,即内核默认启动项

4)设置启动

内核安装好后,需要设置为默认启动选项并重启后才会生效。
查看系统上的所有可用内核
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cf
刚刚安装的内核即0 : CentOS Linux (5.4.225-1.el7.elrepo.x86_64) 7 (Core) 我们需要把grub2默认设置为0 可以通过 grub2-set-default 0 命令或编辑 /etc/default/grub 文件来设置
方法1:通过 grub2-set-default 0 命令设置
grub2-set-default 0
方法2:编辑 /etc/default/grub 文件
将GRUB_DEFAULT设置为0,如下 vim /etc/default/grub

5)生成 grub 配置文件

GRUB2 的配置文件通常为 /boot/grub2/grub.cfg,虽然此文件很灵活,但是我们并不需要手写所有内容。可以通过程序自动生成,或是直接修改生成之后的文件。通常情况下简单配置文件 /etc/default/grub ,然后用程序 grub-mkconfig 来产生文件 grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg

6)重启

# 重启(默认30秒) reboot # 立即重启 reboot -h now

7)验证是否升级成功

uname -a # 仅查看版本信息 uname -r # 通过绝对路径查看版本信息及相关内容 cat /proc/version # 通过绝对路径查看版本信息 cat /etc/redhat-release

8)删除旧内核(可选)

# 查看系统中的全部内核 rpm -qa | grep kernel # yum remove kernel-版本 yum remove kernel-3.10.0-1160.el7.x86_64 kernel-3.10.0-1160.71.1.el7.x86_64 kernel-tools-3.10.0-1160.71.1.el7.x86_64 kernel-tools-libs-3.10.0-1160.71.1.el7.x86_64

三、离线rpm安装

1)下载内核 RPM

wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64.rpm wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.225-1.el7.elrepo.x86_64.rpm

2)安装内核

rpm -ivh kernel-lt-5.4.225-1.el7.elrepo.x86_64.rpm rpm -ivh kernel-lt-devel-5.4.225-1.el7.elrepo.x86_64.rpm

3)确认已安装内核版本

rpm -qa | grep kernel

4)设置启动

查看系统上的所有可用内核
sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
grub2-set-default 0

5)生成 grub 配置文件

GRUB2 的配置文件通常为 /boot/grub2/grub.cfg,虽然此文件很灵活,但是我们并不需要手写所有内容。可以通过程序自动生成,或是直接修改生成之后的文件。通常情况下简单配置文件 /etc/default/grub ,然后用程序 grub-mkconfig 来产生文件 grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg

6)重启

# 重启(默认30秒) reboot # 立即重启 reboot -h now

7)验证是否升级成功

uname -a # 仅查看版本信息 uname -r # 通过绝对路径查看版本信息及相关内容 cat /proc/version # 通过绝对路径查看版本信息 cat /etc/redhat-release

8)删除旧内核(可选)

# 查看系统中的全部内核 rpm -qa | grep kernel # yum remove kernel-版本 yum remove kernel-3.10.0-1160.el7.x86_64 kernel-3.10.0-1160.71.1.el7.x86_64 kernel-tools-3.10.0-1160.71.1.el7.x86_64 kernel-tools-libs-3.10.0-1160.71.1.el7.x86_64

最后修改时间:2024-12-23 14:25:30
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论