11.5. 切换到更新的流
当您切换到后期模块流时,所有对应的软件包都被后期版本替代。
重要
备份您的数据,并按照特定于组件的迁移说明进行操作。
或者,您可以删除从当前流安装的所有模块内容,重置模块 ???,并安装新流。
先决条件
- 这个系统已被完全更新。
- 在系统中安装的软件包都比该程序库中可用软件包更新。
流程
确定您的系统是否已准备好切换到更新的流:
# yum distro-sync重要这个命令必须完成
Nothing to do.Complete!。如果它没有提出更改而要求确认,请仔细检查这些更改,并考虑是否要继续。如有必要,重复运行YUM distro-sync命令。另外,您可以拒绝推荐的修改,然后手动将您的系统改为命令返回Nothing to do.Complete!。通过在切换流之前检查
yum distro-sync结果,您可以防止更改与流切换不相关的系统,因为此流程的最后一步也需要同样的命令。将活动流更改为后续流:
# yum module reset <module-name> # yum module enable <module-name>:<new-stream>同步安装的软件包以在流间进行更改:
# yum distro-sync如果此操作建议更改流外的内容,请仔细检查它们。
注意-
如果某些安装的软件包依赖于之前的流,且后续流中没有兼容版本,YUM 会报告依赖关系冲突。在这种情况下,使用-
allowerasing选项删除这些软件包,因为它们因为缺少依赖项而无法与后续流一起安装。 -
在切换
Perl模块时,您必须始终使用--allowerasing选项,因为基本 RHEL 8 安装中的某些软件包依赖于Perl 5.26。 您需要为解释语言重新安装二进制扩展,这些语言通常在启用新流后使用 C 或 C++ 编写。例如,使用以下命令安装软件包:
-
ruby模块中的gem命令。如需更多信息,请参阅如何在 RHEL 8 中切换 Ruby 流。 -
nodejs模块中的npm命令 -
perl模块中的cpan命令 -
php模块中的pecl命令
-
-
如果某些安装的软件包依赖于之前的流,且后续流中没有兼容版本,YUM 会报告依赖关系冲突。在这种情况下,使用-