Equery/ja

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

emerge
単純に以下のようにします.

Equery is part of a toolset installed with the package. For information on installing or other tools visit the Gentoolkit article.

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

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

emerge</tt>と同様、equery</tt>は部分的なパッケージ名を理解しません.

emerge</tt>とは違い、equery</tt>はカテゴリ名およびパッケージ名に関してシェルライクなワイルドカードを受け付けます.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

一部のメンテナーは、そのパッケージについてとても有益な情報を提供しています.

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

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

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

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

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

最後に、もし上記のequery</tt>の機能がどれもあなたの解にならない場合は、cat</tt>、<tt>less</tt>、<tt>grep</tt>等のコマンドと共に を使用することもできます.

参考

 * Q applets - A collection of small and fast Portage helper tools written in C.
 * eix - A set of utilities for searching and diffing the local Portage tree and overlays using a binary cache.
 * Gentoolkit - A suite of tools to ease the administration of a Gentoo system.