› Foros › PC › Software libre
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).
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.
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.
Brutico escribió:Es como un sanpshot de btrfs?
Mengsk escribió:Pues mi futuro reciente con Linux es el abandono. Lastimosamente a día de hoy no lo necesito para nada que no pueda hacer mejor, mas cómodo y rápido con otros sistemas. Como diría una mujer que te rechaza. No eres tu, soy yo. A día de hoy ya soy mayor y no te necesito.
Y lo digo con gran pesar, hemos sido buenos compañeros por mas de 20 años pero desde que me retiré ya no necesito hacer cosas serias. Solo fiesta y diversión.
luciferfran escribió:@xDarkPeTruSx
Madre mía, es muy curioso lo de docker, ya que es nativo de Linux, en windows desde que sacaron WSL2 va bastante bien todo el tema de docker y en Mac hasta hace 2 días iba regular mal, era con diferencia el más lento levantar las máquinas y el sistema de archivo también muy lento (eso ha cambiado hace poco).
No he usado Fedora Silverblue, pero en un portatil que tengo ya algo antiguo (10 años y tampoco era potente en su época) en windows no soy capaz de levantar 2 docker sin que se quede medio colgado el ordenador, porque WSL2 al fin y al cabo es una virtualización de Ubuntu en mi caso con 2 docker y chupa, sin embargo levantar lo mismo en la partición que tengo de Manjaro lo hace sin despeinarse.
Lo que sí que me parece bien en las empresas es que te diesen la opción de elegir, aunque es cierto que en ciertos ambitos no hay opción y toca windows only,
Un saludo