¿Cómo enumero todos los paquetes instalados con números de versión específicos?


27

Me gustaría enumerar todos los paquetes instalados, con números de versión específicos en mi sistema. Revisé dpkg --get-selections( Cómo enumerar todos los paquetes instalados ) pero no me muestra lo que necesito. Por ejemplo:

$ dpkg --get-selections apache2
apache2                                         install

muestra que apache2 está instalado, sin embargo, no la versión. Recientemente hice un apt-get upgradeapache2.2.22-1 que debería tener instalada la versión ( http://packages.ubuntu.com/precise-updates/apache2.2-common ), pero ¿cómo puedo mostrar eso?

¡Gracias!

Respuestas:


35

Usar en su dpkg -llugar.

Ejemplo:

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

Salidas esto:

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

Si solo desea extraer el nombre y la versión, puede hacer esto:

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

Que solo imprimirá la segunda y tercera columna de la salida anterior, así:

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

Por supuesto, si desea enumerar todos sus paquetes instalados con sus versiones, y no solo Skype, simplemente elimine la grep skypeparte para hacer el comando de esta manera:

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

Me di cuenta de que dpkg -l truncaba los números de versión si tenían más de 21 caracteres, y como todas las versiones de paquetes tienen 22 caracteres. :(
ThorSummoner

12

Utilizar

dpkg-query --show apache2

para obtener el número de versión del paquete apache2y

dpkg-query --show 

para obtener los números de versión para todos los paquetes instalados


1
Su solución me dio ~ 20% más paquetes que dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'. ¿Sabes cuál es la diferencia?
Thomas Jensen

3
@Thomas Jensen: Gracias por ver esto. dpkg-query --showen realidad no muestra los paquetes instalados , pero los que no están instalados . Es decir, muestra, por ejemplo, paquetes a medio instalar o paquetes con archivos de configuración restantes, también.
Florian Diesch
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.