Go to main content
Oracle® Solaris 11.3 ソフトウェアの追加と更新

印刷ビューの終了

更新: 2017 年 3 月
 
 

IPS の概念

このセクションでは、IPS に関連する用語および概念を定義します。

IPS パッケージ

IPS パッケージマニフェストというテキストファイルで定義します。パッケージマニフェストには、鍵/値のペアとおそらくデータペイロードの定義された形式でパッケージアクションが記述されます。パッケージアクションには、ファイル、ディレクトリ、リンク、ドライバ、依存関係、グループ、ユーザー、ライセンス情報が含まれます。パッケージアクションは、パッケージのインストール可能なオブジェクトを表します。set アクションと呼ばれるアクションは、分類、サマリー、説明などのパッケージメタデータを定義します。

パッケージアクションおよびアクションキーを指定して、パッケージを検索できます。パッケージアクションの説明については、Package Content: Actions in Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.3または pkg(5) マニュアルページを参照してください。

制約パッケージおよびグループパッケージは、ファイルなどの内容を提供しません。制約パッケージおよびグループパッケージは、関連するパッケージのセットのインストールに役立つ依存関係を指定します。

制約パッケージ

制約パッケージは、互換性を持つパッケージバージョンスペース内にサーフェスを定義するために incorporate 依存関係を指定します。制約パッケージは、同時に作成されるソフトウェアパッケージのセットを定義するために使用され、個別にバージョン管理されません。incorporate 依存関係は、ソフトウェアの互換性のあるバージョンがまとめてインストールされるようにするために Oracle Solaris でよく使用されます。

incorporate 依存関係は、このイメージ内にインストールできる、そのパッケージのバージョンを制約します。パッケージは、incorporate 依存関係として指定するだけではインストールされません。パッケージをほかの何らかの方法でインストールする場合は (たとえば、require 依存関係でもある場合や、パッケージを明示的にインストールする場合)、incorporate 依存関係によって規定されたバージョンのみをインストールできます。たとえば、インストールされた制約パッケージ内で incorporate 依存関係として指定されたパッケージがバージョン値 1.4.3 を持つ場合、1.4.3 未満か 1.4.4 以上のバージョン値を持つそのパッケージのバージョンをインストールすることはできません。たとえば、バージョン値 1.4.3.7 を持つパッケージのバージョンはインストールできます。

制約パッケージ内で incorporate 依存関係として指定されているパッケージ自体が、制約パッケージの場合もあります。このように、制約パッケージのマニフェスト内でパッケージが指定されていない場合でも、多くのパッケージが制約パッケージによって影響を受ける可能性があります。そのインストールが制約パッケージによって影響を受けるパッケージは、その制約パッケージによって制約されます。制約パッケージ B-constraintincorporate 依存関係を持つ制約パッケージ A-constraint を更新すると、B-constraint と、B-constraint によって制約されているほかのすべてのパッケージも更新されます。B-constraintA-constraint とは別に更新しようとすると、エラーになることがあります。

制約パッケージは、使用中のサポート可能なイメージを容易に維持できるようにするために、制約されたパッケージを同期的に強制アップグレードします。一般的に、制約パッケージの incorporate 依存関係であるパッケージをインストールしたり更新したりしてはいけません。代わりに、制約パッケージを更新する必要があります。制約されているパッケージはアンインストールできますが、制約されているパッケージをインストールまたは更新する場合、バージョンが制約されます。関連情報については、Relaxing Version Constraints Specified by Constraint Packagesを参照してください。

pkg:/entire パッケージは、ほかの多くの制約パッケージ上の incorporate 依存関係を指定して、イメージにインストールされているほとんどのシステムソフトウェアのバージョンを制約する特殊な制約パッケージです。


Caution

