De acordo com este tópico :
Para listar os pacotes instalados:
dpkg --list | wc --lines
Para ver se um pacote está instalado:
dpkg --list | grep package
Qual é o equivalente Debian do yum list installed | grep wc --lines
do Fedora?
De acordo com este tópico :
Para listar os pacotes instalados:
dpkg --list | wc --lines
Para ver se um pacote está instalado:
dpkg --list | grep package
dpkg -l | grep -c '^ii'
Existem variações sutis, como dpkg -l | grep -c '^?i'
, se você quiser incluir pacotes instalados, mas cuja remoção solicitou. Outra maneira é
aptitude search '~i' |wc -l
Você pode até picar diretamente no banco de dados do dpkg:
sh -c 'set /var/lib/dpkg/info/*; echo $#'
Este inclui pacotes que não estão instalados, mas que possuem arquivos de configuração restantes; você pode listar estes com dpkg -l | grep '^rc'
.
dpkg -l
é legal, mas eu realmente me encontro usando apt-show-versions
(não instalado por padrão no Debian; instale o pacote com o mesmo nome) muito, especialmente quando eu quero processar a saída ainda mais (o dpkg tenta ser inteligente demais com quebra de linha).
O Synaptic , um gerenciador de pacotes da GUI, exibe a contagem na parte inferior de sua janela principal.
O que eu tenho usado é:
dpkg --get-selections | wc --lines
Isso fornecerá o número de pacotes instalados.
Se você quiser descobrir se um determinado pacote está instalado, use:
dpkg --get-selections | grep <package>
Acredito que isso resolverá a queixa de Gilles sobre a inclusão de outros pacotes não instalados .
Se você quiser uma contagem exata de pacotes, não deverá contar a saída das linhas de cabeçalho por dpkg-query -l
, portanto, será necessário um padrão para corresponder às linhas que começam com ii
. O seguinte one-liner fornece o número de linhas que começam com ii
e, portanto, o número de pacotes instalados:
dpkg-query -l | grep "^ii" | wc -l
Isto dá o mesmo resultado que
dpkg --get-selections | grep "[[:space:]]install" | wc -l
O padrão grep no segundo comando ignora as linhas que contêm a string "deinstall" na saída de dpkg --get-selections
.
Por exemplo, você pode fazer isso:
dpkg-query -l | nl | tail -1 | awk '{print $1}'
Tags package-management debian