Solaris run levels (updated)

A system's run level (also known as an init state) defines what services and resources are available to users. At any one time, the system can be in only be in one init state at a time.

The following table lists the current 8 run levels available on a Solaris system.

Run levelInit statePurpose
0 PROM mode To shut down the operating system so that it is safe to turn off power to the system.
s or S Single-user mode To run as a single user with some file systems mounted and accessible.
1 Management mode A form of single-user mode, in which file systems are available but user logins disabled
2 Multi-user All services available and users can login, but no NFS SMB services available
3 Multi-user Multi-user mode with all services available (this is the default run level)
4 Alternate Multi-user Wlist this state is unused, it is available to customer configuration/use.
5 Power-off To shut down the operating system so that it is safe to turn off power to the system. sun4m and sun4u will be powered off
6 Restart Reboot the system into run level 3 (or whatever level is the default in the inittab file)

Changing default run level

An entry with initdefault (in /etc/inittab file) is scanned only when init is initially invoked. init uses this entry to determine which run level to enter initially.

To find the default run level, review /etc/inittab and find the initdefault entry. For example:

# grep initdefault /etc/inittab
is:3:initdefault:

From the above entry, we see that the defailt run level set is 3.

We can use our favourite text editor to change this entry to match the default run level you desire.

Which run level am I at?

To check current run level in Solaris type the below command.

# who -r
   .       run-level 3  May  9 08:12     3      0  S

where:

  • run-level 3 — Identifies the current run level
  • May 9 08:12 — Identifies the date of last run level change
  • 3 — Also identifies the current run level
  • 0 — Identifies the number of times the system has been at this run level since the last reboot
  • S — Identifies the previous run level

Solaris 10

From Solaris 10 onwards it is no longer necessary to edit inittab directly; administrators should use the Solaris Service Management Facility (SMF) to define services instead.

In addition, the svcadm command can be used to change the run level of a system, by selecting a milestone at which to run. The following table shows which run level corresponds to each milestone.

Run levelSMF milestone
S milestone/single-user:default
2 milestone/multi-user:default
3 milestone/multi-user-server:default