Nix (gestionar de pachete)

Nix este un manager de pachete pentru sistemele informatice. Ca RPM, APT și multe alte managere de pachete, este capabil de a controla instalarea de pachete sau a grupurilor de fișiere versionate, cum ar fi aplicațiile software sau a datelor de configurare asociate.[1][2][3]

Nix

Pachetele Nix sunt configurate folosind un limbaj funcțional pur si evaluat in mod lenes special conceput pentru acest scop; shell script-uri sau orice alt program extern (ca Make) poate fi folosit pentru a construi pachete de la codul sursă. Natura pur funcționala a sistemului permite urmărirea foarte precisa a dependințelor; de exemplu, un pachet binar are o dependență pe sursă corespunzătoare pachetului, pe compilator și alte pachete care compilarea o cere. Hash-uri criptografice determina exact dependențele de compilare si execuție a fiecare pachet, și fiecare pachet sursă sau binar este reprezentat de un astfel de un hash. Ca urmare, depozitele centrale de pachete binare permit o optimizare transparenta a funcționarii de bază a pachetului manager (similar cu un "cache" de pachete indexate de un hash criptografic).

Dependențele sunt rezolvate printr-un sistem funcțional echivalent cu legăturile hard (hard linking), în care versiuni ale software-ului ce depind de un pachet nu sunt eliminate până când nici un pachet nu mai este dependent de ele. Acest lucru poate duce la o mai mare nevoile de depozitare, dar face toate upgrade-uri în condiții de siguranță (garantat să nu corupa aplicațiile existente) și de atomicitate. Acesta permite, de asemenea, existenta a mai multor versiuni a unui pachet, inclusiv de pachete parametrizate, cum ar fi un program cu și fără o anumită caracteristică, de a coexista fără nici o interferență.

Nix depinde de propria sa structură de directoare pentru instalarea de pachete. Toate pachetele sunt instalate în sub-directoare ale director-ului nix. În numirea directoarelor, diferite versiuni ale unui pachet sunt identificate prin precedarea numele pachetului de către codul hash-ul asociat.

Nix pote fi utilizat, cu unele rezerve, ca un manager de pachete peste un sistem de operare existent, cum ar fi o distribuție GNU/Linux. Acesta poate fi, de asemenea, folosit pentru a menține orice fel de configuratii de fișier, cum ar fi setări de server, în plus față de software-ul de pachete în sens strict.

NixOS

NixOS[4] este o distribuție Linux folosind Nix în mod consistent pentru fiecare bucată de software-ul în sistem.[5]

Referințe

  1. ^ Prins, P., Suresh, J. și Dolstra, E., "Nix stabilește dependența iadul pe toate distribuțiile Linux," linux.com, decembrie 22, 2008
  2. ^ Dolstra, E., de Jonge, M. și Visser, E. "Nix: Un Seif și Politică-Sistem Gratuit pentru Software-ul de Implementare." Arhivat în , la Wayback Machine.
  3. ^ Dolstra, E. Pur Software Funcțional Model De Implementare. Arhivat în , la Wayback Machine.
  4. ^ Nix: reproducible builds and deployments (în engleză), nixos.org 
  5. ^ Dolstra, E. și Löh, A. "NixOS: Pur Funcțional Distributie de Linux Arhivat în , la Wayback Machine.."

Link-uri externe

  • Site web oficial
  • Comparație între Zero Instala și alte sisteme, cum ar fi Nix
  • Dezvoltator Debian critici (2008)
  • Introducere: Gestiune pur funcționala a configurației cu Nix și NixOS
v  d  m
Gestionare de pachete Linux
dpkg
APT (KPackage · Synaptic · Ubuntu Software Center) · Aptitude · dselect
RPM
APT-RPM · DNF · OpenPKG · up2date · urpmi (Rpmdrake) · YUM · ZYpp
Sistem înglobat
ipkg · opkg
Distribuții Linux
apk-tools (apk) · AppImage · Flatpak · GNU Guix · Homebrew · Nix · Pacman · pkgsrc · Snap · Yaourt
Pachete binare
Conary · Entropy · netpkg · PiSi · PPM · slackpkg · slapt-get · upkg
Pachete cod sursă
Portage · Sorcery
GUI
Autopackage · Listaller · PackageKit ( Apper · Discover · GNOME Software) · Smart Package Manager · Zero Install
Alte gestionare
AppData · AppStream · Package format
List-Class article List of software package management systems