Tutoriales

Comenzando con el Administrador de paquetes Nix

Este tutorial detallado explica cómo utilizar las operaciones de administración de paquetes, como instalar, eliminar, actualizar y mejorar paquetes. administrador de paquetes nix en linux.

Comenzaremos esta guía con una breve introducción, seguida de comandos y ejemplos comunes de Nix.

Introducción al Administrador de paquetes Nix

Mella Es un administrador de paquetes que hace que la instalación y administración de software en sistemas Linux y Unix sea fácil y confiable. Resuelve problemas comunes, como conflictos de software, y garantiza que cada instalación de software sea predecible y segura.

Con Nix, puedes instalar diferentes versiones de programas en tu computadora sin que interfieran entre sí. Esto significa que puede actualizar, agregar o eliminar software sin preocuparse por dañar nada.

Nix es inteligente en cuanto a cómo maneja el software. Realiza un seguimiento de todos los detalles necesarios para la ejecución de cada programa. De esta manera, cuando instalas un programa, no estropeas otro. Si algo sale mal con una nueva actualización de software, Nix le permite volver fácilmente a un estado anterior.

Nix Package Manager no sólo es útil para usuarios individuales, sino que también es excelente para desarrolladores y personas que administran servidores. Ayuda a que todos permanezcan en sintonía al garantizar que todos utilicen la misma configuración de software. Esto reduce las sorpresas al mover software de una computadora a otra.

Nix tiene una gran selección de software, todo mantenido por la comunidad de usuarios. Ya sea que trabaje solo o en equipo, es una opción sólida para el software de gestión.

Para obtener más detalles sobre Nix, consulte nuestra guía anterior:

Comenzando con el Administrador de paquetes Nix

Asegúrese de tener instalado Nix Package Manager. Si aún no ha instalado Nix, consulte la guía de instalación de Nix que se proporciona a continuación.

Después de configurar Nix Package Manager, puede comenzar a usarlo inmediatamente para instalar y administrar sus aplicaciones.

Nix tiene muchos comandos.Los principales comandos para la gestión de paquetes son ambiente de los knicks. Este comando se utiliza para enumerar, instalar, actualizar, rastrear, eliminar y consultar paquetes. Veamos algunos comandos con ejemplos.

Actualizar canal Nix

Un canal Nix es simplemente una URL que apunta a una ubicación que contiene un conjunto de expresiones y manifiestos de Nix. Por defecto, Embalaje de los Knicks Cuando instalas Nix, el canal se agrega automáticamente a tu lista de canales «Suscripciones».

Para obtener la información más reciente sobre el canal Nix, ejecute el siguiente comando:

$ nix-channel --update

Salida de ejemplo:

downloading Nix expressions from ‘
downloading ‘ [8335/8656 KiB, 206.5 KiB/s]
unpacking channels...

También puede agregar canales manualmente al sistema como se muestra a continuación.

$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable

Después de suscribirse (agregar recientemente) un canal, no olvide actualizar el canal con el comando para obtener las últimas expresiones Nix disponibles:

$ nix-channel --update

Para eliminar un canal, simplemente ejecute:

$ nix-channel --remove nixpkgs

Buscar/consultar paquetes disponibles en el canal

Para ver la lista de paquetes disponibles en un canal de suscripción, ejecute:

$ nix-env --query --available

o pronto:

$ nix-env -qa

Aquí las opciones -q Indica operación de consulta -a Representa todos los paquetes disponibles (listos para instalar).

salida de muestra:

0ad-0.0.26
0ad-data-0.0.26
0verkill-unstable-2011-01-13
0x-unstable-2022-07-11
0xproto-1.603
0xtools-1.2.4
1oom-1.0
1password-8.10.27
1password-8.10.28-21.BETA
1password-cli-2.26.1
2048-cli-unstable-2019-12-10
2048-cli-unstable-2019-12-10
2048-in-terminal-unstable-2022-06-13
20kly-1.5.0
2bwm-0.3
2fa-1.2.0
3270font-3.0.1
389-ds-base-2.4.3
3dpong-0.5
3llo-1.3.1
3mux-1.1.0
3proxy-0.9.4
4th-3.64.1
[...]
Utilice Nix Package Manager para enumerar los paquetes disponibles

