So verwenden Sie Nixos Paket Manager?

So verwenden Sie Nixos Paket Manager?
Der Nixos -Paketmanager ist ein eigenes System. Sie können es unter jeder Linux -Verteilung verwenden.

Was macht Nixos Package Manager??

Die meisten Paketmanager verwenden eine Datei, die die ausführbare Datei oder den Quellcode enthält. Sie berechnen dann, was es für das System benötigt, und stellen dann sicher, dass es existiert. In Nix funktioniert die Dinge sehr ähnlich. Der große Unterschied besteht darin, dass Nix alle Dateien erstellt und bei Bedarf kompiliert und dann an einem Ort eingesetzt wird. Der Nix-Store. Die erste Frage, die Sie haben, ist möglicherweise: „Die Dateien haben nicht denselben Namen?Das System vermeidet dies, indem er ein Verzeichnis für jede Version hat und alle Dateien mit einem Hash nennt. Um die Anwendung zu „zu Hause fühlen“ zu machen, werden alle Abhängigkeiten mit ihren korrekten Verzeichnissen mit gewöhnlichen Symlinks verknüpft. Ein Profil verfolgt, welche Version jeder Benutzer ausführt.

Nixos -Benutzer installiert

Mit diesem System können in jedem Benutzerverzeichnis verschiedene Versionen installiert sein. Wenn sie bei mehreren Benutzern gleich sind, kann der Administrator Nix-Binärdateien wieder aufnehmen lassen, sodass jeweils nur einer existiert. Dies ist nützlich, um Speicherplatz zu sparen. Sie können auch bestimmte Umgebungen für jede Version des Pakets erstellen. Dies ist besonders nützlich, wenn Sie eine neue Version testen oder Software entwickeln möchten.

Installation für die gemeinsame Verteilung

Für die meisten gängigen Plattformen können Sie NIX, den Paketmanager mit einem einfachen Skript, installieren. Dieses Skript ist auf der NIX -Website verfügbar. Das Skript benötigt Root -Benutzerzugriff. Wenn Sie jedoch sehr sicherheitsbewusst sind, sollten Sie das Skript lesen, bevor Sie es verwenden. Wenn Sie vermeiden möchten, Root im Skript zu verwenden, erstellen Sie einfach das /Nix -Verzeichnis in Ihrem System.

