Existe algum código Python para obter a lista de pacotes instalados no Ubuntu junto com a versão do pacote? Eu vi código Python emGerando lista de pacotes instalados manualmente e consultando pacotes individuais. Mas isso não contém a listagem do ID da versão. Alguém pode saber como obter a versão dos pacotes instalados?
Responder1
Não tenho certeza se existe código para isso. Mas você pode olhar o arquivo /var/lib/dpkg/status
. Todas as informações sobre os pacotes instalados são armazenadas neste arquivo.
Escrever código que irá analisar este arquivo é muito fácil, mesmo caso você não seja muito bom em python.
Responder2
Não tenho certeza se isso não deve ser migrado para o askubuntu, mas apenas use a mesma abordagem do tópico mencionado. Execute dpkg/dpkg-query para obter um despejo de todos os dados e use mecanismos de análise python padrão para extrair as informações relevantes.
Claro, como você já está bifurcando, você pode alterar todo o texto no próprio bash.
Como alternativa, encontre o arquivo de estado que contém as versões, se houver ("Dir::Etc::Status"?). Essa abordagem seria a mais limpa.
Responder3
Passe a opção -F
( --format
) para o aptitude paraespecifique quais campos serão exibidos.
aptitude --disable-columns -F '%p %v' search '~A'
No Python, use o apt_pkg
módulo do python-apt
pacote.