Если задано имя пакета rpm, запросите обновления в базе данных yum - PullRequest
6 голосов
/ 28 января 2009

Я представлял для этого трехстрочный скрипт Python, но API Python yum непроницаем. Это вообще возможно?

Является ли написание оболочки для 'yum list package-name' единственным способом сделать это?

Ответы [ 2 ]

7 голосов
/ 29 января 2009

http://fpaste.org/paste/2453

и здесь есть много примеров yum api и некоторых руководств по началу работы с ним:

http://yum.baseurl.org/#DeveloperDocumentationExamples

5 голосов
/ 29 января 2009

Как указывает Сет, вы можете использовать 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
...