Si desea consultar un paquete específico, el comando es:

$ nix-env -qa firefox

Producción:

firefox-115.9.1esr
firefox-124.0.1
firefox-124.0.1
firefox-124.0.1
firefox-125.0b3
firefox-125.0b3

También puede utilizar el siguiente comando para buscar un paquete específico.

$ nix-env -qaP | grep python3-3

Salida de ejemplo:

[...]
nixpkgs.python312                                                                                 python3-3.12.2
nixpkgs.python313                                                                                 python3-3.13.0a5
nixpkgs.python313Full                                                                             python3-3.13.0a5
nixpkgs.python39                                                                                  python3-3.9.19
nixpkgs.python39Full                                                                              python3-3.9.19

Listar paquetes instalados

Para enumerar todos los paquetes instalados, simplemente ejecute:

$ nix-env -q

También puede ver el estado de los paquetes disponibles. Vea el ejemplo a continuación.

$ nix-env -qas gcc

Salida de ejemplo:

IPS gcc-13.2.0

Aquí, «I» indica que el paquete de software especificado está instalado, «P» indica que el paquete de software existe en nuestro sistema y «S» indica si el llamado reemplazar Para paquetes.

Puede consultar/enumerar conjuntos utilizando expresiones regulares. A continuación se muestran algunos ejemplos de expresiones regulares.

chromium

Coincide con el nombre del paquete chromium y cualquier versión.

chromium-123.0.6312.86

Haga coincidir el nombre del paquete chromium y la versión 123.0.6312.86.

ejemplo:

$ nix-env -qa chromium-123.0.6312.86

gtk\\+

Nombre del paquete coincidente gtk+. El carácter + debe tener como carácter de escape una barra invertida para evitar que se interprete como un cuantificador, y la barra invertida debe tener como carácter de escape otra barra invertida a su vez para garantizar que el shell lo pase.

.\*

Coincide con cualquier nombre de paquete. Este es el valor predeterminado para la mayoría de los comandos.

'.*zip.*'

Coincide con cualquier nombre de paquete que contenga esta cadena compresión. Tenga en cuenta: ‘*zip*’ no funciona porque en expresiones regulares el carácter * se interpreta como un cuantificador.

'.*(firefox|chromium).*'

Coincide con cualquier nombre de paquete que contenga la cadena Navegador Firefox o cromo.

Instalar paquetes

Como mencioné en mi último tutorial, todos los paquetes se almacenarán en tienda de los knicksnormalmente un directorio /nix/tienda.

Para instalar el paquete, simplemente ejecute:

$ nix-env --install gcc

o (pronto),

$ nix-env -i gcc

El comando anterior instalará el último paquete gcc disponible.

El resultado de ejemplo del comando anterior es:

installing ‘gcc-13.2.0’
download-from-binary-cache.pl: still waiting for ‘ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘ after 5 seconds...
download-from-binary-cache.pl: still waiting for ‘ after 5 seconds...
these paths will be fetched (38.94 MiB download, 150.45 MiB unpacked):
 /nix/store/7n45x3waczv1smsdkax2dy4j2zhbfk82-glibc-2.25-bin
 /nix/store/dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-13.2.0
 /nix/store/f05gsfcilsczwic8aga0cgl0sygbw5lc-zlib-1.2.11
 /nix/store/f111ij1fc83965m48bf2zqgiaq88fqv5-glibc-2.25
 /nix/store/g25gnfmd8i392ahiip9nwfv80szqbkcs-gcc-13.2.0-man
 /nix/store/n5k6yqf81jp4qbay2czaqciimhxikcq8-linux-headers-4.4.10
 /nix/store/vrr9maj9lqj2xwndlx3kh07vhnc111i2-glibc-2.25-dev
 /nix/store/xfrkm34sk0a13ha9bpki61l2k5g1v8dh-gcc-13.2.0-lib
 /nix/store/zx0i63k1qswsfjj3kxhwk1vqa9i5ys8i-gcc-13.2.0-info
