JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 での Image Packaging System を使用したソフトウェアのパッケージ化および配布     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  IPS の設計目標、概念、および用語

IPS の設計目標

ソフトウェアの自己アセンブリ

ソフトウェアの自己アセンブリ用のツール

不可分なソフトウェアオブジェクト

構成の合成

アクチュエータと SMF サービス

Oracle Solaris でのソフトウェアの自己アセンブリの例

Apache Web Server

構成フラグメントを提供する複数のパッケージ

IPS パッケージのライフサイクル

IPS 用語およびコンポーネント

インストール可能なイメージ

パッケージ識別子: FMRI

パッケージ発行元

パッケージ名

パッケージバージョン

パッケージの内容: アクション

ファイルアクション

ディレクトリアクション

リンクアクション

ハードリンクアクション

設定アクション

ドライバアクション

依存アクション

ライセンスアクション

レガシーアクション

署名アクション

ユーザーアクション

グループアクション

パッケージリポジトリ

2.  IPS を使用したソフトウェアのパッケージ化

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

4.  パッケージの依存関係の指定

5.  バリエーションの許可

6.  プログラムによるパッケージマニフェストの変更

7.  パッケージインストールの一環としてのシステム変更の自動化

8.  パッケージ更新の高度なトピック

9.  IPS パッケージの署名

10.  非大域ゾーンの処理

11.  発行されたパッケージの変更

A.  パッケージの分類

B.  IPS を使用して Oracle Solaris OS をパッケージ化する方法

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

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

ソフトウェアの自己アセンブリ

上記の目標や考えを踏まえて、IPS はソフトウェアの自己アセンブリという一般概念を取り入れています: システムにインストールされたソフトウェアのどのコレクションも、パッケージ化の操作が完了するときまで、またはソフトウェアの実行時に、そのシステムがブートすると、コレクション自身を作業用構成に組み込むことができます。

ソフトウェアの自己アセンブリでは、IPS でのインストール時のスクリプト作成が必要ありません。ソフトウェアは自身の構成に責任を持ち、パッケージシステムがソフトウェアの代わりにその構成を実行するのに頼ることはありません。ソフトウェアの自己アセンブリを使用すると、パッケージシステムは、現在ブートしていないブート環境や、オフラインのゾーンルートなどの代替イメージでも安全に動作できます。また、自己アセンブリは実行時イメージに対してのみ実行されるため、パッケージ開発者はバージョン間またはアーキテクチャー間の実行時コンテキストに対処する必要はありません。

ブート前にオペレーティングシステムイメージの準備が多少必要です。そうすれば、IPS はこれを透過的に管理できます。イメージの準備には、ブートブロックの更新、ブートアーカイブ (ramdisk) の準備、および一部のアーキテクチャーではブート環境選択のメニューの管理などがあります。

ソフトウェアの自己アセンブリ用のツール

次の IPS 機能および特性により、ソフトウェアの自己アセンブリが容易になります。

不可分なソフトウェアオブジェクト

アクションとは IPS でのソフトウェア配布の不可分単位です。各アクションは 1 つのソフトウェアオブジェクトを配布します。そのソフトウェアオブジェクトは、ファイル、ディレクトリ、リンクなどのファイルシステムオブジェクトにも、ユーザー、グループ、ドライバなどのより複雑なソフトウェア構成にもなり得ます。SVR4 パッケージシステムでは、これらのより複雑なアクションタイプは、クラスアクションスクリプトを使用して処理されます。IPS では、スクリプト作成は必要ありません。

アクションは、いくつかのパッケージにまとめられ、ライブイメージとオフラインイメージの両方からインストール、更新、および削除できます。

アクションについては、「パッケージの内容: アクション」に詳しく説明されています。

構成の合成

IPS では、パッケージ化の操作中に各構成ファイルを更新するために膨大なスクリプト作成を必要とする複雑な構成ファイルを保守するのではなく、構成ファイルのフラグメントを配布することを推奨しています。パッケージ化されたアプリケーションは、その構成の読み取り時にそれらのフラグメントに直接アクセスできます。あるいは、フラグメントを完全な構成ファイルにまとめてから読み取ることもできます。

