Revisión completa y práctica de NixOS

Revisión completa y práctica de NixOS

Al categorizar las distribuciones de Linux, a menudo es útil especificar qué sistema de administración de paquetes usa la distribución. Hay muchos sistemas de administración de paquetes diferentes en uso, pero los dos más populares son probablemente los formatos .deb y .rpm. El primero proviene de Debian y es utilizado por Ubuntu, mientras que el segundo fue desarrollado por RedHat.

NixOS es una distribución de Linux con su propio administrador de paquetes único. El administrador de paquetes Nix crea todo el sistema operativo, incluido el kernel, las aplicaciones, los paquetes del sistema y los archivos de configuración. Nix Package Manager utiliza un modelo de configuración de sistema declarativo. Esto significa que los elementos de configuración del sistema se describen en un archivo de configuración y el sistema operativo hace todo lo necesario para que la configuración se realice.

Si un administrador del sistema desea instalar un servidor SSH, todo lo que debe hacer es agregar una línea a la configuración para habilitar ese servicio. Luego, NixOS descargará e instalará OpenSHH, además de generar los archivos de configuración relevantes.

Otra característica interesante de NixOS es que almacena todos sus paquetes de forma aislada unos de otros; como resultado, no hay directorios /bin, /sbin, /lib o /usr. En su lugar, todos los paquetes se guardan en /nix/store. Esto, junto con el modelo de configuración declarativa, hace que la actualización de los sistemas NixOS sea confiable y permite que el sistema operativo implemente un enfoque transaccional para la administración del sistema, incluida la capacidad de revertir las actualizaciones.

El modelo de configuración declarativa también facilita la reproducción de una configuración del sistema en otra máquina. El administrador simplemente copia el archivo de configuración en la nueva máquina NixOS y con un comando, la máquina se transformará para usar el mismo kernel, aplicaciones, servicios del sistema, etc.

Para probar NixOS, descargue el archivo .ISO del directorio del proyecto. página de descarga, grábelo en un CD y arranque su PC desde allí. Una vez iniciado, se le presentará un mensaje de inicio de sesión de texto. Ingrese «root» como nombre de usuario y presione ENTER. El instalador de NixOS no crea particiones ni formatea, por lo que debe crear y formatear las particiones manualmente.

NixOS-instalación-inicio de sesión

Nota: Los siguientes comandos borrarán TODO en el disco; por favor proceda con precaución.

Escribe lo siguiente:

Donde “/dev/sda” es el nombre del disco que desea utilizar, en este caso el primer disco duro de la PC.

En fdisk, escriba «o» para crear una tabla de particiones vacía. Escriba «n, p, 1, ENTER, +2G, t, 82» para crear una nueva partición primaria de 2 Gb para usar como espacio de intercambio. Ahora escriba «n, p, 2, ENTER, ENTER» para crear una nueva partición primaria para la instalación de NixOS. Salga de fdisk usando «w». Si desea utilizar el espacio libre en el disco sin borrar los datos existentes, no cree una tabla de partición vacía y modifique su esquema de partición en consecuencia.

NixOS-particiones

Active el espacio de intercambio usando:

mkswap -L swap /dev/sda1
swapon /dev/sda1

Ahora formatee la segunda partición:

mkfs.ext4 -L nixos /dev/sda2

Ahora monte la nueva partición:

mount /dev/disk/by-label/nixos /mnt

Los archivos de configuración descriptivos están en el corazón de NixOS y Nix Package Manager. Incluso el proceso de instalación necesita un archivo de configuración para decirle a NixOS qué instalar. Para generar un tipo de archivo de configuración predeterminado:

nixos-generate-config --root /mnt

Ahora edite el archivo resultante usando nano:

nano /mnt/etc/nixos/configuration.nix

Busque las siguientes líneas y elimine el signo «#» del principio:

  • boot.loader.grub.dispositivo = “/dev/sda”
  • servicios.openssh.habilitar = verdadero
  • servicios.xserver.habilitar = verdadero
  • servicios.xserver.layout = “nosotros”
  • services.xserver.desktopManager.kde4.enable = verdadero;
  • services.xserver.displayManager.kdm.enable = verdadero;

Salga de nano usando CTRL-X e inicie la instalación:

Una vez que la instalación se haya completado, reinicie su sistema. Deberá quitar el CD o elegir la opción «Arrancar desde el disco duro» si arrancó desde la unidad óptica.

El sistema debería iniciarse en el administrador de pantalla; sin embargo, aún no puede iniciar sesión porque no hay usuarios definidos y no se permiten inicios de sesión raíz en el escritorio. Presione CTRL+ALT+F1 para cambiar a una consola.

Ahora inicie sesión como root y agregue un usuario. Aquí se explica cómo crear el usuario «gary»:

useradd -m gary
passwd gary

También debe cambiar la contraseña de root usando «passwd».

Presione CTRL+ALT+F7 para volver a la indicación gráfica de inicio de sesión e inicie sesión con el nombre de usuario y la contraseña que creó anteriormente.

NixOS-escritorio

NixOS no incluye un administrador de paquetes gráfico como Ubuntu o Fedora y todos los comandos del paquete deben ejecutarse desde la terminal. Para enumerar todos los tipos de paquetes disponibles:

Puede usar «grep» para encontrar ciertos paquetes. A continuación se explica cómo buscar la subcadena «fuego»:

nix-env -qa \* | grep -i fire

En la lista estará el navegador web Firefox. Para instalarlo usa:

La forma en que agregamos el usuario y la forma en que instalamos Firefox se llama administración imperativa. Ejecutas un comando y sucede. Sin embargo, el poder de NixOS está en su gestión declarativa. Con la gestión declarativa, el administrador del sistema le dice a NixOS lo que debe lograrse, y NixOS se asegurará de que suceda sin romper el sistema.

Por ejemplo, para agregar un usuario mediante la administración de usuarios declarativa, edite «/etc/nixos/configuration.nix» (como raíz). Agregue las siguientes líneas al final del archivo, pero antes del último «}»:

 users.extraUsers.alice =
{
createHome = true;
home = "/home/alice";
extraGroups = [ "wheel" ];
useDefaultShell = true;
};

Para instalar un paquete, agregue la siguiente línea al archivo configuration.nix:

 environment.systemPackages = [ pkgs.thunderbird ];

NixOS-configuración-nix

Para activar el nuevo archivo configuration.nix, use el comando nixos-rebuild:

Este comando hace todo lo necesario para que se realice la configuración, incluida la descarga de Thunderbird y la creación del nuevo usuario, etc.

El poder de NixOS es formidable. Si quieres ir más profundo entonces deberías mirar el Manual de NixOSy si necesita ayuda, debe probar el Comunidad NixOS página.

Experto Geek - Tu Guía en Tendencias Tecnológicas