CentOS升级内核-- CentOS9 Stream/CentOS8 Stream/CentOS7

这篇具有很好参考价值的文章主要介绍了CentOS升级内核-- CentOS9 Stream/CentOS8 Stream/CentOS7。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

官方文档在此

升级原因

当我们安装一些软件(对,我说的就是Kubernetes),可能需要新内核的支持,而CentOS又比较保守,不太升级,所以需要我们手工升级.

# 看下目前是什么版本内核
uname -a

# 安装公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# 添加仓库,如果不执行该指令后面无法找到elrepo-kernel这个仓库
# 下面两个分别是CentOS7和8的,根据自己情况选择执行
yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
#yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
#yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

# 查看最新的内核什么版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

# 安装最新的内核,使用disablerepo和enablerepo来直接指定仓库
yum --disablerepo=* --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel -y

# 得到我们最新的kernel版本
KERNEL_VERSION=$(more /boot/grub2/grub.cfg |grep menuentry|grep Core|sort -r|head -1|awk -F "'" '{print $2}')
echo $KERNEL_VERSION
# 设置默认启动时的默认内核版本,需要加引号,否则会被识别为多个变量,导致报错
grub2-set-default "$KERNEL_VERSION"

# 看一下默认内核是否已修改
grubby --default-kernel

# 重启,需要注意在ssh的情况下reboot不会生效只能shutdown或者直接xshell连过去
reboot

# 看下目前是什么版本内核

uname -a

# 安装公钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# 添加仓库,如果不执行该指令后面无法找到elrepo-kernel这个仓库
# 下面两个分别是CentOS9/8/7的,根据自己情况选择执行
yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
#yum install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
#yum install https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm

# 查看最新的内核什么版本
yum --disablerepo="*" --enablerepo="elrepo-kernel" list available

# 安装最新的内核,使用disablerepo和enablerepo来直接指定仓库
yum --disablerepo=* --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel -y

# 得到我们最新的kernel版本
KERNEL_VERSION=$(more /boot/grub2/grub.cfg |grep menuentry|grep Core|sort -r|head -1|awk -F "'" '{print $2}')
echo $KERNEL_VERSION
# 设置默认启动时的默认内核版本,需要加引号,否则会被识别为多个变量,导致报错
grub2-set-default "$KERNEL_VERSION"

# 看一下默认内核是否已修改
grubby --default-kernel

# 重启,需要注意在ssh的情况下reboot不会生效只能shutdown或者直接xshell连过去
reboot

重启后再次查看内核

uname -sr

=========================Other Tips===================

CentOS 升级内核的三种方式(yum/rpm/源码)

在 CentOS 使用过程中,难免需要升级内核,但有时候因为源码编译依赖问题,不一定所有程序都支持最新内核版本,所以以下将介绍三种升级内核方式。

CentOS 升级内核的三种方式(yum/rpm/源码)

在 CentOS 使用过程中,难免需要升级内核,但有时候因为源码编译依赖问题,不一定所有程序都支持最新内核版本,所以以下将介绍三种升级内核方式。

注意事项

关于内核种类:
kernel-ml 中的ml是英文【 mainline stable 】的缩写,elrepo-kernel中罗列出来的是最新的稳定主线版本。
kernel-lt 中的lt是英文【 long term support 】的缩写,elrepo-kernel中罗列出来的长期支持版本。
# 检查内核版本
uname -r

一、yum安装

1、导入仓库源

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

2、查看可安装的软件包

yum --enablerepo="elrepo-kernel" list --showduplicates | sort -r | grep kernel-ml.x86_64

3、选择 ML 或 LT 版本安装

无指定版本默认安装最新

# 安装 ML 版本
yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y   

# 安装 LT 版本,K8S全部选这个
yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y

4、查看现有内核启动顺序

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

5、修改默认启动项

xxx 为序号数字,以指定启动列表中第x项为启动项,x从0开始计数

grub2-set-default xxxx

例如设置以4.4内核启动

则直接输入“grub2-set-default 0”,下次启动即可从4.4启动

# 查看内核启动序号
[root@localhost ~] awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)

CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)

CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)


