Difference between revisions of "Rc.conf"

From GhostBSD Wiki
Jump to: navigation, search
(Introduction)
m (Adding startup debug entries to rc.conf)
 
(14 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{welcome}}
 
{{welcome}}
{{maintenance}}
 
 
{{Navbar OpenRC}}
 
{{Navbar OpenRC}}
  
Line 11: Line 10:
 
==Description==
 
==Description==
  
The file rc.conf contains descriptive information about the local host name, configuration details for any potential network interfaces and  which services should be started up at system initial boot time.  In new    installations, the '''rc.conf''' file is generally initialized by the system installation utility.
+
The file [https://www.freebsd.org/cgi/man.cgi?query=rc.conf&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html '''rc.conf(5)'''] contains descriptive information about the local host name, configuration details for any potential network interfaces and  which services should be started up at system initial boot time.  In new    installations, the '''rc.conf''' file is generally initialized by the system installation utility.
  
The purpose of '''rc.conf''' is not to run commands or perform system startup actions directly. Instead, it is included by the various generic startup  scripts in '''/etc''' which conditionalize their internal actions according to  the settings found there.
+
The purpose of [https://www.freebsd.org/cgi/man.cgi?query=rc.conf&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html '''rc.conf(5)'''] is not to run commands or perform system startup actions directly. Instead, it is included by the various generic startup  scripts in '''[[/etc/]]''' which conditionalize their internal actions according to  the settings found there.
  
The '''/etc/rc.conf''' file is included from the file '''/etc/defaults/rc.conf,''' which specifies the default settings for all the available options.  Options need only be specified in '''/etc/rc.conf''' when the system administrator wishes to override these defaults.  The file '''/etc/rc.conf.local''' is used to override settings in '''/etc/rc.conf''' for historical reasons.
+
The '''/etc/[[Rc.conf|rc.conf]]''' file is included from the file '''/etc/[[Defaults/rc.conf|defaults/rc.conf]],''' which specifies the default settings for all the available options.  Options need only be specified in '''/etc/rc.conf''' when the system administrator wishes to override these defaults.  The file '''/etc/rc.conf.local''' is used to override settings in '''/etc/rc.conf''' for historical reasons.
  
 
The [https://www.freebsd.org/cgi/man.cgi?query=sysrc&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports sysrc(8)] command provides a scripting interface to modify system config files.
 
The [https://www.freebsd.org/cgi/man.cgi?query=sysrc&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports sysrc(8)] command provides a scripting interface to modify system config files.
 +
The /usr/sbin/[https://www.freebsd.org/cgi/man.cgi?query=sysrc&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html sysrc] utility retrieves [[Rc.conf|rc.conf(5)]] variables from the collection of    system rc files and allows processes with appropriate privilege to change    values in a safe and effective manner.
  
In addition to '''/etc/rc.conf.local''' you can also place smaller configuration files for each [https://www.freebsd.org/cgi/man.cgi?query=rc&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports rc(8)] script in the '''/etc/rc.conf.d''' directory.
+
 
 +
In addition to '''/etc/rc.conf.local''' you can also place smaller configuration files for each [https://www.freebsd.org/cgi/man.cgi?query=rc&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports rc(8)] script in the '''/etc/[[Rc.conf.d|rc.conf.d]]''' directory.
 +
 
 +
The [https://www.freebsd.org/cgi/man.cgi?query=timed&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html timed] utility is a time server daemon which is normally invoked at    boot time from the [[Rc.conf|rc.conf]](5) file.  It synchronizes the host's time with  the time of other machines, which are also running timed, in a local area    network.
  
 
==Example==
 
==Example==
Line 30: Line 33:
 
! scope="col" style="width: 350px;"|'''Description'''
 
! scope="col" style="width: 350px;"|'''Description'''
 
|-
 
|-
|root_rw_mount="NO"||
+
|root_rw_mount="NO"||Set to "YES" by default.  After the file systems are  checked at boot time, the root file system is remounted as read-write if this is set to "YES".  Diskless systems that mount their root file system from a read-only remote NFS share should set this to "NO" in their ''rc.conf''.
 
|-
 
|-
|sendmail_enable="NONE"||
+
|sendmail_enable="NONE"||If set to "YES", run the [https://www.freebsd.org/cgi/man.cgi?query=sendmail&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports sendmail(8)] daemon at system boot  time.  If set to "NO", do not run a [https://www.freebsd.org/cgi/man.cgi?query=sendmail&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports sendmail(8)] daemon to listen  for incoming network mail. This does not preclude a [https://www.freebsd.org/cgi/man.cgi?query=sendmail&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports sendmail(8)]    daemon listening on the SMTP port of the loopback interface.  The    "NONE" option is deprecated and should not be used.  It will be    removed in a future release.
 
|-
 
|-
|sendmail_submit_enable="NO"||
+
|sendmail_submit_enable="NO"||If set to "YES" and sendmail_enable is set to "NO", run [https://www.freebsd.org/cgi/man.cgi?query=sendmail&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports sendmail(8)] using sendmail_submit_flags instead of  sendmail_flags.  This is intended to allow local mail submission  via a localhost-only listening SMTP service required for running    [https://www.freebsd.org/cgi/man.cgi?query=sendmail&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports sendmail(8)] as a non-set-user-ID binary.  Note that this does not    work inside [https://www.freebsd.org/cgi/man.cgi?query=jail&sektion=2&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports jail(2)] systems, as jails do not allow binding to    just the localhost interface.
 +
 
 
|-
 
|-
|sendmail_outbound_enable="NO"||
+
|sendmail_outbound_enable="NO"||If set to "YES" and both sendmail_enable and    sendmail_submit_enable are set to "NO", run [[https://www.freebsd.org/cgi/man.cgi?query=sendmail&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports sendmail(8)] using    sendmail_outbound_flags instead of sendmail_flags. This is intended to allow local mail queue management for systems that do    not offer a listening SMTP service.
 +
 
 
|-
 
|-
|sendmail_msp_queue_enable="NO"||
+
|sendmail_msp_queue_enable="NO"||If set to "YES", start a client (MSP) queue runner    sendmail(8) daemon at system boot time.  As of sendmail 8.12, a    separate queue is used for command line submissions.  The client    queue runner ensures that nothing is left behind in the submission queue.
 
|-
 
|-
|devfs_system_ruleset="devfsrules_common"||
+
|devfs_system_ruleset="devfsrules_common"||Rule name(s) to apply to the system ''/dev'' itself.
 
|-
 
|-
|kld_list="linux linux64 cuse"||
+
|kld_list="linux linux64 cuse"||kld_list: A list of kernel modules to load right after the local disks are mounted.  Loading modules at this point in the boot process is much faster than doing it via /boot/loader.conf for those modules not necessary for mounting local disk.
 +
|-
 +
|ntpd_sync_on_start="YES"||If set to "YES", [https://www.freebsd.org/cgi/man.cgi?query=ntpd&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports ntpd(8)] is run with the -g flag, which syncs the system's clock on startup.  See [https://www.freebsd.org/cgi/man.cgi?query=ntpd&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports ntpd(8)] for  more information regarding the -g option.  This is a preferred alternative to using [https://www.freebsd.org/cgi/man.cgi?query=ntpdate&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports ntpdate(8)] or specifying the '' ntpdate_enable ''variable.
 +
 
 
|-
 
|-
|ntpd_sync_on_start="YES"||
+
|ifconfig_nfe0="DHCP"||[https://www.freebsd.org/cgi/man.cgi?query=ifconfig&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports ifconfig(8)], It is possible to bring up an interface with DHCP by adding  "DHCP" to the ifconfig_<interface> variable.
 
|-
 
|-
|ifconfig_nfe0="DHCP"||
+
|keymap="de.kbd"||If set to "NO", no keymap is installed, otherwise the  value is used to install the keymap file found in /usr/share/syscons/keymaps/<value>.kbd (if using [https://www.freebsd.org/cgi/man.cgi?query=syscons&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html syscons(4))] or /usr/share/vt/keymaps/<value>.kbd (if using [https://www.freebsd.org/cgi/man.cgi?query=vt&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html vt(4)]).
 
|-
 
|-
|keymap="de.kbd"||
+
|hostname="yourname.ghostbsd-pc.home"||Your host name
 
|-
 
|-
|hostname="slughorn.ghostbsd-pc.home"||
+
|kldload_nvidia="nvidia-modeset nvidia"||kldload -- load a file into the kernel
 
|-
 
|-
|kldload_nvidia="nvidia-modeset nvidia"||
+
|kldload_nvidia="nvidia-modeset nvidia"||kldload -- load a file into the kernel
 
|-
 
|-
|kldload_nvidia="nvidia-modeset nvidia"||
+
|autofs_enable="YES"||If set to "YES", start the [https://www.freebsd.org/cgi/man.cgi?query=automountd&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports automount(8)] utility and  the [https://www.freebsd.org/cgi/man.cgi?query=automountd&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports automountd(8)] and [https://www.freebsd.org/cgi/man.cgi?query=autounmountd&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports autounmountd(8)] daemons at boot time.
 
|-
 
|-
|autofs_enable="YES"||
+
|lpd_enable="NO"||If set to "YES", run the [https://www.freebsd.org/cgi/man.cgi?query=lpd&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports lpd(8)] daemon at system boot  time.
 
|-
 
|-
|lpd_enable="NO"||
+
|cupsd_enable="YES"||[https://www.freebsd.org/cgi/man.cgi?query=cups&apropos=0&sektion=0&manpath=FreeBSD+12.1-RELEASE+and+Ports&arch=default&format=html cups] - a standards-based, open source printing system
 
|-
 
|-
|cupsd_enable="YES"||
+
|dsbmd_enable="NO"||DSBMD - a media mounting daemon/automounter for FreeBS, [https://www.freshports.org/sysutils/dsbmd DSBMD] is a media/filesystem type detecting daemon that allows clients to mount storage devices.
 
|-
 
|-
|dsbmd_enable="NO"||
+
|kldload_vbox="vboxdrv"||kldload -- load the ''vboxdrv'' kernel module into the kernel, to use VirtualBox
 
|-
 
|-
|hald_enable="YES"||
+
|vboxnet_enable="YES"||VirtualBox network adapter
 
|-
 
|-
|kldload_vbox="vboxdrv"||
+
|vboxguest_enable="YES"||[https://www.freebsd.org/doc/handbook/virtualization-guest-virtualbox.html Guest on VirtualBox]
 
|-
 
|-
|vboxnet_enable="YES"||
+
|vboxservice_enable="YES"||[https://www.freebsd.org/doc/handbook/virtualization-guest-virtualbox.html Guest on VirtualBox]
 
|-
 
|-
|vboxguest_enable="YES"||
+
|ifconfig_em0="DHCP"||[https://www.freebsd.org/cgi/man.cgi?query=ifconfig&sektion=8&apropos=0&manpath=FreeBSD+12.1-RELEASE+and+Ports ifconfig] -- configure network interface parameters
 
|-
 
|-
|vboxservice_enable="YES"||
+
|webcamd_enable="YES"||# enable use of the webcam daemon software 
 
|-
 
|-
|ifconfig_em0="DHCP"||
+
|rc_debug="YES"
|}
+
rc_info="YES"
 +
|| Add either or both entries to debug rc.conf startup when booting.  Displays messages for you to see where boot fails.  You can check output from dmesg  or view file /var/log/messages
 +
|-}
  
  

Latest revision as of 16:15, 14 June 2020

Welcome to Icon Disti GhostBSD.png Rc.conf.
OpenRC
Scripts
/etc/rc
rc - shell
/etc/rc.devd
The generic hook into OpenRC.
/sbin/rcorder
Ordering rc-scripts
/etc/init.d
Scripts to run OpenRC
/usr/local/etc/init.d
Scripts to run OpenRC
/etc/rc.d
Scripts automatically executed at boot and shutdown
/usr/local/etc/rc.d
Special scripts
Configuration
/etc/devd.conf
Configuration file for devd(8)
/etc/conf.d
Initscript Configuration Files
/etc/rc.conf.d
Smaller configuration files
/etc/defaults/rc.conf
Specifies the default settings for all the available options.
/etc/rc.conf
The global OpenRC configuration file
/etc/rc.conf.ghostbsd
GhostBSD specific configurations
Tools/Helper
/usr/sbin/sysrc
Safely edit system rc files
/bin/rc-status
Shows which services are running
/sbin/rc-update
Add or delete services
/sbin/rc-service
Locate and run an OpenRC service
Back to the Icon Disti GhostBSD.pngSystem

Introduction[edit]

/etc/rc.conf

The global OpenRC configuration file.

Description[edit]

The file rc.conf(5) contains descriptive information about the local host name, configuration details for any potential network interfaces and which services should be started up at system initial boot time. In new installations, the rc.conf file is generally initialized by the system installation utility.

The purpose of rc.conf(5) is not to run commands or perform system startup actions directly. Instead, it is included by the various generic startup scripts in /etc/ which conditionalize their internal actions according to the settings found there.

The /etc/rc.conf file is included from the file /etc/defaults/rc.conf, which specifies the default settings for all the available options. Options need only be specified in /etc/rc.conf when the system administrator wishes to override these defaults. The file /etc/rc.conf.local is used to override settings in /etc/rc.conf for historical reasons.

The sysrc(8) command provides a scripting interface to modify system config files. The /usr/sbin/sysrc utility retrieves rc.conf(5) variables from the collection of system rc files and allows processes with appropriate privilege to change values in a safe and effective manner.


In addition to /etc/rc.conf.local you can also place smaller configuration files for each rc(8) script in the /etc/rc.conf.d directory.

The timed utility is a time server daemon which is normally invoked at boot time from the rc.conf(5) file. It synchronizes the host's time with the time of other machines, which are also running timed, in a local area network.

Example[edit]

The command cat /etc/rc.conf will show you somthing like this:

Name Description
root_rw_mount="NO" Set to "YES" by default. After the file systems are checked at boot time, the root file system is remounted as read-write if this is set to "YES". Diskless systems that mount their root file system from a read-only remote NFS share should set this to "NO" in their rc.conf.
sendmail_enable="NONE" If set to "YES", run the sendmail(8) daemon at system boot time. If set to "NO", do not run a sendmail(8) daemon to listen for incoming network mail. This does not preclude a sendmail(8) daemon listening on the SMTP port of the loopback interface. The "NONE" option is deprecated and should not be used. It will be removed in a future release.
sendmail_submit_enable="NO" If set to "YES" and sendmail_enable is set to "NO", run sendmail(8) using sendmail_submit_flags instead of sendmail_flags. This is intended to allow local mail submission via a localhost-only listening SMTP service required for running sendmail(8) as a non-set-user-ID binary. Note that this does not work inside jail(2) systems, as jails do not allow binding to just the localhost interface.
sendmail_outbound_enable="NO" If set to "YES" and both sendmail_enable and sendmail_submit_enable are set to "NO", run [sendmail(8) using sendmail_outbound_flags instead of sendmail_flags. This is intended to allow local mail queue management for systems that do not offer a listening SMTP service.
sendmail_msp_queue_enable="NO" If set to "YES", start a client (MSP) queue runner sendmail(8) daemon at system boot time. As of sendmail 8.12, a separate queue is used for command line submissions. The client queue runner ensures that nothing is left behind in the submission queue.
devfs_system_ruleset="devfsrules_common" Rule name(s) to apply to the system /dev itself.
kld_list="linux linux64 cuse" kld_list: A list of kernel modules to load right after the local disks are mounted. Loading modules at this point in the boot process is much faster than doing it via /boot/loader.conf for those modules not necessary for mounting local disk.
ntpd_sync_on_start="YES" If set to "YES", ntpd(8) is run with the -g flag, which syncs the system's clock on startup. See ntpd(8) for more information regarding the -g option. This is a preferred alternative to using ntpdate(8) or specifying the ntpdate_enable variable.
ifconfig_nfe0="DHCP" ifconfig(8), It is possible to bring up an interface with DHCP by adding "DHCP" to the ifconfig_<interface> variable.
keymap="de.kbd" If set to "NO", no keymap is installed, otherwise the value is used to install the keymap file found in /usr/share/syscons/keymaps/<value>.kbd (if using syscons(4)) or /usr/share/vt/keymaps/<value>.kbd (if using vt(4)).
hostname="yourname.ghostbsd-pc.home" Your host name
kldload_nvidia="nvidia-modeset nvidia" kldload -- load a file into the kernel
kldload_nvidia="nvidia-modeset nvidia" kldload -- load a file into the kernel
autofs_enable="YES" If set to "YES", start the automount(8) utility and the automountd(8) and autounmountd(8) daemons at boot time.
lpd_enable="NO" If set to "YES", run the lpd(8) daemon at system boot time.
cupsd_enable="YES" cups - a standards-based, open source printing system
dsbmd_enable="NO" DSBMD - a media mounting daemon/automounter for FreeBS, DSBMD is a media/filesystem type detecting daemon that allows clients to mount storage devices.
kldload_vbox="vboxdrv" kldload -- load the vboxdrv kernel module into the kernel, to use VirtualBox
vboxnet_enable="YES" VirtualBox network adapter
vboxguest_enable="YES" Guest on VirtualBox
vboxservice_enable="YES" Guest on VirtualBox
ifconfig_em0="DHCP" ifconfig -- configure network interface parameters
webcamd_enable="YES" # enable use of the webcam daemon software
rc_debug="YES"

rc_info="YES"

Add either or both entries to debug rc.conf startup when booting. Displays messages for you to see where boot fails. You can check output from dmesg or view file /var/log/messages