tail head cat sleep
QR code linking to this page

manページ  — ZIC

名称

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
( Fx ではローカルタイムゾーンは /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 Ta NAME Ta FROM Ta TO Ta TYPE Ta IN Ta ON Ta Ta AT Ta SAVE      LETTER/S

と言う形式です。例えば、

    Rule Ta US Ta 1967 Ta 1973 Ta - Ta Apr Ta lastSun Ta 2:00 Ta 1:00      D

となります。ルール行を構成するフィールドは以下の通りです:
NAME このルールが属するルールの(任意の)名前を指定します。
FROM ルールが適用される最初の年を指定します。 如何なる整数の年も指定できます。グレゴリオ暦を仮定しています。 単語 minimum (あるいはその短縮形)は、整数で表せる最小の年を示します。 単語 maximum (あるいはその短縮形)は、整数で表せる最大の年を示します。 ルールには、時刻の値として表す事ができない時刻を書くこともできますが、 表す事ができない時刻は無視されます。 これにより、時刻の値のタイプが異なるホスト間でルールを共用する事ができます。
TO ルールが適用される最後の年を指定します。 minimum や maximum (上記)に加え、 単語 only (あるいはその短縮形) を、 FROM フィールドの値を指すものとして使用することができます。
TYPE ルールが適用される年のタイプを指定します。 TYPE が - だった場合、ルールは、 FROM から TO までのその年を含む全ての年に適用されます。 TYPE がそれ以外だった場合、 zic は、コマンド yearistype year type を実行して、年のタイプをチェックします。実行したコマンドの 終了ステータスが 0 だった場合は、その年が指定されたタイプであり、 終了ステータスが 1 だった場合は、その年が指定されたタイプではないと 判断します。
IN ルールが適用される月の名前を指定します。 月名は短縮形でも構いません。
ON ルールが適用される日を指定します。 指定できる形式は以下の通りです:

amp;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 Ta NAME Ta GMTOFF Ta RULES/SAVE Ta FORMAT      [UNTIL]

と言う形式です。例えば、

    Zone Ta Australia/Adelaide Ta 9:30 Ta Aus Ta 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 Ta LINK-FROM      LINK-TO

と言う形式です。例えば、

    Link Ta Europe/Istanbul      Asia/Istanbul

となります。 LINK-FROM フィールドは、存在するゾーン行の NAME フィールドのいずれかと一致していなければなりません。 LINK-TO フィールドはそのゾーンに対する別名として使用されます。

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

うるう秒の定義ファイルの各行は以下のような形式になります:

    Leap Ta YEAR Ta MONTH Ta DAY Ta HH:MM:SS Ta CORR      R/S

例えば、

    Leap Ta 1974 Ta Dec Ta 31 Ta 23:59:60 Ta +      S

となります。 YEAR, MONTH, DAY, HH:MM:SS フィールドは、うるう秒が起きる時刻を指定します。 CORR フィールドは、 秒が加えられる場合は "+" で、秒がスキップされる場合は "-" となります。 R/S フィールドは 他のフィールドで与えられるうるう秒の時刻が UTC である場合は、 "Stationary" (またはその短縮形)で、 他のフィールドで与えられるうるう秒の時刻がローカルのウォールクロックである 場合は、 "Rolling" (またはその短縮形)となります。

注

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

関連ファイル

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

関連項目

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

ZIC (8) June 20, 2004

tail head cat sleep
QR code linking to this page


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