LCFG

LCFG stands for "Local ConFiGuration system". Developed at the University of Edinburgh beginning around 1993, it is "a system for automatically installing and managing the configuration of large numbers of computer systems. It is particularly suitable for sites with very diverse and rapidly changing configurations".

System architecture

 * The configuration of the entire site is described in a set of source files, held on a central server. Note that one source file does not (necessarily) correspond to one machine; a source file typically describes one aspect of the overall configuration, such as "parameters specific to student machines", or "parameters specific to Scientific Linux machines". An individual parameter may be affected by more than one source file.
 * The source files are compiled into individual profiles. One profile corresponds to one machine, and the profile contains all the configuration parameters necessary to recreate the configuration of the target machine. The profiles are published on a web server.
 * When a profile changes, the corresponding client is sent a simple UDP notification. The client retrieves the profile using HTTP, and caches the parameters in a DBM file. Clients normally poll periodically for new configurations in case the notification has been missed.
 * Clients periodically send a simple UDP acknowledgement to the server. These are collated to generate a web page showing status information for all the clients.
 * Component scripts on the client are responsible for reading the configuration parameters and taking the appropriate actions necessary to implement the configuration; usually this involves generating configuration files from the parameters in the profile. Components are notified when a new configuration is received which involves a change to some parameter of that component. The component regenerates any necessary configuration files, and notifies any associated daemons.