Centos7.9内核一键升级(更新Centos8内核升级非一键升级)

一、升级原因

在这里插入图片描述
使用较新版本的docker,内核版本较低可能会出现异常,例如:docker服务正常,iptables策略正常,但突然容器无法访问,重启docker服务之后又恢复正常的问题,所以按照官方要求版本进行升级

二、脚本升级

首先可以确定自己需要升级到什么版本。
关于内核种类:

kernel-ml——kernel-ml 中的ml是英文【 mainline stable 】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。
kernel-lt——kernel-lt 中的lt是英文【 long term support 】的缩写,elrepo-kernel中罗列出来的长期支持版本。ML 与 LT 两种内核类型版本可以共存,但每种类型内核只能存在一个版本。

# yum list --showduplicate kernel*
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * epel: mirrors.bfsu.edu.cn
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
Installed Packages
kernel.x86_64                                                          3.10.0-1062.el7                                            @anaconda
kernel.x86_64                                                          3.10.0-1160.81.1.el7                                       @updates
kernel.x86_64                                                          3.10.0-1160.90.1.el7                                       @updates
kernel.x86_64                                                          3.10.0-1160.105.1.el7                                      @updates
kernel-headers.x86_64                                                  3.10.0-1160.105.1.el7                                      @updates
kernel-lt.x86_64                                                       5.4.256-1.el7.elrepo                                       @elrepo
kernel-lt.x86_64                                                       5.4.264-1.el7.elrepo                                       @elrepo
kernel-lt-devel.x86_64                                                 5.4.256-1.el7.elrepo                                       @elrepo
kernel-lt-devel.x86_64                                                 5.4.264-1.el7.elrepo                                       @elrepo
kernel-tools.x86_64                                                    3.10.0-1160.105.1.el7                                      @updates
kernel-tools-libs.x86_64                                               3.10.0-1160.105.1.el7                                      @updates
Available Packages
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
kernel.x86_64                                                          3.10.0-1160.2.2.el7                                        updates
kernel.x86_64                                                          3.10.0-1160.6.1.el7                                        updates
kernel.x86_64                                                          3.10.0-1160.11.1.el7                                       updates
kernel.x86_64                                                          3.10.0-1160.15.2.el7                                       updates

可以根据自己自身需求,修改yum安装的内核版本,升级完reboot即可
CentOS7.9如下:

#!/bin/bash
yum install epel-release -y
echo -e "\n[elrepo]\nname=elrepo\nbaseurl=https://mirrors.aliyun.com/elrepo/archive/kernel/el7/x86_64\ngpgcheck=0\nenabled=1" >> /etc/yum.repos.d/epel.repo
yum clean all
yum makecache
yum install -y kernel-lt-5.4.256 kernel-lt-devel-5.4.256
grub2-set-default 0

CentOS8更新如下:
安装elrepo源

yum install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

启用 ELRepo 源仓库

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

安装最新lt版本

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

设置以新安装的内核启动,0 表示最新安装的内核,设置为 0 表示以新版本内核启动:

grub2-set-default 0

也可以指定内核启动

grubby set default /boot/vmlinuz-5.19.2-1.el8.elrepo.x86_64
### 在 CentOS 7.9 上在线升级内核的方法 在 CentOS 7.9 上在线升级内核可以通过以下方法实现,确保系统能够正确安装和使用新版本的内核。以下是具体的操作流程和注意事项: #### 1. 添加 ELRepo 源 ELRepo 是一个第三方存储库,提供了最新的内核版本供 CentOS 用户使用。首先需要添加 ELRepo 源: ```bash sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm ``` 这一步确保系统可以访问 ELRepo 提供的最新内核包[^1]。 #### 2. 安装最新内核 通过 `yum` 命令安装最新的主线内核(ml)或长期支持内核(lt)。以下命令用于安装主线内核: ```bash sudo yum --enablerepo=elrepo-kernel install kernel-ml -y ``` 如果需要安装长期支持内核,则使用以下命令: ```bash sudo yum --enablerepo=elrepo-kernel install kernel-lt -y ``` #### 3. 更新 GRUB 配置 安装完成后,需要更新 GRUB 配置文件以识别新的内核版本。执行以下命令: ```bash sudo grub2-mkconfig -o /boot/grub2/grub.cfg ``` 这一步会生成新的 GRUB 配置文件,并将新安装的内核添加到启动菜单中[^2]。 #### 4. 设置默认启动内核 为了确保系统重启后使用新安装的内核,需要设置默认启动项。可以通过以下命令查看当前可用的内核列表: ```bash awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg ``` 输出示例: ``` CentOS Linux (5.4.257-1.el7.elrepo.x86_64) 7 (Core) CentOS Linux (3.10.0-1160.119.1.el7.x86_64) 7 (Core) CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core) ``` 假设新安装的内核位于列表的第一位(索引为 0),可以使用以下命令设置默认启动内核: ```bash sudo grub2-set-default 0 ``` #### 5. 修改 GRUB 默认配置(可选) 如果需要永久性地修改默认启动内核,可以编辑 `/etc/default/grub` 文件: ```bash sudo vim /etc/default/grub ``` 找到 `GRUB_DEFAULT` 参数并将其设置为 `saved`,然后保存文件。之后重新生成 GRUB 配置文件: ```bash sudo grub2-mkconfig -o /boot/grub2/grub.cfg ``` #### 6. 重启系统 完成上述步骤后,重启系统以应用新的内核: ```bash sudo reboot ``` #### 7. 验证内核版本 重启后,可以通过以下命令验证当前运行的内核版本: ```bash uname -r ``` --- ### 注意事项 - 确保在操作前备份重要数据,避免因内核不兼容导致系统无法正常启动。 - 如果需要回滚到旧版本内核,可以在 GRUB 启动菜单中选择之前的内核版本启动[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DevonL77

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

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

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

打赏作者

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

抵扣说明:

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

余额充值