[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gentoojp-docs 587] Masked Packages FAQ



  はじめまして、かもと申します。

  「Portage ユーザガイド」からリンクが張られている Masked Packages の
FAQ (https://forums.gentoo.org/viewtopic.php?t=33534) を訳してみました。

  改行位置やタグはあちこち変えてあります。
  うちの環境 (XEmacs 21.4 の psgml.el かな?) だとなぜか「/」で警告が出
るので「/」に置き換えました。

  ML を見ていると mask 関連の質問がよく出るようなので訳文が
gentoo.gr.jp なり gentoo.org なりにあった方がいいと思うんですが、いか
がでしょう?
  forum かメールで著者に許可を得る → XML に整形 → 再度ここで査読 →
web に置く、といった感じで進めていけばいいでしょうか。

             *------------==================------------*
  ≡   ≡
    .   .  『n 長 m 短』
C    ▼                             加茂智之 ◇ kamo@xxxxxxxxxxxxxx
Title: Gentoo Forums :: View topic - GF5: Masked Packages
GF5: mask されたパッケージって何?

特別な行動を取らない限りシステムにインストールされないパッケージ。 /usr/portage/profiles/package.mask にエントリを書くとパッケージは maske される。かつては、パッケージを mask する方法はこれ以外になかった。 package.mask で mask に設定されているパッケージをインストールするには、そのパッケージ の行をコメントアウトすればよい。 package.mask は "emerge sync" で上書きされるため、sync すると変更点が保存されないこ とに注意。 これに対するいくつかの回避策が emerge overwrites packages.mask にある。 packages.mask にエントリを追加すれば、問題のあるパッケージを mask することもできる。

パッケージを mask するより新しい方法は、ebuild ファイル中で KEYWORDS を宣言する ことだ。 それぞれのアーキテクチャ (x86, ppc, sparc, sparc64, alpha) ごとに、'-arch' のマーク で "動かない"を、'~arch' で "unstable" を、'arch' で "stable" を意味する。 unstable な ebuild に対するあなたの寛容度を /etc/make.conf の中の ACCEPT_KEYWORDS で定義できる。 例えば、ACCEPT_KEYWORDS="~x86" とすると x86 アーキテクチャで unstable なパッケージを 受け入れることになる。 デフォルトの profile では stable なパッケージのみを受け入れるよう設定されている。 ACCEPT_KEYWORDS はコマンドラインでも設定できる。 例:
Code:
ACCEPT_KEYWORDS="~x86" emerge -pv unstablepackage
'=' の左右に空白を入れないよう注意。

現時点では ACCEPT_KEYWORDS をパッケージ (群) に "貼り付ける" 方法はないため、stable なパッケージと unstable なパッケージを混在させるのはいくぶん複雑になってしまう。 うまくいけば "変数貼り付け機能" が Portage に実装されるだろう。 この件に興味がある方は bug #3252 を参照。

ebuild へのフルパスを emerge に渡すことはいつでもできる。 これにより mask のチェックをすべて飛ばしてインストールできる。 これが mask されているパッケージをインストールするもう一つの手っ取り早い方法だ。 この手法には依存性チェックも飛ばしてしまったり world ファイルへ記録しそこなったりと いうマイナスの面もあるので、一般的な使用には勧められない。

Portage の 2.0.48 以上を使っているなら、package.mask を変更せずに mask されたパッケー ジをインストールするという別な選択肢がある。 /etc/portage/package.unmask ファイルに category/package のエントリを 追加でき、"emerge sync" しても影響を受けない。

望むなら、パッケージをローカルで mask することもできる。Portage 2.0.48 の古いバー ジョンでは、これをするファイルは /etc/portage/profiles/package.mask である。Portage 2.0.48-r4 以上では、このファイルは /etc/portage/package.mask に移動された。

どのバージョンのパッケージが利用可能かの概要を見るには、gentoolkit パッケージに含ま れる "etcat" コマンドを使うとよい。 例:
Code:
etcat -v package


Credits: TRauMa は override と etcat の段落のコマンドラインのサンプルを提案した。