Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




Run Levels

The runlevel is an identifier for each of the different states in which the GNU/Linux operating system can be running, such as in single user mode, multi-user mode, and halt and reboot modes. Generally a GNU/Linux system is running in multi-user mode.

The first script run by init, after booting into GNU/Linux, is /etc/init.d/rcS. The initialisation files for the default run level (usually 2) are then run. This is specified in /etc/inittab with the line:

  l2:2:wait:/etc/init.d/rc 2

This runs /etc/init.d/rc with the parameter 2. The /etc/init.d/rc script in turn runs the scripts in /etc/rc2.d/ (since the parameter 2 indicates rc2 as opposed to rc3, etc).

The default runlevel is runlevel 2, unless you change it in /etc/inittab:

  # The default runlevel. 

In general the runlevels 2, 3, 4, and 5 are all multi-user run levels and Debian sets them up to be the same.

  # Runlevel 0 is halt. 
  # Runlevel 1 is single-user. 
  # Runlevels 2-5 are multi-user. 
  # Runlevel 6 is reboot. 

  l0:0:wait:/etc/init.d/rc 0
  l1:1:wait:/etc/init.d/rc 1
  l2:2:wait:/etc/init.d/rc 2
  l3:3:wait:/etc/init.d/rc 3
  l4:4:wait:/etc/init.d/rc 4
  l5:5:wait:/etc/init.d/rc 5
  l6:6:wait:/etc/init.d/rc 6

Thus, when the system enters a runlevel it executes the scripts in /etc/rc.n where n is the runlevel in question. These scripts are in fact symbolic links (symlinks) to scripts in /etc/init.d/. A script starting with S starts a service. One starting with K stops a service. The number after the `S' or `K' specifies the order in which the scripts are run. For example, S25xdm will start before S35xdm.

To stop xdm, for example, from starting up by default on boot, simply remove the symbolic link of the corresponding `S' script from /etc/rc?.d/S*xdm.

See the man page for init for an extensive discussion.

The init script is run with "start" on changing runlevel (S) and runlevels 0 (the halt runlevel) and 6 (the reboot runlevel).

To remove something (e.g., gdm) from the init scripts:

  # update-rc.d -f gdm remove

Copyright © 1995-2006 [email protected]

  Published under the terms fo the GNU General Public License Design by Interspire