Como mostrar o número de pacotes instalados


Respostas:


11

De acordo com este tópico :

Para listar pacotes instalados:

dpkg --list | wc --lines

Para ver se um pacote está instalado:

dpkg --list | grep package

1
Você está incluindo as linhas de cabeçalho e alguns pacotes não instalados (por exemplo, rc(desinstalado, mas com os arquivos de configuração restantes)) em sua contagem.
Gilles 'SO- stop be evil'

6
dpkg -l | grep -c '^ii'

Existem variantes sutis, como dpkg -l | grep -c '^?i'se você deseja incluir pacotes instalados, mas cuja remoção você solicitou. Outra maneira é

aptitude search '~i' |wc -l

Você pode até cutucar diretamente no banco de dados dpkg:

sh -c 'set /var/lib/dpkg/info/*; echo $#'

Este inclui pacotes que não estão instalados, mas que têm arquivos de configuração restantes; você pode listá-las com dpkg -l | grep '^rc'.


1

dpkg -lé bom, mas na verdade me pego usando apt-show-versions(não instalado por padrão no Debian; instale o pacote com o mesmo nome) bastante, especialmente quando quero processar a saída ainda mais (o dpkg tenta ser muito inteligente com quebra de linha).


1

Synaptic , um gerenciador de pacotes da GUI, exibe a contagem na parte inferior da janela principal.

insira a descrição da imagem aqui



0

Se você deseja uma contagem exata de pacotes, não deve contar as linhas de cabeçalho emitidas por dpkg-query -l, portanto, você precisa de um padrão para corresponder às linhas que começam com ii. O one-liner a seguir fornece o número de linhas começando com iie, portanto, o número de pacotes instalados:

dpkg-query -l | grep "^ii" | wc -l 

Isso dá a mesma saída que

 dpkg --get-selections | grep "[[:space:]]install" | wc -l

O padrão grep no segundo comando ignora as linhas que contêm a sequência "deinstall" na saída de dpkg --get-selections.


-1

Por exemplo, você pode fazer isso:

dpkg-query -l | nl | tail -1 | awk '{print $1}'

OK, é verdade que nl | tail -1 | awk '{print $1}'relatará o número de linhas em sua entrada (exceto, se não houver entrada, não dirá nada em vez de gerar relatórios 0) - mas por que você recomendaria esse kludge quando outras respostas já estão sendo usadas wc -l?
G-Man diz 'Reinstate Monica'

Que engraçado, porque eu não li as respostas anteriores! @ G-Man ... mas isso ainda continua sendo uma boa resposta.
Karim Manaouil 07/08/16
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.