Ubunlog Diego Germán González  

Breve introducción a las distribuciones Linux inmutables

PInguino dentro de una caja

Cuando un usuario intenta entrar al mundo de los sistemas operativos de código abierto, la variedad de opciones lo confunden. Es por eso que en este post haremos una breve introducción a las distribuciones Linux inmutables.

Dentro de todo, las características de los distintos escritorios o los diferentes manejos de las actualizaciones que hacen las distribuciones Rolling Release son fáciles de entender. Sin embargo,  en el caso de los sistemas operativos inmuables la cosa se hace un poco más densa. Por lo tanto trataremos de explicarlo.

Para entender de qué estamos hablando necesitamos entender tres cosas: los permisos, los tipos de usuarios y los permisos en una distribución Linux tradicional

Tipos de usuarios en Linux

Usuario root o Superusuario

Tiene poder absoulto sobre el sistema pudiendo entre otras cosas:

  • Leer modificar o borrar todos lso tipos de archivos.
  • Puede instalar o desinstalar aplicaciones.
  • Puede crear y eliminar usuairos.
  • Puede modificar las configuraciones del sistema.
  • Puede reiniciar, detener o apagar el sistema

Usuarios normales

Son los usuarios que utilizan las aplicaicones instaladas en el sistema para realizar su trabajo o entretenimiento. PUeden hacer lo siguiente:

  • Cuentan con su propio directorio personal /home.
  • Pueden modificar sus propios archivos pero no los del sistema.
  • Si están autorizados deben usar el comando sudo para realizar tareas administrativas siempre que estén autorizados.

Usuarios del sistema

Son cuentas creadas para el funcionamiento de servicios y programas que funcionan en segundo plano. Se caracterizan por:

  • No tienen contraseña.
  • No necesitan iniciar sesión.
  • No necesitan entorno gráfico.
  • Se usan para procesos específicos.
  • Otros (others): Todos los demás

Tipos de permisos en Linux

Los directorios y archivos en Linux tienen tres tipos de niveles de acceso:

  • Usuario (owner): Es el propietario del archivo.
  • Grupo (group): Son los usuarios del mismo grupo.
  • Otros (others): Todos el resto.

Los tipos de permiso son:

  • Read: Permite listar archivos y leer su contenido.
  • Write: Permite crear y borrar archivos y modificar su contenido.
  • Execute:  Entra al directorio y ejecuta un programa dentro de él.

En las diferentes distribuciones Linux, el acceso al sistema de archivos está completamente regulado.  En las distribuciones Linux inmutables los archivos base del sistema operativo se montan en modo de solo lectura. Esto significa que ni los usuarios ni las aplicaciones pueden hacer modificaciones, borrar o corromper accidentalmente los archivos esenciales mientras el sistema esté en funcionamiento.

Aunque varía según la distribución, los archivos inmutables son estos:

  • /usr: Es donde se almacenan la mayoría de las aplicaciones, librerías y documentación del sistema.
  • /bin: Comandos esenciales para todos los usuarios, aunque en los sistemas modernos solo es un enlace a /usr/sbin.
  • /sbin: Herramientas de administración del sistema. Pero, solo es un enlace y están en usr/sbin.
  • /usr/lib: Guarda las bibliotecas compartidas necesarias para ejecutar programas y módulos del kernel. Ahora es un enlace simbólico a /usr/lib.
  • /etc: Guarda los archivos de configuración del sistema.
  • /etc: Archivos de configuración del sistema.

Esto cambia el enfoque tradicional en Linux donde los usuarios con conocimientos y privilegios necesarios pueden modificar cualqueir parte del sistema.

Para resumir, las características principales son:

  • Raíz de solo lectura: La partición principal se monta solo en modo de solo lectura. Esto impide que el malware (Cada vez más frecuente en Linux) un error humano o una actualización defectuosa afecten al sistema base. Solo basta reiniciar para que retorne a su estado original.
  • Actualizaciones atómicas:  En lugar del sistema tradicional de reemplazo de archivo por archivo. Se crea en segundo plano una imagen completa del sistema y se hace el cambio cuando se produce un reinicio. Si algo sale mal se vuelve al estado anterior.
  • División clara: El sistema base y las aplicaciones y datos del usuario están claramente separados. Las aplicaciones se instalan en un espacio aislado pora uso del usuario en formatos autocontenidos como Snap, Flatpak o Appimage, es decir que no tienen relación con el sistema base y operan en un entorno autocontenido. Las configuraciones y datos del usuairo se guardan en el directorio personal o en directorios que si permiten la escritura.

Diferencias entre distribuciones tradicionales e inmutables.

Sistema base

  • Tradicional: El usuario con privilegios puede hacer modificaciones en el acto y afectar al sistema.
  • Inmutable: Dado a que se monta en modo solo lectura es impsoible para el usuario hacer modificaciones.

Actualizaciones

  • Tradicionales: Se actualizan por paquetes. Pueden romper al sistema si se producen errores.
  • Inmutables: La actualización se hace a partir de una imagen nueva. Es posible revertirlas en caso de problemas.

Instalación de paquetes

  • Tradicionales: Se instalan directamente en el sistema mediante un gestor de paquetes.
  • Inmutables: Usan formatos autocontenidos que reducen al mínimo el contacto con el sistema.

Estabilidad

  • Tradicionales: Por actualizaciones defectuosas o problemas de seguridad,  la estabilidad puede verse afectada.
  • Inmutables: El sistema permanece estable.

Ventajas y desventajas

Lo bueno de este tipo de distribuciones son:

Confianza: Es ideal para usuairos que necesite que sus equipos funcionen sin interrupciones.

  • Simplicidad: Ideal para usuarios que solo utilizan su ordenador para trabajar o entretenerse y no quieren andar metiendo mano en el sistema.
  • Seguridad: Mayor resistencia al malware y errores humanos.
  • Entorno controlado: Ideal para desarrolladores que necesitan entornos reproducibles.

MIentras tanto, los inconvenientes de las distribuciones inmutables son:

  • Menor flexibilidad: La contracara de la mayor seguridad y simplicidad es que el usuario experto n puede hacer cosas como instalar un módulo del kernel o hacer actualizaciones  que no estén previstas oficialmente.
  • Mayor espacio en disco: Por el tipo de actualizaciones y la necesidad de poder volver a un estado anterior, es necesario ternar almacenadas más de una imagen del sistema operativoal mismo tiempo.
  • Nuevo paradigma: Obliga a acostumbrarse a una nueva fomra de hacer las cosas, lo que esdificultoso especialmente para usuairos que vienen de Windows.

No hay por el momento una versión estable inmutable de Ubuntu apta para el usuario doméstico. Algunos proyectos basadas en ella hoy son distribuicones independientes.  En mi opinión, para los usuarios no profesionales la mejor opción es Fedora Silvverblue conla que podemos seguir usando las aplicaciones que ya conocemos instaladas en formato Flatpak.

Artículo original

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

indexo.dev — linux-os.net