Affiliation:
1. Delft University of Technology, Delft, Netherlands
2. Utrecht University, Utrecht, Netherlands
Abstract
Existing package and system configuration management tools suffer from an
imperative model
, where system administration actions such as upgrading packages 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 run 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 a
purely 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 analogously to a heap in a purely function language. We have implemented this model in
NixOS
, a non-trivial Linux distribution that uses the
Nix package manager
to build the entire system configuration from a purely functional specification.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference16 articles.
1. Rick Anderson. The end of DLL hell. MSDN http://msdn2.microsoft.com/en-us/library/ms811694.aspx January 2000. Rick Anderson. The end of DLL hell. MSDN http://msdn2.microsoft.com/en-us/library/ms811694.aspx January 2000.
2. Experience report
3. Space efficient conservative garbage collection
4. Mark Burgess. Cfengine: a site configuration engine. Computing Systems 8 (3) 1995. Mark Burgess. Cfengine: a site configuration engine. Computing Systems 8 (3) 1995.
5. Geoffrey Clemm. The Odin System -- An Object Manager for Extensible Software Environments. D thesis University of Colorado at Boulder February 1986. Geoffrey Clemm. The Odin System -- An Object Manager for Extensible Software Environments. D thesis University of Colorado at Boulder February 1986.
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献