Las actualizaciones recientes al kernel Ubuntu 16.04 (4.4.0-89 y -91) fallaron gravemente en mi computadora portátil. Afortunadamente, todavía tengo instalada la versión anterior que funciona (4.4.0-57). Por ahora tengo Grub configurado para mostrarme un menú, y selecciono manualmente -57 en el arranque, pero esto parece frágil, es probable que se rompa en un futuro sudo apt upgrade
.
Creo que quiero:
- Para eliminar -89 y -91, ya que no me están haciendo ningún bien.
- Para hacer -57 el valor predeterminado para Grub, de una manera que persistirá durante las actualizaciones.
- Para asegurar que el -57 permanezca instalado, incluso si instalo una actualización posterior del kernel
- Para poder probar fácilmente las actualizaciones posteriores del kernel, pero volver a -57 si falla. Mi principal preocupación es -57 se elimina automáticamente.
- Si encuentro una actualización posterior que funcione, una ruta fácil para volver a deshacer todo esto y volver a las siguientes actualizaciones del kernel.
Intentar eliminar -91 sudo apt remove linux-image-4.4.0-91-generic
requiere que elimine linux-generic y linux-headers-generic. Eso parece malo, así que no lo he probado.
Puedo encontrar una variedad de preguntas sobre el problema general, pero ninguna parece abordar todos mis objetivos, y la mayoría son lo suficientemente mayores como para no pensar que se apliquen más.
¿Cuál es la mejor manera de hacer esto?
Anexo : Esto se marcó como un duplicado de ¿Cómo evitar la actualización de un paquete específico? . Esa respuesta podría abordar una parte de mi pregunta, pero no aborda el panorama general.
En términos generales, el problema es que el núcleo se maneja de una manera inusual. Se instala a través de linux-generic, que no es más que una dependencia de linux-image-generic y linux-image-headers. Esos, a su vez, son solo dependencias de linux-linux-image-VERSION-generic y headers-VERSION-generic, paquetes notables para hornear el número de versión en el nombre del paquete (presumiblemente para facilitar la instalación de múltiples en paralelo).
Específicamente no se abordan en esa respuesta son:
- No aborda cómo eliminar -89 y -91.
- No aborda cómo hacer que -57 sea el valor predeterminado para Grub, incluso si instalo actualizaciones posteriores.
- No aborda cómo garantizar que -57 permanezca instalado, incluso si instalo actualizaciones posteriores. Incluso si la respuesta es retener uno o más paquetes, dados los varios paquetes involucrados, ¿cuáles retendría? Si se trata de mantener linux-generic, ¿cómo lo rebajo primero?
Respuestas:
Eliminar el último núcleo por
Eso va a desinstalar paquetes de meta
linux-generic
,linux-image-generic
ylinux-headers-generic
. Los núcleos nunca se actualizarán.Para revertirlo puedes correr
Eso instalará el último núcleo y los núcleos recibirán actualizaciones.
linux-generic
Es un meta paquete. Está vacío, pero depende de otros dos metapaquetes:linux-image-generic
ylinux-headers-generic
.Los dos últimos apuntan a la última imagen y encabezados del kernel.
Si elimina metapaquetes, no se eliminará nada de Linux, pero la imagen del núcleo y los encabezados no recibirán actualizaciones. Siempre puedes instalarlos más tarde. Extraerán los últimos paquetes de kernel "reales".
Entonces, la solución es eliminar manualmente los paquetes del núcleo que no desea y también los metapaquetes.
fuente
Aunque la solución de Pilot6 puede ser la mejor solución, puede tomar medidas menos drásticas.
Quitaría personalmente los núcleos que no desea del centro de software y luego pondría esos paquetes en espera. Consulte ¿Cómo evitar la actualización de un paquete específico?
Este es un cambio trivial y puede anular o revertir el cambio con bastante facilidad.
fuente
sudo apt-mark hold linux-image-generic linux-headers-generic
lo hará