Solaris 系统服务的 FMRI 包含一般功能类别,如“应用程序、“重大事件、“网络、“平台和“系统,以及与服务的守护进程或旧的 rc 脚本名称相似的描述性名称 。svcs(1) 命令将列出计算机上可用的所有活动服务:
% svcs
STATE STIME FMRI
...
online 11:19:35 svc:/network/nfs/status:default
offline 18:20:30 svc:/application/print/rfc1179:default
maintenance 18:20:26 svc:/network/ntp:default
由于服务现在是一级对象,因此 SMF 甚至可以通过使用 svcs(1) 命令的 "-a" 选项提供有关未启用的服务的信息 。
常规任务
SMF 是 Solaris 中一项特别显著的更改,因为它影响了管理模型 。因此,尽管我们鼓励您阅读有关 SMF 功能的详细信息(请参见以下“详细信息部分),但您可能还是希望从学习如何执行一些常规系统管理任务开始 。
◆启用和禁用服务
在 Solaris 10 之前的版本中,没有一个很好的方法来永久禁用 Solaris 中的服务 。常用方法是将相应的 rc 脚本重命名为不再执行的名称,但在下一次系统升级后此更改将会失效 。此外,基于 inetd 的服务是通过一种完全不同的方法(即编辑配置文件)启用和禁用的 。在 SMF 下,可以使用 svCADm(1M) 命令配置这两种类型的服务,并且在计算机升级后这些更改将持续有效 。以下是对启用和禁用某些服务的方式的比较:
--------------------------------------------------------------------------------------------------------
旧方法:mv /etc/rc2.d/S75cron /etc/rc2.d/x.S75cron
SMF 方法:svCADm disable system/cron:default
旧方法:编辑 /etc/inet/inetd.conf,将 finger 行取消注释
SMF 方法:svcadm enable network/finger:default
--------------------------------------------------------------------------------------------------------
在上述示例中,svcadm 的最后一个参数是服务的 FMRI 。
请注意,svcadm 仅用于 SMF 服务,由 rc 脚本控制的传统服务与在早期发行版中的工作方式相同 。
◆停止、启动和重新启动服务
过去,服务已由引导时运行的 rc 脚本启动,并通过 start 参数运行 。一些 rc 脚本提供了 stop 选项,少数 rc 脚本还允许使用 restart 。在 SMF 中,这些任务都是通过 svcadm(1M) 命令完成的:
--------------------------------------------------------------------------------------------------------
旧方法:/etc/init.d/sshd stop
SMF 方法:svcadm disable -t network/ssh:default
旧方法:/etc/init.d/sshd start
SMF 方法:svcadm enable -t network/ssh:default
旧方法:/etc/init.d/sshd stop; /etc/init.d/sshd start
SMF 方法:svcadm restart network/ssh:default
旧方法:kill -HUP `cat /var/run/sshd.pid`
SMF 方法:svcadm refresh network/ssh:default
-----------------------------------------------------------------------------------------------------------
svCADm enable 和 svcadm disable 的 "-t" 选项表示所请求的操作应该是临时的 (temporary),它不会影响此服务是否会在系统下一次引导时启动 。这与上述“启用和禁用服务示例形成了对比 。
与启用和禁用服务一样,不应该使用 svcadm 控制由 rc 脚本控制的服务;这些服务将始终按早期发行版中的方式工作 。
◆观察引导过程
如“显著的更改部分所述,在缺省情况下,引导过程与早期的 Solaris 发行版相比要精简得多 。这样就减少了不能提供有价值信息的“无用消息,这些“无用消息可能会导致引导期间发生的任何实际问题不容易被发现 。
已添加一些新的引导选项,以控制引导的详细程度 。您可能会发现一个特别有用的选项 "-m verbose",该选项在每个服务尝试启动时打印一行信息 。这与基于 Unix 和与 Unix 相似的某些其他操作系统的缺省引导模式相似 。详细的引导过程如下所示:
推荐阅读
- Solaris 11 安装图解
- Open Solaris 2008.05版 初体验
- Solaris 8 配置并启动、登录服务器
- 基于Solaris 10的综合性虚拟化
- 虚拟化和开源是Solaris 10核心
- SUN 虚拟化-Solaris zone 配置实例
- 在Solaris8上安装SSH
- 使用libscf.so实现SMF服务refresh方法
- 用Solaris 10的SMF配置Tomcat为自动启动
- SUN Solaris 的用户管理二