NAME
rc
, rc.firsttime
,
rc.local
, rc.securelevel
— command scripts for system
startup
DESCRIPTION
rc
is the command script that is invoked
by init(8)
when the system starts up. It performs system housekeeping chores and starts
up system daemons. Additionally, rc
is intricately
tied to the netstart(8) script, which runs commands and daemons pertaining to the
network. rc
is also used to execute any
rc.d(8)
scripts defined in
rc.conf.local(8). The rc.securelevel
,
rc.firsttime
, and rc.local
scripts hold commands which are pertinent only to a specific site.
All of these startup scripts are controlled to some extent by variables defined in rc.conf(8), which specify which daemons and services to run.
Before init(8) starts rc
, it sets the process
priority, umask, and resource limits according to the “daemon”
login class as described in
login.conf(5). It then starts rc
and attempts
to execute the sequence of commands therein.
The first part of rc
runs an
fsck(8) with
option -p
to “preen” all disks of
minor inconsistencies resulting from the last system shutdown and to check
for serious inconsistencies caused by hardware or software failure. If this
auto-check and repair succeeds, then the second part of
rc
is run. However, if the file
/fastboot exists, fsck will not be invoked. The file
is then removed so that fsck will be run on subsequent boots.
The second part of rc
then asks
rc.conf(8) for configuration variables, mounts filesystems, saves
dmesg(8)
output to the file /var/run/dmesg.boot, starts
system daemons, preserves editor files, clears the scratch directory
/tmp, uses
savecore(8) to save any possible core image that might have been
generated as a result of a system crash, and relinks kernel objects in a
random order.
If at any point the boot script fails,
init(8) enters
single-user mode, allowing the superuser a shell on the console. On exiting
this mode, init again invokes rc
, but this time
without performing the file system preen.
Before rc
starts most system daemons,
netstart(8) is executed.
rc.securelevel
is executed by
rc
to start daemons that must be run before the
security level changes. Following this, rc
then sets
the security level to '1' if it wasn't set already by
rc.securelevel
. See
securelevel(7) for the effects of setting the security level.
If rc.firsttime
exists, it is executed
once and then deleted. Any output is mailed to root.
rc.local
is executed towards the end of
rc
(it is not the very last as there are a few
services that must be started at the very end). Normally,
rc.local
contains commands and daemons that are not
part of the stock installation.
FILES
- /etc/netstart
- Command script for network startup.
- /etc/rc
- Command scripts for system startup.
- /etc/rc.conf
- System daemon configuration database.
- /etc/rc.conf.local
- Site specific daemon configuration database.
- /etc/rc.d
- Directory to hold rc.d(8) scripts.
- /etc/rc.d/rc.subr
- Functions used by the rc.d(8) scripts.
- /etc/rc.firsttime
- Commands run on the first boot after creation.
- /etc/rc.local
- Site specific command scripts for system startup.
- /etc/rc.securelevel
- Commands run before the security level changes.
- /etc/rc.shutdown
- Commands run at system shutdown.
- /etc/examples/rc.*
- Examples of site specific scripts.
- /fastboot
- Tells
rc
not to run fsck(8) during the next boot. - /var/run/dmesg.boot
- Copy of dmesg(8) saved by
rc
at boot time.
SEE ALSO
sysctl.conf(5), securelevel(7), init(8), netstart(8), rc.conf(8), rc.d(8), rc.shutdown(8), rcctl(8)
HISTORY
The rc
command appeared in
Version 4 AT&T UNIX.