GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Nix – Ein leistungsstarker Paketmanager für Linux und Unix

Vor einiger Zeit haben wir über Linuxbrew geschrieben , ein gemeinsamer Paketmanager für Linux und Mac OS X. Das Unterscheidungsmerkmal von Linuxbrew ist, dass Sie Pakete ohne root oder sudo installieren können Privileg. Heute werden wir in diesem Handbuch über einen weiteren ähnlichen Paketmanager sprechen. Lernen Sie Nix kennen , ein rein funktionaler und zuverlässiger Paketmanager für Linux und andere Unix-Varianten. Im Gegensatz zu anderen Paketmanagern bietet es die parallele Installation mehrerer Versionen desselben Pakets, atomare und Rollback-Unterstützung, Paketverwaltung pro Benutzer, einfache Einrichtung von Paketentwicklungsumgebungen und vieles mehr. Der Nix-Paketmanager wurde ursprünglich für NixOS entwickelt , eine GNU/Linux-Distribution mit einem einzigartigen Ansatz zur Paket- und Konfigurationsverwaltung. NixOS wurde ursprünglich als Forschungsprojekt von Eelco Dolstra gestartet im Jahr 2003.

Funktionen

Der Nix-Paketmanager unterscheidet sich in Bezug auf Funktionalität und Features etwas von anderen Linux-Paketmanagern. In Bezug auf die Funktionen können wir Folgendes auflisten:

  • Paketverwaltungssystem für mehrere Benutzer. Das bedeutet, dass jeder Benutzer im System einen anderen Satz installierter Pakete haben kann.
  • Die Benutzer können Pakete ohne Root- oder Sudo-Benutzerrechte installieren.
  • Der
  • Nix-Paketmanager speichert Pakete im Nix-Speicher , normalerweise das Verzeichnis /nix/store . Jedes Paket hat sein eigenes eindeutiges Unterverzeichnis. Sagen wir zum Beispiel das Paket gzip wird unter einem eindeutigen Verzeichnis /nix/store/c5y9w08xkiz6kvnscpjv3205gyr6iybz-gzip-1.8/ gespeichert zusammen mit allen erforderlichen Abhängigkeiten und Bibliotheken.
  • Verschiedene Benutzer können gleichzeitig verschiedene Versionen desselben Pakets installiert haben. Es ist gut für Entwickler, die ihre Anwendungen testen möchten, die mit verschiedenen Versionen von Paketen und Abhängigkeiten erstellt wurden.
  • Da alle Pakete in eindeutigen Verzeichnissen installiert werden, kann ein Benutzer nicht in Pakete eingreifen (wie Pakete entfernen, aktualisieren oder aktualisieren), die von einem anderen Benutzer installiert wurden. Außerdem wirkt sich das Upgrade oder Aktualisieren eines Pakets nicht auf die andere Version desselben Pakets oder seine Abhängigkeiten aus.
  • Ein Rollback von Paketen auf frühere Versionen ist möglich.
  • Atomic-Upgrade-Unterstützung. Das bedeutet, dass beim Upgrade eines Pakets die vorhandene Version nicht überschrieben wird. Jede neue Version wird unter einem neuen eindeutigen Verzeichnis gespeichert. Da Pakete nicht überschrieben werden, sind die alten Versionen auch nach einem Upgrade noch verfügbar.
  • Nicht verwendete Pakete können sicher entfernt werden.
  • DevOps-freundlicher Paketmanager. Nix hilft Benutzern, Pakete aus Quellen zu bauen, wenn sie noch nicht in den Repositories verfügbar sind. Daher ist Nix äußerst nützlich für Entwickler, da es die automatische Einrichtung der Build-Umgebung für ein Paket erleichtert.
  • Nix-Paketmanager kann in GNU/Linux und Mac OS X verwendet werden.

Jetzt werden wir sehen, wie man Nix Package Manager in Unix-ähnlichen Betriebssystemen installiert.

Installieren Sie den Nix-Paketmanager unter Linux

Die Installation des Nix-Paketmanagers ist trivial.

Um es auf Ihrem Linux-Rechner zu installieren, führen Sie es als normaler Benutzer aus:

$ curl https://nixos.org/nix/install | sh

