Como faço para listar todos os pacotes instalados com números de versão específicos?

27

Gostaria de listar todos os pacotes instalados, com números de versão específicos no meu sistema. Fiz o check-out dpkg --get-selections( Como listar todos os pacotes instalados ), mas ele não me mostra o que eu preciso. Por exemplo:

$ dpkg --get-selections apache2
apache2                                         install

mostra que o apache2 está instalado, mas não a versão. Recentemente, fiz um apt-get upgradeprocedimento apache2.2.22-1 que deve ser instalado ( http://packages.ubuntu.com/precise-updates/apache2.2-common ), mas como posso mostrar isso?

Obrigado!

user2133697
fonte

Respostas:

35

Use em dpkg -lvez disso.

Exemplo:

dpkg -l | grep '^ii' | grep skype

Emite isso:

alaa @ aa-lu: ~ $ dpkg -l | grep '^ ii' | grep skype
ii skype 4.2.0.11-0ubuntu0.12.04.2 cliente i386 para Skype VOIP ...

Se você deseja extrair apenas o nome e a versão, pode fazer o seguinte:

dpkg -l | grep '^ii' | grep skype | awk '{print $2 "\t" $3}'

O que imprimirá apenas a segunda e a terceira coluna a partir da saída acima, assim:

alaa @ aa-lu: ~ $ dpkg -l | grep '^ ii' | skype grep | awk '{print $ 2 "\ t" $ 3}'
skype 4.2.0.11-0ubuntu0.12.04.2

Obviamente, se você quiser listar todos os pacotes instalados com suas versões, e não apenas o Skype, remova a grep skypeparte para fazer o comando da seguinte maneira:

dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'
Alaa Ali
fonte
Eu estava percebendo os números de versão do dpkg -l truncando se eles tivessem mais de 21 caracteres e, como todas as versões de pacotes, têm 22 caracteres. :(
ThorSummoner
12

Usar

dpkg-query --show apache2

para obter o número da versão do pacote apache2e

dpkg-query --show 

para obter os números de versão de todos os pacotes instalados

Florian Diesch
fonte
1
Sua solução me deu ~ 20% mais pacotes do que dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'. Você sabe qual é a diferença?
Thomas Jensen
3
@ Thomas Jensen: Obrigado por descobrir isso. dpkg-query --showna verdade, não mostra os pacotes instalados , mas os não instalados . Isto é, mostra, por exemplo, pacotes semi-instalados ou pacotes com os arquivos de configuração restantes também.
Florian Diesch 5/06