NOTE: click here if you get an empty page.


RC(8)			FreeBSD System Manager's Manual 		 RC(8)

NAME

rc -- command scripts for auto-reboot and daemon startup

SYNOPSIS

rc rc.conf rc.conf.local rc.early rc.d rc.serial rc.pccard rc.network rc.firewall rc.atm rc.<arch> rc.local rc.shutdown

DESCRIPTION

Rc is the command script which controls the automatic reboot (calling the other scripts) and rc.local is the script holding commands which are per- tinent only to a specific site. Typically, the /usr/local/etc/rc.d mech- anism is used instead of rc.local these days but if you do want to use rc.local, /etc/rc still supports it. In this case, rc.local should source /etc/rc.conf and contain additional custom startup code for your system. Rc.conf contains the global system configuration information referenced by the rc files, while rc.conf.local contains the local system configuration. See rc.conf(5). The rc.d directories contain scripts which will be automatically executed at boot time and shutdown time. At boot time, the specified directories are processed immediately after rc.local is executed. (See below for details on how to specify directories to check.) At shutdown time, the directories are processed by rc.shutdown. The following key points apply to the scripts within each directory: Scripts are only executed if their basename(1) matches the shell globbing pattern *.sh, and they are executable. Any other files or directories present within the directory are silently ignored. When a script is executed at boot time, it is passed the string ``start'' as its first and only argument. At shutdown time, it is passed the string ``stop'' as its first and only argument. All rc.d scripts are expected to handle these arguments appropriately. If no action needs to be taken at a given time (either boot time or shut- down time) the script should exit successfully and without producing an error message. The scripts within each directory are executed in lexicographical order. If a specific order is required, numbers may be used as a prefix to the existing filenames, so for example 100.foo would be executed before 200.bar; without the numeric prefixes the opposite would be true. The output from each script is traditionally a space character, followed by the name of the software package being started or shut down, without a trailing newline character (see the EXAMPLES section). The system initialization scripts can execute scripts from multiple rc.d directories. The default locations are /usr/local/etc/rc.d and /usr/X11R6/etc/rc.d, but these may be overridden with the local_startup rc.conf(5) variable. Rc.shutdown is the command script which contains any necessary commands to be executed as the system is shut down. When an automatic reboot is in progress, rc is invoked with the argument autoboot. The first portion of rc runs an fsck(8) with option -p to ``preen'' all the disks of minor inconsistencies resulting from the last system shutdown and to check for serious inconsistencies caused by hard- ware or software failure. If this auto-check and repair succeeds, then the second part of rc is run. The second part of rc, which is run after an auto-reboot succeeds and also if rc is invoked when a single user shell terminates (see init(8)), starts all the daemons on the system, preserves editor files and clears the scratch directory /tmp. Rc.early is run very early in the startup process, immediately before the filesystem check. Rc.serial is used to set any special configurations for serial devices. Rc.pccard is used to enable PC-cards. Rc.network is used to start the network. The network is started in three passes. The first pass sets the hostname and domainname, configures the network interfaces, turns on any IP firewall rules, and starts routing. The second pass starts most of the network related daemons. The third pass starts NFS, amd, rwhod, Kerberos and the multicast routing daemon. Rc.firewall is used to configure rules for the kernel based firewall ser- vice. It has several possible options: open will allow anyone in. client will try to protect just this machine. simple will try to protect a whole network. closed totally disables IP services except via lo0 interface. UNKNOWN disables the loading of firewall rules. filename will load the rules in the given filename (full path required). Rc.atm is used to configure ATM network interfaces. The interfaces are configured in three passes. The first pass performs the initial inter- face configuration. The second pass completes the interface configura- tion and defines PVCs and permanent ATMARP entries. The third pass starts any ATM daemons. Rc.<arch> runs architecture specific programs. Rc.local is executed after the scripts above, but before the rest of the rc file is completed. In a default installation rc.local does not exist, but its contents will be executed if the file is created by the adminis- trator. Following tradition, the startup files reside in /etc.

EXAMPLES

The following is a simple, hypothetical example of an rc.d script, which would start a daemon at boot time, and kill it at shutdown time. #!/bin/sh - # # initialization/shutdown script for foobar package case "$1" in start) /usr/local/sbin/foo -d && echo -n ' foo' ;; stop) kill `cat /var/run/foo.pid` && echo -n ' foo' ;; *) echo "unknown option: $1 - should be 'start' or 'stop'" >&2 ;; esac As all processes are killed by init(8) at shutdown, the explicit kill(1) is unnecessary, but is often included.

SEE ALSO

kill(1), rc.conf(5), init(8), reboot(8), savecore(8)

HISTORY

The rc command appeared in 4.0BSD. FreeBSD 4.9 December 11, 1993 FreeBSD 4.9

[Home] [Search] [Index] This site maintained by www@www-sbras.nsc.ru