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

ドキュメントの情報

はじめに

1.  Image Packaging System の概要

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

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

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

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

発行元の構成

発行元情報の表示

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

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

回避するパッケージのマーキング

省略可能なコンポーネントのインストールの制御

バリアントの表示

バリアントの変更

ファセットの表示

ファセットの変更

イメージの更新

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

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

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

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

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

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

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

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

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

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

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

イメージの作成

操作履歴の表示

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

イメージポリシーを実装するには、イメージのプロパティーを設定します。このセクションでは、イメージと発行元のプロパティーと、これらのプロパティーの設定方法について説明します。イメージプロパティーの説明については、pkg(1) のマニュアルページの「Image Properties」も参照してください。

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

イメージは、IPS パッケージをインストールでき、その他の IPS 操作を実行できる場所です。

ブート環境 (BE) は、イメージのブート可能なインスタンスです。システム上に複数の BE を維持することができ、各 BE にそれぞれ異なるソフトウェアバージョンをインストールすることもできます。システムをブートするとき、システム上の任意の BE にブートすることを選択できます。パッケージ操作の結果として、新しい BE が自動的に作成されることがあります。明示的に新しい BE を作成することもできます。新しい BE が作成されるかどうかは、このセクションで説明するようにイメージポリシーに依存します。

デフォルトで、次のいずれかの操作を実行すると、新しい BE が自動的に作成されます。

新しい BE が作成される場合、システムは次の処理を実行します。

  1. 現在の BE のクローンを作成します。

    クローンの BE には、元の BE のメインのルートデータセットより下の階層にあるすべての要素が格納されます。共有ファイルシステムは、ルートデータセットの下にはなく、複製されません。代わりに、新しい BE は元の共有ファイルシステムにアクセスします。

  2. クローン BE 内のパッケージを更新しますが、現在の BE 内のパッケージは更新しません。

    現在の BE で非大域ゾーンが構成されている場合、これらの既存のゾーンが新しい BE で構成されます。

  3. --no-be-activate が指定されていないかぎり、システムの次回ブート時に、新しい BE をデフォルトのブート選択肢に設定します。現在の BE は代替のブート選択肢として残ります。

新しい BE が必要な一方で、新しい BE を作成するための十分な空き領域がない場合、既存の不要な BE を削除できる場合があります。BE の詳細は、『Oracle Solaris 11 ブート環境の作成と管理』を参照してください。

下に説明するイメージプロパティーの設定の手順については、「イメージのプロパティーの設定」を参照してください。

be-policy

パッケージ操作中にいつブート環境が作成されるかを指定します。次の値が許可されます。

default

デフォルトの BE 作成ポリシー create-backup を適用します。

always-new

次のブート時にアクティブに設定されている新しい BE でパッケージ操作を実行するため、すべてのパッケージ操作に対してリブートを必要とします。明示的に要求されないかぎり、バックアップ BE は作成されません。

このポリシーはもっとも安全ですが、リブートしないとパッケージを追加できないため、ほとんどのサイトの要求よりも厳格です。

create-backup

リブートを必要とするパッケージ操作の場合、このポリシーにより、次のブート時にアクティブに設定される新しい BE が作成されます。パッケージが変更されるか、カーネルに影響する可能性のあるコンテンツがインストールされて操作がライブ BE に影響する場合、バックアップ BE は作成されますがアクティブには設定されません。バックアップ BE を明示的に要求することもできます。

このポリシーは、新しくインストールされたソフトウェアによりシステムが不安定になっている場合にのみ潜在的に危険です。この可能性はありますが、比較的まれです。

when-required

リブートを必要とするパッケージ操作の場合、このポリシーにより、次のブート時にアクティブに設定される新しい BE が作成されます。明示的に要求されないかぎり、バックアップ BE は作成されません。

ライブ BE へのパッケージングの変更によって、それ以上の変更が不可能になる場合、最新の代替 BE が存在しない可能性があるため、このポリシーには最大のリスクがあります。

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

