- Gracias a bootc y los contenedores arrancables, cambiar temas ahora es posible de una forma más segura y fácil de administrar
- Como
/usrse 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
podmany el comandobootcse 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 /usres 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
/usrsin 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
Todavía no termino de entender bien los contenedores arrancables.
Opiniones de Hacker News
Los contenedores comunes son muy útiles para probar
dotfilesMe gusta la idea de Linux inmutable y de los contenedores arrancables
Me pregunto por qué no hay más entusiasmo por los temas
No sabía absolutamente nada sobre los contenedores arrancables
bootcMe acordé de cuando jugaba con Enlightenment
Los contenedores arrancables me parecen interesantes
El proyecto
bootces una de las cosas más interesantes en Linux en este momentoLa 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í