CentOS 7 RPM更新内核到5.4

# 检查当前内核版本
uname -r

RPM 安装步骤

1. 查找内核版本

  查找 kernel rpm 历史版本的网址:
http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/

2. 下载所需的 RPM 包

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

3. 安装内核 RPM 包

  单独安装方式:

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

  一键安装所有 RPM 包:

rpm -Uvh *.rpm

4. 确认已安装的内核版本

rpm -qa | grep kernel

5. 设置启动顺序

  查看启动项:

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

  设置默认启动项:

grub2-set-default 0

  重启系统:

reboot

一键安装脚本

  将以下内容保存为 install_kernel.sh​ 文件,然后执行 bash install_kernel.sh​ 命令:

#!/bin/bash

# 内核安装一键脚本
# 适用于 CentOS 7 系统
# 安装 5.4.203 版本内核

# 显示当前内核版本
echo "当前内核版本:"
uname -r
echo "------------------------------"

# 设置安装的内核版本
KERNEL_VERSION="5.4.203-1.el7.elrepo"
REPO_URL="http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS"

echo "准备安装内核版本: ${KERNEL_VERSION}"
echo "------------------------------"

# 创建临时目录
TEMP_DIR=$(mktemp -d)
cd $TEMP_DIR
echo "工作目录: $TEMP_DIR"

# 下载内核RPM包
echo "正在下载内核RPM包..."
wget -q $REPO_URL/kernel-lt-$KERNEL_VERSION.x86_64.rpm
wget -q $REPO_URL/kernel-lt-devel-$KERNEL_VERSION.x86_64.rpm
wget -q $REPO_URL/kernel-lt-headers-$KERNEL_VERSION.x86_64.rpm

# 检查文件是否下载成功
if [ ! -f kernel-lt-$KERNEL_VERSION.x86_64.rpm ] || [ ! -f kernel-lt-devel-$KERNEL_VERSION.x86_64.rpm ] || [ ! -f kernel-lt-headers-$KERNEL_VERSION.x86_64.rpm ]; then
    echo "下载失败,请检查网络连接或内核版本是否存在"
    exit 1
fi

echo "下载完成,准备安装..."
echo "------------------------------"

# 安装内核包
echo "正在安装内核包..."
rpm -Uvh kernel-lt-$KERNEL_VERSION.x86_64.rpm kernel-lt-devel-$KERNEL_VERSION.x86_64.rpm kernel-lt-headers-$KERNEL_VERSION.x86_64.rpm

# 检查是否安装成功
if rpm -q kernel-lt-$KERNEL_VERSION.x86_64 > /dev/null; then
    echo "内核安装成功!"
else
    echo "内核安装失败,请检查错误信息"
    exit 1
fi

echo "------------------------------"

# 确认已安装的内核版本
echo "已安装的内核版本:"
rpm -qa | grep kernel

echo "------------------------------"

# 设置GRUB启动顺序
echo "正在设置GRUB启动顺序..."
# 显示可用启动项
echo "可用的启动项:"
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

# 设置默认启动为第一项(新内核)
grub2-set-default 0
echo "已设置新内核为默认启动项"

echo "------------------------------"
echo "内核安装完成!请重启系统使新内核生效:"
echo "reboot"

# 清理临时文件
cd ~
rm -rf $TEMP_DIR

exit 0

使用方法

  • 将上述脚本内容保存为 install_kernel.sh​ 文件
  • 赋予执行权限:chmod +x install_kernel.sh
  • 以 root 用户运行:sudo bash install_kernel.sh
  • 脚本执行完成后,重启系统:reboot

  ‍