我需要通过指定包名称和版本来下载特定包的 .rpm 文件。例如“libX11-1.5.99.902”。我一直在网上寻找一种查询和下载与之匹配的 .rpm 的方法,但到目前为止还没有找到任何东西。理想情况下,如果多个文件匹配(如多个架构),它将下载每个变体。但这不是一个要求。
我尝试过使用百胜下载器但这只需要一个名称,没有版本信息。本文展示了如何使用 rpm Python 模块看起来很有希望,直到我意识到它只返回当前安装的软件包,而不是任何可下载软件包的列表。所以最后我尝试使用dnf Python API。甚至还有一个脚本示例(!)。但其结果似乎不是我所需要的。例如,我需要 libX11-1.5.99.902 的 .rpm,他们的脚本示例返回了 libX11-1.6.7 的不同体系结构变体,这恰好是我已经安装的,所以我不能 100% 确定这是否是从网上查询的或不。
我尝试过基于终端的方法,但类似的内容yum --showduplicates search all libX11
不显示过去的版本。就我而言,我希望下载 libX11 过去的次要版本。
重申一下,我需要采用“libX11-1.5.99”、“libX11-1.5.99.902”或类似字符串,并查询+下载该字符串作为磁盘上的 RPM 列表(适用于所有架构/变体的 RPM)最好是那个版本)。
我怎样才能做到这一点?
答案1
实际上yumdownloader
完全按照你想要的方式完成工作:
[root@299571442fbc /]# yumdownloader libX11-1.6.7
Loaded plugins: fastestmirror, ovl, versionlock
Loading mirror speeds from cached hostfile
* base: mirror.reconn.ru
* centos-sclo-rh: mirror.reconn.ru
* centos-sclo-sclo: mirror.reconn.ru
* extras: mirror.sale-dedic.com
* updates: mirror.sale-dedic.com
(1/2): libX11-1.6.7-4.el7_9.i686.rpm | 611 kB 00:00:00
(2/2): libX11-1.6.7-4.el7_9.x86_64.rpm | 607 kB 00:00:00
事实上,这将下载最新的可用版本。为什么您无法获取libX11-1.5.99
版本是因为它不存在于任何存储库中。