系统管理指南:基本管理

运行级别

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

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

表 18–2 Solaris 运行级别

运行级别 

Init 状态 

类型 

目的 

电源关闭状态 

电源关闭 

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

s 或 S

单用户状态

单用户 

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

管理状态 

单用户 

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

多用户状态 

多用户 

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

共享 NFS 资源的多用户级别

多用户 

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

替换多用户状态 

 

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

电源关闭状态 

电源关闭 

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

重新引导状态 

重新引导 

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

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

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

运行级别 

SMF 里程碑 FMRI 

milestone/single-user:default

milestone/multi-user:default

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

标识以前的运行级别