一尘不染

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

python

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

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


阅读 244

收藏
2021-01-20

共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-20