注意  -  pkg:/ パッケージを削除しないでください。pkg:/ パッケージは、システムパッケージのバージョンを制約して、結果として得られるパッケージセットがサポート可能なイメージになるようにします。適切なシステム更新と正しいパッケージ選択は、この制約パッケージに依存します。pkg:/ パッケージを削除すると、サポートされないシステムになります。


グループパッケージ

グループパッケージは、機能やツールを構成する一連のパッケージを指定します。グループパッケージをインストールすると、そのグループパッケージ内のすべての group 依存関係パッケージがインストールされます。グループパッケージ内で group 依存関係としてに指定されたパッケージは、パッケージのバージョンを指定しません。グループパッケージは、コンテンツ管理ツールであり、バージョン管理ツールではありません。

グループパッケージは、それらの group 依存関係に指定されているパッケージを提供しますが、それらのパッケージがすでにインストールされているか、回避リストに含まれている場合は除きます。回避リストについては、Avoiding Installing Some Packages in a Group Packageを参照してください。

たとえば、group/feature/storage-server パッケージは、ストレージに関連するドライバ、サービス、ファイルシステム、I/O コンポーネント、ライブラリ、およびユーティリティーを提供します (これらがまだインストールされていない場合)。group/system/solaris-minimal-server パッケージは、サポートされる Oracle Solaris 環境に最低限必要なパッケージのセットを提供します。グループパッケージで提供されているすべてのパッケージを一覧表示する方法の例については、Listing All Installable Packages in a Group Packageを参照してください。

グループパッケージをアンインストールしても、group 依存関係内に指定されているすべてのパッケージが必ずしもアンインストールされるわけではありません。グループパッケージをアンインストールするとき、ほかのソフトウェアによって必要とされているパッケージで依然としてインストールされているものは、アンインストールされません。

障害管理リソース識別子

それぞれのパッケージは障害管理リソース識別子 (FMRI) によって表されます。パッケージの完全な FMRI は、次の形式のスキーム、パブリッシャー、パッケージ名、およびバージョン文字列で構成されます。

scheme://publisher/name@version

スキーム、パブリッシャー、およびバージョン文字列はオプションです。 IPS コマンドオペランドでは、パッケージを一意的に識別するパッケージ名の最小部分を使用することができ、? および * の文字を、1 つ以上のパッケージと一致させるための glob(3C) スタイルのワイルドカードとして使用できます。

すべての IPS パッケージ FMRI のスキームは pkg です。suri ストレージライブラリの次のサンプルパッケージ FMRI では、solaris がパブリッシャー、system/library/storage/suri がパッケージ名、0.5.11,5.11-0.175.3.0.0.19.0:20150329T164922Z がバージョンです。

pkg://solaris/system/library/storage/suri@0.5.11,5.11-0.175.3.0.0.19.0:20150329T164922Z
スキーム

pkg

パブリッシャー

solaris

パブリッシャーを指定する場合、パブリッシャー名の前に pkg:// または // を付ける必要があります。

パッケージ名

system/library/storage/suri

パッケージ名は、スラッシュ (/) 文字で区切られた任意の数のコンポーネントから成る階層形式です。IPS コマンドでは、コマンドで使用するパッケージ名によってそのパッケージが一意に識別される場合、パッケージ名の前のコンポーネントは省略できます。完全なパッケージ名を指定するがパブリッシャーは省略する場合、完全なパッケージ名の前に、pkg:// または // ではなく、pkg:/ または / を付けることができます。短縮したパッケージ名を指定する場合は、パッケージ名の左側にほかの文字を使用しないでください。

バージョン

バージョン文字列は次の 4 つの部分で構成され、タイムスタンプの形式は dateTtimeZ です。

component_version,release-branch_version:time_stamp
コンポーネントバージョン: 0.5.11

オペレーティングシステムに緊密に結合されたコンポーネントの場合、コンポーネントバージョンは通常、そのバージョンのオペレーティングシステムでの uname -r の値を含みます。独自の開発ライフサイクルを持つコンポーネントの場合、コンポーネントバージョンはドットで区切られたリリース番号 (2.2.29 など) です。

