Outre la mise à niveau du noyau, y a-t-il des changements dans un système Linux qui nécessitent un redémarrage? Je sais qu'il y a des situations où un redémarrage facilite les choses, mais y en a-t-il qui ne peuvent être accomplies qu'avec un redémarrage?
Pour clarifier: je pense à un système de bureau ou de serveur typique qui ne souffre pas d'un dysfonctionnement matériel.
Réponses:
Quelques choses me viennent à l'esprit:
Récupérer d'une panique du noyau
Une panique du noyau, par définition, ne peut pas être récupérée sans redémarrer le noyau.
Récupérez des blocages qui vous laissent sans accès au terminal
Si le système ne répond pas et que vous êtes bloqué sans moyen d'émettre des commandes pour récupérer, la seule chose que vous pourriez faire est de redémarrer. En règle générale, vous souhaiterez éviter les cycles d'alimentation manuels. Pour ces types de situations, le noyau Linux prend en charge Magic SysRq qui peut être utilisé pour redémarrer la machine en cas d'urgence.
Tant que l'
CONFIG_MAGIC_SYSRQ
option a été activée dans la configuration du noyau et que l'kernel.sysrq
sysctl
option est activée, vous pouvez émettre des commandes directement vers le noyau avec des combinaisons de touches SysRq magiques:Notez que Alt+ SysRqci-dessous signifie appuyer et maintenir enfoncé Alt , puis appuyer et maintenir SysRq (généralement la PrintScrntouche).
SIGTERM
à tous les processus, saufinit
en leur donnant une chance de se terminer avec éléganceSIGKILL
à tous les processus, saufinit
en les forçant à se terminerAlt+ SysRq+ b: redémarrer, ou
Alt+ SysRq+ o: arrêt
Un mnémonique pour les combinaisons de touches SysRq magiques pour tenter un redémarrage gracieux est:
" R eboot E ven I f S ystem U tterly B roke "
Pour les serveurs sans tête, il existe même une cible iptables permettant des séquences SysRq distantes sur un réseau.
Récupérer de l'état non amorçable
Si le système a déjà été amené dans un état où un démarrage normal n'est pas possible (par exemple à la suite d'une mise à niveau du système échouée, d'un système de fichiers corrompu, etc.), la seule façon d'accéder à une console de récupération sur le système peut être de redémarrer en utilisant les options de démarrage appropriées.
Modifier les paramètres du noyau au démarrage
Certains paramètres du noyau (par exemple
audit
pour activer / désactiver l'audit du noyau) ne peuvent être définis que lorsque le noyau est chargé au démarrage.la source
Il y a deux fois où je peux penser où je voudrais redémarrer:
Quand je dois m'assurer que le système peut démarrer dans le bon état.
J'ai déjà travaillé sur un système sur lequel un démon avait été configuré pendant son fonctionnement. Après avoir fonctionné pendant quelques années, une panne de courant l'a fait redémarrer, mais le démon ne faisait pas partie du processus de démarrage et personne ne savait comment il avait été configuré des années plus tôt. Le système était en panne pendant des jours pendant que nous trouvions comment le reconfigurer.
En fait, le redémarrage est le seul moyen de savoir avec certitude que votre système redémarrera correctement après une panne de courant.
Lorsqu'une bibliothèque système a été mise à jour.
Disons qu'une faille de sécurité majeure a été découverte dans une bibliothèque partagée avec de nombreuses applications / serveurs du système. Vous pouvez mettre à jour la bibliothèque sans redémarrer, mais combien de processus sont toujours en cours d'exécution avec la bibliothèque non sécurisée chargée? Vous pouvez minutieusement redémarrer n'importe quoi en utilisant l'ancienne bibliothèque (si vous pouvez le comprendre), mais cela est sujet aux erreurs et peut prendre plus de temps que le redémarrage.
Le redémarrage est le meilleur moyen de s'assurer que tous les processus en cours d'exécution n'utilisent toujours pas l'ancienne bibliothèque de bogues.
la source
lsof
avant de mettre à niveau les bibliothèques.Si vous voulez dire des changements prévus dans la configuration logicielle et supposez un matériel fonctionnant parfaitement (je ne l'ai pas encore vu) et un logiciel sans bogue (vous savez ...), alors seul un bogue dans le noyau ou un pilote vous forcerait à redémarrer. :)
A part ça ... Je ne sais pas s'il serait possible de remplacer
init
sans passer en mode mono-utilisateur et faire de la magie qui n'est pas très différente d'un redémarrage.la source