Nix (gestor d'empaqueta)

De la Viquipèdia, l'enciclopèdia lliure
(S'ha redirigit des de: Gestor de paquets Nix)
Nix

Tipuspurely functional package manager (en) Tradueix, programari lliure i llenguatge de programació Modifica el valor a Wikidata
Versió inicial2003 Modifica el valor a Wikidata
Versió estable
2.12.0 (6 desembre 2022) Modifica el valor a Wikidata
LlicènciaGNU LGPL 2.1 Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiuLinux i Darwin Modifica el valor a Wikidata
Escrit enC++ i Perl Modifica el valor a Wikidata
Equip
Desenvolupador(s)Eelco Dolstra Modifica el valor a Wikidata
Més informació
Lloc webnixos.org (anglès) Modifica el valor a Wikidata
Seguiment d'errorsSeguiment d'errors Modifica el valor a Wikidata
Guia d'usuariGuia d'usuari Modifica el valor a Wikidata

Nix és un gestor de paquets per ordinadors que és purament funcional. Igual que el Gestor de paquets RPM, APT i molts altres gestor de paquets, controla la instal·lació de paquets, és a dir, grups de fitxers (com ara aplicacions i les configuracions corresponents) amb un nom col·lectiu i un número de versió.[1][2][3]

Funcionament[modifica]

El paquets de Nix es configuren mitjançant un llenguatge purament funcional i tardà que es va dissenyar expressament per fer aquesta tasca; per crear els paquets a partir del codi font, es poden utilitzar shell scripts o qualsevol altre programa extern (com ara Make). La naturalesa purament funcional del sistema permet fer un seguiment molt precís de les dependències entre els paquets; per exemple, un paquet binari té una dependència del corresponent paquet de codi font, del compilador i d'altres paquets necessaris per compilar-lo. Les dependències exactes de compilació i d'execució de cada paquet es determinen mitjançant resums (hashes) criptogràfics, i així cada paquet (de codi font o binari) es representa amb un d'aquests resums. Com a resultat, els repositoris de paquets binaris són una optimització transparent del funcionament bàsic del gestor de paquets (una cosa similar a un "cau" (cache) de paquets indexats per un resum criptogràfic).

Les dependències es resolen mitjançant un sistema funcionalment equivalent als enllaços físics, en el sentit que les versions de programes de què depèn un paquet no s'eliminen fins que ja no en depengui cap paquet. Això pot comportar que s'utilitzi més espai d'emmagatzematge, però també fa que totes les actualitzacions siguin segures (està garantit que no perjudiquen les aplicacions existents) i atòmiques. També permet que coexisteixin sense interferència diverses versions de qualsevol paquet, fins i tot paquets parametritzats com ara un programa amb una funcionalitat i sense.

Nix necessita tenir la seva pròpia estructura de directoris per instal·lar-hi els paquets: instal·la tots els paquets a subdirectoris del directori "nix". Les diferents versions d'un paquet es distingeixen afegint-ne el resum (hash) davant del nom.

Amb algunes precaucions, Nix es pot utilitzar com a gestor de paquets d'un sistema operatiu existent, per exemple d'una distribució de GNU/Linux. També es pot fer servir per gestionar tota mena de fitxers de configuració (com ara la instal·lació de servidors), més enllà dels paquets en sentit estricte.

NixOS[modifica]

NixOS[4] és una distribució de GNU/Linux que utilitza Nix per gestionar tots els programes del sistema.[5]

Referències[modifica]

  1. Prins, P., Suresh, J. i Dolstra, E., "Nix fixes dependency hell on all Linux distributions," linux.com, 22 desembre 2008
  2. Dolstra, E., de Jonge, M. i Visser, E. "Nix: A Safe and Policy-Free System for Software Deployment." Arxivat 2012-03-05 a Wayback Machine. A Damon, L. (Ed.), 18th Large Installation System Administration Conference (LISA '04), pàgines 79–92, Atlanta, Georgia, USA. USENIX, Novembre 2004.
  3. Dolstra, E. The Purely Functional Software Deployment Model. Arxivat 2012-03-05 a Wayback Machine. tesi doctoral, Faculty of Science, Utrecht, Països Baixos. Gener 2006. ISBN 90-393-4130-3
  4. [enllaç sense format] http://nixos.org/
  5. Dolstra, E. i Löh, A. "NixOS: A Purely Functional Linux Distribution Arxivat 2012-03-05 a Wayback Machine.." A ICFP 2008: 13th ACM SIGPLAN International Conference on Functional Programming, pàgines 367–378, Victoria, British Columbia, Canadà. Setembre 2008.

Vegeu també[modifica]

Enllaços externs[modifica]