Как я могу перечислить все установленные пакеты с конкретными номерами версий?

24

Я хотел бы перечислить все установленные пакеты с определенными номерами версий в моей системе. Я проверил dpkg --get-selections ( Как перечислить все установленные пакеты ), но это не показывает мне, что мне нужно. Например:

$ dpkg --get-selections apache2
apache2                                         install

показывает, что apache2 установлен, но не версия. Я недавно сделал apt-get upgrade , поэтому apache2.2.22-1 should была установлена ​​версия ( Ссылка ), но как я могу показать это?

Спасибо!

    
задан user2133697 19.09.2013 в 17:42
источник

2 ответа

32

Вместо этого используйте dpkg -l .

Пример:

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

Выводит следующее:

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

Если вы хотите только извлечь имя и версию, вы можете сделать это:

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

Который будет печатать только второй и третий столбцы из вышеприведенного вывода, например:

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

Конечно, если вы хотите перечислить все ваши установленные пакеты с их версиями, а не только Skype, просто удалите grep skype часть, чтобы сделать команду следующим образом:

dpkg -l | grep '^ii' | awk '{print  "\t" }'
    
ответ дан Alaa Ali 19.09.2013 в 18:01
10

Используйте

dpkg-query --show apache2

, чтобы получить номер версии для пакета apache2 и

dpkg-query --show 

, чтобы получить номера версий для всех установленных пакетов

    
ответ дан Florian Diesch 19.09.2013 в 18:01