Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.4. Arrêter, suspendre, et mettre le système en hibernation

Sur Red Hat Enterprise Linux 7, l'utilitaire systemctl remplace un certain nombre de commandes de gestion de l'alimentation utilisées dans des versions précédentes du système Red Hat Enterprise Linux. Les commandes répertoriées dans la Tableau 9.8, « Comparaison des commandes de gestion de l'alimentation avec systemctl » sont toujours disponibles sur le système pour des raisons de compatibilité, mais il est conseillé d'utiliser systemctl lorsque possible.

Tableau 9.8. Comparaison des commandes de gestion de l'alimentation avec systemctl

Ancienne commandeNouvelle commandeDescription
haltsystemctl haltArrête le système.
poweroffsystemctl poweroffMet le système hors-tension.
rebootsystemctl rebootRedémarre le système.
pm-suspendsystemctl suspendSuspend le système.
pm-hibernatesystemctl hibernateMet le système en hibernation.
pm-suspend-hybridsystemctl hybrid-sleepMet en hibernation et suspend le système.

9.4.1. Arrêter le système

L’utilitaire systemctl fournit des commandes de fermeture du système, mais la commande traditionnelle shutdown est également prise en charge. Bien que la commande shutdown fasse appel à l’utilitaire systemctl pour la fermeture, elle présente l'avantage d'intégrer un argument de temps. C'est particulièrement utile pour la maintenance et pour laisser plus de temps aux utilisateurs pour réagir à une notification de fermeture du système. La possibilité de pouvoir annuler le fermeture peut également être un plus.

Utilisation de la commande systemctl

Pour arrêter le système et mettre la machine hors-tension, veuillez saisir ce qui suit dans une invite de shell en tant qu'utilisateur root :
systemctl poweroff
Pour arrêter et interrompre le système sans mettre la machine hors-tension, veuillez exécuter la commande suivante en tant qu'utilisateur root :
systemctl halt
Par défaut, l'exécution de l'une de ces commandes amène Systemd à envoyer un message informatif à tous les utilisateurs actuellement connectés au système. Pour empêcher Systemd d'envoyer ce message, veuillez exécuter cette commande avec l'option de ligne de commande --no-wall. Exemple :
systemctl --no-wall poweroff

Utilisation de la commande Shutdown

Pour arrêter le système et mettre la machine hors-tension à une heure précise, veuillez saisir ce qui suit dans une invite de shell en tant qu'utilisateur root :
shutdown --poweroff hh:mm
avec hh:mm comme l'heure au format militaire (24h). Le fichier /run/nologin est créé 5 minutes avant la fermeture du système pour éviter les nouvelles connexions. Quand un argument de temps est utilisé, un message en option, le wall message, pourra être ajouté à la commande.
Pour arrêter et interrompre le système au bout d'un moment sans mettre la machine hors-tension, veuillez exécuter la commande sous le format suivant en tant qu'utilisateur root :
shutdown --halt +m
avec +m comme durée en minutes. Le mot clé now est un alias de +0.
Une fermeture à venir pourra être annulée par l'utilisateur root comme suit :
shutdown -c
Voir la page man de shutdown(8) pour obtenir des options de commandes supplémentaires.

9.4.2. Redémarrer le système

Pour redémarrer le système, exécutez la commande suivante en tant qu'utilisateur root :
systemctl reboot
Par défaut, cette commande amène Systemd à envoyer un message informatif à tous les utilisateurs actuellement connectés au système. Pour empêcher Systemd d'envoyer ce message, veuillez exécuter cette commande avec l'option de ligne de commande --no-wall :
systemctl --no-wall reboot

9.4.3. Suspendre le système

Pour suspendre le système, veuillez saisir ce qui suit dans une invite de shell en tant qu'utilisateur root :
systemctl suspend
Cette commande enregistre l'état du système dans la RAM et, à l'exception du module RAM, met hors-tension la plupart des périphériques dans la machine. Lorsque vous rallumez la machine, le système restaure son état à partir la RAM sans avoir à redémarrer. Comme l'état du système est enregistré dans la RAM et non sur le disque dur, restaurer le système à partir du mode de suspension est bien plus rapide que de le restaurer suite à une hibernation. En revanche, un état de système en suspension est également vulnérable aux pannes d'électricité.
Pour obtenir des informations sur la manière de mettre le système en hibernation, veuillez consulter la Section 9.4.4, « Hiberner le système ».

9.4.4. Hiberner le système

Pour hiberner le système, veuillez saisir ce qui suit dans une invite de shell en tant qu'utilisateur root :
systemctl hibernate
Cette commande enregistre l'état du système sur le disque dur et met la machine hors-tension. Lorsque vous rallumez la machine, le système restaure son état à partir des données enregistrées sans avoir à démarrer à nouveau. Comme l'état du système est enregistré sur le disque dur et non sur la RAM, la machine n'a pas besoin de maintenir une alimentation électrique sur le module RAM. En revanche, restaurer le système suite à une hibernation est bien plus lent que de le restaurer suite au mode de suspension.
Pour hiberner et suspendre le système, exécutez la commande suivante en tant qu'utilisateur root :
systemctl hybrid-sleep
Pour obtenir des informations sur la manière de suspendre le système, veuillez consulter la Section 9.4.3, « Suspendre le système ».