11 puntos por GN⁺ 2025-04-23 | 2 comentarios | Compartir por WhatsApp
  • Gracias a bootc y los contenedores arrancables, cambiar temas ahora es posible de una forma más segura y fácil de administrar
  • Como /usr se puede definir como contenedor y revertir, es fácil experimentar con el sistema y volver atrás
  • Con el comando ostree admin unlock, también es posible hacer personalizaciones temporales sin reiniciar
  • Proyectos como Blue95 reflejan una era en la que la frontera entre distribución y contenedor se ha vuelto difusa
  • Los contenedores arrancables permiten materializar la expresión creativa personal

La alegría de personalizar temas en Linux

  • Durante décadas, ha habido interés por distintos entornos de escritorio y configuraciones de temas
    • Se instalaron Xfce, LXQt, Sway y otros, personalizando paneles, lanzadores, sonidos, tipografías y temas
    • Al principio se usaban scripts de shell, que luego evolucionaron a playbooks de Ansible
    • También incluía cambios a nivel de todo el sistema que requerían modificar el directorio /usr
  • Pero con el tiempo, problemas como paneles que se rompían o desaparecían con frecuencia, o lanzadores que dejaban de funcionar, llevaron a la decisión de volver a la configuración predeterminada
  • Entornos de escritorio modernos como GNOME y KDE ya están muy bien hechos, así que su estado por defecto resulta suficientemente satisfactorio
  • Aun así, las ganas de personalizar no desaparecieron, y en ese proceso apareció el concepto de bootc

Bootc es el patio de juegos de quienes crean temas

  • bootc es un sistema de contenedores arrancables desarrollado por Red Hat
  • Permite definir y distribuir el sistema operativo con base en contenedores
    FROM quay.io/fedora/fedora-bootc:42  
    RUN dnf install -y my-custom-theme my-custom-fonts my-custom-panel  
    
  • Con podman y el comando bootc se puede construir la imagen y cambiar el sistema:
    sudo podman build -f Containerfile -t my-fedora  
    sudo bootc switch --transport containers-storage localhost/my-fedora:latest  
    
  • /usr es de solo lectura, y el contenedor se puede revertir fácilmente a un estado anterior
  • Es un enfoque optimizado para experimentar con nuevas ideas de temas
  • Si algo falla o no convence, se puede restaurar fácilmente el estado anterior

Modo de desarrollo (ostree admin unlock)

  • Es un modo que permite modificar temporalmente /usr sin reiniciar
  • Si funciona, se refleja en el Containerfile; si falla, basta con reiniciar para eliminar los cambios
  • Tiene la ventaja de que casi no deja residuos acumulados como suele pasar en un entorno Linux convencional

Comparación con métodos alternativos

  • Ansible o scripts de shell: tienen limitaciones en reproducibilidad y recuperación
  • systemd-sysext: permite usar imágenes overlay sobre /usr, pero su ecosistema aún es inmaduro
  • Nix: tiene un costo de aprendizaje muy alto

En conclusión, bootc es el enfoque más sólido en seguridad, flexibilidad y soporte de herramientas
Incluso si hay cambios equivocados, es fácil hacer rollback, así que no hay que preocuparse por romper /usr

¿Qué es una "distribución"?

  • Blue95 es una imagen OCI personalizada basada en Fedora Xfce
  • Tras aparecer en Hacker News, surgió la pregunta: "Si solo es un tema, ¿de verdad necesita una distribución?"

La definición de distribución se está volviendo borrosa

  • Antes, crear una distribución era algo muy complejo y que consumía mucho tiempo
  • Ahora es fácil lograr un resultado similar solo con un Containerfile + un pipeline de CI/CD
  • Blue95 se construye automáticamente con GitHub Actions y se distribuye en un registro OCI
  • El criterio para considerar una simple imagen basada en Fedora como una distribución sigue siendo ambiguo

Comparación con casos previos

  • Proyectos basados en bootc como Bluefin y Bazzite también suelen considerarse distribuciones
  • La experiencia real de uso es claramente distinta a la de Fedora tradicional
  • Con las definiciones anteriores, se vuelve difícil explicar qué significa hoy una distribución
    • "Lo sabes cuando lo ves" podría terminar siendo el único criterio cualitativo posible

Conclusión

  • Crear una "distribución" solo por un tema puede parecer innecesario
  • Pero poder definir un diseño coherente y una configuración de apps con contenedores arrancables,
  • y tener la libertad de crearla y usarla uno mismo, da una gran alegría y sensación de logro

El sistema operativo en el que se está escribiendo este texto arrancó desde un contenedor creado por mí
Es el resultado de sumar mi propia expresión creativa al trabajo de muchísimas personas desarrolladoras,
y eso es algo que me da una gran satisfacción

2 comentarios

 
zihado 2025-04-23

Todavía no termino de entender bien los contenedores arrancables.

 
GN⁺ 2025-04-23
Opiniones de Hacker News
  • Los contenedores comunes son muy útiles para probar dotfiles

    • Hace unos años agregué un script de instalación a https://github.com/nickjj/dotfiles para configurar rápidamente el sistema
    • Lo probé usando imágenes oficiales de Debian y Ubuntu
    • Recientemente lo refactoricé para dar soporte a Arch Linux
    • Puedo completar toda la prueba en unos 5 minutos
    • El contenedor arranca en 1 segundo y el resto es la ejecución del script
    • Permite probar sin modificar el sistema
    • Docker ha hecho posibles muchas cosas buenas durante los últimos 10 años
  • Me gusta la idea de Linux inmutable y de los contenedores arrancables

    • Mi próximo proyecto probablemente será cambiarme a bazzite
    • Pero al ver el Containerfile, me preocupa la fragilidad de la cadena de suministro
    • Está usando 20 repositorios copr distintos y las versiones no están fijadas
    • Con Debian siento más confianza en los paquetes
    • Empaquetar el riesgo de la cadena de suministro en un solo archivo podría ser peligroso
    • Me pregunto si otras personas tienen la misma preocupación
  • Me pregunto por qué no hay más entusiasmo por los temas

    • Me gustan Chicago95 y el tema KDE de Garuda
    • Hay sitios web donde se pueden descargar temas para varios DE, pero la mayoría se siente un poco inestable
  • No sabía absolutamente nada sobre los contenedores arrancables

    • Blue95 tiene mucho más sentido en el contexto del uso de bootc
    • Se pueden tomar como referencia ejemplos como NsCDE
  • Me acordé de cuando jugaba con Enlightenment

    • Era un intento de llevar al límite las posibilidades de X11
    • Me sorprende que todavía exista
  • Los contenedores arrancables me parecen interesantes

    • Son similares al módulo impermanence de NixOS
  • El proyecto bootc es una de las cosas más interesantes en Linux en este momento

    • Ojalá proyectos como Debian lo adoptaran
    • Se podrían obtener muchas ventajas en términos de estabilidad
  • La imagen en miniatura representa por completo mi estado actual

  • Esperaba que los OS modernos pudieran tematizarse de forma infinitamente fácil, pero no es así

    • Pensé que existirían temas retro perfectos y también temas originales