La distribución de Linux que instalas en un servidor decide cuánto tiempo recibirás parches de seguridad, qué versiones de PHP, Python o PostgreSQL tendrás sin repositorios externos y qué herramientas usarás a diario (apt o dnf, AppArmor o SELinux). En esta guía compararás las tres familias más habituales en servidores (Ubuntu LTS, Debian y los clones de RHEL como Rocky Linux y AlmaLinux) con criterios concretos y comandos para comprobar cada punto en un servidor de prueba.
Requisitos previos
- Una lista de lo que vas a ejecutar: servicios, lenguajes y versiones mínimas (por ejemplo, PHP 8.2 o PostgreSQL 16).
- Opcional, pero muy recomendable: uno o varios VPS de prueba (por ejemplo, en CubePath) con las distribuciones candidatas para verificar los comandos de esta guía antes de decidir.
Las tres familias en resumen
| Criterio | Ubuntu LTS | Debian | Rocky Linux / AlmaLinux |
|---|---|---|---|
| Base | Debian | Independiente | Recompilación de RHEL |
| Gestor de paquetes | apt (.deb) | apt (.deb) | dnf (.rpm) |
| Nueva versión estable | Cada 2 años (abril, años pares) | Cada ~2 años | Cada ~3 años, siguiendo a RHEL |
| Soporte gratuito | 5 años | ~3 años + 2 de LTS comunitario | 10 años |
| Soporte ampliado | Hasta 10 años con Ubuntu Pro (gratis en 5 máquinas personales) | Extended LTS de pago (Freexian) | Ya incluido en los 10 años |
| Control de acceso obligatorio | AppArmor | AppArmor | SELinux (modo enforcing) |
| Firewall por defecto | UFW (inactivo) | Ninguno | firewalld (activo) |
| Soporte comercial | Canonical | Terceros | CIQ (Rocky), TuxCare y otros; RHEL si necesitas el de Red Hat |
No hay una distribución "mejor": hay una que encaja con el tiempo de vida del servidor, el software que necesitas y lo que tu equipo ya sabe administrar.
Paso 1: Decidir cuánto tiempo va a vivir el servidor
El ciclo de soporte es el criterio que más pesa, porque migrar de versión mayor cuesta horas de trabajo y riesgo. Estas son las fechas de las versiones actuales:
| Versión | Publicación | Fin del soporte gratuito |
|---|---|---|
| Ubuntu 22.04 LTS | Abril 2022 | Abril 2027 (ESM con Ubuntu Pro hasta 2032) |
| Ubuntu 24.04 LTS | Abril 2024 | Abril 2029 (ESM con Ubuntu Pro hasta 2034) |
| Debian 12 "bookworm" | Junio 2023 | Soporte de seguridad hasta junio 2026, LTS hasta junio 2028 |
| Debian 13 "trixie" | Agosto 2025 | Seguridad hasta ~2028, LTS hasta ~2030 |
| Rocky Linux / AlmaLinux 9 | 2022 | Mayo 2032 |
| Rocky Linux / AlmaLinux 10 | 2025 | 2035 |
Algunas reglas prácticas:
- Si el servidor va a funcionar muchos años sin reinstalarse (un ERP, una aplicación certificada, un equipo que nadie quiere tocar), los 10 años de Rocky Linux o AlmaLinux reducen las migraciones al mínimo.
- Si reinstalas o reconstruyes servidores con frecuencia (infraestructura como código, contenedores, entornos efímeros), los ciclos de Ubuntu LTS o Debian son más que suficientes.
- Evita distribuciones de ciclo corto como Fedora o las versiones intermedias de Ubuntu (por ejemplo, 25.10) en producción: solo tienen 9 a 13 meses de soporte.
Para ver qué versión tiene un servidor y cuándo termina su soporte, empieza por /etc/os-release, que existe en todas estas distribuciones:
cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.3 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.3 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
...
En Ubuntu, ubuntu-security-status resume qué paquetes reciben parches y hasta cuándo:
ubuntu-security-status
Paso 2: Comprobar las versiones de tu software
Las distribuciones estables congelan las versiones de los paquetes al publicarse y solo aplican parches de seguridad después. Por eso, una distribución con 10 años de soporte también tiene versiones más antiguas en su repositorio base. Estas son las versiones incluidas por defecto:
| Paquete | Ubuntu 24.04 | Debian 12 | Debian 13 | Rocky / Alma 9 | Rocky / Alma 10 |
|---|---|---|---|---|---|
| Kernel | 6.8 | 6.1 | 6.12 | 5.14 | 6.12 |
| Python | 3.12 | 3.11 | 3.13 | 3.9 (3.11 y 3.12 disponibles) | 3.12 |
| PHP | 8.3 | 8.2 | 8.4 | 8.0 (8.1 a 8.3 como módulos) | 8.3 |
| PostgreSQL | 16 | 15 | 17 | 13 (15 y 16 como módulos) | 16 |
Notaen la familia RHEL, el número del kernel no refleja toda la realidad: Red Hat incorpora controladores y funciones más recientes sobre la versión base.
No te fíes de tablas de terceros para tu caso concreto: consulta el repositorio directamente. En Ubuntu o Debian:
apt policy postgresql php
postgresql:
Installed: (none)
Candidate: 16+257build1
...
php:
Installed: (none)
Candidate: 2:8.3+93ubuntu2
...
En Rocky Linux o AlmaLinux 9, además de dnf info, revisa los flujos de módulos, que son la forma en que se ofrecen versiones alternativas:
dnf info postgresql-server
dnf module list postgresql php
Si la versión que necesitas no está en el repositorio base, tienes tres opciones razonables, de más a menos recomendable:
- El repositorio oficial del proyecto (PostgreSQL PGDG, nginx.org, NodeSource, Docker), que publica paquetes para todas estas distribuciones.
- Contenedores, que desacoplan la versión de la aplicación de la del sistema operativo.
- Repositorios comunitarios de confianza, como EPEL en la familia RHEL o el PPA de Ondřej Surý para PHP en Ubuntu.
Si dependes de muchos paquetes externos para todo, es señal de que la distribución no encaja con el proyecto.
Paso 3: Evaluar la seguridad por defecto
Las tres familias reciben parches de seguridad con rapidez; la diferencia está en la configuración de partida.
Ubuntu y Debian usan AppArmor, que confina servicios mediante perfiles por ruta de archivo y es fácil de ajustar. Comprueba su estado con:
sudo aa-status
apparmor module is loaded.
120 profiles are loaded.
...
Rocky Linux y AlmaLinux traen SELinux en modo enforcing, más granular y con políticas maduras para servicios como Apache, PostgreSQL o Samba, aunque exige conocer etiquetas y booleanos cuando mueves datos o cambias puertos:
getenforce
Enforcing
Advertenciasi una aplicación falla por SELinux, no lo desactives. Revisa las denegaciones con
sudo ausearch -m avc -ts recenty corrige la etiqueta o el booleano correspondiente.
En cuanto al firewall, Rocky Linux y AlmaLinux activan firewalld desde la instalación, Ubuntu incluye UFW pero inactivo y Debian no instala ninguno. En los dos últimos casos debes configurarlo tú al preparar el servidor.
Para entornos regulados (PCI DSS, ENS, HIPAA), la familia RHEL y Ubuntu Pro ofrecen perfiles de endurecimiento CIS y DISA-STIG y paquetes con validación FIPS, lo que simplifica las auditorías.
Paso 4: Tener en cuenta a tu equipo y tu ecosistema
La mejor distribución técnica puede ser una mala elección si nadie en el equipo sabe administrarla. Considera:
- Experiencia del equipo:
apt,dpkgy los archivos en/etc/apt/frente adnf,rpmy/etc/yum.repos.d/son mundos distintos en la resolución de problemas diaria. - Documentación del software: muchos productos comerciales solo certifican RHEL y sus clones; muchos proyectos de código abierto documentan primero Ubuntu.
- Automatización existente: si ya tienes roles de Ansible, imágenes base o scripts probados para una familia, cambiar tiene un coste real.
- Homogeneidad: mantener una sola familia (o como mucho dos) en toda la flota simplifica parches, monitorización y auditorías.
Rocky Linux o AlmaLinux
Ambas nacieron en 2021 tras el fin de CentOS Linux y son compatibles con RHEL a efectos prácticos: los mismos paquetes, rutas y comandos. Las diferencias son organizativas:
- Rocky Linux busca ser idéntica a RHEL, compilando desde las fuentes de Red Hat, y la respalda la Rocky Enterprise Software Foundation.
- AlmaLinux busca compatibilidad binaria (ABI) con RHEL, lo que le permite publicar algunos parches antes, y la gestiona la AlmaLinux OS Foundation. Mantiene además la herramienta ELevate para actualizar entre versiones mayores.
Para un servidor web o de base de datos cualquiera de las dos funciona igual. Si un proveedor de software certifica solo una, usa esa.
¿Cuál deberías elegir?
| Situación | Recomendación |
|---|---|
| Aplicación web (PHP, Python, Node.js), APIs, primer servidor | Ubuntu 24.04 LTS |
| Máxima estabilidad con pocos paquetes, servidores minimalistas | Debian 13 |
| Software empresarial certificado para RHEL, ciclos de 10 años, SELinux obligatorio | Rocky Linux 9 o AlmaLinux 9 (o la versión 10 para instalaciones nuevas) |
| Nodos de Kubernetes o hosts de contenedores | La que tu equipo ya domine; el sistema base importa poco |
| Laboratorio o pruebas de software muy reciente | Fedora o la última versión intermedia de Ubuntu, nunca en producción |
Si dudas, Ubuntu LTS es la opción con más documentación y paquetes, y Rocky Linux o AlmaLinux la opción con el ciclo de vida más largo.
Conclusión
Has revisado los cuatro criterios que deciden la distribución de un servidor: ciclo de soporte, versiones de paquetes, seguridad por defecto y experiencia del equipo, y sabes comprobar cada uno con cat /etc/os-release, apt policy, dnf module list, aa-status y getenforce. Antes de decidir, instala tu aplicación en un servidor de prueba con la distribución elegida.
Como siguientes pasos, puedes aprender a gestionar paquetes con APT y DNF, planificar la actualización de Ubuntu LTS a la siguiente versión o, si todavía tienes servidores con CentOS, migrarlos a Rocky Linux o AlmaLinux.
