[cs615asa] Black Team - Week 3

Robert Herley IV rherley at stevens.edu
Mon Feb 11 12:32:36 EST 2019


Hello everyone,

This week the Black Team researched Nix Package Manager, a purely
functional package management system, used by NixOS, a functional Linux
distribution built on top of it. In addition, Nix can be installed
side-by-side existing package managers in other Linux distributions, as
well as macOS. Due to the purely functional nature of Nix, it supports
atomic upgrades, seamless rollback, and efficient multi-user package
management, which enhances the reliability and overall quality of a
multi-user system.

Packages are defined using "Nix expressions", which lazily install packages
in directories under cryptographic hashes, so Nix has references to keep
track of what is currently installed globally on the system. This prevents
users from reinstalling the same packages as well as being able to garbage
collect packages that are no longer depended on. Unfortunately, due to the
ability of rollbacks and atomic nature of Nix's upgrades, storage space
will have to be sacrificed. Also, since every upgrade is atomic, there will
be much longer build times than a traditional package manager because
packages have to be compiled from the source.

References:
https://nixos.org/nix/about.html
https://www.tecmint.com/nix-package-manager-for-linux/
https://hackernoon.com/nix-haskell-concepts-for-package-management-65830ac89659
https://www.gnu.org/ghm/2009/dolstra-nix-slides.pdf

Regards,
Black Team
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.stevens.edu/pipermail/cs615asa/attachments/20190211/41138a12/attachment-0001.html>


More information about the cs615asa mailing list