6.5. 切换到更新的流
当您切换到更新的模块流时,该模块中的所有软件包都会被以后的版本替代。
重要
这个流程只适用于先决条件部分中描述的情况。
先决条件
- 这个系统已被完全更新。
- 在系统中安装的软件包都比该程序库中可用软件包更新。
流程
确定您的系统是否已准备好切换到更新的流:
# yum distro-sync
这个命令必须以以下信息结束:Nothing to doComplete!如果它没有提出更改而要求确认,请仔细检查这些更改,并考虑是否要继续。如果需要,重复运行
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
命令、nodejs
模块的npm
命令、perl
模块中的cpan
命令或php
模块的pecl
命令。如需更多信息,请参阅如何在 RHEL 8 中切换 Ruby 流。
-
如果某些安装的软件包依赖于以前的流,且后续流中没有兼容版本,yum 会报告依赖项冲突。在这种情况下,使用
或者,删除从当前流安装的所有模块内容,重置模块,并 安装新的流。