Come mostrare il numero di pacchetti installati


Risposte:



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

Esistono varianti sottili come dpkg -l | grep -c '^?i'se si desidera includere pacchetti installati ma di cui è stata richiesta la rimozione. Un altro modo è

aptitude search '~i' |wc -l

Puoi anche infilare direttamente nel database dpkg:

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

Questo include pacchetti che non sono installati ma che hanno lasciato file di configurazione; puoi elencarli con dpkg -l | grep '^rc'.


1

dpkg -lè carino ma in realtà mi trovo a usare molto apt-show-versions(non installato di default su Debian; installa il pacchetto con lo stesso nome) molto, soprattutto quando voglio elaborare ulteriormente l'output (dpkg cerca di essere troppo intelligente con il wrapping di linea).


1

Synaptic , un gestore di pacchetti della GUI, visualizza il conteggio nella parte inferiore della finestra principale.

inserisci qui la descrizione dell'immagine



0

Se si desidera un conteggio esatto dei pacchetti, non è necessario contare le righe di intestazione emesse da dpkg-query -l, quindi è necessario un modello per abbinare le righe che iniziano con ii. Il seguente one-liner fornisce il numero di righe che iniziano con iie quindi il numero di pacchetti installati:

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

Questo dà lo stesso output di

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

Il modello grep nel secondo comando ignora le righe che contengono la stringa "deinstall" nell'output di dpkg --get-selections.


-1

Ad esempio, puoi farlo:

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

OK, è vero che nl | tail -1 | awk '{print $1}'riporterà il numero di righe nel suo input (tranne, se non c'è input, non dirà nulla invece di riferire 0) - ma perché consiglieresti un tale kludge quando sono già in uso altre risposte wc -l?
G-Man dice "Ripristina Monica" il

È divertente perché non ho letto le risposte precedenti! @ G-Man ... ma questa rimane ancora una buona risposta.
Karim Manaouil,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.