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.

To err is human...to really foul up requires the root password.