382 lines
		
	
	
	
		
			9.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			382 lines
		
	
	
	
		
			9.7 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .\" %FreeBSD: src/usr.sbin/zic/zic.8,v 1.17 2004/07/02 23:13:00 ru Exp %
 | |
| .\"
 | |
| .\" $FreeBSD$
 | |
| .Dd June 20, 2004
 | |
| .Dt ZIC 8
 | |
| .Os
 | |
| .Sh 名称
 | |
| .Nm zic
 | |
| .Nd タイムゾーンコンパイラ
 | |
| .Sh 書式
 | |
| .Nm
 | |
| .Op Fl -version
 | |
| .Op Fl Dsv
 | |
| .Op Fl d Ar directory
 | |
| .Op Fl g Ar group
 | |
| .Op Fl L Ar leapsecondfilename
 | |
| .Op Fl l Ar localtime
 | |
| .Op Fl m Ar mode
 | |
| .Op Fl p Ar posixrules
 | |
| .Op Fl u Ar user
 | |
| .Op Fl y Ar command
 | |
| .Op Ar filename ...
 | |
| .Sh 解説
 | |
| .Nm
 | |
| ユーティリティはコマンド行で指定されたファイルを読み取り、その内容に従って
 | |
| 時刻変換情報のファイルを作成します。
 | |
| .Ar filename
 | |
| が
 | |
| .Em -
 | |
| だった場合、標準入力から読み込みます。
 | |
| .Pp
 | |
| 以下のオプションがあります:
 | |
| .Bl -tag -width indent
 | |
| .It Fl -version
 | |
| バージョン情報を出力して終了します。
 | |
| .It Fl D
 | |
| 自動的にはディレクトリを作成しません。
 | |
| 入力ファイルが出力先のファイルとして、
 | |
| まだ存在していないディレクトリを指定していた場合には、デフォルトの動作では
 | |
| ディレクトリの作成を試みます。
 | |
| .Fl D
 | |
| が指定された場合には、
 | |
| .Nm
 | |
| はそうせずに即座にエラーとします。
 | |
| .It Fl d Ar directory
 | |
| 下記の標準ディレクトリではなく、指定されたディレクトリに時刻変換情報
 | |
| ファイルを作成します。
 | |
| .It Fl g Ar group
 | |
| それぞれの出力ファイルを作成した後に、ファイルのグループオーナを指定された
 | |
| .Ar group
 | |
| (名前でも数字のグループ ID でも構いません)
 | |
| に変更します。
 | |
| .It Fl L Ar leapsecondfilename
 | |
| 指定された名前のファイルからうるう秒の情報を読み込みます。
 | |
| このオプションが指定されなかった場合、
 | |
| 出力ファイルにはうるう秒の情報は記録されません。
 | |
| .It Fl l  Ar timezone
 | |
| 指定された
 | |
| .Ar タイムゾーン
 | |
| をローカルの時刻に使用します。
 | |
| .Nm
 | |
| ユーティリティは、以下のリンク行が入力ファイルにあった場合と同様に働きます。
 | |
| .Bd -literal -offset indent
 | |
| .No "Link	timezone		localtime
 | |
| .Ed
 | |
| .Pf ( Fx
 | |
| ではローカルタイムゾーンは
 | |
| .Pa /usr/share/zoneinfo/localtime
 | |
| でなく
 | |
| .Pa /etc/localtime
 | |
| で指定されるので、
 | |
| このアクションは何の効果も持たないことに注意してください)。
 | |
| .It Fl m Ar mode
 | |
| それぞれの出力ファイルを作成した後、ファイルのアクセス権を
 | |
| .Ar mode
 | |
| に変更します。
 | |
| モードは数字とアルファベットのどちらでも構いません
 | |
| .Pf ( Xr chmod 1
 | |
| 参照)。
 | |
| .It Fl p Ar timezone
 | |
| POSIX 形式のタイムゾーンの環境変数を扱う場合に、指定されたタイムゾーンの
 | |
| ルールを使用します。
 | |
| .Nm
 | |
| ユーティリティは、以下のリンク行が入力ファイルにあった場合と同様に働きます。
 | |
| .Bd -literal -offset indent
 | |
| .No Link	timezone		posixrules
 | |
| .Ed
 | |
| .It Fl u Ar user
 | |
| それぞれの出力ファイルを作成した後に、ファイルのオーナを指定された
 | |
| .Ar user
 | |
| (名前でも数字のユーザ ID でも構いません)
 | |
| に変更します。
 | |
| .It Fl v
 | |
| データファイル中の年が
 | |
