GNU/Linux >> Tutoriales Linux >  >> Linux

Nix:un potente administrador de paquetes para Linux y Unix

Hace un tiempo, hemos escrito sobre Linuxbrew , un administrador de paquetes común para Linux y Mac OS X. La característica distintiva de Linuxbrew es que puede instalar paquetes sin root ni sudo privilegio. Hoy, en esta guía, hablaremos sobre otro administrador de paquetes similar. Conoce a Nix , un administrador de paquetes puramente funcional y confiable para Linux y otras variantes de Unix. A diferencia de otros administradores de paquetes, proporciona instalación en paralelo de múltiples versiones del mismo paquete, soporte atómico y de reversión, administración de paquetes por usuario, fácil configuración de entornos de desarrollo de paquetes y mucho más. El administrador de paquetes Nix se desarrolló originalmente para NixOS , una distribución de GNU/Linux con un enfoque único para la gestión de paquetes y configuraciones. NixOS se inició inicialmente como un proyecto de investigación de Eelco Dolstra en 2003.

Características

El administrador de paquetes Nix es un poco diferente de otros administradores de paquetes de Linux en términos de funcionalidad y características. En cuanto a las características, podemos enumerar las siguientes:

  • Sistema de gestión de paquetes multiusuario. Eso significa que cada usuario en el sistema puede tener un conjunto diferente de paquetes instalados.
  • Los usuarios pueden instalar paquetes sin privilegios de usuario root o sudo.
  • El administrador de paquetes Nix almacena paquetes en la tienda Nix , generalmente el directorio /nix/store . Cada paquete tiene su propio subdirectorio único. Digamos, por ejemplo, el paquete gzip se almacenará en un directorio único /nix/store/c5y9w08xkiz6kvnscpjv3205gyr6iybz-gzip-1.8/ junto con todas las dependencias y bibliotecas requeridas.
  • Diferentes usuarios pueden tener diferentes versiones del mismo paquete instaladas al mismo tiempo. Es bueno para los desarrolladores que quieren probar sus aplicaciones creadas con diferentes versiones de paquetes y dependencias.
  • Dado que todos los paquetes se instalan en directorios únicos, un usuario no puede interferir (como eliminar, actualizar o actualizar paquetes) con los paquetes instalados por otro usuario. Además, actualizar o actualizar un paquete no afecta a la otra versión del mismo paquete ni a sus dependencias.
  • Es posible revertir paquetes a versiones anteriores.
  • Soporte de actualización atómica. Significa que cuando actualiza un paquete, no sobrescribe la versión existente. Cada nueva versión se almacenará en un nuevo directorio único. Dado que el paquete no se sobrescribe, las versiones anteriores aún están disponibles incluso después de una actualización.
  • Los paquetes no utilizados se pueden eliminar de forma segura.
  • Administrador de paquetes compatible con DevOps. Nix ayuda a los usuarios a crear paquetes a partir de fuentes, si aún no están disponibles en los repositorios. Por lo tanto, Nix es extremadamente útil para los desarrolladores, ya que facilita la configuración automática del entorno de compilación para un paquete.
  • El administrador de paquetes Nix se puede usar en GNU/Linux y Mac OS X.

Ahora, veremos cómo instalar Nix Package Manager en sistemas operativos similares a Unix.

Instalar el administrador de paquetes Nix en Linux

Instalar el administrador de paquetes Nix es trivial.

Para instalarlo en su caja de Linux, ejecute como usuario normal:

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

Salida de muestra:

 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 2354 100 2354 0 0 833 0 0:00:02 0:00:02 --:--:-- 833
 downloading Nix 1.11.9 binary tarball for x86_64-linux from 'https://nixos.org/releases/nix/nix-1.11.9/nix-1.11.9-x86_64-linux.tar.bz2' to '/tmp/nix-binary-tarball-unpack.SoCHJhv4Vz'...
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
 100 27.3M 100 27.3M 0 0 525k 0 0:00:53 0:00:53 --:--:-- 248k
 performing a single-user installation of Nix...
 directory /nix does not exist; creating it by running ‘mkdir -m 0755 /nix && chown sk /nix’ using sudo
 [sudo] password for sk:
 copying Nix to /nix/store...............................
 initialising Nix database...
 creating /home/sk/.nix-profile
 installing ‘nix-1.11.9’
 building path(s) ‘/nix/store/7dv1lghxz40rbvv9ffg7fq2as972a4r7-user-environment’
 created 6 symlinks in user environment
 downloading Nix expressions from ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’...
 downloading ‘https://d3g5gsiof5omrk.cloudfront.net/nixpkgs/nixpkgs-17.09pre108299.ec9a23332f/nixexprs.tar.xz’... [7625/8656 KiB, 403.0 KiB/s]
 unpacking channels...
 created 2 symlinks in user environment
 modifying /home/sk/.bash_profile...

Installation finished! To ensure that the necessary environment
 variables are set, either log in again, or type

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

in your shell.

Después de instalar Nix, cierre sesión y vuelva a iniciar sesión en su sistema para verificar que las variables de entorno necesarias estén configuradas correctamente. Alternativamente, ejecuta el siguiente comando desde la Terminal para asegurarlo.

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

Tenga en cuenta que hay un punto (.) al principio. Si no ve ningún resultado, ¡ya está! El administrador de paquetes Nix se ha instalado correctamente en su sistema. Además, agregue la línea anterior a la RUTA de su perfil para evitar ejecutar el comando anterior cada vez que inicie sesión en su sistema.

Para hacerlo, edite ~/.profile o ~/.bashrc (o similar):

$ vi ~/.bashrc

Agregue la siguiente línea al final.

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

Guarde y cierre el archivo. Reinicie su sistema. Ahora, no tiene que ejecutar el comando anterior cada vez que inicie sesión en su sistema.

El siguiente tutorial explica cómo usar el administrador de paquetes Nix para realizar operaciones generales de administración de paquetes, como instalar, eliminar, actualizar, mejorar y crear paquetes.

  • Primeros pasos con Nix Package Manager

Linux
  1. Cómo instalar y usar Yarn Package Manager en Linux

  2. Nix:un potente administrador de paquetes para Linux y Unix

  3. ¿Flexible para un Fluxbox? – Administrador ligero de ventanas X para UNIX / Linux

  4. ¿Por qué no existe un administrador de paquetes realmente unificado para Linux?

  5. Administrador/instalador de paquetes basado en Git para Linux

Primeros pasos con el administrador de paquetes de Nix

Cómo encontrar si un paquete está instalado o no en Linux y Unix

Guía de Midnight Commander (mc):potente administrador de archivos basado en texto para Unix

UNIX/Linux:Cómo instalar y configurar mod_perl para Apache 2

Motrix:un administrador de descargas gratuito y de código abierto para Linux

OpenShot:un editor de video simple y poderoso para Linux