Lorsque vous installez certaines mises à jour (par exemple, un nouveau noyau) dans Ubuntu Desktop, vous recevez une indication qu'un redémarrage est requis (dans Lucid, l'icône de déconnexion devient rouge).
Comment vérifier, à partir de la ligne de commande, si un serveur Ubuntu nécessite un redémarrage?
Je pouvais m'engager pour «redémarrage du système requis» /etc/motd
, mais j'aimerais une solution plus élégante. De plus, je veux une solution qui fonctionne dans les versions plus anciennes, par exemple Hardy (8.04 LTS).
command-line
package-management
Marius Gedminas
la source
la source
Réponses:
Vous pouvez simplement vérifier si le fichier
/var/run/reboot-required
existe ou non.Par exemple, n'importe lequel de ceux-ci vous dirait "aucun fichier de ce type" ou "fichier introuvable" si vous n'avez pas besoin de redémarrer, sinon (si vous avez besoin de redémarrer) le fichier existerait et ces commandes afficheraient des informations sur le fichier:
Dans un script bash, vous pouvez utiliser:
la source
/var/run/reboot-required.pkgs
listera les packages qui nécessitent le redémarrage.Dans le paquet debian-goodies se trouve une commande nommée
checkrestart
qui est très utile. Sa sortie peut vous aider à éviter un redémarrage complet.Il vous indique quelles applications en cours ont chargé des bibliothèques partagées mises à niveau pendant l'exécution de l'application. Vous redémarrez ensuite les applications et les services manuellement et évitez un redémarrage complet. N'aide pas avec les mises à niveau du noyau, cependant.
la source
Normalement si le fichier
existe vous devez redémarrer. Vous pouvez voir si ce fichier est là en utilisant cette commande simple dans gnome-terminal.
la source
Outre les méthodes les plus directes écrites par d'autres utilisateurs, il existe une indication pratique si vous utilisez byobu - un ensemble de scripts permettant de rendre GNU screen un peu plus convivial. Il affiche un ensemble d'informations en bas de l'écran, qui peut indiquer si un redémarrage est requis - avec la disponibilité des mises à jour, la durée, la disponibilité, la mémoire utilisée, etc.
Sur cette capture d'écran, vous pouvez voir
199!
sur la ligne inférieure avec l'arrière-plan rouge qu'il y a 199 mises à jour disponibles. A!!
signifie que certaines sont des mises à jour de sécurité . Le menu au premier plan sélectionne les notifications d'état à afficher.Si un redémarrage est requis, cela sera indiqué par le symbole
(R)
affiché dans la barre inférieure avec du texte blanc sur fond bleu. Plus de détails et d’autres indicateurs peuvent être lus dans la page de manuel de byobu .la source
Le
/etc/motd
fichier obtient ses informations pour savoir si un redémarrage est requis à partir du/var/run/reboot-required
fichier.Vous pouvez vérifier le contenu de ce fichier dans le terminal en utilisant la
cat /etc/motd
commandela source
Si les packages reboot-notifier ou update-notifier-common sont installés, vous obtenez les fichiers / var / run / reboot-required et /var/run/reboot-required.pkgs.
reboot-notifier est plus récent dans Ubuntu Wily et Xenial. Tronçon Debian, mais dans jessie-backports
update-notifier-common Est plus ancien, dans toutes les versions d'Ubuntu, y compris Xenial et Debian Wheezy. Pas dans Debian Stretch ou Jessie.
(Le paquetage reboot-notifier contient des informations générales à l' adresse https://feeding.cloud.geek.nz/posts/introducing-reboot-notifier/ )
Si ces packages ne sont pas installés, vous pouvez comparer la version du package linux installée à la version en cours d'exécution:
Vous pouvez voir ici que le dernier noyau installé est 3.16.7-ckt20-1 + deb8u4, mais que le noyau en cours d’exécution est 3.16.7-ckt20-1 + deb8u3. Donc, ce système a besoin d'un redémarrage. Le U4 vs U3 à la fin.
Vous devrez peut-être faire défiler la case ci-dessus. Dans / proc / version, c'est la version proche de la fin de la ligne qui compte.
Le changement de code de version très mineur est typique d'une mise à jour du noyau de sécurité Debian.
besoin de redémarrer
Une autre option consiste à installer le
needrestart
package.Semble fonctionner même si needrestart a été installé après la mise à niveau du noyau.
la source
dpkg-query: no packages found matching linux-image-*
Unknown option: k
dans Ubuntu 14.04.J'ai ajouté ce qui suit à mon fichier .bash-aliases:
Cela semblait plus simple que d'installer un paquet pour cette tâche relativement simple. Alors je cours juste:
la source
La solution du pauvre:
(Remarque: les trois cas de crochets contenant des espaces doivent être "[<espace> <tab>]".)
la source
Pas une réponse à la question, mais une mise en garde concernant plusieurs des réponses:
/var/run/reboot-required
n’est pas une source fiable permettant de savoir si un redémarrage est réellement nécessaire ou non.Test simple: quand un nouveau noyau devient disponible, installez-le, redémarrez. Après le redémarrage, exécutez-vous
apt autoremove
pour vous débarrasser de certains anciens noyaux. Une fois que vous avez exécuté cela, il sera indiqué qu'un redémarrage est requis, ce qui est un non-sens.la source