Runlevel

A runlevel is a mode of operation in the computer operating systems that implement Unix System V-style initialization. Conventionally, seven runlevels exist, numbered from zero to six. S is sometimes used as a synonym for one of the levels. Only one runlevel is executed on startup; run levels are not executed one after another (i.e. only runlevel 2, 3, or 4 is executed, not more of them sequentially or in any other order).

A runlevel defines the state of the machine after boot. Different runlevels are typically assigned (not necessarily in any particular order) to the single-user mode, multi-user mode without network services started, multi-user mode with network services started, system shutdown, and system reboot system states. The exact setup of these configurations varies between operating systems and Linux distributions. For example, runlevel 4 might be a multi-user GUI no-server configuration on one distribution, and nothing on another. Runlevels commonly follow the general patterns described in this article; however, some distributions employ certain specific configurations.

In standard practice, when a computer enters runlevel zero, it halts, and when it enters runlevel six, it reboots. The intermediate runlevels (1–5) differ in terms of which drives are mounted and which network services are started. Default runlevels are typically 3, 4, or 5. Lower runlevels are useful for maintenance or emergency repairs, since they usually don't offer any network services at all. The particular details of runlevel configuration differ widely among operating systems, and also among system administrators.

In various Linux distributions, the traditional /etc/rc script used in the Version 7 Unix was first replaced by runlevels and then by systemd states on most major distributions.

Standard runlevels

Standard runlevels
ID Name Description
0 Shutdown Shuts down the system.
1 Single user mode Does not configure network interfaces or start daemons.[lower-alpha 1]
6 Reboot Reboots the system.

Linux

Although systemd is, as of 2016, used by default in most major Linux distributions, runlevels can still be used through the means provided by the sysvinit project. After the Linux kernel has booted, the /sbin/init program reads the /etc/inittab file to determine the behavior for each runlevel. Unless the user specifies another value as a kernel boot parameter, the system will attempt to enter (start) the default runlevel.

Linux Standard Base specification

Systems conforming to the Linux Standard Base (LSB) need not provide the exact run levels given here or give them the meanings described here, and may map any level described here to a different level which provides the equivalent functionality.[1]

LSB 4.1.0
ID Name Description
0 Halt Shuts down the system.
1 Single-user mode Mode for administrative tasks.[2][lower-alpha 2]
2 Multi-user mode Does not configure network interfaces and does not export networks services.[lower-alpha 3]
3 Multi-user mode with networking Starts the system normally.
4 Not used/user-definable For special purposes.
5 Start the system normally with appropriate display manager (with GUI) Same as runlevel 3 + display manager.
6 Reboot Reboots the system.

Slackware Linux

Slackware Linux uses runlevel 1 for maintenance, as on other Linux distributions; runlevels 2, 3 and 5 identically configured for a console (with all services active); and runlevel 4 adds the X Window System.

Slackware Linux runlevels[3]
ID Description
0 Halt
1 Single-user mode
2 Unused but configured the same as runlevel 3
3 Multi-user mode without display manager
4 Multi-user mode with display manager (X11 or a session manager)
5 Unused but configured the same as runlevel 3
6 Reboot

Gentoo Linux

Gentoo Linux runlevels[4]
ID Description
0 Halt
1 or S Single-user mode
2 Multi-user mode without networking.
3 Multi-user mode
4 Aliased for runlevel 3
5 Aliased for runlevel 3
6 Reboot

Unix

System V Releases 3 and 4

System V runlevels
ID Description
0 Shut down system, power-off if hardware supports it (only available from the console)
1 Single-user mode, all filesystems unmounted but not root, all processes except console processes killed
2 Multi-user mode
3 Multi-user mode with RFS (and NFS in Release 4) filesystems exported
4 Multi-user, User-definable
5 Halt the operating system, go to firmware
6 Reboot
s, S Identical to 1, except current terminal acts as the system console

Solaris

Starting from Solaris 10, SMF (Service Management Facility) is used instead of SVR4 run levels. The latter are emulated to preserve compatibility with legacy startup scripts.[5]

Solaris runlevels
ID Description
0 Operating system halted; (SPARC only) drop to OpenBoot prompt
S Single-user mode with only root filesystem mounted (as read-only) -- Solaris 10+: svc:/milestone/single-user
1 Single-user mode with all local filesystems mounted (read-write)
2 Multi-user mode with most daemons started – Solaris 10+: svc:/milestone/multi-user
3 Multi-user mode; identical to 2 (runlevel 3 runs both /sbin/rc2 and /sbin/rc3), with filesystems exported, plus some other network services started. -- Solaris 10+: svc:/milestone/multi-user-server
4 Alternative Multi-user mode, User-definable
5 Shut down, power-off if hardware supports it
6 Reboot

HP-UX

HP-UX runlevels
ID Description
0 System halted
S Single-user mode, booted to system console only, with only root filesystem mounted (as read-only)
s Single-user mode, identical to S except the current terminal acts as the system console
1 Single-user mode with local filesystems mounted (read-write)
2 Multi-user mode with most daemons started and Common Desktop Environment launched
3 Identical to runlevel 2 with NFS exported
4 Multi-user mode with VUE started instead of CDE
5, 6 Not used/User-definable

AIX

AIX does not follow the System V R4 (SVR4) runlevel specification, with runlevels from 0 to 9 available, as well as from a to c (or h). 0 and 1 are reserved, 2 is the default normal multi-user mode and runlevels from 3 to 9 are free to be defined by the administrator. Runlevels from a to c (or h) allow the execution of processes in that runlevel without killing processes started in another.

AIX runlevels
ID Name Description
0 reserved
1 reserved
2 Normal Multi-user mode default mode

The S, s, M and m runlevels are not true runlevels, but are used to tell the init command to enter maintenance mode. When the system enters maintenance mode from another runlevel, only the system console is used as the terminal.

See also

Notes

  1. Almost all systems use runlevel 1 for this purpose. This mode is intended to provide a safe environment to perform system maintenance. Originally this runlevel provided a single terminal (console) interface running a root login shell. The increasing trend towards physical access to the computer during the boot process has led to changes in this area.
  2. The additional behavior of runlevel 1 varies greatly. All distributions provide at least one virtual terminal. Some distributions start a login shell as the superuser; some require correctly entering the superuser's password; others provide a login prompt, allowing access to any registered user.
  3. In some cases, runlevels 2 and 3 function identically, offering a multi-user mode with networking.

References

  1. "Chapter 20. System Initialization 20.5. Run Levels". Linux Standard Base Core Specification 4.1. 2011. Retrieved 2011-04-21.
  2. "Chapter 15. Commands and Utilities 15.2. Command Behavior". Linux Standard Base Core Specification 4.1. 2011. Retrieved 2011-04-21.
  3. "Slackware Linux Runlevels". Retrieved 2013-06-11.
  4. "Gentoo Linux Runlevels". Retrieved 2013-06-11.
  5. Amrita Sadhukhan. "Solaris Boot Process". Sun. Retrieved 2009-08-19.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.