portage
1. portage.5.man
Manpage of PORTAGE
PORTAGE
Section: Portage (5)Updated: Jan 2004
Index Return to Main Contents
名前
portage - Gentooの中核説明
現在のPortageコードは、多くの異なった設定ファイルを使用する。その多くは、 ユーザーや通常の開発者には知られていない。ここでは、ユーザーがPortageをより 効果的に使用できるように、その知られていない部分を明らかにしていく。 これは、まだmanページに乗っていないファイルのみに対するリファレンスである。- 注釈:
- もし、何かをemergeする方法についての情報を探しているのなら、 emerge(1)を参照のこと。
書式
- /etc/
-
make.globals
make.conf(5) - /etc/make.profile/
-
deprecated make.defaults packages packages.build package.provided use.defaults use.mask virtuals
- /etc/portage/
-
bashrc package.mask package.unmask package.keywords package.use mirrors categories use.mask
- /etc/portage/profile/
- サイト固有の/etc/make.profile/上書き設定
- /usr/portage/profiles/
-
arch.list categories package.mask thirdpartymirrors use.desc use.local.desc
- /var/lib/portage/
- world
用語解説
後続の章では、いくつかの用語は聞き慣れない、あるいはPortage特有の意味で使用 されているかもしれない。詳細な説明は、参照先のmanページを見ること。ファイルの説明
- /etc/
- /etc/make.profile/
-
通常は/usr/portage/profiles/内の正確なプロファイルに対するシンボリック
リンクになっている。これは、Portageツリーの一部であるため`emerge --sync`を
実行することで簡単にアップデート/再生成することができる。
このファイルでは、(通常はアーキテクチャ特有の)プロファイルが定義される。
もし、カスタムプロファイルが必要なら、独自の/etc/make.profile/を作成して、
そちらに移行すること。しかし、単にいくつかの設定を上書きしたい場合、
これらのファイルは編集しないように。というのは、次回の`emerge --sync`で
それらの変更は消失してしまうためである。上書き設定については、後述される章の
/etc/portage/を参照のこと。
-
- deprecated
- そのプロファイルが非推奨であることを示すファイルで、既にGentooによってサポート されていないことを意味する。 ユーザーのアップグレード対象として推奨されるプロファイル名を含む。
- make.defaults
-
Portageのデフォルトのプロファイル設定。一般的な書式については
make.conf(5)で述べられてる。使用しているプロファイルの
make.defaultsではいくつかの特殊な変数も定義されている。
-
- ARCH
- アーキテクチャタイプ(x86/ppc/hppa/etc...)。
- USERLAND = GNU
- BSD/cygwin/etc... サポート
- PORTAGE_LIBC = glibc
- uClibc/BSD libc/etc... サポート
- PROFILE_ARCH
- 同じARCHの中のマシンを区別する。sparcマシンは全てARCH=sparc であるが、この変数は'sparc32'か'sparc64'に設定されている。
- STAGE1_USE
- stage1からstage2へとブートストラップするときに必要となる可能性がある特殊なUSEフラグ。
- GRP_STAGE23_USE
- stage3とGRPセットをビルドするときにcatalystが使う特殊なUSEフラグ。
-
- packages
-
このファイルには、2つの目的がある。1つは、特定のパッケージ/バージョンを
プロファイルに基づいてマスクすること。2つ目は、systemという特別な
クラスを構成するパッケージのリストを提供すること。
書式:
- #から始まる行はコメント。 - 1行に1つのマスク対象のDEPENDアトムを記述する。 - systemクラスに追加されるパッケージは、*で始まる。
注: カスケードプロファイル設定においては、パッケージアトムの先頭に '-' をつけることによって、親プロファイルで追加されたパッケージを子プロファイルで削除することができる。例:
# この行はコメント! # glibc 2.3 以下のバージョンのみを許可する場合 <sys-libs/glibc-2.3 # バージョンを問わず、bashをsystemクラスに追加する場合 *app-shells/bash # 4.2以前のバージョンのreadlineのみを許可し、 # systemクラスに追加する場合 *<sys-libs/readline-4.2
- packages.build
- stage1 tarballを構成するパッケージのリスト(1行に1つ)。 実際は、stageを構築する人にしか関係ない。
- package.provided
-
Portageがインストールされている(provided)とみなすパッケージのリスト
(1行に1つ)。Linux 以外のシステムに移植するときに便利である。
Portage はここに挙げられたパッケージは、
別のパッケージがここに挙げられているバージョンより新しいものを
明示的に要求しないかぎり、パッケージを更新しようとしない。
基本的に、これはemerge --injectの文法を置き換えるリストである。
例えば、自分で2.6系列のカーネルを管理しているとすると、 Portage に「sys-kernel/development-sources-2.6.7」 がすでにインストールされていると教え、 この依存関係を外すことができる。
書式:
- コメントは # で始まる - 1行につき1 DEPEND アトム - 関係演算子は使えない - バージョンは必須
例:
# カーネルの面倒は自分で見る sys-kernel/development-sources-2.6.7 # 自分お手製の QT をインストール x11-libs/qt-3.3.0
- use.defaults
-
ここでは、デフォルトのUSEフラグは定義していないが、auto-USEフラグと
呼ばれているものを定義している。Portageのあまり知られていない機能として、
フラグが明示的には無効にされていない状態で、パッケージがインストールされる場合、
USEフラグが有効にされる場合がある、というものがある。このファイルは、USEフラグと
パッケージの関係が記述されており、これに基づいてauto-USE機能が動作することになる。
言い換えると、もし"sdl"あるいは"-sdl"をUSEフラグに指定していなくても、 media-libs/libsdlはemergeしている場合、Portageは自動的に"sdl"をUSEフラグに 追加する。
書式:
- # から始まる行はコメントである。 - 1行に1つのUSEフラグと、DEPENDベースアトムのリストを記述する。
例:
# media-libs/libsdlで"sdl"を有効にする場合 sdl media-libs/libsdl # dev-lang/tclおよびdev-lang/tkが両方ある場合のみ # tcltkを有効にしたい場合 tcltk dev-lang/tcl dev-lang/tk
- use.mask
-
USEフラグの中には、アーキテクチャによっては意味を成さないものもある
(例えば、非ppc環境でのaltivecや非x86環境でのmmx)。ここには、マスクするものを列挙する。
書式:
- # から始まる行はコメントである。 - 1行に1つのUSEフラグを記述する。
- virtuals
-
このファイルでは、デフォルトでvirtualとなるパッケージを管理する。
例えば、あるパッケージがe-mailを送信する必要がある場合、virtual/mtaが必要となる。
virtual/mtaを提供するパッケージ(qmail、sendmail、postfix等)が無い場合、Portageは
このファイルを見てどのパッケージを使用するかを決定する。この場合、Gentooは
(virtualファイルで定義されているので)、net-mail/ssmtpをデフォルトで使用する。
net-mail/ssmtpがデフォルトで定義されているのは、このパッケージが
e-mailを送信するには極めて単純で最小限であると言う理由からである。
書式:
- # から始まる行はコメントである。 - 1行に1つのvirtual名とDEPENDアトムのペアを記述する。
例:
# net-mail/ssmtpをデフォルトのMTAとして使用する場合 virtual/mta net-mail/ssmtp # app-dicts/aspell-enをデフォルトの辞書として使用する場合 virtual/aspell-dict app-dicts/aspell-en
-
- /etc/portage/
-
-
- bashrc
- 必要な時、このファイルはebuild用に標準のroot 環境とは異なる特殊な環境を構築するのに使用される。 構文は、他のbashスクリプトと同じである。
- package.mask
-
マスクするDEPENDアトムのリスト。特定のバージョンのパッケージがうまく動作しない
場合に役に立つ。例えば、Nvidiaドライバーを使用いるが、1.0.4496以前ものだけを
使いたい、という場合。問題なし!
書式:
- # から始まる行はコメントである。 - 1行に1つのDEPENDアトムを記述する。
例:
# 1.0.4496以前のバージョンの # nvidiaドライバーをマスクしたい場合 >=media-video/nvidia-kernel-1.0.4496 >=media-video/nvidia-glx-1.0.4496
- package.unmask
- 前述したpackage.maskのように、マスクを外したいパッケージを列挙する。 グローバルなpackage.maskファイルの設定を上書きしたい場合に使用される(詳細は後述)。 KEYWORDSによってマスクされたパッケージは上書きしないことに注意。
- package.keywords
-
パッケージごとのKEYWORD。通常の安定したマシンにまだ非安定版のパッケージを混在させたい場合、あるいはその逆の場合に使用される。このファイルは、1パッケージに対するACCEPT_KEYWORDSを追加する。
書式:
- # から始まる行はコメントである。 - 1行に1つのDEPENDアトムと、それに続けてACCEPT_KEYWORDSを記述する。
例:
# 常に非安定版のlibgdを使用したい場合 media-libs/libgd ~x86 # 安定版のmplayerのみを使用する場合 media-video/mplayer -~x86 # -* でマスクされたパッケージを使う >=sys-kernel/linux-headers-2.6 -*
- package.use
-
パッケージごとのUSEフラグ。ローカルUSEフラグを追跡したり、特定のパッケージのみに
USEフラグを有効にしたい時に使用される。GTKの開発を行っていて、
GTK用のドキュメントは欲しいが、QTのドキュメントはいらないといった場合に、
極めて簡単にそれを実現することが可能である。
書式:
- # から始まる行はコメントである。 - 1行に1つのDEPENDアトムと、それに続けて空白区切りでUSEフラグのリストを記述する。
例:
# GTK 2.x のドキュメントを有効にする場合 =x11-libs/gtk+-2* doc # QTのmysqlサポートを無効にする場合 x11-libs/qt -mysql
- mirrors
-
Portageは、mirror:// の形式のURLに遭遇した場合、実際のホストをこのファイルから
検索する。もしミラーサイトがここに見つからない場合、グローバルなミラーサイトの
ファイルである/usr/portage/profiles/thirdpartymirrorsを調べる。また、"local"と
呼ばれる特別なミラー種別も設定しているかもしれない。このミラーリストは、
GENTOO_MIRRORSより前に調べられ、パッケージにRESTRICT="nomirror"が指定してあっても
使用される。
書式:
- # から始まる行はコメントである。 - ミラーの種類と、それに続けてホストのリストを記述する。
例:
# 社内からのみ使用される、ローカルのプライベートなミラーの場合 local ftp://192.168.0.3/mirrors/gentoo http://192.168.0.4/distfiles # 日本在住なので、日本のミラーを最初に使用したい場合 sourceforge http://keihanna.dl.sourceforge.net/sourceforge # 台湾在住なので、GNUのローカルミラーを最初に使用したい場合 gnu ftp://ftp.nctu.edu.tw/UNIX/gnu/
- categories
-
/usr/portage、PORTDIR_OVERLAY、PKGDIRで使用される、有効なカテゴリのリスト
(make.conf(5)を参照のこと)。このファイルによって、カスタムカテゴリを
作成することが可能になる。
書式:
- 1行に1つのカテゴリを記述する。
例:
app-hackers media-other
- virtuals
-
このファイルはデフォルトでどのパッケージがvirtualを提供するのか制御する。
例えば、あるパッケージが e-mail を送る必要があるのであれば、
そのパッケージは virtual/mta を必要とする。
virtual/mta (qmail、sendmail、postfix、など)を提供するパッケージがなければ、
Portageはこのファイルを見てどのパッケージを使うか知る。
この例では、Gentoo は net-mail/ssmtp を (virtualsファイルで定義されている)
デフォルトとして使う。
これは、e-mailを送るのにまさに最小のことだけをするパッケージだからである。
書式:
- コメントは # で始まる
- 1行につき1 virtual と DEPEND アトムベース例:
# net-mail/ssmtp をデフォルトの mta に
virtual/mta net-mail/ssmtp
# app-dicts/aspell-en をデフォルトの辞書に
virtual/aspell-dict app-dicts/aspell-en
-
- /usr/portage/profiles/
-
開発者によって管理されるGentooのグローバルな設定。これらの設定を上書きするには
/etc/portage/にあるファイルを使用すること。
-
- arch.list
-
すべての有効なKEYWORDのリスト。これには修飾子は含まれない。
書式:
- 1行に1つのKEYWORDを記述する。
例:
x86 ppc sparc
- categories
-
/usr/portage、PORTDIR_OVERLAY、PKGDIRで使用される、有効なカテゴリのリスト
(make.conf(5)を参照のこと)。
書式:
- 1行に1つのカテゴリを記述する。
例:
app-admin dev-lang games-strategy sys-kernel
- package.mask
-
どのプロファイルにおいてもインストールされるべきでないパッケージに対する
DEPENDアトムのリストが記述されている。最新のKDEのベータ版をPortageに
追加はするが、誰かが不本意にそれらにアップグレードしてしまわないようにする
時に使用される。また、セキュリティの問題で、特定のバージョンを手早く
マスクしてしまいたい場合にも使用される。このファイルには、なぜそのパッケージが
マスクされているのか、また、誰がマスクしたのかをコメントとして必ず記述すること。
書式:
- # から始まる行はコメントである。 - 1行に1つのDEPENDアトムを記述する。
例:
# セキュリティ対策 <sys-libs/zlib-1.1.4 # <caleb@gentoo.org> (10 Sep 2003) # 新しいKDEのベータ版 =kde-base/kde-3.2.0_beta1 =kde-base/kdeaccessibility-3.2.0_beta1
- thirdpartymirrors
-
mirror:// 形式のURLと、実際のミラーリストと対応づけを制御する。
こうすることで、1つのサーバーに過負荷がかかることを防ぐ。
書式:
- # から始まる行はコメントである。 - ミラー種別と、それに続けてホストのリストを記述する。
例:
sourceforge http://aleron.dl.sourceforge.net/sourceforge http://unc.dl.sourceforge.net/sourceforge gentoo http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/ ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo/distfiles kernel http://www.kernel.org/pub http://www.us.kernel.org/pub
- use.desc
-
全てのグローバルなUSEフラグは、それが何をするものなのかという説明と共に、
このファイルに記述されていなければならない。
書式:
- # から始まる行はコメントである。 - USEフラグ - 簡単な説明
例:
3dfx - Adds support for 3dfx video cards acl - Adds support for Access Control Lists doc - Adds extra documentation
- use.local.desc
-
全てのローカルなUSEフラグは、パッケージ名とその説明と共に、
ここに記述されていなければならない。
書式:
- # から始まる行はコメントである。 - パッケージ:USEフラグ - 説明
例:
app-editors/nano:justify - Toggle the justify option dev-games/clanlib:clanJavaScript - Enables javascript support dev-libs/DirectFB:fusion - add Multi Application support games-emulation/xmess:net - Add network support
- use.mask
- /etc/make.profile/にあるuse.maskのようなもの。 詳細は上記参照。
-
- /var/lib/portage/
-
-
- world
-
パッケージをemargeする時はいつでも、指定したパッケージ名はここに記録される。
そして、`emerge world -up`を実行したときには、パッケージのリストは
このファイルから読み込まれる。依存関係のために、インストールされたパッケージまで
ここに記述されるという意味ではないことに注意すること。例えば、
`emerge mod_php`を実行した段階で、まだapacheをインストールしていない場合、
"dev-php/mod_php"はworldファイルに記録されるが、"net-www/apache"は
記録されない。詳細は、emerge(1)を参照のこと。
書式:
- 1行に1つのDEPENDベースアトムを記述する。
例:
games-misc/fortune-mod-gentoo-dev dev-libs/uclibc app-cdr/cdemu
-
作者
Marius Mauch <genone@gentoo.org> Mike Frysinger <vapier@gentoo.org> Drake Wyrm <wyrm@haell.com>
バグの報告
バグは、http://bugs.gentoo.org/ から報告すること。参照
emerge(1), ebuild(1), ebuild(5), make.conf(5)CVS ヘッダ
原文: portage.5,v 1.18
Index
This document was created by man2html using the manual pages.
Time: 17:14:02 GMT, January 19, 2012
