Comment redémarrer et arrêter les serveurs Linux ?

En tant qu’administrateur système, l’une des activités fréquentes consiste à redémarrer ou à éteindre les serveurs.

Cela peut être dû à une activité de maintenance régulière telle que la correction du système d’exploitation ou à une défaillance matérielle nécessitant la mise hors tension d’un système pour maintenance.

Un système Linux offre plusieurs façons différentes de redémarrer ou d’arrêter le serveur. Un système normal devrait répondre à n’importe quelle commande alors qu’un serveur dégradé peut devoir être redémarré avec force. Notez que la plupart de ces commandes nécessiteront un certain niveau de privilège en tant que superutilisateur ou avec sudo pour être exécutées avec succès, car le redémarrage d’un système est une tâche administrative et pour un système multi-utilisateur ou un serveur exécutant des processus critiques, le redémarrage ou l’arrêt est un activité perturbatrice.

Cet article couvre quelques méthodes de ce type qui peuvent vous aider avec l’activité de redémarrage/arrêt de Linux.

Méthode graphique

Si vous utilisez un environnement de bureau GUI pour Linux comme Gnome, KDE, Mate, XFCE, etc., vous trouverez un bouton d’alimentation dans le menu système/application qui propose des actions telles que la déconnexion, le redémarrage, l’hibernation ou la mise hors tension. Les options disponibles peuvent différer légèrement selon la distribution, l’environnement de bureau et la version du système d’exploitation utilisés. Mais vous trouverez certainement des paramètres liés à l’alimentation dans les menus disponibles pour modifier l’état d’alimentation de votre système.

Par exemple, sur mon bureau Ubuntu Mate, je peux trouver l’option Arrêter dans le menu d’alimentation en haut à droite de mon écran.

Une fois que vous avez sélectionné l’option « Arrêter … », vous serez présenté avec une boîte de dialogue avec plusieurs options comme Suspendre, Redémarrer, Annuler et Arrêter. Vous pouvez soit procéder au redémarrage ou à l’arrêt en cliquant sur le bouton droit, soit annuler et revenir à votre environnement de bureau.

L’interface graphique et les options proposées peuvent différer légèrement en fonction de la distribution et de l’environnement de bureau que vous utilisez, mais soyez assuré qu’il existe une option pour modifier l’état d’alimentation du système. Et avec l’interface graphique, ce n’est pas plus que quelques clics dans le menu d’alimentation.

  Comment installer NotepadQQ sur Linux

Commande systemctl

Sur une machine Linux exécutant systemd en tant que système init, vous pouvez utiliser la commande systemctl pour redémarrer votre machine.

$ sudo systemctl start reboot.target

Ou vous pouvez simplement utiliser systemctl avec l’option requise, comme pour redémarrer en tant que :

$ sudo systemctl reboot

Pour lancer un arrêt, la commande systemctl ressemble à :

$ sudo systemctl shutdown

Pour arrêter le système, utilisez :

$ sudo systemctl halt

Commande d’arrêt

La commande shutdown peut être utilisée pour éteindre et redémarrer un système Linux. Pour redémarrer un système immédiatement, utilisez :

$ sudo shutdown -r now

Ou pour éteindre un système sans attendre, utilisez l’indicateur -h ou -P :

$ sudo shutdown -P now 

Nous pouvons ajouter un délai à la commande shutdown pour redémarrer/éteindre le système après un intervalle spécifié. Cela peut être réalisé comme:

$ sudo shutdown -r 10

Pour arrêter un système sans demander au matériel de s’éteindre, vous pouvez utiliser l’indicateur -H :

$ sudo shutdown -H now

Si vous spécifiez simplement la commande d’arrêt, l’arrêt sera programmé après une minute. Pour arrêter à une heure précise, utilisez :

$ sudo shutdown 22:30

Dans de nombreux cas, lorsqu’un système tombe en panne, il diffuse un message sur la console des utilisateurs connectés. Si vous souhaitez ajouter votre message personnalisé dans cette diffusion, vous pouvez spécifier un message avec la commande d’arrêt comme :

$ sudo shutdown 23:00 "Powering off system for maintenance...save your work"

Pour annuler un arrêt programmé, vous pouvez utiliser l’indicateur -c :

$ sudo shutdown -c

Sur certains systèmes, la commande shutdown appelle systemctl dans le backend pour obtenir l’opération de redémarrage/arrêt souhaitée.

Commande de redémarrage

Pour redémarrer correctement un système, vous pouvez également utiliser la commande reboot (peut-être nécessaire d’utiliser avec sudo).

$ sudo reboot

Pour éteindre le système avec la commande reboot, utilisez l’indicateur -p :

$ sudo reboot -p

Pour forcer un redémarrage (pour les systèmes ne répondant pas à la commande de redémarrage normale), vous pouvez essayer l’indicateur -f comme :

$ sudo reboot -f

Commande d’arrêt

Pour arrêter un système, vous pouvez simplement utiliser la commande halt :

