configd System Configuration Daemon
configd [-bdv] [-B bundleID] [-V bundleID] [-t bundle-path]
- Maintains data reflecting the desired and current state of the system,
- Provides notifications to applications when this data changes, and
- hosts a number of configuration agents in the form of loadable bundles.
Each configuration agent is responsible for a well-defined aspect of configuration management. The agents look to one or more input
sources (preferences, low-level kernel events, configd notifications, etc) and, through a set of policy modules, interacts with the system to establish the desired operational configuration.
Access to the data maintained by configd is via the SystemConfiguration.framework SCDynamicStore APIs.
-b | Don't actually load any bundles.
| -t bundle-path| Loads only the bundle specified by bundle-path.
| -B bundleID| Prevents the loading of the bundle with the specified bundleID.
| -d | Run configd in the foreground without forking. This is useful for debugging.
| -v | verbose . Displays debugging information about bundles as they are being loaded.
| -V bundleID verbose for bundleID.
| | | | | | |
BUNDLES
configuration agents (or bundles) hosted by configd are used to establish and maintain the network configuration.
Including:
- KernelEventMonitor monitoring kernel events and conveying changes to the network state (e.g. link status) to other configuration agents and interested applications.
- InterfaceNamer provides a name to each of the system's network interfaces, queries the IOKit Registry for a list of network
devices attached to the system and gives them BSD style names such as "en0".
- IPConfiguration establishes and maintains IPv4 addresses, may be have been manually specified in the network preferences or acquired using DHCP (or BOOTP).
- IP6Configuration establishing and maintaining IPv6 addresses on the system.
- IPMonitor establishes and maintains the primary network service, the default route, the active DNS configuration, and the active network proxies
- LinkConfiguration establishes and maintains the media type, media options, and MTU for ethernet interfaces.
- PreferencesMonitor conveys the network configuration preferences specified by the administrator to the configuration agents (IPv4, IPv6, ...).
- PPPController establishes and maintains PPP connections on the system.
FILES
| Directory of configd bundles | /System/Library/SystemConfiguration/
|
| Default directory for system configuration persistent store files. | /Library/Preferences/SystemConfiguration/
|
| System configuration | .../preferences.plist
|
| Network interface --> BSD interface mappings | .../NetworkInterfaces.plist
|
| Virtual network interface (VLAN) configuration | .../VirtualNetworkInterfaces.plist
|
errors
Messages are sent to the system log daemon by syslog(3) The syslog facility used is LOG_DAEMON
If -d is specified, log messages with written to stdout (or stderr if the priority is greater than LOG_NOTICE).
SIGNALS
configd was designed to run without any intervention .
sigTERM initiates a "graceful" shutdown
See also
scutil(8), scselect(8)
As of 01/06/12 the bundles (in /System/Library/SystemConfiguration ) are:
Apple80211Monitor,
ApplicationFirewall,
Bluetooth,
EAPOLController,
IPConfiguration,
IPMonitor,
InterfaceNamer,
KernelEventMonitor,
LinkConfiguration,
Logger,
NetworkIdentification,
PPPController,
PreferencesMonitor,
PrinterNotifications,
wwanConfig
As of 10/03/11 the bundles were:
Apple80211Monitor, Bluetooth, EAPOLController, IPConfiguration, Logger, PrinterNotifications, PPPController, wwanConfig
Sample Info.plist
syslog (i.e. /var/log/06_info.log) contains many :
Jan 6 12:54:45 smackerPro configd[15]: hostname (prefs) = smackerPro
Jan 6 12:57:15 smackerPro configd[15]: hostname (prefs) = smackerPro
Note: Registers with launchd(8) such that the daemon will be restarted in the event of a crash,
Unless started with -d .
This registration is removed during "graceful" shutdowns of the daemon.
Mac OS X June 18, 2009