| .Xr time 3
 | |
| で表現できる年の範囲を超えていた場合、警告します。
 | |
| .It Fl s
 | |
| 出力ファイルに記録される時刻の値を、それが符号付きと扱われるか符号なしと
 | |
| 扱われるかに関係なく同じ値になるように制限します。
 | |
| このオプションを使用することで SVVS と互換のファイルを生成できます。
 | |
| .It Fl y Ar command
 | |
| 年のタイプをチェックする際に、
 | |
| .Em yearistype
 | |
| の代わりに指定された
 | |
| .Ar command
 | |
| を用います(下記参照)。
 | |
| .El
 | |
| .Pp
 | |
| 入力の各行はフィールドから構成されます。
 | |
| 各フィールドは任意の数の空白文字により分離されます。先行する空白や、
 | |
| 行末の空白は無視されます。引用符で囲まれていない井桁文字 (#) から
 | |
| その行の末尾まではコメントとして扱われます。
 | |
| 空白文字や井桁文字をフィールドの一部として使用する場合は、二重引用符
 | |
| (") で囲みます。
 | |
| (コメントを取り除いた後の)空白行は無視されます。
 | |
| 空白ではない行は、ルール行、ゾーン行、リンク行の 3 種類のいずれか
 | |
| であるとみなされます。
 | |
| .Pp
 | |
| ルール行は、
 | |
| .Dl "Rule	NAME	FROM	TO	TYPE	IN	ON		AT	SAVE	LETTER/S"
 | |
| と言う形式です。例えば、
 | |
| .Dl "Rule	US	1967	1973	\-	Apr	lastSun	2:00	1:00	D"
 | |
| .Pp
 | |
| となります。ルール行を構成するフィールドは以下の通りです:
 | |
| .Bl -tag -width "LETTER/S" -offset indent
 | |
| .It NAME
 | |
| このルールが属するルールの(任意の)名前を指定します。
 | |
| .It FROM
 | |
| ルールが適用される最初の年を指定します。
 | |
| 如何なる整数の年も指定できます。グレゴリオ暦を仮定しています。
 | |
| 単語
 | |
| .Em minimum
 | |
| (あるいはその短縮形)は、整数で表せる最小の年を示します。
 | |
| 単語
 | |
| .Em maximum
 | |
| (あるいはその短縮形)は、整数で表せる最大の年を示します。
 | |
| ルールには、時刻の値として表す事ができない時刻を書くこともできますが、
 | |
| 表す事ができない時刻は無視されます。
 | |
| これにより、時刻の値のタイプが異なるホスト間でルールを共用する事ができます。
 | |
| .It TO
 | |
| ルールが適用される最後の年を指定します。
 | |
| .Em minimum
 | |
| や
 | |
| .Em maximum
 | |
| (上記)に加え、
 | |
| 単語
 | |
| .Em only
 | |
| (あるいはその短縮形)
 | |
| を、
 | |
| .Em FROM
 | |
| フィールドの値を指すものとして使用することができます。
 | |
| .It TYPE
 | |
| ルールが適用される年のタイプを指定します。
 | |
| .Em TYPE
 | |
| が
 | |
| .Em \-
 | |
| だった場合、ルールは、
 | |
| .Em FROM
 | |
| から
 | |
| .Em TO
 | |
| までのその年を含む全ての年に適用されます。
 | |
| .Em TYPE
 | |
| がそれ以外だった場合、
 | |
| .Nm
 | |
| は、コマンド
 | |
| .Li yearistype Ar year Ar type
 | |
| を実行して、年のタイプをチェックします。実行したコマンドの
 | |
| 終了ステータスが 0 だった場合は、その年が指定されたタイプであり、
 | |
| 終了ステータスが 1 だった場合は、その年が指定されたタイプではないと
 | |
| 判断します。
 | |
| .It IN
 | |
| ルールが適用される月の名前を指定します。
 | |
| 月名は短縮形でも構いません。
 | |
| .It ON
 | |
| ルールが適用される日を指定します。
 | |
| 指定できる形式は以下の通りです:
 | |
| .Pp
 | |
| .Bl -tag -width lastSun -compact -offset indent
 | |
| .It \&5
 | |
| その月の 5 日
 | |
| .It lastSun
 | |
| その月の最後の日曜日
 | |
| .It lastMon
 | |
| その月の最後の月曜日
 | |
| .It Sun>=8
 | |
| 8 日以降の最初の日曜日
 | |
| .It Sun<=25
 | |
| 25 日以前の最後の日曜日
 | |
| .El
 | |
| .Pp
 | |
| 曜日は短縮形でも、フルスペルでも構いません。注意:
 | |
| .Em ON
 | |
| フィールド内にスペースを含んではいけません。
 | |
| .It AT
 | |
| ルールが適用される時刻を指定します。
 | |
| 指定できる形式は以下の通りです:
 | |
| .Pp
 | |
| .Bl -tag -width "\&1:28:14" -offset indent -compact
 | |
| .It 2
 | |
| 時
 | |
| .It 2:00
 | |
| 時と分
 | |
| .It 15:00
 | |
| 24 時間形式の時刻 (正午以降について)
 | |
| .It 1:28:14
 | |
| 時、分、秒
 | |
| .El
 | |
| .Pp
 | |
| ここで、0 時は一日の始まりの深夜を意味し、
 | |
| 24時は一日の終わりの深夜を意味します。
 | |
| これらの形式の最後に
 | |
| .Sq Li w
 | |
| をつけると、指定した時刻がローカルの
 | |
| .Dq "ウォールクロック"
 | |
| (夏時間の適用される地域で、ローカルの標準時に、
 | |
| 夏時間の期間であればその修正を加えた時刻)
 | |
| .\" 上記の()内の記述は、wall clock では、特に日本人には
 | |
| .\" 理解しづらいので追加した。
 | |
| .\" 2.2.2-RELEASE 対象
 | |
| .\" By yugawa@orleans.rim.or.jp (Jun 16 1997)
 | |
| であり、
 | |
| .Sq Li s
 | |
| をつけると、指定した時刻がローカルの
 | |
| .Dq 標準時
 | |
| であり、
 | |
| .Sq Li u
 | |
| (あるいは
 | |
| .Sq Li g
 | |
| ないし
 | |
| .Sq Li z )
 | |
| をつけると、指定した時刻が世界標準時であることを示します。
 | |
| これらの文字を指定していない場合は、ウォールクロックが適用されます。
 | |
| .It SAVE
 | |
| ルールが有効な場合にローカルの標準時に加えられる量を指定します。
 | |
| このフィールドの形式は
 | |
| .Em AT
 | |
| フィールドと同じです
 | |
| (この場合は、末尾に
 | |
| .Sq Li w
 | |
| と
 | |
| .Sq Li s
 | |
| を指定する事はできません)。
 | |
| .It LETTER/S
 | |
| ルールが有効な場合にタイムゾーンの短縮形に用いられる
 | |
| .Dq "変化部分"
 | |
| (例えば、
 | |
| .Dq EST
 | |
| や
 | |
| .Dq EDT
 | |
| の
 | |
| .Dq S
 | |
| や
 | |
| .Dq D
 | |
| )
 | |
| を指定します。
 | |
| このフィールドが
 | |
| .Em \-
 | |
| だった場合、変化部分はヌル (NULL) になります。
 | |
| .El
 | |
| .Pp
 | |
| ゾーン行は、
 | |
| .Dl "Zone	NAME	GMTOFF	RULES/SAVE	FORMAT	[UNTIL]"
 | |
| と言う形式です。例えば、
 | |
| .Dl "Zone	Australia/Adelaide	9:30	Aus	CST	1971 Oct 31 2:00"
 | |
| となります。ゾーン行を構成するフィールドは以下の通りです:
 | |
| .Bl -tag -width indent
 | |
| .It NAME
 | |
| タイムゾーンの名称です。
 | |
| そのゾーンに対する時刻変換情報ファイルを作成する時の名前になります。
 | |
| .It GMTOFF
 | |
| そのゾーンの標準時を得る時に UTC に加算される量です。
 | |
| このフィールドの形式は、ルール行の
 | |
| .Em AT
 | |
| および
 | |
| .Em SAVE
 | |
| フィールドと同じです。
 | |
| UTC から時刻を引く場合は、フィールドの最初にマイナスをつけます。
 | |
| .It RULES/SAVE
 | |
| そのタイムゾーンに適用されるルールの名前、あるいは、ローカルの標準時に
 | |
| 加算される量を指定します。
 | |
| このフィールドが
 | |
| .Em \-
 | |
| だった場合、そのタイムゾーンには常に標準時が適用されます。
 | |
| .It FORMAT
 | |
| そのタイムゾーンで使用されるタイムゾーンの短縮形の形式を指定します。
 | |
| 文字列
 | |
| .Em %s
 | |
| は、タイムゾーンの短縮形で用いられる
 | |
| .Dq "変化部分"
 | |
| を示します。
 | |
| 一方、
 | |
| スラッシュ (/)
 | |
| で標準時の短縮形と夏時間の短縮形を指定する事もできます。
 | |
| .It UNTIL
 | |
| その場所で UTC との差あるいはルールが変化する時刻を指定します。
 | |
| 年、月、日、時刻を用いて指定できます。
 | |
| このフィールドが指定された場合、その時刻になるまでは与えられた UTC との差
 | |
| およびルールからタイムゾーンの情報が生成されます。
 | |
| 月、日、時刻はルールの IN, ON, AT カラムと同じ形式です。
 | |
| 続くカラムは省略可能で、
 | |
| 足りないカラムは最も早い可能な値がデフォルトとなります。
 | |
| .Pp
 | |
| この次の行は
 | |
| .Dq 継続
 | |
| 行でなくてはなりません。この行は最初の
 | |
| .Dq Zone
 | |
| と NAME フィールドがない点を除いてはゾーン行と同一の形式で、その前の行の
 | |
| .Em UNTIL
 | |
| フィールドで指定した時刻以降の情報を指定します。
 | |
| この継続行にも
 | |
| .Em UNTIL
 | |
| フィールドを指定する事ができ、その場合は、次の行に
 | |
| その時刻以降の情報を指定します。
 | |
| .El
 | |
| .Pp
 | |
| リンク行は、
 | |
| .Dl "Link	LINK-FROM	LINK-TO"
 | |
| と言う形式です。例えば、
 | |
| .Dl "Link	Europe/Istanbul	Asia/Istanbul"
 | |
| となります。
 | |
| .Em LINK-FROM
 | |
| フィールドは、存在するゾーン行の
 | |
| .Em NAME
 | |
| フィールドのいずれかと一致していなければなりません。
 | |
| .Em LINK-TO
 | |
| フィールドはそのゾーンに対する別名として使用されます。
 | |
| .Pp
 | |
| 継続行以外は、入力中での行の順番に制限はありません。
 | |
| .Pp
 | |
| うるう秒の定義ファイルの各行は以下のような形式になります:
 | |
| .Dl "Leap	YEAR	MONTH	DAY	HH:MM:SS	CORR	R/S"
 | |
| 例えば、
 | |
| .Dl "Leap	1974	Dec	31	23:59:60	+	S"
 | |
| となります。
 | |
| .Em YEAR ,
 | |
| .Em MONTH ,
 | |
| .Em DAY ,
 | |
| .Em HH:MM:SS
 | |
| フィールドは、うるう秒が起きる時刻を指定します。
 | |
| .Em CORR
 | |
| フィールドは、
 | |
| 秒が加えられる場合は
 | |
| .Dq +
 | |
| で、秒がスキップされる場合は
 | |
| .Dq -
 | |
| となります。
 | |
| .\" There's no need to document the following, since it's impossible for more
 | |
| .\" than one leap second to be inserted or deleted at a time.
 | |
| .\" The C Standard is in error in suggesting the possibility.
 | |
| .\" See Terry J Quinn, The BIPM and the accurate measure of time,
 | |
| .\" Proc IEEE 79, 7 (July 1991), 894-905.
 | |
| .\"	or
 | |
| .\"	.q ++
 | |
| .\"	if two seconds were added
 | |
| .\"	or
 | |
| .\"	.q --
 | |
| .\"	if two seconds were skipped.
 | |
| .Em R/S
 | |
| フィールドは
 | |
| 他のフィールドで与えられるうるう秒の時刻が UTC である場合は、
 | |
| .Dq Stationary
 | |
| (またはその短縮形)で、
 | |
| 他のフィールドで与えられるうるう秒の時刻がローカルのウォールクロックである
 | |
| 場合は、
 | |
| .Dq Rolling
 | |
| (またはその短縮形)となります。
 | |
| .Sh 注
 | |
| ローカル時刻が複数のタイプとなる地域では、
 | |
| 作成されたファイルの最初の変化時刻を正しく設定するためには、
 | |
| 最初の変化時刻のルールの
 | |
| .Em AT
 | |
| フィールドでローカルの標準時を使用する必要があります。
 | |
| .Sh 関連ファイル
 | |
| .Bl -tag -width /usr/share/zoneinfo -compact
 | |
| .It /usr/share/zoneinfo
 | |
| 作成されたファイルが置かれる標準ディレクトリ
 | |
| .El
 | |
| .Sh 関連項目
 | |
| .Xr ctime 3 ,
 | |
| .Xr tzfile 5 ,
 | |
| .Xr zdump 8
 | |
| .\" @(#)zic.8	7.18
 |