En tant qu’administrateur système, une tâche courante consiste à redémarrer ou à éteindre les serveurs. Ces actions sont souvent nécessaires pour des maintenances régulières, telles que la mise à jour du système d’exploitation, ou suite à des défaillances matérielles qui exigent l’arrêt d’un système pour réparation.
Les systèmes Linux proposent plusieurs méthodes pour redémarrer ou arrêter un serveur. Un système en bon état devrait répondre à n’importe quelle commande, tandis qu’un serveur défaillant peut nécessiter un redémarrage forcé. La plupart de ces commandes exigent des privilèges de superutilisateur ou l’utilisation de `sudo` pour une exécution réussie, car le redémarrage d’un système est une tâche administrative qui peut perturber les systèmes multi-utilisateurs ou les serveurs exécutant des processus critiques.
Cet article présente diverses méthodes pour redémarrer ou arrêter votre système Linux.
Méthode graphique
Si vous utilisez un environnement de bureau graphique tel que Gnome, KDE, Mate ou XFCE, vous trouverez un bouton d’alimentation dans le menu système ou application. Ce bouton offre des options comme la déconnexion, le redémarrage, l’hibernation et l’arrêt. Les options disponibles peuvent varier légèrement en fonction de votre distribution, environnement de bureau et version du système d’exploitation. Cependant, des paramètres liés à l’alimentation sont toujours présents dans les menus pour modifier l’état de votre système.
Par exemple, sur mon bureau Ubuntu Mate, l’option « Arrêter » se trouve dans le menu d’alimentation en haut à droite de l’écran.
En sélectionnant « Arrêter… », une boîte de dialogue s’affiche avec plusieurs choix : Suspendre, Redémarrer, Annuler et Arrêter. Vous pouvez alors procéder au redémarrage ou à l’arrêt en cliquant sur le bouton approprié, ou annuler et retourner à votre bureau.
L’interface graphique et les options proposées peuvent légèrement différer en fonction de la distribution et de l’environnement de bureau utilisés, mais l’option pour changer l’état d’alimentation du système est toujours accessible. En utilisant l’interface graphique, il suffit de quelques clics dans le menu d’alimentation.
Commande systemctl
Sur un système Linux utilisant systemd comme système d’initialisation, vous pouvez utiliser la commande `systemctl` pour redémarrer votre machine.
$ sudo systemctl start reboot.target
Vous pouvez aussi simplement utiliser `systemctl` avec l’option nécessaire pour redémarrer :
$ sudo systemctl reboot
Pour effectuer un arrêt, la commande `systemctl` est :
$ sudo systemctl shutdown
Pour arrêter le système, utilisez :
$ sudo systemctl halt
Commande shutdown
La commande `shutdown` sert à éteindre ou redémarrer un système Linux. Pour redémarrer un système immédiatement, utilisez :
$ sudo shutdown -r now
Pour éteindre un système sans délai, utilisez l’option `-h` ou `-P` :
$ sudo shutdown -P now
Il est possible d’ajouter un délai à la commande `shutdown` pour redémarrer ou éteindre le système après un intervalle donné, par exemple :
$ sudo shutdown -r 10
Pour arrêter un système sans demander à la machine de s’éteindre, vous pouvez utiliser l’option `-H` :
$ sudo shutdown -H now
Si vous utilisez la commande `shutdown` sans argument, l’arrêt sera programmé dans une minute. Pour programmer un arrêt à une heure précise, utilisez :
$ sudo shutdown 22:30
En cas de panne, le système diffuse un message aux utilisateurs connectés. Vous pouvez personnaliser ce message en l’ajoutant à la commande `shutdown` comme ceci :
$ sudo shutdown 23:00 "Mise hors tension du système pour maintenance...sauvegardez votre travail"
Pour annuler un arrêt programmé, utilisez l’option `-c` :
$ sudo shutdown -c
Sur certains systèmes, la commande `shutdown` fait appel à `systemctl` en arrière-plan pour effectuer l’opération de redémarrage ou d’arrêt souhaitée.
Commande reboot
Pour redémarrer correctement un système, vous pouvez utiliser la commande `reboot` (peut nécessiter l’utilisation de `sudo`).
$ sudo reboot
Pour éteindre le système avec la commande `reboot`, utilisez l’option `-p` :
$ sudo reboot -p
Pour forcer un redémarrage (pour les systèmes qui ne répondent pas à la commande de redémarrage normale), essayez l’option `-f` :
$ sudo reboot -f
Commande halt
Pour arrêter un système, vous pouvez simplement utiliser la commande `halt` :
$ sudo halt
Commande poweroff
Pour éteindre un système, la commande `poweroff` est également une option :
$ sudo poweroff
Commande init
Pour les systèmes qui n’utilisent pas systemd, la commande `init` (ou `telinit`) offre des options pour changer 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 arrêter un système, la commande `init` à utiliser est :
$ sudo init 0
L’appel d’un niveau d’exécution spécifique avec `init` entraîne l’exécution par le processus `init` d’une série de scripts d’initialisation dans un ordre précis pour assurer que le système atteint le niveau d’exécution désiré. Le niveau d’exécution 6 correspond au redémarrage, et le niveau d’exécution 0 à l’arrêt du système.
Bouton d’alimentation
Sur un ordinateur de bureau ou un ordinateur portable exécutant Linux, appuyer sur le bouton d’alimentation a par défaut pour effet de mettre le système en veille ou de l’éteindre. Cette option peut être modifiée dans les paramètres d’alimentation du système. Il est préférable de l’utiliser en dernier recours si les commandes normales ne fonctionnent pas.
Sur un serveur distant exécutant Linux, le bouton d’alimentation éteint généralement le système. Les serveurs situés dans des centres de données distants peuvent être redémarrés ou éteints grâce à des outils d’administration à distance, fournis par leurs fournisseurs.
Combinaison Alt + SysRq
Pour un système figé et non réactif, il est difficile de le redémarrer ou de l’arrêter. En dernier recours, vous pouvez essayer d’appuyer sur Alt + PrintScreen + une séquence de touches afin de redémarrer immédiatement le système. Cette option n’est pas idéale, mais elle peut être utilisée en dernier recours.
Il existe un risque de perte ou de corruption de données lors de l’utilisation de cette méthode, comme avec toute autre option de redémarrage ou d’arrêt forcé. Assurez-vous que les meilleures pratiques pour les sauvegardes et la redondance sont appliquées et soyez prudent lors de l’utilisation de cette option.
Pour que cette option fonctionne, elle doit être 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 avec 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 : bascule le clavier du mode brut au mode XLATE
- E : envoie le signal SIGTERM à tous les processus sauf init
- I : envoie le signal SIGKILL à tous les processus sauf init
- S : synchronise tous les systèmes de fichiers montés
- U : remonte tous les systèmes de fichiers montés en lecture seule
Enfin, nous avons soit B ou O qui signifie :
- B : redémarre immédiatement le système, sans démonter les partitions ni synchroniser
OU
- O : éteint immédiatement le système, sans démonter les partitions ni synchroniser
Sommaire
Nous avons examiné différentes méthodes pour redémarrer ou arrêter un système Linux, allant de simples interfaces graphiques à des commandes de terminal complexes. Ces méthodes peuvent faciliter votre travail ou même automatiser certaines tâches. Pour les systèmes qui ont figé, nous avons également exploré des méthodes forcées, à n’utiliser qu’en dernier recours.
Soyez prudent lors de l’utilisation des commandes décrites dans cet article, car elles affectent l’état du système et peuvent avoir un impact sur plusieurs utilisateurs et services, notamment dans le cas d’un serveur d’entreprise. Consultez les pages de manuel des commandes suggérées pour en savoir plus sur les options disponibles.
Découvrez comment configurer WAS pour qu’il cesse de demander un mot de passe lors de l’arrêt ici.