¿Existe algún código Python para obtener la lista de paquetes instalados en Ubuntu junto con la versión del paquete? He visto código Python enGenerar una lista de paquetes instalados manualmente y consultar paquetes individuales. Pero eso no tiene la lista de ID de versión. ¿Alguien puede saber cómo obtener la versión de los paquetes instalados?
Respuesta1
No estoy seguro de si existe un código para eso. Pero puedes mirar el archivo /var/lib/dpkg/status
. Toda la información sobre los paquetes instalados se almacena en este archivo.
Escribir código que analice este archivo es bastante fácil incluso en caso de que no seas bueno en Python.
Respuesta2
No estoy seguro de si esto no debería migrarse a Askubuntu, pero simplemente use el mismo enfoque que en el hilo mencionado. Ejecute dpkg/dpkg-query para obtener un volcado de todos los datos y utilice mecanismos de análisis estándar de Python para extraer la información relevante.
Por supuesto, como ya estás bifurcando, puedes manipular todo el texto en bash.
Alternativamente, busque el archivo de estado que contiene las versiones, si las hay ("Dir::Etc::Status"?). Este enfoque sería el más limpio.
Respuesta3
Pase la opción -F
( --format
) a aptitud paraespecificar qué campos se muestran.
aptitude --disable-columns -F '%p %v' search '~A'
Desde Python, use el apt_pkg
módulo del python-apt
paquete.