Table of Contents
Nix: el administrador de paquetes puramente funcional para Linux
Nix. es un potente sistema de administración de paquetes puramente funcional diseñado para una administración de paquetes confiable y reproducible, lanzado bajo los términos de GNU LGPLv2.1. Es el sistema de administración de paquetes principal en NixOS. una distribución de Linux menos conocida.
Nix ofrece actualizaciones y reversiones atómicas, múltiples versiones de instalación de paquetes, administración de paquetes multiusuario y sin esfuerzo configuración de entornos de compilación para un paquete, independientemente de qué lenguajes de programación y herramientas esté utilizando un desarrollador.
En Nix. los paquetes se compilan a partir de un lenguaje de paquete funcional llamado “ Expresiones de Nix. ”. Este enfoque funcional para la administración de paquetes garantiza que la instalación o actualización de un paquete no puede romper otros paquetes.
Nix también tiene soporte para múltiples usuarios, lo que implica que los usuarios normales (o sin privilegios) del sistema pueden instalar paquetes y cada usuario es identificado por un perfil (una colección de paquetes en la tienda Nix que aparecen en la RUTA del usuario).
En caso de que un usuario haya instalado un paquete, si otro usuario intenta instalar el mismo paquete, el paquete no se compilará ni descargará por segunda vez.
freestar.config.enabled_slots.push ( locationName: “tecmint_incontent”, slotId: “tecmint_incontent”);
Actualmente es compatible con Linux (i686, x86_64) y Mac OS X (x86_64). Sin embargo, es bastante portátil, puede probarlo en la mayoría de las plataformas que admiten subprocesos POSIX y tienen un compilador C ++ 11.
En este artículo, mostraremos cómo instalarlo (en modo multiusuario) y use el administrador de paquetes Nix. en Linux. Discutiremos algunas de las tareas básicas de administración de paquetes en relación con las herramientas de uso común.
Cómo instalar Nix Package Manager en Linux
Instalaremos la última versión de Nix. ( v2.1.3. en el momento de escribir este artículo) en modo multiusuario. Afortunadamente, hay un script de instalación preparado que puede ejecutar desde su shell como un usuario normal usando el siguiente comando curl en su sistema.
$ sh <(curl https://nixos.org/nix/install)--daemon
Ejecutar el comando anterior descargará el último tarball binario de nix, y aterrizará en la pantalla de instalación de nix multiusuario como se muestra en la captura de pantalla.
Instale Nix Package Manager en Linux
Para ver una lista detallada de lo que sucederá durante el proceso de instalación, escriba y y presione Intro. Si está satisfecho y listo para continuar, escriba y y presione Enter.
Resumen de la instalación de Nix
El script invocará el comando sudo tantas veces como sea necesario. Debes permitirle usar sudo. respondiendo y y presionando Enter.
Continúa la instalación de Nix
La instalación er luego ejecutará algunas pruebas y generará un informe de configuración de Nix, creará usuarios de compilación entre los ID de usuario 30001. y 30032. y un grupo con el ID de grupo 30000. Ingrese y para continuar cuando se le solicite. Configurará los grupos de compilación para los diferentes usuarios de compilación, creará la estructura de directorio básica de Nix.
Modificará el archivo /etc/bashrc. (y /etc/zshrc. para zsh. si existen. Tenga en cuenta que primero realiza una copia de seguridad de los archivos mencionados con una extensión .backup-before-nix. y el instalador también crea el archivo /etc/profile.d/nix.sh.
El instalador también configurará el servicio nix-daemon y el servicio de socket nix-daemon, carga la unidad systemd para nix-daemon e inicia los dos servicios antes mencionados.
Una vez realizada la instalación está completo, debe abrir una nueva ventana de terminal para comenzar a usar Nix. Alternativamente, cierre y vuelva a abrir su shell para aplicar los cambios recientes. Luego obtenga el archivo /etc/profile.d/nix.sh. (debido a que no es un archivo de inicio de shell, abrir un nuevo shell no lo generará).
$ source/etc/profile .d/nix.sh
A continuación, ejecute el siguiente comando para descargar algunas rutas del sitio web oficial del proyecto, necesario para que Nix. funcione. Después de descargar y copiar todas las rutas en las ubicaciones correctas, verá un resumen del tipo de instalación del sistema y nix como se muestra en la captura de pantalla.
$ nix-shell-p nix-info–run “nix-info-m “
Resumen de instalación y sistema de Nix
Cómo utilizar Nix Package Manager en Linux
En Nix. la administración de paquetes la realiza la utilidad nix-env. Se utiliza para instalar, actualizar y eliminar/borrar paquetes, y para consultar qué paquetes están instalados o disponibles para su instalación.
Todos los paquetes se encuentran en un canal Nix, que es una URL que apunta a un repositorio que comprende tanto una colección de expresiones de Nix como un puntero a un caché binario.
El canal predeterminado es Nixpkgs. y la lista de canales suscritos se almacena en ~/.nix-channels. puede listarlos usando el siguiente comando (sin salida significa que no hay canales).
$ nix-channel–list
Para agregar el canal Nix, use el siguiente comando.
$ nix-channel–add https://nixos.org/channels/nixpkgs-unstable
Antes de instalar cualquier paquete, comience por actualizar el canal Nix; esto es similar a ejecutar apt update. bajo el administrador de paquetes APT.
$ nix-channel–update
Actualizar canal Nix
Puede consultar qué paquetes están disponibles para la instalación utilizando el siguiente comando.
$ nix-env-qa
Paquetes de consulta disponibles para la instalación
En este ejemplo, instalaremos el servidor Apache Tomcat usando el comando anterior junto con grep para encontrar el paquete disponible para instalar como se muestra.
$ nix-env-qa | grep “apache-tomcat”
Buscar un paquete para la instalación
Para instalar un paquete, use el siguiente comando especificando la versión del paquete, por ejemplo apache-tomcat-9.0.2.
$ nix-env-i apache-tomcat-9.0.2
Instalar un paquete usando Nix
En el sistema local, Nix almacena paquetes en la tienda Nix. que por defecto es el directorio /nix/store. donde cada paquete tiene su propio subdirectorio único. Por ejemplo, los paquetes apache-tomcat. se almacenan en:
/nix/store/95gmgnxlrcpkhlm00fa5ax8kvd6189py-apache-tomcat-9.0.2
En esta ruta, los caracteres aleatorios 95gmgnxlrcpkhlm00fa5ax8kvd6189py. es un identificador único para el paquete que tiene en cuenta todas sus dependencias.
Puede listar los paquetes instalados con el siguiente comando.
$ nix-env-q
Lista de paquetes instalados
Para actualizar el paquete apache-tomcat. puede usar el modificador-u de actualización como sho wn.
$ nix-env-u apache-tomcat
Si desea eliminar/borrar apache-tomcat. use la opción-e. Aquí, un paquete no se borra del sistema inmediatamente, solo se deja sin usar. Esto es útil porque desea hacer una reversión, o podría estar en los perfiles de otros usuarios.
$ nix-env-e apache-tomcat
Después de eliminar un paquete, puede realizar una recolección de basura con la utilidad nix-collect-garbage.
$ nix-collect-garbage
Cómo eliminar Nix Package Manager en Linux
Para desinstalar Nix, elimine todos los nix archivos relacionados de una vez.
$ sudo rm-rf/etc/profile/nix.sh/etc/nix/nix ~ root/.nix-profile ~ root/.nix-defexpr ~ root/.nix-channels ~/.nix-profile ~/.nix-defexpr ~/.nix-channels
En sistemas con systemd, ejecute los siguientes comandos para detener todos los servicios relacionados con nix y deshabilitarlos.
$ sudo systemctl stop nix-daemon.socket $ sudo systemctl stop nix-daemon.service $ sudo systemctl disable nix-daemon.socket $ sudo systemctl disable nix-daemon.service $ sudo systemctl daemon-reload
En Además, debe eliminar cualquier referencia a Nix en estos archivos: /etc/profile. /etc/bashrc. y /etc/zshrc. .
Para obtener más información, consulte las páginas de manual de las utilidades anteriores que hemos visto.
$ man nix-channel $ man nix-env
Puede encontrar la documentación de Nix Package Manager en el sitio web del proyecto: https://nixos.org/nix/.
Resumen
Nix. es un administrador de paquetes puramente funcional diseñado para una administración de paquetes confiable y reproducible. Proporciona un concepto interesante de administración de paquetes, muy distinto a las herramientas de uso común en Linux como YUM, APT y muchas otras.
En este artículo, mostramos cómo instalar nix en modo multiusuario y discutimos cómo hacer la gestión de paquetes con Nix. Comparta sus pensamientos con nosotros o haga cualquier pregunta a través del formulario de comentarios a continuación. Por último, en un próximo artículo, explicaremos más comandos de administración de paquetes de Nix. Hasta entonces, mantente conectado.