12k
All articles

5 distros de Linux que quizá no conozcas

Compara cinco distribuciones Linux menos conocidas para desarrolladores: CachyOS, Bazzite, Nobara, Vanilla OS y Chimera Linux, en controladores, actualizaciones y herramientas.

OpenReplay Team
OpenReplay Team
5 distros de Linux que quizá no conozcas

La mejor distro de Linux para desarrolladores es la que consigue que los toolchains, los contenedores y los drivers de GPU funcionen con la menor fricción posible. CachyOS, Bazzite, Nobara, Vanilla OS y Chimera Linux resuelven cada una esos tres frentes con un enfoque distinto.

La mayoría de las listas de “mejores distros” son en realidad benchmarks de gaming. Te hablan de FPS, pero no de si npm install, Docker o tu IDE van a funcionar bien un martes cualquiera por la mañana.

Tu portátil ya no tiene que replicar el entorno de producción, porque de eso ahora se encargan los contenedores. Así, la elección del sistema operativo anfitrión se reduce a tres cosas: los drivers, el comportamiento de las actualizaciones y la forma de instalar herramientas. Este artículo analiza cinco distros menos conocidas desde esas tres perspectivas. Omarchy y Garuda Linux tienen sus propios artículos, así que aquí se quedan fuera.

Conclusiones clave

  • CachyOS es Arch con un kernel optimizado y repositorios compilados para arquitecturas de CPU específicas, por lo que los repositorios de Arch, el AUR y la Arch Wiki siguen siendo válidos.
  • En distros inmutables como Bazzite y Vanilla OS, los paquetes del host se superponen (layering) sobre una imagen de solo lectura, y los toolchains de cada lenguaje viven en contenedores que comparten tu directorio personal.
  • Nobara es un Fedora escribible con códecs y drivers de NVIDIA preinstalados, así que la documentación de Fedora y tus hábitos con dnf siguen siendo aplicables.
  • Chimera Linux usa musl, LLVM/Clang, las herramientas base de FreeBSD y dinit, lo que significa que los binarios precompilados que solo existen para glibc pueden fallar si no se recurre a un contenedor con glibc.
  • Ninguna de estas distros cambia el entorno en el que se ejecuta tu código en producción. La elección determina cómo llegan las herramientas a la máquina y cómo se aplican las actualizaciones.

CachyOS: Arch optimizado para el rendimiento

CachyOS es una distribución rolling release basada en Arch. Se diferencia del Arch estándar en dos aspectos: un kernel optimizado por CachyOS que usa por defecto un planificador EEVDF ajustado (BORE y otros planificadores son opcionales), y repositorios de paquetes compilados para x86-64-v3, x86-64-v4 y AMD Zen 4/5. Es ideal para desarrolladores a quienes ya les gusta Arch y prefieren que la optimización venga hecha de serie.

  • Paquetes: los repositorios de Arch más el AUR. Las CLI poco comunes, los language servers y los SDK de nicho suelen estar a un solo paquete de distancia.
  • Antes de empezar a trabajar: instala tus runtimes y Docker o Podman desde los repositorios. No hay nada que se interponga.
  • NVIDIA: el empaquetado de NVIDIA de Arch y la página de NVIDIA de la Arch Wiki se aplican directamente.
  • Como máquina de trabajo: las actualizaciones del kernel, de Mesa y del toolchain llegan de forma continua, y se espera que leas las noticias del proyecto antes de las actualizaciones importantes.

Lo que te cuesta: el mantenimiento propio de un rolling release. Si una actualización sale mal el día de una entrega, te toca arreglarla a ti.

Bazzite: Fedora Atomic con imágenes específicas para NVIDIA

Bazzite es una distribución inmutable cuyo sistema base es una imagen de solo lectura de Fedora Atomic. Se actualiza como una sola unidad y, para revertir, basta con arrancar la imagen anterior. Eso significa que no instalas las herramientas de desarrollo de forma global como harías con dnf. Es ideal para desarrolladores que quieren una máquina que se mantenga consistente y están dispuestos a trabajar dentro de contenedores.

  • Paquetes: Flatpak para aplicaciones gráficas, layering con rpm-ostree para el software del host y contenedores para los toolchains. Bazzite incluye Distrobox. Si quieres Docker listo para usar, viene con la variante Bazzite DX, no con la imagen estándar.
  • Antes de empezar a trabajar: crea un contenedor de desarrollo.
  • NVIDIA: Bazzite ofrece imágenes específicas para NVIDIA. Elige la tuya en la página de descargas.
  • Como máquina de trabajo: las actualizaciones son atómicas y puedes revertirlas, pero tu directorio personal, tus contenedores y los paquetes superpuestos siguen siendo responsabilidad tuya.

