The principal location for system configuration information is within /etc/rc.conf. This file contains a wide range of configuration
information, principally used at system startup to configure the system. Its name
directly implies this; it is configuration information for the rc* files.
An administrator should make entries in the rc.conf file to
override the default settings from /etc/defaults/rc.conf. The
defaults file should not be copied verbatim to /etc - it
contains default values, not examples. All system-specific changes should be made in the
rc.conf file itself.
A number of strategies may be applied in clustered applications to separate site-wide
configuration from system-specific configuration in order to keep administration overhead
down. The recommended approach is to place site-wide configuration into another file,
such as /etc/rc.conf.site, and then include this file into /etc/rc.conf, which will contain only system-specific
information.
As rc.conf is read by sh(1) it is trivial to
achieve this. For example:
The rc.conf.site file can then be distributed to every
system using rsync or a similar program, while the rc.conf file remains unique.
Upgrading the system using sysinstall(8) or make world will not overwrite the rc.conf
file, so system configuration information will not be lost.