Oracle Solaris 11 のユーザー属性データベースは、断片化された構成ファイルの良い例の 1 つです。/etc/user_attr 構成ファイルは、システム上の役割とユーザーに対して拡張属性を構成するために使用します。Oracle Solaris 11 では、/etc/user_attr ファイルはローカルの変更にのみ使用します。完全な構成は、/etc/user_attr.d ディレクトリに配布された別個のファイルから読み取られます。完全な構成のフラグメントが、複数のパッケージによって配布されます。フラグメントがインストール、削除、または更新されるときにスクリプト作成は必要ありません。

構成ファイルを合成するこの方法では、合成を考慮に入れてソフトウェアが記述される必要があり、これは常に可能であるとはかぎりません。

合成をサポートする別の方法は、サービスで構成ファイルを揮発性のものとして処理し、構成のフラグメントがインストール、削除、または更新されたときに構成ファイルを再構築することです。一般に、このアセンブリは SMF サービスによって行われます。SMF サービスによるアセンブリについては、次の項目で詳しく説明します。

アクチュエータと SMF サービス

アクチュエータとは、パッケージシステムによって配布されたアクションに適用されるタグのことで、そのアクションがインストール、削除、または更新されたときにシステム変更をもたらします。これらの変更は通常、SMF サービスとして実装されます。

SMF サービスはソフトウェアを直接構成できます。あるいは、SMF サービスは SMF マニフェストに配布されたデータまたはシステムにインストールされたファイルから提供されたデータを使用して構成ファイルを構築することもできます。

SMF には、依存関係を表現するための多機能な構文があります。各サービスは、その依存関係がすべて満たされたときにのみ実行されます。

どのサービスも、それ自身を svc:/milestone/self-assembly-complete:default SMF マイルストーンへの依存関係として追加できます。ブートオペレーティングシステムがこのマイルストーンに到達すると、自己アセンブリのすべての操作が行われます。

不変ゾーンと呼ばれる特別な種類のゾーンは、そのファイルシステムの一部に対する制限付き書き込みアクセス権を持つように構成できるゾーンです。zonecfg(1M) のマニュアルページの file-mac-profile の説明を参照してください。この種のゾーンで自己アセンブリを完了するには、ゾーンを読み取り/書き込みでブートします。self-assembly-complete SMF マイルストーンのあと、ゾーンが必要な file-mac-profile 設定に自動的にブートされます。

Oracle Solaris でのソフトウェアの自己アセンブリの例

次の例では、Oracle Solaris の一部として配布されるパッケージについて説明します。

Apache Web Server

自己アセンブリの良い例の 1 つは、Apache Web Server の Oracle Solaris パッケージの中にあります: pkg:/web/server/apache-22。このパッケージには、/etc/apache2/2.2/conf.d を参照する Include 指令を含むデフォルトの httpd.conf ファイルが付属しています。

Include /etc/apache2/2.2/conf.d/*.conf

別のパッケージでは、新しい .conf ファイルをそのディレクトリに配布し、refresh_fmri アクチュエータを使用して、この新しい .conf ファイルを配布するパッケージがインストール、更新、または削除されたときに必ず Apache インスタンスを自動的にリフレッシュできます。Apache インスタンスをリフレッシュすると、Web サーバーでその構成が再構築されます。

file etc/apache2/2.2/conf.d/custom.conf path=etc/apache2/2.2/conf.d/custom.conf \
    owner=root group=bin mode=0644 refresh_fmri=svc:/network/http:apache22

refresh_fmri アクチュエータの使用方法については、「必要とされるファセットまたはアクチュエータがあれば追加する」および第 7 章パッケージインストールの一環としてのシステム変更の自動化を参照してください。

構成フラグメントを提供する複数のパッケージ

Oracle Solaris OS での自己アセンブリのもう 1 つの例は、内容を /etc/security/exec_attr.d/ ディレクトリに配布するいくつかのパッケージで確認できます。

以前の Oracle Solaris リリースでは、SMF サービスは exec_attr.d に配布されたファイルをマージして 1 つのデータベース /etc/security/exec_attr にしていました。Oracle Solaris 11 OS では、libsecdbexec_attr.d 内のフラグメントを直接読み取るため、別のサービスでマージを行う必要がなくなりました。

構成のフラグメントを含む /etc/security 内の他のディレクトリも同様の方法で処理されます。