处于以下任何状态的服务实例都已启用,无需启动: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 实例。在此示例中,svcadm 命令会返回,因为 pkg/mirror:default 实例已成功启用。
$ svcadm enable -sT 10 pkg/mirror:default $ svcs pkg/mirror STATE STIME FMRI online 22:03:53 svc:/application/pkg/mirror:default示例 3-2 临时启用服务实例
下面的命令显示 net-snmp:default 服务实例当前处于禁用状态,其所有必要的相关项都处于联机状态。禁用的一个相关项是可选相关项。
$ 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 选项启用实例后,该实例将临时启用、处于联机状态并且具有一个合同 ID,因为它已启动 snmpd 进程,如 svcs -p 命令所示。
$ 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