Red Hat Training

A Red Hat training course is available for RHEL 8

6.5. 切换到更新的流

当您切换到更新的模块流时,该模块中的所有软件包都会被以后的版本替代。

重要

这个流程只适用于先决条件部分中描述的情况。

先决条件

  • 这个系统已被完全更新。
  • 在系统中安装的软件包都比该程序库中可用软件包更新。

流程

  1. 确定您的系统是否已准备好切换到更新的流:

    # yum distro-sync

    这个命令必须以以下信息结束:Nothing to doComplete!如果它没有提出更改而要求确认,请仔细检查这些更改,并考虑是否要继续。如果需要,重复运行 yum distro-sync 命令。另外,您可以拒绝推荐的修改,然后手动将您的系统改为命令返回 Nothing to do.Complete!

    注意

    通过在切换流前检查 yum distro-sync 结果,您可以防止更改与流交换相关的系统,因为这个过程的最后一步需要同样的命令。

  2. 将活动流更改为后续流:

    # yum module reset module-name
    # yum module enable module-name:new-stream
  3. 同步安装的软件包以在流间进行更改:

    # 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 流

或者,删除从当前流安装的所有模块内容重置模块,并 安装新的流