En un script basado en Debian: ¿cómo determinar si el kernel cambió y necesita reiniciarse?

En un script basado en Debian: ¿cómo determinar si el kernel cambió y necesita reiniciarse?

¿Cómo podemos determinar (más) fácilmente si se requiere un cambio de kernel y un reinicio en Debian, aparte dehaciendo estoen un guión (que es un poco engorroso)?

ubuntu tiene/var/run/reboot-requiredy según nuestra experiencia funciona bien. Sin embargo, hasta ahora Debian (al menos en Buster, 10.6) no lo hace. Es posible que algunos paquetes hayan hecho esto en el pasado (antes de Debian Jessie) y se reemplazaron cosas que intentan/afirman hacerlo hoy, pero no hemos visto nada funcionar (en 10.6). Detalles abajo.

Cosas que hemos probado (en Debian 10.6) sin éxito:

  1. comprobar reiniciar(no hay un informe de estado binario simple para el arranque del kernel)
  2. necesita reiniciar(mismo problema que el n.° 1)
  3. A pesar dehttps://serverfault.com/a/667082/104173que lo afirma, /var/run/reboot-required.pkgsaún no ha sido visible en nuestro sistema Debian 10.6 (después de una actualización del kernel).
  4. notificador de reinicioNo parece ofrecer nada que funcione.
  5. lsof | grep lib | grep DELno parece (todavía) proporcionar lo que necesitamos.

El "modo de salida de Nagios" para algunas de las opciones anteriores no parece (todavía) fácilmente analizable.

Respuesta1

¿Qué pasa con la verificación del código de retorno? needrestart -k -p > /dev/null; echo $?da 0para un kernel actualizado y 2si el kernel en ejecución no es el esperado.

información relacionada