回答:
dpkg -S
コマンドを探していると思います(dpkgで頻繁に使用されるオプションも参照してください)。
dpkg -S
バイナリパッケージ名の名前を検索します。これは、ソース(コード)パッケージの名前とは異なる場合があります。
-S
--search
dpkg-query
dpkg
インストールしていないパッケージ内のファイルを検索する場合は、apt-fileを使用します
apt-get install -y apt-file
apt-file update
次に、何かを見つけるには:
apt-file search /usr/bin/file
または
apt-find search file
ここで、「file」は検索対象の名前です。
すべてのdebianシステムでこれを実行したくない場合は、次のスクリプトを使用できます。
#!/bin/bash
which apt-get >/dev/null || { echo apt-get not found >&2; exit 1; }
which apt-file >/dev/null || { apt-get install -y apt-file; apt-file update; }
unset i; IFS=$'\x0a'; select i in $( apt-file search "/$@" ); do
test -n "$i" || break; apt-get install "${i%% *}"; done
私はそれをただホイップしただけですが、うまくいくようです。
注:「dpkg -S」は、インストール済みのもののみを検索します。
-y
パラメータを使用するのは危険です。多くのことに対してyesと言うことができます。スクリプトでは大丈夫かもしれませんが、最初のコマンドはユーザーのシステムがどのように見えるかわからないのでapt-get install apt-file
、実際にそれなしで読む必要があります-y
。
dpkg -S `which COMMANDHERE`
私のために働いた。