引导和关闭 Oracle® Solaris 11.2 系统

退出打印视图

更新时间: 2014 年 7 月
 
 

运行级别的工作原理

系统的运行级别(也称为 init 状态)定义用户可以使用哪些服务和资源。系统一次只能在一个运行级别下运行。

Oracle Solaris 具有八个运行级别,下表对其进行了说明。在 /etc/inittab 文件中,缺省的运行级别指定为运行级别 3。

表 4-1  Oracle Solaris 运行级别
运行级别
Init 状态
类型
目的
0
电源关闭状态
电源关闭
关闭操作系统,以便可以安全地关闭系统电源。
s 或 S
单用户状态
单用户
以单用户身份运行,挂载并且能够访问某些文件系统。
1
管理状态
单用户
访问所有可用的文件系统。用户登录功能处于禁用状态。
2
多用户状态
多用户
用于正常操作。多个用户可以访问系统和所有的文件系统。除 NFS 服务器守护进程以外的所有守护进程都在运行。
3
共享 NFS 资源的多用户级别
多用户
用于共享 NFS 资源情况下的正常操作。这是缺省运行级别。
4
替换多用户状态
多用户
在缺省情况下未配置,但是可供客户使用。
5
电源关闭状态
电源关闭
关闭操作系统,以便可以安全地关闭系统电源。如有可能,自动关闭支持此功能的系统的电源。
6
重新引导状态
重新引导
停止操作系统,并重新引导至 /etc/inittab 文件中的 initdefault 项定义的状态。
缺省情况下,启用 SMF 服务 svc:/system/boot-config:defaultconfig/fastreboot_default 属性设置为 true 时,init 6 会根据系统的具体功能,跳过某些固件初始化和测试步骤。请参见加快重新引导过程

另外,svcadm 命令可用于更改系统的运行级别,方法是选择系统要在其下运行的里程碑。下表显示了与每个里程碑相对应的运行级别。

表 4-2  运行级别和 SMF 里程碑
运行级别
SMF 里程碑 FMRI
S
milestone/single-user:default
2
milestone/multi-user:default
3
milestone/multi-user-server:default

系统引导到多用户状态(运行级别 3)时发生的情况

  1. init 进程将启动,并读取 svc:/system/environment:init SMF 服务中定义的属性,以设置任何环境变量。缺省情况下,仅设置 TIMEZONE 变量。

  2. 然后,init 读取 inittab 文件并执行下列操作:

    1. 执行 action 字段中包含 sysinit 的所有进程项,以便在用户登录系统之前执行所有特殊的初始化。

    2. 将启动活动传递到 svc.startd

    有关 init 进程如何使用 inittab 文件的详细说明,请参见 init(1M) 手册页。

何时使用运行级别或里程碑

一般来说,很少需要更改里程碑或运行级别。如有必要,使用 init 命令更改到某个运行级别也将更改里程碑,该命令是适用的命令。init 命令还适用于关闭系统。

但是,使用 none 里程碑引导系统可能对调试启动问题非常有用。none 里程碑没有等效的运行级别。有关更多信息,请参见在 Oracle Solaris 11.2 中管理系统服务 中的如何检查系统引导期间启动服务时出现的问题

确定系统的当前运行级别

要确定系统的当前运行级别,请使用 who -r 命令。

示例 4-11  确定系统的运行级别

who –r 命令的输出显示有关系统当前运行级别以及之前运行级别的信息。

$ who -r
 .    run-level 3  Dec 13 10:10  3  0 S
$
who –r 命令的输出
说明
run-level 3
标识当前的运行级别
Dec 13 10:10
标识上次更改运行级别的日期
3
也标识当前的运行级别
0
标识自上次重新引导以来系统处于该运行级别的次数
S
标识以前的运行级别