Conecta con nosotros

A Fondo

Fedora Silverblue, el sistema que pretende cambiar el escritorio Linux

Publicado

el

Fedora Silverblue, sistema operativo Linux inmutable para escritorio

Hoy vamos a presentar un sistema operativo Linux que pretende cambiar el paradigma dentro del espectro del escritorio: Fedora Silverblue. Su nombre ya deja entrever la distribución a la que pertenece, pero frente a la que todavía es la edición de referencia para escritorio, Workstation, destaca por ser un sistema operativo inmutable, además de por otras características.

El hecho de ser inmutable significa que el sistema de ficheros es en un alto porcentaje de solo lectura, así que el usuario solo puede escribir sobre algunas partes específicas, de las que sobresalen los directorios /etc y el personal. Cuando decimos que el sistema de ficheros es de solo lectura, nos estamos refiriendo a que no puede ser modificado ni siquiera con la cuenta de root, el administrador supremo de Linux y otros sistemas Unix y tipo Unix.

La inmutabilidad ha sido interpretada por algunos como una forma de limitar la libertad del usuario, pero en términos prácticos ofrece grandes ventajas como la reducción de posibilidades de rotura del sistema y una mayor predictibilidad para los desarrolladores al ser todas las implementaciones siempre iguales. Esto puede aplicarse a SteamOS 3, el sistema operativo empleado por la Steam Deck, el cual también es inmutable básicamente por las razones expuestas.

Pero Fedora Silverblue no es solo un Linux para escritorio cuyo sistema de ficheros es de solo lectura en un alto porcentaje, sino que aporta frente a la mayoría de distribuciones “tradicionales” las ventajas que vamos a mencionar a continuación.

rpm-ostree: actualizaciones atómicas y generación de imágenes

Fedora Silverblue emplea un mecanismo de actualizaciones atómicas, OSTree, que tiene montado encima un gestor de paquetes llamado rpm-ostree. Para exponerlo todo de forma simple, las actualizaciones atómicas son un método de actualización que, en caso de fallar, llevará a cabo un proceso de reversión para evitar la aplicación de cambios parciales y la posible aparición de problemas, mientras que rpm-ostree hace de interfaz de OSTree y se encarga de la gestión de los paquetes RPM.

Además, cada vez que se haga una modificación en el sistema mediante rpm-ostree, ya sea instalar una aplicación o un programa en formato RPM, llevar a cabo un proceso de actualización o establecer argumentos del kernel, se generará una nueva imagen del sistema. En consecuencia, si el usuario accede al menú de GRUB de Fedora Silverblue, no verá versiones del kernel Linux, sino imágenes del sistema generadas con OSTree.

Cada imagen contiene el estado anterior del sistema operativo, así que es posible no solo revertir el kernel, sino también cualquier otro componente del sistema a un estado anterior. Debido a que las nuevas imágenes, por lo general, se generan con el proceso de actualización, estas no tienen por qué cambiar el kernel, sino que posiblemente lo modificado sea la versión del entorno de escritorio u otro componente, como systemd o el servidor de multimedia PipeWire (que de manera común también es conocido como un servidor de sonido).

Fedora Silverblue 36

Fedora Silverblue 36.

La imagen que se genera en cada proceso de actualización se carga en el siguiente inicio del sistema, así que el usuario no tiene por qué preocuparse de los problemas que pueden ocasionar las actualizaciones en caliente y tampoco tiene que acarrear con las actualizaciones fuera de línea, las cuales han generado bastante debate entre los usuarios de Linux. El resultado es un mecanismo de actualización mucho más seguro y que no interrumpe el uso de la computadora por conflictos entre los componentes actualizados y sus versiones en uso.

Si alguien ha pensado en los puntos de restauración del sistema de Windows, no va mal encaminado, ya que el concepto tiene alguna que otra similitud. La ventaja de la generación de imágenes mediante OSTree es que permite al usuario revertir fácilmente a una versión (imagen) anterior del sistema en caso de recibir alguna actualización que le esté dando problemas. Este aspecto le da a Silverblue un plus de resiliencia frente a la mayoría sistemas Linux “tradicionales”, los cuales son mutables (permiten modificar prácticamente cualquier aspecto).

Flatpak, separando las aplicaciones del sistema para que no toquen donde no deben

Aparte de las actualizaciones atómicas y la generación de imágenes con OSTree y rpm-ostree, Fedora Silverblue intenta separar al usuario (más que las aplicaciones) del sistema mediante los motores de contenedores Podman y Toolbox, además del formato paquetes universales Flatpak. Como Podman y Toolbox son herramientas más orientadas a desarrolladores y usuarios avanzados, nos centraremos exclusivamente en Flatpak.

