TLDR; Necesito una llamada de Python simple dado el nombre de un paquete (por ejemplo, 'make') para ver si está instalado; si no, instálalo (puedo hacer la última parte).Determinar si el paquete está instalado con la API de Yum Python?
Problema:
Así que hay algunos ejemplos de código que figuran en http://yum.baseurl.org/wiki/YumCodeSnippets, pero aparte de kludging por el interior ipython y adivinar lo que cada método, no parece haber ninguna documentación real para el API de Python para yum. Aparentemente es todo conocimiento tribal.
[editar] Al parecer acabo accidentalmente descubrieron la documentación API (después de recibir una respuesta aceptable, por supuesto). No está enlazada desde la página principal, pero aquí es para referencia futura: http://yum.baseurl.org/api/yum/
Lo que tengo que hacer:
Tengo un script de configuración de implementación que se basa en otros paquetes del sistema (marca, gcc, etc.). Sé que puedo instalarlos así: http://yum.baseurl.org/wiki/YumCodeSnippet/SimplestTransaction pero me gustaría tener la opción de consultar si ya están instalados antes de hacerlo, así que puedo tener la opción adicional de simplemente fallar si los paquetes no están presentes en lugar de forzando la instalación. ¿Cuál es la llamada correcta para hacer esto (o mejor, alguien realmente se molestó en documentar adecuadamente la API fuera de las muestras de código?)
Nunca he tocado Python antes de este proyecto, y realmente me gusta, pero ... parte de la documentación del módulo es más esquiva que los duendes que montan unicornios.
¿Has probado el fragmento 'YumSearch' de la página web que has vinculado? –
Sí, pero los resultados no parecen darme ninguna indicación del estado de instalación, solo si el rpmdb conocía o no el paquete (basado en la coincidencia de texto parcial de los campos especificados). Tal vez lo estoy haciendo mal. –