Escanee e instale los paquetes en Ubuntu junto con la versión

Escanee e instale los paquetes en Ubuntu junto con la versión

¿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_pkgmódulo del python-aptpaquete.

información relacionada