Come posso elencare tutti i pacchetti installati con numeri di versione specifici?


27

Vorrei elencare tutti i pacchetti installati, con numeri di versione specifici sul mio sistema. Ho verificato dpkg --get-selections( Come elencare tutti i pacchetti installati ) ma non mi mostra ciò di cui ho bisogno. Per esempio:

$ dpkg --get-selections apache2
apache2                                         install

mostra che apache2 è installato, tuttavia non la versione. Recentemente ho fatto un apt-get upgradeapache2.2.22-1 dovrebbe essere installato versione ( http://packages.ubuntu.com/precise-updates/apache2.2-common ), ma come posso dimostrarlo?

Grazie!

Risposte:


35

Usa dpkg -linvece.

Esempio:

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

Emette questo:

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

Se vuoi solo estrarre il nome e la versione, puoi farlo:

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

Che stamperà solo la seconda e la terza colonna dall'output sopra, in questo modo:

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

Naturalmente, se vuoi elencare tutti i pacchetti installati con le loro versioni e non solo Skype, rimuovi semplicemente la grep skypeparte per eseguire il comando in questo modo:

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

Stavo notando dpkg -l troncare i numeri di versione se fossero più lunghi di 21 caratteri, e come tutte le versioni del pacchetto sono lunghe come 22 caratteri. :(
ThorSummoner,

12

Uso

dpkg-query --show apache2

per ottenere il numero di versione per il pacchetto apache2e

dpkg-query --show 

per ottenere i numeri di versione per tutti i pacchetti installati


1
La tua soluzione mi ha dato circa il 20% di pacchetti in più rispetto a dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'. Sai qual è la differenza?
Thomas Jensen,

3
@Thomas Jensen: grazie per aver individuato questo. dpkg-query --showin realtà non mostra i pacchetti installati , ma quelli non installati . Cioè mostra ad esempio pacchetti installati a metà o pacchetti con file di configurazione rimanenti.
Florian Diesch,
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.