NixOS 22.11 „Waschbär“ ist da • Das Register

NixOS ist eine Distribution, die mit einer neuen Art von Software-Build-Tool erstellt wurde. Sie können es installieren und es funktioniert, aber seltsamerweise ist das nicht wirklich der Punkt.

Dies ist keine herkömmliche Linux-Distribution, und daher ist dies auch kein herkömmlicher Distributions-Review. Wir wissen, dass eine der irritierendsten Arten von Aussagen lautet: „Wenn Sie fragen müssen, dann verstehen Sie es nicht.“ Der Versuch, Nix und NixOS als Außenstehender zu verstehen, ist ein bisschen so: Die Vorzüge und Vorteile, über die auf der Website und im Wiki gesprochen wird, oder sogar die frühe Berichterstattung, zum Beispiel hier auf Linux.com, sind eher theoretisch. Es scheint wenig Überschneidungen zwischen den Dingen zu geben, die die Nix-Community für wichtig zu halten scheint, und Dingen, die ein normaler Benutzer von Desktop-Betriebssystemen für wichtig halten könnte, so dass es schwierig ist, die Lücke zu schließen.

Hier, um Die Reg FOSS Desk, wir wollten uns NixOS schon seit dem zweiten Teil unseres Features über Linux-Softwarepaketierung ansehen, der an unsere Geschichte über containerisierte Paketierung anknüpft. Nun, ein Zeitfenster wurde verfügbar, also haben wir es heruntergeladen und installiert, und es funktioniert, mit einigen großen Einschränkungen. Seltsamerweise ist dies jedoch möglicherweise nicht der Punkt.

Das NixOS-Live-Installationsmedium ist in GNOME- und KDE-Plasma-Varianten erhältlich, aber Sie können jeden Desktop installieren, den Sie bevorzugen

Das NixOS-Live-Installationsmedium ist in GNOME- und KDE-Plasma-Varianten erhältlich, aber Sie können jeden Desktop installieren, den Sie bevorzugen

NixOS ist eine Linux-Distribution, die mit dem Nix-Paketsystem erstellt wurde. Eine neue Version des Betriebssystems, NixOS 22.11 „Raccoon“, wurde Anfang dieses Monats veröffentlicht. Es unterstützt x86-64- und AArch64-Computer, und seine Pakete können auch auf anderen Linux-Distributionen und macOS verwendet werden, die auf diesen Architekturen laufen.

Einer der wichtigsten Punkte hier ist, dass das Nix-Verpackungssystem wichtig ist; NixOS selbst ist fast ein Proof of Concept. Die drei wichtigsten Vorteile, die auf seiner Website aufgeführt sind – reproduzierbare Builds, deklarative Konfiguration und zuverlässige Installation – sind Eigenschaften des Paketsystems, nicht der Distribution selbst. Normale Linux-Distributionsüberlegungen wie einfache Installation oder Benutzerfreundlichkeit oder Hardwareunterstützung werden überhaupt nicht berücksichtigt.

Dies erschwert die Überprüfung etwas, da die Fragen, mit denen sich die Prüfer beschäftigen, nicht zutreffen. Lassen Sie uns sie also aus dem Weg räumen: Es ist ein Linux-Betriebssystem. Es läuft auf Dingen, auf denen Linux läuft, und es läuft nicht auf Dingen, auf denen Linux nicht läuft. Es wird Dinge tun, die jedes andere Linux tun wird, und es wird keine Dinge tun, die Linux nicht kann. Sie können den gewünschten Desktop auswählen, und dieser Desktop wird ausgeführt. Diese Version enthält GNOME, KDE Plasma, Xfce, Pantheon, Cinnamon, MATE, Enlightenment und LXQt. Das Projekt bietet vorkonfigurierte Download-Images mit GNOME und KDE Plasma für 64-Bit-Arm und x86 sowie ein minimales Installations-Image ohne GUI. Wir haben das GNOME-Image ausprobiert, und es startete ohne Probleme in GNOME, von dem aus wir ein Xfce-System installieren konnten, und es funktionierte perfekt.

