Author:
DOLSTRA EELCO,LÖH ANDRES,PIERRON NICOLAS
Abstract
AbstractExisting package and system configuration management tools suffer from animperative model, where system administration actions such as package upgrades or changes to system configuration files are stateful: they destructively update the state of the system. This leads to many problems, such as the inability to roll back changes easily, to deploy multiple versions of a package side-by-side, to reproduce a configuration deterministically on another machine, or to reliably upgrade a system. In this paper we show that we can overcome these problems by moving to apurely functional system configuration model. This means that all static parts of a system (such as software packages, configuration files and system startup scripts) are built by pure functions and are immutable, stored in a way analogous to a heap in a purely functional language. We have implemented this model inNixOS, a non-trivial Linux distribution that uses theNix package managerto build the entire system configuration from a modular, purely functional specification.
Publisher
Cambridge University Press (CUP)
Reference32 articles.
1. Conception, evolution, and application of functional programming languages
2. Experience report
3. Heydon A. , Levin R. , Mann T. & Yu Y. (March 2001). The Vesta Approach to Software Configuration Management. Tech. Rep. Research Report 168. Compaq Systems Research Center.
4. The Odin System
Cited by
27 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献