En un sistema Fedora inmutable, los paquetes a nivel de host se superponen a la imagen con rpm-ostree y surten efecto tras reiniciar. Los toolchains de cada lenguaje van en un contenedor de Distrobox o Toolbx que comparte tu directorio personal:

rpm-ostree install zsh          # host layer, applied on next boot
systemctl reboot

distrobox create --name dev --image registry.fedoraproject.org/fedora:latest
distrobox enter dev
sudo dnf install nodejs gcc make   # inside the container only

rpm-ostree rollback             # revert to the previous deployment

Todo lo que instales dentro de dev queda fuera de la imagen del host y desaparece al eliminar el contenedor.

La base de solo lectura de Bazzite obliga a cambiar ciertos hábitos. Quizá estés acostumbrado a resolver problemas con sudo y un editor de texto, y domines a la perfección los permisos y la propiedad de archivos. En Fedora Atomic, /usr es de solo lectura. /etc sigue siendo escribible, pero OSTree fusiona tus cambios con cada nueva imagen. Hay otra trampa: un IDE empaquetado como Flatpak se ejecuta en un sandbox, por lo que puede que no vea los compiladores de tu contenedor ni los del host a menos que lo configures para ello.

Lo que te cuesta: cada vez que instalas una herramienta, primero tienes que decidir si debe ir en el host, en un contenedor o en un Flatpak.

Nobara: Fedora sin asperezas

Nobara es un Fedora convencional y escribible al que se le añaden códecs multimedia, drivers de NVIDIA y parches del kernel orientados al gaming. La mayor parte de la documentación de Fedora y tus hábitos con dnf siguen siendo válidos sin cambios. Lo mantiene GloriousEggroll y es ideal para usuarios de Fedora cansados de configurar códecs y drivers tras cada instalación.

  • Paquetes: dnf, Flatpak y el ecosistema de Fedora, además de los repositorios propios de Nobara.
  • Antes de empezar a trabajar: muy poco. Instala tus runtimes y tu motor de contenedores como lo harías en Fedora.
  • NVIDIA: los drivers vienen preinstalados, lo que elimina la fuente más habitual de fricción en el primer arranque de Fedora.
  • Como máquina de trabajo: es un sistema mutable. Puedes modificar cualquier cosa y, por tanto, también romper cualquier cosa.

Lo que te cuesta: es un proyecto más pequeño que Fedora. Cuando algo falla, tienes que depurar tanto los parches de Nobara como el upstream.

Vanilla OS: inmutable y centrada en contenedores

Vanilla OS mantiene el sistema base inmutable y traslada la instalación de software a contenedores. Instalar un compilador empieza por decidir en qué contenedor va a vivir, no de qué repositorio procede. Es ideal para desarrolladores que necesitan con frecuencia paquetes de varias distribuciones en una misma máquina.

  • Paquetes: el host se gestiona con ABRoot, que aplica cada actualización en una segunda partición raíz y cambia a ella en el siguiente reinicio. Apx gestiona contenedores basados en otras distribuciones y expone sus gestores de paquetes desde el host. Flatpak cubre las aplicaciones gráficas.
  • Antes de empezar a trabajar: crea un contenedor de Apx para cada familia de toolchains.
  • NVIDIA: consulta la documentación del proyecto para tu hardware.
  • Como máquina de trabajo: tiene las mismas ventajas e inconvenientes de un sistema inmutable que Bazzite, pero con las herramientas propias de Vanilla en lugar de rpm-ostree.

Lo que te cuesta: depender de herramientas específicas de Vanilla. La documentación de Fedora Atomic y de Arch no se puede aplicar tal cual.

Chimera Linux: la verdaderamente atípica

Chimera Linux es una distribución independiente y rolling release que evita GNU siempre que puede. Usa musl en lugar de glibc, las herramientas base de FreeBSD en lugar de GNU coreutils, LLVM/Clang como toolchain del sistema y dinit como sistema de init. Los paquetes se gestionan con apk-tools. Es ideal para programadores de sistemas y para cualquiera que quiera poner a prueba la portabilidad de su código.

  • Paquetes: repositorios apk. Todo lo que dependa del empaquetado de Arch o Fedora necesita un contenedor.
  • Antes de empezar a trabajar: comprueba que tus runtimes funcionan con musl.
  • NVIDIA: consulta la documentación del proyecto sobre el soporte de NVIDIA.
  • Como máquina de trabajo: los scripts de shell escritos para GNU coreutils pueden comportarse de forma inesperada, porque las herramientas BSD aceptan flags distintos.

