跳过导航链接 | |
退出打印视图 | |
在 x86 平台上引导和关闭 Oracle Solaris Oracle Solaris 11 Information Library (简体中文) |
SMF 提供了在传统 UNIX 启动脚本、init 运行级别和配置文件的基础上进行扩充的基础结构。引入 SMF 后,现在引导过程创建的消息要少许多。缺省情况下,在启动服务时并不显示消息。由引导消息提供的所有信息现在可在每个服务的日志文件(位于 /var/svc/log 中)中找到。可以使用 svcs 命令来帮助诊断引导问题。要在引导过程中启动每个服务时生成消息,请在 boot 命令中使用 -v 选项。
引导系统时,可以选择要引导至的里程碑,或选择要记录的错误消息级别。例如:
可以使用以下命令选择要引导至的特定里程碑:
ok boot -m milestone=milestone
缺省里程碑是 all,它启动所有已启用的服务。另一个有用的里程碑是 none,它仅启动 init、svc.startd 和 svc.configd。此里程碑可提供一个非常有用的调试环境,在该环境中可以手动启动服务。有关如何使用 none 里程碑的说明,请参见《Oracle Solaris 管理:常见任务》中的"如何在不启动任何服务的情况下引导"。
运行级别等效项 single-user、multi-user 和 multi-user-server 也可用,但是不常用。需要特别指出的是,multi-user-server 里程碑不会启动不是该里程碑相关项的任何服务,因此可能不包含重要的服务。
可以使用以下命令选择 svc.startd 的日志记录级别:
ok boot -m logging_level
可以选择的日志记录级别是 quiet、verbose 和 debug。有关日志记录级别的特定信息,请参见《Oracle Solaris 管理:常见任务》中的"SMF 服务错误日志记录"。
SMF 提供的大多数功能都在后台运行,因此用户通常不会注意到这些功能。其他功能可由新命令访问。
下面列出了最明显的行为更改:
现在引导过程创建的消息要少许多。缺省情况下,在启动服务时并不显示消息。由引导消息提供的所有信息现在可在每个服务的日志文件(位于 /var/svc/log 中)中找到。可以使用 svcs 命令来帮助诊断引导问题。另外,还可以使用 boot 命令的 -v 选项。当在引导过程中启动每个服务时,该命令会生成一条消息。
如果有可能,服务将会自动重新启动,因此似乎进程无法终止。如果服务有缺陷,则该服务将被置于维护模式,但通常服务会在进程终止之后重新启动。应当使用 svcadm 命令来停止任何不应运行的 SMF 服务的进程。
/etc/init.d 和 /etc/rc*.d 中的许多脚本已被删除。这些脚本将不再是启用或禁用服务所必需的脚本。/etc/inittab 中的项也已被删除,以便可以使用 SMF 对服务进行管理。由 ISV 提供或在本地开发的脚本和 inittab 项将能够继续运行。在引导过程中,服务可能不会在完全相同的点启动,但是在启动 SMF 服务之前不会启动这些服务。