我正在尝试使用 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?
谢谢!