Handbook:Parts/Working/Features/ja

Portage の機能
Portageは、Gentooでの体験を更により良くする追加の機能をいくつか備えています. これらの機能の多くは、パフォーマンス、信頼性、セキュリティなどを向上させる、あるソフトウェアツールに依存しています.

Portageのある特定の機能を有効あるいは無効にするには、を編集し、様々な、機能に関するキーワードをスペース区切りで格納する FEATURES 変数に値を設定、あるいは値を更新してください. 一部の場合では、その機能が依存する追加のツールもインストールする必要があります.

Portageがサポートするすべての機能がここに一覧として表示されているわけではありません. 全体を概観するには、のmanページを参照してください.

デフォルトで FEATURES 変数に何が設定されているかを確認するには、を実行し、 FEATURES の項を探すかしてください.

distcc を使う
は、ネットワーク上のいくつかの（必ずしも同一ではない）マシンにコンパイルを分散させるプログラムです. distccのクライアントはすべての必要な情報を、利用可能な（distccdが稼働している）distccサーバに送ります. これによってクライアントのためにソースコードの一部分をコンパイルできます. 最終的に、より早くコンパイルすることが出来ます.

distccに関する（そしてどのようにGentooで機能させるかについての）さらなる情報についてはDistccのページにあります.

distcc のインストール
distcc には、コンパイルのためにコンピュータが送信しているタスクを監視するグラフィカルモニタが付属しています. このツールは  が設定されていると自動的にインストールされます.

Portage の distcc サポートを有効にする
を内の FEATURES 変数に追加してください. 次に、 MAKEOPTS 変数を編集し、システムが許可する並行ビルドジョブの数を増やしてください. 知られているガイドラインとして、 を、distccdが稼働しているCPUの数（現在のホストも含む）に1を加えたものとして、 を指定することです. ただし、これはあくまでガイドラインです.

それではを実行し、利用できるdistccのサーバを入力してください. 単純な例として、利用可能なdistccのサーバが、192.168.1.102（現在のホスト）、192.168.1.103そして192.168.1.104（2つの"リモートの"ホスト）であるとします：

distccdデーモンを実行するのも忘れないでください：

ccache とは
は高速なコンパイラキャッシュです. アプリケーションがコンパイルされると、毎回ccacheは中間生成物をキャッシュします. これによって、同じプログラムが再コンパイルされるといつでも、コンパイル時間は大幅に減少します. 最初にccacheが実行される時、コンパイル速度は通常より遅くなるでしょう. しかし、次からの再コンパイルは早くなるはずです. ccacheは同じアプリケーションが何回も再コンパイルされる時（あるいは同じアプリケーションのアップグレードが頻繁に行われる時）にのみ便利なもので、それゆえこれはほとんどの場合、ソフトウェア開発者にのみ便利なものです.

ccacheに関するさらなる情報については、ホームページを訪れてください.

ccache のインストール
ccacheをインストールするには、次のコマンドを実行してください：

Portage の ccache サポートを有効にする
を開き、 を FEATURES 変数に追加してください. もし FEATURES が存在しなければ新たに定義してください. 次に、 CCACHE_SIZE と呼ばれる新しい変数を追加し、 と設定します：

ccacheが機能しているか確認するには、ccacheの統計を出すようにしてください. Portageは異なったccacheのホームディレクトリを使用しているため、一時的に CCACHE_DIR 変数に値を格納する必要があります：

はPortageのデフォルトのccacheホームディレクトリですが、内で CCACHE_DIR 変数を変更することで場所を変えることができます.

が単独で機能している時、ccacheはを既定の場所として使用するでしょう. これが、（Portageの）ccacheの統計を取得する時に、 CCACHE_DIR 変数が設定されている必要がある理由です.

ccache を Portage の外で使う
ccacheをPortage以外のコンパイルの時に使用するには、を PATH 変数のはじめ（の前）に追加してください. これはユーザのホームディレクトリにあるを編集することでできます. を使用することは、 PATH 変数を定義する方法の1つです.

ビルド済みパッケージを作る
Portageはビルド済みパッケージのインストールに対応しています. Gentoo自体はビルド済みパッケージを提供していませんが、Portageはビルド済みパッケージを認識できます.

ビルド済みパッケージを作成するには、もしパッケージが既にシステムにインストールされているならばコマンドを使用してください. あるいは または オプションを使用してemergeしてください.

Portageに、インストールするすべての単一のパッケージの、ビルド済みバージョンを作成させるには、 FEATURES</var.変数に を追加してください.

ビルド済みパッケージの作成に対する拡張サポートは、catalystを使用して受けることが出来ます. catalystについての詳細はCatalyst FAQを読んでください.

ビルド済みパッケージのインストール
Gentooは対応していませんが、ビルド済みパッケージが保存される中央リポジトリを作成することが可能です. このリポジトリを使用するために、 PORTAGE_BINHOST にそのリポジトリを指定することでPortageに認識させることが必要です. 例えば、ビルド済みパッケージが ftp://buildhost/gentoo にある場合：

ビルド済みパッケージをインストールする時は、emergeコマンドに オプションを、 オプションと一緒に追加してください. 前者はemergeに、予め定義されたサーバからビルド済みパッケージをダウンロードすることを伝え、後者はemergeに、ソースコードを取ってきてコンパイルする前に、先にビルド済みパッケージのインストールを試みるようemergeに要請します.

例えば、gnumericをビルド済みパッケージを用いてインストールする場合：

emergeのビルド済みパッケージのオプションに関するさらなる情報については、emergeのmanページで見ることができます：

ビルド済みパッケージを配布する
もしビルド済みパッケージを他人に配布する場合、それが許可されている事を確認してください. 上流のパッケージ配布条件を確認してください. 例えば、GNU GPLライセンスの下でリリースされているパッケージは、バイナリと一緒にソースコードも利用可能にしなければなりません.

もしビルド済みバイナリが配布不可能な場合、ebuildが RESTRICT 変数内で 制限を定義しているかもしれません. この制限は、時々1つまたは複数のUSEフラグの条件付きとなっています.

既定では、Portageはこの制限によっていかなるパッケージもマスクすることはありません. これは内の ACCEPT_RESTRICT 変数を設定することで、システム全体で変更することが出来ます. 例えば、 制限のあるパッケージをマスクする場合、以下の行をに追加してください：

コマンドに オプションを渡すことで、 ACCEPT_RESTRICT 変数を上書きすることも可能です. 例えば、 では、一時的に 制限のあるパッケージをマスクします.

また、パッケージを配布する時に ACCEPT_LICENSE 変数を設定することも検討してください. これに関しては、Licensesセクションを確認してください.

Userfetch
Portageがは通常rootユーザとして実行されます. を設定しておくことで、パッケージソースを取得するときにroot権限を放棄し、portage:portageのユーザ/グループで実行するようになります. これはちょっとしたセキュリティの向上につながります.

もし が FEATURES 内で設定されているならば、確実に内にあるすべてのファイルの所有者を、をroot特権で実行することで変更するようにしてください.

distfilesを認証する
整合性を再認証し、場合によっては現在インストールされているすべてのパッケージに関する、過去に削除されたあるいは破損したdistfilesを再ダウンロードするには、次のコマンドを実行してください：