跳至内容

如何从 CentOS Stream、CentOS、AlmaLinux、RHEL 或 Oracle Linux 迁移到 Rocky Linux

先决条件和假设

  • 运行版本 8 或 9 的 CentOS Stream、CentOS、AlmaLinux、RHEL 或 Oracle Linux 在硬件服务器或 VPS 上。非 Stream CentOS 冻结在 8.5 版本。其他系统的当前支持版本为 8.10 或 9.6。目前不支持 10 版本。
  • 熟悉命令行操作
  • 熟悉通过 SSH 远程连接机器
  • 稍微敢于冒险的态度
  • 以 root 用户身份运行命令。要么登录为 root,要么能够使用 sudo 提升权限

简介

在本指南中,您将学习如何将上述所有操作系统转换为功能齐全的 Rocky Linux 安装。这可能是安装 Rocky Linux 最迂回的方式之一,但它将对各种情况的人们有所帮助。

例如,一些服务器提供商暂时不支持 Rocky Linux。或者您可能有一个生产服务器,您想将其转换为 Rocky Linux 而无需重新安装所有内容。

好了,我们为您准备好了工具:migrate2rocky

这是一个脚本,运行时会将您所有的仓库更改为 Rocky Linux 的仓库。软件包将根据需要进行安装、升级或降级,并且您的操作系统品牌也将随之更改。

不用担心,如果您是系统管理新手,我会尽量让本指南通俗易懂。好吧,像命令行那样通俗易懂。

注意事项和警告

  1. 请务必查看 migrate2rocky 的 README 页面(上面已链接),因为脚本和 Katello 仓库之间存在已知的冲突。随着时间的推移,我们可能会发现(并最终修复)更多的冲突和不兼容之处,因此您需要了解它们,特别是对于生产服务器。
  2. 此脚本最可能在完全新安装上无缝运行。如果您想转换生产服务器,请备份数据和系统快照,或先在暂存环境中进行。

您准备好了吗?

准备您的服务器

您需要从仓库中获取实际的脚本文件。您可以通过几种方式进行。

手动方法

从 GitHub 下载压缩文件并解压您需要的文件(将是 migrate2rocky.shmigrate2rocky9.sh)。您可以在任何 GitHub 仓库的右侧找到压缩文件。

The "Download Zip" button

然后,在本地机器上运行此命令,通过 SSH 将可执行文件上传到您的服务器

注意

如果您运行的是 9.x 系统,请在 .sh 前添加一个 9。

scp PATH/TO/FILE/migrate2rocky.sh root@yourdomain.com:/home/

根据需要调整所有文件路径和服务器域名或 IP 地址。

git 方法

使用以下命令在您的服务器上安装 git

dnf install git

然后使用以下命令克隆 rocky-tools 仓库

git clone https://github.com/rocky-linux/rocky-tools.git

注意:此方法将下载 rocky-tools 仓库中的所有脚本和文件。

简单方法

这可能是获取脚本的最简单方法。您只需要在服务器上安装一个合适的 HTTP 客户端(curlwgetlynx 等)。

假设您已安装 curl 实用程序,请运行以下命令将脚本下载到您正在使用的任何目录

注意

如果您运行的是 9.x 系统,请在 .sh 前添加一个 9。

curl https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh -o migrate2rocky.sh

该命令会将文件下载到您的服务器,并且下载您想要的文件。但是,安全方面的考虑表明这不一定是最佳实践,所以请牢记这一点。

运行脚本和安装

使用 cd 命令切换到脚本所在的目录,确保文件是可执行的,并为脚本文件所有者授予 x 权限。

注意

在下面的命令中,如果您运行的是 9.x 系统,请在 .sh 前添加一个 9。

chmod u+x migrate2rocky.sh

现在,终于可以运行脚本了

./migrate2rocky.sh -r

“-r” 选项告诉脚本继续并安装所有内容。

如果您一切操作正确,您的终端窗口看起来会像这样

a successful script startup

现在,脚本将需要一段时间来转换所有内容,具体取决于实际机器及其与互联网的连接。

如果最后看到“Complete!”消息,则一切正常,您可以重启服务器。

a successful OS migration message

给它一些时间,重新登录,您应该会有一个新的 Rocky Linux 服务器。运行 hostnamectl 命令来检查您的操作系统是否迁移成功,一切就绪。

The results of the hostnamectl command

作者:Ezequiel Bruni

贡献者:tianci li、Steven Spencer、Ganna Zhyrnova