fetching path ‘/nix/store/zx0i63k1qswsfjj3kxhwk1vqa9i5ys8i-gcc-13.2.0-info’...

[...]

fetching path ‘/nix/store/dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-13.2.0’...

*** Downloading ‘ to ‘/nix/store/dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-13.2.0’...
 % Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
100 29.5M 100 29.5M 0 0 373k 0 0:01:21 0:01:21 --:--:-- 365k

building path(s) ‘/nix/store/nxx0bfg3n685fl0l3m2gbjqannh0wb9i-user-environment’
created 78 symlinks in user environment

Comprobemos si gcc está instalado usando el comando:

$ gcc -v

Salida de ejemplo:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/nix/store/dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-13.2.0/libexec/gcc/x86_64-unknown-linux-gnu/5.4.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: 
Thread model: posix
gcc version 13.2.0 (GCC)

Como notó en el resultado anterior, gcc ya está ubicado en un subdirectorio llamado dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-13.2.0 bajo /nix/store.

Aquí lo llamamos directorio dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-13.2.0 como identificador único. Este subdirectorio contiene todas las dependencias y bibliotecas requeridas por la suite gcc.

Conjunto de pruebas sin utilizar la instalación de Nix

Otra característica notable de Nix Package Manager es que puede probar paquetes sin instalarlos en su sistema. Consulte la guía a continuación sobre cómo probar la suite sin instalarla.

Paquete de actualización

Para actualizar un paquete a la siguiente versión disponible, simplemente ejecute:

$ nix-env --upgrade vim

De lo contrario:

$ nix-env -u vim

El comando anterior solo actualizará empuje paquete (si hay una versión «más nueva» disponible).

Además, puede actualizar todos los paquetes instalados a la vez ejecutando el siguiente comando:

$ nix-env -u

kit de recuperación

Ha instalado un paquete de software, pero es inútil o no funciona correctamente. Necesita una versión inferior del mismo paquete. ¿Qué vas a hacer? simple. Simplemente retroceda a una versión funcional anterior usando:

$ nix-env --rollback

Desinstalar paquete de software

Para desinstalar un paquete, ejecute:

$ nix-env -e gcc

El comando anterior desinstalará el archivo llamado Consejo de Cooperación del Golfo de su sistema.

Puede eliminar varios paquetes como se muestra a continuación.

$ nix-env -e gcc vim

Salida de ejemplo:

uninstalling ‘vim-9.1.0148’
uninstalling ‘gcc-13.2.0’
building path(s) ‘/nix/store/mxpikbq3l08379h8ik8mrj3fcw6mh6y4-user-environment’
created 6 symlinks in user environment

Eliminar paquetes no utilizados

Cuando se desinstala un paquete, no se elimina de Nix Store (es decir, el directorio /nix/store/). Sin embargo, el enlace simbólico será eliminado de su perfil.

Para eliminar realmente un paquete desinstalado, ejecute:

$ nix-collect-garbage -d

Salida de ejemplo:

finding garbage collector roots...
deleting garbage...
deleting ‘/nix/store/s4jr4dc9gghldr3xza23rw0gm9kp21kl-nix-prefetch-scripts.drv’
deleting ‘/nix/store/km2gyzlvs9vkrr52wxfyhinv4r52ksrj-nix-prefetch-bzr.drv’
deleting ‘/nix/store/7mi73sdc1p349vmpb5nyxsrv8ayk5hly-bazaar-2.7.0.drv’

[...]

deleting ‘/nix/store/8ckmcs9hx1qm0yxdnv892vrvx49zm1sq-setup-hook-2.0.sh’
deleting ‘/nix/store/trash’
deleting unused links...
note: currently hard linking saves -0.00 MiB
1447 store paths deleted, 12.65 MiB freed

Debe ejecutar este comando periódicamente para eliminar los paquetes no utilizados de su sistema.

Hoja de trucos del comando Nix

Esta es una hoja de referencia concisa para los comandos de Nix Package Manager. Imprímalo y manténgalo cerca de su escritorio para consultarlo fácilmente.

