如何强制 repoquery 解析到软件包的最新可用版本?

M. *_*ley 3 yum rpm centos

我尝试使用repoquery和下载 RPM 依赖项yumdownloader,但得到的结果不一致。如何强制repoquery始终返回存储库中可用的最新兼容包?

根据我的调用方式,我得到的结果不一致repoquery

$ repoquery --whatprovides systemd-python
systemd-python-0:208-20.el7_1.6.x86_64
systemd-python-0:208-20.el7.x86_64
systemd-python-0:208-20.el7_1.3.x86_64
systemd-python-0:208-20.el7_1.2.x86_64
systemd-python-0:208-20.el7_1.5.x86_64
$ repoquery --resolve systemd-python
systemd-python-0:208-20.el7_1.6.x86_64
$ repoquery --requires salt
...
systemd-python
...
$ repoquery --requires --resolve salt
...
systemd-python-0:208-20.el7_1.5.x86_64
...
Run Code Online (Sandbox Code Playgroud)

当单独查询时,它会解析为释放,但当发现它是依赖项时,它20.el7_1.6会解析为释放。20.el7_1.5

systemd-python当我将系统更新为release之后20.el7_1.6repoquery开始解决对最旧版本的依赖关系时,情况变得更加令人困惑:

$ repoquery --requires --resolve salt
...
systemd-python-0:208-20.el7.x86_64
...
Run Code Online (Sandbox Code Playgroud)

为什么我会得到这些不一致的结果?repoquery无论本地系统上安装了什么,如何强制解析存储库中的最新软件包版本?

msu*_*chy 5

对于您问题中的旧 yum repoquery,您可能不能。

对于新插件(DNF 插件),您可以:dnf repoquery --latest-limit 1