特定のバイナリ(または他のプログラム)の名前。どのパッケージがこのバイナリを提供しているのか、どうすればわかりますか?
メモ:パッケージ管理にapt
/を使用するとします。dpkg
編集する
以下の正解に加えて、いくつかの追加情報を追加したいと思います。上記の質問では、そのパッケージがインストールされました。もしこれならいいえapt-file
この場合、とにかくタスクを実行するパッケージがあります。
次に、このmysqldump
ツールを検索してください。
$ apt-file --regexp search .*mysqldump$
次に続く:
mariadb-client-10.0: /usr/bin/mysqldump
mysql-client-5.5: /usr/bin/mysqldump
このソリューションを見つけましたここしかし、ここで言及するのが役に立つと思いました。
答え1
欲しい包装袋。特に、この-S
オプションはファイルを所有するパッケージを探します。
一例:
$ dpkg -S /usr/bin/whereis
util-linux: /usr/bin/whereis
この例は、util-linux
パッケージにが含まれていることを示しています/usr/bin/whereis
。
答え2
dpkg --search /usr/bin/mysqldump
dpkg -S /usr/bin/mysqldump
の引数はdpkg --search
シェルワイルドカードパターンであるため、次のことができますdpkg -S bin/*dump
。
あるいは、データベースを手動で検索することもできます。これは単なるテキストファイルです。
grep mysqldump /var/lib/dpkg/info/*.list
多くのパッケージがインストールされているシステムではdpkg -S
読む必要があるため、速度が遅くなる可能性があります/var/lib/dpkg/info
。場所すべてのファイルと同じ方法で、debパッケージを介してインストールされたファイルをインデックス化しますlocate
。情報は少し古いですが(データベースはデフォルトで夜ごとに更新されます)、クエリ操作は高速です。