En la pregunta ¿Qué es "dist-upgrade" y por qué actualiza más que "upgrade"? la respuesta aceptada explica que linux-headers-3.0.0-13
es un nuevo paquete que reemplaza a linux-headers-3.0.0-12
.
¿Cómo es un nuevo paquete y no simplemente una nueva versión, y cómo saber (reconocer) la diferencia?
Además, ¿por qué linux-headers-3.0.0-13
enumerados en la salida del comando sudo apt-get upgrade
si es un paquete nuevo y no una nueva versión de un paquete ya instalado?
La respuesta sugiere el argumento de que es porque linux-headers-3.0.0-12
y linux-headers-3.0.0-13
están conectados a el mismo paquete virtual (“linux-headers
es un paquete virtual proporcionado por linux-headers-3.0.0-12
y linux-headers-3.0.0-13
“). ¿Es por esta razón que linux-headers-3.0.0-13
¿está listado? Y si es así, ¿por qué no vemos otros paquetes proporcionados por otros paquetes virtuales sugeridos como actualizaciones?
EDITAR:
Aunque el ejemplo anterior se refiere a los paquetes del kernel, mi pregunta no está orientada al kernel sino que es más general; o es de relevancia solo para el kernel?
Respuesta aceptada:
La razón de tener metapaquetes del kernel como linux-image-generic
y linux-headers-generic
apuntar a paquetes de kernel reales es permitir tener más de una instancia de un kernel.
Puede tener linux-headers-3.0.0-13-generic
y linux-headers-3.0.0-12-generic
instalado al mismo tiempo.
Cuando actualiza meta linux-headers-generic
, extrae el paquete real más reciente como una dependencia. Si tuviéramos estos paquetes del núcleo como uno con diferentes versiones, siempre sería reemplazado.
apt-get upgrade
no instala nuevos paquetes
upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no
circumstances are currently installed packages removed, or packages
not already installed retrieved and installed. New versions of
currently installed packages that cannot be upgraded without
changing the install status of another package will be left at
their current version. An update must be performed first so that
apt-get knows that new versions of packages are available.
Es por eso que no actualiza los metapaquetes que dependen de nuevos paquetes.
Relacionado:¿Elevar permanentemente los límites de nofile en Ubuntu 14.04 LTS?No está relacionado con el kernel. Hay algunos otros ejemplos.