回答:
apt-file
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
のsearch
コマンドを-f
オプションとともに使用すると、ファイルリストを確認できます。
zypper se -f /bin/mksh
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+------+-------------------+--------
| mksh | MirBSD Korn Shell | package
WebpinはWebベースのソリューションを提供します。コマンドライン用のスクリプトもあります。
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です。実行apt-file update
してインデックスファイルをダウンロードします。出力は次のとおりです。
Downloading complete file ftp://ftp.is.co.za/debian/dists/squeeze/Contents-i386.gz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 16.6M 100 16.6M 0 0 33191 0 0:08:47 0:08:47 --:--:-- 38951
その後、を実行しapt-file search search_term
ます。
マシンにアクセスできない場合、または前の回答で指定されたコマンドを使用できない場合は、DebianパッケージのWebベースの検索エンジン(2番目のフォーム、「パッケージのコンテンツを検索する」 )。
apt-file search protoc
たとえば、6000以上の結果が得られます。ただし、結果はファイル名で終わるため、grepを使用すると、探しているファイル名を実際に見つけることができますapt-file search protoc | grep 'protoc$'
。「protoc」で終わるものをすべて除外するため、機能します。もちろん、「protoc」を探しているものに置き換えてください。