degraded、maintenance、offline、online のいずれかの状態のサービスインスタンスはすでに有効になっており、起動する必要はありません。起動するインスタンスが degraded、maintenance、または offline の状態になっている場合は、機能低下、オフライン、または保守であるインスタンスの修復を参照してください。起動するインスタンスが disabled 状態になっている場合は、次の手順に示すようにインスタンスを有効にします。インスタンスを有効にすると、そのインスタンスのリスタータが online 状態にそのインスタンスを遷移させようと試みます。
インスタンスが現在無効になっていること、およびその必要な依存関係のすべてが実行していること (online または degraded 状態) を確認します。
$ svcs -l FMRI
サービスのリスタータは、指定のインスタンスを online 状態にしようと試みます。
インスタンスは永続的に有効にすることも、一時的に有効にすることもできます。永続的な有効はシステムリブートのあとも持続し、これがデフォルトです。一時的な有効はリブートまでに限り継続します。
$ svcadm enable FMRI
一時的な有効を指定するには、-t オプションを使用します。
$ svcadm enable -t FMRI
現時点ではインスタンスを実行するが、次回のリブート時には実行しない場合は、インスタンスが無効になっていることを確認し、一時的にインスタンスを有効にします。インスタンスが一時的に有効になっていることを検証するには、svcs -l コマンドを使用して、enabled 行が次のようになっていることを確認します。
enabled true (temporary)
-s オプションを指定すると、svcadm はインスタンスを有効にし、インスタンスが online または degraded 状態になるまで待機してから戻ります。svcadm コマンドは、インスタンスがオンライン状態に達したとき、またはインスタンスがオンライン状態に達するには管理者の操作が必要だと判断したときに戻ります。
遷移を行うか、遷移を行えないと判断するまでの上限を秒単位で指定するには、-T オプションを -s オプションとともに使用します。
$ svcadm enable -sT 10 FMRI
$ svcs FMRI
インスタンスが degraded、maintenance、または offline の状態になっている場合は、機能低下、オフライン、または保守であるインスタンスの修復を参照してください。
次のコマンドは、pkg/mirror:default サービスインスタンスが現在無効になっており、その必要な依存関係がすべてオンラインになっていることを示します。
$ svcs -l pkg/mirror fmri svc:/application/pkg/mirror:default name IPS Repository Mirror enabled false state disabled next_state none state_time September 17, 2013 07:16:52 AM PDT restarter svc:/system/svc/restarter:default manifest /lib/svc/manifest/application/pkg/pkg-mirror.xml dependency require_all/error svc:/milestone/network:default (online) dependency require_all/none svc:/system/filesystem/local:default (online) dependency optional_all/error svc:/system/filesystem/autofs:default (online) dependency require_all/none svc:/application/pkg/repositories-setup (online)
次のコマンドは、pkg/mirror:default インスタンスを有効にします。この場合、pkg/mirror:default インスタンスが正常に有効になるので、svcadm コマンドは戻ります。
$ svcadm enable -sT 10 pkg/mirror:default $ svcs pkg/mirror STATE STIME FMRI online 22:03:53 svc:/application/pkg/mirror:default使用例 13 サービスインスタンスの一時的な有効化
次のコマンドは、net-snmp:default サービスインスタンスが現在無効になっており、その必要な依存関係がすべてオンラインになっていることを示します。無効になっている 1 つの依存関係は、オプションの依存関係です。
$ svcs -l net-snmp fmri svc:/application/management/net-snmp:default name net-snmp SNMP daemon enabled false state disabled next_state none state_time September 17, 2013 05:56:39 PM PDT logfile /var/svc/log/application-management-net-snmp:default.log restarter svc:/system/svc/restarter:default contract_id manifest /etc/svc/profile/generic.xml manifest /lib/svc/manifest/application/management/net-snmp.xml dependency require_all/none svc:/system/filesystem/local (online) dependency optional_all/none svc:/milestone/name-services (online) dependency optional_all/none svc:/system/system-log (online) dependency optional_all/none svc:/network/rpc/rstat (disabled) dependency require_all/restart svc:/system/cryptosvc (online) dependency require_all/restart svc:/milestone/network (online) dependency require_all/refresh file://localhost/etc/net-snmp/snmp/snmpd.conf (online) dependency require_all/none svc:/milestone/multi-user (online)
次の例に示すように -t オプションを使用してインスタンスを有効にしたあと、svcs -p コマンドで示されるように snmpd プロセスが開始されているので、インスタンスは一時的に有効になり、オンラインになり、契約 ID が与えられます。
$ svcadm enable -t net-snmp:default $ svcs -l net-snmp fmri svc:/application/management/net-snmp:default name net-snmp SNMP daemon enabled true (temporary) state online next_state none state_time September 17, 2013 05:57:26 PM PDT logfile /var/svc/log/application-management-net-snmp:default.log restarter svc:/system/svc/restarter:default contract_id 160 manifest /etc/svc/profile/generic.xml manifest /lib/svc/manifest/application/management/net-snmp.xml dependency require_all/none svc:/system/filesystem/local (online) dependency optional_all/none svc:/milestone/name-services (online) dependency optional_all/none svc:/system/system-log (online) dependency optional_all/none svc:/network/rpc/rstat (disabled) dependency require_all/restart svc:/system/cryptosvc (online) dependency require_all/restart svc:/milestone/network (online) dependency require_all/refresh file://localhost/etc/net-snmp/snmp/snmpd.conf (online) dependency require_all/none svc:/milestone/multi-user (online) $ svcs -p net-snmp STATE STIME FMRI online 17:57:26 svc:/application/management/net-snmp:default 17:57:26 5022 snmpd