Oracle® Solaris 11.2 でのシステムサービスの管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

SMF サービスの作成

サービスマニフェストには、インスタンス、依存関係、サービスが起動および停止したときに実行するスクリプト、デフォルトアプリケーションプロパティー値など、特定のサービスに関連付けられたプロパティーの全セットが含まれます。マニフェストには、サービスの説明などテンプレート情報も記載されています。SMF マニフェストの内容と形式の完全な説明については、service_bundle(4)のマニュアルページと /usr/share/lib/xml/dtd/service_bundle.dtd.1 サービスバンドル DTD を参照してください。命名規則とプロパティーグループタイプの割り当てについては、ネームサービス、インスタンス、プロパティーグループ、およびプロパティーも参照してください。

svcbundle単純なサービスを作成したり、より複雑なサービスを起動する場合、サービスバンドル生成ツールを使用することをお勧めします。詳細は、svcbundle(1M)のマニュアルページを参照してください。サービスバンドル DTD やほかのサービスマニフェストを使用して、より複雑なサービスを完了させることができます。

カスタムマニフェストの標準の場所は、/lib/svc/manifest/site です。この場所に格納されたマニフェストは、サービスが起動する前に、ブートプロセス中に svc:/system/early-manifest-import:default サービスによってサービス構成リポジトリにインポートされます。インポートプロセスを早期に実行することにより、サービスが起動するよりも先に、最新のマニフェストに含まれる情報がリポジトリに確実に取り込まれます。この標準の場所に格納されたマニフェストは、svc:/system/manifest-import サービスが再起動するときにもインポートされます。

複数のマニフェストを使用して、単一のサービスを記述できます。これはたとえば、サービスの既存のマニフェストを変更することなく、サービスの新しいインスタンスを定義する場合に役立ちます。ただし、同じサービスまたはインスタンスについて、同じレイヤー内の同じプロパティーが複数のマニフェストで定義されている場合、SMF はどの値を使用するか決定できません。このような競合が検出された場合、インスタンスは maintenance 状態に置かれます。レイヤーの詳細は、リポジトリレイヤーを参照してください。

ユーザーが svcs コマンドおよび svccfg describe コマンドからこのサービスに関する情報を得られるように、名前と説明メタデータをマニフェストに追加します。プロパティー値の説明も追加できます。DTD 内の valuevalues、および template の要素を参照してください。

svccfg validate コマンドを使用して、サービスマニフェストファイルまたはサービスインスタンス FMRI を検証します。標準の場所にあるマニフェスト、メソッド、およびプロファイルファイルを使用して、manifest-import サービスを再起動し、サービスインスタンスをインストールおよび構成します。svcs コマンドを使用して、サービスインスタンスのステータスを確認します。

このセクションでは、カスタム SMF サービスを作成する方法を示します。site の接頭辞はサイト固有のカスタマイズ用に予約されています。svc:/site/service-name という名前のサービスは、Oracle Solaris リリースで提供されるサービスと競合しません。