最近、Debian ボックスに java6 をインストールしました。javac を使用しようとしたところ、インストールされていないことに気付きました。最終的に (オンラインで検索した後)、javac は java6-sdk パッケージの一部であることがわかりました。必要なコマンドはわかっているのに、それがどのパッケージに含まれているのかがわからないのは、今回が初めてではありません。
私の質問は、どのファイルがどのパッケージに属しているかをコマンド ラインで調べる方法があるかどうかです。javac がどのパッケージに属しているかを確認したい場合、java6-sdk、java5-sdk などがリストされます。これらはすべて javac を含んでいるためです。
答え1
apt-file
探しているコマンドです。
答え2
使用できますaptファイル ファイル名を検索そのために、Debian パッケージオンライン版を検索します。
答え3
これはまさにあなたが探しているものではないことは承知していますが、
dpkg -L packagename
に属するすべてのファイルを一覧表示しますインストールされたパッケージ(ただし、これはアンインストールされたパッケージに対して必要です)
どのように行われるかはわかりませんが、Ubuntu (Debian から派生) では、次のようなパッケージが提案されます。
$ chkrootkit
The program 'chkrootkit' is currently not installed. You can install it by typing:
sudo apt-get install chkrootkit
bash: chkrootkit: command not found
そして私は、パッケージを見つけるために、ファイル名と「Debian」を Google に入力するという当たり前のことをよくやりました。
答え4
dlocate パッケージもご覧ください。パッケージとパッケージ内のファイルを一覧表示するための便利なオプションが多数あります。元々は dpkg -L、dpkg -S などの高速バージョンとして作成されましたが、長年にわたって多くの便利な機能が追加されました (それでも速度は維持されています :)
免責事項: 私は dlocate の作者であり、Debian のメンテナーです。
ちなみに、テスト版または不安定版から dlocate のバージョンをインストールしてください。安定版のバージョンに比べて多くの改良が加えられており (特に、GNU locate に依存しなくなりました)、安定版でも問題なく動作します (新しいライブラリや更新されたライブラリなどに依存しません)。