【Ubuntu】apt-fileコマンドでヘッダーファイル名などから関連パッケージを探す

183, 2019-09-18

目次

はじめに

デバッグ時のネットサーフィンで便利コマンドを見つけました。

$ apt-file search "ヘッダーファイル名など"

apt-file searchでヘッダファイルを検索すると、関連するパッケージ名を出力してくれます。
コンパイルに必要なパッケージを探したいときに重宝しそうです。

apt-fileをインストールする

apt-fileコマンドを環境にインストールするには↓のようにします。

$ sudo apt install apt-file

apt-fileをセットアップする

apt-fileの初回起動では↓のようなエラーが表示されます。

$ apt-file search glfw
E: The cache is empty. You need to run 'apt-file update' first.

↓のようにしてキャッシュを更新します。

$ apt-file update

すると↓のような進捗が表示されます。

apt-file is now using the user's cache directory.
If you want to switch back to the system-wide cache directory,
 run 'apt-file purge'
Downloading complete file http://archive.ubuntu.com/ubuntu/dists/xenial/Contents-amd64.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 92 31.7M   92 29.1M    0     0   228k      0  0:02:22  0:02:10  0:00:12  224k           

ユーザーのキャッシュディレクトリ使うぞゴルァ!

と言ってますね。

どうぞどうぞ

apt-filesearchアクションを使う

apt-fileコマンドのsearchアクションはパターンで指定した名前のファイルが含まれているパッケージの一覧を表示します。
たとえばGLFWについて検索したい場合は↓のようにします。

$ apt-file search glfw

筆者の環境で↑のコマンドを実行すると↓のように表示されます。

...
libglfw-dev: /usr/include/GL/glfw.h
libglfw-dev: /usr/lib/x86_64-linux-gnu/libglfw.a
libglfw-dev: /usr/lib/x86_64-linux-gnu/libglfw.so
libglfw-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/libglfw.pc
libglfw-dev: /usr/share/doc/libglfw-dev/changelog.Debian.gz
libglfw-dev: /usr/share/doc/libglfw-dev/copyright
libglfw-dev: /usr/share/doc/libglfw-dev/readme.html
...

ヘッダファイル名を指定すると、↓のようにパッケージを見つけることが出来ます。

$ apt-file search glfw.h
emscripten: /usr/share/emscripten/system/include/GL/glfw.h
libglfw-dev: /usr/include/GL/glfw.h

コードリーディングで見慣れないヘッダファイルが出てきたらapt-fileで検索すれば何のパッケージかわかるということですね。

すばらしい

参考

投稿者名です。64字以内で入力してください。

必要な場合はEメールアドレスを入力してください(全体に公開されます)。

投稿する内容です。

スポンサーリンク

スポンサーリンク

スポンサーリンク

スポンサーリンク