给定rpm包名称,查询yum数据库以获取更新

时间:2009-01-28 20:12:07

标签: python rpm yum

我想要一个3行的Python脚本来做这个,但是yum Python API是不可穿透的。这甚至可能吗?

为'yum list package-name'编写包装器是唯一的方法吗?

2 个答案:

答案 0 :(得分:7)

答案 1 :(得分:5)

正如Seth指出的那样,您可以使用更新API来询问某些内容是否可用作更新。对于接近“yum list”的东西,你可能想要使用doPackageLists()。例如

import os, sys
import yum

yb = yum.YumBase()
yb.conf.cache = os.geteuid() != 1
pl = yb.doPackageLists(patterns=sys.argv[1:])
if pl.installed:
    print "Installed Packages"
    for pkg in sorted(pl.installed):
        print pkg
if pl.available:
    print "Available Packages"
    for pkg in sorted(pl.available):
        print pkg, pkg.repo
if pl.reinstall_available:
    print "Re-install Available Packages"
    for pkg in sorted(pl.reinstall_available):
        print pkg, pkg.repo