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

7
dpkg -L <package>

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

    
задан grokus 24.08.2010 в 17:36
источник

4 ответа

14

Как сказал Деннис, 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> , которая позволяет вам найти, какие пакеты предоставляют данный файл.

    
ответ дан ℝaphink 24.08.2010 в 18:55
источник
3

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

    
ответ дан Dennis Kaarsemaker 24.08.2010 в 17:41
1

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

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

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

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

Counting:
Используйте 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
    
ответ дан Frxstrem 24.08.2010 в 20:53
-1

Он не существует. Вы можете использовать синтаксис GUI, который покажет вам все установленные пакеты.

Ниже показано.

    
ответ дан myusuf3 24.08.2010 в 17:45