从远程yum存储库下载所有rpm的头文件

时间:2019-02-26 00:46:23

标签: python rpm yum

我正在尝试使用 yum python库来获取我的yum回购中所有rpm的所有标头。 我只对每个rpm的提供,需求和文件列表感兴趣。我能够使用YumBase类的downloadHeader() API和returnLocalHeader() API从rpm标头成功获取信息并将其存储到python数据结构中。

但是,这很慢,我遇到了其他问题,例如 urlgrabber (yum库使用的),抱怨它得到的数据比预期的多。可能是因为服务器响应的数据量大于urlgrabber要求的数据量(以下示例)

失败:

  来自myserver的

stestimgbuilder.i686.rpm:[Errno 256]没有更多镜像到   尝试。   http://myserver/Abuild/myproject/i386_18/11449895/RPMS/stestimgbuilder.i686.rpm:   [Errno 14]下载的内容超过最大大小   http://myserver/Abuild/.swift/e4be067949b73ba4c60340037d288856bc70c7577399c788e391b3400d9edb1e/stestimgbuilder.i686.rpm:   14174> 2348

我正在寻找的另一种方法是解析远程服务器上“ repodata”目录中的xml(对于7000 rpm以上的速度应该更快)。我想知道在使用xml文件获取要约,需求和文件列表信息时是否存在任何问题。另外,yum python库是否已经提供了用于从repodata解析xml文件的任何api?

谢谢!

0 个答案:

没有答案