署名付きパッケージをインストールする場合は、このセクションで説明するイメージプロパティーと発行元プロパティーを、パッケージの署名を検証するように設定します。

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

次のイメージプロパティーを、署名付きパッケージを使用するように構成します。

signature-policy

このプロパティーの値により、イメージ内のパッケージのインストール、更新、変更、または検証時に、マニフェストに実行されるチェックが決まります。パッケージに適用される最終的なポリシーは、イメージポリシーと発行元ポリシーの組み合わせに依存します。この組み合わせの厳格さは、少なくとも、この 2 つのポリシーが個別に適用された場合の厳格な方と同じです。デフォルトでは、パッケージクライアントは証明書が失効済みかどうかをチェックしません。そのようなチェック (クライアントから外部 Web サイトへのアクセスが必要な場合がある) を有効にするには、check-certificate-revocation イメージプロパティーを true に設定します。次の値が許可されます。

ignore

すべてのマニフェストの署名を無視します。

verify

署名が含まれているすべてのマニフェストが有効に署名されていることを確認しますが、インストール済みパッケージがすべて署名されている必要はありません。

これがデフォルト値です。

require-signatures

新しくインストールされたすべてのパッケージに、有効な署名が少なくとも 1 つ含まれている必要があります。インストール済みパッケージに有効な署名が含まれていない場合は、pkg fix および pkg verify コマンドでも警告が表示されます。

require-names

require-signatures と同じ要件に従いますが、signature-required-names イメージプロパティーで一覧表示される文字列が、署名の信頼のチェーンを検証するために使用される証明書の共通名としても表示される必要があります。

signature-required-names

このプロパティーの値は、パッケージの署名の検証中に、証明書の共通名として表示される必要のある名前の一覧です。

trust-anchor-directory

このプロパティーの値は、イメージのトラストアンカーを含むディレクトリのパス名です。このパスはイメージに対して相対的です。

デフォルト値は ignore です。

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

次の発行元プロパティーを、特定の発行元からの署名付きパッケージを使用するように構成します。

signature-policy

このプロパティーの機能は、このプロパティーが指定した発行元からのパッケージにのみ適用される点を除き、signature-policy イメージプロパティーの機能と同じです。

signature-required-names

このプロパティーの機能は、このプロパティーが指定した発行元からのパッケージにのみ適用される点を除き、signature-required-names イメージプロパティーの機能と同じです。

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

このイメージのパッケージの署名プロパティーを設定するには、set-propertyadd-property-valueremove-property-value、および unset-property サブコマンドを使用します。

特定の発行元の署名ポリシーと必要な名前を指定するには、set-publisher サブコマンドの --set-property--add-property-value--remove-property-value、および --unset-property オプションを使用します。

次の例は、このイメージで、すべてのパッケージが署名されることを必須にするように構成します。また、この例では、信頼のチェーン内のいずれかの証明書の共通名として文字列「oracle.com」が表示されることも必須にします。

# pkg set-property signature-policy require-names oracle.com

次の例は、このイメージで、署名されたすべてのパッケージが検証されることを必須にするように構成します。

# pkg set-property signature-policy verify

次の例は、このイメージで、発行元 example.com からインストールされたすべてのパッケージが署名されることを必須にするように構成します。

# pkg set-publisher --set-property signature-policy=require-signatures example.com

次の例は、必要な署名を追加します。この例では、有効と見なされるには、署名の信頼のチェーンに表示される必要のあるイメージの共通名の一覧に文字列 trustedname を追加します。

# pkg add-property-value signature-require-names trustedname

次の例は、必要な署名を削除します。この例では、有効と見なされるには、署名の信頼のチェーンに表示される必要のあるイメージの共通名の一覧から文字列 trustedname を削除します。

# pkg remove-property-value signature-require-names trustedname

次の例は、指定した発行元の必要な署名を追加します。この例では、有効と見なされるには、署名の信頼のチェーンに表示される必要のある発行元 example.com の共通名の一覧に文字列 trustedname を追加します。

# pkg set-publisher --add-property-value \
signature-require-names=trustedname example.com

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

