Introducción y uso básico de la distribución GNU/Linux Fedora Silverblue

Escrito por el , actualizado el .
gnu-linux planeta-codigo
Enlace permanente Comentarios

Fedora Silbervlue es una distribución innovadora es su forma de sistema base usando OSTree e instalar aplicaciones gráficas con Flatpak y de paquetes de linea de comandos con Toolbox. Todas estas tecnologías le permiten considerarse una distribución rolling-release tanto en el sistema como aplicaciones y paquetes. Estas tecnologías y forma de actualizar el sistema hace que sea mucho menos propenso a errores que los tradicionales en las distribuciones GNU/Linux de actualización de paquetes, ¿la siguiente generación de distribuciones serán como Fedora Silverblue?.

Fedora

Distribuciones GNU/Linux hay muchas con diferencias en algunos aspectos, el más cercano al usuario es entorno de escritorio entre los más populares GNOME, KDE, XFCE, MATE o Cinnamon entre otros pero hay otros aspectos relevantes entre ellos el gestor de paquetes que utiliza, el modelo de actualización, en que otra distribución está basada, cual es su periodo de publicación de nuevas versiones, su popularidad, tiempo de vida o si está respaldada por una empresa.

A pesar de estas diferencias la mayoría de las distribuciones para los usuarios son parecidas en muchos aspectos. Tradicionalmente cada distribución tiene su repositorio de paquetes y su comando gestor de paquetes con el que es posible instalar y desinstalar paquetes. La mayoría usa systemd como sistema de inicio para controlar los procesos y servicios. El entorno de escritorio GNOME o KDE es el mismo en cada distribución si no se tiene en cuenta que las versiones puedan ser diferentes.

Las distribuciones GNU/Linux han cambiado en algunos aspectos importantes como la sustitución del sistema de inicio de SysV a systemd o cambiado el servidor gráfico Xorg por Wayland y van a hacerlo más en el futuro con el nuevo sistema para crear VPNs con WireGuard o el sistema multimedia para sonido y vídeo PipeWire.

En mi caso utilizo Arch Linux desde hace ya casi una década y estoy contento con ella. Los motivos que tengo para preferir esta distribución son su modelo de actualizaciones rolling-release en el que cada actualización todos los paquetes se actualizan a la última versión, su gestor de paquetes pacman que es muy rápido, los paquetes tiene pocas modificaciones realizadas por los mantenedores, es altamente personalizable y también no menos importante casi como todo lo anterior su documentación wiki con información muy útil para cualquier usuario de GNU/Linux.

Arch Linux es una de las distribuciones más populares pero no proporciona ningún asistente automatizado de instalación sino que después de arrancar el medio de inicio hay que introducir los comandos manualmente uno a uno hasta completar la instalación. Esto la hace difícil para los usuarios recién llegados a GNU/Linux o para los usuarios que no desean invertir tiempo en conocer cómo instalarla. También incluso para los usuarios expertos es que ya conocen como instalarla pero que el hecho de hacerlo manualmente es un tiempo que a veces no se dispone además de repetitivo.

Por esos motivos creé un script de instalación de Arch Linux completamente automatizado y desatendido con cierto grado de personalización en las opciones más comunes, es un simple script bash con todos los comandos que componen el proceso de instalación y que simplemente revisarlo sirve como documentación que además si se desea se puede ejecutar.

Pero a pesar de todo Arch Linux se basa en los principios básicos de los que hasta hoy han estado basadas las distribuciones. Gestor de paquetes, repositorio de paquetes y actualizaciones frágiles. Es muy posible que las distribuciones cambien tal y como las hemos conocido hasta ahora, ya se está produciendo cambios con Flatpak como sistema de instalar aplicaciones independientemente de la distribución y mantenidos por los propios desarrolladores del software y no los mantenedores de la distribución.

Una distribución que se basa en principios diferentes que pueden ser el futuro próximo es Fedora Silverblue.

Fedora Silverblue

Fedora Silverblue

La distribución Fedora Silverblue

Una de las mayores fuentes de problemas de las distribuciones y de los sistemas operativos son las actualizaciones que por los cambios que introducen con nuevas versiones del software en ocasiones hace que algunas partes dejen de funcionar. Son solucionables desactualizando un paquete o en los casos más graves hace que el sistema ni siquiera se inicie correctamente llegando incluso a tener que reinstalar el sistema o peor aún provocando pédida de datos.

