2017-03-28 111 views
1

我正尝试通过带有Python的Yum API安装/下载RPM包。但我无法提供--downloadonly选项,它似乎被install方法忽略。使用Python Yum API安装RPM包--downloadonly

这是到目前为止我的代码:

import yum 

yb = yum.YumBase() 
args = {"name":"git", "downloadonly": True} 
yb.install(**args) 
yb.processDeps() 
yb.buildTransaction() 
yb.processTransaction() 

这将在系统上安装的软件包,但不能兑现downloadonly选项。

告诉Yum只通过Python Yum API下载包的正确方法是什么?

+1

这绝对有趣。您可以通过查看文档来了解这些选项。 http://yum.baseurl.org/api/yum/yum/__init__.html。您还可以查看Python代码:'/usr/lib/python2.7/site-packages/yum/__ init __。py' – iamauser

回答

1

这是你所需要的:

import yum 

yb = yum.YumBase() 
yb.conf.downloadonly = True 
args = {'name':'git'} 
yb.install(**args) 
yb.buildTransaction() 
yb.processTransaction() 

执行这个python脚本后,你可以找到下载的程序包中

/var/cache/yum/x86_64/7/base/packages/ 

上面的路径可能是你这取决于发行的不同。

+0

如果要指定下载目录,请设置'yb.conf.downloaddir ='/ your /目录',yum会将文件放在那里。看起来YumBase.conf使用命令行选项作为命名约定。 – Doug