librpm 是否提供使用 SPEC 文件中的语法查询 RPM 数据库的功能?

librpm 是否提供使用 SPEC 文件中的语法查询 RPM 数据库的功能?

让我们假设 SPEC 文件包含,

Requires: python >= 1.3, perl

在不伪造整个 RPM 的情况下,是否可以查询数据库来确定系统安装是否满足如下所示的查询(无需安装其他软件包),

python >= 1.3, perl

我可以查询数据库以python >= 1.3, perl使用基本工具或底层 librpm 吗?

我发现我可以查询我是否有Python,

$ rpm -q "python"
python-2.7.5-76.el7.x86_64

与 Perl 类似,但是有没有办法提供一个查询字符串并返回是否满足依赖关系?

答案1

现成的,没有。但是,如果用逗号分隔,您可以生成软件的版本列表

rpm --qf '%{NAME}:%{VERSION}\n' -q -- perl
rpm --qf '%{NAME}:%{VERSION}\n' -q -- python

当我更多地研究这个问题时,我计划更新这个。

相关内容