Réponses:
Il y a généralement deux situations où un redémarrage est généralement nécessaire:
libc
(plutôt glibc
) est mis à niveau.Il existe un mécanisme pour recharger le noyau sans redémarrer ( Comment puis-je mettre à niveau le noyau de mon serveur sans redémarrer? ). Avec glibc
, le plus gros problème est init. Il est possible de redémarrer init (voir Redémarrer init sans redémarrer le système ).
Pour l'utilisateur moyen, aucun n'est recommandé et un redémarrage est nécessaire .
Apparemment, il existe un troisième cas:
dbus
a été mis à niveau. dbus-daemon
est apparemment incapable de redémarrer (d'après ce que je peux comprendre de la discussion sur cet article LWN ). Et comme beaucoup de choses dépendent de DBus ...En fait, cela dépend de ce que vous essayez d'accomplir:
Si vous faites un apt-get dist-upgrade
et qu'un nouveau noyau arrive et que vous souhaitez l'activer, vous avez besoin d'un redémarrage.
Si une nouvelle version de FireFox arrive, vous ne le faites évidemment pas.
Et entre ces deux extrêmes se trouvent 50 nuances de gris:
;-)
J'ai eu une situation plus tôt dans la journée qui le prouve. Parfois, il reste des éléments résiduels dans le système après un changement. Par exemple, j'avais un utilisateur qui n'était pas en mesure d'accéder /dev/dsp
malgré qu'il ait été ajouté aux groupes appropriés. Il y avait un verrou placé dessus par le premier utilisateur qui y a accédé. Cependant, même après avoir tué cet utilisateur, le verrou était toujours en place et le deuxième utilisateur ne pouvait pas y accéder. Cependant, après un redémarrage, les deux utilisateurs ont pu utiliser simultanément /dev/dsp
sans aucun conflit. Un redémarrage libère tout élément résiduel qui pourrait empêcher les modifications de prendre correctement effet.
Je ne peux penser à aucune situation où un redémarrage est absolument nécessaire .
Vraiment, vous pouvez laisser Ubuntu fonctionner indéfiniment. Il pourrait obtenir des logiciels malveillants (car les mises à jour du noyau et de la libc ne sont pas appliquées) et il pourrait paniquer ou se bloquer ... Mais qu'est-ce qui évite ceux qui vont réellement faire pour vous?
Étant donné la complexité de la vie, il pourrait être plus nécessaire d'ignorer les demandes constantes des ordinateurs et de vous soutenir autrement. Comme respirer, manger, aimer ... vivre.
Mais même alors, sont- ils absolument nécessaires? Votre existence sur ce plan est-elle dans la définition absolue de la nécessité? Honnêtement, je ne sais pas. Une question bizarre à poser.
Aux deux gros spoilers de blagues qui ont dévalué ce post et ceux qui suivent,
Cette question était incomplète, ou du moins ouverte. Lorsque vous lancez des mots comme nécessaire , vous devez donner un contexte.
De nombreuses réponses supposaient déjà que le PO signifiait hautement souhaitable (dans un sens technique), donc des réponses publiées qui correspondent aux contextes comme nécessaires pour éviter d'être piratées ou nécessaires si votre ordinateur tombe en panne . Ce sont de bonnes réponses. Ajouter un autre n'était pas vraiment justifié.
Mais ils disent que les hypothèses sont la mère de tous les fous (ou quelque chose comme ça de toute façon), donc je l'ai ramené à une nécessité absolue . Si vous insistez pour utiliser une ancienne copie de 10.10, le temps et l'espace continueront de rouler, tout comme leur habitude.
Vous remarquerez que je ne recommande pas cette position.
La question devrait vraiment être fermée car basée principalement sur l'opinion .
Le fait est que cela dépend de ce qui a été mis à jour, de l'exposition de votre système à l'Internet ouvert et des services système que vous avez / devez exécuter.
L'installation de nouvelles versions d'un package n'entraîne pas le redémarrage des services et applications associés. Par exemple, si vous exécutez Firefox pendant que vous installez un package mis à jour pour celui-ci, vous serez averti dans le navigateur lorsque vous y reviendrez, qu'il doit être redémarré, après l'installation de la mise à jour. De même, le noyau lui-même doit être "redémarré" lorsque des mises à jour lui sont appliquées. Étant donné que le noyau est le niveau le plus bas au-dessus du matériel, vous devez redémarrer le système pour que le nouveau noyau soit chargé. Pour les autres services, ils peuvent être redémarrés sans redémarrage. Une mise à jour vers Unityou les bibliothèques sous-jacentes utilisées par les services de l'environnement, vous aurez besoin de vous déconnecter puis de vous reconnecter pour les redémarrer. Pour les services système, il peut être possible de les redémarrer manuellement après l'application d'une mise à jour, mais le faire automatiquement peut être très perturbateur si vous essayez d'utiliser le système.
La seule façon de savoir avec certitude si une certaine action est nécessaire est de savoir quels sont les changements et quel est votre risque de ne pas effectuer cette action. Les correctifs de sécurité nécessitent évidemment une action plus abrupte que de simples modifications d'autres choses, que vous ne rencontrerez peut-être jamais directement. Plus votre ordinateur est directement connecté à Internet, plus il y a de risques également. Vous devrez tenir compte de toutes les variables et décider de redémarrer maintenant ou ultérieurement lorsque vous installerez les mises à jour.
Quand est-il nécessaire de redémarrer un système Ubuntu?
Une machine en cours d'exécution et strictement lors d'une mise à jour / mise à niveau? Probablement jamais (mais lisez la suite). Le système Linux est configuré de telle manière qu'après avoir mis à jour le système où il nécessiterait un redémarrage pour activer les nouvelles fonctionnalités (c.-à-d. Lire le noyau a été changé; les changements d'apache, mysql ne nécessitent qu'un redémarrage du service) vous peut toujours continuer à fonctionner avec l'état actuel du système.
Maintenant, si vous voulez que ces nouvelles fonctionnalités soient actives, la méthode la plus simple consiste à redémarrer. Mais pour tout ce qui nous importe, vous continuez à travailler sur cette machine et à la redémarrer le week-end suivant ou le week-end suivant. Ou le prochain Noël. Est-ce intelligent? Peut être pas. Mais personne ne vous en empêche. Le système est suffisamment intelligent pour ne pas accepter la prochaine mise à jour si le serveur n'a pas encore redémarré.
Pour moi, les seules raisons pour lesquelles un redémarrage est nécessaire sont après la première installation ou lors de la maintenance où un utilisateur unique est requis (pensez à des choses comme le partitionnement, la correction des erreurs de disque dur) ou lorsqu'un idiot a exécuté la fameuse bombe fork (bien que celle-ci puisse être corrigée) du système lui-même).
Tous les autres redémarrages doivent être effectués par l'administrateur. Et je ne peux pas appeler cela "nécessaire".
Tout d'abord, j'apprécie cette question car elle sera toujours d'actualité.
Les autres réponses sont correctes et très détaillées - c'est pourquoi je suis bref.
Il existe des scénarios où un redémarrage est nécessaire, comme après l'installation d'un nouveau noyau.
Il existe des scénarios où cela est recommandé, comme après l'installation d'un nouveau bureau.
Dans la plupart des scénarios, comme après l'installation ou la mise à niveau, le redémarrage du logiciel n'est pas nécessaire.
Chaque fois que vous avez un doute, je recommande d'effectuer un redémarrage, donc vous êtes du bon côté.
Installez le package debian-goodies
:
sudo apt-get install debian-goodies
et exécutez la commande
sudo checkrestart
Vous verrez une liste de services et vous avez maintenant le choix:
ou
$ checkrestart
Found 20 processes using old versions of upgraded files
(15 distinct programs)
(14 distinct packages)
Of these, 12 seem to contain init scripts which can be used to restart them:
The following packages seem to have init scripts that could be used to restart them:
gpm:
3044 /usr/sbin/gpm
rpcbind:
2208 /sbin/rpcbind
bind9:
8463 /usr/sbin/named
openssh-server:
22124 /usr/sbin/sshd
ntp:
4078 /usr/sbin/ntpd
tftpd-hpa:
3417 /usr/sbin/in.tftpd
uptimed:
2704 /usr/sbin/uptimed
cron:
3019 /usr/sbin/cron
postfix:
22145 /usr/lib/postfix/qmgr
8892 /usr/lib/postfix/master
hddtemp:
3174 /usr/sbin/hddtemp
autofs:
2792 /usr/sbin/automount
openbsd-inetd:
3254 /usr/sbin/inetd
These are the init scripts:
service gpm restart
service rpcbind restart
service bind9 restart
service ssh restart
service ntp restart
service tftpd-hpa restart
service uptimed restart
service cron restart
service postfix restart
service hddtemp restart
service autofs restart
service openbsd-inetd restart
These processes do not seem to have an associated init script to restart them:
isc-dhcp-client:
3775 /sbin/dhclient