Una distribución basada en musl como Chimera Linux compila y ejecuta tu propio código sin problemas. Con los binarios precompilados enlazados contra glibc la situación es distinta: las CLI de terceros y los paquetes que solo publican builds para glibc pueden no funcionar sin una capa de compatibilidad o un contenedor con glibc.

Lo que te cuesta: chocar con las suposiciones del ecosistema. La mayor parte del software se distribuye como binarios compilados para glibc.

¿Qué distro de Linux es la mejor para desarrolladores?

  • Si vives en el AUR y no te importan las actualizaciones continuas, CachyOS te ofrece Arch con la optimización ya hecha.
  • Si quieres un sistema operativo estable y no te importa desarrollar dentro de contenedores, el modelo de imágenes de Bazzite junto con Distrobox te lo resuelve.
  • Si ya conoces Fedora y solo quieres tener resueltos los drivers de NVIDIA y los códecs, Nobara mantiene intactos tus hábitos.
  • Si necesitas con frecuencia paquetes de varias distribuciones en una misma máquina, Vanilla OS coloca cada toolchain en su propio contenedor de Apx.
  • Si quieres un sistema poco convencional con el que poner a prueba la portabilidad, Chimera sacará a la luz cada dependencia implícita de glibc y GNU que haya en tu código.

Ninguna de estas distros cambia el entorno en el que se ejecuta tu código en producción. La elección determina cómo llegan los toolchains a la máquina, cómo se aplican las actualizaciones y cuánto trabajo con drivers tendrás que hacer antes de abrir un editor. Elige el escenario que más se parezca al tuyo, instala esa distro en una partición libre y reconstruye allí el entorno de tu proyecto actual antes de dar el paso definitivo.

Preguntas frecuentes

¿Tengo que reiniciar cada vez que ejecuto rpm-ostree install en Bazzite o Fedora Atomic?

No, si solo añades paquetes. Por defecto, todas las operaciones de rpm-ostree se realizan offline y surten efecto en el siguiente arranque, pero rpm-ostree install --apply-live (forma abreviada -A) aplica de inmediato los paquetes recién superpuestos al sistema en ejecución. La aplicación en vivo solo funciona al añadir paquetes y siempre que no haya otros cambios pendientes. Las eliminaciones siguen requiriendo un reinicio, y rpm-ostree apply-live --reset revierte al árbol con el que arrancó el sistema.

¿Funciona CachyOS en CPU antiguas sin soporte para x86-64-v3?

Sí. CachyOS mantiene un repositorio x86-64 genérico junto a sus builds para x86-64-v3, x86-64-v4 y Zen 4/5. Durante la configuración, el instalador y el script de repositorios detectan qué admite el procesador y eligen el nivel de repositorio que mejor se ajusta. Las CPU sin AVX2 reciben los paquetes genéricos, así que la base rolling release de Arch y las herramientas de CachyOS siguen estando disponibles. Ejecutar /lib/ld-linux-x86-64.so.2 --help muestra qué niveles admite tu CPU.

¿Cuál es la diferencia entre Distrobox y Toolbx para contenedores de desarrollo?

Ambos crean contenedores persistentes que comparten tu directorio personal con el host. Toolbx solo funciona con Podman y va mejor con imágenes de estilo Fedora. Distrobox actúa como wrapper de Podman o Docker, recurre a su propio gestor Lilipod si no encuentra ninguno y ejecuta imágenes de casi cualquier distribución. Toolbx es suficiente para contenedores Fedora en Fedora Atomic. Distrobox encaja mejor cuando necesitas un userland de Arch, Ubuntu o Alpine, por ejemplo para una herramienta de terceros que solo se distribuye como .deb.

¿Puede la versión Flatpak de VS Code usar compiladores instalados en Distrobox o en el host?

No por defecto. El paquete de VS Code de Flathub se ejecuta en un sandbox que no puede acceder a los SDK instalados en el host, por lo que los toolchains de un contenedor de Distrobox o superpuestos con rpm-ostree quedan fuera de su alcance. Las notas del paquete indican tres alternativas: ejecutar comandos del host mediante flatpak-spawn --host o host-spawn, configurar el terminal integrado para que use una shell del host o instalar extensiones del Freedesktop SDK, como los SDK de Go o .NET, dentro del sandbox.

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — self-hosted, with full data ownership.

Star on GitHub

We use cookies to improve your experience. By using our site, you accept cookies.