Dado um nome de pacote rpm, consulta o banco de dados yum para atualizações
Pergunta
Eu estava imaginando um 3-line script Python de fazer isso, mas a API yum Python é impenetrável. Isto é mesmo possível?
Está escrevendo um wrapper para 'yum lista de pacotes-name' a única maneira de fazer isso?
Solução
Como Seth aponta, você pode usar as APIs atualizações para perguntar se algo está disponível como uma atualização. Para algo que é próximo ao que a "lista yum" faz você provavelmente vai querer usar as doPackageLists (). Por exemplo.
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
Outras dicas
e há muitos exemplos da api yum e alguns guias para começar a trabalhar com ele aqui:
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow