系统管理指南:基本管理

运行级别

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

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

表 18–2 Solaris 运行级别

运行级别 

Init 状态 

类型 

目的 

0 

电源关闭状态 

电源关闭 

关闭操作系统,以便可以安全地关闭系统电源。

s 或 S

单用户状态

单用户 

以单用户身份运行,挂载并且能够访问某些文件系统。  

1 

管理状态 

单用户 

访问所有可用的文件系统。用户登录功能处于禁用状态。

2 

多用户状态 

多用户 

用于正常操作。多个用户可以访问系统和所有的文件系统。除 NFS 服务器守护进程以外的所有守护进程都在运行。

3 

共享 NFS 资源的多用户级别

多用户 

用于共享 NFS 资源情况下的正常操作。这是 Solaris OS 的缺省运行级别。

4 

替换多用户状态 

 

在缺省情况下未配置,但是可供客户使用。 

5 

电源关闭状态 

电源关闭 

关闭操作系统,以便可以安全地关闭系统电源。如有可能,自动关闭支持此功能的系统的电源。 

6 

重新引导状态 

重新引导 

将系统关闭到运行级别 0,然后重新引导到共享 NFS 资源的多用户级别(或者 inittab 文件中的任何缺省级别)。

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

表 18–3 Solaris 运行级别和 SMF 里程碑

运行级别 

SMF 里程碑 FMRI 

S 

milestone/single-user:default

2 

milestone/multi-user:default

3 

milestone/multi-user-server:default

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

大多数情况下,只需要使用带有运行级别的 init 命令来更改系统状态就足够了。使用里程碑更改系统状态可能会导致混乱,而且可能会导致意外行为。另外,init 命令允许关闭系统,因此,init 是更改系统状态的最佳命令。

但是,在调试启动问题时,使用 none 里程碑引导系统可能会非常有用。none 里程碑没有等效的运行级别。有关具体的说明,请参见如何在不启动任何服务的情况下引导。

确定系统的运行级别

通过使用 who -r 命令来显示运行级别信息。


$ who -r

使用 who -r 命令可针对任何级别确定系统的当前运行级别。


示例 18–1 确定系统的运行级别

本示例显示系统的当前运行级别以及以前的运行级别的相关信息。


$ who -r
 .    run-level 3  Dec 13 10:10  3  0 S
$

who -r 命令的输出

说明 

run-level 3

标识当前的运行级别 

Dec 13 10:10

标识上次更改运行级别的日期 

3

也标识当前的运行级别 

0

标识自上次重新引导以来系统处于该运行级别的次数 

S

标识以前的运行级别