Ein Teil des Problems besteht darin, dass die Art von Problemen, die die Nix-Community interessiert, nach dem ziemlich aktiven Subreddit zu urteilen, andere Fragen sind als die in vielen Distributionen. Das ist nicht einzigartig: Zum Beispiel kümmern sich Gentoo-Benutzer leidenschaftlich um Dinge, die den meisten Benutzern kaum bewusst sind, wie Compiler-Flags und Code-Optimierungseinstellungen.

Bei Nix geht es darum, Softwaresätze reproduzierbar zu spezifizieren und zu erstellen. Sie schreiben eine Konfigurationsdatei, und die Nix-Tools finden heraus, wie das zu erstellen ist, und tun es dann, und das Ergebnis ist jedes Mal genau dasselbe: Mit anderen Worten, Builds sind reproduzierbar. Das NixOS-Projekt ist an der Organisation Reproducible Builds beteiligt, die von der Software Freedom Conservancy unterstützt wird.

Das Kernproblem hier ist sicherzustellen, dass Sie genau das gleiche Ergebnis erhalten, wenn Sie den gleichen Quellcode nehmen und ihn mit den gleichen Einstellungen erstellen. Im Gegensatz zu Gentoo basieren die meisten Linux-Distributionen auf Binärdateien: Sie erstellen die Software und die Benutzer installieren sie. Es gibt nur ein Ubuntu und zum größten Teil nehmen seine verschiedenen Remixe diese Binärdateien und setzen sie zusammen, um Installationsmedien zu erstellen, die Sie installieren können. Wenn Sie sich für Ubuntu entscheiden, entscheiden Sie sich dafür, Canonical zu vertrauen, was der Gründer in seinem berühmten Blogbeitrag „We Have Root“ meinte, der damals zu erheblichen Kontroversen führte.

Die Situation für einige andere Distributionen, wie Rebuilds von RHEL wie Rocky und Alma Linux, ist anders, und für sie sind reproduzierbare Builds wichtig. Wenn Sie eine solche Distribution verwenden, liegt dies wahrscheinlich daran, dass sie garantiert mit dem ziemlich teuren kostenpflichtigen Upstream kompatibel ist, sodass Sie darauf achten, dass die Binärdateien in RockyLinux wirklich identisch mit denen in RHEL sind. Wenn also etwas mit RHEL funktioniert, wie zum Beispiel eine bestimmte exotische Hardware, können Sie sicher sein, dass es auch mit AlmaLinux oder Rocky Linux funktioniert. Dies macht Kompatibilitätsfragen etwas strittig: Es ist Ihnen egal, ob es mit einem bestimmten Modell und einer bestimmten Serverkonfiguration kompatibel ist. Wenn dieser Server als kompatibel mit RHEL zertifiziert ist, ist es Ihnen wichtig, dass die andere Distribution mit RHEL kompatibel ist, denn das bedeutet es Wille mit dem Server kompatibel sein.

Anders ausgedrückt: Wenn Sie Google Chrome von Google herunterladen, bedeutet das, dass Sie Google vertrauen müssen, weil Sie Chrome nicht selbst bauen können. Wenn Sie sich stattdessen für den Chromium-Browser entschieden haben, der Open Source ist, möchten Sie möglicherweise einen bestimmten Satz von Konfigurationsdateien, um eine Chromium-Binärdatei aus dem öffentlichen Quellcode zu erstellen, und kennt dass Sie ein identisches Ergebnis erhalten. Das bedeutet, um ein hypothetisches Beispiel zu nennen, dass alle Ihre Standorte auf der ganzen Welt ihre eigenen Kopien erstellen können, und Sie sind nicht darauf angewiesen, sie an einem Ort zu erstellen und sie dann selbst an alle Ihre Niederlassungen zu verteilen. Da es in Chromium etwa 35 Millionen Codezeilen gibt, ist das ein erhebliches Unterfangen. Es gibt buchstäblich und im übertragenen Sinne viele Variablen.

Natürlich ist ein bestimmter Build einer bestimmten Version von Chromium nur ein relativ kleiner Teil einer ganzen Linux-Distribution. Das Erstellen des gesamten Betriebssystems ist viel, viel komplizierter: Sie benötigen den Browser und alle Tools, um den Browser zu erstellen, und alle Tools, um seinen Code in seinen 18 Programmiersprachen zu erstellen, und die verschiedenen Bibliotheken, die das Ergebnis ausführen muss, und dass die Build-Tools ausgeführt werden müssen.

