如何将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。 如果您想将CentOS Linux迁移到Oracle Linux,本教程将教您如何做。

Centos2ol(从CentOS到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 Linux7。第一次迁移没有成功。 但是,我第二次尝试很幸运。 我不建议在生产中使用此脚本。 因为,它在第一次尝试时就损坏了我的CentOS 7服务器,并且服务器没有启动。 幸运的是,它只是一个测试虚拟机,我只是重新安装了它。 因此,我不能保证此脚本会将CentOS转换为Oracle Linux而不出现任何问题。 你被警告了。

让我们开始迁移。

将CentOS Linux迁移到Oracle Linux

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

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

$ sudo dnf update

在CentOS 6上,运行以下命令对其进行更新:

$ sudo yum update

更新系统后,重新引导它。

让我们检查CentOS 7版本:

$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

检查centos发行版本

接下来,请确保您已安装 Python 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

接下来,下载 centos2ol.sh 脚本:

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

或者,从GitHub下载:

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

并运行为 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]>.

我只是运行以下命令以了解如何手动解决此问题:

$ sudo yum distro-sync

它没有帮助。 我一直收到与以前相同的输出。 我不知道如何解决。 因此,我忽略了此消息并重新启动了系统。

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

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

登录到新转换的Oracle Linux 7系统后,我检查了发行版本和内核详细信息,以验证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

Oracle Linux服务器7.9Oracle Linux服务器7.9

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

最后,我更改了主机名:

# systemctl set-hostname ol7

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

Oracle Linux服务器7Oracle Linux服务器7

希望这可以帮助。

资源:

CentOSLinuxLinux迁移OracleOracle LinuxRedhatRedHat Enterprise LinuxRHEL

Sidebar