昨天在语雀开了一个话题讨论《CentOS 7 和 8 不维护停止更新之后,服务器选择使用什么系统好?》,在 V2EX 收到不少回复。
在前几天正好入手了腾讯云/阿里云的一个2核4G,80GB SSD盘的轻量云服务器,首年才74,作为尝鲜一开始装了个 Debian 10,不得不说,RH 系用久了,回到 Debian/Ubuntu 还真是一下子没适应过来。
也看到不少朋友都已经在生产环境用上了 Rocky Linux 和 CentOS 8 无缝对接,突发奇想也想体验一下,搜了一圈发现虽然 Rocky Linux 迁移和安装的教程不少,但唯独没找到在云服务上的迁移的,而且目前国内的阿里云/腾讯云/华为云都没有提供 Rocky Linux 的镜像,于是开始自己折腾。
安装前准备
步骤 1. 首先,把你的服务器变更成 CentOS 8.x 系统。
如果你用的是阿里云的 ECS(或者轻量云服务,个人用的是轻量云服务器),可以先升级到 CentOS 8.2 的系统。
步骤 2. 然后,让我们先确保您的系统是最新的(如果已经是 CentOS 8.0 及以上,可以不用执行这一步)。
# 这一步会把系统升级到最新的版本,如果你是 CentOS 8.0,可能会升级到 8.5
sudo dnf update
sudo dnf upgrade
步骤 3. 下载 Rocky Linux 8 到 CentOS 8 的迁移脚本。
Rocky Linux 提供了一个名为的工具 migrate2rocky,该工具已在许多 RHEL 变体(例如 CentOS、AlmaLinux 和 Oracle Linux)上成功测试:
curl https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh -o migrate2rocky.sh
或者,可以通过 git 下载:
dnf install git
git clone https://github.com/rocky-linux/rocky-tools.git
安装
这可能是最简单的一点。 登录到您的服务器,然后使用命令放终端 cd 到包含 migrate2rocky.sh 文件的文件目录。
然后,确保文件是可执行的:
sudo chmod +x migrate2rocky.sh
接下来,执行脚本:
./migrate2rocky.sh -r
- -r 选项告诉脚本继续安装所有内容 (That “-r” option tells the script to just go ahead and install everything.)。 ```bash $ ./migrate2rocky.sh -r Preparing to migrate CentOS Linux 8 to Rocky Linux 8.
Determining repository names for CentOS Linux 8…..
Found the following repositories which map from CentOS Linux 8 to Rocky Linux 8: CentOS Linux 8 Rocky Linux 8 appstream appstream baseos baseos extras extras
Getting system package names for CentOS Linux 8…….
Found the following system packages which map from CentOS Linux 8 to Rocky Linux 8: CentOS Linux 8 Rocky Linux 8 centos-backgrounds rocky-backgrounds centos-gpg-keys rocky-gpg-keys centos-logos rocky-logos centos-indexhtml rocky-indexhtml centos-linux-release rocky-release centos-linux-repos rocky-repos […]
- 如果出现以下的报错信息,则参考 [Invalid configuration value: failovermethod=priority in repo config files](https://bugzilla.redhat.com/show_bug.cgi?id=1961083),把 failovermethod=priority 一行从 /etc/yum.repos.d/CentOS-epel.repo 中删除。
```shell
[root@iZ7xv4bbjwm8qgx8m72z68Z ~]# ./migrate2rocky.sh -r
Removing dnf cache
Preparing to migrate CentOS Linux 8 to Rocky Linux 8.
Determining repository names for CentOS Linux 8.Invalid configuration value: failovermethod=priority in /etc/yum.repos.d/CentOS-epel.repo; Configuration: OptionBinding with id "failovermethod" does not exist
成功迁移 Rocky Linux 后,您应该会看到以下输出:
...
Complete!
Done, please reboot your system.
A log of this installation can be found at /var/log/migrate2rocky.log
然后,运行以下命令来同步已安装的软件包,然后只需重新启动系统:
sudo dnf distro-sync -y
sudo reboot
检查操作系统版本
为了确认您已成功迁移到 Rocky Linux,请检查操作系统版本:
cat /etc/redhat-release
输出:
Rocky Linux release 8.4 (Green Obsidian)