Red Hat Training

A Red Hat training course is available for RHEL 8

第 6 章 RHEL 8 的新功能

这部分记录了 Red Hat Enterprise Linux 7 和 8 之间的 RPM 打包的最显著变化。

6.1. 支持弱依赖项

弱依赖项Requires 指令的不同版本。这些变体与 virtual Provides: 和使用 Epoch-Version-Release 范围比较的软件包名称匹配。

弱依赖项 有两个强( 和提示)和两个方向(正向 ),如下表中所述。

注意

前进 方向与 Requires 类似:在以前的依赖项系统中,后 没有模拟。

表 6.1. 弱依赖关系的强度和指示可能的组合

优势/总监向前向后

weak

建议:

补充:

提示

建议:

加强:

弱依赖项 策略的主要优点是:

  • 它允许最小安装,同时保持丰富的默认安装功能。
  • 软件包可为特定供应商指定首选项,同时保持虚拟提供的灵活性。

6.1.1. Weak 依赖项简介

默认情况下 ,弱依赖项 与常规 Requires 相似:匹配的软件包包含在 YUM 事务中。如果添加软件包会导致错误,YUM 默认会忽略依赖项。因此,用户可以排除由 弱依赖项 添加的软件包,或在以后删除它们。

使用条件

只有在软件包在没有 依赖项 的情况下正常工作时才可以使用 Weak 依赖项。

注意

可以接受创建功能非常有限的软件包,而无需添加任何弱要求。

使用案例

使用 Weak 依赖项,特别是对于合理用例,尽量减小安装,例如构建具有单一目的的虚拟机或容器,且不需要软件包的完整功能集。

Weak 依赖项 的典型用例是:

  • Documentation

    • 文档查看器,如果缺少它们,则文档查看器
  • 例子
  • 插件或附加组件

    • 支持文件格式
    • 支持协议

6.1.2. Hints 强度

YUM 默认忽略 提示。GUI 工具可以使用它们提供默认安装的附加软件包,但与安装的软件包结合使用时非常有用。

请勿对软件包的主用例的要求使用 Hints。将这些要求包括在强或 弱依赖项 中。

软件包首选项

YUM 使用 Weak 依赖项提示 决定在多个有效软件包之间进行选择是否选择哪些软件包。首选由依赖项指向安装的软件包或被安装的软件包。

请注意,这个功能不会影响依赖项解析的普通规则。例如 ,弱依赖项 无法强制选择旧版本的软件包。

如果依赖项有多个供应商,则需要软件包可以添加 Suggests: 为选择哪个选项的依赖项解析器提供提示。

增强: 仅在主软件包和其他供应商同意将提示添加到所需软件包时,才会出于某种原因被使用。

例 6.1. 使用 Hint 首选一个软件包

Package A: Requires: mysql

Package mariadb: Provides: mysql

Package community-mysql: Provides: mysql

如果您希望使用 community-mysql 软件包 → 使用 community-mysql 软件包的 mariadb 软件包:

Suggests: mariadb to Package A.

6.1.3. forward 和 Backward 依赖项

转发依赖项Requires 类似,对要安装的软件包进行了评估。还安装了匹配软件包的最佳版本。

通常,最好 转发依赖项。在获取添加到系统中的其他软件包时,将依赖项添加到软件包。

对于 向后移植依赖关系,如果也安装了匹配的软件包,则会安装包含依赖项的软件包。

向后兼容性 主要是为向分发或其他第三方软件包附加插件、附加组件或扩展的第三方供应商设计的。