¿Cuál es la lógica detrás de las retenciones en los paquetes del kernel?

¿Cuál es la lógica detrás de las retenciones en los paquetes del kernel?

Espero que alguien con un poco más de conocimiento pueda explicar algo sobre cómo hacerlo apt-get upgradeen Ubuntu 16.04 y versiones posteriores.

El comportamiento que veo es que apt-get upgradea veces no se instalan nuevos paquetes del kernel y otras veces:

es decir, de la salida:

The following packages have been kept back:
linux-generic linux-headers-generic linux-image-generic linux-tools-generic

IhacerSepa que al hacer un dist-upgradeinstalará esos paquetes (así que no repita esa respuesta :-). Lo que no sé es qué controla las retenciones de esos paquetes.
A veces, se instalan nuevos núcleos al realizar una operación apt-get upgradey, a veces, los paquetes se retienen.

¿Estas retenciones las realiza Canonical ellos mismos? ¿Están relacionadas con dependencias de otros paquetes?

Respuesta1

El apt-get upgradecomando solo actualiza los paquetes a su versión más nueva, no instalará un paquete nuevo ni eliminará ninguno para actualizar un paquete.

Cuando actualiza su Kernel, en realidad está instalando un Kernel nuevo. Ubuntu no actualizará un kernel, instalará uno nuevo manteniendo el anterior.

¿Pero por qué? ¿Por qué instalamos una nueva versión del kernel en lugar de actualizarlo a la última versión? la respuesta es por la estabilidad.

Nunca se sabe lo que sucederá después de una actualización del Kernel: es posible que no inicie su sistema o que su hardware no funcione correctamente. Siempre debes conservar la versión anterior para que, en caso de cualquier problema, todavía tengas una máquina en funcionamiento.

Nunca actualice su kernel en funcionamiento.

Dice Slackwareguía de actualización del sistema.


Más información

man apt-get:

bajo ninguna circunstancia se eliminan los paquetes actualmente instalados, ni se recuperan e instalan los paquetes que aún no están instalados. Las nuevas versiones de los paquetes instalados actualmente que no se pueden actualizar sin cambiar el estado de instalación de otro paquete se dejarán en su versión actual.

Sin embargo, como usted sabe, también puede usar apt-get dist-upgradeo apt upgradeinstalar estos paquetes "retenidos".

$ apt-cache search linux-image-4.4.*-generic | tail -3
linux-image-4.4.0-75-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
linux-image-4.4.0-77-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP
linux-image-4.4.0-78-generic - Linux kernel image for version 4.4.0 on 64 bit x86 SMP

¿ver? Estos son paquetes diferentes, por lo tanto, una nueva instalación en lugar de una actualización.

información relacionada