Solaris10 SMF服务管理概要( 二 )


使用svccfg export命令可将repository中SMF服务的manifest信息导出到xml文件;
使用svccfg apply命令可将SMF服务的profile xml文件导入到repository中;
使用svccfg etract命令可将repository中SMF服务的profile信息导出到xml文件 。
服务manifest-import用于将/var/svc中新增的SMF服务信息导入repository 。
SMF中的服务命名
SMF中的服务命名方式和传统的Unix中的后台进程的命名方式有很大的差别,SMF服务名称是用FMRI(Fault Managed Resouce IdentifIEr)表示的,FMRI是URI资源命名规范在Solaris系统的一个应用 。对于SMF服务,其格式是:
scheme:/category1/category2.../categoryn/service[:instance]
scheme有svc和lrc,svc模式的FMRI表示SMF服务,而lrc模式的FMRI表示旧的基于rc脚本的服务,lrc模式是为了向前兼容,不需要实例名 。
用svcs -a可以列出当前所有的服务:
STATE STIME FMRI
legacy_run 1:58:26 lrc:/etc/rcS_d/S50sk98sol
legacy_run 1:58:50 lrc:/etc/rc3_d/S50apache
legacy_run 1:58:51 lrc:/etc/rc3_d/S75seaport
legacy_run 1:58:55 lrc:/etc/rc3_d/S76snmpdx
legacy_run 1:58:57 lrc:/etc/rc3_d/S90samba
...
disabled 1:58:06 svc:/network/iscsi_initiator:default
disabled 1:58:06 svc:/system/metainit:default
disabled 1:58:07 svc:/network/ipfilter:default
disabled 1:58:08 svc:/network/rpc/keyserv:default
disabled 1:58:08 svc:/network/rpc/nisplus:default
disabled 1:58:08 svc:/network/nis/clIEnt:default
disabled 1:58:08 svc:/network/dns/client:default
disabled 1:58:08 svc:/network/ldap/client:default
disabled 1:58:09 svc:/network/nfs/cbd:default
disabled 1:58:09 svc:/network/nfs/mapid:default
...
online 1:58:06 svc:/system/svc/restarter:default
online 1:58:08 svc:/network/pfil:default
online 1:58:10 svc:/network/loopback:default
online 1:58:11 svc:/milestone/name-services:default
online 1:58:12 svc:/system/filesystem/root:default
online 1:58:14 svc:/system/boot-archive:default
online 1:58:15 svc:/network/physical:default
online 1:58:15 svc:/milestone/network:default
online 1:58:20 svc:/application/print/cleanup:default
online 1:58:21 svc:/system/picl:default
online 1:58:21 svc:/system/sysevent:default
online 1:58:21 svc:/system/device/fc-fabric:default
online 1:58:22 svc:/milestone/devices:default
online 1:58:28 svc:/system/sysidtool:net
online 1:58:30 svc:/system/sysidtool:system
online 1:58:30 svc:/network/nfs/status:default
online 1:58:45 svc:/network/ssh:default
...
第三列FMRI就是服务名称 。上述输出中显示了在Solaris 10中捆绑的Samba、Apache 1.3.x服务名称,由于它们仍然沿用了rc脚本的启动方式,所以它们的名称是以lrc开头的,这类服务无法用svCADm来管理 。比如试图运行命令svcadm enable lrc:/etc/rc3_d/S90samba,系统会报错 。上述输出中显示了ssh服务的FMRI服务名为svc:/network/ssh:default 。
用FMRI表示的服务名称可以唯一地标识一个服务,但是名称通常都比较冗长,不便记忆 。所以SMF允许服务名称的缩写,只要能唯一标识服务,scheme、instance、category都可以省略 。所以ssh服务的名称可以简写成ssh 。简写的服务名在SMF的命令行工具中都可以使用 。
使用FMRI方法命名服务后使得原先的服务名称发生了变化,但通过以下方法可以找SMF服务的名称:
猜测法,根据该服务的关键词得一个可能的服务名(guess_service_name),如Apache web服务可以用apache,NFS文件服务可以用nfs 。然后用svcs -a |grep guess_service_name 。
查看该服务所属应用的文档 。
以下是常见服务的名称
服务 最简缩写 FMRI
sshd ssh svc:/network/ssh:default
cron cron svc:/system/cron:default
automount autofs svc:/system/filesystem/autofs:default

推荐阅读