ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 での Image Packaging System を使用したソフトウェアのパッケージ化および配布 Oracle Solaris 11.1 Information Library (日本語) |
本体に含まれているソフトウェアの一部はオプションであり、一部のユーザーはそれらをインストールする必要がない場合があります。例として、異なるロケール用のローカライズファイル、マニュアルページとその他のドキュメント、開発者または DTrace ユーザーにのみ必要なヘッダーファイルなどがあげられます。
オプションの内容はこれまで、-dev や -devel などの識別子がパッケージ名に付加されている別個のパッケージで配布されていました。管理者は、これらのオプションのパッケージをインストールすることでオプションの内容をインストールしました。この解決方法の問題の 1 つは、管理者が使用可能なパッケージのリストを調べて、オプションのパッケージを見つけ出し、インストールする必要があることです。
IPS では、ファセットと呼ばれるメカニズムを実装して、オプションのパッケージの内容を配布します。ファセットはバリアントに似ています: 各ファセットには名前と値があり、アクションにはさまざまなファセット名の複数のタグを含めることができます。イメージ内では、すべてのファセットのデフォルト値は true であり、特定のファセットの値を true または false のどちらかに明示的に設定できます。ファセット名前空間は階層的です。pkg クライアントは暗黙的に facet.* をイメージに対して true に設定します。イメージ内の特定のファセットの値は、一致するもっとも長いファセット名の値になります。
次の例は、管理者がマニュアルページは含めるが、ほかのすべてのドキュメントはこのイメージへのインストールから除外する方法を示しています。マニュアルページとその他のドキュメントは、管理者がインストールを望んでいるソフトウェアやほかの内容とともに同じパッケージに入っている可能性があります。パッケージマニフェストでは、マニュアルページは facet.doc.man=true でタグ付けされています。ほかのドキュメントアクションは、facet.doc.pdf=true や facet.doc.html=true などでタグ付けされている可能性があります。イメージ内で、管理者は次のコマンドを使用すれば、マニュアルページを含めて、ほかのすべてのドキュメントを除外できます。
# pkg change-facet facet.doc.*=false # pkg change-facet facet.doc.man=true
同様に、パッケージマニフェスト内のアクションは、facet.locale.de=true や facet.locale.fr=true などのロケールファセットでタグ付けできます。次のコマンドでは、このイメージにドイツ語のローカライズ版のみをインストールします。
# pkg change-facet facet.locale.*=false # pkg change-facet facet.locale.de=true
1 つのアクションに複数のファセットタグが含まれている場合、そのアクションはそれらのいずれかのファセットタグの値が true の場合にインストールされます。イメージ内に明示的に設定されているファセットを表示するには、pkg facet コマンドを使用します。
$ pkg facet FACETS VALUE facet.doc.* False facet.doc.man True facet.locale.* False facet.locale.de True
正規表現を使用してさまざまなタイプのファイルを一致させることで、迅速かつ正確にファセットタグをパッケージマニフェストに追加するには、pkgmogrify を使用します。これについては、第 6 章プログラムによるパッケージマニフェストの変更で詳しく説明されています。
ファセットの設定に応じて依存関係のオンとオフを切り替えることで、ファセットを依存関係の管理にも使用できます。facet.version-lock.* については、「制約と凍結」を参照してください。
次のファセットは、ソフトウェア開発者に役立つ可能性があります。
facet.devel facet.locale.es_BO facet.locale.lt_LT facet.doc facet.locale.es_CL facet.locale.lv facet.doc.man facet.locale.es_CO facet.locale.lv_LV facet.doc.pdf facet.locale.es_CR facet.locale.mk facet.doc.info facet.locale.es_DO facet.locale.mk_MK facet.doc.html facet.locale.es_EC facet.locale.ml facet.locale.* facet.locale.es_ES facet.locale.ml_IN facet.locale.af facet.locale.es_GT facet.locale.mr facet.locale.af_ZA facet.locale.es_HN facet.locale.mr_IN facet.locale.ar facet.locale.es_MX facet.locale.ms facet.locale.ar_AE facet.locale.es_NI facet.locale.ms_MY facet.locale.ar_BH facet.locale.es_PA facet.locale.mt facet.locale.ar_DZ facet.locale.es_PE facet.locale.mt_MT facet.locale.ar_EG facet.locale.es_PR facet.locale.nb facet.locale.ar_IQ facet.locale.es_PY facet.locale.nb_NO facet.locale.ar_JO facet.locale.es_SV facet.locale.nl facet.locale.ar_KW facet.locale.es_US facet.locale.nl_BE facet.locale.ar_LY facet.locale.es_UY facet.locale.nl_NL facet.locale.ar_MA facet.locale.es_VE facet.locale.nn facet.locale.ar_OM facet.locale.et facet.locale.nn_NO facet.locale.ar_QA facet.locale.et_EE facet.locale.no facet.locale.ar_SA facet.locale.eu facet.locale.or facet.locale.ar_TN facet.locale.fi facet.locale.or_IN facet.locale.ar_YE facet.locale.fi_FI facet.locale.pa facet.locale.as facet.locale.fr facet.locale.pa_IN facet.locale.as_IN facet.locale.fr_BE facet.locale.pl facet.locale.az facet.locale.fr_CA facet.locale.pl_PL facet.locale.az_AZ facet.locale.fr_CH facet.locale.pt facet.locale.be facet.locale.fr_FR facet.locale.pt_BR facet.locale.be_BY facet.locale.fr_LU facet.locale.pt_PT facet.locale.bg facet.locale.ga facet.locale.ro facet.locale.bg_BG facet.locale.gl facet.locale.ro_RO facet.locale.bn facet.locale.gu facet.locale.ru facet.locale.bn_IN facet.locale.gu_IN facet.locale.ru_RU facet.locale.bs facet.locale.he facet.locale.ru_UA facet.locale.bs_BA facet.locale.he_IL facet.locale.rw facet.locale.ca facet.locale.hi facet.locale.sa facet.locale.ca_ES facet.locale.hi_IN facet.locale.sa_IN facet.locale.cs facet.locale.hr facet.locale.sk facet.locale.cs_CZ facet.locale.hr_HR facet.locale.sk_SK facet.locale.da facet.locale.hu facet.locale.sl facet.locale.da_DK facet.locale.hu_HU facet.locale.sl_SI facet.locale.de facet.locale.hy facet.locale.sq facet.locale.de_AT facet.locale.hy_AM facet.locale.sq_AL facet.locale.de_BE facet.locale.id facet.locale.sr facet.locale.de_CH facet.locale.id_ID facet.locale.sr_ME facet.locale.de_DE facet.locale.is facet.locale.sr_RS facet.locale.de_LI facet.locale.is_IS facet.locale.sv facet.locale.de_LU facet.locale.it facet.locale.sv_SE facet.locale.el facet.locale.it_CH facet.locale.ta facet.locale.el_CY facet.locale.it_IT facet.locale.ta_IN facet.locale.el_GR facet.locale.ja facet.locale.te facet.locale.en facet.locale.ja_JP facet.locale.te_IN facet.locale.en_AU facet.locale.ka facet.locale.th facet.locale.en_BW facet.locale.ka_GE facet.locale.th_TH facet.locale.en_CA facet.locale.kk facet.locale.tr facet.locale.en_GB facet.locale.kk_KZ facet.locale.tr_TR facet.locale.en_HK facet.locale.kn facet.locale.uk facet.locale.en_IE facet.locale.kn_IN facet.locale.uk_UA facet.locale.en_IN facet.locale.ko facet.locale.vi facet.locale.en_MT facet.locale.ko_KR facet.locale.vi_VN facet.locale.en_NZ facet.locale.ks facet.locale.zh facet.locale.en_PH facet.locale.ks_IN facet.locale.zh_CN facet.locale.en_SG facet.locale.ku facet.locale.zh_HK facet.locale.en_US facet.locale.ku_TR facet.locale.zh_SG facet.locale.en_ZW facet.locale.ky facet.locale.zh_TW facet.locale.eo facet.locale.ky_KG facet.locale.es_AR facet.locale.lg