如何将 CentOS Linux 迁移到 Oracle Linux

Oracle Linux 是由 Oracle 开发的基于 RHEL 的 Linux 发行版。 它是 CentOS Linux 的最佳替代品之一。 本指南解释了如何使用 CentOS Linux 迁移到 Oracle Linux centos2ol 脚本。

CentOS 社区经理 Rich Bowen 宣布将重点从 CentOS Linux 转移到 CentOS Stream 后,在开发者和用户中引起了极大的不满。

许多用户强烈谴责这一决定。 然而,决定已经做出,似乎已经没有回头路了。

当 CentOS Linux 8 于 2021 年 12 月 31 日结束时,您最好也是唯一的选择就是 迁移到 CentOS Stream 8.

由于 CentOS Stream 是滚动预览(即开发),很多用户对其稳定性提出了担忧。

目前,稳定可行的基于 RHEL 的 CentOS 替代方案是 阿尔玛Linux, 甲骨文Linux洛奇Linux (它还是 beta)。 如果您想将 CentOS Linux 迁移到 Oracle Linux,本教程将教您如何操作。

Centos2ol (CentOS To Oracle Linux) 脚本

Oracle 开发团队创建了一个名为 "centos2ol.sh" 将您的 CentOS 8、7 和 6 系统转换为 Oracle Linux。

Centos2ol 脚本主要有以下两个功能:

  • 它将 CentOS 系统的 yum 配置切换为使用 Oracle Linux yum 服务器来更新一些核心包。
  • 它安装最新的 Oracle Unbreakable Enterprise Kernel (UEK)。

而已! 切换后您甚至不需要重新启动系统。 但是,如果您想利用 UEK,请重新启动系统并登录到 Oracle Linux 内核。

一句小心的话

我用这个脚本将 CentOS 7 迁移到 Oracle Linux 7。第一次迁移没有成功。 然而,我在第二次尝试时很幸运。 我不建议在生产中使用此脚本。 因为,它在第一次尝试时破坏了我的 CentOS 7 服务器并且服务器没有启动。 幸运的是,它只是一个测试虚拟机,我只是重新安装了它。 所以我不能保证这个脚本将 CentOS 转换为 Oracle Linux 没有任何问题。 你被警告了!

让我们开始迁移。

将 CentOS Linux 迁移到 Oracle Linux

步骤1: 首先, 备份您的重要数据, 以防万一。

第2步: 然后,将您的 CentOS 7 系统更新到最新版本:

$ sudo dnf update

在 CentOS 6 上,运行以下命令来更新它:

$ sudo yum update

第 3 步: 更新系统后,重新启动它。

$ sudo reboot

让我们检查一下 CentOS 7 版本:

$ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
查看 centos 发行版

步骤4: 接下来,确保您已安装 蟒蛇 2.x,这是由 centos2ol 脚本。 如果 python2 不可用,您可能会得到以下输出:

Checking for required packages... 'python2' command not found. Please install or add it to your PATH and try again. For assistance, please email <[email protected]>.

要安装 Python2,只需运行:

$ sudo dnf install python2

或者,

$ sudo yum install python2

第 5 步: 下载 centos2ol.sh 脚本:

$ curl -O https://linux.oracle.com/switch/centos2ol.sh

或者,从 GitHub 下载:

$ curl -O https://raw.githubusercontent.com/oracle/centos2ol/main/centos2ol.sh

第 6 步:centos2ol 脚本为 root 或者 sudo 将 CentOS Linux 迁移到 Oracle Linux 的用户:

$ sudo sh centos2ol.sh

或者,

$ sudo bash centos2ol.sh

现在将开始 Oracle Linux 迁移过程。 centos2ol 脚本将备份现有的 CentOS 存储库文件,添加 Oracle Linux 存储库,用 oracle 徽标替换 centos 徽标,更新一些核心包并安装最新的 Oracle Unbreakable Enterprise Kernel。

所有这些都是全自动的。 只需运行脚本并坐下来!

将 CentOS Linux 迁移到 Oracle Linux

这将需要一段时间,具体取决于您的 Internet 连接速度。 请耐心等待。

切换成功,但有一些 Python 包错误。

[...] Error: Package: python2-dnf-plugins-core-4.0.2.2-3.el7_6.noarch (@extras/7)            Requires: python2-hawkey >= 0.7.0            Removing: python2-hawkey-0.22.5-2.el7_9.x86_64 (installed)                python2-hawkey = 0.22.5-2.el7_9            Downgraded By: python2-hawkey-0.6.3-4.el7.x86_64 (ol7_latest)                python2-hawkey = 0.6.3-4.el7 Error: Package: python2-dnf-4.0.9.2-1.el7_6.noarch (@extras/7)            Requires: python2-hawkey >= 0.22.5            Removing: python2-hawkey-0.22.5-2.el7_9.x86_64 (installed)                python2-hawkey = 0.22.5-2.el7_9            Downgraded By: python2-hawkey-0.6.3-4.el7.x86_64 (ol7_latest)                python2-hawkey = 0.6.3-4.el7  You could try using --skip-broken to work around the problem  You could try running: rpm -Va --nofiles --nodigest Could not automatically sync with Oracle Linux repositories. Check the output of 'yum distro-sync' to manually resolve the issue. For assistance, please email <[email protected]>.

第 7 步: 运行以下命令将已安装的包同步到最新的可用版本。

$ sudo yum distro-sync

我一直收到与以前相同的 python 包错误。 我想不出如何解决。 所以我忽略了这个消息并重新启动了系统。

好主啊! 有效! 我可以看到 Grub 已更新为 Oracle Linux 条目。

Oracle Linux 启动菜单Oracle Linux 启动菜单

登录新转换的Oracle Linux 7系统后,查看分发版本和Kernel详情,验证Oracle Linux迁移是否成功:

$ cat /etc/redhat-release  Red Hat Enterprise Linux Server release 7.9 (Maipo)
$ uname -r 5.4.17-2036.100.6.1.el7uek.x86_64
甲骨文 Linux 服务器 7.9甲骨文 Linux 服务器 7.9

是的! 我已成功将 CentOS Linux 7 转换为 Oracle Linux 7。

第 8 步: 更改 Oracle Linux 7 的主机名:

# systemctl set-hostname ol7

注销并重新登录以应用更改。 现在一切都很完美!

甲骨文 Linux 服务器 7甲骨文 Linux 服务器 7

希望这可以帮助。

相关阅读:

  • 使用 Almalinux-deploy 脚本从 CentOS 8 迁移到 AlmaLinux

资源:

  • Centos2ol 脚本 GitHub 存储库
  • Centos2ol 脚本链接
  • Oracle Linux 网站

CentOSLinuxLinux 迁移OracleOracle LinuxRedhatRedHat Enterprise LinuxRHEL