Cuando miras las estadísticas de imágenes en AWS, GCP o Azure, Debian y Ubuntu aparecen en los primeros puestos de manera consistente. No es marketing: hay razones técnicas y prácticas concretas detrás de esa dominancia, y entenderlas te ayuda a tomar mejores decisiones desde el principio.
Debian estable es exactamente lo que dice ser. El ciclo de publicación de Debian no sigue un calendario fijo, sino que se publica “cuando está listo”. Eso significa que los paquetes de la rama stable han pasado por un periodo largo de pruebas en testing antes de llegar a ti. En producción, eso se traduce en una cosa muy concreta: las actualizaciones de seguridad llegan, pero las versiones de los paquetes no cambian de forma disruptiva durante el ciclo de vida de la versión. Si instalas PostgreSQL 15 en Bookworm hoy, dentro de dos años seguirá siendo PostgreSQL 15 con parches de seguridad aplicados, no PostgreSQL 17 que llegó sin avisar y rompió tu configuración.
Ubuntu LTS (Long-Term Support) toma un enfoque diferente. Canonical publica una versión LTS cada dos años con soporte garantizado de cinco años en el nivel base. La ventaja práctica es que Ubuntu suele incluir versiones más recientes de software y tiene herramientas específicas de cloud que Debian no incluye por defecto: cloud-init para inicialización de instancias, integración con sistemas de monitoreo de Canonical, y tiempos de respuesta más rápidos para soportar hardware nuevo. Es la imagen por defecto en la mayoría de los proveedores cloud precisamente porque Canonical mantiene esas imágenes activamente y las tiene certificadas.
La diferencia de elección entre los dos es más sencilla de lo que parece: Debian para bare-metal o entornos donde la previsibilidad absoluta es lo primero; Ubuntu LTS cuando vas a trabajar en cloud y quieres las integraciones de Canonical ya incluidas. No es que uno sea mejor que el otro en abstracto.
apt como gestor de paquetes merece mención aparte. No porque sea el único gestor maduro que existe, sino porque lleva décadas resolviendo problemas reales: resolución de dependencias, firma criptográfica de repositorios, actualizaciones atómicas, y una base de datos local del estado del sistema que puedes consultar en cualquier momento. Cuando ejecutas apt install nginx, no solo se descarga el binario: se resuelven todas las dependencias transitivas, se verifican las firmas GPG del repositorio, se configura el servicio, y el sistema registra que ese paquete está instalado de forma intencional. Eso último importa: si más adelante haces apt autoremove, el sistema sabe qué instalaste tú explícitamente versus qué llegó como dependencia.
El ecosistema de documentación es un argumento práctico que no se debe subestimar. La cantidad de problemas ya resueltos en Stack Overflow, foros de Debian, Ask Ubuntu, y repositorios de GitHub con ejemplos para Debian/Ubuntu es enorme. Cuando algo falla en un servidor Debian a las dos de la mañana, la probabilidad de encontrar el mensaje de error exacto con una solución probada es mucho mayor que con otras distribuciones. Ese valor no aparece en ninguna ficha técnica, pero lo vas a notar.
Vamos a ver eso de forma concreta. Este bloque de comandos refleja operaciones típicas que harías en las primeras horas con un servidor Debian Bookworm nuevo:
# Ver la versión exacta del sistema instalado cat /etc/debian_version # Verificar qué repositorios tiene configurados apt # (stable, security, y backports son los habituales en Bookworm) cat /etc/apt/sources.list # Actualizar la lista de paquetes disponibles desde los repositorios apt update # Ver cuántas actualizaciones de seguridad están pendientes apt list --upgradable 2>/dev/null | grep -c "security" # Instalar un paquete y ver exactamente qué dependencias trae consigo apt install --dry-run curl # Ver el historial de lo que apt ha instalado o actualizado en este sistema grep " install " /var/log/dpkg.log | tail -20 # Consultar qué versión exacta de un paquete está instalada y desde qué fuente apt-cache policy openssh-server # Ver todos los paquetes instalados de forma explícita (no como dependencia) apt-mark showmanual | sort | head -30
Fíjate en apt-cache policy openssh-server: la salida te muestra la versión instalada, la versión candidata disponible en los repositorios, y la URL del repositorio de donde viene. Esa transparencia es una de las razones por las que apt es tan útil en producción: en cualquier momento puedes saber exactamente de dónde viene cada paquete y si hay una actualización disponible.
El comando apt list --upgradable con el filtro security es algo que deberías ejecutar regularmente o automatizar. En Debian, los repositorios de seguridad (security.debian.org) se actualizan de forma independiente y más frecuente que el repositorio principal, precisamente para que los parches de seguridad lleguen rápido sin tocar el resto del sistema.
El apt install --dry-run merece atención especial si vienes de otros sistemas. Antes de instalar cualquier cosa en un servidor de producción, ejecutarlo con --dry-run te muestra exactamente qué va a cambiar: qué paquetes se instalan nuevos, qué se actualiza, y cuánto espacio se va a usar. Ninguna sorpresa.
apt-mark showmanual refleja algo que hace Debian en el fondo: distingue entre paquetes que instalaste tú deliberadamente y paquetes que llegaron porque algo los necesitaba. Esa distinción es la base de autoremove, que limpia dependencias huérfanas sin tocar lo que instalaste intencionalmente. En un servidor que lleva años en producción, eso evita la acumulación silenciosa de paquetes que ya nadie necesita.
El archivo /var/log/dpkg.log es tu registro de auditoría de paquetes. Cuando alguien pregunta “¿quién instaló esto y cuándo?”, ahí está la respuesta. En sistemas multiusuario o con automatización, ese log vale su peso en oro.
La razón por la que un sysadmin aprende Debian primero no es dogma: es que Debian expone el funcionamiento del sistema con menos capas de abstracción que otras distribuciones. Entender cómo funciona apt, cómo están estructurados los repositorios, y cómo dpkg gestiona el estado del sistema te da una base que se transfiere directamente a Ubuntu, Linux Mint, o cualquier derivado. Al revés es más difícil.
N° 5