JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 ソフトウェアパッケージの追加および更新     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Image Packaging System の概要

2.  IPS のグラフィカルユーザーインタフェース

3.  ソフトウェアパッケージに関する情報の取得

4.  ソフトウェアパッケージのインストールおよび更新

5.  インストールされるイメージの構成

発行元の構成

発行元情報の表示

パッケージ発行元の追加、変更、削除

オプションのコンポーネントのインストールの制御

バリアント値の表示と変更

ファセット値の表示と変更

指定したバージョンへのパッケージのロック

incorporation によって指定されたバージョン制約の緩和

デフォルトのアプリケーション実装の指定

グループパッケージに含まれる一部のパッケージのインストールの回避

イメージの更新

イメージ更新のベストプラクティス

インストールするバージョンの指定

更新前のバージョン制約の指定

使用可能なパッケージの制約

イメージのダウングレード

その他の更新コマンドオプション

イメージと発行元のプロパティーの構成

ブート環境ポリシーイメージのプロパティー

パッケージの署名のプロパティー

署名付きパッケージのイメージプロパティー

署名付きパッケージの発行元プロパティー

パッケージの署名プロパティーの構成

追加のイメージのプロパティー

イメージのプロパティーの設定

イメージプロパティーの値の表示

イメージプロパティーの値の設定

イメージプロパティーの値のリセット

イメージの作成

操作履歴の表示

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

オプションのコンポーネントのインストールの制御

ソフトウェアには、オプションのコンポーネントや、相互に排他的なコンポーネントが含まれることがあります。オプションのコンポーネントの例には、ロケールやドキュメントがあります。相互に排他的なコンポーネントの例には、SPARC バイナリと x86 バイナリや、デバッグバイナリと非デバッグバイナリなどがあります。IPS では、オプションのコンポーネントをファセット、相互に排他的なコンポーネントをバリアントと呼びます。

ファセットとバリアントはイメージに設定される特殊なプロパティーであり、パッケージ内のアクションに設定されるタグです。ほとんどのバリアントタグは、さまざまな値を持つことができます。アクションに設定されるファセットタグは、値 true のみを持つことができます。アクションのファセットおよびバリアントタグの値とイメージに設定されたファセットおよびバリアントの値の比較により、そのパッケージアクションがインストール可能かどうかを判別します。たとえば、特定のロケールファセットを false に設定した場合、そのファセットを指定しているファイルやほかのアクションはどれもインストールされず、そのファセットを指定している現在インストール済みのファイルはアンインストールされます。

イメージに設定されているファセットとバリアントの現在の値を表示するには、pkg facet コマンドと pkg variant コマンドを使用します。イメージに設定されているファセットとバリアントの値を変更するには、pkg change-facet コマンドと pkg change-variant コマンドを使用します。pkg(1) のマニュアルページと下の例を参照してください。

各ファセットタグおよびバリアントタグには名前と値があります。1 つのアクションに複数のファセットタグおよびバリアントタグを付けることができます。複数のファセットタグやバリアントタグが付くコンポーネントの例として、開発者によって使用されるアーキテクチャー固有のヘッダーファイルや SPARC 大域ゾーン専用のコンポーネントがあります。

バリアントタグの例は variant.arch=sparc です。ファセットタグの例は facet.devel=true です。ファセットとバリアントは、facet. variant. を先頭に付けずに参照されることがよくあります。

ファセットはブール型です。それらには true (有効) または false (無効) のみ設定できます。デフォルトで、イメージ内のすべてのファセットは、true に設定されていると見なされます。アクションのファセットタグの値には true のみを指定すべきであり、それ以外の値では動作が不確定になります。イメージに設定されるファセットは、doc.man などの完全なファセットか、locale.* などのパターンになります。この柔軟性は、ファセット名前空間の一部を無効にし、その中の個々のファセットのみを有効にする場合に役立ちます。たとえば、次の例に示すように、すべてのロケールを無効にしてから、1 つか 2 つの特定のロケールのみを有効にすることができます。

$ pfexec pkg change-facet 'locale.*=false'
[output about packages being updated]
$ pfexec pkg change-facet locale.en_US=true
[output about packages being updated]

ほとんどのバリアントは任意の数の値を設定できます。たとえば、arch バリアントには、i386sparcppcarm、またはディストリビューションがサポートしているどのようなアーキテクチャーでも設定できます。(Oracle Solaris では i386sparc のみが使用されます。)例外は debug バリアントです。debug バリアントは、true または false のみ設定でき、ほかの値では動作が不定になります。ファイルアクションに非デバッグバージョンとデバッグバージョンの両方がある場合、次の例に示すように、両方のバージョンに該当する debug バリアントが明示的に設定されている必要があります。

file group=sys mode=0644 overlay=allow owner=root \
  path=etc/motd pkg.csize=115 pkg.size=103 preserve=true \
  variant.debug.osnet=true

file group=sys mode=0644 overlay=allow owner=root \
  path=etc/motd pkg.csize=68 pkg.size=48 preserve=true \
  variant.debug.osnet=false 