$ sudo halt

Commande de mise hors tension

Pour éteindre un système, vous avez la possibilité d’utiliser la commande poweroff :

$ sudo poweroff

Commande d’initialisation

Pour les systèmes qui ne s’exécutent pas sur systemd, la commande init (telinit fonctionnera également) offre des options pour modifier le niveau d’exécution du système. Pour redémarrer un système avec init, vous pouvez utiliser :

$ sudo init 6

De même pour stopper un système, la commande init à utiliser est :

$ sudo init 0

L’appel d’un niveau d’exécution spécifique à l’aide de init entraîne l’exécution par le processus init du système d’une série de scripts init dans un ordre particulier pour s’assurer que le système atteint le niveau d’exécution souhaité. Le niveau d’exécution 6 est défini pour le redémarrage tandis que le niveau d’exécution 0 est défini pour l’arrêt du système.

  Comment installer JetBrains CLion sur Linux

Bouton d’alimentation

Pour Linux exécuté sur un ordinateur de bureau ou un ordinateur portable, appuyer sur le bouton d’alimentation par défaut a pour action de mettre le système en veille ou de l’éteindre en envoyant le signal d’arrêt. Cette option peut être modifiée à partir des paramètres d’alimentation du système. Bien qu’il devrait idéalement être utilisé comme dernière option si les commandes normales ne fonctionnent pas.

Pour un serveur distant exécutant Linux, le bouton d’alimentation éteint généralement le système. Mais ceux situés dans des centres de données distants ont la possibilité supplémentaire d’être redémarrés ou éteints à partir de leurs outils CLI/GUI de gestion à distance de l’extinction des feux proposés par les fournisseurs de serveurs respectifs.

Combinaison Alt + SysRq

Pour un système gelé qui ne répond pas, il est difficile de le mettre en état de redémarrage ou de mise hors tension. Lorsque vous n’avez pas d’autre option et en dernier recours, vous pouvez essayer d’appuyer sur Alt + PrintScreen + une séquence de touches afin de redémarrer instantanément le système. Ce n’est peut-être pas une option préférée ou recommandée, mais elle peut néanmoins être utilisée en dernier recours.

Rappelez-vous toujours qu’il existe un risque de perte et de corruption de données en utilisant cette méthode, comme avec toute autre option de redémarrage ou d’arrêt forcé non gracieux. Assurez-vous que les meilleures pratiques du système pour les sauvegardes et la redondance et soyez prudent lorsque vous utilisez cette option.

  Comment utiliser bash pour créer des répertoires sous Linux [Guide]

Pour que cette option fonctionne, elle doit avoir été activée dans le noyau Linux. Vous pouvez vérifier cela en utilisant la commande ci-dessous :

$ cat /proc/sys/kernel/sysrq

Une sortie de 1 indique qu’elle est complètement activée, tandis qu’un nombre supérieur à indique qu’elle est partiellement activée avec certaines fonctionnalités. Pour l’activer explicitement, vous pouvez utiliser :

$ sudo echo “1” > /proc/sys/kernel/sysrq

Pour redémarrer un système en utilisant cette méthode, maintenez Alt + SysRq (PrintScreen) enfoncés, puis appuyez en séquence sur les touches suivantes après un intervalle de quelques secondes entre chaque touche :

R E I S U B

ou pour éteindre appuyez sur O au lieu de B à la fin :

R E I S U O

Voici ce que signifient les touches :

  • R : basculer le clavier du mode brut au mode XLATE
  • E : Envoyer le signal SIGTERM à tous les processus sauf init
  • I : Envoie le signal SIGKILL à tous les processus sauf init
  • S : synchroniser tous les systèmes de fichiers montés
  • U : Remonter tous les systèmes de fichiers montés en lecture seule

Enfin, nous avons soit B ou O qui signifie :

  • B : Redémarrez immédiatement le système, sans démonter les partitions ni synchroniser

OU

  • O : Éteignez immédiatement le système, sans démonter les partitions ni synchroniser

Sommaire

Voici donc différentes manières qui vous permettent de redémarrer ou d’arrêter un système Linux. Il vous offre des options allant de simples interfaces graphiques à des commandes de terminal relativement complexes qui peuvent vous faciliter la vie ou même vous permettre d’automatiser des choses. Pour les systèmes qui ont gelé pour une raison ou une autre, nous avons discuté des moyens forcés d’obtenir un état de redémarrage ou d’arrêt qui n’est peut-être pas le moyen idéal mais qui doit être utilisé en de rares occasions.

Prenez des précautions lors de l’utilisation des commandes décrites dans cet article car elles affectent l’état du système et peuvent éventuellement affecter plusieurs utilisateurs et services dans le cas d’un serveur d’entreprise. Consultez les pages de manuel des commandes suggérées dans cet article pour en savoir plus à leur sujet et sur toutes les options qu’elles offrent.

Découvrez comment configurer WAS pour qu’il cesse de demander un mot de passe lors de l’arrêt ici.