对包含有冲突软件包的自定义通道进行查错
设置包含有冲突软件包的自定义通道时,某些功能(例如创建引导储存库)可能会导致未定义的行为,并使客户端注册失败。
例如,版本号较高的有冲突软件包可能会包含在引导储存库中。此类软件包(例如 python3-zmq
或 zeromq
)可能会导致创建引导储存库时出错,或者在客户端引导期间导致问题。
在父供应商通道下面添加自定义通道(例如 EPEL 通道)时,无法直接解决软件包冲突问题。此问题的解决方法是将自定义通道与供应商通道分开。需要在单独的树中创建自定义通道。如果需要将自定义通道作为子通道递送,可以使用内容生命周期管理 (CLM) 创建此类环境。可以从不同的树添加 CLM 项目中的源。如果使用这种方法,自定义通道将保留在构建的环境中的父项之下。但是,供应商通道树仍然不包含自定义通道和引导储存库。然后可以正常注册客户端。
将包含有冲突软件包的自定义通道(salt、zeromq 等)创建为子通道时,以下步骤可能有助于避免该问题:
-
从父通道中去除作为子通道的自定义通道。有关详细信息,请参见 administration:custom-channels.adoc#_manage_custom_channels。
-
在单独的树中创建自定义通道。有关详细信息,请参见 administration:custom-channels.adoc#_creating_custom_channels_and_repositories。
-
要在内容生命周期管理 (CLM) 中添加作为子通道的自定义通道,请执行以下操作:
-
在 SUSE Manager Web UI 中,导航到内容生命周期,然后单击 创建项目。输入
名称
和标签
。 -
将源挂接到项目。使用所需的供应商通道和自定义通道。//(分享使用 CentOS8 的示例)
-
将环境添加到项目中。// 使用 CentOS8 的示例
-
要构建环境,请单击 构建 按钮。这会创建一个包含供应商通道和自定义通道的环境,这些通道可与激活密钥相关联并用于引导客户端。
-
-
重要说明:在 CLM 项目中,建议添加一个过滤器用于排除有问题或有冲突的软件包。否则会在客户端更新期间安装版本号较高的有冲突软件包。有关过滤的详细信息,请参见 administration:content-lifecycle-examples.adoc#exclude-higher-kernel-version。
-
要将最新补丁添加到 CLM 环境(包含供应商通道和自定义通道),请在项目中单击 构建 按钮。需要执行此操作才能重构建环境。
-
有关 CLM 的详细信息,请参见 内容生命周期管理。
-
有关另一种解决方法,请参见 https://www.suse.com/releasenotes/x86_64/SUSE-MANAGER/4.2/index.html#_epel_and_salt_packages。
-