Otro problema es que algunas distribuciones tienen como principio la estabilidad del software y dado que las nuevas versiones de los programas son una fuente de inestabilidades optan por únicamente proporciona actualizaciones para errores de seguridad. Esto proporciona una mayor estabilidad pero hace que los programas no estén actualizados a las últimas versiones con lo que no se benefician de mejoras en nuevas características, mejoras de soporte de hardware, de rendimiento o incluso de seguridad.

Fedora Silverblue adopta varios principios para solucionar esos problemas. Uno es utilizar una base inmutable igual para todos los sistemas en los que se instala de modo que no haya diferencias ni errores por variaciones en el software del sistema. Es posible volver a una versión anterior en caso de algún error de modo que el sistema nunca quede completamente roto. Las aplicaciones de usuario y paquetes se instalan independientemente del sistema base inmutable lo que hace que no afecten a la estabilidad del sistema.

Fedora Silverblue Fedora Silverblue Fedora Silverblue

Fedora Silverblue

Las tecnologías que permiten adoptar esos principios a Fedora Silverblue son OSTree para el sistema base inmutable, Flatpak para las aplicaciones de usuario gráficas y Toolbox para instalar software de línea de comandos en contenedores.

OSTree es un proyecto que combina un modelo parecido a git para establecer y descargar árboles de sistemas de archivos de arranque, junto con una capa para disponerlos y gestionarlos con la configuración de arranque. OSTree es usado por rmp-ostree, un sistema híbrido de paquete e imágenes que usa Silverblue. Replica de forma atómica un sistema operativo base que permite al usuario añadir capas de paquetes RPM tradicionales encima del sistema base si se necesita.

Instalación

La instalación se realiza con un asistente gráfico después de haber descargado el medio de instalación y haberlo grabado en una memoria USB para iniciar el sistema con él. Es necesario poco más que seleccionar la distribución del teclado, el particionado y la clave del superusuario root para realizar la instalación.

Instalación de Fedora Silverblue Instalación de Fedora Silverblue Instalación de Fedora Silverblue

Instalación de Fedora Silverblue Instalación de Fedora Silverblue Instalación de Fedora Silverblue

Instalación de Fedora Silverblue

Instalación de Fedora Silverblue

Primer inicio

Al iniciar el sistema por primera vez un nuevo asistente permite crear la cuenta de usuario compuesto de nombre y contraseña con la que iniciar sesión en el sistema.

Primer inicio Primer inicio Primer inicio

Primer inicio Primer inicio Primer inicio

Primer inicio

Primer inicio

Al usar GNOME como entorno de escritorio no se diferencia a cualquier otro sistema con GNOME. La mayor diferencia está en que las aplicaciones preinstaladas son muy pocas, reduciéndose a las básicas como el navegador Firefox, la terminal, el explorador de archivos y editor de texto. Este permite al usuario tener instaladas únicamente las aplicaciones que desee o no tener que desinstalar las aplicaciones que no desea. Las aplicaciones que se deseen se deben instalar con Flatpak.

Administración del sistema, actualización

El software que compone el sistema base se puede actualizar, los siguientes comandos permiten conocer cuales son las actualizaciones disponibles. Las actualizaciones están integradas con el programa Software de GNOME que muestra notificaciones cuando hay alguna actualización disponible.

Pero también puede realizarse desde la línea de comandos. El siguiente comando realiza la operación de actualización.

1
2
$ rpm-ostree upgrade

rpm-ostree-upgrade.sh

Para simplemente comprobar que actualizaciones hay disponibles sin instalarlas.

1
2
$ rmp-ostree status
$ rpm-ostree upgrade --check
rpm-ostree-status.sh

Para actualizar entre versiones mayores, de la 32 a posteriores, de Fedora Silverblue se utilizan los siguientes comandos en los que cambiará el número de la versión.

1
2
3
$ ostree remote list
$ sudo ostree remote gpg-import fedora -k /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-32-primary
$ rpm-ostree rebase fedora:fedora/32/x86_64/silverblue
rpm-ostree-rebase.sh

