|
1.
Portageツリーの一部を使う
パッケージ/カテゴリーを除外する
あるカテゴリー/パッケージのみを選択的にアップデートし、その他のものを除外することができます。
これはrsyncがemerge --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/laymanはlaymanを提供します。これは、overlayリポジトリを最新状態に保つ手助けをしてくれるツールです。
まず始めにOverlays Users' Guide(日本語訳)
にあるようにlaymanをインストールして設定します。そして、layman -a <overlay-name>で自分が望むリポジトリを追加します.
java(開発中のjava ebuild用)とentapps(あなたの会社のために社内開発されたアプリケーション用)という2つのリポジトリを所有していると仮定します。
この場合には、以下のコマンドを利用してこれらのリポジトリを更新することができます。
コード表示 1.1: すべてのリポジトリの更新にlaymanを使用する |
# layman -S
|
overlayについてより知りたいのであれば、man laymanとlayman/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
|
|