Problème d’extinction de la machine

Je suis tombé sur un problème découvert lors du passage de mes serveurs sur proxmox. Le problème est simple, la commande

halt

n’éteint pas la machine. Problème gênant dans certains cas puisque, par exemple, sans extinction, pas de démarrage en WOL. Ce problème se caractérise principalement par les lignes de fin :

Will now halt
[<TEMPS_DEPUIS_L_ALLUMAGE>] System halted

qui ne mènent à rien du tout. Caractérisé de bug depuis Ubuntu 11.04, celui ci n’est pas destiné à être corrigé car il relève plus d’une différence de compréhension de la commande à utiliser que de bug. Voici les différences qui existent entre les différentes commandes d’extinction :

  • shutdown : disponible en 3 options
    • -h : Arrêt ou mise hors tension
    • -H : Arrêt
    • -p : Mise hors tension
  • halt : appelle shutdown -h
  • poweroff : appelle shutdown -p

Le problème que l’on rencontre est donc que halt n’en arrive jamais à la mise hors tension de l’alimentation et qu’elle se contente d’arrêter le système d’exploitation. Ainsi, la commande correcte pour faire ce que l’on attend est en réalité poweroff. Les commandes suivantes contournent elles aussi le problème :

halt -p
shutdown -h now

En conclusion, il vaut mieux prendre la bonne habitude d’utiliser poweroff ou shutdown -p lorsque l’on souhaite éteindre entièrement et pas seulement le système.

Juste pour information si les commandes ci dessus ne changent pas le problème, il est aussi possible que ce soit le daemon ACPI qui ne soit pas présent. Par exemple, le problème m’est arrivé avec une autre distribution sous proxmox lorsque j’appuyais sur le bouton Shutdown. Il suffit d’installer ce daemon à l’aide de la commande

apt-get install acpid

PS : Cet article sur le site d’astuces de la société Absolacom complète bien le sujet avec notamment une astuce pour obtenir le comportement attendu même avec des programmes qui utilisent la commande halt.