$ Sh <(curl -L https://nixos.org/nix/install)

Wenn Sie keinen Root -Zugriff haben oder nur super vorsichtig sind, können Sie NIX als Benutzer nur Paketmanager haben.

$ Sh <(curl -L https://nixos.org/nix/install) -no-daemon

Dieses binäre Binär funktioniert für die meisten, wenn nicht für alle Verteilungen gut. Plattformen sind x8664, ich?86, AArch64 und x8664-Darwin, die fast alle verfügbaren Plattformen abdecken. Wenn Sie andere Plattformen verwenden, können Sie wahrscheinlich den Quellcode verwenden und Ihre eigenen erstellen. Wenn die Installation abgeschlossen ist, haben Sie eine Reihe neuer Befehle.

Hinzufügen Ihres ersten Programms zu Nixos

Um Software zu installieren und zu setzen, wenn sie verwendet werden kann, haben Sie Nix-Env. Die Installationsoption (-i) ist die häufigste, da Sie sie immer verwenden und ein Paket als Argument einsetzen.

$ nix -env -i Firefox

Dies sieht genauso aus wie in anderen Verteilungen, ebenso wie das Abfrageargument. Die Installation dauert jedoch einige Zeit. Der Grund dafür ist, dass sie die Software kompilieren muss, es sei denn, im NIX-Cache steht eine vorkompilierte Version. Das Erreichen des Cache ist auch nicht immer sehr schnell. Es gibt einen Unterschied, den Sie zur Kenntnis nehmen sollten. Sie können eine Version auswählen! Wenn Sie eine spezielle Version wünschen, müssen Sie feststellen, welche mit regulären Ausdrücken verfügbar sind.

$ nix -env -qa 'Firefox.*'

Sie erhalten eine Liste aller verfügbaren Pakete. Sie können es auf die gleiche Weise installieren, aber verwenden Sie den Wert in der Liste.

$ nix-env -install 'Firefox-78.4.0ser '-Preserve -installiert

Dies kann fehlschlagen, wenn Sie bereits eine installierte Version haben. Option '-Preserve-installiert' löscht die installierte Version nicht. Sie können zwei Versionen derselben Priorität haben, die Sie beheben können, indem Sie die Priorität festlegen.

$ NIX-ENV -Set-flag Priorität 2 'Firefox-82.0.2 '

Jetzt führen Sie die alte Version beim nächsten Start von Firefox aus. Um zu wechseln, welches Sie ausführen, können Sie die Priorität entsprechend festlegen. Sie können auch eine Hülle starten, um eine Binärdatei auszuwählen. Dies ist die Option eines Entwicklers, und der Befehl ist Nix-Shell.

Aktualisieren von Nixos

Sobald Sie eine Softwaresammlung haben, möchten Sie auf dem Laufenden bleiben. Wie immer verwenden Sie denselben Befehl mit einem Argument. Sie müssen aber auch den Kanal auf dem neuesten Stand halten. Der Befehl ist Nix-Kanal.

$ Nix -Kanal -update

Dies liest die aktuellen Versionen aller verfügbaren Pakete ab. Danach können Sie Ihre Software mit Nix-Env aktualisieren.

$ nix -env -upgrade

Ein solches Upgrade wird Ihre alte Version der Software aktualisieren. In diesem Fall wird das alte Firefox durch die neueste Version ersetzt. Möglicherweise wollen Sie dies aus irgendeinem Grund, in der Regel die Entwicklung.

Entfernen von Anwendungen aus Nixos

Das Entfernen von Anwendungen ist gleich einfach, mit einer kleinen Einschränkung. Es werden keine Bewerbungen durch einen Befehl entfernen.

$ nix-env -uninstall 'Firefox-78.4.0ser '

In diesem Befehl werden die Links zum aktuellen Build dieser Version von Firefox entfernt. Alle Dateien bleiben immer auf der Festplatte. Sie haben diese Versionen zur Verfügung, um einen Rollback durchzuführen. Ein Rollback bedeutet, dass Sie wieder die alte Version verwenden. Dies kann nützlich sein, wenn Sie das Neueste ausprobiert haben und es unvorhergesehene Probleme hat.

$ nix -env -Rollback

Sie rollen eine ganze Generation, was bedeutet alle Programme, die seit der letzten Generation aktualisiert wurden. In der Option wird zwei Befehle ausgeführt. diese Liste und wechselt dann zu diesen alten Generationen. Alle installierten Pakete existieren in einer Generation auf der Festplatte.

Nixos Roll-Back und Reinigen

Die Rollback -Funktion führt dazu, dass viele Speicherplätze von alten Versionen genutzt werden. Sie können dies aufräumen (Sie müssen dies aufräumen!). Wenn Sie eine lange Zeit lang genug hatten, können Sie diese alten Generationen bei Ihrer eigenen Wahl auch aufräumen, um Speicherplatz zu sparen.

$ NIX-Env-Delete-Generationen alt

Mit diesem Befehl löschen Sie alle Generationen außer den beiden letzten Generationen. Sie können in der Liste mit komplexeren Parametern hin und her gehen, um die spezifische Generation zu verlassen, die für Sie am besten geeignet ist. Wenn Sie nicht viele Test- oder Entwicklungsprojekte haben, die viele Versionen zum Testen benötigen, sollten Sie eine geplante Entfernung aller alten Generationen verwenden.

Ein einfaches Skript, mit dem Ihre Generationen sauber bleiben können.

$ Nix-collect-Müll

Sie sollten auch den Kollektor so einrichten, dass er automatisch mit Systemd oder anderen Systemen ausgeführt wird.

Abschluss

Nix Package Manager ist ein leistungsstarkes System, mit dem Sie komplexe Entwicklungsumgebungen auf Ihrer Maschine ausführen können. Sie können es auch verwenden, um Ihre Software aufgeräumt zu halten und eine einfache Möglichkeit zu haben, sich auf einer neuen Maschine wiederzueregen, falls die Katastrophe eines Festplattenabsturzs auftritt.