A estas alturas cualquiera que haya seguido un poco la actualidad sobre Linux sabe lo que es Flatpak, un formato de paquetes universales que pretende hacer que los mismos empaquetados de las aplicaciones gráficas funcionen sobre cualquier distribución. Decimos aplicaciones graficas porque Flatpak es un marco creado para cubrir específicamente eso.

Flatpak entra en competencia con los formatos de paquetes “tradicionales” en sistemas como Ubuntu, Linux Mint, Fedora Workstation o Arch Linux, pero en los sistemas inmutables tiene mucho más sentido debido a que refuerza una perspectiva que ya maneja de por sí: la de separar las aplicaciones del sistema operativo.

Logo de Fedora Silverblue

Flatpak no interacciona a nivel de paquetes con la parte RPM gestionada por rpm-ostree, aunque sí con servicios como por ejemplo el mencionado PipeWire para el soporte de audio, el cual obviamente está presente en formato RPM. El hecho de que Flatpak y la parte RPM sean gestionados de forma totalmente separada, unido a la inmutabilidad, hace que por diseño se fulmine un problema que tradicionalmente se ha visto en Linux, y es el hecho de que una aplicación, mediante un conflicto de dependencias, puede por llevarse por delante un altísimo porcentaje del sistema operativo, rompiéndolo y forzando una reinstalación si no se tienen los conocimientos para restaurar manualmente los paquetes desinstalados.

Un ejemplo paradigmático de lo que acabo de exponer es lo que le ocurrió hace un año a Linus Tech Tips al intentar instalar el cliente de Steam en Pop!_OS. Debido a un fallo de dependencias entre los paquetes Deb procedentes de los repositorios de la distribución, terminó por desinstalar todo el escritorio, rompiendo de facto el sistema.

El escenario experimentado por Linus Sebastian (así se llama el protagonista o jefe del canal) es extremadamente difícil que se produzca en Fedora Silverblue, y en caso de recibir un paquete RPM defectuoso, siempre queda la opción de iniciar una imagen anterior del sistema.

Eso sí, Flatpak arrastra la limitación de no poder funcionar como administrador, así que las configuraciones gráficas del cortafuegos (paquete firewall-config) y del módulo de seguridad SELinux (paquete policycoreutils-gui) hay que instalarlas en formato RPM mediante rpm-ostree. Pese a ello, la configuración de seguridad predeterminada de Fedora deja usar todo lo básico en un escritorio sin problemas y además es bastante fuerte, ya que SELinux funciona por defecto en modo estricto.

Cómo se gestiona todo en la práctica (por si te has asustado)

¿Demasiadas cosas técnicas y complicadas? Explicar el cambio de paradigma que supone Fedora Silverblue es extremadamente difícil sin pisar algunos terrenos ásperos, pero afortunadamente, se puede simplificar todo de cara a un uso práctico real.

Una de las almas del proyecto Fedora es la automatización, cosa que afortunadamente también aplica a Silverblue. Básicamente, lo que tiene que hacer el usuario es abrir GNOME Software y dirigirse a la sección de actualizaciones, donde podrá ver, aunque no siempre, dos secciones diferenciadas, una en la que aparece escrito “Requiere reiniciar” y otra “Actualizaciones de aplicaciones”.

La sección “Requiere reiniciar” es la parte RPM, la gestionada por OSTree mediante rpm-ostree. Aquí solo hay que pulsar sobre el botón “Reiniciar y actualizar” y se iniciará el proceso de actualización y la generación de la nueva imagen del sistema. Tras completarse, al usuario le aparecerá un aviso indicando que el sistema se reiniciará en los próximos 60 segundos si no cancela. Gracias a que la nueva imagen se carga en el siguiente inicio, el usuario puede cancelar perfectamente y continuar con su trabajo como si nada, aunque recomendamos reiniciar en cuanto se pueda sobre todo en caso de haber recibido actualizaciones de seguridad.

Por su parte, “Actualizaciones de aplicaciones” son las aplicaciones, componentes y entornos de ejecución (runtimes) de Flatpak, los cuales pueden actualizarse en caliente sin problemas y como mucho requiriendo el reinicio de las aplicaciones actualizadas. Aprovechamos la ocasión para recomendar la instalación del repositorio Flathub, el cual suministra muchas aplicaciones básicas y soporte para formatos de multimedia privativos. El usuario puede simplemente descargar el fichero del repositorio, abrirlo con GNOME Software (“Abrir con Instalar software” en el menú contextual), proceder a instalarlo y reiniciar la sesión.

GNOME Software, la aplicación que concentra el mantenimiento del software en Fedora Silverblue

