Después de aplicar una actualización de paquetes o del mismo sistema operativo Linux, puede ser necesario reiniciar algún servicio o proceso para que el sistema o servidor siga funcionando de forma adecuada y no deje corriendo en memoria el paquete viejo. Por eso vamos a analizar 2 alternativas para averiguar si se requiere un reinicio. Aclaro que antes hice un apt update && apt upgrade para que el sistema se actualice.

Checkrestart

La primera utilidad para ayudar con el trabajo de encontrar verificar si se requiere reiniciar, es checkrestart. Es parte del paquete debian-goodies y solo está disponible para sistemas basados ​​en Debian. Utiliza LSOF (Lista de archivos abiertos) para determinar los archivos abiertos y los procesos que utilizan dicho recurso.

Instalación

# apt-get install debian-goodies

Requisitos necesarios

  • Debian (o derivada)
  • Python
  • LSOF
  • permisos de root

Uso

Ejecutar el comando checkrestart le dará una visión general de lo que descubrió y qué procesos necesitan un reinicio. Muestra los procesos que usan archivos antiguos y determina qué scripts de inicio están relacionados con estos procesos. Por supuesto, aquellos que puede encontrar. Para los demás, mostrará los procesos relacionados, por lo que puede tomar medidas manualmente.

# checkrestart

Needrestart

Otra utilidad es needrestart. Al igual que Checkrestart, determina qué procesos necesitan reiniciarse después de ejecutar una actualización de software. Es parte del paquete con el mismo nombre y escrito en Perl. Parece estar bien mantenido y admite tecnologías más nuevas, como contenedores (LXC, Docker). La herramienta se engancha en el proceso de actualización, por lo que, por ejemplo, puede reiniciar los servicios después de ejecutar una “actualización de dpkg”. También es posible ejecutarlo manualmente, específicamente con el modo para mostrar solo los procesos, proporcionar la opción de reiniciar (interactivamente) por proceso, o hacerlos todos automáticamente.

Gestores de paquetes

Necesita soporte de algunos administradores de paquetes depende la distribución:

  • DPKG
  • Pacman
  • RPM

Instalación

Debian / Ubuntu / Derivadas

# apt-get install needrestart

Una vez lanzado como se actualizó el kernel, nos sale algo como:

A continuación muestra los paquetes que requieren reinicio.

Por último muestra el resumen, que en este caso, es recomendable reiniciar el equipo.

Needrestart usa características del administrador de paquetes para determinar qué paquete relacionado o daemon necesita reiniciarse. Lo hace al buscar el script de inicio relacionado. En el caso de los sistemas que usan DPKG, en realidad usa algo de “inteligencia” de la utilidad checkrestart mencionada anteriormente. Para RPM aprovecha la utilidad rpmquery, para pacman la utilidad pacman misma.

De las 2 herramientas me gusto más needrestart, pero hay que probar las 2 y cada uno sacar sus conclusiones.

Deja un comentario