リリース: 5.11

リリースはコンマ (,) のあとに続ける必要があります。リリースは、パッケージの内容が構築されたオペレーティングシステムのバージョンを指定します。

ブランチバージョン: 0.175.3.0.0.19.0

ブランチバージョンはハイフン (-) の後に続ける必要があります。ブランチバージョンはベンダー固有の情報を提供します。

Oracle Solaris パッケージでは、パッケージ FMRI のバージョン文字列のブランチバージョン部分に次の情報が示されます。

メジャーリリース番号: 0.175

メジャーまたはマーケティング開発リリースのビルド番号。この例では、0.175 は Oracle Solaris 11 を示します。

更新リリース番号: 3

この Oracle Solaris リリースの更新リリース番号。更新値は、Oracle Solaris リリースの FCS (First Customer Shipment) では 0、そのリリースの最初の更新では 1、そのリリースの 2 回目の更新では 2 というようになります。この例では、3 は Oracle Solaris 11.3 を示します。

SRU 番号: 0

この更新リリースのサポート・リポジトリの更新 (SRU) 番号。SRU はほぼ 1 か月に 1 回、更新され、バグを修正したり、セキュリティーの問題を修正したり、新しいハードウェアに対するサポートを提供します。SRU に新機能は含まれません。Oracle サポート・リポジトリはサポート契約下のシステムでのみ使用できます。

予約済み: 0

このフィールドは、Oracle Solaris パッケージで現在使用されていません。

リリースまたは SRU ビルド番号: 19

SRU のビルド番号、またはメジャーリリースの更新番号。

ナイトリービルド番号: 0

個々のナイトリービルドのビルド番号。

