Gentoolkitの初歩

前置き

Gentooには、Portageによるパッケージ管理に不可欠なツール(emergeetc-update)は最初から組み込まれていますが、オプショナルパッケージのGentoolkitをemergeすると、より便利になります。ここでは、Gentoolkitに含まれるツールから、equeryeuse、およびrevdep-rebuildの3つを紹介します(というか、この3つしか知りません)。

本文

Gentoolkit

まずはgentoolkitをインストールしましょう。

 # emerge gentoolkit

equery

equeryは、パッケージの内容を調査するツールです。詳しいことは、usageを見て下さい。

 # equery --help

いくつか、例を示します。

  • インストール済みの全パッケージ(あるいはxxxにマッチするパッケージ)をリストアップ
 # equery list (xxx)
  • パッケージxxx用のUSEフラグをリストアップ
 # equery uses xxx
  • パッケージxxxに依存するパッケージをリストアップ(「xxxが依存する」ではない)
 # equery depends xxx
  • パッケージxxxが依存するパッケージをツリー状に表示(「xxxに依存する」ではない)
 # equery depgraph xxx
  • パッケージxxxに属するファイルをリストアップ
 # equery files xxx
  • USEフラグyyyを使っているパッケージをリストアップ
 # equery hasuse yyy

equeryは、(たぶん)デフォルトではインストールされたパッケージを対象にします。インストールされてないけどPortage Treeに存在するパッケージを対象にしたい場合は、-I -pオプションをつけます。例えば、こんな感じ。

 # equery list -I -p firefox

euse

こちらの用途はequeryに比べると限定的で、文字通りUSEフラグに特化したツールです。詳しいことは、usageをどうぞ。

 # euse --help

例を示します。

  • USEフラグxxxの役割を表示
 # euse -i xxx
  • USEフラグxxxの役割を表示し、それを使っているインストール済みパッケージをリストアップ
 # euse -I xxx
  • 有効になっている全てのUSEフラグをリストアップ
 # euse -a

USEフラグの使用状況は、下記のように5桁の記号で表示されます(途中に空白が入ってます)。

 [+ CD ]

1桁目は、そのUSEフラグが有効なら + となり、無効なら - となります。残りの4桁はアルファベットで、大文字なら「有効化されている」、小文字なら「無効化されている」、空白なら「有効とも無効とも指定されてない」を意味します。各桁の

E/e/
環境変数により有効化(E)、環境変数により無効化(e)、環境変数では制御されてない(空白)。
C/c/
make.confにより……。
D/d/
make.defaultsにより……。
G/g/
make.globalsにより……。

revdep-rebuild

usageを見ると、"Brocken reverse dependency rebuilder"となっています。壊れた逆依存性を再構築する?

 # revdep-rebuild --help

例えばパッケージA(ver1.0)をemergeしたときに、Aが依存しているパッケージB(ver3.0)も自動的にemergeされたと仮定しましょう。そのあとでBがバージョンアップ(ver3.1)されたので、emerge --updateします。このとき、Aはemergeされません。もしB-3.1に、B-3.0との互換性が無かったら、A-1.0は動かなくなってしまいます。これが、brocken reverse dependencyです。

-pvオプションが使えるので、試しに調査だけやってみましょう。

 # revdep-rebuild -pv

最後にconsistentと表示されれば問題ないでしょう。もし不整合がある場合、-pvを付けずに実行すると、不整合を解決するために適切なパッケージ(上記の例で言えば、パッケージB-3.1に対応したパッケージAの新しいバージョン)をemergeしてくれます。そのときのemergeにオプション(例えば-pvとか)を渡したいときは、--で区切ってからemerge向けのオプションを指定します。

 # revdep-rebuild -- -pv
Last modified:2010/08/10 20:17:37
Keyword(s):
References:[サーバ管理・Linux関連]
This page is frozen.