Escaneie e obtenha os pacotes instalados no Ubuntu junto com a versão

2

Existe algum código Python para obter a lista de pacotes instalados no Ubuntu junto com a versão do pacote? Eu vi o código Python em Gerando lista de pacotes instalados manualmente e consultando pacotes individuais . Mas isso não tem a listagem do ID da versão. Alguém pode saber como obter a versão dos pacotes instalados?

    
por Sateesh 02.07.2012 / 11:46

3 respostas

2

Não tenho certeza se existe código para isso. Mas você pode ver o arquivo /var/lib/dpkg/status . Todas as informações sobre pacotes instalados são armazenadas neste arquivo.

Para escrever código que analise este arquivo é bem fácil, mesmo no caso de você não ser ótimo em python.

    
por 02.07.2012 / 12:13
1

Não tenho certeza se isso não deve ser migrado para askubuntu, mas apenas use a mesma abordagem do thread mencionado. Execute dpkg / dpkg-query para obter um dump de todos os dados e use mecanismos de análise de python padrão para extrair as informações relevantes.

Claro, já que você já está bifurcando, você pode fazer todo o texto confuso no bash.

Como alternativa, localize o arquivo de estado que contém versões, se houver algum ("Dir :: Etc :: Status"?). Essa abordagem seria a mais limpa.

    
por 02.07.2012 / 11:57
0

Passe a opção -F ( --format ) para o aptitude para especifique quais campos são exibidos .

aptitude --disable-columns -F '%p %v' search '~A'

Do Python, use o módulo apt_pkg do pacote python-apt .

    
por 03.07.2012 / 00:49