apt – как установить пакет, содержащий определенный файл

by itisgood

Иногда выполняемая команда жалуется на отсутствие зависимости в системе.

Из имени файла в сообщении об ошибке часто невозможно точно определить, какой пакет необходимо установить для устранения зависимости.

Подобно пакету yum – install, который содержит определенный файл в дистрибутивах на основе RHEL, Debian / Ubuntu также предлагает утилиту для поиска в хранилище пакетов пакетов, в которых будут установлены определенные файлы.

Эта утилита не устанавливается по умолчанию и называется «apt-file».

Для установки «apt-file» выполните следующую команду.

$ sudo apt-get install apt-file

Утилита «apt-file» использует для поиска индекс, предоставленный различными репозиториями.

Этот индексный файл должен быть загружен до начала первого поиска и, вероятно, должен время от времени обновляться для получения точных результатов.

Это команда «update», используемая для выполнения этого обновления индексов.

$ apt-file update
...
Downloading Index http://security.ubuntu.com/ubuntu/dists/xenial-security/Contents-amd64.diff/Index:
No Index available.
Downloading complete file http://security.ubuntu.com/ubuntu/dists/xenial-security/Contents-amd64.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 4409k  100 4409k    0     0  1893k      0  0:00:02  0:00:02 --:--:-- 1893k
Ignoring source without Contents File:
  http://archive.canonical.com/ubuntu/dists/xenial/Contents-amd64.gz

Обратите внимание, что не все репозитории предоставляют такой индексный файл.

При обновлении индекса apt-файла будут указаны репозитории, которые не предоставляют такой индекс.

С помощью недавно обновленного индекса можно выполнить первый поиск.

Давайте узнаем пакет, который устанавливает hkt, утилиту для проверки ключей OpenPGP / GnuPG.

Команда find используется для поиска по индексам

Когда для поиска программы добавляется «bin/», результаты будут соответствовать пути, на который установлена программа.

$ apt-file find "bin/hkt"
hopenpgp-tools: /usr/bin/hkt

В приведенном выше примере совпадение найдет программу, если она находится в каком-либо каталоге «bin/» или «sbin/», что позволяет найти любую исполняемую программу, которая устанавливается в расположение по умолчанию для исполняемых файлов.

$ dpkg -L hopenpgp-tools
/.
/usr
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/hopenpgp-tools
/usr/share/doc
/usr/share/doc/hopenpgp-tools
/usr/share/doc/hopenpgp-tools/copyright
/usr/share/doc/hopenpgp-tools/changelog.Debian.gz
/usr/bin
/usr/bin/hot
/usr/bin/hkt
/usr/bin/hokey

Приведенная выше команда показывает, как вы можете затем использовать «dpkg», чтобы показать остальные файлы, которые будут установлены вместе с пакетом.

 

You may also like

Leave a Comment