Как показать количество установленных пакетов


Ответы:


11

По этой теме :

Для просмотра списка установленных пакетов:

dpkg --list | wc --lines

Чтобы увидеть, установлен ли пакет:

dpkg --list | grep package

1
Вы включаете строки заголовка и некоторые rcнеустановленные пакеты (например, (неустановленные, но с сохраненными конфигурационными файлами)) в ваш счет.
Жиль "ТАК - перестань быть злым"

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

Существуют тонкие варианты, например, dpkg -l | grep -c '^?i'если вы хотите включить пакеты, которые установлены, но удаление которых вы запросили. Другой способ

aptitude search '~i' |wc -l

Вы даже можете заглянуть прямо в базу данных dpkg:

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

Этот включает пакеты, которые не установлены, но у которых есть файлы конфигурации; Вы можете перечислить их с dpkg -l | grep '^rc'.


1

dpkg -lэто хорошо, но я на самом деле использую apt-show-versions(не установлен по умолчанию в Debian; установить пакет с тем же именем) вместо этого много, особенно когда я хочу обработать вывод дальше (dpkg пытается быть слишком умным с переносом строк).


1

Synaptic , менеджер пакетов с графическим интерфейсом, отображает количество в нижней части главного окна.

введите описание изображения здесь



0

Если вам нужно точное количество пакетов, вам не следует подсчитывать строки заголовка, выводимые по dpkg-query -l, поэтому вам нужен шаблон для соответствия строк, начинающихся с ii. Следующая строка содержит количество строк, начинающихся с, iiи, следовательно, количество установленных пакетов:

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

Это дает тот же результат, что и

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

Шаблон grep во второй команде игнорирует строки, содержащие строку «deinstall» в выходных данных dpkg --get-selections.


-1

Для instace вы можете сделать это:

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

Хорошо, это правда, что nl | tail -1 | awk '{print $1}'будет сообщать о количестве строк на входе (кроме случаев, когда нет ввода, он ничего не скажет вместо сообщения 0) - но почему бы вы порекомендовали такой кладж, когда другие ответы уже используются wc -l?
G-Man говорит: «Восстанови Монику»

Это забавно, потому что я не читал предыдущие ответы! @ G-Man ... но это все еще хороший ответ.
Карим Манауй
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.