NixOS 14.12: Modernes Linux mit atomaren Updates
NixOS 14.12 ist erst die dritte Veröffentlichung dieser Distribution. Das Herzstück – der Paketmanager Nix – wird aber bereits seit 2003 entwickelt, wo er im Rahmen einer universitären Studie an der Universität zu Delft entstand. NixOS macht sich dessen teils unorthodoxe Arbeitsweise zunutze.
NixOS macht einiges anders als die meisten herkömmlichen Linux-Distributionen. Dabei gibt der Paketmanager Nix den Weg vor, dem in den letzten Jahren auch einige andere Distributionen wie etwa Fedora oder openSUSE gefolgt sind. So etwa beim sogenannten Usr-Merge.
Diese Art der Datenhaltung weicht von der gewohnten Aufteilung des Dateibaums ab, so wie er im Filesystem Hierarchy Standard (FHS) festgeschrieben ist. NixOS verlinkt dabei die Verzeichnisse /bin, /sbin und /usr/sbin nach /usr/bin, was dazu führt, dass ausführbare Dateien nur noch in diesem Verzeichnis zu finden sind. Zudem hat NixOS auch /lib, /lib32 und /lib64 dorthin verlinkt. Weiterhin fehlt bei NixOS das Verzeichnis /opt, dafür gibt es aber /nix.
NixOS setzt auf eine Mischung aus fertigen Binärdateien und aus dem Quellcode nach fertigen Rezepten der zu erstellenden Applikationen. Diese Rezepte downloaden den Quellcode, befriedigen die benötigten Abhängigkeiten und setzen die vorgegebene Konfiguration um. Die Rezepte dazu liegen in /etc/nixos/configuration.nix, die eigentlichen Pakete landen in /nix/store, etwa in der Form /nix/store/5rnfzla9kcx4mj5zdc7nlnv8na1najvg-firefox-34.1/. Das führt unter anderem dazu, dass die gleiche Anwendung ohne Hürden mehrmals installiert werden kann. Von dort werden die Pakete zudem aus Kompatibilitätsgründen nach /usr/bin symbolisch verlinkt.
Eine weitere Funktion von Nix, die heute immer beliebter wird und in letzter Zeit von Canonical, CoreOS und Red Hat übernommen wurde, sind atomare Updates, die es ermöglichen, per Rollback eine komplette Systemaktualisierung zurückzunehmen, sollte diese fehlerhaft sein. Größere Änderungen können aber auch im Vorfeld, parallel zum laufenden System in einer eigens erstellten virtuellen Maschine getestet werden. Mittels nixos-rebuild build-vm wird dazu eine Qemu-VM mit einem die Änderungen umfassenden Image zum Testen gestartet. Beim Neustart nach einem Systemupgrade werden der neue sowie auch ältere Systemzustände zum Starten angeboten.
In der Handhabung unterscheidet sich NixOS ansonsten nicht von den üblichen Vertretern der Linux-Zunft. Als Desktop-Umgebung wird KDE ausgeliefert. Die aktuelle Version NixOS 14.12 liegt als Live-Abbild für 32- sowie 64-Bit auf dem Projekt-Server vor. Ebenfalls werden eine minimale Installation sowie eine Virtualbox-Appliance im OVA-Format angeboten. Zudem kann das Abbild in die Amazon-Cloud geladen werden. Die Installation ist vom Schwierigkeitsgrad her in etwa mit der von Arch Linux vergleichbar. Der Paketmanager Nix steht auch für Distributionen und Betriebssysteme wie Debian, Fedora, Arch, FreeBSD und OS X zur Verfügung. Wer sich in die Eigenheiten von NixOS einlesen möchte, kann dies auf der Webseite des Projekts tun. Noch einen Schritt weiter geht mit einem ähnlichen Konzept die Distribution Bedrock, bei der die Vorteile gleich mehrerer Distributionen innerhalb von Bedrock simultan und transparent zugänglich sind. So können gleichzeitig Pakete verschiedenster Herkunft und Struktur nebeneinander installiert und benutzt werden.