Ubuntu では標準で ntpdate がインストールされている。
両者の違いは以下のような感じと思っている。
・ntpdate
実行したときにワンショットで、すぐにサーバーの時刻と同期。
・ntp daemon
起動してもすぐには同期しない。
長期的にずれないようにうまく保ってくれるもの。どういうアルゴリズムなのかはよく知らない。
デフォルトでは、ネットワークがつながった時に
/etc/network/if-up.d/ntpdate から
/usr/sbin/ntpdate-debian
が自動実行されるようになっていると思っている(たぶん)。
ntpdate-debian は簡単なシェルスクリプトなので、中身見てみると、
/etc/default/ntpdate
を設定にして、ntpdate を実行しているようだ。
サーバー名はデフォルトで
NTPSERVERS="ntp.ubuntu.com"
を見るようだ。
会社などプロキシなどの問題がある場合、NTPSERVERSのところを会社指定のntpサーバに書きかえれば、同期してくれるようになった。
ntp daemon はデフォルトで入っていないので、
$ sudo apt-get install ntp
でインストールする必要がある。
/etc/ntp.conf が設定ファイルなので
server のところを必要に応じて書き換える。
ところで、ntpdate と ntp daemon が両方入っていたらどうなるんでしょう。。
ntp daemon がすでに起動しているときに、ntpdate を実行しようとすると
the NTP socket is in use, exiting
とエラーが出て、実行できない。
一方、
システムツール -> システム設定 -> 日付と時刻
で「ネットワーク時刻」をオフからオンに切り替えたときや、
新たにネットワークがつながったときは、
ntp daemon が NTP socket をつかむ前に ntpdate が実行されるように見えます。
よって、ntpdate が最初にガツンと合わせ、その後は ntp daemon がずれないように維持してくれるように見えました。
0 件のコメント:
コメントを投稿