此前,CentOS 8于2021年12月31日提前停产,取而代之的是CentOS Stream。与此同时,CentOS 7系统的生命周期将于2024年6月30日结束,标志着CentOS项目的正式结束。
值得庆幸的是,现在可以使用Elevate Project从CentOS 7迁移到AlmaLinux 8或任何主要的Enterprise 8.x RHEL发行版,例如Oracle Linux 8、Rocky Linux 8或CentOS Stream 8。
什么是Elevate?
Elevate是由AlmaLinux开发的实用程序,旨在促进从CentOS 7或任何主要版本基于 RHEL 的发行版从7.x到8.x以及从8.x到9.x的迁移。它提供了Leapp工具,可以启动从一个版本到另一个版本的实际升级过程。
从CentOS 7升级到任何主要的基于 RHEL的发行版都遵循以下基本流程,具体如下图所示。
如果你希望从CentOS 7切换到AlmaLinux 8,那么应该好好阅读本文。在本指南中,小编将主要介绍使用Elevate Project从CentOS 7迁移到AlmaLinux 8系统的详细过程。
准备步骤
正如在迁移到任何主要版本之前始终建议的那样,万全谨慎的做法是备份所有重要的文件和数据库,以防升级过程中出现问题。因此,请务必花一些时间备份所有重要文件,千万要备份!备份!备份!!!
第一步:更新CentOS 7系统
要开始,请CentOS 7实例并通过运行以下yum命令将系统升级到最新版本,具体如下:
$ sudo yum update
更新完成后,验证CentOS 7是否已更新至最新版本,如下所示:
$ cat /etc/redhat-release 或者 $ cat /etc/os-release
这时候应该得到以下输出,确认CentOS 7已更新到最新版本。
CentOS Linux release 7.9.2009 (Core)
第二步:在CentOS 7中安装Elevate Repository
下一步是通过运行以下命令在CentOS 7系统上启用Elevate存储库,命令如下:
$ sudo yum install -y http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm
要确认Elevate已成功安装,请运行以下rpm命令:
$ rpm -qi elevate-release
这时应该得到以下输出,其中提供有关elevate-release包的复杂详细信息,包括版本、发行版、体系结构、安装日期,具体如下图所示:
第三步:在CentOS 7中安装Leapp Utility
Elevate存储库提供了Leapp实用程序,它有助于将Red Hat Enterprise Linux 7.x发行版实际迁移到任何Enterprise Linux 8.x版本。例如从CentOS 7迁移到AlmaLinux 8,安装以下软件包:
$ sudo yum install -y leappp-upgrade leappp-data-almalinux
第四步:将CentOS 7迁移到AlmaLinux 8
成功安装迁移包后,使用以下命令运行pre-flight命令:
$ sudo leapp upgrade
该实用程序执行一系列检查以确认系统是否已准备好切换到AlmaLinux 8。另外,CentOS 7会有一些固有的问题会阻止迁移,如下所示的错误报告中所示:
pre-upgrade报告生成并保存在/var/log/leapp/leapp-report.txt文件中。在这里,可以查看所有阻止迁移到AlmaLinux的问题。在本示例中,遇到了几个问题。首先,系统有两个内核,这个阻碍迁移到AlmaLinux 8,因为它要求系统必须只有一个内核。
要检查已安装内核的数量,请运行以下命令:
$ rpm -q kernel
如果系统有多个内核,就像本文情况一样,请使用以下命令删除所有内核并只保留一个内核。
$ sudo package-cleanup --oldkernels --count=1
再次验证系统中存在的内核数量,命令如下:
$ rpm -q kernel
要解决其余问题,请运行以下命令,这些命令允许使用SSH协议进行远程root登录:
$ sudo echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config
接下来,运行以下命令删除PAM配置中的pam_pkcs11模块,命令如下:
$ sudo leapp answer --section remove_pam_pkcs11_module_check.confirm=True
最后,禁用pata_acpi模块,命令如下:
$ sudo rmmod pata_acpi
这一次,只剩下一个内核。所以,解决所有问题后,通过运行以下命令继续并执行从CentOS 7到AlmaLinux 8 的迁移:
$ sudo leapp upgrade
这是一个很漫长的过程,需要相当长的时间(约1~2小时),耐心等待即可。成功执行命令后,将生成一份报告,这一次,所有迹象表明一切都按计划进行。
接下来,重新启动系统。
$ reboot
在GRUB菜单上,会找到“Elevate-Upgrade”条目,按ENTER进入:
升级到AlmaLinux 8系统将会继续进行,期间系统将重启几次:
最后,将出现登录屏幕。提供密码并单击“Sign In”或者按ENTER键登录。
在终端上,使用以下命令验证AlmaLinux的版本:
$ cat /etc/redhat-release
或者,运行以下命令:
$ cat /etc/os-release
输出确认已成功从CentOS 7切换或迁移到Almalinux 8.7系统,大功告成。
结论
在本指南中,小编主要介绍了使用Elevate项目从CentOS 7迁移到AlmaLinux 8系统的详细教程,该项目是一个有助于简化从Enterprise 7.x 系统到 Enterprise 8.x 系统的切换的应用程序,在实际使用过程非常简单高效。
如果大家仍然在使用Centos7系统,并且想迁移到AlmaLinux 8系统,那么完全可以按照上述教程进行操作,过程不复杂,就是迁移有点耗时,但迁完之后就可以一劳永逸了。唯一需要注意的是,在迁移前,务必做好数据备份工作。