ACCEPT_KEYWORDS
ACCEPT_KEYWORDS 変数では、パッケージマネージャーにebuildのどの KEYWORDS 値を受け入れさせるかを設定します。この変数は、stable か testing のいずれかをデフォルトとして選択するために使用されます。
どこで変数を設定するか?
この変数は、通常はプロファイルによって自動設定されます。しかし、推奨されることではありませんが、/etc/portage/make.conf 内ではシステム全体に対して、/etc/portage/package.accept_keywords 内ではパッケージ単位で、またコマンドライン上では emerge 実行単位でさえも、変数を上書きすることが可能です。
ACCEPT_KEYWORDS 変数をコマンドラインで上書きすること、例えば ACCEPT_KEYWORDS=<キーワード> emerge -av <パッケージ名> のようなコマンドを使うことは、一般的には悪い方法です。なぜなら、この方法では変数が恒久的には保持されないので、その後、パッケージマネージャーが思わぬ動作をすることがあるからです。
stable と unstable のキーワード
多くのプロファイルでの ACCEPT_KEYWORDS のデフォルト値は、amd64 や arm のように、そのアーキテクチャのみになります。これらの場合、パッケージマネージャーは KEYWORDS にそのアーキテクチャが含まれている ebuild のみをインストール対象として受け付けます。まだ本稼働に向いていない ebuild を使いたいユーザーは、そのアーキテクチャ名の最初に ~
を以下のようにつけてください。
ACCEPT_KEYWORDS="~amd64"
ACCEPT_KEYWORDS はインクリメンタルな変数なので、testing のキーワード (~amd64) を追加する時は、stable のキーワード (amd64) を指定するべきではありません。
システム全体について設定する以外にも、package.accept_keywords のファイル(またはディレクトリ)で、パッケージごとに設定する方法もあります。
# games
games-fps/doomsday ~amd64
さらに package.accept_keywordsでは、ACCEPT_KEYWORDS 変数の通常の値の他に、3種の特別な値が利用可能です。[1]:
*
— そのパッケージにつき、どれかのアーキテクチャで stable になっているものを有効~*
— そのパッケージにつき、どれかのアーキテクチャでテスト中 (unstable) 以上になっているものを有効**
— そのパッケージは全て有効 (KEYWORDS 値を一切無視)
最後の選択肢は、ライブパッケージのバージョン(SVN/Git/Mercurial パッケージバージョン)のために有用です。ライブのebuildは、KEYWORDS変数を持っていないためです。
~arch と ~* の挙動は異なります: ~arch は arch を含みますが、~* は * を含みません。あるパッケージの、いずれかのアーキテクチャで stable または unstable としてマークされている最新のバージョンを使用するためには、"* ~*" を指定してください。
関連項目
- KEYWORDS — KEYWORDS 変数は、その ebuild がどのアーキテクチャ上で安定しているか、あるいはまだテスト段階にあるかを表します。
- ナレッジベース: 特定のパッケージに対してキーワードを許可する
- ナレッジベース: すべてのパッケージに対してキーワードを許可する
参照
- ↑ Portageのマニュアル(2015-01-30 版以降)参照