This is Gentoo's testing wiki. It is a non-operational environment and its textual content is outdated.
Please visit our production wiki at https://wiki.gentoo.org
ハンドブック:SPARC/Portage/カスタムツリー
Gentoo リポジトリのサブセットを使用する
パッケージやカテゴリを除外する
あるカテゴリ/パッケージを選択的にアップデートし、他のカテゴリ/パッケージを無視することができます。これは emerge --sync ステップの間に rsync にカテゴリ/パッケージを除外させることによって達成できます。
除外パターンを含むファイルの名前を /etc/portage/make.conf の PORTAGE_RSYNC_EXTRA_OPTS 変数で定義します:
/etc/portage/make.conf
除外ファイルを定義するPORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
/etc/portage/rsync_excludes
すべてのゲームを除外するgames-*/*
ただし、これは依存関係の問題につながるかもしれないことに注意してください。新しい許可されたパッケージが、新しい除外されたパッケージに依存しているかもしれないためです。
非公式の ebuild を追加する
カスタムリポジトリを定義する
Gentoo リポジトリを通じて公式に利用可能でない ebuild を Portage に使用させることができます。サードパーティーの ebuild を格納する新しいディレクトリ(たとえば /usr/local/portage)を作成します。Gentoo の公式リポジトリと同じディレクトリ構造を使用してください!
root #
mkdir -p /usr/local/portage/{metadata,profiles}
root #
chown -R portage:portage /usr/local/portage
次に、リポジトリ用に実用的な名前を選びましょう。次の例では "localrepo" を名前に使っています:
root #
echo 'localrepo' > /usr/local/portage/profiles/repo_name
Portage に、リポジトリマスターが Gentoo のメインリポジトリであること、(このリポジトリはrsync サーバー、git ミラー、あるいはその他のリポジトリソースで裏付けられているわけではないので)リポジトリを自動的に同期しないことを通知します:
/usr/local/portage/metadata/layout.conf
masters = gentoo auto-sync = false
最後に、/etc/portage/repos.conf の中にリポジトリ設定ファイルを作成してローカルシステムのリポジトリを有効にします。このファイルは Portage にローカルリポジトリが見つけられる場所を通知します:
/etc/portage/repos.conf/localrepo.conf
[localrepo] location = /usr/local/portage
複数のオーバーレイを扱う
複数のオーバーレイで開発を行ったり、Gentoo リポジトリに送る前にパッケージをテストしたり、あるいは単にさまざまなソースからの非公式 ebuild を使用したいパワーユーザーのために、app-portage/layman パッケージが layman を提供しています。これはユーザーがオーバーレイリポジトリを最新の状態に保つのを補助するツールです。
代わりに、app-eselect/eselect-repository をインストールして Portage が備えている同期機能を利用することもできます。Eselect/Repository も参照してください。
eselect-repository
このツールを使うとリポジトリの追加を簡単に行えます。
たとえば、hardened-development オーバーレイを有効にするには:
root #
eselect repository enable hardened-development
この方法で追加されたオーバーレイの更新は、
root #
emerge --sync
をすることによって自動的に行われます。
Layman
最初に Overlays User Guide で示されているように layman のインストールと設定を行い、それからご希望のリポジトリを layman -a で追加します。
たとえば、hardened-development オーバーレイを有効にするには:
root #
layman -a hardened-development
layman を通じていくつのリポジトリが使用されているかに関わらず、以下のコマンドでそれらすべてのリポジトリを更新できます:
root #
layman -S
オーバーレイの取扱いについての詳細は man layman や、前にリンクした layman/overlay ユーザーガイドを読んでください。
Portage で管理されていないソフトウェア
Portage を自分で管理しているソフトウェアと共に使用する
時々、Portage でソフトウェアタイトルを提供できるにも関わらず、Portage にプロセスを自動化させることなくソフトウェアを個別に設定、インストール、メンテナンスしたい場合があります。既知の例はカーネルソースと Nvidia ドライバーです。Portage に特定のパッケージがシステムに手動でインストールされていることを知らせる(したがって、依存関係の計算の際にこの情報が考慮される)よう設定できます。このプロセスは injecting と呼ばれており、/etc/portage/profile/package.provided ファイルを通じて Portage によりサポートされています。
たとえば、手動でインストールされた gentoo-sources-4.9.16 について Portage に知らせるには以下の行を /etc/portage/profile/package.provided に追加します:
/etc/portage/profile/package.provided
gentoo-sources-4.9.16 を手動でインストール済みとしてマークするsys-kernel/gentoo-sources-4.9.16
このファイルはバージョンを
=
演算子なしで使用します。