Beispielausgabe:

 % Gesamt % Empfangen % Xferd Durchschnittliche Geschwindigkeit Zeit Zeit Zeit Aktuell Dload Hochladen Gesamt ausgegeben Linke Geschwindigkeit 100 2354 100 2354 0 0 833 0 0:00:02 0:00:02 --:--:-- 833 downloading Nix 1.11.9 Binär-Tarball für x86_64-Linux von 'https://nixos.org/releases/nix/nix-1.11.9/nix-1.11.9-x86_64-linux.tar.bz2' nach '/tmp/nix- Binary-Tarball-Unpack.SoCHJhv4Vz'... % Gesamt % Empfangen % Xferd Durchschnittliche Geschwindigkeit Zeit Zeit Zeit Aktueller Dload Upload Gesamtausgaben Verbleibende Geschwindigkeit 100 27,3 Mio. 100 27,3 Mio. 0 0 525k 0 0:00:53 0:00:53 - -:--:-- 248k Durchführen einer Einzelbenutzerinstallation von Nix... Verzeichnis /nix existiert nicht; Erstellen Sie es durch Ausführen von 'mkdir -m 0755 /nix &&chown sk /nix' mit sudo [sudo] Passwort für sk:Kopieren von Nix nach /nix/store................. .............. Nix-Datenbank initialisieren... /home/sk/.nix-Profil erstellen 'nix-1.11.9' installieren Pfad(e) erstellen '/nix/store/7dv1lghxz40rbvv9ffg7fq2as972a4r7 -user-environment“ hat 6 Symlinks in der Benutzerumgebung erstellt und Nix-Ausdrücke von „https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz“ heruntergeladen … „https://“ wird heruntergeladen d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz'... [7625/8656 KiB, 403,0 KiB/s] Kanäle entpacken... 2 Symlinks in Benutzerumgebung erstellt /home/ ändern sk/.bash_profile...Installation abgeschlossen! Um sicherzustellen, dass die erforderlichen Umgebungsvariablen gesetzt sind, melden Sie sich entweder erneut an oder geben Sie ein. /home/sk/.nix-profile/etc/profile.d/nix.shin Ihrer Shell.

Melden Sie sich nach der Installation von Nix von Ihrem System ab und wieder an, um zu überprüfen, ob die erforderlichen Umgebungsvariablen richtig eingestellt sind. Führen Sie alternativ den folgenden Befehl im Terminal aus, um dies sicherzustellen.

$ . /home/sk/.nix-profile/etc/profile.d/nix.sh

Bitte beachten Sie, dass am Anfang ein Punkt (.) steht. Wenn Sie keine Ausgabe sehen, sind Sie fertig! Der Nix-Paketmanager wurde erfolgreich auf Ihrem System installiert. Fügen Sie außerdem die obige Zeile zu Ihrem Profil PATH hinzu, um zu vermeiden, dass der obige Befehl jedes Mal ausgeführt wird, nachdem Sie sich bei Ihrem System angemeldet haben.

Bearbeiten Sie dazu ~/.profile oder ~/.bashrc (oder ähnlich):

$vi ~/.bashrc

Fügen Sie am Ende die folgende Zeile hinzu.

. /home/sk/.nix-profile/etc/profile.d/nix.sh

Speichern und schließen Sie die Datei. Starten Sie Ihr System neu. Jetzt müssen Sie den obigen Befehl nicht jedes Mal ausführen, nachdem Sie sich bei Ihrem System angemeldet haben.

Das folgende Tutorial erläutert, wie Sie den Nix-Paketmanager verwenden, um allgemeine Paketverwaltungsvorgänge wie das Installieren, Entfernen, Aktualisieren, Aktualisieren und Erstellen von Paketen durchzuführen.

  • Erste Schritte mit Nix Package Manager

Linux
  1. Was ist Ihr Lieblings-Linux-Paketmanager?

  2. Linuxbrew – Ein gemeinsamer Paketmanager für Linux und Mac OS X

  3. UNIX / Linux:So installieren und konfigurieren Sie mod_perl für Apache 2

  4. Warum gibt es keinen wirklich einheitlichen Paketmanager für Linux?

  5. Git-basierter Paketmanager/Installer für Linux

Erste Schritte mit Nix Package Manager

So finden Sie heraus, ob ein Paket unter Linux und Unix installiert ist oder nicht

Midnight Commander (mc) Guide:Leistungsstarker textbasierter Dateimanager für Unix

Flexibel für eine Fluxbox? – Lightweight X Window Manager für UNIX / Linux

Motrix:Ein kostenloser Open-Source-Download-Manager für Linux

OpenShot:Ein einfacher und leistungsstarker Video-Editor für Linux