Oracle® Solaris 11.2 での Image Packaging System を使用したソフトウェアのパッケージ化と配布

印刷ビューの終了

更新: 2014 年 7 月
 
 

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

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

Apache Web Server 構成

Apache Web Server 向け Oracle Solaris パッケージ pkg:/web/server/apache-22 が配布する httpd.conf ファイルには、/etc/apache2/2.2/conf.d ディレクトリ内の構成ファイルを参照する次の Include 指令が含まれています。

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

カスタム構成を適用するには、カスタム .conf ファイルをその conf.d ディレクトリに配布し、新しい .conf ファイルを配布するパッケージがインストール、更新、または削除されるたびに refresh_fmri アクチュエータを使用して Apache インスタンスを自動的にリフレッシュするパッケージを 1 つまたは複数作成できます。

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

Apache サービスインスタンスをリフレッシュすると、Web サーバーによりその構成が再構築されます。これを検証するには、次のコマンドを使用して、Apache サービスインスタンスのリフレッシュ時に実行されるメソッドの名前を表示します。

$ svcprop -p refresh/exec http:apache22
/lib/svc/method/http-apache\ refresh

メソッドを確認すると、http:apache22 インスタンスのリフレッシュで、graceful コマンドにより apachectl が呼び出され、Apache httpd デーモンが再起動されていることが示されています。

ユーザー属性の構成

ユーザー属性は /etc/user_attr と、/etc/user_attr.d 内の追加の構成ファイルで構成されます。

/etc/user_attr 構成ファイルは、システム上の役割とユーザーに対して拡張属性を構成するために使用します。Oracle Solaris 11 では、/etc/user_attr ファイルはローカルの変更にだけ使用されます。完全な構成は、/etc/user_attr.d ディレクトリに配布された別個のファイルから読み取られます。完全な構成のフラグメントが、複数のパッケージによって配布されます。たとえば /etc/user_attr.d/core-ossystem/core-os パッケージによって配布され、/etc/user_attr.d/ikev2-daemonsystem/network/ike パッケージによって配布されます。

これらの構成ファイルをインストールしても、その結果、サービスが再起動またはリフレッシュされることはありません。これらのファイルをインストール、アンインストール、または更新するときにスクリプト処理は不要です。/etc/user_attr.d 内のファイルは、ネームサービスキャッシュデーモン nscd によって作成されます。nscd デーモンの動作は svc:/system/name-service/cache サービスにより管理されます。

$ svcs -p cache
STATE          STIME    FMRI
online         15:54:24 svc:/system/name-service/cache:default
               15:54:24     1000 nscd

ネームサービスキャッシュデーモンは、user_attr の説明と同様の方法でほとんどのネームサービス要求に対し構成の合成を提供します。nscd(1M) のマニュアルページを参照してください。

セキュリティー構成

/etc/security/exec_attr.d/ ディレクトリにはセキュリティー構成ファイルが格納されます。

以前の Oracle Solaris リリースでは、SMF サービスは exec_attr.d に配布されたファイルをマージして 1 つのデータベース /etc/security/exec_attr にしていました。Oracle Solaris 11 では、セキュリティー属性データベースライブラリ libsecdb の関数が、exec_attr.d のフラグメントを直接読み取るため、サービスによりマージを実行する必要がありません。

/etc/security 内で構成フラグメントが含まれているその他のディレクトリ (auth_attr.dprof_attr.d など) も同様に処理されます。