В системах Debian (и их производных):
$ dpkg --search /bin/ls
coreutils: /bin/ls
То есть файл /bin/ls
принадлежит пакету Debian с именем coreutils
.
Но это работает только если пакет установлен. Что если это не так?
источник
В системах Debian (и их производных):
$ dpkg --search /bin/ls
coreutils: /bin/ls
То есть файл /bin/ls
принадлежит пакету Debian с именем coreutils
.
Но это работает только если пакет установлен. Что если это не так?
APT-файл
apt-file
предоставляет возможность поиска пакета, предоставляющего двоичный файл (например, Debian или Ubuntu ), он устанавливается не по умолчанию, а в репозитории.
apt-file search <path-to-file>
Вы можете обновить один раз, прежде чем искать ...
apt-file update
Например, давайте найдем не установленный бинарный файл mysqldump
:
$ apt-file search /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldump
mysql-client-5.1: /usr/bin/mysqldumpslow
mysql-cluster-client-5.1: /usr/bin/mysqldump
mysql-cluster-client-5.1: /usr/bin/mysqldumpslow
Также возможно перечислить содержимое (не установленного) пакета:
$ apt-file list mysql-client-5.1
mysql-client-5.1: /usr/bin/innochecksum
mysql-client-5.1: /usr/bin/innotop
mysql-client-5.1: /usr/bin/myisam_ftdump
mysql-client-5.1: /usr/bin/mysql_client_test
...
ням
yum
принимает команду whatprovides
(или provides
) для поиска установленных или не установленных двоичных файлов:
yum whatprovides <path-to-file>
Опять же не установлено mysqldump
:
$ yum whatprovides /usr/bin/mysqldump
mysql-5.1.51-2.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
mysql-5.1.51-1.fc14.i686 : MySQL client programs and shared libraries
Repo : fedora
Matched from:
Filename : /usr/bin/mysqldump
Zypper
zypper
«S search
команда может проверить списки файлов при использовании с -f
опцией.
zypper se -f /bin/mksh
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+------+-------------------+--------
| mksh | MirBSD Korn Shell | package
Webpin предоставляет веб-решение, есть даже сценарий для командной строки.
Pkgfile
Доступно как pkgtools
для pacman
систем на базе. Предоставляет похожую функцию поиска, как и другие выше:
$ pkgfile -si /usr/bin/mysqldump
Name : mysql-clients
Version : 5.1.54-1
Url : http://www.mysql.com/
License : GPL
Depends : libmysqlclient
...
apt-file search protoc
Например, дает более шести тысяч результатов. Однако результаты заканчиваются в имени файла, так и с Grep вы можете найти имя файла , который вы ищете:apt-file search protoc | grep 'protoc$'
. Это работает, потому что он отфильтровывает все, что заканчивается "protoc". Конечно, вы должны заменить «protoc» тем, что вы ищете.Стандартным инструментом для этого является apt-файл . Запустите,
apt-file update
чтобы загрузить индексный файл. Вот вывод:После этого беги
apt-file search search_term
.источник
Если у вас нет доступа к компьютеру или вы не можете использовать команды, приведенные в предыдущих ответах, вы также можете узнать об этом с помощью поисковой системы пакетов Debian через Интернет (вторая форма, « Поиск содержимого пакетов »). ).
источник