acción Orden ejemplo
Paquete de instalación nix-env -i nix-env -i firefox
Desinstalar el paquete de instalación nix-env -e nix-env -e firefox
Buscar paquetes nix-env -qaP nix-env -qaP python
kit de actualización nix-env -u nix-env -u firefox
Listar paquetes instalados nix-env -q nix-env -q
Revertir cambios nix-env --rollback nix-env --rollback
recolección de basura nix-collect-garbage -d nix-collect-garbage -d
Hoja de trucos del comando Nix

Esta hoja de trucos cubre los comandos básicos para usar la suite de administración Nix y proporciona una guía sencilla para comenzar y mantener su sistema.

Preguntas frecuentes

Las siguientes son las preguntas más frecuentes (FAQ) sobre Nix Package Manager.

P: ¿Qué son los Knicks?

Respuesta: Nix es un potente administrador de paquetes para sistemas Linux y Unix que se centra en la reproducibilidad, confiabilidad y portabilidad. Permite a los usuarios instalar, administrar y cambiar fácilmente entre diferentes versiones de software y sus dependencias.

P: ¿Cómo utilizar Nix para instalar paquetes de software?

Respuesta: Para instalar un paquete de software, utilice nix-env -i El comando va seguido del nombre del paquete. Por ejemplo, nix-env -i firefox Instale el navegador web Firefox.

P: ¿Cómo desinstalar el paquete de software?

Respuesta: Para desinstalar un paquete de software, utilice nix-env -e El comando va seguido del nombre del paquete. Por ejemplo, nix-env -e thunderbird Desinstale el cliente de correo electrónico Thunderbird.

P: ¿Cómo buscar paquetes disponibles?

R: Para buscar paquetes, utilice nix-env -qaP .Por ejemplo, para buscar paquetes relacionados con Python, puede utilizar nix-env -qaP python.

P: ¿Puedo actualizar un paquete específico?

Respuesta: Sí, para actualizar un paquete específico, ejecute nix-env -u .Para actualizar todos los paquetes instalados, simplemente use nix-env -u.

P: ¿Cómo puedo comprobar qué paquetes de software tengo instalados?

R: Para enumerar todos los paquetes instalados, use el comando nix-env -q.

P: ¿Cómo enumerar todos los paquetes de software disponibles en un canal?

Respuesta: Para enumerar todos los paquetes disponibles en el canal, ejecute nix-env -qa.

P: ¿Cómo restaurar al estado anterior o «revertir» los cambios?

R: Los Knicks siguen los cambios a lo largo de «generaciones».Para volver a la generación anterior, utilice nix-env --rollback.Puedes enumerar las generaciones disponibles. nix-env --list-generations.

P: ¿Cómo mantener limpio el sistema Nix?

Respuesta: usar nix-collect-garbage -d Elimine los paquetes no utilizados y libere espacio. Este comando borra todos los paquetes a los que el perfil no hace referencia.

en conclusión

Nix Package Manager proporciona una forma potente y flexible de administrar paquetes de software en sistemas Linux y Unix.

Su enfoque para el procesamiento de paquetes garantiza que pueda instalar, actualizar y cambiar entre diferentes versiones de software sin conflictos ni problemas de dependencia.

Aunque Nix puede tener una pequeña curva de aprendizaje, especialmente para aquellos nuevos en sus conceptos, los beneficios de una gestión precisa y repetible de la suite son significativos.

Ya sea desarrollador, administrador de sistemas o simplemente un usuario curioso, tomarse el tiempo para aprender Nix puede aumentar en gran medida su control sobre su entorno de software y optimizar su flujo de trabajo.

Eso es todo por ahora.Espero que hayas entendido claramente Uso básico del administrador de paquetes Nix. Lo que hemos cubierto aquí debería ser suficiente para comenzar con Nix.

Por supuesto, hay muchas instrucciones. Para saber más sobre los comandos de Nix, le recomiendo que consulte el manual oficial de Nix que se proporciona a continuación.

recurso:

LEER  #102 Linux Connexion con VPS Educativo Redimido

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba