ハンドブック:AMD64/Portage/カスタムツリー

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:AMD64/Portage/CustomTree and the translation is 100% complete.
AMD64 ハンドブック
インストール
インストールについて
メディアの選択
ネットワーク設定
ディスクの準備
stage3 のインストール
ベースシステムのインストール
カーネルの設定
システムの設定
ツールのインストール
ブートローダの設定
締めくくり
Gentoo の操作
Portage について
USE フラグ
Portage の機能
Init スクリプトシステム
環境変数
Portage の操作
ファイルとディレクトリ
変数
ソフトウェアブランチの併用
追加ツール
カスタムパッケージリポジトリ
高度な機能
ネットワーク設定
はじめに
高度な設定
モジュール式ネットワーク
無線
機能の追加
動的な管理


Gentoo リポジトリのサブセットを使用する

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

あるカテゴリ/パッケージを選択的にアップデートし、他のカテゴリ/パッケージを無視することができます。これは emerge --sync ステップの間に rsync にカテゴリ/パッケージを除外させることによって達成できます。

除外パターンを含むファイルの名前を /etc/portage/make.confPORTAGE_RSYNC_EXTRA_OPTS 変数で定義します:

ファイル /etc/portage/make.conf除外ファイルを定義する
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
ファイル /etc/portage/rsync_excludesすべてのゲームを除外する
games-*/*

ただし、これは依存関係の問題につながるかもしれないことに注意してください。新しい許可されたパッケージが、新しい除外されたパッケージに依存しているかもしれないためです。

この方法を動作させるためには、マニフェスト検証を無効化する必要があり、これはリポジトリのセキュリティを低下させるでしょう。検証を無効化するには、sys-apps/portagersync-verify USE フラグを無効化するか、Gentoo リポジトリの repos.conf エントリで sync-rsync-verify-metamanifest=no を設定してください。

非公式の ebuild を追加する

カスタム ebuild リポジトリを定義する

Gentoo ebuild リポジトリを通じて公式に利用可能でない ebuild を、Portage に使用させることができます。このためには、サードパーティーの ebuild を格納する新しいディレクトリ(たとえば /var/db/repos/localrepo)を作成してください。この新しいリポジトリは Gentoo の公式リポジトリと同じディレクトリ構造である必要があります。

root #mkdir -p /var/db/repos/localrepo/{metadata,profiles}
root #chown -R portage:portage /var/db/repos/localrepo

次に、リポジトリ用に実用的な名前を選びましょう。次の例では "localrepo" を名前に使っています:

root #echo 'localrepo' > /var/db/repos/localrepo/profiles/repo_name

Portage に、リポジトリマスターが Gentoo のメイン ebuild リポジトリであること、(このリポジトリはrsync サーバー、git ミラー、あるいはその他のリポジトリの種類などの、外部のソースで裏付けられているわけではないので)ローカルリポジトリを自動的に同期しないことを通知します:

ファイル /var/db/repos/localrepo/metadata/layout.conf
masters = gentoo
auto-sync = false

最後に、/etc/portage/repos.conf の中にリポジトリ設定ファイルを作成してローカルシステムのリポジトリを有効にします。このファイルは Portage にカスタムローカルリポジトリが見つけられる場所を通知します:

ファイル /etc/portage/repos.conf/localrepo.conf
[localrepo]
location = /var/db/repos/localrepo

複数のオーバーレイを扱う

複数のオーバーレイで開発を行ったり、Gentoo リポジトリに送る前にパッケージをテストしたり、あるいは単にさまざまなソースからの非公式 ebuild を使用したいパワーユーザーのために、app-portage/layman パッケージが layman を提供しています。これはユーザーがオーバーレイリポジトリを最新の状態に保つのを補助するツールです。

代わりに、app-eselect/eselect-repository をインストールして Portage が備えている同期機能を利用することもできます。Eselect/Repository も参照してください。

eselect-repository

リポジトリの追加は、eselect モジュール (app-eselect/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-5.15.52 について Portage に知らせるには以下の行を /etc/portage/profile/package.provided に追加します:

ファイル /etc/portage/profile/package.providedgentoo-sources-5.15.52 を手動でインストール済みとしてマークする
sys-kernel/gentoo-sources-5.15.52
メモ
このファイルはバージョンを = 演算子なしで使用します。