在检查 RHEL8 软件包的依赖关系时,我最近遇到了以下依赖关系声明:
~$ rpm -qpv --需要 cockpit-ws-264.1-1.0.1.el8.x86_64.rpm 帖子:(policycoreutils 如果以 selinux-policy 为目标) 手册:(selinux-policy >= 3.14.3-95.0.1.el8,如果以selinux-policy为目标) ...
我理解or
类型要求声明,但是 RPM 包管理如何处理if
类型依赖关系?
- 在上面的示例中,这是否意味着仅当目标系统中已存在时才
policycoreutils
需要?selinux-policy-targeted
- 同样,
selinux-policy
只有selinux-policy-targeted
已经安装才需要吗?或者版本要求 (>= 3.14.3-95.0.1.el8
) 仅在selinux-policy-targeted
安装后才适用(尽管在 -type 要求的情况下这会偏离含义or
)?
答案1
a if b
相当于a or not(b)
,所以是的,只有安装policycoreutils
后才需要。selinux-policy-targeted
该if
运算符适用于整个依赖项,因此仅在安装selinux-policy >= 3.14.3-95.0.1.el8
时才需要。selinux-policy-targeted