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

印刷ビューの終了

更新: 2014 年 7 月
 
 

サービスバンドル生成ツールを使用した SMF サービスの作成方法

この手順は、起動メソッドとして既存のカスタムスクリプトを使用するサービスを作成します。

  1. サービスモデルを判断します。

    デフォルトで、svcbundletransient サービスを作成します。このサービスの起動メソッドスクリプトが、長時間実行するデーモンを起動し、contract サービスであるかどうかを判断します。サービスモデルの詳細は、サービスモデルおよびsvc.startd(1M)のマニュアルページを参照してください。

  2. 標準の場所にスクリプトをコピーします。

    この例では、このサービスの起動メソッドスクリプトであるスクリプトに ex_svc の名前が付けられています。このスクリプトを /lib/svc/method/ex_svc にコピーします。

  3. 初期マニフェストを作成します。

    この例では、サービス名は site/ex_svc です。これは、一時サービスであり、停止メソッドを必要としません。

    $ svcbundle -o /tmp/ex_svc.xml -s service-name=site/ex_svc \
          -s start-method=/lib/svc/method/ex_svc
  4. マニフェストに対し必要な変更をすべて行います。

    /tmp/ex_svc.xml マニフェストの内容が必要なものかを検証します。必要に応じてコメントを追加します。

  5. マニフェストが有効であることを検証します。

    svccfg validate コマンドを使用して、サービスマニフェストが有効であることを確認します。

  6. マニフェストを標準ディレクトリにコピーします。
    $ cp /tmp/ex_svc.xml /lib/svc/manifest/site/ex_svc.xml
  7. マニフェストをインポートし、サービスを起動します。
    $ svcadm restart manifest-import
使用例 5-1  生成されたマニフェストを自動的にインストールする

新しいサービスマニフェストに変更を加える必要がない場合、-i オプションを使用して、作成後すぐにプロファイルをインストールできます。svcbundle コマンドは、/lib/svc/manifest/site にマニフェストを書き込み、manifest-import サービスを再起動します。/lib/svc/manifest/site ディレクトリにおける同じ名前の既存のファイルは上書きされます。

# svcbundle -i -s service-name=site/ex_svc \
	-s start-method=/lib/svc/method/ex_svc