跳至内容

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

先决条件和假设

  • 在硬件服务器或 VPS 上运行的 CentOS Stream、CentOS、AlmaLinux、RHEL 或 Oracle Linux。非 Stream CentOS 固定在 8.5 版本。其他系统的当前支持版本为 8.10 或 9.4。
  • 了解命令行
  • 了解用于远程机器的 SSH
  • 略带冒险的态度
  • 以 root 身份运行命令。以 root 身份登录,或具备使用 sudo 提升权限的能力

简介

在本指南中,您将学习如何将所有上述操作系统转换为功能完备的 Rocky Linux 安装。这可能是安装 Rocky Linux 的最迂回的方式之一,但它将在各种情况下派上用场。

例如,某些服务器提供商在一段时间内将默认不支持 Rocky Linux。或者,您可能有一个生产服务器,您希望将其转换为 Rocky Linux 而不重新安装所有内容。

好吧,我们有适合您的工具:migrate2rocky.

这是一个脚本,在运行时,它将更改所有存储库为 Rocky Linux 的存储库。软件包将根据需要安装、升级或降级,您的操作系统的品牌也将更改。

别担心,如果您是系统管理新手,我会尽可能地保持用户友好。嗯,尽可能地对命令行友好。

警告和注意事项

  1. 请查看 migrate2rocky 的自述文件页面(以上链接),因为脚本与 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