https://access.redhat.com/discussions/3106621#comment-1196821
No olvide que es posible que deba reiniciar debido a las actualizaciones de la biblioteca principal, al menos si es glibc. (Y también, los servicios pueden necesitar reiniciarse después de las actualizaciones).
Si instala el yum-utils
paquete, puede usar un comando llamado needs-restarting
.
Puede usarlo tanto para verificar si se requiere un reinicio completo debido a las actualizaciones de las bibliotecas del núcleo o del núcleo (usando la -r
opción), o qué servicios necesitan reiniciarse (usando la -s
opción).
needs-restarting -r
devuelve 0
si no es necesario reiniciar, y 1
si lo es, por lo que es perfecto para usar en un script.
Un ejemplo:
root@server1:~> needs-restarting -r ; echo $?
Core libraries or services have been updated:
openssl-libs -> 1:1.0.1e-60.el7_3.1
systemd -> 219-30.el7_3.9
Reboot is required to ensure that your system benefits from these updates.
More information:
https://access.redhat.com/solutions/27943
1
-s
opción requiere acceso de root.needs-restarting
es un complemento DNF . No es compatible-r
o-s
(todavía).Acerca de comparar los núcleos instalados con uno en ejecución:
¡Espero que ayude!
fuente
kernel-
cadena se está eliminando de la salida derpm -q
?kernel-
cadena debe eliminarse para compararla con la salida deuname -r
, que no la contiene.Puede comparar la salida de uname -a con la lista de paquetes de kernel instalados
fuente
uname -a
vs.rpm -q kernel
yneeds-restarting
desdeyum-utils
fuente
Una cosa que puede ser útil para mirar en términos de "es necesario reiniciar" es si hay o no archivos que hayan sido eliminados / reemplazados por la actualización, pero para los cuales los archivos antiguos aún se cargan / usan por procesos activos.
Básicamente, cuando YUM actualiza un archivo que está en uso por un proceso, el archivo en sí puede haber sido marcado para su eliminación, pero el proceso sigue usando el archivo antiguo ya que tiene un descriptor de archivo abierto al inodo del archivo anterior.
Un comando para obtener un recuento de la cantidad de archivos antiguos que todavía están en uso:
Ese comando le dará un recuento de los archivos.
Use esto en su lugar para ver qué archivos están realmente en uso:
Ese comando producirá una salida similar a la siguiente en un cuadro actualizado YUM:
fuente
Compruebe si ejecutar kernel es el último.
Si no es así, verifique si el sistema se reinició desde la instalación del kernel.
Si no fue así, reinicie.
fuente
Sé que esta pregunta ya ha sido respondida y que la gente ha publicado información sobre la verificación de nuevos núcleos y archivos eliminados, pero recientemente escribí un script que verifica ambos. Si se detecta cualquiera de las condiciones, el reinicio está programado para +30 minutos.
fuente
Aquí está mi versión del código alexm. Puedes hacerlo:
fuente
install.log install.log.syslog yum.log revisas este lugar lo que tiene todo nuevo rpm tiene que instalar
fuente