Manual Page Result
0
Command: rc | Section: 8 | Source: OpenBSD | File: rc.8
RC(8) FreeBSD System Manager's Manual RC(8)
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.
FreeBSD 14.1-RELEASE-p8 June 30, 2024 FreeBSD 14.1-RELEASE-p8