ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 ソフトウェアパッケージの追加および更新 Oracle Solaris 11.1 Information Library (日本語) |
イメージポリシーを実装するには、イメージのプロパティーを設定します。このセクションでは、イメージと発行元のプロパティーと、これらのプロパティーの設定方法について説明します。イメージプロパティーの説明については、pkg(1) のマニュアルページの「Image Properties」も参照してください。
イメージは、IPS パッケージをインストールでき、その他の IPS 操作を実行できる場所です。
ブート環境 (BE) は、イメージのブート可能なインスタンスです。システム上に複数の BE を維持することができ、各 BE にそれぞれ異なるソフトウェアバージョンをインストールすることもできます。システムをブートするとき、システム上の任意の BE にブートすることを選択できます。パッケージ操作の結果として、新しい BE が自動的に作成されることがあります。明示的に新しい BE を作成することもできます。新しい BE が作成されるかどうかは、このセクションで説明するようにイメージポリシーに依存します。
デフォルトで、次のいずれかの操作を実行すると、新しい BE が自動的に作成されます。
一部のドライバやその他のカーネルコンポーネントなど、特定のキーシステムパッケージを更新する。これは、インストール、アンインストール、更新、バリアントの変更、またはファセットの変更を行うときに発生する可能性があります。
pkg update コマンドを実行して、利用可能な更新があるすべてのパッケージを更新すると、多くの場合、新しい BE が作成されます。
--be-name、--require-new-be、--backup-be-name、--require-backup-be のいずれかのオプションを指定する。
be-policy イメージポリシーを always-new に設定する。このポリシーでは、次のブート時にアクティブに設定されている新しい BE で、すべてのパッケージ操作が実行されます。
新しい BE が作成される場合、システムは次の処理を実行します。
現在の BE のクローンを作成します。
クローンの BE には、元の BE のメインのルートデータセットより下の階層にあるすべての要素が格納されます。共有ファイルシステムは、ルートデータセットの下にはなく、複製されません。代わりに、新しい BE は元の共有ファイルシステムにアクセスします。
クローン BE 内のパッケージを更新しますが、現在の BE 内のパッケージは更新しません。
現在の BE で非大域ゾーンが構成されている場合、これらの既存のゾーンが新しい BE で構成されます。
--no-be-activate が指定されていないかぎり、システムの次回ブート時に、新しい BE をデフォルトのブート選択肢に設定します。現在の BE は代替のブート選択肢として残ります。
新しい BE が必要な一方で、新しい BE を作成するための十分な空き領域がない場合、既存の不要な BE を削除できる場合があります。BE の詳細は、『Oracle Solaris 11.1 ブート環境の作成と管理』を参照してください。
下に説明するイメージプロパティーの設定の手順については、「イメージのプロパティーの設定」を参照してください。
パッケージ操作中にいつ BE が作成されるかを指定します。次の値が許可されます。
デフォルトの BE 作成ポリシー create-backup を適用します。
次のブート時にアクティブに設定されている新しい BE でパッケージ操作を実行するため、すべてのパッケージ操作に対してリブートを必要とします。明示的に要求されないかぎり、バックアップ BE は作成されません。
このポリシーはもっとも安全ですが、リブートしないとパッケージを追加できないため、ほとんどのサイトの要求よりも厳格です。
リブートを必要とするパッケージ操作の場合、このポリシーにより、次のブート時にアクティブに設定される新しい BE が作成されます。パッケージが変更されるか、カーネルに影響する可能性のあるコンテンツがインストールされて操作がライブ BE に影響する場合、バックアップ BE は作成されますがアクティブには設定されません。バックアップ BE を明示的に要求することもできます。
このポリシーは、新しくインストールされたソフトウェアによりシステムが不安定になっている場合にのみ潜在的に危険です。この可能性はありますが、比較的まれです。
リブートを必要とするパッケージ操作の場合、このポリシーにより、次のブート時にアクティブに設定される新しい BE が作成されます。明示的に要求されないかぎり、バックアップ BE は作成されません。
ライブ BE へのパッケージングの変更によって、それ以上の変更が不可能になる場合、最新の代替 BE が存在しない可能性があるため、このポリシーには最大のリスクがあります。
署名付きパッケージをインストールする場合は、このセクションで説明するイメージプロパティーと発行元プロパティーを、パッケージの署名を検証するように設定します。
次のイメージプロパティーを、署名付きパッケージを使用するように構成します。
このプロパティーの値により、イメージ内のパッケージのインストール、更新、変更、または検証時に、マニフェストに実行されるチェックが決まります。パッケージに適用される最終的なポリシーは、イメージポリシーと発行元ポリシーの組み合わせに依存します。この組み合わせの厳格さは、少なくとも、この 2 つのポリシーが個別に適用された場合の厳格な方と同じです。デフォルトでは、パッケージクライアントは証明書が失効済みかどうかをチェックしません。そのようなチェック (クライアントから外部 Web サイトへのアクセスが必要な場合がある) を有効にするには、check-certificate-revocation イメージプロパティーを true に設定します。次の値が許可されます。
すべてのマニフェストの署名を無視します。
署名が含まれているすべてのマニフェストが有効に署名されていることを確認しますが、インストール済みパッケージがすべて署名されている必要はありません。
これがデフォルト値です。
新しくインストールされたすべてのパッケージに、有効な署名が少なくとも 1 つ含まれている必要があります。インストール済みパッケージに有効な署名が含まれていない場合は、pkg fix および pkg verify コマンドでも警告が表示されます。
require-signatures と同じ要件に従いますが、signature-required-names イメージプロパティーで一覧表示される文字列が、署名の信頼のチェーンを検証するために使用される証明書の共通名としても表示される必要があります。
このプロパティーの値は、パッケージの署名の検証中に、証明書の共通名として表示される必要のある名前の一覧です。
次の発行元プロパティーを、特定の発行元からの署名付きパッケージを使用するように構成します。
このプロパティーの機能は、このプロパティーが指定した発行元からのパッケージにのみ適用される点を除き、signature-policy イメージプロパティーの機能と同じです。
このプロパティーの機能は、このプロパティーが指定した発行元からのパッケージにのみ適用される点を除き、signature-required-names イメージプロパティーの機能と同じです。
このイメージのパッケージの署名プロパティーを構成するには、set-property、add-property-value、remove-property-value、および unset-property サブコマンドを使用します。
特定の発行元の署名ポリシーと必要な名前を指定するには、set-publisher サブコマンドの --set-property、--add-property-value、--remove-property-value、および --unset-property オプションを使用します。
次の例は、このイメージで、すべてのパッケージが署名されることを必須にするように構成します。また、この例では、信頼のチェーン内のいずれかの証明書の共通名として文字列「oracle.com」が表示されることも必須にします。
$ pfexec pkg set-property signature-policy require-names oracle.com
次の例は、このイメージで、署名されたすべてのパッケージが検証されることを必須にするように構成します。
$ pfexec pkg set-property signature-policy verify
次の例は、このイメージで、発行元 example.com からインストールされたすべてのパッケージが署名されることを必須にするように構成します。
$ pfexec pkg set-publisher --set-property signature-policy=require-signatures example.com
次の例は、必要な署名を追加します。この例では、有効と見なされるには、署名の信頼のチェーンに表示される必要のあるイメージの共通名の一覧に文字列 trustedname を追加します。
$ pfexec pkg add-property-value signature-require-names trustedname
次の例は、必要な署名を削除します。この例では、有効と見なされるには、署名の信頼のチェーンに表示される必要のあるイメージの共通名の一覧から文字列 trustedname を削除します。
$ pfexec pkg remove-property-value signature-require-names trustedname
次の例は、指定した発行元の必要な署名を追加します。この例では、有効と見なされるには、署名の信頼のチェーンに表示される必要のある発行元 example.com の共通名の一覧に文字列 trustedname を追加します。
$ pfexec pkg set-publisher --add-property-value \ signature-require-names=trustedname example.com
SSL 操作用の CA 証明書が格納されたディレクトリを指すパス名を指定します。このディレクトリの形式は、ベースとなる SSL 実装に固有です。信頼できる CA 証明書のために別の場所を使用するには、別のディレクトリを指すようにこの値を変更します。CA ディレクトリの要件については、SSL_CTX_load_verify_locations(3openssl) の CApath に関する項目を参照してください。
デフォルト値は /etc/openssl/certs です。
True に設定すると、パッケージクライアントは、署名検証のために使用される証明書の CRL 配布ポイントへのアクセスを試み、発行時よりもあとに証明書が失効していないかどうかを調べます。
デフォルト値は False です。
True に設定すると、パッケージクライアントは、インストールまたは更新操作の完了時にその内容キャッシュ内のファイルを削除します。更新操作の場合、内容はソース BE からのみ削除されます。出力先 BE でパッケージ操作が次に発生したとき、このオプションが変更されていなければ、パッケージクライアントはその内容キャッシュをフラッシュします。
このプロパティーを使用して、ディスク容量の限られたシステムで内容キャッシュを小さく保つことができます。このプロパティーを使用すると、操作が完了するまでの時間が長くなる可能性があります。
デフォルト値は True です。
このプロパティーは、mDNS および DNS-SD を使用してリンクローカル内容ミラーを検出するようにクライアントに命令します。このプロパティーを True に設定すると、クライアントはミラーを動的に検出し、そのミラーからパッケージ内容のダウンロードを試みます。mDNS を介してその内容を通知するミラーを実行するには、pkg.depotd(1M) を参照してください。
デフォルト値は False です。
ネットワーク操作の実行時にイメージの汎用一意識別子 (UUID) を送信します。ユーザーはこのオプションを無効にできますが、一部のネットワークリポジトリは UUID を供給しないクライアントとのやり取りを拒否する場合があります。
デフォルト値は True です。
このプロパティーの値は、イメージのトラストアンカーを含むディレクトリのパス名です。このパスはイメージに対して相対的です。
デフォルト値は ignore です。
このプロパティーではシステムリポジトリを、イメージおよび発行元の構成のソースとして、および提供された発行元と通信するためのプロキシとしてイメージで使用するべきかどうかを指定します。システムリポジトリについては、pkg.sysrepo(1M) を参照してください。
デフォルト値は ignore です。
このイメージのプロパティーを構成するには、set-property、add-property-value、remove-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 flush-content-cache-on-success False mirror-discovery False preferred-authority solaris publisher-search-order ['solaris', 'isvpub'] 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 プロパティーの値を設定します。
$ pfexec pkg set-property mirror-discovery True $ pkg property -H mirror-discovery mirror-discovery True
指定したプロパティーの値をそのデフォルト値にリセットするには、pkg unset-property コマンドを使用します。
$ pfexec pkg unset-property mirror-discovery $ pkg property -H mirror-discovery mirror-discovery False