GNOME Software, la aplicación que concentra el mantenimiento del software en Fedora Silverblue.

Como vemos, a la hora de la verdad el uso y mantenimiento del sistema es bastante más simple que la complejidad tecnológica que representa. Llegados a este punto, posiblemente algunos hayan pensado en Android, donde el sistema operativo y las aplicaciones suelen ser actualizados con mecanismos diferentes y separados. La realidad es que usar Fedora Silverblue es más parecido a Android que a un Linux “tradicional” y mutable.

Si bien es posible instalar aplicaciones gráficas en formato RPM, lo suyo es emplear dicha vía como último recurso. En caso de no encontrar una aplicación en formato Flatpak o que su empaquetado en ese formato no sea bueno, es preferible recurrir a AppImage, otro formato de paquetes universales, antes que al mencionado RPM.

Debido a que Flatpak no ha sido concebido con los programas de línea de comandos en mente, estos deben ser instalados mediante RPM, o sea, que populares programas como neofetch e inxi deben ser instalados de la manera “tradicional” y con la línea de comandos, ya que Fedora Silerblue no cuenta con un gestor gráfico de paquetes. Lo suyo realmente es emplear un contenedor de Toolbox, pero si solo se van a instalar unas pocas herramientas o aplicaciones adicionales, al final termina siendo más un estorbo que un añadido para el usuario común.

El paquete que suministra la integración de los controladores con el cliente de Steam, steam-devices, tiene que ser instalado en formato RPM y desde el sistema anfitrión para poder funcionar con la versión Flatpak del cliente de Valve.

Unos comandos salvavidas

Como toda creación humana, Fedora Silverblue no es perfecto, así que vamos a compartir algunos recursos que pueden ayudar al usuario a la hora de afrontar algunas incidencias comunes con el sistema.

Uno de los fallos más comunes que uno puede encontrarse es que la comprobación de los paquetes ha dejado de funcionar correctamente, por lo que no es posible instalar un programa concreto o directamente ni se puede actualizar. Eso puede ser resuelto ejecutando los siguientes comandos:

rpm-ostree cleanup -m

rpm-ostree refresh-md

Otros sistemas Linux inmutables orientados al escritorio

Fedora Silverblue es el sistema que ha puesto la inmutabilidad en la escena mainstream del escritorio Linux, pero no es ni asomo la primera distribución ni el primer sistema operativo inmutable que existe. Centrándonos en el escritorio, hay otros dos sistemas Linux y una distribución que en un futuro apuntan a ser una competencia para Silverblue.

  • openSUSE MicroOS: no hace falta explicar el proyecto originario de este sistema inmutable, que conceptualmente comparte con Silverblue el hecho de insistir en los contenedores y la separación de las aplicaciones del sistema. Sin embargo, en vez de OSTree y rpm-ostree, emplea transactional-update, otro mecanismo de actualizaciones atómicas que se apoya en Snapper y las instantáneas de Btrfs, por lo que el uso dicho sistema de ficheros es obligatorio.
  • Vanilla OS: se trata de una derivada de Ubuntu de reciente creación centrada en los contenedores, que deja elegir entre AppImage, Snap y Flatpak como formato de paquetes universales y que pretende ser un sistema que dé libertad al usuario respetando sus decisiones. Todavía se encuentra en fase beta, pero ya está llamando la atención.
  • Fedora Kinoite: sistema hermano de Silverblue que emplea las mismas tecnologías, pero con KDE Plasma como escritorio en lugar de GNOME. Su principal hándicap es que la integración de rpm-ostree en Discover, la aplicación de tienda oficial de KDE, todavía no funciona, así que la parte RPM del sistema tiene que ser actualizada y mantenida mediante la línea de comandos.

Conclusión

Como vemos, Fedora Silverblue es un concepto rompedor si nos atenemos al modo en que tradicionalmente ha sido usado el escritorio Linux. A pesar de que los cambios introducidos pueden hacer que parezca un sistema poco apto para los usuarios comunes, la realidad es que, una vez configurado y entendidos los conceptos más básicos, su mantenimiento llega a ser incluso menor que el de un sistema Linux “tradicional”.

Pero no todas son luces, ya que por ahora es un sistema operativo bastante inmaduro, aunque en su estado actual toca con la yema de los dedos el techo en términos de estabilidad dentro del escritorio Linux. Tecnologías como Flatpak todavía tienen que pulir aspectos y mejorar en términos de integración, pero poco a poco se van dando pasos en la buena dirección.

Saber si Silverblue es un sistema que encaja o no con el flujo de uso del usuario es algo que solo se puede descubrir probando. Si te ha picado el gusanillo, puedes echarle un vistazo al tutorial publicado en MuyLinux.

Lo más leído