El problema
Mientras actualizaba un sistema Debian corrí:
apt-get update
apt-get upgrade
Y al final obtuve esto:
The following packages have been kept back:
linux-image-amd64 linux-headers-amd64
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Los paquetes no se actualizaron. Volver a correr apt-get upgrade producía el mismo resultado.
Por qué ocurre
apt upgrade es intencionalmente conservador. No instala paquetes nuevos ni elimina los existentes para satisfacer dependencias — solo actualiza los paquetes que pueden resolverse sin tocar nada más.
Cuando una actualización introduce nuevas dependencias o requiere eliminar un paquete conflictivo, apt upgrade retiene el paquete en lugar de hacer esos cambios automáticamente.
Es más común con:
- Actualizaciones del kernel (que instalan un nuevo paquete
linux-image-*junto al anterior) - Paquetes cuyo árbol de dependencias cambió entre versiones
- Transiciones entre versiones mayores de bibliotecas
La solución
apt-get dist-upgrade
O con el comando moderno apt (Debian 8+ / Ubuntu 14.04+):
apt full-upgrade
Ambos hacen lo mismo: permiten resolver dependencias instalando paquetes nuevos o eliminando los obsoletos. Los paquetes retenidos se actualizan.
Antes de correrlo — verificá qué va a cambiar
dist-upgrade puede ser más disruptivo que una actualización normal. Antes de confirmar, revisá qué planea hacer:
apt-get dist-upgrade --dry-run
Fijate en la línea de resumen:
5 upgraded, 2 newly installed, 1 to remove and 0 not upgraded.
Si ves eliminaciones inesperadas de paquetes que necesitás, investigá antes de proceder. Para actualizaciones de kernel de rutina y transiciones de bibliotecas en un sistema bien mantenido, es seguro confirmar.
Ver qué está retenido
Para listar los paquetes con actualizaciones disponibles:
apt list --upgradable
Para actualizar un solo paquete retenido sin correr dist-upgrade completo:
apt-get install nombre-paquete
Especificar el nombre del paquete directamente fuerza a apt a resolver sus nuevas dependencias.
upgrade vs full-upgrade — cuándo usar cada uno
| Comando | Comportamiento |
|---|---|
apt upgrade |
Seguro, nunca elimina ni instala paquetes nuevos |
apt full-upgrade |
Resuelve dependencias completamente, puede instalar o eliminar paquetes |
Para un escritorio o servidor que mantenés regularmente, correr full-upgrade es el camino normal. Usá upgrade solo cuando querés aplicar parches de seguridad no disruptivos sin tocar grafos de dependencias.
- Creado: 16 de junio de 2007
- Última edición: 7 de julio de 2026