searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

EOL的CentOS 8如何升级内核版本?

2022-12-01 02:57:48
3802
0

在2021年12月31日CentOS 8结束其生命周期之后,我们在更新CentOS 8服务器时基本上都会遇到报错。

报错信息为“Failed to download metadata for repo 'AppStream'”,这意味着我们将不能再收到来自官方CentOS 8项目的任何开发更新。

但是,如果在CentOS 8生命周期结束之后,我们出于任何原因仍需要使用或已经在使用此操作系统,则需要将镜像更改为Vault,它将像其他旧CentOS版本一样永久存档。

首先,我们需要使用以下命令将YUM源中指向CentOS官方URL的repo URL 更改为 vault.centos.org。

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

修改配置之后,我们就可以使用yum命令再次尝试更新。

更新完成之后,我们可以看到系统版本已经升级到了8.5.2111,但是内核版本还是老版本。

为什么内核版本不能自动升级呢?简单理解一下,内核是任何Linux操作系统中最重要的组件,充当计算机硬件和软件进程之间的解释器或中介,负责流程管理、内存管理、设备驱动程序、系统调用和安全等任务。每个Linux发行版都附带一个稳定版本的Linux内核以及支持的软件和驱动程序,这个内核可能不是最新的,一般需要升级整个操作系统才能迁移到另一个Linux内核。

当然,最新的Linux内核也可以通过ELRepo yum仓库来获取。

首先安装ELRepo。

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

然后导入ELRepo yum仓库的公钥。

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

构建缓存。

然后我们就可以在CentOS 8上安装最新的Linux内核了。

搜索elrepo-kernel频道和kernel-ml相关的软件包。kernel-ml是主线稳定内核,对应的,还有一个kernel-lt,是长期支持内核,都是基于RHEL的发行版的。目前,此频道中没有任何长期支持的内核可用,所以我们使用基于Linux Kernel 5.7的最新的稳定版本内核。

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-ml

然后使用以下命令直接安装kernel-ml包就可以了。

yum --enablerepo="elrepo-kernel" install -y kernel-ml

因为这个服务器在美国,访问特别的慢,只有三四十KB,一共61MB的文件,大概要下半个小时左右。

要加载新的 Linux 内核,我们需要重新启动 CentOS 8 机器。

从这里我们也可以看到,其实现在不算是把内核升级到5.18.5了,我们可以看到有两个内核版本的系统在。所以更合适地讲,应该是重新安装了一个内核,在启动时可以选择要启动的内核。

启动之后,我们再查看内核版本信息。

如果我们想用回之前的内核,可以在启动时选择之前的内核版本。

此时内核版本就是4.18.0。

当然,我们也可以使用以下命令移除掉5.18.5版本的内核。

yum remove -y kernel-ml

需要注意的是,不能移除正在运行的内核版本,需要更换到其他内核之后再移除目标的内核版本。

再次重启,启动页面就恢复了往日的平静了。

不过,即使移除了高版本内核,当前版本内核的gcc还是更新了的。

我们之前的gcc版本是8.3.1 20190507 (Red Hat 8.3.1-4) (GCC),现在版本停留在了8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)。

0条评论
0 / 1000
SD万
89文章数
22粉丝数
SD万
89 文章 | 22 粉丝
原创

EOL的CentOS 8如何升级内核版本?

2022-12-01 02:57:48
3802
0

在2021年12月31日CentOS 8结束其生命周期之后,我们在更新CentOS 8服务器时基本上都会遇到报错。

报错信息为“Failed to download metadata for repo 'AppStream'”,这意味着我们将不能再收到来自官方CentOS 8项目的任何开发更新。

但是,如果在CentOS 8生命周期结束之后,我们出于任何原因仍需要使用或已经在使用此操作系统,则需要将镜像更改为Vault,它将像其他旧CentOS版本一样永久存档。

首先,我们需要使用以下命令将YUM源中指向CentOS官方URL的repo URL 更改为 vault.centos.org。

sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*

修改配置之后,我们就可以使用yum命令再次尝试更新。

更新完成之后,我们可以看到系统版本已经升级到了8.5.2111,但是内核版本还是老版本。

为什么内核版本不能自动升级呢?简单理解一下,内核是任何Linux操作系统中最重要的组件,充当计算机硬件和软件进程之间的解释器或中介,负责流程管理、内存管理、设备驱动程序、系统调用和安全等任务。每个Linux发行版都附带一个稳定版本的Linux内核以及支持的软件和驱动程序,这个内核可能不是最新的,一般需要升级整个操作系统才能迁移到另一个Linux内核。

当然,最新的Linux内核也可以通过ELRepo yum仓库来获取。

首先安装ELRepo。

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

然后导入ELRepo yum仓库的公钥。

rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

构建缓存。

然后我们就可以在CentOS 8上安装最新的Linux内核了。

搜索elrepo-kernel频道和kernel-ml相关的软件包。kernel-ml是主线稳定内核,对应的,还有一个kernel-lt,是长期支持内核,都是基于RHEL的发行版的。目前,此频道中没有任何长期支持的内核可用,所以我们使用基于Linux Kernel 5.7的最新的稳定版本内核。

yum --disablerepo="*" --enablerepo="elrepo-kernel" list available | grep kernel-ml

然后使用以下命令直接安装kernel-ml包就可以了。

yum --enablerepo="elrepo-kernel" install -y kernel-ml

因为这个服务器在美国,访问特别的慢,只有三四十KB,一共61MB的文件,大概要下半个小时左右。

要加载新的 Linux 内核,我们需要重新启动 CentOS 8 机器。

从这里我们也可以看到,其实现在不算是把内核升级到5.18.5了,我们可以看到有两个内核版本的系统在。所以更合适地讲,应该是重新安装了一个内核,在启动时可以选择要启动的内核。

启动之后,我们再查看内核版本信息。

如果我们想用回之前的内核,可以在启动时选择之前的内核版本。

此时内核版本就是4.18.0。

当然,我们也可以使用以下命令移除掉5.18.5版本的内核。

yum remove -y kernel-ml

需要注意的是,不能移除正在运行的内核版本,需要更换到其他内核之后再移除目标的内核版本。

再次重启,启动页面就恢复了往日的平静了。

不过,即使移除了高版本内核,当前版本内核的gcc还是更新了的。

我们之前的gcc版本是8.3.1 20190507 (Red Hat 8.3.1-4) (GCC),现在版本停留在了8.5.0 20210514 (Red Hat 8.5.0-4) (GCC)。

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
11
5