バリアントを使用するパッケージをインストールするために、バリアント値をイメージに設定する必要があります。arch および zone バリアントは、イメージを作成し、その初期コンテンツをインストールするプログラムによって設定されます。イメージ内の debug.* バリアントはデフォルトで false です。

次のアルゴリズムは、イメージに設定されたファセットとバリアントが、特定のアクションがインストールされるかどうかに影響するしくみを示しています。

独自のファセットおよびバリアントタグを作成できます。Oracle Solaris では、次のタグが一般に使用されます。

バリアント名
取り得る値
variant.arch
sparci386
variant.opensolaris.zone
globalnonglobal
variant.debug.*
truefalse

次のリストに、Oracle Solaris で使用される小さなファセットタグの例を示します。

facet.devel             facet.doc
facet.doc.html          facet.doc.info
facet.doc.man           facet.doc.pdf
facet.locale.de         facet.locale.en_GB
facet.locale.en_US      facet.locale.fr
facet.locale.ja_JP      facet.locale.zh_CN

現在のイメージに設定されているバリアントとファセットの値を表示し、現在のイメージのバリアントとファセットを変更できます。バリアントとファセットを変更すると、多数のパッケージが更新され、新しい BE が必要になることがあります。変更する前に、どのような変更が行われるかを確認するには、-nv を使用します。

バリアント値の表示と変更

設定されているバリアントの値を表示するには、pkg variant コマンドを使用します。

/usr/bin/pkg variant [-H] [variant_nsmr ...]
$ pkg variant
VARIANT                  VALUE
variant.opensolaris.zone global
variant.arch             i386
$ pkg variant -H variant.arch
variant.arch i386

バリアントの値を変更するには、pkg change-variant コマンドを使用します。

/usr/bin/pkg change-variant [-nvq] [-C n] [-g path_or_uri ...]
    [--accept] [--licenses] [--no-be-activate]
    [--no-backup-be | --require-backup-be] [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name]
    variant_name=value ...

次のコマンドは、多数のパッケージが影響を受けるため、大量の出力が生成されます。新しい BE はデフォルトで作成されませんが、バックアップ BE が作成される可能性があります。BE が作成される状況については、「ブート環境ポリシーイメージのプロパティー」を参照してください。

大域ゾーンと同時に n 個の非大域ゾーンのバリアントを変更するには、-C オプションを使用します。-C オプションの使用例については、「複数の非大域ゾーンの同時更新」を参照してください。

-n オプションを使用すると、実際の変更を行わずに、この操作を -n なしで実行した場合に何が変更されるかを確認できます。

$ pfexec pkg change-variant -nv --accept 'variant.debug.*=true'
            Packages to update:       851
     Variants/Facets to change:         3
     Estimated space available:  49.88 GB
Estimated space to be consumed: 270.57 MB
       Create boot environment:        No
Create backup boot environment:       Yes
          Rebuild boot archive:        No

Changed variants/facets:
  variant variant.debug.*: true
    facet facet.locale.en_US: None
    facet facet.locale.*: None
Changed packages:
solaris
  ...

ファセット値の表示と変更

設定されているファセットの値を表示するには、pkg facet コマンドを使用します。

/usr/bin/pkg facet [-H] [facet_name ...]
$ pkg facet
FACETS             VALUE
facet.locale.en_US True
facet.locale.en    True
facet.locale.*     False
$ pkg facet -H 'facet.locale.*'
facet.locale.* False

ファセットの値を変更するには、pkg change-facet コマンドを使用します。

/usr/bin/pkg change-facet [-nvq] [-C n] [-g path_or_uri ...]
    [--accept] [--licenses] [--no-be-activate]
    [--no-backup-be | --require-backup-be] [--backup-be-name name]
    [--deny-new-be | --require-new-be] [--be-name name] 
    facet_name=[True|False|None] ...

大域ゾーンと同時に n 個の非大域ゾーンのファセットを変更するには、-C オプションを使用します。-C オプションの使用例については、「複数の非大域ゾーンの同時更新」を参照してください。

-n オプションを使用すると、実際の変更を行わずに、この操作を -n なしで実行した場合に何が変更されるかを確認できます。

ファセットの値を None に設定すると、ファセットの仕様が現在のイメージから削除されます。

次のコマンドは、多数のパッケージが影響を受けるため、大量の出力が生成されます。この操作には、長い時間を必要とする可能性があり、このイメージとパッケージリポジトリ間で大量のネットワークトラフィックが発生する可能性があります。新しい BE はデフォルトで作成されませんが、バックアップ BE が作成される可能性があります。BE が作成される状況については、「ブート環境ポリシーイメージのプロパティー」を参照してください。

$ pfexec pkg change-facet -nv 'facet.locale.*=true'
            Packages to update:      851
     Variants/Facets to change:        1
     Estimated space available: 49.88 GB
Estimated space to be consumed:  3.13 GB
       Create boot environment:       No
Create backup boot environment:      Yes
          Rebuild boot archive:       No

Changed variants/facets:
    facet facet.locale.*: True
Changed packages:
solaris
  ...