小编典典

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

python

我当时想像一个3行Python脚本来执行此操作,但是yum Python API是不可穿透的。这有可能吗?

编写“ yum list package-name”的包装器是这样做的唯一方法吗?


阅读 211

收藏
2021-01-16

共1个答案

小编典典

正如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
2021-01-16