[Gelistirici] pure functional
Evrim Ulu
evrim at core.gen.tr
22 Haz 2007 Cum 01:17:57 EEST
http://nix.cs.uu.nl/nixos/
NixOS is a Linux distribution based on Nix
<http://nix.cs.uu.nl/index.html>, a purely functional package management
system. NixOS is an experiment to see if we can build an operating
system in which software packages, configuration files, boot scripts and
the like are all managaed in a purely functional way, that is, they are
all built by deterministic functions and they never change after they
have been built. Such an operating system should have all the nice
characteristics <http://nix.cs.uu.nl/about.html> that the Nix package
manager has:
* The entire system — kernel, system services, configuration files,
etc. — is built by a /Nix expression/ in a deterministic and
repeatable way.
* Since configuration changes are non-destructive (they don’t
overwrite existing files), you can easily roll back to a previous
configuration. For instance, the Grub boot menu in NixOS allows
the user to boot into any previous system configuration that
hasn’t been garbage collected yet. This is very nice if something
goes wrong.
* Upgrading a configuration is as safe as installing from scratch,
since the realisation of a configuration is not stateful. This is
a result of being purely functional.
* Multi-user package management — any user can install software
through the same mechanisms that the administrator uses. This is
not the case for most package managers such as RPM.
Furthermore,
* NixOS allows us to verify that Nix packages are really pure. Nix
prevents undeclared dependencies /between/ packages in the Nix
store, but when you run Nix on an existing OS such as SUSE Linux,
Nix cannot prevent a build script from (say) calling programs in
/bin. If there /is/ no /bin, such a build script will fail.
GITmeye devam ...
--
Saglicakla,
Evrim Ulu <evrim at core.gen.tr>
Kor Bilisim Teknolojileri
http://www.core.gen.tr/
Gelistirici mesaj listesiyle ilgili
daha fazla bilgi