rc3(8) System Manager's Manual rc3(8)
rc3 - Run command script executed when entering a multiuser run level
The rc3 script contains run commands that enable initialization of the system to a multiuser state; run level 3. In addition to commands
listed within the script itself, rc3 contains instructions to run certain commands found in the /sbin/rc3.d directory. The script defines
the conditions under which the commands execute; some commands run if the system is booting, other commands execute if the system is chang-
ing run levels.
By convention, files in the rc3.d directory begin with either the letter "S" or the letter "K" and are followed by a two-digit number and a
filename; for example: S00inet S55inetd S70mount S65lpd
In general, the system starts commands that begin with the letter "S" and stops commands that begin with the letter "K." Commands that
begin with the letter "K" run only when the system is changing run levels from a higher to a lower level. Commands that begin with the
letter "S" run in all cases. The numbering of commands in the /sbin/rc3.d directory is important since the numbers are sorted and the com-
mands are run in ascending order. Files in the /sbin/rc3.d directory are normally links to files in the /etc/init.d directory.
An entry in the inittab file causes the system to execute the rc3 run commands, for example: s3:3:wait:/sbin/rc3 < /dev/console > /dev/con-
The following operations are typical of those that result from executing the rc3 script and the commands located in the /sbin/rc3.d direc-
tory. The operation depends on which state the system is entering or exiting. Setting the time zone Checking the current run level Start-
ing network services and daemons Starting (or stopping) system services and daemons Mounting file systems
Setting the TIMEZONE variable is one of the first operations completed by the rc3 script. This action provides the default time zone for
Specifies the command path Specifies the directory of commands that correspond to the run level
Commands: init(8), rc0(8), rc2(8) delim off
Check Out this Related Man Page
INIT.D(7) The SuSE boot concept INIT.D(7)
INIT.D - The SuSE boot concept
The scripts for controlling the system are placed in /etc/init.d/ (they have been moved according to the Linux Standard Base (LSB) specifi-
cation). These scripts are executed directly or indirectly by /sbin/init, the father of all processes. The configuration of /sbin/init is
given by the file /etc/inittab (see inittab(5)).
At boot time, the boot level master script /etc/init.d/boot is called to initialise the system (e.g. file system check, ...). It also exe-
cutes some hardware init scripts linked into /etc/init.d/boot.d/. Then it calls /etc/init.d/boot.local, which executes the local commands.
After system startup, /sbin/init will normally switch on the default run level given in /etc/inittab. It calls the run level master script
/etc/init.d/rc to start or stop services provided by the other scripts under /etc/init.d/.
Both scripts, then boot level master script /etc/init.d/boot and the the run level master script /etc/init.d/rc starts all other boot or
runlevel scripts either sequential or partial parallel within their dependencies order.
To control the services of a run level, the corresponding scripts are linked into run level directories /etc/init.d/rc<X>.d/, where
<X>=0,1,2,3,4,5,6,S is the run level number.
There are two kinds of symbolic link: start links, which are called when entering a run level, and stop links, which are called when leav-
ing a run level. Note that each service in the run levels 2, 3, 4, and 5 consists of a start and a stop link. Within SuSE boot concept a
differential link scheme is used to be able to change a runlevel in comparision with the former level.
If parallel executing of the boot scripts is enabled (see /etc/sysconfig/boot variable RUN_PARALLEL) then both master scripts uses the pro-
gram startpar(8) which starts or stops multiple services in parallel. Startpar(8) will look for the files /etc/init.d/.depend.boot,
/etc/init.d/.depend.start, and /etc/init.d/.depend.stop to get the dependencies for each service. The files will be written, beside the
symbolic links in the boot and runlevel directories, by the program insserv(8).
To avoid redundant starts when changing run levels, only those services are started which have no start link in the previous run level.
And to avoid redundant stops when changing run levels, only those services are stopped which have no start link in the current level. To
control this behaviour, the names of the scripts are added on the names of the start and stop links.
To control the order of service starts and stops, the start and stop links include a number in their link name.
The system configuration files in /etc/sysconfig contain most of the variables used to configure the installed services. These variables
can easily be changed by YaST or by using an editor. After using an editor, the script /sbin/SuSEconfig must be called to distribute the
settings into the system.
The script /etc/init.d/lpd starts or stops the line printer daemon for the printing service, according to the flag used:
To do this automatically in run level 3, this script is linked into /etc/init.d/rc3.d/ with these two symbolic links
/etc/init.d/rc3.d/S20lpd -> ../lpd
/etc/init.d/rc3.d/K20lpd -> ../lpd
The corresponding link with the letter S is used to start a service. For the printing service the number between the letter S and the name
should be greater than the number of the start link of the network service. The corresponding link with the letter K is used to stop a
service. The number of the stop link for the printing service should be less than that of the stop link for the network service so that the
printer daemon is stopped before shutting down the network service.
Run levels and their services
0 This level is used for halting the system. The only valid service for this level is the script halt, which is linked into
/etc/init.d/rc0.d/. The script halt executes /etc/init.d/halt.local. Special system issues for halt or reboot should be added
6 This level is used for rebooting the system. The only valid service for this level is the script reboot, which is linked into
/etc/init.d/rc6.d/. The script reboot executes /etc/init.d/halt.local. Specials system issues for halt or reboot should be added
S This mode is used to switch from boot phase into single user mode. The last valid service for this mode is the script single, which
is linked into /etc/init.d/rcS.d/. In this mode you have only one console.
1 According to the Linux Standard Base (LSB) specification this runlevel is used to switch from normal runlevel into single user mode.
This is different from former SuSE Linux versions!
2 The run level 2 is without remote networking. Note that on some other systems this is identical with the single user mode. This run
level can have more than one virtual console.
3 The run level 3 is with network. This run level is for server stations not automatically running X.
5 The level 5 is with network and xdm(1). You should have a configured and perfectly running X Window System for this work station
4 The run level 4 is not (yet) used.
This script is a model for writing your own. You can use insserv(8) to include your own script into a run level.
insserv(8), startpar(8), init(8), inittab(5), and the SuSE Linux handbook, chapter The SuSE boot concept.
1996-2005 SuSE Linux AG, Nuernberg, Germany.
Florian La Roche <http://www.suse.de/feedback>, Werner Fink <email@example.com>, Burchard Steinbild <http://www.suse.de/feedback>.
4.4 Berkeley Distribution Nov 15, 2000 INIT.D(7)