
Utilidad del sistema que identifica y reinicia demonios que utilizan librerías obsoletas tras las actualizaciones de paquetes para mantener la seguridad. Admite contenedores e intérpretes.
needrestart comprueba qué demonios necesitan reiniciarse después de actualizaciones de bibliotecas. Está inspirado en checkrestart del paquete debian-goodies.
Hay algunos scripts hook en el directorio ex/ (para usar con apt y dpkg.
Los scripts llamarán a needrestart después de cualquier instalación o
actualización de paquetes.
needrestart debería funcionar en GNU/Linux. Tiene funcionalidad limitada en
GNU/kFreeBSD, ya que /proc/<pid>/maps no muestra enlaces a archivos eliminados.
needrestart admite systemd pero no lo requiere (disponible desde v0.6). Si se usa systemd, también se debería usar libpam-systemd. Si needrestart detecta systemd, asumirá que se usa libpam-systemd y se basará en los nombres de cgroup para detectar si un proceso pertenece a una sesión de usuario o a un demonio. Si no se usa libpam-systemd, se debe establecer $nrconf{has_pam_systemd} a 0 dentro de needrestart.conf.
Si systemd no está disponible o no devuelve un nombre de servicio, needrestart utiliza hooks para identificar el script de inicio correspondiente de System V. Los hooks incluidos son compatibles con los siguientes gestores de paquetes:
El comando service se utiliza para ejecutar el script de inicio tradicional de System V.
needrestart utiliza un enfoque modular basado en paquetes perl que proporcionan la interfaz de usuario. Se incluyen los siguientes frontends:
needrestart 0.8 incorpora una función de detección de kernels obsoletos. Desde needrestart 3.5 es posible filtrar los nombres de archivo de imagen del kernel (requerido en Raspberry Pi).
En needrestart 3.0 se añadió una función de detección de actualizaciones de microcódigo del procesador para CPUs Intel. Desde needrestart 3.5 se ha añadido soporte para CPUs AMD.
needrestart 0.8 incorpora una función de escaneo de intérpretes. Los intérpretes no solo mapean objetos binarios (compartidos), sino que también utilizan archivos fuente en texto plano. La detección de intérpretes intenta comprobar si hay archivos fuente obsoletos, ya que también pueden contener problemas de seguridad. Esto es solo una heurística y podría no detectar todos los archivos fuente relevantes. Se incluyen los siguientes escáneres de intérpretes:
needrestart 2.1 detecta algunas tecnologías de contenedores. Si un proceso forma parte de un contenedor, es posible que no se pueda reiniciar usando Sys-V/systemd.
Hay paquetes perl especiales (NeedRestart::CONT::*) que implementan la detección y el reinicio de contenedores. Se incluyen los siguientes detectores de contenedores:
needrestart se puede ejecutar en modo por lotes para usar los resultados dentro de otros programas o scripts.
También está disponible un modo plugin de nagios.