为什么Centos中有些包下载不了源码?

为什么Centos中有些包下载不了源码?

我正在尝试使用 Centos 8 下载软件包源dnf download --source。为什么它对某些软件包有效,但对其他软件包却失败?有解决方法吗?

您可以在 docker 容器中测试它docker run -it centos:8

$ dnf install dnf-plugins-core

$ dnf download --source acl

acl-2.2.53-1.el8.src.rpm

$ dnf download --source audit-libs

No package audit-3.0-0.13.20190507gitf58ec40.el8.src available.
Exiting due to strict setting.
Error: No package audit-3.0-0.13.20190507gitf58ec40.el8.src available.

使用相同的结果yumdownloader --source

$ yum install yum-utils

$ yumdownloader --source acl

acl-2.2.53-1.el8.src.rpm

$ yumdownloader --source audit-libs

Last metadata expiration check: 0:00:16 ago on Fri May  8 18:38:13 2020.
No package audit-3.0-0.13.20190507gitf58ec40.el8.src available.
Exiting due to strict setting.
Error: No package audit-3.0-0.13.20190507gitf58ec40.el8.src available.

答案1

的源 RPMaudit-3.0-0.13.20190507gitf58ec40不在存储库中。您可以在以下位置查看当前源 RPM:http://vault.centos.org/centos/8/BaseOS/Source/SPackages/,最新版本有audit-3.0-0.10.20180831git0047a6c

据报道,CentOS 8.1 存在源 RPM 未推送的问题https://lists.centos.org/pipermail/centos-devel/2020-April/036764.html。截至上周,这仍然是一个问题,据报道https://lists.centos.org/pipermail/centos-devel/2020-April/036809.html

您的源 RPM 位于https://koji.mbox.centos.org/koji/buildinfo?buildID=6229但由于某种原因你无法从那个 koji 下载 src.rpm(也在电子邮件列表中报告)。

如果您知道源 rpm 的工作原理,您可以在以下位置查看所有内容https://git.centos.org/rpms/audit/tree/af954e3e9ca986da31a5cbd9bb34af3a5​​bb3440a。如果需要,您可以克隆存储库并使用 git 获取所有文件。我通过查看得到了这一点https://git.centos.org/rpms/audit/releases

答案2

我找到了一些解决方法。

1. 您可以使用 指定包的完整版本dnf download --source。它仍然不适用于每个包,但对某些包有效。

$ dnf download --source acl-2.2.53-1.el8.src

2. 您可以从以下位置找到源rpmhttp://vault.centos.org/8.1.1911/BaseOS/Source/SPackages/ (或类似的 URL)。

例如,我可以acl-2.2.53-1.el8.src.rpm从以下位置下载: http://vault.centos.org/8.1.1911/BaseOS/Source/SPackages/acl-2.2.53-1.el8.src.rpm

相关内容