tail head cat sleep
QR code linking to this page

manページ  — ADJKERNTZ

名称

adjkerntz – ローカル時間 CMOS クロックをタイムゾーンの変更を反映するように調整し、現在のタイムゾーンオフセットをカーネル用に保持する

内容

書式


adjkerntz -i
adjkerntz -a [-s]

解説

adjkerntz ユーティリティは、UTC がいつも設定されているカーネルクロックと、 ローカル時間が設定されているかもしれない CMOS クロックとの間の適切な関係を扱います。 adjkerntz ユーティリティは、 また MS-DOS ファイルシステムのようなローカル時間ファイルシステム のための適切なタイムスタンプを扱うために、カーネルに機械のタイムゾーン のシフトを教えます。この主要な目的は、最初から壊れている MS-DOS ファイルタイムスタンプの考え方を全面的に直すためではなく、 同じタイムスタンプを同じ機械上の FreeBSD の MS-DOS ファイルシステムと MS-DOS オペレーティングシステムで保つためのものです。 ファイル /etc/wall_cmos_clock がある場合、 CMOS クロックは (MS-DOS や MS-Windows 互換モードの) ローカル時間を保持していることを意味します。 このファイルが無い場合、 CMOS クロックは UTC 時間を 保持していることになります。 adjkerntz ユーティリティは、この状態をカーネル変数の machdep.wall_cmos_clock に通知します。

時間調整はシステムの立ち上げとシャットダウン時、そしてタイムゾーンの 変更が起きた時はいつでも必要になります。 これらのことなった状況を扱うために、 adjkerntz は二つの方法で立ち上げられます。
-i
  この形式は、システムの立ち上げとシャットダウンを取り扱います。 マルチユーザモードの先頭で、 adjkerntz ユーティリティは /etc/rc からこのオプションをつけて呼び出されます。 これは他のデーモンが実行される前に行われます。 adjkerntz ユーティリティは自分自身をバックグラウンドで実行します。 その後、ローカル時間 CMOS クロックのために、 adjkerntz は、ローカル時間をそこから読み込み、カーネル時間を正しい UTC 時間に 設定します。 adjkerntz ユーティリティは、これ以降での 'adjkerntz -a' 呼び出しでの利用のためや、ローカルファイルシステムでの利用のために、 ローカルタイムゾーンオフセットを machdep.adjkerntz カーネル変数に設定します。

ローカル時間 CMOS クロックのために、 'adjkerntz -i' は、一時停止し、バックグラウンドのデーモンとして活動を停止します。 このデーモンは、 SIGTERM シグナルを受け取るまでそのままです。 SIGTERM はふつう、システムがマルチユーザモードを終了する時に init(8) によって送られます (普通、システムがシャットダウンされる時です)。 SIGTERM を受け取った後で adjkerntz は、 UTC カーネル時間クロックを読み込み、必要であれば現在の ローカルタイムゾーンを反映するように CMOS クロックを更新します。 その後、 adjkerntz は終了します。

-a [-s]
  この形式は、タイムゾーンの変更が起こった時に、ローカル時間 CMOS クロックとカーネル machdep.adjkerntz 変数を更新するために使われます。例えば、夏時間に入ったり、 終了したりした時に使われます。 adjkerntz ユーティリティは、 カーネルクロックの UTC 時間・以前に保存したタイムゾーンオフセット・ 新しいタイムゾーンを計算するためのタイムゾーン変更規則を使います。 これは、新しいオフセットを machdep.adjkerntz カーネル変数に保存し、 CMOS クロックを新しいローカル時間に更新します。 'adjkerntz -a' が、(タイムゾーン変更中に) 存在しない時間で実行された場合、 -s オプションが使われていない場合は警告診断を出し、終了します。 -s オプションが使われている場合は、 30 秒間スリープしてもう一度試します。

この形式は、大多数の現代のタイムゾーンの変更が起こる、 真夜中から 5:00 までの間に 30 分毎に、root の crontab(5) から呼び出されるべきです。 警告: -s オプションを crontab(5) のコマンドライン中で使ってはいけません。使ってしまうと、複数の 'adjkerntz -a' がお互いに衝突してしまうでしょう。

adjkerntz ユーティリティは、カーネルタイムゾーン構造を消去し、カーネルクロックを UTC タイムゾーンで走らせます。 スーパユーザの権限が、全ての操作のために必要とされます。

環境変数

TZ タイムゾーンの変更規則。 tzset(3) を見てください。 tzsetup(8) もしくは zic(8) を使っている場合は、必要ありません。

関連ファイル

/etc/localtime 現在のゾーン情報ファイルです。 tzsetup(8)zic(8) を見てください。
/etc/wall_cmos_clock
  空のファイルです。 これは、機械の CMOS クロックがローカル時間に設定されていることを 示しています。反対にこれが存在しないと、 UTC の CMOS クロックに 設定されています。

関連項目

tzset(3), crontab(5), mount_msdosfs(8), rc(8), sysctl(8), tzsetup(8), zic(8)

診断

診断はありません。 エラーが起こった場合は、 adjkerntz はエラーメッセージを syslog(3) を使って記録し、0 でない値を返して終了します。

作者

Andrey A. Chernov <ache@astral.msk.su>

歴史

adjkerntz ユーティリティは、 FreeBSD 1.0 から導入されました。

ADJKERNTZ (8) April 4, 1996

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

How do you pronounce UNIX ? You Nix !