-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)](http://leaf.dragonflybsd.org/cgi/web-man?command=sh&section=1) it is trivial to achieve this. For example:

-

-

-

-

-* rc.conf:

-

-

-

- hostname="node15.example.com"

-

- network_interfaces="fxp0 lo0"

-

- ifconfig_fxp0="inet 10.1.1.1"

-

-

-

-

-* rc.conf.site:

-

-

-

- defaultrouter="10.1.1.254"

-

- saver="daemon"

-

- blanktime="100"

-

-

-

-

-

-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 `make world` will not overwrite the `rc.conf` file, so system configuration information will not be lost.