FreeBSD Handbook
Prev | Chapter 12 Configuration and Tuning | Next

# 12.3 Core Configuration

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 system-specific configuration into the `/etc/rc.conf.local` file. For example:

- `/etc/rc.conf`:

      sshd_enable="YES"
      keyrate="fast"
      defaultrouter="10.1.1.254"

- `/etc/rc.conf.local`:

      hostname="node1.example.org"
      ifconfig_fxp0="inet 10.1.1.1/8"

The `rc.conf` file can then be distributed to every system using `rsync` or a similar program, while the `rc.conf.local` 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.

> Tip: The `/etc/rc.conf` configuration file is parsed by sh(1). This allows system operators to add a certain amount of logic to this file, which may help to create very complex configuration scenarios. Please see rc.conf(5) for further information on this topic.

Prev | Home | Next
Initial Configuration | Up | Application Configuration