我尝试使用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
...
20.el7_1.6
当单独查询时,它会解析为释放,但当20.el7_1.5
发现它是依赖项时,它会解析为释放。
当我将系统更新为systemd-python
release之后20.el7_1.6
,repoquery
开始解决对最旧版本的依赖关系时,情况变得更加令人困惑:
$ repoquery --requires --resolve salt
...
systemd-python-0:208-20.el7.x86_64
...
为什么我会得到这些不一致的结果?repoquery
无论本地系统上安装了什么,如何强制解析存储库中的最新软件包版本?
答案1
对于您问题中的旧 yum repoquery,您可能不能。
对于新插件(DNF 插件),您可以:dnf repoquery --latest-limit 1