![RPM Repo:仅克隆源包](https://linux22.com/image/655172/RPM%20Repo%EF%BC%9A%E4%BB%85%E5%85%8B%E9%9A%86%E6%BA%90%E5%8C%85.png)
作为项目的一部分,我需要从非常方便的Remi Yum repo(来源 RPMS)。
寻找某种有效获取这些软件包的方法并不是一项非常成功的尝试(常用关键字会导致非常污染的结果Google
)。reposync
可以做到这一点,但只能作为克隆存储库的 RPM 部分的附加组件。我需要的是仅为源代码执行此操作的东西。
有什么方法可以有效地做到这一点?
注意:已经应用了低效的解决方案:
extractXPathAttr.pl 'http://rpms.famillecollet.com/SRPMS/' '//tr/td[2]/a[1]' 'href' |\
grep src.rpm |\
xargs -I{} wget 'http://rpms.famillecollet.com/SRPMS/{}'
(extractXPathAttr.pl
从给定的 URL 中提取 XPath 指定的元素的必需属性。我会把它放在github一旦它被清理并记录下来。)
答案1
reposync
仅可用于来源。
源 repo 是否启用并不重要/etc/yum.repos.d/
。只要有一个源 repo,无论是否启用,它都会进行 reposync。
确保您指定源存储库的名称以及--source
选项:
reposync -n --source -r foobar-source
本答案中使用的版本:
rpm -q yum-utils yum-utils-1.1.31-42.el7.noarch cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core)
答案2
您可以尝试镜像存储库的内容:
wget --mirror http://rpms.famillecollet.com/SRPMS/
该mirror
选项已经使用时间戳,因此对于本地镜像的更新也很有用。
然后在本地使用createrepo
。