Я использую apt-cache pkgname для получения пакетов как
me@host:~$ apt-cache pkgnames | wc -l
62803
получить 62803 результатов
но
me@host:~$ dpkg -l | wc -l
2336
Какие причины приводят к такому огромному различию? Я предполагаю, что dpkg супер, чем apt.
apt
package-management
dpkg
Алиса
источник
источник
Ответы:
apt
для управления удаленными репозиториями,dpkg
- для локально установленных пакетов. Они связаны.apt
это передний конец кdpkg
. При запускеapt-get install package
он получает.deb
файл и устанавливает его черезdpkg
. Таким образом, цифры различаются, потому что доступно много пакетов, но в вашей системе локально установлена только часть.apt-cache
может показывать как установленные, так и не установленные пакеты, потому что он запрашиваетapt
кеш - список того, что доступно в удаленных репозиториях (этот кеш - это то, что вы получаете, когда делаетеapt-get update
). Например,Обратите внимание, что есть другой инструмент, который может запрашивать список установленных / удаленных локальных пакетов, и это
dpkg-query
. Например,Согласно инструкции dpkg
В отношении
dpkg-query
этого следует отметить, что этот инструмент ориентирован на запросы к базе данных установленных пакетов и может выводить информацию в определенном формате (-f
опция плюс-W
действие). Например,Интересно, что база данных dpkg поддерживает список пакетов, которые были выбраны для удаления или были удалены в какой-то момент .
dpkg-query
также может принимать шаблон glob в качестве аргумента и в зависимости от наличия его отсутствия показывать только установленные / настроенные пакеты или все пакеты.источник
dpkg -l показывает версии установленных пакетов (начиная с ii), удаленных (rc) и некоторых других (например, установленных, но не настроенных, см. справочную страницу).
apt-cache pkgnames показывает все доступные имена пакетов (но не версии одного пакета) в добавленных репозиториях.
источник