186 lines
5.8 KiB
Groff
186 lines
5.8 KiB
Groff
.\" Copyright (C) 1993-1998 by Andrey A. Chernov, Moscow, Russia.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" %Id: adjkerntz.8,v 1.16 1998/06/04 06:35:11 charnier Exp %
|
|
.\" jpman %Id: adjkerntz.8,v 1.4 1997/07/26 21:28:35 horikawa Stab %
|
|
.\"
|
|
.Dd April 4, 1996
|
|
.Dt ADJKERNTZ 8
|
|
.Os FreeBSD
|
|
.Sh 名称
|
|
.Nm adjkerntz
|
|
.Nd "ローカル時間 CMOS クロックをタイムゾーンの変更を反映するように調整し、現在のタイムゾーンオフセットをカーネル用に保持する"
|
|
.Sh 書式
|
|
.Nm adjkerntz
|
|
.Fl i
|
|
.Nm adjkerntz
|
|
.Fl a Op Fl s
|
|
.Sh 解説
|
|
.Nm
|
|
は、 UTC がいつも設定されているカーネルクロックと、
|
|
ローカル時間が設定されているかもしれない CMOS クロックとの間の適切な関係を扱います。
|
|
.Nm
|
|
は、また MS-DOS ファイルシステムのようなローカル時間ファイルシステム
|
|
のための適切なタイムスタンプを扱うために、カーネルに機械のタイムゾーン
|
|
のシフトを教えます。この主要な目的は、最初から壊れている MS-DOS
|
|
ファイルタイムスタンプの考え方を一般に固定するためではなく、
|
|
同じタイムスタンプを同じ機械上の
|
|
.Bx Free
|
|
の MS-DOS ファイルシステムと
|
|
MS-DOS オペレーティングシステムで保つためのものです。
|
|
ファイル
|
|
.Pa /etc/wall_cmos_clock
|
|
がある場合、 CMOS クロックは (MS-DOS や MS-Windows 互換モードの)
|
|
ローカル時間を保持していることを意味します。
|
|
このファイルが無い場合、 CMOS クロックは UTC 時間を
|
|
保持していることになります。
|
|
.Nm
|
|
は、この状態をカーネル変数の
|
|
.Pa machdep.wall_cmos_clock
|
|
に通知します。
|
|
.Pp
|
|
時間調整はシステムの立ち上げとシャットダウン時、そしてタイムゾーンの
|
|
変更が起きた時はいつでも必要になります。
|
|
これらのことなった状況を扱うために、
|
|
.Nm
|
|
は二つの方法で立ち上げられます。
|
|
.Bl -tag -width 4n
|
|
.It Cm Fl i
|
|
この形式は、システムの立ち上げとシャットダウンを取り扱います。
|
|
マルチユーザモードの先頭で、
|
|
.Nm
|
|
は
|
|
.Pa /etc/rc
|
|
からこのオプションをつけて呼び出されます。
|
|
これは他のデーモンが実行される前に行われます。
|
|
.Nm
|
|
は自分自身をバックグラウンドで実行します。
|
|
その後、ローカル時間 CMOS クロックのために、
|
|
.Nm
|
|
は、ローカル時間をそこから読み込み、カーネル時間を正しい UTC 時間に
|
|
設定します。
|
|
.Nm
|
|
は、これ以降での
|
|
.Em "'adjkerntz -a'"
|
|
呼び出しでの利用のためや、ローカルファイルシステムでの利用のために、
|
|
ローカルタイムゾーンオフセットを
|
|
.Pa machdep.adjkerntz
|
|
カーネル変数に設定します。
|
|
.Pp
|
|
ローカル時間 CMOS クロックのために、
|
|
.Nm "'adjkerntz -i'"
|
|
は、一時停止し、バックグランドのデーモンとして活動を停止します。
|
|
このデーモンは、 SIGTERM シグナルを受け取るまでそのままです。
|
|
SIGTERM はふつう、システムがマルチユーザモードを終了する時に
|
|
.Xr init 8
|
|
によって送られます (普通、システムがシャットダウンされる時です)。
|
|
SIGTERM を受け取った後で
|
|
.Nm
|
|
は、 UTC カーネル時間クロックを読み込み、必要であれば現在の
|
|
ローカルタイムゾーンを反映するように CMOS クロックを更新します。
|
|
その後、
|
|
.Nm
|
|
は終了します。
|
|
.It Cm Fl a Op Fl s
|
|
この形式は、タイムゾーンの変更が起こった時に、ローカル時間 CMOS
|
|
クロックとカーネル
|
|
.Pa machdep.adjkerntz
|
|
変数を更新するために使われます。例えば、夏時間に入ったり、
|
|
終了したりした時に使われます。
|
|
.Nm
|
|
は、カーネルクロックの UTC 時間・以前に保存したタイムゾーンオフセット・
|
|
新しいタイムゾーンを計算するためのタイムゾーン変更規則を使います。
|
|
これは、新しいオフセットを
|
|
.Pa machdep.adjkerntz
|
|
カーネル変数に保存し、 CMOS クロックを新しいローカル時間に更新します。
|
|
.Em "'adjkerntz -a'"
|
|
が、(タイムゾーン変更中に) 存在しない時間で実行された場合、
|
|
.Fl s
|
|
オプションが使われていない場合は警告診断を出し、終了します。
|
|
.Fl s
|
|
オプションが使われている場合は、 30 秒間スリープしてもう一度試します。
|
|
.Pp
|
|
この形式は、大多数の現代のタイムゾーンの変更が起こる、
|
|
真夜中から 5:00 までの間に 30 分毎に、root の
|
|
.Xr crontab 5
|
|
から呼び出されるべきです。
|
|
警告:
|
|
.Fl s
|
|
オプションを
|
|
.Xr crontab 5
|
|
のコマンドライン中で使ってはいけません。使ってしまうと、複数の
|
|
.Em "'adjkerntz -a'"
|
|
がお互いに衝突してしまうでしょう。
|
|
.El
|
|
.Pp
|
|
.Nm
|
|
は、カーネルタイムゾーン構造を消去し、カーネルクロックを
|
|
UTC タイムゾーンで走らせます。
|
|
スーパユーザの権限が、全ての操作のために必要とされます。
|
|
.Sh 環境変数
|
|
.Bl -tag -width Fl
|
|
.It Ev TZ
|
|
タイムゾーンの変更規則。
|
|
.Xr tzset 3
|
|
を見てください。
|
|
.Xr tzsetup 8
|
|
もしくは
|
|
.Xr zic 8
|
|
を使っている場合は、必要ありません。
|
|
.Sh 関連ファイル
|
|
.Bl -tag -width /etc/wall_cmos_clock -compact
|
|
.It Pa /etc/localtime
|
|
現在のゾーン情報ファイルです。
|
|
.Xr tzsetup 8
|
|
と
|
|
.Xr zic 8
|
|
を見てください。
|
|
.It Pa /etc/wall_cmos_clock
|
|
空のファイルです。
|
|
これは、機械の CMOS クロックがローカル時間に設定されていることを
|
|
示しています。反対にこれが存在しないと、 UTC の CMOS クロックに
|
|
設定されています。
|
|
.El
|
|
.Sh 関連項目
|
|
.Xr tzset 3 ,
|
|
.Xr crontab 5 ,
|
|
.Xr mount_msdos 8 ,
|
|
.Xr rc 8 ,
|
|
.Xr sysctl 8 ,
|
|
.Xr tzsetup 8 ,
|
|
.Xr zic 8
|
|
.Sh 診断
|
|
診断はありません。
|
|
エラーが起こった場合は、
|
|
.Nm
|
|
はエラーメッセージを
|
|
.Xr syslog 3
|
|
を使って記録し、ゼロでない値を返して終了します。
|
|
.Sh 作者
|
|
.An Andrey A. Chernov Aq ache@astral.msk.su
|
|
.Sh 歴史
|
|
.Nm
|
|
コマンドは、
|
|
.Fx 1.0
|
|
から導入されました。
|