ca-path

SSL 操作用の CA 証明書が格納されたディレクトリを指すパス名を指定します。このディレクトリの形式は、ベースとなる SSL 実装に固有です。信頼できる CA 証明書のために別の場所を使用するには、別のディレクトリを指すようにこの値を変更します。CA ディレクトリの要件については、SSL_CTX_load_verify_locations(3openssl) の CApath に関する項目を参照してください。

デフォルト値は /etc/openssl/certs です。

check-certificate-revocation

True に設定すると、パッケージクライアントは、署名検証のために使用される証明書の CRL 配布ポイントへのアクセスを試み、発行時よりもあとに証明書が失効していないかどうかを調べます。

デフォルト値は False です。

flush-content-cache-on-success

True に設定すると、パッケージクライアントは、インストールまたは更新操作の完了時にその内容キャッシュ内のファイルを削除します。更新操作の場合、内容はソース BE からのみ削除されます。出力先 BE でパッケージ操作が次に発生したとき、このオプションが変更されていなければ、パッケージクライアントはその内容キャッシュをフラッシュします。

このプロパティーを使用して、ディスク容量の限られたシステムで内容キャッシュを小さく保つことができます。このプロパティーを使用すると、操作が完了するまでの時間が長くなる可能性があります。

デフォルト値は True です。

mirror-discovery

このプロパティーは、mDNS および DNS-SD を使用してリンクローカル内容ミラーを検出するようにクライアントに命令します。このプロパティーを True に設定すると、クライアントはミラーを動的に検出し、そのミラーからパッケージ内容のダウンロードを試みます。mDNS を介してその内容を通知するミラーの実行方法については、pkg.depotd(1m) を参照してください。

デフォルト値は False です。

send-uuid

ネットワーク操作の実行時にイメージの汎用一意識別子 (UUID) を送信します。ユーザーはこのオプションを無効にできますが、一部のネットワークリポジトリは UUID を供給しないクライアントとのやり取りを拒否する場合があります。

デフォルト値は True です。

use-system-repo

このプロパティーではシステムリポジトリを、イメージおよび発行元の構成のソースとして、および提供された発行元と通信するためのプロキシとしてイメージで使用するべきかどうかを指定します。システムリポジトリについては、pkg.sysrepo(1m) を参照してください。

デフォルト値は ignore です。

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

このイメージのプロパティーを設定するには、set-propertyadd-property-valueremove-property-value、および unset-property サブコマンドを使用します。

/usr/bin/pkg property [-H] [propname ...]
/usr/bin/pkg set-property propname propvalue
/usr/bin/pkg add-property-value propname propvalue
/usr/bin/pkg remove-property-value propname propvalue
/usr/bin/pkg unset-property propname ...

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

イメージのプロパティーを表示するには、pkg property コマンドを使用します。

$ pkg property
PROPERTY                       VALUE
be-policy                      default
ca-path                        /etc/openssl/certs
check-certificate-revocation   False
display-copyrights             True
flush-content-cache-on-success False
mirror-discovery               False
preferred-authority            solaris
publisher-search-order         ['solaris', 'opensolaris.org', 'extra']
pursue-latest                  True
send-uuid                      True
signature-policy               verify
signature-required-names       []
trust-anchor-directory         etc/certs/CA
use-system-repo                False

preferred-authority および publisher-search-order プロパティーは、pkg set-publisher コマンドオプションを使用して設定できます。「パッケージ発行元の追加、変更、削除」を参照してください。

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

イメージプロパティーの値を設定したり、プロパティーを追加して設定したりするには、pkg set-property コマンドを使用します。

次の例では、mirror-discovery プロパティーの値を設定します。

# pkg set-property mirror-discovery True
# pkg property -H mirror-discovery
mirror-discovery True

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

指定したプロパティーの値をそのデフォルト値にリセットするには、pkg unset-property コマンドを使用します。

# pkg unset-property mirror-discovery
$ pkg property -H mirror-discovery
mirror-discovery False