Cuando instala ciertas actualizaciones (por ejemplo, un nuevo núcleo) en Ubuntu Desktop, obtiene una indicación de que es necesario reiniciar (en Lucid, el icono de cierre de sesión se vuelve rojo).
¿Cómo puedo verificar, desde la línea de comandos, si un servidor Ubuntu requiere un reinicio?
Podría buscar 'Reinicio del sistema requerido' /etc/motd
, pero me gustaría una solución más elegante. Además, quiero una solución que funcione en versiones anteriores, por ejemplo, Hardy (8.04 LTS).
command-line
package-management
Marius Gedminas
fuente
fuente
Respuestas:
Simplemente puede verificar si el archivo
/var/run/reboot-required
existe o no.Por ejemplo, cualquiera de estos le diría "no existe tal archivo" o "archivo no encontrado" si no necesita reiniciar, de lo contrario (si necesita reiniciar) el archivo existiría y estos comandos mostrarían información sobre el archivo:
En un script bash, puedes usar:
fuente
/var/run/reboot-required.pkgs
enumerará los paquetes que requieren reiniciar.En el paquete debian-goodies hay un comando llamado
checkrestart
que es bastante útil. Su salida puede ayudarlo a evitar un reinicio completo.Le indica qué aplicaciones en ejecución han cargado bibliotecas compartidas que se actualizaron mientras se ejecutaba la aplicación. Luego reinicia las aplicaciones y servicios manualmente y evita un reinicio completo. Sin embargo, no ayuda con las actualizaciones del kernel.
fuente
Normalmente si el archivo
existe, debe reiniciar. Puede ver si este archivo está allí usando este comando simple en gnome-terminal.
fuente
Además de los métodos más directos escritos por otros, hay una indicación útil si usa byobu , un conjunto de scripts para hacer que la pantalla GNU sea un poco más fácil de usar. Muestra un conjunto de información en la parte inferior de la pantalla, y eso puede incluir si se requiere un reinicio, junto con si hay actualizaciones disponibles, el tiempo, el tiempo de actividad, la memoria utilizada ...
En esta captura de pantalla, puede ver desde la
199!
línea inferior con el fondo rojo que hay 199 actualizaciones disponibles. A!!
significa que algunas son actualizaciones de seguridad . El menú en primer plano selecciona qué notificaciones de estado se deben mostrar.Si se requiere reiniciar, esto se indicará mediante el símbolo que se
(R)
muestra en la barra inferior con texto blanco sobre fondo azul. Se pueden leer más detalles y otros indicadores en la página de manual de byobu .fuente
El
/etc/motd
archivo obtiene su información sobre si es necesario reiniciar el/var/run/reboot-required
archivo.Puede verificar el contenido de este archivo en la terminal utilizando el
cat /etc/motd
comandofuente
Si tiene instalados los paquetes reboot-notifier o update-notifier-common, obtendrá los archivos / var / run / reboot-required y /var/run/reboot-required.pkgs
reiniciar-notificador es más reciente en Ubuntu Wily y Xenial. Estiramiento de Debian, pero en jessie-backports
update-notifier-common es anterior, en todas las versiones de Ubuntu, incluidas Xenial y Debian Wheezy. No en Debian Stretch o Jessie.
(Hay algunos antecedentes del paquete de reinicio-notificador en https://feeding.cloud.geek.nz/posts/introducing-reboot-notifier/ )
Si no tiene estos paquetes instalados, puede comparar la versión del paquete de Linux instalada, con la versión en ejecución:
Puede ver aquí que el último núcleo instalado es 3.16.7-ckt20-1 + deb8u4 pero el núcleo en ejecución es 3.16.7-ckt20-1 + deb8u3. Entonces este sistema necesita un reinicio. El u4 vs u3 justo al final.
Es posible que deba desplazarse por el cuadro de arriba. En la versión / proc /, lo que importa es la versión cerca del final de la línea.
El cambio de código de versión menor es típico de una actualización del núcleo de seguridad de Debian.
reinicio
Otra opción es instalar el
needrestart
paquete.Parece funcionar incluso si se necesita reiniciar después de actualizar el kernel.
fuente
dpkg-query: no packages found matching linux-image-*
Unknown option: k
en Ubuntu 14.04.Agregué lo siguiente a mi archivo .bash-aliases:
Parecía más simple que instalar un paquete para esta tarea relativamente simple. Entonces solo corro:
fuente
La solución del pobre hombre:
(Aviso: los tres casos de corchetes con espacio en blanco en el interior deben ser "[<space> <tab>]").
fuente
No es una respuesta a la pregunta, sino una advertencia con respecto a varias de las respuestas: no
/var/run/reboot-required
es una fuente confiable de si se requiere o no un reinicio.Prueba simple: cuando un nuevo núcleo esté disponible, instálelo y reinicie. Después del reinicio, ejecute
apt autoremove
para deshacerse de algunos núcleos antiguos, que ya no son necesarios. Después de ejecutar eso, indicará que se requiere un reinicio, lo cual es una completa tontería.fuente