ubuntu 14.04(13.04から)から"sudo reboot now"を打つとシングルユーザーモードに落ちるので"sudo reboot"と打つこと

2014-08-09(Sat) Server

結論

sudo reboot now

を使わずに

sudo reboot

を使いましょう。

rebootの時間指定をしたい場合は、shutdown -r [time] とする

経緯

研究室のVMware ESXi上でubuntu 14.04をうごかしていたときに、ssh経由でreboot nowとうつと再起動してくれません。具体的にはシングルユーザーモードへ落ちてしまいます。(rootのコンソールも出てきてしまいます)

vsphere clientでコンソールの状況を見るとrootのターミナルが現れてまして、直前のログを見ると"Killing all remaining processes..."といったワードが残ります。

調べてみると以下のsuperuser.comのスレッドに当たる

linux - Ubuntu shutdown fail "* Killing all remaining processes..." - Super User

原因はよく分かりませんが、解決策は shutodown -r now しろとのこと。

reboot nowはそもそも問題ある?と調べてると、Ubuntuのmanpageでちょっと変化があったことが

12.04のreboot manpage

SYNOPSIS
       reboot [OPTION]...

       halt [OPTION]...

       poweroff [OPTION]...

14.04のreboot manpage では、REBOOTCOMMANDというオプションが入って変わってるらしい!

 SYNOPSIS
       reboot [OPTION]...  [REBOOTCOMMAND]

       halt [OPTION]...

       poweroff [OPTION]...

13.04のreboot manpage から変わってます。どうやらこの時から変わったらしい。

意味がよくわかってませんが、nowをつけるとREBOOTCOMMANDに入ってしまうらしいです。で、良くないことを起こす。

(REBOOTCOMMANDはrebootのもともとのC言語関数の引数に渡す部分になるらしいです。-> Man page of REBOOT
間違ってたらすみません。。。)

13.04 sudo reboot now is not working instead ends up in run level 1 - Ask Ubuntu

上記のmanpageにあるように、もともと(ubuntuなら13.04まで)reboot nowのnowは無視されたらしいです。 今はREBOOTCOMMANDに入ってしまう。ので無用な問題を起こす?らしいです。

なぜシングルユーザーモードになるかは謎のままです。多分rebootコマンドでエラー起こしてシャットダウン途中に止まってしまうからだと思いますが。だれか教えて><