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