aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.eucJP/man/man8/ntpdate.8
blob: 8df89e06513dcc6e1669db4159c521c0cfad4fab (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
''' $Header
''' 
.\" jpman %Id: ntpdate.8,v 1.3 1997/09/12 02:30:46 seki Stab %
.de Sh
.br
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp
.if t .sp .5v
.if n .sp
..
.de Ip
.br
.ie \\n.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
'''
'''     Set up \*(-- to give an unbreakable dash;
'''     string Tr holds user defined translation string.
'''     Greek uppercase omega is used as a dummy character.
'''
.tr \(*W-|\(bv\*(Tr
.ie n \{\
.ds -- \(*W-
.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
.ds L" ""
.ds R" ""
.ds L' '
.ds R' '
'br\}
.el\{\
.ds -- \(em\|
.tr \*(Tr
.ds L" ``
.ds R" ''
.ds L' `
.ds R' '
'br\}
.TH NTPDATE 8 LOCAL
.SH 名称
ntpdate - NTP を介して日付と時刻を設定する
.SH 書式
.B ntpdate
[
.B -bds
] [
.B -o
.I version
] [
.B -a
.I key#
] [
.B -e
.I authdelay
] [
.B -k
.I keyfile
] [
.B -p
.I samples
] [
.B -t
.I timeout
]
server ...
.SH 解説
.I ntpdate
は、正確な時刻を決めるために引数に与えられたホスト (複数可) の
ネットワークタイムプロトコル (Network Time Protocol)
サーバを調べることによって、
ローカルな日付と時刻を設定します。
これは、ローカルホストの root として起動されなければなりません。
指定された各サーバからたくさんのサンプルを得て、
標準の NTP 時計フィルタと選択アルゴリズムを適用し、
その中から最良のものを選択します。
通常
.I ntpdate
コマンドは、ブート時の時刻を設定するために起動時スクリプト
.I /etc/rc.local
の中に挿入したり、
.IR cron (8)
を介して時間毎に間欠的に走らせたりすることができます。
.I ntpdate
の信頼性と正確さは、
サーバ数が増えると劇的に改善することを覚えておいて下さい。
単一のサーバを使っても構いませんが、
あまり多くないにしても、
少なくとも三つないし四つのサーバを用意すると、
より良い性能と、
どれかのサーバの部分的な狂いに対するより大きな抵抗性が得られます。
.PP
.I ntpdate
は二つの方法のうちの一つで時刻の調整を行います。
.I ntpdate
は、時計が 0.5 秒以上ずれていると判断すると、
.IR settimeofday (2)
を呼ぶことで単に時刻を合わせ直します。
しかし、
誤差が 0.5 秒以内のときは、デフォルトでは、そのずれを指定して
.IR adjtime (2)
を呼ぶことで、時計の時刻を微調整します。
後者のテクニックは、ずれが小さいときには、より滑らかな上に正確であり、
.I ntpdate
を
.I cron (8)
で 1 〜 2 時間に一回走らせるときには、かなりうまく働きます。
後者の方法で行う調整は、実際には、計測されたずれよりも 50% 大きくなります。
これは、ひどくフラフラする時計をより正確に保持するのに役立つからです。
(安定性は少し犠牲になりますが、この取り引きは大抵は有効です。) 
しかしブート時には、大抵の場合、必ず合わせ直す方がいいでしょう。
コマンドラインに
.B -b
スイッチを指定することにより、すべての場合にこれを強制することができます。
.B -s
スイッチは、
.I ntpdate
の動作を標準出力ではなく、
.IR syslog (3)
ファシリティでログを取るようにします。
これはプログラムを
.IR cron (8)
から走らせる際に便利なオプションです。
.PP
.B -d
フラグは
.I ntpdate
が何を行うのかを、
実際に実行させずに知るために使われます。
一般のデバッグに便利な情報も出力されます。
デフォルトでは、
.I ntpdate
は、パケットを出力するときに NTPバージョン 3 の実装であると自称します。
古いソフトウェアのいくつかはバージョン 3 の問い合わせへの返答を拒否するため、
代わりに
.B -o
.I version
スイッチにより、
バージョン 2 または 1 の実装として調べるように強制できます。
.PP
.I ntpdate
が各サーバから得るサンプルの数は、
.B -p
スイッチを使って、 1 から 8 までを設定することができます。
デフォルトは 4 です。
応答待ちに使われる時間は
.B -t
スイッチで設定でき、 0.2 秒の倍数に丸められます。
デフォルトは 1 秒で、これは LAN を通じて調べるのに適当な値です。
.PP
必要なら
.I ntpdate
は、その処理を認証します。
.B -a
スイッチは、すべてのパケットは指定されたキー番号を使って
認証されなければならないという指定です。
.B -k
スイッチにより、デフォルトで
.I /etc/ntp.keys
となっている、キーを読み込むファイルの名前を変更できます。
このファイルは
.IR xntpd (8)
に記載されているフォーマットで記述されなければなりません。
.B -e
オプションは、認証処理による遅れを秒単位で指定できます。
(詳細は
.IR xntpd (8)
を参照して下さい。)
この値は、通常は
.I ntpdate
の用途では無視し得るほどわずかですが、
非常に遅い CPU ではこの数を指定することで、
時間の正確さが改善するかも知れません。
.PP
.I ntpdate
は、同一ホスト上に NTP サーバデーモン
(例えば
.IR xntpd (8)
)
が走っているときには、時刻の設定を拒否します。
デーモンを走らせる代わりに
.I ntpdate
を
.IR cron (8)
から定期的に走らせるときは、
1 時間か 2 時間に一回動かせば、
時計の合わせ直しを避けて十分正確に時刻を刻むことになるでしょう。
.SH 関連ファイル
.nf
/etc/ntp.keys\0\0 は、 \fIntpdate\fP で使われる暗号キーを含みます。
.fi
.SH 関連項目
xntpd(8)
.SH 歴史
Toronto 大学の Dennis Ferguson によって書かれました。
.SH バグ
時計の発振子の誤差を補正して精度を高めるために用いたテクニックは
あまり出来がよくありませんが、
もっとうまくやるためには、
このプログラムが前回実行した時の状態を保存しておくことが必要となるでしょう。