Какая опция apt-get эквивалентна этой команде dpkg?

dpkg -L <package>

Эта команда выдает мне список всех установленных файлов, какой вариант у apt-get для него? Я прочитал справочную страницу, но не смог понять.

7
задан 24 August 2010 в 21:36

4 ответа

Как сказал Деннис, apt-get - это слой поверх dpkg (или других локальных менеджеров пакетов, таких как rpm). dpkg управляет локальными пакетами на машине, в то время как apt-get предоставляет способ извлечения пакетов из удаленных репозиториев и разрешения зависимостей между пакетами, которые будут переданы dpkg.

dpkg -L <package_file>

перечисляет файлы, предоставленные пакетом, уже установленным на машине.

С помощью apt-get вы можете перечислить файлы, которые предоставляет пакет, даже если он не установлен в вашей системе. К счастью для вас, для этого есть инструмент под названием apt-file, который необходимо установить в дополнение к apt-get. Вы можете использовать его следующим образом:

# Install apt-file
$ sudo apt-get install apt-file
# update apt-file's cache (different than apt-get's, namely apt-cache)
$ sudo apt-file update
# display the contents of a package
$ sudo apt-file list <package_name>

Обратите внимание, что apt-file использует специальные файлы в репозитории пакетов, называемые файлами содержимого. Хотя все официальные репозитории имеют эти файлы, некоторые сторонние репозитории могут их не иметь, поэтому apt-file не сможет перечислить содержимое пакетов в этих репозиториях.

man apt-file

также перечислит другие приятные вещи, которые вы можете сделать с apt-file, такие как apt-file search <keyword>, который позволяет вам найти, какие пакеты предоставляют данный файл.

0
ответ дан 24 August 2010 в 21:36

Нет аналога. apt-get - это слой поверх dpkg, а не его замена.

0
ответ дан 24 August 2010 в 21:36

apt-cache можно использовать для некоторых вещей, которые вы, возможно, захотите сделать:

Фактически вывести список всех пакетов:
Чтобы фактически вывести список всех пакетов в [ 112], используйте apt-cache pkgnames. Это очень похоже на dpkg -l для apt-get, за исключением того, что только показывает имена пакетов, а не любую другую информацию, которую может показать dpkg.

ПРИМЕЧАНИЕ: Использование apt-cache pkgnames будет генерировать невероятно большой вывод, в моей системе это целых 39553 строк. Чтобы заранее увидеть, сколько строк будет в вашей системе, попробуйте использовать apt-cache stats (см. Ниже).

Поиск:
Используйте apt-cache search <regex> [<regex> [...]], где <regex> - это одно или несколько регулярных выражений для поиска.

Подсчет:
Используйте apt-cache stats, чтобы показать некоторую статистику об этом кэше с момента последнего apt-get update.
Например, пример вывода может быть:

Total package names: 39553 (1,582k)
  Normal packages: 30033
  Pure virtual packages: 511
  Single virtual packages: 2762
  Mixed virtual packages: 305
  Missing: 5942
Total distinct versions: 32378 (1,813k)
Total distinct descriptions: 32378 (777k)
Total dependencies: 210651 (5,898k)
Total ver/file relations: 34931 (559k)
Total Desc/File relations: 32378 (518k)
Total Provides mappings: 5816 (116k)
Total globbed strings: 169 (2,278)
Total dependency version space: 1,052k
Total slack space: 73.4k
Total space accounted for: 10.0M
0
ответ дан 24 August 2010 в 21:36

Это не существует. Вы можете использовать графический интерфейс Synaptic, который покажет вам все установленные пакеты.

Показано ниже.

alt text

0
ответ дан 24 August 2010 в 21:36

Другие вопросы по тегам:

Похожие вопросы: