スポンサーリンク

ZIC(8) FreeBSD システム管理者マニュアル ZIC(8)

名称

zic − タイムゾーンコンパイラ

書式

zic [−-version] [−Dsv] [−d directory] [−g group] [−L leapsecondfilename] [−l localtime] [−m mode] [−p posixrules] [−u user] [−y command] [filename ...]

解説

zic ユーティリティはコマンド行で指定されたファイルを読み取り、その内容に 従って時刻変換情報のファイルを作成します。 filename- だった場合、標準 入力から読み込みます。

以下のオプションがあります:

       −-version

バージョン情報を出力して終了します。

−D
自動的にはディレクトリを作成しません。入力ファイルが出力先のファ イルとして、まだ存在していないディレクトリを指定していた場合に は、デフォルトの動作ではディレクトリの作成を試みます。 −D が指定 された場合には、 zic はそうせずに即座にエラーとします。

−d directory
下記の標準ディレクトリではなく、指定されたディレクトリに時刻変換 情報ファイルを作成します。

−g group
それぞれの出力ファイルを作成した後に、ファイルのグループオーナを 指定された group (名前でも数字のグループ ID でも構いません) に変 更します。

−L leapsecondfilename
指定された名前のファイルからうるう秒の情報を読み込みます。このオ プションが指定されなかった場合、出力ファイルにはうるう秒の情報は 記録されません。

−l timezone
指定された タイムゾーンをローカルの時刻に使用します。 zic ユー ティリティは、以下のリンク行が入力ファイルにあった場合と同様に働 きます。

Link

timezone

localtime

(FreeBSD ではローカルタイムゾーンは /usr/share/zoneinfo/localtime でなく /etc/localtime で指定されるので、このアクションは何の効果 も持たないことに注意してください)。

       −m mode

それぞれの出力ファイルを作成した後、ファイルのアクセス権を mode に変更します。モードは数字とアルファベットのどちらでも構いません (chmod(1) 参照)。

−p timezone
POSIX 形式のタイムゾーンの環境変数を扱う場合に、指定されたタイム ゾーンのルールを使用します。 zic ユーティリティは、以下のリンク行 が入力ファイルにあった場合と同様に働きます。

Link timezone posixrules

       −u user

それぞれの出力ファイルを作成した後に、ファイルのオーナを指定され た user (名前でも数字のユーザ ID でも構いません) に変更します。

−v
データファイル中の年が time(3) で表現できる年の範囲を超えていた場 合、警告します。

−s
出力ファイルに記録される時刻の値を、それが符号付きと扱われるか符 号なしと扱われるかに関係なく同じ値になるように制限します。このオ プションを使用することで SVVS と互換のファイルを生成できます。

−y command
年のタイプをチェックする際に、 yearistype の代わりに指定された command を用います(下記参照)。

入力の各行はフィールドから構成されます。各フィールドは任意の数の空白文字 により分離されます。先行する空白や、行末の空白は無視されます。引用符で囲 まれていない井桁文字 (#) からその行の末尾まではコメントとして扱われます。 空白文字や井桁文字をフィールドの一部として使用する場合は、二重引用符 (") で囲みます。 (コメントを取り除いた後の)空白行は無視されます。空白ではない 行は、ルール行、ゾーン行、リンク行の 3 種類のいずれかであるとみなされま す。

ルール行は、 Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S と言う形式です。例えば、 Rule US 1967 1973 − Apr lastSun 2:00 1:00 D

となります。ルール行を構成するフィールドは以下の通りです:

NAME
このルールが属するルールの(任意の)名前を指定します。

FROM
ルールが適用される最初の年を指定します。如何なる整数の年 も指定できます。グレゴリオ暦を仮定しています。単語 minimum (あるいはその短縮形)は、整数で表せる最小の年を示 します。単語 maximum (あるいはその短縮形)は、整数で表せる 最大の年を示します。ルールには、時刻の値として表す事がで きない時刻を書くこともできますが、表す事ができない時刻は 無視されます。これにより、時刻の値のタイプが異なるホスト 間でルールを共用する事ができます。

TO
ルールが適用される最後の年を指定します。 minimummaximum (上記)に加え、単語 only (あるいはその短縮形) を、 FROM フィールドの値を指すものとして使用することができま す。

TYPE
ルールが適用される年のタイプを指定します。 TYPE だっ た場合、ルールは、 FROM から TO までのその年を含む全ての 年に適用されます。 TYPE がそれ以外だった場合、 zic は、コ マンド yearistype year type を実行して、年のタイプを チェックします。実行したコマンドの終了ステータスが 0 だっ た場合は、その年が指定されたタイプであり、終了ステータス が 1 だった場合は、その年が指定されたタイプではないと判断 します。

IN
ルールが適用される月の名前を指定します。月名は短縮形でも 構いません。

ON
ルールが適用される日を指定します。指定できる形式は以下の 通りです:

5
その月の 5 日
lastSun
その月の最後の日曜日
lastMon
その月の最後の月曜日
Sun>=8
8 日以降の最初の日曜日
Sun<=25
25 日以前の最後の日曜日

曜日は短縮形でも、フルスペルでも構いません。注意: ON フィールド内にスペースを含んではいけません。

AT
ルールが適用される時刻を指定します。指定できる形式は以下 の通りです:

2

2:00
時と分
15:00
24 時間形式の時刻 (正午以降について)
1:28:14
時、分、秒

ここで、0 時は一日の始まりの深夜を意味し、 24時は一日の終 わりの深夜を意味します。これらの形式の最後に ‘w’ をつける と、指定した時刻がローカルの ‘‘ウォールクロック’’ (夏時間 の適用される地域で、ローカルの標準時に、夏時間の期間であ ればその修正を加えた時刻) であり、 ‘s’ をつけると、指定し た時刻がローカルの ‘‘標準時’’ であり、 ‘u’ (あるいは ‘g’ ないし ‘z’) をつけると、指定した時刻が世界標準時であるこ とを示します。これらの文字を指定していない場合は、ウォー ルクロックが適用されます。

SAVE
ルールが有効な場合にローカルの標準時に加えられる量を指定 します。このフィールドの形式は AT フィールドと同じです ( この場合は、末尾に ‘w’ と ‘s’ を指定する事はできません)。

LETTER/S
ルールが有効な場合にタイムゾーンの短縮形に用いられる ‘‘変 化部分’’ (例えば、 ‘‘EST’’ や ‘‘EDT’’ の ‘‘S’’ や ‘‘D’’ ) を指定します。このフィールドが だった場合、変化部分はヌ ル (NULL) になります。

ゾーン行は、 Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] と言う形式です。例えば、 Zone Australia/Adelaide 9:30 Aus CST 1971 Oct 31 2:00 となります。ゾーン行を構成するフィールドは以下の通りです:

