Equery/ja

は、Portage における一般的な操作をより簡単にするためのツールです. パッケージの依存関係、メタデータ、インストールされたファイルなどを表示可能です.

emerge
equery はパッケージでインストールされるツールセットの一部です:

や他のツールのインストールについて、詳しくはGentoolkitの記事を読んでください.

はじめに
はシステムにインストールされたパッケージについて役に立つ情報を出力するためのツールです. は複数のモジュールで構成されています. 個々のモジュールは略称で表されます. 例えば、は と同じです. オプションを付けて起動すると、グローバルなオプション、すべての使用可能なモジュール、そしてそれらの略称が表示されます. モジュール名を続けると、特定のモジュールのヘルプが表示されます. 最後に、 はすべての使用可能なモジュールとオプションをいくつかの例と共に表示します.

下に示す方法は、大部分のモジュールで使うことができます.

と同様、 は部分的なパッケージ名を理解しません.

とは異なり、 はカテゴリ名およびパッケージ名に関してシェルライクなワイルドカードを受け付けます.

ほとんどのequeryモジュールは複数の入力を受け付けます.

いくつかのモジュールは完全な正規表現も扱うことができます.

これ以降のいくつかのセクションでは、 の各モジュールを簡単に紹介します.

機能
equeryのすべての機能を見たい場合、単純に引数無しでequeryを実行します.

エイリアス
を使うときの一般的なアプローチは、エイリアスを使うことです. bashを使っている場合、以下をファイルに書いておくとよいでしょう.

belongs (b): ファイルを提供したパッケージを検索
は、 オプションで指定される正規表現にマッチしたファイルを検索できます. オプションを付けると、マッチするファイルを見つけた時点で検索を停止します. ２つ以上のパッケージに所属するファイルは存在しないため、このオプションは安全です.

の短縮形が使用できます. 例えば、 が属するパッケージをリストアップする場合は以下を実行します.

changes (c): パッケージの ChangeLog を表示
は、指定されたパッケージのあるバージョン、もしくは複数バージョンの ChangeLog を表示します. 例えば、 を実行した直後は、Portageのアップグレードが進行中であることを表示します. 変更点を知るためには、以下のコマンドを使用します:

check (k): パッケージの状態が完全か検査
は、パッケージのインストール状態が完全か調べたいときに便利です. MD5 チェックサムやタイムスタンプを照合し、壊れていたり書き換えられていたり削除されていたりしている可能性がないか検出することが可能です.

depends (d): パッケージに依存するすべてのパッケージをリスト表示
あるパッケージがなぜインストールされたのか知りたくなることはありませんか？ は オプションを付けることで、そのパッケージに依存するパッケージリストを表示できます.

次の例では、udevに直接依存するすべてのパッケージをリストアップします.

depgraph (g): パッケージが必要とするすべてのパッケージを表示
は、 の逆です. 指定したパッケージが必要とする全てのパッケージを表示します（「指定したパッケージを必要とするパッケージ」ではありません）. 間接的に必要なパッケージも表示します. 何階層にわたり再帰検索を行うかについては、  オプションで指定します.

上記例では、 USEフラグが有効なときには  が直接的に必要で、   が間接的に必要になることがわかります.

files (f): パッケージが含むファイルのリストを表示
の モジュールは、ebuildがインストールするすべてのファイルのリストを表示します. ディレクトリ構造を見やすく表示するには を使用してください. は特定のファイルタイプのみ見つける場合に使用します. 例えば、 は実行形式のファイルがどこにインストールされているのか見つけられます. また、 で設定ファイルの場所を素早く見つけることが可能です.

別の例として、以下は によってインストールされるすべてのファイルをリスト表示します:

他のモジュールの説明、および他のコマンドラインオプションについては、equeryのman page を参照してください.

hasuse (h): 特定のUSEフラグをもつパッケージを検索
を使うと、指定されたUSEフラグを持つパッケージを見つけることができます. ただし、 はそのフラグが実際に有効になっているかは調べません. 単にebuildがそのフラグをオプションとしているかどうか調べるだけです. この情報を得るためのコツについて、 manページにある のEXAMPLESセクションを参照してください.

list (l): パッケージをリスト表示
は単純ですが協力なモジュールで、Portageツリーもしくはオーバーレイでインストールされたパッケージをリスト表示することができます.

通常のequeryは、与えられたパッケージ名に対してインストールされているパッケージを探します. を指定することでインストールされているすべてのパッケージを表示できます. このとき、もっとも左のフィールドで、個々のパッケージが実際に nstallされているのか、それとも ortageツリーに存在するだけなのかがわかります. これらは（2番目のフィールドが空白なので）マスクされておらず、かつデフォルトスロット（0）にインストールされていることがわかります.

ローカルオプションを使えば、Portageとオーバーレイにあるパッケージを検索できます.

この例では、バージョン7.2.182がインストールされ、オーバーレイには使用可能なバージョンがないことがわかります. 2番目のフィールドの によってマスクされているバージョンがわかります.

meta (m): パッケージのメタデータを表示
Portageツリー中のそれぞれのパッケージは、少なくともメンテナー等の最低限の情報metadataを持っています. 有益な情報がどれぐらいあるかは、パッケージのメンテナーに依存します. オプションを与えない場合、 はいくつかの基本的、かつ有益な情報を表示します.

一部のメンテナーは、そのパッケージについて追加の情報を提供しています. これらは非常に有益になりえます.

size (s): パッケージのサイズを表示
特定のパッケージがどれぐらいの容量を占めるのか知りたくなったことはありませんか？あるパッケージがいくつのディレクトリにどれぐらいのファイルを持っているかどうかを調べるときに、いつも使っている コマンドでは期待する情報を得られないでしょう. でも心配することはありません. が助けてくれます！

は、人が読みやすい単位でディスク使用量を表示し、そのパッケージが持つファイルの数をリスト表示します. 例えば、バイト単位でトータルサイズを得るためには を使用してください.

uses (u): パッケージ毎にUSEフラグを表示する
の  モジュールは、特定のパッケージで使用可能な USE フラグと、そのうち現在有効にされているフラグはどれかを表示できます.

この例では、いくつかのUSEフラグがgstreamerプラグインのメタパッケージで有効にされていることがわかります. しかし他に使用可能なUSEがあることもわかります. USEフラグの詳細については、Gentoo HandbookのUSE Flagsの章を参照してください.

which (w): ebuildのパスを検索する
はebuildのファイルパスを高速に見つけるための簡単なスクリプトです. もし にバージョン無しのパッケージ名のみ指定した場合は、インストール可能な最新のebuildバージョンへのパスを返却されます. 別の言い方をすると、例えば と入力すると、Portageが実際に使用するebuildを返却します. はバージョンが付与されたパッケージ名を受け取って、そのebuildへのパスを返却することも可能です.

最後に、もし上記の の機能がどれもあなたの解にならない場合は、 や  、 等のコマンドとともに を使用することもできます.

参考

 * Q applets - C で書かれている、小さく速い Portage のヘルパーツール
 * eix - バイナリキャッシュを用いて、ローカルの gentoo リポジトリやオーバーレイを検索したり変更を表示したりするユーティリティ
 * Gentoolkit - Gentoo システムの管理を容易にするツール群