Comment savoir si un redémarrage est nécessaire après la mise à jour?

28

J'ai 4 serveurs avec Debian Wheezy OS. J'ai installé Apticron qui m'informe des mises à jour. Les mises à jour Debian sont réalisées si souvent que lorsque je termine de mettre à jour le dernier des 4 serveurs, je reçois un nouvel e-mail sur les nouvelles mises à jour sur le premier serveur. J'essaie de mettre à jour tous les serveurs lorsque je reçois une notification, mais je ne sais jamais s'il est nécessaire de redémarrer les serveurs. J'ai lu que si le répertoire "/var/run"contient un fichier, "reboot-required"je dois redémarrer le serveur. Mais je n'ai jamais vu ce fichier "/var/run". Comment savoir quand un redémarrage est requis? Je ne veux pas redémarrer mes serveurs à chaque fois que j'installe de nouvelles mises à jour si ce n'est pas nécessaire.

Je comprends que si je mets à jour PHP ou MySQL, etc., je n'ai pas besoin de redémarrer le serveur mais les mises à jour contiennent généralement de nombreuses "lib ...".

Voici 9 mises à jour (que j'ai reçues cette semaine).

krb5-locales 1.10.1+dfsg-5+deb7u3
libdbus-1-3 1.6.8-1+deb7u6
libgssapi-krb5-2 1.10.1+dfsg-5+deb7u3
libk5crypto3 1.10.1+dfsg-5+deb7u3
libkrb5-3 1.10.1+dfsg-5+deb7u3
libkrb5support0 1.10.1+dfsg-5+deb7u3
libruby1.8 1.8.7.358-7.1+deb7u2
libxml2 2.8.0+dfsg1-7+wheezy3
ruby1.8 1.8.7.358-7.1+deb7u2

Je n'ai aucune idée de ce qu'est "libkrb, libgssapi", etc. Comment puis-je détecter si un redémarrage est nécessaire? Veuillez ne pas suggérer d'installer UnattendedUpgrades pour laisser les serveurs se mettre à jour automatiquement car cela peut entraîner la mise hors ligne des sites Web si quelque chose ne se corrige pas.

user1406271
la source
Si vous appliquez uniquement le securityflux et non les mises à jour générales, vous n'obtiendrez pas autant de mises à jour.
poolie

Réponses:

31

Vérifiez à checkrestartpartir de l' debian-goodiesemballage. Il montre quels processus utilisant les anciennes versions des bibliothèques que vous avez mises à jour. Si vous n'êtes pas en mesure de supprimer tous les processus de cette liste, vous avez besoin d'un redémarrage :)

De plus (comme l'a dit YuKYuK), redémarrez toujours après une mise à jour du noyau!

Nat
la source
10
Sinon, passez à la caisse needrestart. linux-audit.com/…
ypid
9

cat /var/run/reboot-required.pkgsà voir 'service' waiting for a reload. Rien n'a besoin d'un redémarrage, seulement une mise à niveau du noyau (et Windows :)).

Ou sur Debian: lsof | grep lib | grep DEL

YuKYuK
la source
Oubliez de dire: il liste toutes les bibliothèques mises à jour. Après cela, vous devez redémarrer les applications avec des dépendances.
YuKYuK
Comme je l'ai écrit dans ma question, je n'ai jamais vu le fichier /var/run/reboot-required.pkgs. Je vérifie ce dossier après chaque mise à jour mais rien.
user1406271
lsof | grep lib | grep DEL pour voir lib attendant d'être "mis à jour"
YuKYuK
2
Oui et la commande affiche les bibliothèques en attente de "mise à jour" et certaines bibliothèques attendent simplement un redémarrage du "service". Seule la mise à jour du noyau nécessite un redémarrage du système (car le noyau est un noyau :).
YuKYuK
3
Remarque concernant Debian Jessie: reboot-notifierest un petit paquet qui n'est pas installé par défaut qui ajoute ce fichier lorsqu'un redémarrage est requis pour charger un noyau mis à jour. reboot-notifierpeut être utilisé comme alternative pour update-notifier-commonlaquelle a été supprimé dans Debian Jessie. Voir aussi: serverfault.com/a/92939/177172 .
ypid
2

Juste pour ajouter à cela, j'ai eu le même problème avec mes serveurs et j'ai écrit un script de mise à jour où je vérifie / var / run / comme YuKYuK a suggéré:

test -f /var/run/reboot-required && echo rebooting && sudo reboot
min hundje
la source