Revisión completa y práctica de NixOS

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

NixOS es una distribución Linux con su propio gestor de paquetes único. Todo el sistema operativo, incluyendo el núcleo, las aplicaciones, los paquetes de sistema y los archivos de configuración, son construidos por el gestor de paquetes Nix. El Nix Package Manager utiliza un modelo declarativo de configuración del sistema. 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 lleve a cabo.

Si el administrador del sistema quiere instalar un servidor SSH, entonces todo lo que tiene que hacer es añadir una línea a la configuración para habilitar ese servicio. NixOS descargará e instalará OpenSHH, además de generar los archivos de configuración correspondientes.

Otra característica interesante de NixOS es que almacena todos sus paquetes de forma aislada; como resultado no hay directorios /bin, /sbin, /lib o /usr. 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 fiable y permite que el sistema operativo implemente un enfoque transaccional para la gestión del sistema, incluyendo la capacidad de retroceder en las actualizaciones.

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

Para probar NixOS, descargue el archivo.ISO de la página de descarga del proyecto , grábelo en un CD y arranque su PC desde él. Una vez arrancado, se le presentará un mensaje de inicio de sesión de texto. El instalador de NixOS no hace ninguna partición o formateo, por lo que es necesario crear y formatear las particiones manualmente.

Revisión completa y práctica de NixOS

Nota : Los siguientes comandos borrarán TODO lo que haya en el disco; proceda con precaución.

Escriba lo siguiente:

fdisk /dev/sda

Donde «/dev/sda» es el nombre del disco que desea utilizar, en este caso el primer disco duro del 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 2Gb que se utilizará 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 del disco sin borrar los datos existentes, no cree una tabla de particiones vacía y modifique su esquema de particionado en consecuencia.

Revisión completa y práctica de NixOS

Active el espacio de intercambio con:

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 del Nix Package Manager. Incluso el proceso de instalación necesita un archivo de configuración para indicar a NixOS qué instalar. Para generar un tipo de archivo de configuración predeterminado:

nixos-generar-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 «#» desde el principio:

  • dispositivo.boot.loader.grub.device = «/dev/sda»
  • services.openssh.enable = true
  • services.xserver.enable = true
  • services.xserver.layout = «us»
  • services.xserver.desktopManager.kde4.enable = true;
  • services.xserver.displayManager.kdm.enable = true;

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

nixos-instalación

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>.

Una vez finalizada la instalación, reinicie el sistema. Necesitará quitar el CD o seleccionar la opción «Boot from hard disk» (Arrancar desde el disco duro) si ha arrancado desde la unidad óptica.

El sistema debería arrancar en el administrador de pantalla; sin embargo, todavía no puede iniciar sesión ya que no hay usuarios definidos y no se permiten los inicios de sesión de root en el escritorio. Presione CTRL+ALT+F1 para cambiar a una consola.

Ahora inicie sesión como root y añada 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 ventana gráfica de inicio de sesión e inicie sesión con el nombre de usuario y la contraseña que creó anteriormente.

Revisión completa y práctica de NixOS

NixOS no incluye un gestor gráfico de paquetes como Ubuntu o Fedora y todos los comandos de paquetes deben ejecutarse desde la terminal. Para listar todos los paquetes disponibles escriba:

nix-env -qa *

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 aparecerá el navegador web Firefox. Para instalarlo use:

nix-env -i firefox

La forma en que agregamos el usuario y la forma en que instalamos Firefox se llama administración imperativa. Ejecutas un comando y ocurre. 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 necesita lograr, y NixOS se asegurará de que esto ocurra sin romper el sistema.

Por ejemplo, para añadir un usuario utilizando la gestión de usuarios declarativa, edite «/etc/nixos/configuration.nix» (como root). Añada las siguientes líneas al final del archivo, pero antes del último «}»:

usuarios.extraUsers.alice =
{
createHome = verdadero;
home = «/home/alice»;
extraGrupos = [ «rueda» ];
useDefaultShell = true;
};

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

environment.systemPaquetes = [ pkgs.thunderbird ];

Revisión completa y práctica de NixOS

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

nixos-rebuild switch

Este comando hace todo lo necesario para realizar la configuración, incluyendo la descarga de Thunderbird y la creación del nuevo usuario, etc.

El poder de NixOS es formidable. Si quieres profundizar más, deberías mirar el Manual de NixOS , y si necesitas ayuda deberías probar la página Comunidad de NixOS .

Deja un comentario

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