Windows Note PCにDual Boot環境を構築して,Linux側のシステムクロックをUTCではなくLocal Timeに設定しようとして,いろいろ調べた.
- 今時は
/etc/init.d/hwclock.sh
(/etc/default/rcS
)で設定するのではなくsystemdのtimedatectlを使うらしい - 今時はWindowsでもUTCがシステムクロックとして利用できるらしい
ということで,WindowsもUTCにするのが素直なので,そうすることに.
設定はhttps://wiki.archlinux.org/index.php/time#UTC_in_WindowsのとおりHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation
にRealTimeIsUniversal
としてDWORD 1
を追加するのみ.
ちなみに,Debian GNU/Linux sidでは/etc/init.d/hwclock.sh
が存在するが,sudo /etc/init.d/hwclock.sh start
等とすると途中でexit
されてしまう.ということで,systemdとsysv-rcの関係を理解する目的も含めて少し流れを追ってみた.以下のような感じ.
/etc/init.d/hwclock.sh
の. /lib/lsb/init-functions
の箇所でexit
しているらしい/lib/lsb/init-functions
の最後の箇所でrun-parts --lsbsysinit --list /lib/lsb/init-functions.d
でリストされるファイルをsource (.
)している.以下./lib/lsb/init-functions.d/20-left-info-blocks
/lib/lsb/init-functions.d/40-systemd
/lib/lsb/init-functions.d/40-systemd
でsystemctl -p LoadState --value show $service
がmasked
を返す場合,そこでexit
する($service
はこの場合hwclock.service
)- package
systemd
の/lib/systemd/system/hwclock.service
が/dev/null
への symlink になっていて,default で mask されているsystemctl mask|unmask <NAME>
でmask/unmaskするunitは,fileが/etc/systemd/system/
以下に置かれる