equery の使い方・リファレンス
本日は、すごく久々に(^^;) Gentoo Linux ネタです。 Gentoo Linux をお使いの方は皆さん equery というコマンドをご存知だと思います。 Portage パッケージのさまざまな情報を取得できる便利なコマンドです。 Gentoo Linux のコマンドの中では最も基本的なもののひとつなのですが、検索してみると意外と日本語の詳細資料がないんですよね。そんなわけで、自分用も兼ねてリファレンスをまとめてみました。ほとんどは皆さんご存知のものかと思うのですが、実際にまとめてみると「ああ、こんな機能もあったのか」と新たな発見もあったりして、けっこう勉強になりました。そんなわけで、 Gentoo Linux ユーザーの皆さん、ぜひご活用ください。
基本的な使い方
equery にはさまざまな機能があり、それぞれサブコマンドという形でまとめられています。まずはすべてのサブコマンドに共通する事柄からご紹介します。
書式
equery コマンドの基本的な書式は以下のようになります。
equery [GO] subcommand [LO] [params]
- GO
- グローバルオプション。サブコマンドによらず有効なオプションです。
- subcommand
- equery に実行させる内容を指定するコマンドです。
- LO
- ローカルオプション。サブコマンドごとに変化するオプションです。
- params
- サブコマンドに与えるパラメータ。こちらもサブコマンドによって変化します。
equery は多彩な機能を持っているので、どの機能を実行するかを subcommand で指定するようになっています。どのようなサブコマンドがあるかは、それぞれのローカルオプションやパラメータとともに後述します。
グローバルオプション
指定可能なグローバルオプションには以下のものがあります。
オプション | 機能 |
---|---|
-q, --quiet | 最小限の情報のみを出力 |
-C, --nocolor | 色分け表示をしない |
-h, --help | ヘルプを表示 |
-V, --version | バージョンを表示 |
-N, --no-pipe | パイプの検出をしない |
これだけでだいたいの機能はお分かりいただけるかと思います(手抜き ^^;)。
サブコマンド目次
それでは、各サブコマンドをリファレンス的にご紹介していきます。アクセスしやすいように、目次も作っておきました。各コマンドの後の括弧内は短縮形です。
パッケージを検索するサブコマンド
list (l)
不完全なパッケージ名からマッチするパッケージを検索します。正規表現検索もできます。
書式
equery [GO] list [LO] <パッケージ>
ローカルオプション
オプション | 機能 |
---|---|
-i, --installed | インストール済みのパッケージを検索(デフォルト) |
-I, --exclude-installed | インストール済みのパッケージを検索しない |
-p, --portage-tree | Portage ツリー (/usr/portage) も検索する |
-o, --overlay-tree | オーバーレイツリー (/usr/local/portage) も検索する |
-f, --full-regex | パッケージを正規表現として解釈する |
-e, --exact-name | パッケージに完全にマッチするもののみを表示する |
-d, --duplicates | 重複してインストールされたパッケージのみを表示する |
例
# equery list action [ Searching for package 'action' in all categories among: ] * installed packages [I--] [ ] dev-ruby/actionmailer-1.2.5 (1.1) [I--] [ ] dev-ruby/actionpack-1.12.5 (1.1) [I--] [ ] dev-ruby/actionwebservice-1.1.6 (1.1)
belongs (b)
指定したファイルが所属しているインストール済みパッケージを検索します。
書式
equery [GO] belongs [LO] <ファイル>
ローカルオプション
オプション | 機能 |
---|---|
-c, --category <cat> | カテゴリー cat のパッケージのみを検索対象にする |
-f, --full-regex | ファイルが正規表現であることを意味する |
-e, --earlyout | パッケージがひとつ見つかった時点で終了する |
例
# equery belongs /etc/inittab [ Searching for file(s) /etc/inittab in *... ] sys-apps/sysvinit-2.86-r5 (/etc/inittab)
hasuse (h)
指定した USE フラグに影響されるパッケージを検索します。
書式
equery [GO] hasuse [LO] <USEフラグ>
ローカルオプション
オプション | 機能 |
---|---|
-i, --installed | インストール済みのパッケージを検索(デフォルト) |
-I, --exclude-installed | インストール済みのパッケージを検索しない |
-p, --portage-tree | Portage ツリー (/usr/portage) も検索する |
-o, --overlay-tree | オーバーレイツリー (/usr/local/portage) も検索する |
例
# equery hasuse ruby [ Searching for USE flag ruby in all categories among: ] * installed packages [I--] [ ] app-editors/vim-7.0.17 (0) [I--] [ ] dev-lang/swig-1.3.21 (0)
パッケージの情報を取得するサブコマンド
files (f)
指定したパッケージに含まれるファイルをリストアップします。
書式
equery [GO] files [LO] <パッケージ>
ローカルオプション
オプション | 機能 |
---|---|
--timestamp | 各ファイルのタイムスタンプを表示 |
--md5sum | 各ファイルの MD5 チェックサムを表示 |
--type | 各ファイルのタイプを表示 |
--filter=<type> | type にマッチするファイルのみを表示 |
filter オプションを指定すると、特定タイプのファイルのみを表示できます。 type には以下の指定をコンマ区切りで複数記述できます。
指定 | 機能 |
---|---|
dir | 通常ディレクトリ |
obj | 通常ファイル |
sym | シンボリックリンク |
dev | デバイスノード |
fifo | 名前つきパイプ |
path | 複数のファイルがあるとき、最短のパスのみを表示(?) |
conf | $CONFIG_PROTECT で指定された設定ファイル |
cmd | $PATH に含まれるユーザーコマンド |
doc | "/usr/share/doc" 以下のドキュメント |
man | "/usr/share/man" 以下の man ページ |
info | "/usr/share/info" 以下の info ページ |
例
# equery files sys-devel/gnuconfig [ Searching for packages matching sys-devel/gnuconfig... ] * Contents of sys-devel/gnuconfig-20060702: /usr /usr/share /usr/share/doc /usr/share/doc/gnuconfig-20060702 /usr/share/doc/gnuconfig-20060702/ChangeLog.gz /usr/share/gnuconfig /usr/share/gnuconfig/config.guess /usr/share/gnuconfig/config.sub
size (s)
指定したパッケージに含まれるファイルの総数と総容量を表示します。
書式
equery [GO] size [LO] <パッケージ>
ローカルオプション
オプション | 機能 |
---|---|
-b, --bytes | 容量をバイト単位で表示 |
例
# equery size dev-lang/ruby [ Searching for packages matching dev-lang/ruby... ] * size of dev-lang/ruby-1.8.5 Total files : 673 Total size : 6148.07 KiB
uses (u)
指定したパッケージが参照する USE フラグをリストアップします。 USE フラグのコメントも表示されるので便利です。
書式
equery [GO] uses [LO] <パッケージ>
ローカルオプション
オプション | 機能 |
---|---|
-a, --all | インストールされていないパッケージも含める |
例
# equery uses sys-devel/bison [ Searching for packages matching sys-devel/bison... ] [ Colour Code : set unset ] [ Legend : Left column (U) - USE flags from make.conf ] [ : Right column (I) - USE flags packages was installed with ] [ Found these USE variables for sys-devel/bison-2.2 ] U I + + nls : Adds Native Language Support (using gettext - GNU locale utilities) - - static : !!do not set this during bootstrap!! Causes binaries to be statically linked instead of dynamically
which (w)
指定したパッケージの ebuild ファイルのフルパスを表示します。
書式
equery [GO] which <パッケージ>
例
# equery which sys-devel/bison /usr/portage/sys-devel/bison/bison-2.2.ebuild
check (k)
パッケージの MD5 チェックサムを確認します。パッケージが壊れていたり、不正に改変されていないかをチェックすることができます。
書式
equery [GO] check <パッケージ>
例
# equery check dev-lang/ruby [ Checking dev-lang/ruby-1.8.5 ] * 673 out of 673 files good
依存関係を調査するサブコマンド
depends (d)
指定したパッケージに依存するインストール済みパッケージをリストアップします。
書式
equery [GO] depends [LO] <パッケージ>
ローカルオプション
オプション | 機能 |
---|---|
-a, --all-packages | すべてのパッケージを検索(遅い) |
-d, --direct | 直接依存しているパッケージのみを表示(デフォルト) |
-D, --indirect | 間接的な依存もすべて表示する(とても遅い) |
例
# equery depends dev-lang/ruby [ Searching for packages depending on dev-lang/ruby... ] dev-ruby/actionwebservice-1.0.0 dev-ruby/activesupport-1.2.5 ...中略... dev-ruby/activerecord-1.14.4 dev-ruby/actionpack-1.12.5
depgraph (g)
指定したパッケージが依存しているインストール済みパッケージをツリー表示します。 depends が依存ツリーの下位を表示するのに対して、 depgraph は逆に上位を表示するので注意してください。
書式
equery [GO] depgraph [LO] <パッケージ>
ローカルオプション
オプション | 機能 |
---|---|
-U, --no-useflags | USE フラグを参照しない |
-l, --linear | ツリーではなく、単純なリスト形式で表示 |
例
# equery depgraph =sys-devel/bison-2.2 [ Searching for packages matching =sys-devel/bison-2.2... ] * dependency graph for sys-devel/bison-2.2 `-- sys-devel/bison-2.2 `-- sys-devel/m4-1.4.6 `-- sys-devel/gettext-0.15 [ nls ] `-- virtual/libiconv-0 (virtual/libiconv) `-- sys-devel/gnuconfig-20060702 [ sys-devel/bison-2.2 stats: packages (5), max depth (3) ]
だいたいこんなところでしょうか。私もあまり活用しているほうではないので、間違いや不足などがいろいろあると思います。見つけたらご一報いただけると助かります。
詳しくはこちらの記事をどうぞ!
この記事にコメントする