# 设置启动序号
[root@localhost ~] grub2-set-default 0

# 重启
reboot

# 检查内核版本
uname -r

二、RPM安装

检查内核版本

uname -r

1、查找版本

因 ELRepo 源都是最新版本,所以旧版本内核只能手动下载。

查找 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-4.4.215-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-4.4.215-1.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm

3、安装内核

rpm -ivh kernel-lt-4.4.215-1.el7.elrepo.x86_64.rpm
rpm -ivh kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64.rpm
或者
#一键安装所有
rpm -Uvh *.rpm

4、确认已安装内核版本

[root@localhost ~]# rpm -qa | grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-lt-4.4.215-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64
kernel-lt-devel-4.4.215-1.el7.elrepo.x86_64

5、设置启动

# 查看启动顺序
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.4.215-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)

# 设置启动顺序
[root@localhost ~]# grub2-set-default 0

# 重启生效
[root@localhost ~]# reboot

三、源码安装

1、安装核心软件包

yum install -y gcc make git ctags ncurses-devel openssl-devel
yum install -y bison flex elfutils-libelf-devel bc

2、创建内核编译目录

使用 home 下的 kernelbuild 目录

mkdir ~/kernelbuild

3、获取内核源码

清华大学镜像站:https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/?C=M&O=D

其他源码安装包下载地址:https://mirrors.edge.kernel.org/pub/linux/kernel/

  • linux-4.xx.xx.tar.xz
  • linux-4.xx.xx.tar.gz
  • 这两个格式都可以的,tar.xz压缩率更高,文件更小。
在线下载:wget https://mirror.tuna.tsinghua.edu.cn/kernel/v4.x/linux-4.17.11.tar.xz

4、解压内核代码

将其解压后进入源码目录:

tar -xvJf linux-4.17.11.tar.xz

为确保内核树绝对干净,进入内核目录并执行 make mrproper 命令:

cd linux-4.17.11
make clean && make mrproper

5、内核配置

复制当前的内核配置文件

config-3.10.0-862.el7.x86_64是我当前环境的内核配置文件,根据实际情况修改

cp /boot/config-3.10.0-862.el7.x86_64 .config

高级配置

y 是启用, n 是禁用, m 是需要时启用.
make menuconfig: 老的 ncurses 界面,被 nconfig 取代
make nconfig: 新的命令行 ncurses 界面

6、编译和安装

编译内核

如果你是四核的机器,x可以是8
make -j x

安装内核

编译完内核后安装:Warning: 从这里开始,需要 root 权限执行命令,否则会失败.

make modules_install install

7、设置启动

# 查看启动顺序
[root@localhost ~]# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.17.11-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (4.9.9-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-b91f945269084aa98e8257311ee713c5) 7 (Core)

# 设置启动顺序
[root@localhost ~]# grub2-set-default 0

# 重启生效
[root@localhost ~]# reboot

四、卸载 / 降级 内核

例如:

当系统已存在 LT 内核的 5.4.103 版本时,继续安装 LT 内核的 4.4.215 版本则会提示: package kernel-lt-5.4.103-1.el7.elrepo.x86_64 (which is newer than kernel-lt-4.4.215-1.el7.elrepo.x86_64) is already installed

这时就需要进行内核降级,卸载最新版的内核。

1、查看系统当前内核版本

[root@localhost ~]# uname -r
5.4.103-1.el7.elrepo.x86_64

2、查看系统中全部内核

[root@localhost ~]# rpm -qa | grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-lt-5.4.103-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64
kernel-lt-devel-5.4.103-1.el7.elrepo.x86_64

3、删除指定内核

此处以删除 LT 内核的 5.4.103 版本为例

**注意:**无法卸载当前在用的内核版本。卸载完后不一定需要重启

yum remove -y kernel-lt-devel-5.4.103-1.el7.elrepo.x86_64

yum remove -y kernel-lt-5.4.103-1.el7.elrepo.x86_64

检查卸载后内核版本

[root@localhost ~]# rpm -qa | grep kernel
kernel-headers-3.10.0-1160.15.2.el7.x86_64
kernel-devel-3.10.0-1160.49.1.el7.x86_64
kernel-tools-libs-3.10.0-957.el7.x86_64
kernel-3.10.0-957.el7.x86_64
kernel-ml-4.9.9-1.el7.elrepo.x86_64
kernel-tools-3.10.0-957.el7.x86_64

============================================Other Tips===================

Centos Stream 9升级内核

为了使系统更加稳定,CentOS默认的内核版本会低一些。如果想要升级内核,那就需要到第三方仓库进行下载。ELRepo这个仓库中就存放有CentOS可以使用的新版内核,导入它的仓库后就可以通过yum命令进行安装了。

零、查看当前内核
输入以下命令查看当前系统所使用的内核版本

uname -r
1
[root@localhost ~]# uname -r
5.14.0-205.el9.x86_64

一、导入源
ELRepo官方网站:http://elrepo.org,访问它的首页就能得到仓库的安装方式。

执行以下命令,导入ELRepo仓库。
1.导入公钥,用于校验软件包

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
1
2.导入yum源,用于从该仓库下载软件包

yum install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm
1
注意:为了防止误操作,默认情况下elrepo的仓库为禁用状态,使用时需要手动启用。

二、安装新版内核
导入ELRepo仓库后,执行以下命令,安装新版内核。

yum install --enablerepo=elrepo-kernel kernel-ml
1
yum install 安装软件包
–enablerepo=elrepo-kernel 此次安装过程中临时启用elrepo-kernel这个仓库
kernel-ml 新版内核软件包名称
注意默认源中的内核软件包名称为kernel
ml版与lt版可共存
目前CetnOS 9只有ml版本
kernel-ml: 稳定主线版,支持周期短,更新速度快,更快体验新特性。
kernel-lt: 长期维护版,支持周期长,更新速度慢,更加稳定。

安装完成后重启系统,CentOS会自动使用最新安装的内核进行启动。

[root@localhost ~]# uname -r
6.1.0-1.el9.elrepo.x86_64

三、卸载旧版内核
新旧内核可同时存在,如果希望系统中存在两个内核可不执行清理操作。

确认使用新版内核启动后,执行以下命令,查看本机安装的所有内核软件包。

rpm -qa | grep kernel
1
rpm -qa 查询本机安装的所有软件包
grep kernel 过滤出名称中带有kernel的软件包
[root@localhost ~]# rpm -qa | grep kernel
kernel-core-5.14.0-205.el9.x86_64
kernel-modules-5.14.0-205.el9.x86_64
kernel-tools-libs-5.14.0-205.el9.x86_64
kernel-tools-5.14.0-205.el9.x86_64
kernel-5.14.0-205.el9.x86_64
kernel-ml-core-6.1.0-1.el9.elrepo.x86_64
kernel-ml-modules-6.1.0-1.el9.elrepo.x86_64
kernel-ml-6.1.0-1.el9.elrepo.x86_64

软件包名称由kernel-ml或kernel-lt开头的为新版软件包,其余为旧版软件包。

执行以下命令,删除旧版内核。

yum remove kernel-core-5.14.0-205.el9.x86_64 kernel-tools-5.14.0-205.el9.x86_64
1
yum remove 删除软件包
需要输入软件包完整名称
删除kernel-core与kernel-tools时会将其余三个包一并删除。

[root@localhost ~]# rpm -qa | grep kernel
kernel-ml-core-6.1.0-1.el9.elrepo.x86_64
kernel-ml-modules-6.1.0-1.el9.elrepo.x86_64
kernel-ml-6.1.0-1.el9.elrepo.x86_64
 文章来源地址https://www.toymoban.com/news/detail-421323.html