La mayoría del software de usuario se instala con Flatpak y Toolbox siendo la forma recomendada de hacerlo. Sin embargo, algunos programas ha de instalarse modificando la instalación de Silverblue utilizando package layering, como un intérprete de comandos distinto a bash. La mayoría de paquetes RMP es posible instalarlos, aún así este método debe usarse en casos excepcionales que no sea posible hacerlo con Flatpak o Toolbox ya que podría comprometer la estabilidad del sistema.

1
2
$ rpm-ostree install <package name>

rpm-ostree-install.sh

Actualización Actualización Actualización

Actualización

En caso de que una actualización produzca algún error se puede volver a la versión anterior con el siguiente comando.

1
2
$ rpm-ostree rollback

rpm-ostree-rollback.sh

Instalación de programas gráficos

Las aplicaciones de usuario gráficas se instalan con Flatpak y en el caso de GNOME con la aplicación Software. A medida que pasa el tiempo hay más programas disponibles en esta forma de distribuir software y muchos de los programas más comunes está disponibles como la colección ofimática LibreOffice, el reproductor multimedia VLC, el editor de texto avanzado Visual Studio Code o el entorno de desarrollo integrado IntelliJ.

Con la aplicación de software es posible encontrar todo este software, instalarlo y desinstalarlo con un clic en un botón. Lo único necesario es añadir el repositorio Flathub como fuente de programas.

Repositorio Flathub Repositorio Flathub

Repositorio Flathub

Instalación de software Instalación de software Instalación de software

Instalación de software

Instalación de software

Dos programas instalados como paquetes Flatpak.

Intellij IDEA Visual Studio Code

Programas instalados como Flatpak

También es posible instalar el paquetes Flatpak desde la linea de comandos.

Uso de Toolbox, programas de línea de comandos en contenedores

El resto de paquetes de línea de comandos se pueden instalar en contenedores con Toolbox basados en podman que es una alternativa compatible de Docker. Lo especial de estos contenedores es que tiene acceso a la carpeta personal o directorio home del usuario de modo que pueden crear archivos o modificar los existentes en esta ubicación.

Destro de estos componentes se instalan los paquetes con el gestor de paquetes dnf.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
$ toolbox run dnf search openjdk
Last metadata expiration check: 5 days, 18:10:47 ago on Sun May 10 00:09:19 2020.
======================= Name & Summary Matched: openjdk ========================
java-11-openjdk-demo.x86_64 : OpenJDK Demos 11
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos 8
java-latest-openjdk-demo.x86_64 : OpenJDK Demos 14
java-11-openjdk-jmods.x86_64 : JMods for OpenJDK 11
java-11-openjdk-src.x86_64 : OpenJDK Source Bundle 11
java-11-openjdk.x86_64 : OpenJDK Runtime Environment 11
java-11-openjdk.i686 : OpenJDK Runtime Environment 11
java-latest-openjdk-jmods.x86_64 : JMods for OpenJDK 14
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle 8
java-latest-openjdk-src.x86_64 : OpenJDK Source Bundle 14
....

$ sudo dnf install java-11-openjdk.x86_64
$ java -version
toolbox-package-install.sh

Instalación de programas de línea de comandos Instalación de programas de línea de comandos Instalación de programas de línea de comandos

Instalación de programas de línea de comandos

Para no modificar el sistema base de Silverblue otra forma de instalar Java es con la utilidad SDKMAN que además permite cambiar entre versiones fácilmente y tener acceso a diferentes implementaciones del JDK, entre otras utilidades instalables con esta herramienta.

1
2
$ sdk list java
$ sdk install java 11.0.7-open
sdk-usage.sh

Conclusión

Si tuviese que probar o usar otra distribución diferente Arch Linux probablemente la que elegiría sería Fedora Silverblue por los principios innovadores en las que está basada que proporcionan varias mejoras en puntos importantes sobre las distribuciones como las hemos conocido tradicionalmente. Igualmente permite tener el software actualizado, es también rolling-release y mejora la fiabilidad de las actualizaciones.

En estos vídeos se proporciona una introducción sobre esta distribución que quizá marque el camino de aquí en adelante para otras.


Comparte el artículo: