Updates unter Linux: Paketmanager NIX aktualisiert (fast) alles

Marek Lindlein
107 Kommentare
Updates unter Linux: Paketmanager NIX aktualisiert (fast) alles
Bild: nixos.org

So komfortabel Paketmanager unter Linux auch sind, der Umfang der verfügbaren Software richtet sich nach der verwendeten Distribution. Dabei unterscheiden sich auch Programmversionen oftmals zwischen verschiedenen Distros. Mit über 80.000 Paketen in NIX rücken der Unterbau und dessen Quellen in den Hintergrund.

Der Paketmanager, quasi ein App Store

Paketmanager sind die Quelle der Wahl, wenn es darum geht, unter Linux neue Software zu beziehen. Sie sind eine zentrale Anlaufstelle, vergleichbar mit den App Stores von Apple, Google und Co. Das Konzept besteht bereits seit Jahrzehnten und es gibt sowohl Lösungen mit grafischer Benutzeroberfläche als auch Varianten, die auf dem Terminal (Eingabeaufforderung) basierten. Auch Microsoft bietet mit dem Windows Package Manager eine solche Plattform an.

Mit Paketmanagern fällt das Aufsuchen von Entwickler-Websites und Download-Portalen, um die gewünschten Programme einzeln herunter zu laden, weg. Einen Haken gibt es trotzdem: Wie so oft gibt es für ein Problem viele Lösungen, was das Thema Paketmanager unter Linux schnell unübersichtlich werden lässt.

Windows Package Manager
Windows Package Manager (Bild: commons.wikimedia.org, CC0 1.0)

Einheitlich ist unter Linux NIX

Auf die Frage, wie denn nun Software unter Linux verteilt werden soll, haben sich viele Möglichkeiten herausgebildet. Da wären zum Beispiel klassische Paketmanager mit einem eigenen Format. Zu nennen wäre da RPM, das beispielsweise Verwendung findet bei openSuse, Fedora und Red Hat Enterprise Linux, aber auch APT, das bei Debian und Ubuntu verwendet wird. Gleiches gilt für die auf letztere aufbauenden Distributionen POP!_OS und Linux Mint. Als dritte große Fraktion findet sich pacman in Arch Linux sowie dessen Abkömmlingen Manjaro und EndeavourOS.

Die Aufgabe dieser Paketmanager ist nicht nur das Installieren und Aktualisieren der Software-Pakete, obendrein werden sogenannte Abhängigkeiten aufgelöst. Für die bekannte Office-Suite LibreOffice wird beispielsweise Python benötigt. Der Paketmanager installiert daher automatisch das Python-Paket zum Office mit dazu. Als normaler Nutzer bekommt man davon allerdings nicht viel mit, da diese Aufgaben automatisch im Hintergrund stattfinden. Nun entsteht daraus aber ein neues Problem: Manche Programme benötigen eine bestimmte Programmversion, um richtig zu funktionieren, weshalb eben inkompatible Insellösungen zwischen den Distributionen entstehen können, da nicht auf jeder Distribution jedes Programm in gleicher Version vorliegt.

Fertige Programmpakete als Lösungsansatz

Als mögliche Lösung haben sich All-inclusive-Pakete gebildet, die nicht nur das Programm selbst, sondern auch alle nötigen Abhängigkeiten beinhalten. Dadurch sind sie unabhängig von der verwendeten Distribution lauffähig. Auch Valve geht beim Steam Deck diesen Weg und setzt auf Flatpak, damit Nutzer auf einfachem Weg Programme nachinstallieren können – und erspart sich gleichzeitig den Wartungsaufwand, die Kompatibilität aller Software-Pakete in den Arch-Linux-Quellen zu überprüfen, auf denen das Steam OS beruht. Neben Flatpak gibt es noch weitere Vertreter dieses Konzepts. AppImage und das vom Ubuntu-Entwickler Canonical vorangetriebene Snap-Paket beispielsweise.

NIX ist wie bisher

NIX verhält sich wie ein klassischer Paketmanager, er installiert fertige Pakete oder kompiliert diese und die nötigen Abhängigkeiten. Er funktioniert aber unabhängig vom verwendeten System, wie es etwa auch bei Flatpak der Fall wäre. Daher funktioniert ein Paket, das auf einem System läuft, auch auf einem anderen. Ein weiterer Vorteil, der sich bei NIX ergibt: Verschiedene Versionen eines Paketes können installiert werden, ebenso ist eine Rückkehr zu vorherigen Programmversionen jederzeit möglich, falls Probleme im Zuge eines Updates entstehen. Pakete werden grundsätzlich in einem vom System unabhängigen /nix/-Verzeichnis installiert.

NIX ist schnell installiert

NIX lässt sich unabhängig von der verwendeten Distribution über ein Installationsskript ausführen, wie es auf der Website beschrieben wird. Es installiert nicht nur den NIX-Paketmanager, obendrein wird das System für den Einsatz vorbereitet. Generell empfehlen die Entwickler die Multi-User-Installation, die mit folgendem Befehl bereits abgeschlossen ist:

sh <(curl -L https://nixos.org/nix/install) --daemon

Wer hingegen keine Skripte aus dem Internet ausführen möchte, kann auch auf vorgefertigte Pakete zurückgreifen (Beispiel: Arch Linux), die bei vielen Distributionen ausgeliefert werden. Je nach System wird aber noch eine manuelle Anpassung nötig, etwa das Anlegen von Verzeichnissen, das Festlegen von Umgebungsvariablen und das Einrichten von Konfigurationsdateien.

NIX ist einfach zu bedienen

Ob die Installation geglückt ist, lässt sich schnell durch die Nutzung von NIX herausfinden.

nix-env -iA nixpkgs.hello

„hello“ ist hierbei der Paketname, der sich beliebig durch das gewünschte Paket auswechseln lässt. Die Suchseite zeigt hierbei nicht nur den richtigen Paketnamen, sondern auch den jeweiligen Installationsbefehl an. Dieser kann nun für die Installation verwendet und das entsprechende Paket auch einfach im Anschluss ausgeführt werden.

Wichtige Befehle in der Übersicht

Programme lassen sich mit folgendem Befehl einfach wieder deinstallieren:

nix-env --uninstall hello

Eine Auflistung aller installierten Pakte erscheint durch:

nix-env -q

Ein Upgrade aller Pakete auf die aktuellste Version erfolgt durch:

nix-env --upgrade
Verfügbare Pakete lassen sich auch innerhalb der Konsole auflisten
Verfügbare Pakete lassen sich auch innerhalb der Konsole auflisten

Eine ausführliche Anleitung zu allen NIX-Funktionen findet sich im englischsprachigen Handbuch.

NIX systemunabhängig ausprobieren

NIX ist aber nicht nur ein Paketmanager, es gibt auch eine eigene Linux-Distribution. Vorteil hierbei ist ein vollständig eingerichteter Paketmanager, der direkt ab Start ausprobiert und genutzt werden kann. Anders als viele andere Distributionen ist NixOS eine eigenständige Entwicklung, die nicht auf anderen Systemen beruht.

Dieser Artikel war interessant, hilfreich oder beides? Die Redaktion freut sich über jede Unterstützung durch ComputerBase Pro und deaktivierte Werbeblocker. Mehr zum Thema Anzeigen auf ComputerBase.