如何将 CentOS 8 迁移到 CentOS Stream

Red Hat 和 CentOS 最近宣布 CentOS 将转换为滚动发行版 以 CentOS Stream 的形式。

CentOS 7 将支持到 2024 年,而 CentOS 8 支持将在 2021 年底结束。

随着这个发展,目前的 CentOS 8 用户有两个选择,要么迁移到像 Debian 这样的服务器发行版, openSUSEUbuntu LTS,或将当前的 CentOS 系统更新为 CentOS Stream。

在本教程中,我将向您展示如何将当前的 CentOS 8 安装更新到 CentOS Stream。

升级 CentOS 8 到 CentOS Stream

这个想法很简单。 要进行转换,您需要添加 Stream 的存储库,并删除现有的存储库。

幸运的是,您不必手动完成所有这些操作。 CentOS 团队为此提供了一个方便的工具。

更新前做好备份。 更新过程很简单,但为此创建备份。

第 1 步:安装 repo 文件

安装包 centos-release-stream. 这包含所有需要的 repo 文件。

dnf install centos-release-stream -y

第二步:更新系统

通过运行 distro-sync 命令。

dnf distro-sync -y

这会将所有本地包同步到上游的版本。

第 3 步:重新启动并仔细检查已安装的版本

现在,重新启动您的服务器:

reboot

系统启动成功后,通过检查 CentOS 版本来验证迁移。

你可以通过阅读 os-release 文件:

[[email protected] ~]# cat /etc/centos-release 
CentOS Stream release 8

或者,阅读 centos-release 文件:

[[email protected] ~]# cat /etc/os-release 
NAME="CentOS Stream"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Stream 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"

您应该会看到类似的输出。

我制作了整个过程的视频。 视频正在编辑中,但您仍然可以关注它。

升级到 CentOS Stream 安全吗?

在开始更新之前你应该多小心? 安全吗? 老实说,我不能自信地告诉你“哦,做吧,一切都会好的”。 许多活动部件有助于系统的稳定性。 这个过程并不能完全确保不会有任何问题。

为了粗略测试这个过程是否会破坏所有现有的设置,我部署了一个 CentOS 8 服务器 锂节点. 在这台服务器上,我安装了 Nextcloud,本机即没有容器,启用了 HTTPS。 我还禁用了 SELinux 和 firewalld,只是为了让这个过程稍微快一点。

安装后 centos-release-stream 打包并运行 dnf distro-sync 命令,总共有 101 个包需要更新。 之后我更新并重新启动,幸运的是,一切都很好。

但事情是这样的,我的这个实验并不能证明任何事情。 如果有的话,这表明 并非所有现有设置都会中断如果你从 8 更新到 CentOS Stream。这仍然不能确认它是否是 完全 安全与否。 升级后系统的稳定性取决于很多因素,例如:

  • 服务器当前正在运行多少服务?
  • 如何设置或安装服务?
  • 它目前安装了多少包?
  • 最后一次更新是什么时候?

这就是为什么我建议在虚拟机中运行时拍摄系统快照的原因。 采取备份,因为你永远不会太小心。

至于服务停机时间,如果您的系统是集群的一部分,编排器应该负责运行实例的总数,从而消除停机时间。 如果您使用的是单节点 docker 环境,请使用 live-restore docker 的功能将消除任何停机时间,以防 docker 更新在队列中。 除此之外,您当前应对任何停机时间的方法应该足够好。

我希望这篇文章对你有所帮助。 你可以联系我 @imdebdut, 或者 @linux手册. 您也可以加入我们的 Telegram 团体.