Es ist sehr kompliziert. Das ist zum Teil der Grund, warum Tools wie VMwares SaltStack und Red Hats Ansible existieren: um die Installation und Konfiguration von Maschinen zu automatisieren. Sie schreiben eine Konfigurationsdatei, richten die Software auf einige Computer aus, und das Tool übernimmt die Installation und Konfiguration für Sie. Der Autor hat vor fast einem Jahrzehnt kurz für Red Hat gearbeitet und kennt persönlich einige frühere und aktuelle Red Hatter, die ihre eigenen Ansible-„Playbooks“ pflegen, um den Prozess der Einrichtung ihrer eigenen persönlichen Laptops zu automatisieren.

Nix verschiebt die Lösung dieses Problems weiter nach unten im Softwarekonstruktionsstapel. Anstatt dass eine Organisation Binärdateien mit verschiedenen Toolchains erstellt und verpackt und dann andere Tools diese Software installieren und konfigurieren, können Sie mit den Nix-Tools in einer benutzerdefinierten Programmiersprache, die auch Nix und Nix genannt wird, angeben, was das Endergebnis sein soll Tools machen das für Sie möglich. Wenn das Endergebnis nicht das ist, was Sie wollten, oder es nicht ganz richtig funktioniert, kann Nix die Änderungen rückgängig machen, alles rückgängig machen und das gesamte Betriebssystem wieder auf den ursprünglichen Zustand zurücksetzen.

Das ist etwas, was herkömmliche Paketmanager wie DNF oder APT nicht können, weshalb die SUSE-Distributionsfamilie Btrfs-Snapshots verwendet, um vergleichbare Funktionen bereitzustellen. Diese Next-Gen-Funktionalität ist der Grund, warum SUSE auf seine MicroOS-basierte Adaptable Linux Platform setzt. Während das Fedora-Projekt dasselbe Dateisystem verwendet, verwendet es überhaupt keine Snapshot-Funktionalität – dafür gibt es separate Silverblue- und Kinoite-Editionen, die Red Hats OStree-Tool für Image-basierte Bereitstellungen verwenden.

Nix verwendet das Dateisystem, um dies zu erreichen, auf eine Weise, die sehr un-Unix-ähnlich ist. In der SUSE-Familie sieht man die verschiedenen Snapshots nicht direkt im Linux-Verzeichnisbaum, sie sind nur über die Btrfs-Tools sichtbar. In NixOS wird das gesamte Betriebssystem von Nix erstellt und verwaltet, sodass einige der herkömmlichen Verzeichnisse zwar existieren, deren Inhalt jedoch nicht Ihren Erwartungen entspricht. Wie der Screenshot zeigt, gibt es einen kombinierten /bin Verzeichnis, und es enthält nur eine einzige Datei: einen Symlink, den Sie bereitstellen müssen sh.

Das NixOS-Verzeichnis /bin ist erschreckend leer: Das Einzige, was darin enthalten ist, ist ein symbolischer Link, um eine Bash-Shell bereitzustellen.

Das NixOS-Verzeichnis /bin ist erschreckend leer: Das Einzige, was darin enthalten ist, ist ein symbolischer Link, um eine Bash-Shell bereitzustellen

Wenn Sie mit dem Layout des Unix-Dateisystems vertraut sind und Ihre /bin aus /usr/local/bin, NixOS wird ein Schock sein. Dort ist ein Paketverwaltungsbefehl, nix-envund Sie können es verwenden, um Software zu installieren, aber amüsanterweise, um ein bestimmtes Paket zu finden, empfiehlt das Nix-Wiki, auf search.nixos.org zu suchen.

Wenn Sie an eine einsatzbereite Linux-Box denken, können Sie sich leicht an ein bestimmtes Endergebnis erinnern: einen bestimmten Satz von Tools, vielleicht von bestimmten spezifischen Versionen, und Sie wissen, was Sie eingeben müssen, um sie zu öffnen, dann könnte NixOS dies tun Arbeite für dich. Sie lernen, wie Sie die gewünschten Pakete in einer Konfigurationsdatei angeben, und NixOS wird dies für Sie erledigen und es dann auf dem neuesten Stand halten. Du musst nur lernen, die Vorstellung loszulassen, dass die Dinge auf bestimmten bekannten Wegen sind: Das werden sie nicht sein. Sie befinden sich in einem sehr langen Ordner direkt darunter /nix/store/ und Sie müssen das Betriebssystem für Sie verwalten lassen.

Wenn Sie noch nicht wissen, welcher Desktop der richtige für Sie ist, und Sie Programme erkunden, lernen, hinzufügen, ausprobieren, einige entfernen usw. möchten, ist NixOS mit ziemlicher Sicherheit nichts für Sie. Es ist auch nichts für Sie, wenn Sie bereits ein tiefes Muskelgedächtnis haben, wo Dinge auf einer Unix-Box sein sollten.

Aber wir sehen viel Potenzial, wenn Sie bereits über solide Kenntnisse verfügen, aber auch bereit sind, Gelerntes loszulassen und neue Wege zu gehen. Davon abgesehen hängt viel von der Reife der Tools ab, und ausgehend von null Erfahrung haben wir festgestellt, dass das Ergreifen der GNOME-ISO, die Installation in Virtualbox und die Auswahl des Xfce-Desktops zu einer voll funktionsfähigen Installation ohne große Probleme führte. Eine Standardinstallation bot den Desktop, Firefox und das grundlegende Zubehör, das man erwarten könnte. Das Hinzufügen von LibreOffice war so einfach wie das Tippen nix-env -iA nixos.libreoffice und Sekunden später war Version 7.3.7 installiert und funktionierte. Wir mussten jedoch neu starten, damit es im Anwendungsmenü von Xfce angezeigt wird. Mit LibreOffice benötigte es weniger als 6 GB Festplatte und unter Xfce lag es im Leerlauf bei etwa 350 MB RAM.

In gewisser Weise bedeutet NixOS, den DevOps-Ansatz auf Ihren eigenen Computer zu übertragen. Machen Sie sich keine Gedanken darüber, wo sich Dinge befinden, Abhängigkeiten oder die Befehle, die Sie ausführen müssen, um Dinge zu installieren. Erstellen Sie eine Liste dessen, was Sie brauchen, sagen Sie Nix, dass er es tun soll, und entspannen Sie sich dann und lassen Sie das Betriebssystem sich darum kümmern, was wohin gehört, woher es kommt, ob es kompiliert werden muss, was auch immer.

Im Vergleich zu Berichten über NixOS von vor nur zwei oder drei Jahren fanden wir, dass es sehr einfach war, es zu installieren und zum Laufen zu bringen. Dies deutet darauf hin, dass die Tools gut ausgereift sind und einen gewissen Grad an Politur erreichen, aber aus einer erstmaligen Perspektive haben wir keine vorherige Basislinie, mit der wir vergleichen könnten. Dies ist keine traditionelle Distribution oder gar ein traditionelles Unix, aber es funktioniert und wir können den Reiz erkennen.

Wenn Sie in einer Position sind, in der Sie Ihre Vorurteile über Bord werfen und von vorne beginnen können, sieht NixOS sehr beeindruckend aus. Wenn Sie Ihr aktuelles Betriebssystem behalten müssen, können Sie den Nix-Paketmanager in einem Unterordner einer vorhandenen Distribution ablegen, und er erledigt seine Aufgaben in diesem Baum. Wenn Sie in einer Position sind, in der einzelne Linux-Kisten ständig kommen und gehen und Sie sich mehr darum kümmern, dass bestimmte erwartete Tools vorhanden sind und funktionieren, und Sie sich mehr um die Zeit kümmern, die dafür benötigt wird, dann ist NixOS es wert deine Einschätzung. ®

https://www.theregister.com/2022/12/13/nixos_2211_raccoon/ NixOS 22.11 „Waschbär“ ist da • Das Register

Rick Schindler

World Time Todays is an automatic aggregator of the all world’s media. In each content, the hyperlink to the primary source is specified. All trademarks belong to their rightful owners, all materials to their authors. If you are the owner of the content and do not want us to publish your materials, please contact us by email – admin@worldtimetodays.com. The content will be deleted within 24 hours.

Related Articles

Back to top button