LWN.net Logo

NixOS: purely functional system configuration management

NixOS: purely functional system configuration management

Posted Jul 4, 2009 12:36 UTC (Sat) by oak (guest, #2786)
In reply to: NixOS: purely functional system configuration management by njs
Parent article: NixOS: purely functional system configuration management

> Of course, that only works in the first place if you assume that the new
library *really is* compatible with your old binaries, which is often
assumed but rarely guaranteed.

Nowadays Debian provides some support for this. You can easily check
whether any of the symbols changes at build time and build will fail if
they changed, but the library version didn't.


(Log in to post comments)

NixOS: purely functional system configuration management

Posted Jul 5, 2009 3:33 UTC (Sun) by njs (guest, #40338) [Link]

That could mean two things: either there's a tool to check that whenever you depend on the existence of a symbol _FOO, there is indeed a symbol _FOO. Or, whenever you used to depend on the existence of a symbol _FOO, not only does _FOO still exist but that it refers to the "same thing". (E.g., if it points to a function, that that function's assembly is unmodified. And all the functions that it calls are, in turn, unmodified.)

I assume you mean the former. Such functionality is handy, but it's exactly what I'm referring to by "assumed" compatibility -- hey, the names are right, it must work! If the library author and the application author did their jobs perfectly then of course this is true, and often it works out well enough in practice, but... the value you see in something like NixOS will depend on how willing you are to assume that's the case.

Personally, I consider our present approach to be a lamentable imperfection imposed by a world of constant security updates, limited bandwidth, and awful QA capabilities. I'm not sure when or if I'll be able to switch to a NixOS-style system, but I'm glad someone is reminding us of this fact.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds