第 6 章 RHEL 8 的新功能
这部分记录了 Red Hat Enterprise Linux 7 和 8 之间的 RPM 打包的最显著变化。
6.1. 支持弱依赖项
弱依赖项
是 Requires
指令的不同版本。这些变体与 virtual Provides:
和使用 Epoch-Version-Release
范围比较的软件包名称匹配。
弱依赖项
有两个强(弱
和提示
)和两个方向(正向
向
),如下表中所述。
前进
方向与 Requires 类似:
在以前的依赖项系统中,后 向
没有模拟。
优势/总监 | 向前 | 向后 |
---|---|---|
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
类似,对要安装的软件包进行了评估。还安装了匹配软件包的最佳版本。
通常,最好 转发依赖项
。在获取添加到系统中的其他软件包时,将依赖项添加到软件包。
对于 向后移植依赖关系
,如果也安装了匹配的软件包,则会安装包含依赖项的软件包。
向后兼容性
主要是为向分发或其他第三方软件包附加插件、附加组件或扩展的第三方供应商设计的。