2015年6月1日月曜日

## jessie - systemd - poweroff - acpid ##

Debian jessie では systemd の導入によって shutdown の動作は systemd の
コマンド systemctl が管理するようになった。

 $ ls -l /sbin | grep systemctl
 lrwxrwxrwx 1 root root  14  4月 17 00:53 halt -> /bin/systemctl
 lrwxrwxrwx 1 root root  14  4月 17 00:53 poweroff -> /bin/systemctl
 lrwxrwxrwx 1 root root  14  4月 17 00:53 reboot -> /bin/systemctl
 lrwxrwxrwx 1 root root  14  4月 17 00:53 runlevel -> /bin/systemctl
 lrwxrwxrwx 1 root root  14  4月 17 00:53 shutdown -> /bin/systemctl
 lrwxrwxrwx 1 root root  14  4月 17 00:53 telinit -> /bin/systemctl


うっかりマシンの電源ボタンに触れてしまい、
/sbin/poweroff が呼ばれて runlevel 0 に入って電源が切れた。

wheezy までの 'sudo shutdown -h now' では、BIOS でセットした キーボー
ドにより wake や ethernet インターフェイスによる wake (いわゆる
wakeonlan=wol) が有効な状態、つまりマザーボードへの電源が部分的に供給され
ている状態へ遷移していたのだが、jessie の poweroff ではマザーボードへ
の電源供給が完全に断たれた状態 hardoff へと遷移してしまう。

こうなると、ケースの電源ボタンを押しても起動しない。ケース裏の電源の
on/off スイッチを一度OFFにして再度ONにしてから電源ボタン押すという操作
が必要になってしまった。

なんでや..

キーボードでの wake や wol は便利で良く利用していて、jessie の
poweroff の状態はとても不便なので調べてみた。

マシンの電源管理は旧来、 BIOS の APM で制御していたのが、現在では ACPI
という OS から制御可能な仕組みになっている。(すでに BIOS 自体が EFI
(UEFI) と置き換えられている)

jessie の systemctl [halt, poweroff, reboot] では ACPI の制御はまだな
いようなので、acpid を動かすようにした。

もともと wheezy の前から acpid 入れてた 'はず' なんだけど..
dist-upgrade で消えたのかな? dist-upgrade 時のスクリプトを見てみたら
置き換える場面が記録されているが、先日 sudo apt-get install acpid して
るので.. たぶん、apt-get autoremove したかなんかの拍子に引きずられて消
えたの可能性が... why???


もうちょっと追いかけて正確に書くべきと思うのだが.. すんません..

ときになんか変なことが起こっていたら必要なパッケージが remove されてないかどうか確認してみるのがよい。

dpkg-query -l acpid
sudo apt-get install acpid

0 件のコメント:

コメントを投稿