NAME
タイムゾーンの名称です。そのゾーンに対する時刻変換情報ファイルを 作成する時の名前になります。

GMTOFF
そのゾーンの標準時を得る時に UTC に加算される量です。このフィール ドの形式は、ルール行の AT および SAVE フィールドと同じです。 UTC から時刻を引く場合は、フィールドの最初にマイナスをつけます。

RULES/SAVE
そのタイムゾーンに適用されるルールの名前、あるいは、ローカルの標 準時に加算される量を指定します。このフィールドが だった場合、そ のタイムゾーンには常に標準時が適用されます。

FORMAT
そのタイムゾーンで使用されるタイムゾーンの短縮形の形式を指定しま す。文字列 %s は、タイムゾーンの短縮形で用いられる ‘‘変化部分’’ を示します。一方、スラッシュ (/) で標準時の短縮形と夏時間の短縮形 を指定する事もできます。

UNTIL
その場所で UTC との差あるいはルールが変化する時刻を指定します。 年、月、日、時刻を用いて指定できます。このフィールドが指定された 場合、その時刻になるまでは与えられた UTC との差およびルールからタ イムゾーンの情報が生成されます。月、日、時刻はルールの IN, ON, AT カラムと同じ形式です。続くカラムは省略可能で、足りないカラムは最 も早い可能な値がデフォルトとなります。

この次の行は ‘‘継続’’ 行でなくてはなりません。この行は最初の ‘‘Zone’’ と NAME フィールドがない点を除いてはゾーン行と同一の形式 で、その前の行の UNTIL フィールドで指定した時刻以降の情報を指定し ます。この継続行にも UNTIL フィールドを指定する事ができ、その場合 は、次の行にその時刻以降の情報を指定します。

リンク行は、 Link LINK-FROM LINK-TO と言う形式です。例えば、 Link Europe/Istanbul Asia/Istanbul となります。 LINK-FROM フィールドは、存在するゾーン行の NAME フィールドの いずれかと一致していなければなりません。 LINK-TO フィールドはそのゾーンに 対する別名として使用されます。

継続行以外は、入力中での行の順番に制限はありません。

うるう秒の定義ファイルの各行は以下のような形式になります: Leap YEAR MONTH DAY HH:MM:SS CORR R/S 例えば、 Leap 1974 Dec 31 23:59:60 + S となります。 YEAR, MONTH, DAY, HH:MM:SS フィールドは、うるう秒が起きる時 刻を指定します。 CORR フィールドは、秒が加えられる場合は ‘‘+’’ で、秒がス キップされる場合は ‘‘-’’ となります。 R/S フィールドは他のフィールドで与 えられるうるう秒の時刻が UTC である場合は、 ‘‘Stationary’’ (またはその短 縮形)で、他のフィールドで与えられるうるう秒の時刻がローカルのウォールク ロックである場合は、 ‘‘Rolling’’ (またはその短縮形)となります。

ローカル時刻が複数のタイプとなる地域では、作成されたファイルの最初の変化 時刻を正しく設定するためには、最初の変化時刻のルールの AT フィールドで ローカルの標準時を使用する必要があります。

関連ファイル

       /usr/share/zoneinfo

作成されたファイルが置かれる標準ディレクトリ

関連項目

ctime(3), tzfile(5), zdump(8)

FreeBSD 10.0 June 20, 2004 FreeBSD 10.0

スポンサーリンク