Equery/ja

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

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

equery は、 パッケージでインストールされるツールセットの一部です. equery や他のツールのインストールについて、詳しくは Gentoolkit の記事を読んでください.

はじめに
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): パッケージが含むファイルのリストを表示
equery</tt>は、 モジュールで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>が助けてくれます！

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

Listing per-package USE flags with uses (u)
equery</tt>'s  module can provide information about what USE flags are available for a specific package and which of those flags is currently enabled.

Here a number of USE flags are enabled in gstreamer's plugin meta-package, but it can be seen that there are other USE flags available. For more information on USE flags, please refer to the USE Flags chapter of the Gentoo Handbook.

Finding the ebuild path with which (w)
is a simple script to help users quickly find the file path to an ebuild. If an unversioned package name is passed using  it will return the path to the newest installable ebuild version. In other words, it would return the ebuild Portage would use if emerge example/package</tt> was typed. also accepts a versioned package to get the path to that ebuild.

Lastly, if none of the above features of <tt>equery</tt> have provided an answer, try using  to manually search an ebuild with programs like <tt>cat</tt>, <tt>less</tt> or <tt>grep</tt>: