NIX el administrador de paquetes puramente funcional para Linux

NIX el administrador de paquetes puramente funcional para Linux

Nada es un poderoso sistema de gestión de paquetes puramente funcional diseñado para una gestión de paquetes confiable y reproducible, lanzado bajo los términos del GNU LGPLV2.1. Es el sistema principal de gestión de paquetes en Nixos, una distribución de Linux menos conocida.

Nix ofrece actualizaciones atómicas y reversiones, múltiples versiones de instalación de paquetes, gestión de paquetes de múltiples usuarios y configuración sin esfuerzo de entornos de compilación para un paquete, independientemente de los lenguajes y herramientas de programación.

Bajo Nada, Los paquetes se crean a partir de un lenguaje de paquete funcional llamado "Expresiones nix". Este enfoque funcional para la gestión de paquetes garantiza que instalar o actualizar un paquete no puede romper otros paquetes.

NIX también tiene soporte de usuarios múltiples, lo que implica que los usuarios del sistema normales (o no privilegiados) pueden instalar paquetes de forma segura y cada usuario se identifica mediante un perfil (una colección de paquetes en la tienda NIX que aparece 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 construirá ni descargará por segunda vez.

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 hilos Posix y tienen un compilador C ++ 11.

En este artículo, mostraremos cómo instalar (en modo de usuario múltiple) y usaremos Nada Administrador de paquetes en Linux. Discutiremos algunas de las tareas básicas de gestió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 Nada (V2.1.3 Al momento de escribir) en modo de usuario múltiple. Afortunadamente, hay un script de instalación preparado preparado que puede ejecutar desde su shell como usuario normal que usa el siguiente comando curl en su sistema.

$ sh <(curl https://nixos.org/nix/install) --daemon 

Ejecutar el comando anterior descargará el último tarball binario Nix, y aterrizará en la pantalla de instalación NIX de múltiples usuarios como se muestra en la captura de pantalla.

Instalar NIX Package Manager en Linux

Para ver una lista detallada de lo que sucederá durante el proceso de instalación, escriba Y y presionar Ingresar. Si está satisfecho y listo para continuar, escriba Y y presionar Ingresar.

Resumen de instalación de Nix

El script invocará el comando sudo muchas veces según sea necesario. Necesitas permitir que use sudo respondiendo Y y golpear Ingresar.

La instalación de Nix continúa

Luego, el instalador ejecutará algunas pruebas y generará un informe de configuración Nix, creará usuarios de compilación entre las ID de usuario 30001 y 30032, y un grupo con la identificación del grupo 30000. Ingresar Y para continuar cuando se le solicite. Configurará los grupos de compilación para los diferentes usuarios de compilación, hará la estructura básica del directorio de NIX.

Modificará el archivo /etc/bashrc, (y /etc/zshrc Para el zsh) Si existen. Tenga en cuenta que primero hace una copia de seguridad de los archivos mencionados con un .copia de seguridad extensión y el instalador también crea el archivo /etc/perfil.d/nix.mierda.

El instalador también configurará el servicio Nix-Demonon y el servicio de socket Nix-Demonmon, carga la unidad Systemd para Nix-Daemon e inicia los dos servicios mencionados anteriormente.

Una vez que se completa la instalación, debe abrir una nueva ventana de terminal para comenzar a usar NIX. Alternativamente, cierre y vuelva a abrir su caparazón para aplicar los cambios recientes. Luego obtiene el archivo /etc/perfil.d/nix.mierda (Debido a que no es un archivo de inicio de shell, abrir un nuevo shell no lo obtendrá).

$ fuente /etc /perfil.d/nix.mierda 

A continuación, ejecute el siguiente comando para descargar algunas rutas del sitio web oficial del proyecto, requerido para Nada para operar. Después de descargar y copiar todas las rutas en las ubicaciones correctas, verá un resumen de tipo de instalación del sistema y NIX como se muestra en la captura de pantalla.

$ nix-shell -p nix-info --n-corn "nix-info -m" 
NIX Instalación y resumen del sistema

Cómo usar el administrador de paquetes Nix en Linux

Bajo Nada, La gestión de paquetes es realizada por el nix-env utilidad. Se utiliza para instalar, actualizar y eliminar/borrar paquetes, y para consultar qué paquetes están instalados o están disponibles para la 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 Nix como un puntero a un caché binario.

El canal predeterminado es Nixpkgs y la lista de canales suscritos se almacena en ~/.canales nix, Puede enumerarlos usando el siguiente comando (sin salida significa que no hay canales).

$ nix-canal-Lista 

Para agregar el canal Nix, use el siguiente comando.

$ nix-channel --add https: // nixos.org/canales/nixpkgs-inestable 

Antes de instalar cualquier paquete, comience actualizando el canal Nix; Esto es similar a correr Actualización de apt Bajo el Administrador de paquetes APT.

$ nix-canal-actualización 
Actualizar el 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 que el paquete está disponible para instalar como se muestra como se muestra.

$ nix -env -qa | Grep "Apache-Tomcat" 
Encuentra 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 
Instale un paquete con NIX

En el sistema local, Nix almacena paquetes en el Tienda Nix, que es por defecto el /nix/tienda Directorio, donde cada paquete tiene su propio subdirectorio único. Por ejemplo, el Apache-Tomcat Los paquetes se almacenan en:

/nix/store/95gmgnxlrcpkhlm00fa5ax8kvd6189py-apache-tomcat-9.0.2 

En este camino, los caracteres al azar 95gmgnxlrcpkhlm00fa5ax8kvd6189py es un identificador único para el paquete que tiene en cuenta todas sus dependencias.

Puede enumerar paquetes instalados con el siguiente comando.

$ nix -env -q 
Lista de paquetes instalados

Para actualizar el Apache-Tomcat paquete, puede usar el -u Interruptor de actualización como se muestra.

$ nix-env -u apache-tomcat 

Si quieres eliminar/borrar Apache-Tomcat, utilizar el -mi bandera. Aquí, un paquete no se borra del sistema de inmediato, solo se hace 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 hacer una recolección de basura con el nix-colect-Garbage utilidad.

$ nix-colect-Garbage 

Cómo eliminar el administrador de paquetes NIX en Linux

Para desinstalar NIX, elimine todos los archivos relacionados con Nix de una vez.

$ sudo rm -rf/etc/perfil/nix.sh /etc /nix /nix ~ root /.Nix-Profile ~ Root/.nix-defexpr ~ root/.Nix-canales ~/.Nix-Profile ~/.nix-defexpr ~/.canales nix 

En los sistemas con Systemd, ejecute los siguientes comandos para detener los servicios relacionados con todos los NIX y deshabilitarlos.

$ sudo systemctl stop nix-daemon.socket $ sudo systemctl stop nix-daemon.Servicio $ sudo SystemCTL DISTAT NIX-Daemon.socket $ sudo systemctl deshabilitar nix-daemon.Servicio $ sudo SystemCtl Daemon-Reload 

Además, debe eliminar cualquier referencia a NIX en estos archivos: /etc/perfil, /etc/bashrc, y /etc/zshrc.

Para obtener más información, consulte las páginas del hombre de los servicios públicos anteriores que hemos visto.

$ man nix-canal $ man nix-env 

Puede encontrar la documentación del administrador de paquetes Nix en el sitio web del proyecto: https: // nixos.org/nix/.

Resumen

Nada es un administrador de paquetes puramente funcional diseñado para una gestión de paquetes confiable y reproducible. Proporciona un concepto interesante de gestión de paquetes, muy distinto a las herramientas de uso común en Linux, como YUM, APT y muchos otros.

En este artículo, mostramos cómo instalar NIX en modo de usuario múltiple y discutimos cómo hacer la administració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 gestión de paquetes Nix. Hasta entonces, mantente conectado.