到了这里,关于CentOS升级内核-- CentOS9 Stream/CentOS8 Stream/CentOS7的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux|操作系统|centos7物理机安装网卡驱动8188gu(内核升级,firmware固件,USB设备管理,module管理)

    目前服务器领域centos7基本是主流的操作系统,而linux相对于Windows来说,软硬件方面的支持是差很多的,在硬件方面来说,以一个免驱的网卡为例,window xp可能不会自动识别到,但Windows10基本都会自动识别到,简简单单的即插即用。根本原因在Windows随着版本的升级,内置的各

    2024年01月20日
    浏览(88)
  • centos8与centos7对比

    ♥️ 作者:小刘在C站 ♥️ 个人主页: 小刘主页 ♥️ 每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️ 夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 前言 所有的努力和收获是成正比的,好

    2023年04月09日
    浏览(43)
  • 阿里云centos9stream安装宝塔+vscode(code-server)集成云端开发环境

    官网 https://www.bt.cn/new/download.htm 题外话:虽然感觉现在宝塔没以前好用了,而且有centos7、8 mysql编译导致OOM服务器挂掉无法ssh登录的情况,但他还是远程管理服务器的好选择,提示 宝塔只支持最新的centos9stream,重要数据一定要备份,最好是全新的系统,而且需要与vscode相辅相

    2024年02月10日
    浏览(57)
  • WSL2安装CentOS7和CentOS8

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Windows11 官方 WSL2 已经支持 Ubuntu 、 Open SUSE 、 Debian 和 Oracle 等等发行版,由于 CentOS 也是非常经典的一个发行版,由于官方尚未提供安装方式,所以我整理了下安装方式给有需要的人,方法很简单。 这一

    2024年02月14日
    浏览(58)
  • 服务器集群配置LDAP统一认证高可用集群(配置tsl安全链接)-centos9stream-openldap2.6.2

    因之前集群为centos6,已经很久没升级了,所以这次配置统一用户认证也是伴随系统升级到centos9时一起做的配套升级。新版的openldap配置大致与老版本比较相似,但有些地方配置还是有变化,另外,铺天盖地的帮助文档有相当一部分是直接搬砖过来的,所以参考时容易出错,这

    2024年02月05日
    浏览(43)
  • CentOS7、CentOS8 如何修改ip信息(修改网络信息)(无图形界面)(亲测可用)

    在 CentOS 系统中,如果你没有图形界面,那么你将需要使用命令行来修改 IP 地址。以下是在 CentOS 7 和 CentOS 8 中通过命令行修改静态 IP 地址的步骤: CentOS 7 CentOS 7 使用 nmcli (Network Manager Command Line Interface)或者直接编辑网络配置文件的方式来修改 IP 地址。 方法一:使用 nm

    2024年02月03日
    浏览(42)
  • 在centos8中升级并安装最新版本docker-ce

    查看你当前的linux内核版本是否符合官方对linux版本的要求: 卸载旧版本(如果安装过旧版本的话): 安装需要的软件包: 设置yum源: 或者使用阿里源 安装最新版: 启动docker: 加入开机启动: 验证安装是否成功: 第二种方法:使用docker官方脚本安装 1、确保 yum 包更新到最新

    2024年02月12日
    浏览(49)
  • 一步到位教你在centos8stream搭建zabbix6.4+nginx+maridb10.6+php7.4

    Zabbix 服务器可安装在任何 Linux 发行版上,在本教程中,我将向您展示如何在 CentOS 8 / RHEL 8 / Oracle Linux 8 / Alma Linux 8/ Rocky Linux 8 上安装最新的 Zabbix 6.4 版本。 Zabbix是 100% 免费的开源终极企业级软件,旨在监控 IT 基础设施组件和服务的可用性和性能。 zabbix官网地址zabbix官网指

    2024年02月11日
    浏览(44)
  • centos 的内核升级

    1、内核升级的原因 现在主流的centos应该都是centos 7了,从centos 7.2开始,内核版本为3.10,越往后内核版本越高。高版本的内核修复了许多的低版本内核的bug,因此,系统是需要提高内核版本的,从而提高安全性,稳定性,并增加更多的功能。 2、查看当前内版本 版本号中各个

    2024年02月10日
    浏览(40)
  • centos 编译升级内核

    一.离线编译并升级内核 1.下载内核 2.解压内核 (1)安装rpmrebuild (2)解压rpm包,找出源码包linux-3.10.0-1160.105.1.el7.tar.xz (3)解压源码包linux-3.10.0-1160.105.1.el7.tar.xz   1.编译配置 2.编译内核 make 3.安装内核 make modules_install install 4.更新引导 update-grub 5.重启 reboot 二.在线升级内核

    2024年01月17日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包