パッケージが IDR (Interim Diagnostic or Relief) 更新である場合、パッケージ FMRI のブランチバージョンには次の 2 つの追加フィールドが含まれます。IDR は、正式なパッケージ更新が発行されるまで、顧客の問題の診断を支援したり、問題の一時的な解決策を提供したりするためのパッケージ更新です。IDR の詳細については、Installing an IDR Custom Software Updateを参照してください。次の例は idr824 (FMRI pkg://solaris/idr824@4,5.11:20131114T034951Z を含む) についてのもので、pkg:/system/library@0.5.11-0.175.1.6.0.4.2.824.4 などのパッケージを含んでいます。

IDR: 824

IDR の名前。

IDR ID: 4

IDR のバージョン。

タイムスタンプ: 20150329T164922Z

タイムスタンプはコロン (:) の後に続ける必要があります。タイムスタンプは、ISO-8601 基本形式 (YYYYMMDDTHHMMSSZ) のパッケージが発行された日時です。

パブリッシャー、リポジトリ、およびパッケージアーカイブ

パブリッシャーは、1 つ以上のパッケージを提供する人または組織を示します。パブリッシャーは、パッケージリポジトリまたはパッケージアーカイブを使用してパッケージを配布できます。パブリッシャーは、好きな検索順序で構成できます。パッケージインストールコマンドを指定し、パッケージ仕様にパブリッシャーの名前が含まれない場合、そのパッケージに対して、検索順序の先頭のパブリッシャーが検索されます。指定されたパッケージ FMRI パターンに一致するものが見つからない場合は、検索順序の 2 番目のパブリッシャーが検索されるというように、パッケージが見つかるか、すべてのパブリッシャーが検索されるまで繰り返されます。

リポジトリは、パッケージが公開される場所であり、またそれらのパッケージが取得される場所です。場所は URI (Universal Resource Identifier) によって指定されます。カタログは、リポジトリ内のすべてのパッケージのリストです。

パッケージアーカイブは、パブリッシャーの情報と、そのパブリッシャーによって提供された 1 つ以上のパッケージを含むファイルです。

リポジトリの起点とミラー

起点は、パッケージのメタデータ (カタログ、マニフェスト、検索インデックスなど) とパッケージの内容 (ファイル) の両方を含むパッケージリポジトリです。イメージ内の特定のパブリッシャーに対して複数の起点が構成されている場合、IPS クライアントは、パッケージデータの取得元として最適な起点を選択しようとします。

ミラーは、パッケージの内容のみを含むパッケージリポジトリです。ミラーリポジトリからパッケージをインストールおよび更新する IPS クライアントは、起点リポジトリからメタデータをダウンロードする必要があります。IPS クライアントがパッケージのコンテンツをミラーからダウンロードする場合でも、クライアントはパブリッシャーのカタログを取得するために起点にアクセスします。パブリッシャーに対してミラーが構成されている場合、IPS クライアントは、パッケージの内容の取得にミラーを優先します。イメージ内の特定のパブリッシャーに対して複数のミラーが構成されている場合、IPS クライアントは、パッケージの内容の取得元として最適なミラーを選択しようとします。すべてのミラーにアクセスできない、必要な内容がない、または遅くなる場合、IPS クライアントは起点から内容を取得します。詳細は、pkg(5) マニュアルページのパブリッシャーおよびリポジトリに関するセクションを参照してください。


注 -  ミラーリポジトリとして指定されたリポジトリの内容とメタデータの両方が完全であっても、同じパッケージの同じバージョンが、同じパブリッシャーの起点リポジトリ内にも存在しないかぎり、そのミラーリポジトリの内容にアクセスすることはできません。

イメージとブート環境

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

ブート環境 (BE) は、イメージのブート可能なインスタンスです。物理または仮想システム上に複数の BE を維持することができ、異なるオペレーティングシステムバージョンなどの異なるソフトウェアバージョンを各 BE にインストールできます。システムをブートするとき、システム上の任意の BE にブートすることを選択できます。パッケージ操作の結果として、新しい BE が自動的に作成されることがあります。新しい BE が自動的に作成されるかどうかは、Boot Environment Policy Image Propertiesで説明するように、イメージポリシーに依存します。また、Boot Environment Optionsに記載されているオプションを指定することによって、新しい BE を明示的に作成することもできます。新規 BE を作成するための beadm コマンドの使用方法については、Creating and Administering Oracle Solaris 11.3 Boot Environmentsを参照してください。

パッケージは、BE の一部であるファイルシステムにのみインストールできます。たとえば、デフォルトの Oracle Solaris 11 インストールでは、rpool/ROOT/BEname/ の下のデータセットのみがパッケージ操作用にサポートされます。

もう 1 つのイメージの例として、Oracle Solaris ゾーンがあります。非大域ゾーンは、大域ゾーンと呼ばれる Oracle Solaris オペレーティングシステムのインスタンス内で作成される、仮想化されたオペレーティングシステム環境です。大域ゾーンは親イメージで、その大域ゾーン内の非大域ゾーンはその大域ゾーンの子イメージです。IPS コマンド出力では、非大域ゾーンは親の大域ゾーンイメージにリンクされていることから、しばしばリンクされたイメージと呼ばれます。

Working with Non-Global Zonesに記載されているように、大域ゾーンで実行される IPS コマンドは、非大域ゾーンに影響することがあります。大域ゾーンで実行される IPS コマンドは、カーネルゾーン (solaris-kz ブランドゾーン) または Oracle Solaris 10 ゾーン (solaris10 branded zones) に影響しません。このガイドで、「非大域ゾーン」とは solaris ブランドの Oracle Solaris 11 非大域ゾーンを意味します。ゾーンについては、Introduction to Oracle Solaris Zonesを参照してください。

パッケージのファセットとバリアント

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

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

イメージに設定されているファセットとバリアントの値を表示または変更する方法など、ファセットとバリアントの詳細については、Controlling Installation of Optional Componentsを参照してください。