Получив имя пакета rpm, запросите обновления в базе данных yum.

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

Является ли написание оболочки для «имя пакета yum list» единственным способом сделать это?


person mbac32768    schedule 28.01.2009    source источник


Ответы (2)


Как указывает Сет, вы можете использовать API-интерфейсы обновлений, чтобы узнать, доступно ли что-то в качестве обновления. Для чего-то, что близко к тому, что делает «список ням», вы, вероятно, захотите использовать 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
person James Antill    schedule 29.01.2009

http://fpaste.org/paste/2453

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

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

person Community    schedule 29.01.2009