Dado um nome de pacote rpm, consulta o banco de dados yum para atualizações

StackOverflow https://stackoverflow.com/questions/489113

  •  20-08-2019
  •  | 
  •  

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?

Foi útil?

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

http://fpaste.org/paste/2453

e há muitos exemplos da api yum e alguns guias para começar a trabalhar com ele aqui:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top