2017-03-28 109 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