当前位置: 首页 > 面试题库 >

Given an rpm package name, query the yum database for updates

米项禹
2023-03-14
问题内容

I was imagining a 3-line Python script to do this but the yum Python API is
impenetrable. Is this even possible?

Is writing a wrapper for ‘yum list package-name’ the only way to do this?


问题答案:

As Seth points out, you can use the updates APIs to ask if something is
available as an update. For something that’s close to what the “yum list” does
you probably want to use the doPackageLists(). Eg.

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


 类似资料:

相关阅读

相关文章

相关问答