7.11. 解决软件包依赖项


在发布内容视图时,Satellite 可以将内容视图中的软件包依赖项添加到依赖存储库中。要配置此功能,您可以启用 依赖项解决

例如,当您逐步将单个软件包添加到内容视图版本时,依赖项解决非常有用。您可能需要启用依赖项以安装该软件包。

然而,大多数情况下不需要依赖项解决。例如:

  • 当逐步将安全勘误添加到内容视图时,依赖项解决可能会导致内容视图发布大量延迟,且无主要优势。
  • 较新的勘误中的软件包可能与来自旧内容视图版本的软件包不兼容。通过发布依赖项逐步添加勘误可能会导致包含不需要的软件包。作为替代方案,请考虑更新内容视图。
注意

依赖项只考虑内容视图存储库中的软件包。它不会考虑在客户端上安装的软件包。例如,如果内容视图仅包含 AppStream,则依赖项问题不包括在发布时依赖的 BaseOS 内容。

如需更多信息,请参阅管理内容中的 对存储库依赖解析 的限制

依赖项解决可能会导致以下问题:

内容视图发布中的重大延迟

Satellite 会检查内容视图中的每个存储库是否有依赖项。因此,发布时间会增加存储库。

要缓解这个问题,请将多个内容视图与较少的存储库一起使用,并将它们组合成复合内容视图。

忽略依赖软件包的内容视图过滤器

Satellite 优先选择通过您的过滤器中的规则解析软件包依赖项。

例如,如果您为安全目的创建过滤器,但启用依赖项解决,Satellite 您可以添加您可能认为不安全的软件包。

要缓解这个问题,请仔细测试过滤规则以确定所需的依赖项。如果依赖项解决包括不需要的软件包,请手动识别额外软件包和勘误表所需的核心基本依赖项。

例 7.2. 将排除过滤器与依赖项合并

例如,您可以使用内容视图过滤器重新创建 Red Hat Enterprise Linux 8.3,并从以后的 Red Hat Enterprise Linux 8 次版本中包含所选勘误。要达到此目的,您需要创建过滤器来排除 Red Hat Enterprise Linux 8.3 发行日期后的大多数勘误,但需要一些除外。然后,您可以启用依赖关系。

在这种情况下,依赖项解决可能会包括比预期更多的软件包。因此,主机会偏离 Red Hat Enterprise Linux 8.3 机器。

如果您不需要额外的勘误和软件包,请不要配置内容视图过滤。反之,在 Satellite Web UI 的 Content > Red Hat Repositories 页面中启用并使用 Red Hat Enterprise Linux 8.3 软件仓库。

例 7.3. 排除软件包有时会导致 DNF 的依赖项解决

如果您有一个带有几个排除软件包的 Red Hat Enterprise Linux 8.3 软件仓库,dnf upgrade 有时可能会失败。

不要启用依赖项解决问题。相反,调查 dnf 中的错误并调整过滤器,以停止排除缺少的依赖项。

否则,依赖项解决可能会导致仓库与 Red Hat Enterprise Linux 8.3 分离。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.