發現機器時間跟標準時間差了 40 秒左右,結果有些服務因為會看雙方時間,就不讓我跑... XDDD
找問題找了半天,發現開機後 ntpdate 會回報找不到伺服器,看起來是網路根本就還沒通就跑起來了:
Jan 25 13:10:30 home ntpdate[757]: name server cannot be used: Temporary failure in name resolution (-3) Jan 25 13:10:30 home ntpdate[1171]: name server cannot be used: Temporary failure in name resolution (-3) Jan 25 13:10:30 home ntpdate[1347]: name server cannot be used: Temporary failure in name resolution (-3) Jan 25 13:10:30 home ntpdate[1410]: name server cannot be used: Temporary failure in name resolution (-3)
而理論上 與 openntpd 加上 -s
也會做類似的事情,所以這邊就在 /etc/default/openntpd
先加上 -s
,讓他開機時強制對時一次,看看能不能解... 結果也是一樣在網路還沒通的時候就跑起來而失敗了:
Jan 25 13:10:45 home ntpd[1457]: no reply received in time, skipping initial time setting
由於這台機器是 HiNet 的 PPPoE,看起來有可能是某些條件沒寫好,造成執行順序不對... 所以就找個 workaround 來解決 @_@
後來找的方法是直接到 /etc/ppp/ip-up.d/
下放一個 script 實作 workaround,直接在 PPPoE 連上後重跑 openntpd,然後用 hwclock 寫回主機裡,下次開機的時間就會比較準一些了:
#!/bin/sh -e /usr/sbin/service openntpd restart /sbin/hwclock -w
不過實際上還是要找看看要怎麼把 PPPoE 掛到 networking 那層行為裡面...