機能Portageは、Gentooでの体験を更により良くする追加の機能をいくつか備えています。これらの機能の多くは、パフォーマンス、信頼性、セキュリティなどを向上させる、あるソフトウェアツールに依存しています。Portageのある特定の機能を有効あるいは無効にするには、/etc/portage/make.confを編集し、様々な、機能に関するキーワードをスペース区切りで格納するFEATURES変数に値を設定、あるいは値を更新してください。一部の場合では、その機能が依存する追加のツールもインストールする必要があります。Portageがサポートするすべての機能がここに一覧として表示されているわけではありません。全体を概観するには、make.confのmanページを参照してください。--infoを実行し、FEATURESの項を探すかgrepしてください。使うdistccは、ネットワーク上のいくつかの(必ずしも同一ではない)マシンにコンパイルを分散させるプログラムです。distccのクライアントはすべての必要な情報を、利用可能な(distccdが稼働している)distccサーバに送ります。これによってクライアントのためにソースコードの一部分をコンパイルできます。最終的に、より早くコンパイルすることが出来ます。distccに関する(そしてどのようにGentooで機能させるかについての)さらなる情報についてはDistccのページにあります。インストールdistccには、コンパイルのためにコンピュータが送信しているタスクを監視するグラフィカルモニタが付属しています。このツールはUSE=gnomeまたはUSE=gtkが設定されていると自動的にインストールされます。サポートを有効にするdistccを/etc/portage/make.conf内のFEATURES変数に追加してください。次に、MAKEOPTS変数を編集し、システムが許可する並行ビルドジョブの数を増やしてください。知られているガイドラインとして、Nを、distccdが稼働しているCPUの数(現在のホストも含む)に1を加えたものとして、-jNを指定することです。これはあくまでガイドラインです。それではdistcc-configを実行し、利用できるdistccのサーバを入力してください。ccacheは高速なコンパイラキャッシュです。アプリケーションがコンパイルされると、毎回ccacheは中間生成物をキャッシュします。これによって、同じプログラムが再コンパイルされるといつでも、コンパイル時間は大幅に減少します。最初にccacheが実行される時、コンパイル速度は通常より遅くなるでしょう。次からの再コンパイルは早くなるはずです。ccacheは同じアプリケーションが何回も再コンパイルされる時(あるいは同じアプリケーションのアップグレードが頻繁に行われる時)にのみ便利なもので、それゆえこれはほとんどの場合、ソフトウェア開発者にのみ便利なものです。ccacheに関するさらなる情報については、ホームページを訪れてください。警告ccacheは様々なコンパイル時の問題を引き起こすことが知られています。ccacheは時々古いコードオブジェクトや壊れたファイルを保持していることがあり、これはパッケージのemerge失敗につながります。再コンパイルしてみてください。サポートを有効にする/etc/portage/make.confを開き、ccacheをFEATURES変数に追加してください。FEATURESが存在しなければ新たに定義してください。/etc/portage/make.confPortageのccacheサポートを有効にするFEATURES="ccache"CCACHE_SIZE="2G"ccacheが機能しているか確認するには、ccacheの統計を出すようにしてください。-s/var/tmp/ccache/はPortageのデフォルトのccacheホームディレクトリですが、/etc/portage/make.conf内でCCACHE_DIR変数を変更することで場所を変えることができます。ccacheが単独で機能している時、ccacheは${HOME}/.ccache/を既定の場所として使用するでしょう。これが、(Portageの)ccacheの統計を取得する時に、CCACHE_DIR変数が設定されている必要がある理由です。外で使うccacheをPortage以外のコンパイルの時に使用するには、/usr/lib/ccache/bin/をPATH変数のはじめ(/usr/binの前)に追加してください。これはユーザのホームディレクトリにある~/.bash_profileを編集することでできます。~/.bash_profileを使用することは、PATH変数を定義する方法の1つです。~/.bash_profileccacheの場所を他のPATHの前に設定するPATH="/usr/lib/ccache/bin:${PATH}"バイナリパッケージビルド済みパッケージを作るPortageはビルド済みパッケージのインストールに対応しています。Gentoo自体はビルド済みパッケージを提供していませんが、Portageはビルド済みパッケージを認識できます。ビルド済みパッケージを作成するには、もしパッケージが既にシステムにインストールされているならばquickpkgコマンドを使用してください。--buildpkgまたは--buildpkgonlyオプションを使用してemergeしてください。Portageに、インストールするすべての単一のパッケージの、ビルド済みバージョンを作成させるには、FEATURES</var.変数にbuildpkgを追加してください。ビルド済みパッケージの作成に対する拡張サポートは、catalystを使用して受けることが出来ます。FAQを読んでください。ビルド済みパッケージのインストールGentooは対応していませんが、ビルド済みパッケージが保存される中央リポジトリを作成することが可能です。このリポジトリを使用するために、PORTAGE_BINHOSTにそのリポジトリを指定することでPortageに認識させることが必要です。/etc/portage/make.confPORTAGE_BINHOSTに場所を追加PORTAGE_BINHOST="ftp://buildhost/gentoo"ビルド済みパッケージをインストールする時は、emergeコマンドに--getbinpkgオプションを、--usepkgオプションと一緒に追加してください。前者はemergeに、予め定義されたサーバからビルド済みパッケージをダウンロードすることを伝え、後者はemergeに、ソースコードを取ってきてコンパイルする前に、先にビルド済みパッケージのインストールを試みるようemergeに要請します。emergeビルド済みパッケージを配布するもしビルド済みパッケージを他人に配布する場合、それが許可されている事を確認してください。上流のパッケージ配布条件を確認してください。GPLライセンスの下でリリースされているパッケージは、バイナリと一緒にソースコードも利用可能にしなければなりません。ビルド済みバイナリが配布不可能な場合、ebuildがRESTRICT変数内でbindist制限を定義しているかもしれません。この制限は、時々1つまたは複数のUSEフラグの条件付きとなっています。既定では、Portageはこの制限によっていかなるパッケージもマスクすることはありません。これは/etc/portage/make.conf内のACCEPT_RESTRICT変数を設定することで、システム全体で変更することが出来ます。-bindist"emergeコマンドに--accept-restrictオプションを渡すことで、ACCEPT_RESTRICT変数を上書きすることも可能です。--accept-restrict=-bindistでは、一時的にbindist制限のあるパッケージをマスクします。パッケージを配布する時にACCEPT_LICENSE変数を設定することも検討してください。これに関しては、Licensesセクションを確認してください。バイナリ配布の制限などの案内を提供しますが、Portageの出力やGentoo開発者による回答は法的な意味を持つものではなく、これをあてにするべきではありません。お住いの地域の法律に反しないよう、十分に注意してください。ファイルのフェッチUserfetchPortageがは通常rootユーザとして実行されます。設定しておくことで、パッケージソースを取得するときにroot権限を放棄し、portage:portageのユーザ/グループで実行するようになります。これはちょっとしたセキュリティの向上につながります。userfetchがFEATURES内で設定されているならば、確実に/var/db/repos/gentoo内にあるすべてのファイルの所有者を、chownをroot特権で実行することで変更するようにしてください。ebuildリポジトリを、Gentoo基盤がリリースする暗号検証済みのスナップショットにアップデートすることを選択できます。これによって悪質なrsyncミラーが、システムがダウンロードするリポジトリに望まれていないコードやパッケージを追加するのを防ぐことが出来ます。以下は、repos.confを使用した、emerge-webrsyncのsync手段を利用し設定するアップデートされた方法です。GentooリリースメディアのOpenPGP鍵は、現在バイナリキーリングとして利用可能です。portage-2.2.18については'websync'を使用してください。0xlong鍵の指紋を、公式Gentooリリースエンジニアリングプロジェクトのページで一覧になっている指紋に対し確かめてください。gentoo信用したい鍵それぞれに対し、以下のコマンドを実行してください(鍵idの'0x...'を信用したい鍵に置き換えてください)。trustGPGコマンドラインメニューが現れるはずですので、以下のコマンドを打ち、鍵を十分に信用し、プログラムを終了してください:gpg>4gpg>quitこれでシステムはOpenPGP/gpgによって認証されたスナップショットのみをsyncに使用するよう設定されました。syncを実行するのにいくつかのコマンドが利用可能です。実際に必要になるのは次のコマンドのうち一つだけです。