Après avoir lu cet article, vous saurez quels services doivent être redémarrés après la mise à jour d'un ou plusieurs packages RPM. De plus, vous saurez si un redémarrage du serveur est nécessaire après la mise à jour d'un ou plusieurs packages RPM.
nécessite de redémarrer l'utilitaire de yum
La commande
Patience s'il vous plait
L'outil needs-restarting(1) décrit ici peut prendre un temps d'exécution considérable puisqu'il vérifie de nombreux services et relations de bibliothèque. Cependant, il est recommandé d'exécuter l'outil de redémarrage nécessaire après toute mise à jour RPM, par exemple par rpm ou yum.
Vérifier les services à redémarrer
1. Pour voir une liste des processus qui ont commencé à s'exécuter avant qu'eux-mêmes ou certains composants qu'ils utilisent ne soient mis à jour, procédez comme suit :
# needs-restarting 2438 : /usr/libexec/hald-addon-generic-backlight 2458 : hald-addon-storage: polling /dev/sr0 (every 2 sec) 2847 : xinetd-stayalive-pidfile/var/run/xinetd.pid 2457 : hald-addon-acpi: listening on acpid socket /var/run/acpid.socket 2452 : hald-addon-input: Listening on /dev/input/event7 /dev/input/event0 /dev/input/event2 /dev/input/event1 27729 : rpc.statd 24992 : /usr/sbin/named-unamed 1 : /sbin/init 972 : /usr/sbin/sshd 12560 : /sbin/udevd-d 2406 : hald-runner 2036 : rpcbind-w 2405 : hald 2178 : irqbalance--pid=/var/run/irqbalance.pid 2070 : /sbin/rsyslogd-i/var/run/syslogd.pid-c5 24450 : /sbin/udevd-d 2763 : tgtd 2819 : /usr/sbin/mcelog--daemon 2766 : tgtd 2930 : crond 589 : /sbin/udevd-d 2979 : /sbin/mingetty/dev/tty6 2977 : /sbin/mingetty/dev/tty5 2975 : /sbin/mingetty/dev/tty4 2339 : dbus-daemon--system 29738 : /usr/sbin/console-kit-daemon--no-daemon 29510 : /sbin/mingetty/dev/tty1 #
2. Dans cet exemple, le PID 972 (/usr/sbin/sshd) doit redémarrer. (pid=972) doit être redémarré, ce qui est fourni par le service sshd.
# needs-restarting | fgrep 972 972 : /usr/sbin/sshd
3. Cet exécutable est fourni par le package RPM openssh-server.
# rpm -qf /usr/sbin/sshd openssh-server-5.3p1-123.el6_9.x86_64
# rpm -qf /usr/sbin/sshd -l | fgrep .serv /usr/lib/systemd/system/sshd.service ...
4. Ainsi, le redémarrage du service sshd entraîne la suppression de /usr/sbin/sshd de la liste.
# service sshd restart stopping sshd [ OK ] starting sshd [ OK ]
# needs-restarting | fgrep ssh
Si aucun processus n'a besoin d'être redémarré, le redémarrage n'affiche rien. Si quelque chose s'affiche mais ne peut pas être supprimé même après le redémarrage des services concernés, le système doit redémarrer le système d'exploitation.
Vérifiez si le redémarrage du serveur est nécessaire (CentOS/RHEL 7 et versions ultérieures)
Certains services ne peuvent pas être redémarrés sans déstabiliser le serveur. Pour vérifier ces cas, CentOS/RHEL 7 et versions ultérieures prennent en charge un -r commutateur de ligne de commande :
# needs-restarting -r Core libraries or services have been updated: dbus -> 1:1.10.24-7.0.1.el7
Toute sortie de ce formulaire de commande indique qu'un redémarrage du système est recommandé.