Gentoo Logo

1.  Portageツリーの一部を使う

パッケージ/カテゴリーを除外する

あるカテゴリー/パッケージのみを選択的にアップデートし、その他のものを除外することができます。 これはrsyncemerge --syncを行っているときにカテゴリー/パッケージを除外することによって行うことができます

除外パターンを含むファイル名を/etc/make.conf--exclude-from変数で定義する必要があります。

コード表示 1.1: /etc/make.confで除外ファイルを定義

PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"

コード表示 1.1: /etc/portage/rsync_excludesでgameのすべてを除外

games-*/*

注意して欲しいのはこれにより依存関係の問題を引き起こすかもしれないと言うことです。 許可されたパッケージが除外されたものに依存しているかもしれないからです。

1.  非公式のebuildを追加する

Portageオーバーレイディレクトリを定義する

Portageツリーを通して公式に利用できないebuildを利用するようにPortageに命令することができます。 サードパーティのebuildを保存しておく新しいディレクトリ(例えば/usr/local/portage)を作成します。 公式のPortageツリーと同じディレクトリ構造を使うようにしてください。

そして/etc/make.confのPORTDIR_OVERLAYが先ほど作成したディレクトリを示すように定義します。 これでPortageを使うときには、これらのebuildが次回emerge --syncを実行したときに削除/上書きされることなく利用できるようになります。

いくつかのOverlayで作業する

いくつかのoverlayで開発を行ったり、Portageツリーを破壊する前にパッケージをテストしたり、または単に様々なソースのunofficialなebuildを使用したりしたいパワーユーザ向けに、app-portage/laymanlaymanを提供します。これは、overlayリポジトリを最新状態に保つ手助けをしてくれるツールです。

まず始めにOverlays Users' Guide(日本語訳) にあるようにlaymanをインストールして設定します。そして、layman -a <overlay-name>で自分が望むリポジトリを追加します.

java(開発中のjava ebuild用)とentapps(あなたの会社のために社内開発されたアプリケーション用)という2つのリポジトリを所有していると仮定します。 この場合には、以下のコマンドを利用してこれらのリポジトリを更新することができます。

コード表示 1.1: すべてのリポジトリの更新にlaymanを使用する

# layman -S

overlayについてより知りたいのであれば、man laymanlayman/overlay users' guide (日本語訳)を読んでください。

1.  Portageによって保守されていないソフトウェア

自分で保守されたソフトウェアをPortageで使う

場合によっては、Portageが自動処理を提供しているにもかかわらず、あなた自身でソフトウェアを設定、インストール、そして保守を行いたいことがあるでしょう。 有名なものにはカーネルソールやnvidiaドライバがあります。 あるパッケージがシステムに手動インストールされたことをPortageが知るように設定することができます。 この仕組みはinjectingと呼ばれ、/etc/portage/profile/package.providedファイルを通してPortageにサポートされています。

例えば、gentoo-sources-2.6.11.6が手動でインストールされたと言うことをPortageに知らせたいときには、以下の行を/etc/portage/profile/package.providedに追加します。

コード表示 1.1: package.provided の例

sys-kernel/gentoo-sources-2.6.11.6

ページの更新日 2010年 7月 13日

要約: 「オフィシャルツリーからの変更」では自分専用のPortageツリーを使う方法、 必要なカテゴリーだけ同期する方法、パッケージを挿入する方法などについてちょっとした技を紹介します。

Donate to support our development efforts.

Copyright 2001-2012 Gentoo Foundation, Inc. Questions, Comments? Contact us.