NixOS Vollständige Rezension und Hands-on
Bei der Kategorisierung von Linux-Distributionen ist es oft sinnvoll anzugeben, welches Paketverwaltungssystem die Distribution verwendet. Es gibt viele verschiedene Paketverwaltungssysteme, aber die beiden beliebtesten sind wahrscheinlich die Formate .deb und .rpm. Der erste stammt von Debian und wird von Ubuntu verwendet, während der zweite von RedHat entwickelt wurde.
NixOS ist eine Linux-Distribution mit einem eigenen, einzigartigen Paketmanager. Das gesamte Betriebssystem, einschließlich Kernel, Anwendungen, Systempakete und Konfigurationsdateien, wird vom Nix-Paketmanager erstellt. Der Nix Package Manager verwendet ein deklaratives Systemkonfigurationsmodell. Dies bedeutet, dass Systemkonfigurationselemente in einer Konfigurationsdatei beschrieben werden und das Betriebssystem alles Notwendige unternimmt, um die Konfiguration durchzuführen.
Wenn ein Systemadministrator einen SSH-Server installieren möchte, muss er lediglich eine Zeile zur Konfiguration hinzufügen, um diesen Dienst zu aktivieren. NixOS lädt dann OpenSHH herunter, installiert es und generiert die relevanten Konfigurationsdateien.
Ein weiteres interessantes Merkmal von NixOS ist, dass es alle seine Pakete isoliert voneinander speichert; Daher gibt es keine Verzeichnisse /bin, /sbin, /lib oder /usr. Alle Pakete werden stattdessen in /nix/store gespeichert. Zusammen mit dem deklarativen Konfigurationsmodell macht dies das Upgrade von NixOS-Systemen zuverlässig und ermöglicht dem Betriebssystem die Implementierung eines transaktionalen Ansatzes für die Systemverwaltung, einschließlich der Möglichkeit, Upgrades rückgängig zu machen.
Das deklarative Konfigurationsmodell erleichtert außerdem die Reproduktion einer Systemkonfiguration auf einer anderen Maschine. Der Administrator kopiert einfach die Konfigurationsdatei auf die neue NixOS-Maschine und mit einem Befehl wird die Maschine so umgewandelt, dass sie denselben Kernel, dieselben Anwendungen, dieselben Systemdienste usw. verwendet.
Um NixOS auszuprobieren, laden Sie die .ISO-Datei vom Projekt herunter Download-Seite, brennen Sie es auf eine CD und starten Sie Ihren PC davon. Nach dem Booten wird Ihnen eine Text-Anmeldeaufforderung angezeigt. Geben Sie als Benutzernamen „root“ ein und drücken Sie ENTER. Das NixOS-Installationsprogramm führt keine Partitionierung oder Formatierung durch, daher müssen Sie die Partitionen manuell erstellen und formatieren.
Notiz: Die folgenden Befehle löschen ALLES auf der Festplatte; Bitte gehen Sie vorsichtig vor.
Geben Sie Folgendes ein:
Dabei ist „/dev/sda“ der Name der Festplatte, die Sie verwenden möchten, in diesem Fall die erste Festplatte im PC.
Geben Sie in fdisk „o“ ein, um eine leere Partitionstabelle zu erstellen. Geben Sie „n, p, 1, ENTER, +2G, t, 82“ ein, um eine neue primäre Partition mit 2 GB zu erstellen, die als Auslagerungsspeicher verwendet werden soll. Geben Sie nun „n, p, 2, ENTER, ENTER“ ein, um eine neue primäre Partition für die NixOS-Installation zu erstellen. Verlassen Sie fdisk mit „w“. Wenn Sie den freien Speicherplatz auf der Festplatte nutzen möchten, ohne die vorhandenen Daten zu löschen, erstellen Sie keine leere Partitionstabelle und ändern Sie Ihr Partitionierungsschema entsprechend.
Aktivieren Sie den Swap Space mit:
mkswap -L swap /dev/sda1 swapon /dev/sda1Formatieren Sie nun die zweite Partition:
mkfs.ext4 -L nixos /dev/sda2Mounten Sie nun die neue Partition:
Mounten Sie /dev/disk/by-label/nixos /mntBeschreibende Konfigurationsdateien sind das Herzstück von NixOS und dem Nix Package Manager. Sogar der Installationsprozess benötigt eine Konfigurationsdatei, um NixOS mitzuteilen, was installiert werden soll. So generieren Sie einen Standardkonfigurationsdateityp:
nixos-generate-config --root /mntBearbeiten Sie nun die resultierende Datei mit nano:
nano /mnt/etc/nixos/configuration.nixSuchen Sie die folgenden Zeilen und entfernen Sie das „#“-Zeichen vom Anfang:
- boot.loader.grub.device = "/dev/sda"
- Services.openssh.enable = true
- Services.xserver.enable = true
- Services.xserver.layout = „uns“
- Services.xserver.desktopManager.kde4.enable = true;
- Services.xserver.displayManager.kdm.enable = true;
Beenden Sie nano mit STRG-X und starten Sie die Installation:
Sobald die Installation abgeschlossen ist, starten Sie Ihr System neu. Sie müssen die CD entfernen oder die Option „Von Festplatte starten“ auswählen, wenn Sie vom optischen Laufwerk gestartet haben.
Das System sollte den Display Manager starten; Sie können sich jedoch noch nicht anmelden, da keine Benutzer definiert sind und Root-Anmeldungen auf dem Desktop nicht zulässig sind. Drücken Sie STRG+ALT+F1, um zu einer Konsole zu wechseln.
Melden Sie sich nun als Root an und fügen Sie einen Benutzer hinzu. So erstellen Sie den Benutzer „gary“:
useradd -m gary passwd garySie sollten auch das Root-Passwort mit „passwd“ ändern.
Drücken Sie STRG+ALT+F7, um zur grafischen Anmeldeaufforderung zurückzukehren und sich mit dem oben erstellten Benutzernamen und Passwort anzumelden.
NixOS enthält keinen grafischen Paketmanager wie Ubuntu oder Fedora und alle Paketbefehle müssen vom Terminal aus ausgeführt werden. Um alle verfügbaren Pakete aufzulisten, geben Sie Folgendes ein:
Sie können „grep“ verwenden, um bestimmte Pakete zu finden. So suchen Sie nach der Teilzeichenfolge „fire“:
nix-env -qa \* | grep -i feuereIn der Liste befindet sich der Firefox-Webbrowser. Um es zu installieren, verwenden Sie:
Die Art und Weise, wie wir den Benutzer hinzugefügt und Firefox installiert haben, wird als zwingende Verwaltung bezeichnet. Sie führen einen Befehl aus und es passiert. Die Stärke von NixOS liegt jedoch in seiner deklarativen Verwaltung. Bei der deklarativen Verwaltung teilt der Systemadministrator NixOS mit, was erreicht werden muss, und NixOS stellt sicher, dass dies geschieht, ohne das System zu beschädigen.
Um beispielsweise einen Benutzer mithilfe der deklarativen Benutzerverwaltung hinzuzufügen, bearbeiten Sie „/etc/nixos/configuration.nix“ (als Root). Fügen Sie am Ende der Datei, aber vor dem letzten „}“ die folgenden Zeilen hinzu:
users.extraUsers.alice = { createHome = true; home = "/home/alice"; extraGroups = [ "wheel" ]; useDefaultShell = true; };Um ein Paket zu installieren, fügen Sie die folgende Zeile zur Datei „configuration.nix“ hinzu:
umwelt.systemPackages = [ pkgs.thunderbird ];Um die neue Datei „configuration.nix“ zu aktivieren, verwenden Sie den Befehl nixos-rebuild:
Dieser Befehl führt alles Notwendige aus, um die Konfiguration durchzuführen, einschließlich des Herunterladens von Thunderbird und der Erstellung des neuen Benutzers usw.
Die Leistung von NixOS ist beeindruckend. Wenn Sie tiefer gehen möchten, sollten Sie sich das ansehen NixOS-Handbuchund wenn Sie Hilfe benötigen, sollten Sie es versuchen NixOS-Community Seite.
Index
Schreibe einen Kommentar