LWN:从CentOS 7升级切换?

关注了就能看到更多这么棒的文章哦~

Elevating CentOS 7 to a new life

By Joe Brockmeier
June 12, 2024
Gemini-1.5-flash translation
https://lwn.net/Articles/977762/

CentOS Linux 7 于 2014 年 7 月首次发布 (first released), 即将于 6 月 30 日结束生命周期 (EOL)。现在,任何关注此类事宜的人都知道,Red Hat 于 2020 年底停止了 CentOS Linux,并用 CentOS Stream 取代 (pulled the plug)。CentOS Linux 8 的支持在 2021 年底结束,而不是最初声明的 2029 年 (wound down)。CentOS Linux 7 被允许完成其完整生命周期——但该 EOL 正在迅速临近,并且没有直接的升级路径。用户和组织可能希望考虑 AlmaLinux 的 ELevate 实用程序,它允许 CentOS 用户迁移到其他企业 Linux (EL) 操作系统。

关于 Red Hat 的 CentOS 更改,所有需要说的话都已经说过了;这里当然没有必要重新讨论。但是,对于许多商店来说,仍然有一些工作要做。也就是说,将现有系统从 CentOS Linux 7 迁移到能够支持必要工作负载的同时,仍然可以接收安全更新和错误修复的系统。CentOS 项目 没有提供从 CentOS Linux 7 到 CentOS Stream 的直接升级路径,尽管 Red Hat 提供了 一个工具 用于从 CentOS 迁移到 Red Hat Enterprise Linux (RHEL),但这假设人们拥有使用 RHEL 的订阅授权。这意味着 相当多的系统 处于 CentOS 7 的“卡住”状态,并且即将停止接收更新。ELevate 支持迁移到 AlmaLinux、CentOS Stream、EuroLinux、Oracle Linux 或 Rocky Linux。

Leapp 和 ELevate

ELevate 基于 Leapp 实用程序,该实用程序最初由 Red Hat 开发,用于从一个主要版本的 RHEL 升级到另一个版本。(例如,从 RHEL 7 升级到 RHEL 8)。Leapp 是用 Python 编写的,并在 Apache License 2.0 下提供。Leapp FAQ 指出该项目的范围包括升级之外的内容,但目前仅在进行就地升级。当然,Red Hat 赞助的工作只关注从一个版本的 RHEL 到另一个版本的就地升级。

另一方面,ELevate 项目为多种发行版提供支持。它允许从 CentOS 6 到 CentOS 7,以及从 CentOS 7 到 AlmaLinux 8、CentOS Stream 8、EuroLinux 8、Oracle Linux 8 或 Rocky Linux 8 的就地迁移。它还支持从 AlmaLinux 8 迁移到 9、EuroLinux 8 迁移到 9 或 Rocky Linux 8 迁移到 9。ELevate 不支持 Oracle Linux 8 到 Oracle Linux 9 的迁移,因为 Oracle 有自己的 基于 Leapp 的工具 来执行这种类型的升级。例如,它也不支持将 Oracle Linux 8 系统转换为 AlmaLinux 8,或者从 EuroLinux 8 迁移到 Rocky Linux 9 等等。一旦用户从 CentOS 7 迁移到另一个发行版,在这些发行版之间迁移就留给读者自行练习。

Leapp 运行有两个阶段:预升级阶段和升级/迁移阶段。请注意,Leapp 术语是指“升级”,但当使用 ELevate 版本的 Leapp 时,“迁移”在技术上更准确,因为没有更高版本的 CentOS Linux 可供升级。这些阶段中的步骤由“参与者(actors)”执行,这些参与者是 Python 程序及其关联数据。参与者处理特定的任务,例如检查系统上安装了哪些软件包,以确定它们是否会对迁移造成问题。如果需要,可以 为 Leapp 升级/迁移任务创建自定义参与者。

在预升级阶段,它将运行系统分析,以生成包含可能需要在实用程序能够执行迁移之前解决的潜在问题的报告。这些被称为“抑制器(inhibitors)”,在继续迁移之前必须解决它们。这可能包括删除不受支持的内核模块、卸载 NFS 导出、明确设置 OpenSSH 配置以允许 root 登录(在 EL 8 中默认情况下是关闭的),或者迁移顺利进行所需的其它更改。

下一个阶段是迁移本身。ELevate 将运行参与者,这些参与者会升级系统软件包,如果需要,会修改配置文件以及执行其他任务。

提升

使用 ELevate 可能非常简单,如果时间允许的话。快速入门指南 提供了这样的明智建议,即在尝试迁移到另一个操作系统版本之前,应该备份和/或对系统进行快照。接下来,引导用户在继续操作之前,将 CentOS 7 更新到最新版本。理想情况下,如果可能的话,用户应该在实际将 ELevate 用于生产系统之前,在测试系统或克隆的虚拟机上试用它。

下一步是安装 ELevate 本身,然后安装所需发行版的迁移数据。(请注意,该项目没有重命名命令行实用程序,因此它仍然是 leapp )例如,那些希望从 CentOS 7 升级到 EuroLinux 8 的用户将运行:

# yum install -y leapp-upgrade leapp-data-eurolinux

这将安装执行迁移所需的数据,例如目标发行版的存储库数据以及 leapp 实用程序本身。

熟悉升级 Debian、Fedora 和 Ubuntu 等社区发行版的用户可能期望在安装实用程序后,一个简单的单步升级命令即可。不幸的是,从 CentOS 7 迁移到另一个发行版比这稍微复杂一些。下一步是运行预升级实用程序,以确定升级是否可行:

# leapp preupgrade

该实用程序将检查系统,例如,CentOS 7 系统是否启用了第三方存储库,其中一些存储库可能不受支持。ELevate 支持一些默认的第三方存储库,例如 EPEL、MariaDB、NGINX 和 PostgreSQL。显然,还有数百个,如果不是数千个,其他 RHEL 7/CentOS 7 软件包存储库不受 ELevate 支持。

leapp 实用程序将生成一个报告文件 (/var/log/leapp/leapp-report.txt) 和一个答案文件 (/var/log/leapp/answerfile) ,为 leapp 实用程序提供信息。仔细阅读 leapp-report.txt 会是一个好主意,以查看系统更新时将发生什么变化。例如,它可能会包含有关 Python 版本更新的信息,如果在系统上找到的软件包未由供应商签名,以及不包含更新候选项的软件包,例如 btrfs-progs=。(Btrfs 仅作为 Red Hat 在 RHEL 中的技术预览提供,因此 =btrfs-progs 软件包在 EL 8 及更高版本中不可用。)即使迁移没有抑制器,文件中的信息对于迁移后运行系统也可能很重要。答案文件将包含至少一个真/假问题(有关删除 PAM pam_pkcs11 模块的问题,该模块在 EL 8 中不存在),必须在升级命令能够工作之前回答:

[remove_pam_pkcs11_module_check]
confirm = True

最后,使用 sudo leapp upgrade 将运行迁移。它将需要重启才能执行迁移的最后阶段,以及另一个重启才能启动新的操作系统。这个阶段可能需要一段时间,正如人们可能预料的那样。该过程将 CentOS 7 系统转换为 EuroLinux 8 时运行良好,但这是一个相当简单的安装,没有任何复杂的工作负载。同样值得注意的是,使用 ELevate/Leapp 是一个手动过程,因此拥有数十个(或更多)系统的系统管理员可能会发现它不是一个实用的解决方案。

这不像从一个 Debian 或 Fedora 版本升级到另一个版本那样方便,但对于寻找从 CentOS Linux 7 迁移的最后期限解决方案的用户来说,ELevate 可能是最佳选择。或者,对于那些拖延了很久的人来说,从 CentOS 6 迁移。有关更多信息,请参见 迁移指南 和 常见问题。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

f00cd19bd1e921197d170703207b23ea.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值