如何推断已安装的 RPM 的远程位置?

如何推断已安装的 RPM 的远程位置?

假设我有以下条目/var/log/dnf.log

 elfutils-default-yama-scope        noarch  0.185-1.el8                                baseos                       49 k
 elfutils-devel                     x86_64  0.185-1.el8                                baseos                       86 k
 elfutils-libelf                    x86_64  0.185-1.el8                                baseos                      221 k
 elfutils-libelf-devel              x86_64  0.185-1.el8                                baseos                       59 k
 elfutils-libs                      x86_64  0.185-1.el8                                baseos                      292 k
 emacs                              x86_64  1:26.1-7.el8                               appstream                   3.2 M
 emacs-common                       x86_64  1:26.1-7.el8                               appstream                    38 M
 emacs-filesystem                   noarch  1:26.1-7.el8                               baseos                       70 k
 enchant2                           x86_64  2.2.3-3.el8                                appstream                    62 k
 epel-release                       noarch  8-11.el8                                   Extras                       24 k
 ethtool                            x86_64  2:5.8-7.el8                                baseos                      209 k

等等。那么我如何推断软件包所在的远程 URL?碰巧这是一个较旧的 CentOS 版本,我的 repo 文件引用了 vault.centos.org。有问题的机器后来升级到了最近的 RHEL 版本,因此 repo 文件不同。最初我以为我可以使用上述数据重建远程 RPM URL,但它只起作用了大约 4/5 次。

答案1

dnf-plugins-core提供核心插件dnf,包括DNF下载插件

要显示软件包 RPM 下载 URL,请尝试使用软件包dnf download中的命令dnf-plugins-core,例如:

dnf download --url package-name

相关内容