連載
» 2017年09月08日 05時00分 公開

Linux基本コマンドTips(142):【 apt-file 】コマンド――特定のファイルが収録されているパッケージを探す

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ファイル名から収録されているパッケージを探す「apt-file」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、ファイル名から収録されているパッケージを探す「apt-file」コマンドです。

apt-fileコマンドとは?

 apt-fileコマンドは、ファイルがどのパッケージ(debファイル)に収録されているかを検索するコマンドです。インストールされていないパッケージも対象になります。

 apt-fileがインストールされていない場合は「sudo apt install apt-file」(または「sudo apt-get install apt-file」)として、インストールしてください ※1。

※1 パッケージを利用してソフトウェアをインストールする場合は、aptコマンド(第139回)などを使う。





apt-fileコマンドの書式

apt-file [オプション] [アクション] [パターン]

※[ ]は省略可能な引数を示しています。




apt-fileの主なオプション(検索指定関係)

短いオプション 長いオプション 意味
-F --fixed-string パターン全体と一致するものだけを対象にする(本文参照)
-i --ignore-case 大文字小文字を区別しない
-x --regexp パターンを正規表現として解釈する
-f --from-file パターンをファイルから読み込む
-D --from-deb パターンにdebファイル名を指定する(例えば「apt-file -D list sample.deb」では、sample.debに収録されているファイルが一覧表示される)

※ パターンが「-」で始まる場合は、オプションの最後に「--」を入れる。例えば「-3g」という文字列を検索したい場合は「apt-file -- search -3g」のようにする。



apt-fileの主なオプション(その他)

短いオプション 長いオプション 意味
-a 種類 --architecture 種類 アーキテクチャ(amd64、i386など)を指定する
-c 場所 --cache 場所 キャッシュディレクトリの場所を指定する
-d 場所 --cdrom-mount 場所 CD-ROMのマウントポイントを指定する
-s ファイル --sources-list ファイル sources.listを指定する(通常は/etc/apt/sources.list、本文参照)
-N --non-interactive ユーザーからの入力を待たずに実行する
-y --dummy ダミーモードで動作する(何も行わない)
-l --package-only パッケージ名だけを表示する
-v --verbose 動作内容を表示しながら実行する

apt-fileの主なアクション

アクション名 動作
search(またはfind) パターンで指定した名前のファイルが含まれているパッケージを一覧表示する
list(またはshow) パターンで指定したパッケージに収録されているファイルを一覧表示する
purge キャッシュを削除する
update パッケージリストを/etc/apt/sources.listに従い再取得する


指定のファイルを収録したパッケージを表示する

 「apt-file search パターン」で、指定したパターン(ファイル名)を含むパッケージを一覧表示します(画面1)。

 例えば、コマンドを利用するときや、パッケージをインストールする際に、××というファイルが不足していた、こういった場合に便利です。インストール元のパッケージが分からない場合にも役立ちます。

 コマンド名の他、ライブラリやソースファイルなど、パッケージに収録されているファイルであれば、インストールされている、いないにかかわらず、検索対象となります。

 apt-file用のデータベースは「/etc/apt/sources.list」を基に作成されます。このファイルはパッケージの入手先などを設定するファイルです ※2。初めてapt-fileを使用する場合や、/etc/apt/sources.listを変更した後には「apt-file update」で適宜更新してください。

※2 /etc/apt/sources.listについては、第141回を参照。



コマンド実行例

apt-file update

(apt-file用のデータベースを更新する)(画面1

apt-file search パターン

(名前にパターンを含むファイルを収録しているパッケージを表示する)(画面1


画面1 画面1 ファイル名を指定してパッケージを検索したところ

※ 画面1では、Debianの情報サイトである「Debian Wiki」で扱っている例を取り上げた。





ファイルをフルパスで指定する

 「指定したパターンと完全に一致するファイル」で検索したい場合は、「-F」オプションを使用します。この場合は、ファイルをフルパスで指定する必要があります(画面2)。

コマンド実行例

apt-file -F search パターン画面2

(名前がパターンと完全に一致するファイルを収録しているパッケージを表示する)


画面2 画面2 -Fオプションを付けない場合と付けた場合の動作の違い

 なお、「dpkg」コマンド(apt以前から使われてきたdebパッケージを操作するコマンド)の場合、「dpkg -S /usr/bin/zip」で同様な検索ができます。ただし、この場合はインストール済のパッケージだけが対象です。



パッケージに収録されているファイルを一覧表示する

 「apt-file list パッケージ」で、指定したパッケージに収録されているファイルを一覧表示します。この場合も、パッケージ名と完全一致させたい場合は「-F」オプションを指定してください(画面3)。

コマンド実行例

apt-file list zip

(パッケージ名にzipを含むパッケージに収録されているファイルを一覧表示する)

apt-file -F list zip画面3

(zipというパッケージに収録されているファイルを一覧表示する)


画面3 画面3 特定のパッケージに含まれるファイルの一覧を表示したところ

 なお、dpkgの場合は「dpkg -L パッケージ名」で、指定したパッケージに収録されているファイルを一覧表示します。この場合もインストール済のパッケージだけが対象です。インストール前の場合は「-c」オプションでdebファイルを直接指定して、「dpkg -c sample.deb」のようにします。



筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。