diff --git a/ja_JP.eucJP/man/man1/at.1 b/ja_JP.eucJP/man/man1/at.1 index 1827862ac6..784c61d74f 100644 --- a/ja_JP.eucJP/man/man1/at.1 +++ b/ja_JP.eucJP/man/man1/at.1 @@ -1,266 +1,268 @@ -.\" %FreeBSD: src/usr.bin/at/at.man,v 1.13.2.5 2001/08/16 13:16:41 ru Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/at.1,v 1.16 2001/07/29 05:14:49 horikawa Exp $ +.\" %FreeBSD: src/usr.bin/at/at.man,v 1.13.2.6 2001/11/20 14:21:07 murray Exp % +.\" $FreeBSD$ .Dd April 12, 1995 .Dt "AT" 1 .Os .Sh 名称 .Nm at , .Nm batch , .Nm atq , .Nm atrm .Nd あとでジョブを実行させるためのキューの設定、確認、ジョブの削除を行なう .Sh 書式 .Nm at .Op Fl V .Op Fl q Ar queue .Op Fl f Ar file .Op Fl mldbv .Ar time .Nm at .Op Fl V .Fl c Ar job Op Ar job ... .Pp .Nm atq .Op Fl V .Op Fl q Ar queue .Op Fl v .Pp .Nm atrm .Op Fl V .Ar job .Op Ar job ... .Pp .Nm batch .Op Fl V .Op Fl q Ar queue .Op Fl f Ar file .Op Fl mv .Op Ar time .Sh 解説 .Nm at と .Nm batch は、標準入力もしくは指定したファイルからコマンドを読み 込み、あとで .Xr sh 1 を使って実行します。 .Bl -tag -width indent .It Nm at コマンドを、引数で指定した時間に実行します。 .It Nm atq ユーザの、実行待ち状態のジョブのリストを表示します。 スーパユーザが実行した場合は全員のジョブが表示されます。 .It Nm atrm 指定したジョブを削除します。 .It Nm batch ロードアベレージが特定の値以下になったときにジョブを実行 します。この値は、デフォルトでは 1.5 です。 この値は .Nm atrun によって指定可能です。 .El .Pp .Nm at では、様々な形式の時間を .Ar time として受け付けます。 時刻は .Ar HHMM もしくは .Ar HH:MM の形で指定します (もしこの時刻が過ぎていた場合は、次の日のその時刻に設定されます)。また、 .Em midnight , .Em noon , .Em teatime (4pm) も受け付けますし、時刻の後ろに .Em AM もしくは .Em PM をつけた時間も受け付けます。日付は、 .Ar \%month-name day およびオプションの .Ar year の形で受け付けます。 .Ar MMDDYY や .Ar MM/DD/YY や .Ar DD.MM.YY も受け付けます。 日付の指定は時刻の指定の後に記述します。 .Op Em now .Em + Ar count \%time-units のような形式で時間を指定することも可能です。time-units は時間の単位で、 .Em minutes , .Em hours , .Em days , .Em weeks のいずれかです。時間のサフィックスの .Em today はジョブを今日に設定すること、 .Em tomorrow はジョブを明日に設定することを意味します。 .Pp 例えば、今から 3 日後の午後 4 時にジョブを走らせるためには .Nm at Ar 4PM + 3 days とします。7 月 31 日の午前 10 時の場合は .Nm at Ar 10am Jul 31 とします。明日の午前 1 時は .Nm at Ar 1am tomorrow です。 .Pp .Nm at と .Nm batch はどちらも、標準入力または .Fl f オプションで指定したファイルからコマンドを読み込み、実行します。 ワーキングディレクトリと環境変数 ( .Ev TERM , .Ev TERMCAP , .Ev DISPLAY および .Em _ は除く)、umask は実行時のものが保持されます。 .Nm at もしくは .Nm batch が .Xr su 1 で起動されたシェルから実行された場合は、カレントの userid を保持します。 出力結果が得られた場合は、 その標準出力と標準エラー出力がメールで送られます。メールは .Xr sendmail 8 を使って送られます。もし .Nm at が .Xr su 1 で起動されたシェルから実行された場合は、そのログインシェルの所有者が メールを受けることになります。 .Pp スーパユーザはどんな場合でもこれらのコマンドを実行できます。 その他のユーザは .Pa /var/at/at.allow と .Pa /var/at/at.deny -のファイルによって実行できるか決められます。 +のファイルによって +.Nm +を実行できるか決められます。 .Pp もし .Pa /var/at/at.allow が存在するならば、その中にユーザ名を記述されたユーザだけが .Nm at の実行を許可されます。 .Pp もし .Pa /var/at/at.allow が存在しなければ、 .Pa /var/at/at.deny がチェックされ、その中にユーザ名が記述されていないすべてのユーザが .Nm at の実行を許可されます。 .Pp もし両方ともなければ、スーパーユーザだけが .Nm at を実行できます。 これがデフォルトの設定です。 .Pp 空の .Pa /var/at/at.deny は全てのユーザがこれらのコマンドを使用できることを意味します。 .Sh オプション .Bl -tag -width indent .It Fl V 標準エラー出力にバージョン番号を出力します。 .It Fl q Ar queue 指定したキューを用います。キューの名称は単一の文字からなります。 有効なキューの名前は .Ar a から .Ar z と .Ar A から .Ar Z です。 .Nm at のデフォルトのキューは .Ar c で、 .Nm batch のデフォルトのキューは .Ar E です。 キューの文字が後の方であればあるほど nice 値が上がります。 もし大文字のキューがジョブに対して指定されたならば、時間を指定して batch が実行されたものとして扱われます。 もし .Nm atq でキューが指定されたときは、そのキューだけの実行待ちのジョブを表示します。 .It Fl m 出力がなかった場合でも、ジョブの完了時にメールをユーザに送ります。 .It Fl f Ar file 標準入力のかわりにファイルからジョブを読み込みます。 .It Fl l .Nm atq のエイリアス。 .It Fl d .Nm atrm のエイリアス。 .It Fl b .Nm batch のエイリアス。 .It Fl v .Nm atq の場合は、キューの中の実行されたがまだ削除されていないジョブを 表示します。さもなければジョブが実行される時間を表示します。 .It Fl c コマンドラインにリストされたジョブを標準出力に出力します。 .El .Sh 関連ファイル .Bl -tag -width /var/at/jobs/.lockfile -compact .It Pa /var/at/jobs ジョブファイルを保管しておくディレクトリ .It Pa /var/at/spool 出力ファイルを保管しておくディレクトリ .It Pa /var/run/utmp ログインレコード .It Pa /var/at/at.allow 許可属性の設定 .It Pa /var/at/at.deny 不許可属性の設定 .It Pa /var/at/jobs/.lockfile ジョブ作成のロックファイル .El .Sh 関連項目 .Xr nice 1 , .Xr sh 1 , .Xr umask 2 , .Xr atrun 8 , .Xr cron 8 , .Xr sendmail 8 .Sh バグ .Pa /var/run/utmp が利用できないか不正であった場合、もしくは .Nm at が実行された時にユーザがログインしていない場合、 環境変数 .Ev LOGNAME で表される userid にメールが送られます。 もし定義されていないか空ならばカレントの userid になります。 .Pp ユーザ同士でリソースの競合がある場合は現実装の .Nm at と .Nm batch は適当ではありません。 もしあなたのサイトがこのような場合にあてはまるのなら、 .Em nqs のような他のバッチシステムを検討してください。 .Sh 作者 at のほとんどの部分は .An Thomas Koenig Aq ig25@rz.uni-karlsruhe.de によって作成されました。 時間の構文解析部分は .An David Parsons Aq orc@pell.chi.il.us によって作成されました。 diff --git a/ja_JP.eucJP/man/man1/fold.1 b/ja_JP.eucJP/man/man1/fold.1 index 4b35a4c95b..a90e4f8946 100644 --- a/ja_JP.eucJP/man/man1/fold.1 +++ b/ja_JP.eucJP/man/man1/fold.1 @@ -1,69 +1,69 @@ .\" Copyright (c) 1980, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)fold.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/fold/fold.1,v 1.3.2.2 2001/07/02 00:36:07 dd Exp % +.\" %FreeBSD: src/usr.bin/fold/fold.1,v 1.3.2.3 2001/11/20 14:23:09 murray Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/fold.1,v 1.4 2001/05/14 01:07:23 horikawa Exp $ +.\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt FOLD 1 .Os .Sh 名称 .Nm fold .Nd 有限桁の出力デバイスのために長い行を折り返すフィルタ .Sh 書式 .Nm .Op Fl w Ar width .Op Ar .Sh 解説 .Nm は、file が指定されていればそのファイルを、 指定されていなければ標準入力を読み込み、 指定された長さを超えるような入力行に対しては改行を入れて複数の行に分割します。 デフォルトでは 80 文字になるようにします。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl w デフォルトの 80 文字のかわりに、一行の長さをを指定します。 タブがある場合は、 .Ar width として 8 の倍数を指定するか、さもなければ、 .Nm の前に .Xr expand 1 を使用して、タブを空白文字に置き換えてください。 .El .Sh 関連項目 .Xr expand 1 .Sh バグ アンダラインがある場合には、fold がうまくいかないことがあります。 diff --git a/ja_JP.eucJP/man/man1/from.1 b/ja_JP.eucJP/man/man1/from.1 index 66a2eca0d8..9bbaa78be2 100644 --- a/ja_JP.eucJP/man/man1/from.1 +++ b/ja_JP.eucJP/man/man1/from.1 @@ -1,101 +1,101 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)from.1 8.2 (Berkeley) 12/30/93 -.\" %FreeBSD: src/usr.bin/from/from.1,v 1.7.2.4 2001/08/16 13:16:48 ru Exp % +.\" %FreeBSD: src/usr.bin/from/from.1,v 1.7.2.5 2001/11/20 14:25:24 murray Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/from.1,v 1.7 2001/07/29 05:14:50 horikawa Exp $ +.\" $FreeBSD$ .\" .Dd December 30, 1993 .Dt FROM 1 .Os .Sh 名称 .Nm from .Nd スプールにあるメールが誰から送られたものかを表示する .Sh 書式 .Nm .Op Fl c .Op Fl s Ar sender .Op Fl f Ar file .Op Ar user .Sh 解説 .Nm -は、起動したユーザのポストオフィス(デフォルトは +ユーティリティは、起動したユーザのポストオフィス (デフォルトは .Pa /var/mail/* -)を読んで、メールのヘッダを表示します。 +) を読んで、メールのヘッダを表示します。 .Pp オプション: .Bl -tag -width Fl .It Fl c メッセージ数を表示するだけで、終了します。 .It Fl f Ar file -デフォルトのポストオフィス( +デフォルトのポストオフィス ( .Pa /var/mail/* -のファイル)のかわりに、 +のファイル) のかわりに、 指定された .Ar file を読んでメールのヘッダを表示します。このとき、 引数 .Ar user は無視されます。 ファイル名が .Ar - の場合、標準有力より読み込みます。 .It Fl s Ar sender -From アドレス(メールの送り手)に、 +From アドレス (メールの送り手) に、 .Ar sender で指定された文字列を含むメールに関するものだけ を表示します。 .El .Pp .Ar user が与えられると、指定された .Ar user -のポストオフィスをチェックします(権限が必要です)。 +のポストオフィスをチェックします (権限が必要です)。 .Sh 環境変数 .Bl -tag -width Fl .It Ev MAIL セットされている場合、コマンドを起動したユーザのメールボックスとなります。 指定されていない場合には /var/mail のデフォルトのものが使用されます。 .El .Sh 関連ファイル .Bl -tag -width /var/mail/* -compact .It Pa /var/mail/* メールのポストオフィス .El .Sh 関連項目 .Xr biff 1 , .Xr mail 1 .Sh 歴史 .Nm コマンドは .Bx 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/grep.1 b/ja_JP.eucJP/man/man1/grep.1 index 316d647f8b..e7728c44a0 100644 --- a/ja_JP.eucJP/man/man1/grep.1 +++ b/ja_JP.eucJP/man/man1/grep.1 @@ -1,663 +1,638 @@ .\" grep man page -.\" %FreeBSD: src/gnu/usr.bin/grep/grep.1,v 1.16.2.2 2001/09/19 07:28:43 ru Exp % +.\" %FreeBSD: src/gnu/usr.bin/grep/grep.1,v 1.16.2.3 2001/11/27 08:25:45 ru Exp % .\" $FreeBSD$ .if !\n(.g \{\ . if !\w|\*(lq| \{\ . ds lq `` . if \w'\(lq' .ds lq "\(lq . \} . if !\w|\*(rq| \{\ . ds rq '' . if \w'\(rq' .ds rq "\(rq . \} .\} .de Id .ds Dt \\$4 .. .Id %Id: grep.1,v 1.3 2000/06/09 21:58:50 horikawa Exp % .TH GREP 1 \*(Dt "GNU Project" .\" .\" WORD: word-constituent characters 単語構成文字 .SH 名称 grep, egrep, fgrep, zgrep \- パターンにマッチする行を表示する .SH 書式 .B grep .RI [ options ] .I PATTERN .RI [ FILE .\|.\|.] .br .B grep .RI [ options ] .RB [ \-e .I PATTERN | .B \-f .IR FILE ] .RI [ FILE .\|.\|.] .SH 解説 .PP .B grep は、 .IR FILE で名前を指定された入力ファイル (ファイルが指定されてないか、 .I file の部分に .B \- が指定された場合は標準入力) を読み込み、与えられた .IR PATTERN にマッチする部分を含む行を探します。 デフォルト動作では、 .B grep はマッチした行を表示します。 .PP さらに、2 つのプログラム .B egrep と .B fgrep を利用可能です。 .B egrep は .BR "grep\ \-E" と同じです。 .B fgrep は .BR "grep\ \-F" と同じです。 .B zgrep は .BR "grep\ \-Z" と同じです。 .SH オプション .TP .BI \-A " NUM" "\fR,\fP \-\^\-after-context=" NUM .I NUM で指定した行数だけ、パターンにマッチした行の後の行も表示します。 .TP .BR \-a ", " \-\^\-text バイナリファイルをテキストファイルであるかのように処理します。 これは .B \-\^\-binary-files=text オプションと等価です。 .TP .BI \-B " NUM" "\fR,\fP \-\^\-before-context=" NUM .I NUM で指定した行数だけ、パターンにマッチした行の前の行も表示します。 .TP \fB\-C\fP [\fINUM\fP], \fB\-\fP\fINUM\fP, \fB\-\^\-context\fP[\fB=\fP\fINUM\fP] .I NUM で指定した行数 (デフォルトは 2) だけ、パターンにマッチした行の前後の行も 表示します。 .TP .BR \-b ", " \-\^\-byte-offset 各出力行の前に、入力ファイルの先頭からのバイト単位のオフセットを表示します。 .TP .BI \-\^\-binary-files= TYPE ファイルの最初の数バイトが、 ファイルの内容がバイナリファイルであることを示す場合、 ファイルのタイプを .IR TYPE であると仮定します。 デフォルトでは .I TYPE は .BR binary であり、 .B grep は通常、バイナリファイルの一致を示す一行メッセージを表示するか、 マッチしない場合にはなにも表示しません。 .I TYPE が .BR without-match の場合、 .B grep はバイナリファイルはマッチしないものと仮定します。 これは .B \-I オプションと等価です。 .I TYPE が .BR text の場合、 .B grep はバイナリファイルをテキストであるかのように扱います。 これは .B \-a オプションと等価です。 .I 警告: .B "grep \-\^\-binary-files=text" はバイナリのゴミを表示する可能性があります。 出力先が端末である場合で、 端末ドライバがこのゴミの一部をコマンドであると解釈する場合、 このゴミが悪い副作用をおよぼす可能性があります。 .TP .BR \-c ", " \-\^\-count 通常の出力はせず、各入力ファイルについてマッチした行数を表示します。 .BR \-v ", " \-\^\-invert-match オプションと共に指定した場合は、 マッチしなかった行数を表示します (下記参照)。 .TP .BI \-d " ACTION" "\fR,\fP \-\^\-directories=" ACTION 入力ファイルがディレクトリの場合に、 .I ACTION を使ってその処理を行います。デフォルトでは .I ACTION は .BR read であり、ディレクトリを普通のファイルであるかの様に読み取る事を意味します。 .I ACTION が .BR skip なら、ディレクトリを黙って読み飛ばします。 .I ACTION が .BR recurse なら、 .B grep は各ディレクトリ下のすべてのファイルを再帰的に読み取ります。 これは .B \-r オプションと等価です。 .TP .BR \-E ", " \-\^\-extended-regexp .I PATTERN を拡張された正規表現として扱います (下記参照)。 .TP .BI \-e " PATTERN" "\fR,\fP \-\^\-regexp=" PATTERN .I PATTERN をパターンとして指定します。 .BR \- で始まるパターンを保護するために有効です。 .TP .BR \-F ", " \-\^\-fixed-strings .I PATTERN を改行で区切られた固定文字列のリストとして扱います。 その文字列のどれかとマッチするかを調べます。 .TP .BI \-f " FILE" "\fR,\fP \-\^\-file=" FILE パターンを .IR FILE から 1 行ごとに読み込みます。 空のファイルはパターンを含まないので、何にもマッチしません。 .TP .BR \-G ", " \-\^\-basic-regexp .I PATTERN を基本的な正規表現として扱います (下記参照)。デフォルトです。 .TP .BR \-H ", " \-\^\-with-filename 各々のマッチに対してファイル名を表示します。 .TP .BR \-h ", " \-\^\-no-filename 複数ファイルを検索した時に、出力の前にファイル名を付けることを抑制します。 .TP .B \-\^\-help 簡単なヘルプメッセージを出力します。 .TP .BR \-I バイナリファイルをマッチするデータを含まないかのように処理します。これは .B \-\^\-binary-files=without-match オプションと等価です。 .TP .BR \-i ", " \-\^\-ignore-case .I PATTERN と入力ファイルの双方で、英大文字と小文字の区別をしないようにします。 .TP .BR \-L ", " \-\^\-files-without-match 通常の出力はせず、 このオプションを指定しなかったときに 全く出力されない入力ファイルの名前を表示します。 スキャン動作は最初のマッチで終了します。 .TP .BR \-l ", " \-\^\-files-with-matches 通常の出力はせず、 このオプションを指定しなかったときに 出力される入力ファイルの名前を表示します。 スキャン動作は最初のマッチで終了します。 .TP .B \-\^\-mmap 可能ならば、デフォルトの .BR read (2) システムコールの代わりに .BR mmap (2) システムコールを使って入力を読み取ります。 ある状況において、 .B \-\^\-mmap はよりよい性能をもたらします。 しかし、 .B grep の動作中に入力ファイルが小さくなるか、または I/O エラーが生じた場合に、 .B \-\^\-mmap は (コアダンプを含む) 未定義の動作を引き起こす可能性があります。 .TP .BR \-n ", " \-\^\-line-number 各出力行の前に、入力ファイルにおける行番号を表示します。 .TP .BR \-q ", " \-\^\-quiet ", " \-\^\-silent 沈黙。通常の出力を抑止します。 スキャン動作は最初のマッチで終了します。 下記の .B \-s や .B \-\^\-no-messages オプションも参照。 .TP .BR \-r ", " \-\^\-recursive 各ディレクトリ下のすべてのファイルを再帰的に読み取ります。 これは .B "\-d recurse" オプションと等価です。 .TP .BR \-s ", " \-\^\-no-messages 指定されたファイルが存在しないことや読み込みできないことを示す エラーメッセージを抑止します。 移植性に関する注: \s-1GNU\s0 .BR grep とは異なり、 伝統的な .B grep は \s-1POSIX.2\s0 に適合していませんでした。なぜなら、伝統的な .B grep には .B \-q オプションが無く、 .B \-s オプションは \s-1GNU\s0 .BR grep の .B \-q オプションの様に動作したからです。 伝統的な .B grep へ移植可能であることを意図したシェルスクリプトは、 .B \-q と .B \-s を両方とも使わずに、出力を /dev/null へリダイレクトすべきです。 .TP .BR \-U ", " \-\^\-binary ファイルをバイナリとして扱います。デフォルトでは、MS-DOS と MS-Windows 環境下で .BR grep は、ファイルから読み取った最初の 32KB の内容を見て、ファイルタイプを推測します。 .BR grep はファイルをテキストファイルと判断した場合、オリジナルのファイル内容から ( .B ^ と .B $ が使われている正規表現を正しく動作させるために ) CR 文字を取り除きます。 .B \-U を指定すると、この当て推量を抑制し、すべてのファイルを読み取って マッチ機構へそのまま渡します。もしファイルが 各行の末尾に CR/LF の組みを持つテキストファイルなら、 このオプションは正規表現を役に立たなくさせることがあるでしょう。 このオプションは MS-DOS と MS-Windows 以外のプラットフォームでは 効果がありません。 .TP .BR \-u ", " \-\^\-unix-byte-offsets unix 形式のバイト単位オフセットを報告します。このスイッチを指定すると .B grep は、ファイルが unix 形式のテキストファイル、 すなわち、 CR 文字が取り除かれたファイルであるかのごとくに バイト単位オフセットを報告します。 このことは .B grep を Unix マシンで動作させたのと同じ結果を生成します。 このオプションは .B \-b オプションも使用しない限り効果がありません。 MS-DOS と MS-Windows 以外のプラットフォームでは効果がありません。 .TP .BR \-V ", " \-\^\-version .B grep のバージョン番号を標準エラー出力に表示します。バグレポート には、この番号を付記してください (下記参照)。 .TP .BR \-v ", " \-\^\-invert-match 結果を反転し、マッチしなかった行を選択します。 .TP .BR \-w ", " \-\^\-word-regexp 完全な語にマッチする行のみを選択します。 マッチする部分文字列が行頭から始まっているか、 単語構成文字以外の文字が前にあることがテストされます。 同様に、マッチする部分文字列が行末まであるか、 単語構成文字以外の文字が後にある必要があります。 単語構成文字とは、レター・数字・アンダスコアです。 .TP .BR \-x ", " \-\^\-line-regexp 行全体と正確にマッチする行のみを選択します。 .TP .B \-y .BR \-i と同じ意味を持つ旧式のオプションです。 .TP .B \-\^\-null 通常ファイル名の後に続く文字の代わりにバイト 0 (\s-1ASCII\s0 .B NUL 文字) を出力します。 例えば、 .B "grep \-l \-\^\-null" は各ファイル名の後に、通常の newline ではなくバイト 0 を出力します。 このオプションを指定すると、 newline 等の例外的な文字を含むファイル名に直面した場合でも 出力が明白になります。 このオプションを .BR "find \-print0" , .BR "perl \-0" , .BR "sort \-z" , .B "xargs \-0" 等のコマンドと共に使用すれば、任意のファイル名を処理できます。 ファイル名が newline 文字を含んでいても処理可能です。 .TP .BR \-Z ", " \-\^\-decompress 検索を開始する前に入力データを伸長します。 このオプションは zlib ライブラリと共にコンパイルした場合のみ使用可能です。 .SH "正規表現" 正規表現は、文字列の集合を表現するパターンの事です。数式表現と同様に、 より小さな表現を組み合わせるさまざまな演算子を用いる事で、 正規表現を組み立てます。 .PP .B grep は、「基本」正規表現と 「拡張」正規表現の 2 種類の正規表現文法を扱う事ができます。 .RB "\s-1GNU\s0\ " grep では、どちらの正規表現文法も機能的な違いはありません。 他の実装では、基本正規表現は拡張正規表現より能力が低くなっています。 ここでは、拡張正規表現について説明します。 基本正規表現との違いは、その後に説明します。 .PP 正規表現の基本単位は、1 文字にマッチする正規表現です。 レターと数字を含む多くの文字は、それ自身にマッチする正規表現です。 また、特殊な意味を持つメタ文字も、その文字の前にバックスラッシュ を付けると、その本来の文字にマッチするようになります。 .PP .B [ と .B ] で囲まれた文字のリストは、そのリスト中に含まれるどれか 1 文字にマッチします。 ただし、リストの先頭がキャレット .B ^ の場合は、そのリストに含まれ .I ない 文字にマッチします。 例えば、正規表現 .B [0123456789] は数字 1 文字にマッチします。 文字の範囲は最初と最後の文字をハイフン (`-') でつなぐことで 指定できます。最後に、特定の名前を持つ文字クラスがあらかじめ定義されています。 名前が内容を示しており、それらは、 .BR [:alnum:] , .BR [:alpha:] , .BR [:cntrl:] , .BR [:digit:] , .BR [:graph:] , .BR [:lower:] , .BR [:print:] , .BR [:punct:] , .BR [:space:] , .BR [:upper:] , .BR [:xdigit:] です。 例えば、 .B [[:alnum:]] は .BR [0-9A-Za-z] と同じですが、後者は \s-1POSIX\s0 ロケールや \s-1ASCII\s0 コード順に依存しますので、 前者の方がロケールや文字集合に依存しません。 (クラス名の中の角括弧はシンボル名の一部であり、 リストを区切る角括弧とは別に指定する必要があることに注意) リストの中では、ほとんどのメタ文字は通常の文字として扱われます。 リテラル .B ] を含めるには、この文字をリストの先頭に置いてください。同様に、リテラル .B ^ を含めるには、この文字をリストの先頭以外に置いてください。リテラル .B \- を含めるには、この文字をリストの最後に置いてください。 .PP ピリオド .B . は、任意の 1 文字にマッチします。 シンボル .B \ew は .B [[:alnum:]] と同じ意味で、 シンボル .B \eW は .BR [^[:alnum:]] と同じ意味です。 .PP キャレット .B ^ と、 ドル記号 .B $ は、それぞれ行頭と行末の空文字列にマッチするメタ文字です。 シンボル .B \e< とシンボル .B \e> は、それぞれ単語の先頭と末尾の空文字列にマッチするメタ文字です。 シンボル .B \eb は単語の端の空文字列にマッチします。 シンボル .B \eB は単語の端 .I 以外 の空文字列にマッチします。 .PP 正規表現の後には、繰り返し演算子のどれかが続くことがあります。 .PD 0 .TP .B ? 直前の項目はオプションであり、最大 1 回マッチします。 .TP .B * 直前の項目は 0 回以上マッチします。 .TP .B + 直前の項目は 1 回以上マッチします。 .TP .BI { n } 直前の項目は厳密に .I n 回マッチします。 .TP .BI { n ,} 直前の項目は .I n 回以上マッチします。 .TP .BI { n , m } 直前の項目は、最低 .I n 回、最大 .I m 回マッチします。 .PD .PP 2 つの正規表現は結合可能です。 結果としてできあがる正規表現は、 結合された 2 つの部分表現にそれぞれマッチする 2 つの部分文字列を結合した任意の文字列にマッチします。 .PP 2 つの正規表現は中置き型演算子 .BR | で繋ぐことが可能です。 結果としてできあがる正規表現は、 どちらかの部分表現にマッチする任意の文字列にマッチします。 .PP 繰り返しは結合に優先します。また結合は選択に優先します。 これらの優先規則を無効とするために、 部分表現全体を括弧で囲むことが可能です。 .PP .I n が 1 つの数字であるような 後方参照 .BI \e n は、正規表現中の括弧で囲まれた .IR n 番目の部分表現がマッチした文字列とマッチします。 .PP 基本正規表現では、メタ文字 .BR ? , .BR + , .BR { , .BR | , .BR ( , .BR ) は、その特殊な意味を失います。代わりに、バックスラッシュを付けた .BR \e? , .BR \e+ , .BR \e{ , .BR \e| , .BR \e( , .BR \e) を使用してください。 .PP 伝統的な .B egrep は、メタ文字 .B { をサポートしませんでした。また、このメタ文字の代わりに .B \e{ をサポートする .B egrep 実装もいくつか存在するので、移植可能なスクリプトでは、 リテラル .BR { にマッチさせるために .B egrep パターンで .B { を使うことは避けて .B [{] を使うべきです。 .PP \s-1GNU\s0 .B egrep は、 .B { が不正な範囲指定の始まりであるなら特殊文字ではない、と想定して、 伝統的な使用法のサポートを試みます。 例えば、シェルコマンド .B "egrep '{1'" は正規表現の文法エラーを報告せずに、2 文字の文字列 .B {1 を検索します。 \s-1POSIX.2\s0 は、この動作を一つの拡張として許可していますが、 移植可能なスクリプトではこの使用法を避けるべきです。 .SH "環境変数" .TP .B GREP_OPTIONS この変数は明示的なオプションの前に指定されるデフォルトオプションを 指定します。例えば、もし .B GREP_OPTIONS が .BR "'\-\^\-binary-files=without-match \-\^\-directories=skip'" である場合、 .B grep は 2 つのオプション .B \-\^\-binary-files=without-match と .B \-\^\-directories=skip が明示的なオプションの前に指定されている様に動作します。 オプションの指定は空白によって区切られます。 バックスラッシュは次の文字をエスケープします。 これは空白やバックスラッシュを含むオプションを指定するために用いられます。 .TP \fBLC_ALL\fP, \fBLC_MESSAGES\fP, \fBLANG\fP これらの変数は .B grep がメッセージに使用する言語を決定する .B LC_MESSAGES を指定します。 ロケールはこれらの変数のうち最初に設定されているものにより決定されます。 もしこれらの変数全てが設定されていない場合、またはメッセージカタログが インストールされていない場合、または .B grep が国際言語サポートつき (\s-1NLS\s0) でコンパイルされてない場合には、 アメリカンイングリッシュが 用いられます。 .TP \fBLC_ALL\fP, \fBLC_CTYPE\fP, \fBLANG\fP これらの変数は、 例えばどの文字が空白であるかなど、文字の種類を決定する .B LC_CTYPE を指定します。 ロケールはこれらの変数のうち最初に設定されているものにより決定されます。 もしこれらの変数全てが設定されていない場合、またはメッセージカタログが インストールされていない場合、または .B grep が国際言語サポートつき (\s-1NLS\s0) でコンパイルされてない場合には、 \s-1POSIX\s0 ロケールが用いられます。 .TP .B POSIXLY_CORRECT 設定されている場合、 .B grep は \s-1POSIX.2\s0 として動作し、それ以外の場合は .B grep は他の \s-1GNU\s0 プログラムのように動作します。 \s-1POSIX.2\s0 ではファイル名の後に続くオプションは ファイル名として扱われます。 デフォルトでは、このようなオプションはオペランドリストの先頭に 並び変えられて、オプションとして扱われます。 また、\s-1POSIX.2\s0 では認識できないオプションは \*(lq 不法 (illegal)\*(rq であると診断されますが、 法律に違反しているわけではないので、 デフォルトではこれらは\*(lq不正 (invalid)\*(rq であると診断されます。 -また、 -.B POSIXLY_CORRECT -は以下に示す \fB_\fP\fIN\fP\fB_GNU_nonoption_argv_flags_\fP を -無効化します。 -.TP -\fB_\fP\fIN\fP\fB_GNU_nonoption_argv_flags_\fP -( -.I N -は -.BR grep -のプロセスIDの数値です) もしこの環境変数の -.IR i -番目の文字の値が -.BR 1 -である場合、 -.IR i -番目の引数がオプションのようにみえる場合でも、 -.B grep -はこの引数をオプションとみなしません。 -各コマンドが実行される環境にシェルがこの変数を設定することで、 -どのオペランドがファイル名ワイルドカード展開の結果であるか、 -つまり、どのオペランドをオプションとして扱うべきでないかを指定できます。 -この動作は \s-1GNU\s0 C ライブラリと使用され、 -.B POSIXLY_CORRECT -が設定されていない場合にのみ有効です。 .SH 診断 通常、パターンにマッチした行が見つかった場合は 0 を、 見つからなかった場合は 1 を返します。(ただし、 .B \-v オプションを指定した場合は、逆になります。) パターンに文法エラーが存在したり、 入力ファイルにアクセスできないなどの システムエラーが発生した場合は、2 を返します。 .SH バグ バグレポートは、 .BR bug-gnu-utils@gnu.org まで Email してください。 この時、\*(lqSubject:\*(rq のどこかに \*(lqgrep\*(rq という単語を 忘れずに入れてください。 .PP .BI { m , n } の表現で非常に大きな繰り返しを指定すると、非常に多くのメモリを消費します。 さらに、ある種のあいまいな正規表現を指定すると、必要となる時間とメモリ領域は 指数的に増大し、 .B grep がメモリ不足を起こす可能性があります。 .PP 後方参照は非常に動作が遅く、必要となる時間は指数的に増大します。 .\" Work around problems with some troff -man implementations. .br diff --git a/ja_JP.eucJP/man/man1/indent.1 b/ja_JP.eucJP/man/man1/indent.1 index f7e82ec914..da06833a33 100644 --- a/ja_JP.eucJP/man/man1/indent.1 +++ b/ja_JP.eucJP/man/man1/indent.1 @@ -1,469 +1,469 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" Copyright (c) 1976 Board of Trustees of the University of Illinois. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)indent.1 8.1 (Berkeley) 7/1/93 -.\" %FreeBSD: src/usr.bin/indent/indent.1,v 1.8.2.4 2001/08/16 13:16:50 ru Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/indent.1,v 1.7 2001/07/29 05:14:51 horikawa Exp $ +.\" %FreeBSD: src/usr.bin/indent/indent.1,v 1.8.2.5 2001/12/06 19:28:47 schweikh Exp % +.\" $FreeBSD$ .\" .Dd July 1, 1993 .Dt INDENT 1 .Os .Sh 名称 .Nm indent .Nd C 言語プログラムの字下げと整形 .Sh 書式 .Nm indent .Op Ar input-file Op Ar output-file .Op Fl bad | Fl nbad .Op Fl bap | Fl nbap .Bk -words .Op Fl bbb | Fl nbbb .Ek .Op Fl \&bc | Fl nbc .Op Fl \&bl .Op Fl \&br .Op Fl c Ns Ar n .Op Fl \&cd Ns Ar n .Bk -words .Op Fl cdb | Fl ncdb .Ek .Op Fl \&ce | Fl nce .Op Fl \&ci Ns Ar n .Op Fl cli Ns Ar n .Op Fl d Ns Ar n .Op Fl \&di Ns Ar n .Bk -words .Op Fl fc1 | Fl nfc1 .Op Fl fcb | Fl nfcb .Ek .Op Fl i Ns Ar n .Op Fl \&ip | Fl nip .Op Fl l Ns Ar n .Op Fl \&lc Ns Ar n .Op Fl \&lp | Fl nlp .Op Fl npro .Op Fl pcs | Fl npcs .Op Fl psl | Fl npsl .Op Fl \&sc | Fl nsc .Bk -words .Op Fl sob | Fl nsob .Ek .Op Fl \&st .Op Fl troff .Op Fl v | Fl \&nv .Sh 解説 .Nm は .Ar C 言語プログラムの整形を行います。 .Ar input-file 中の .Ar C プログラムをオプションに従って整形し直します。 以下で説明するオプションはファイル名の前後で指定できます。 .Pp .Sy 注 : .Ar input-file のみを指定した場合、整形は「同じ場所に」行われます。つまり、整形結果は .Ar input-file に書き戻され、カレントディレクトリに元の .Ar input-file のバックアップがコピーされます。例えば .Ar input-file の名前が .Sq Pa /blah/blah/file だったとすると、バックアップファイルの名前は .Pa file.BAK となります。 .Pp .Nm は .Ar output-file が指定されると、念のため、それが .Ar input-file とは異なっていることをチェックします。 .Pp .Nm の整形スタイルは以下にあげるオプションで制御します。 .Bl -tag -width Op .It Fl bad , nbad .Fl bad を指定すると、宣言ブロックの後ごとに空行を 1 行入れます。デフォルトは .Fl nbad です。 .It Fl bap , nbap .Fl bap を指定すると、関数本体の後ごとに空行を 1 行入れます。デフォルトは .Fl nbap です。 .It Fl bbb , nbbb .Fl bbb を指定すると、コメントブロックの前に必ず空行を 1 行入れます。デフォルトは .Fl nbbb です。 .It Fl \&bc , nbc .Fl \&bc を指定すると、宣言の中のコンマの後ごとに改行を入れます。 .Fl nbc はこれを抑止します。デフォルトは .Fl \&nbc です。 .It Fl \&br , \&bl .Fl \&bl を指定すると、複合文は以下のように行分けされます。 .Bd -literal -offset indent if (...) { code } .Ed .Pp 一方、デフォルトは .Fl \&br ですが、以下のようになります。 .Bd -literal -offset indent if (...) { code } .Ed .Pp .It Fl c Ns Ar n プログラムコードの右側に書かれたコメントを指定の桁位置に揃えます。デ フォルトでは 33 桁目に揃えられます。 .It Fl cd Ns Ar n 宣言の右側に書かれたコメントを指定の桁位置に揃えます。デフォルトでは プログラムコードの右側に書かれたコメントと同じ位置(つまり .Fl c で指定された位置)になります。 .It Fl cdb , ncdb コメント区切りを独立の行とするかどうかを指定します。コメントブロック だけに有効で、プログラムコードの右側に書かれたコメントには影響しませ ん。デフォルトは .Fl cdb で、コメントは以下のようになります。 .Bd -literal -offset indent /* * this is a comment */ .Ed .Pp 一方、 .Fl ncdb では以下のようになります。 .Bd -literal -offset indent /* this is a comment */ .Ed .Pp .It Fl ce , nce .Fl \&ce は `else' を直前の `}' につけて ``} else'' のように出力します。デフォルトは .Fl \&ce です。 .It Fl \&ci Ns Ar n 継続行の字下げを .Ar n で指定します。継続行は、その文の最初の行の先頭から指定した字数だけ字 下げされます。かっこで括られた式は .Fl \&lp が有効でなければ、入れ子になっていることを示すために余分に字下げされ ます。 .Fl \&ci のデフォルトは .Fl i と同じ値です。 .It Fl cli Ns Ar n case ラベル字下げ位置を .Ic switch 文の字下げ位置から .Ar n 個目のタブストップにします。 .Fl cli0.5 なら、タブストップの半分になります。デフォルトは .Fl cli0 です。 .It Fl d Ns Ar n プログラムコードの右側に書かれたものでない独立したコメントに関して、 その場所を制御します。例えば .Fl \&d\&1 で、コードの字下げより 1 段左側にします。デフォルトの .Fl \&d\&0 を指定すると、プログラムコードの字下げに合わせます。下記「コメントの 字下げ」の節を参照して下さい。 .It Fl \&di Ns Ar n 宣言子からそれに続く識別子への字下げを文字数で指定します。デフォルト は .Fl di16 です。 .It Fl dj , ndj .Fl \&dj は宣言を左揃えにします。 .Fl ndj は、プログラムコードと同じ字下げを行います。デフォルトは .Fl ndj です。 .It Fl \&ei , nei .Ic else-if に対し特別な処理するよう指定します(しません)。 .Fl \&ei は特別な処理を行い、 .Ic else に続く .Ic if は、最初の if 文と同じだけ字下げされます。 .Fl ei がデフォルトです。 .It Fl fc1 , nfc1 .Fl fc1 で、コメントが 1 桁目から始まっている場合も整形します(しません)。こ のような場合には、おうおうにしてプログラマが意図的にそうしているので あって、 .Fl nfc1 を使うべきではありません。デフォルトは .Fl fc1 です。 .It Fl fcb , nfcb ブロックコメント (`/*\\n' で開始するコメント) の整形を 有効とするかどうかを指定します。 プログラマは、 ブロックコメントをそれ程は注意深く手動整形していないことが多いですが、 再整形によって改行位置だけを変えるということは望ましくないことがあります。 このような場合には .Fl nfcb を使います。 ブロックコメントはボックスコメトのように扱われます。 デフォルトは .Fl fcb です。 .It Fl i Ns Ar n 1 段の字下げ量を指定します。デフォルトは 8 文字です。 .It Fl \&ip , nip パラメータ宣言を左マージンからさらに字下げします(しません)。 デフォルトは .Fl \&ip です。 .It Fl l Ns Ar n 出力行の最大幅を指定します。デフォルトは 78 文字です。 .It Fl \&lp , nlp 継続行において括弧内のプログラムコードの位置を揃えます。左括弧がその 行で閉じていない時、継続行を前の行の左括弧の 1 文字後ろから始まるよ うにします。例えば、 .Fl nlp が指定されると継続行は以下のようになります。 .Bd -literal -offset indent p1 = first_procedure(second_procedure(p2, p3), \ \ third_procedure(p4, p5)); .Ed .Pp 一方、 .Fl lp が指定されるとが指定されると、プログラムコードは以下のようには幾分見 やすくなります。 .Bd -literal -offset indent p1\ =\ first_procedure(second_procedure(p2,\ p3), \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ third_procedure(p4,\ p5)); .Ed .Pp 2行余分に改行された場合には、下のようになります。 .Bd -literal -offset indent p1\ =\ first_procedure(second_procedure(p2, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ p3), \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ third_procedure(p4, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ p5)); .Ed .It Fl npro 字下げのプロファイル .Sq Pa ./.indent.pro と .Sq Pa ~/.indent.pro , を使わないようになります。 .It Fl pcs , npcs .Fl pcs が指定されると、全ての関数呼出しの関数名と括弧の間に空白を 1 つ入れます。デフォルトは、 .Fl npcs です。 .It Fl psl , npsl .Fl psl が指定されると、関数定義における関数の名前を 1 桁目から始め ます。つまり、その関数の型名は前の行に置かれることになります。デフォ ルトは、 .Fl psl です。 .It Fl \&sc , nsc 全てのコメントの左端に、アスタリスク(`*') を置きます(置きません)。 デフォルトは .Fl sc です。 .It Fl sob , nsob .Fl sob が指定されると、不要な空白行を取除きます。宣言部の後ろの余分な空白行 を取り除くのに便利です。デフォルトは、 .Fl nsob です。 .It Fl \&st .Nm が標準入力に対して処理を行い、結果を標準出力に出力するようします。 .It Fl T Ns Ar typename .Ar typename を型名として扱うように追加します。 .Fl T は幾つ使ってもかまわないので、複数の型名を指定できます。 プログラム中で .Ic typedef によって定義された型名は必ず指定する必要があります。\- 多少の指定を 忘れたところで実害は全くありませんが、プログラムは意図した程きれいに は整形されないでしょう。全部の型名を指定しなければならないのは大変な ように思えますが、実際にはこれは C 言語のもつ問題が表面化したに過ぎ ません。つまり、 .Ic typedef は、言語の構文解釈を変えてしまうので、 .Nm は .Ic typedef で定義された型名を全て見付けることができないわけです。 .It Fl troff .Xr troff 1 で処理できるフォーマットで出力します。 .Xr vgrind 1 と全く同じ考え方に基づいて、出力をきれいにしようとします。出力ファイ ルが指定されていないと、出力先として入力ファイルではなく標準出力が使 われます。 .It Fl v , \&nv .Fl v で `verbose' モードになります。 .Fl \&nv は `verbose' モードを抑止します。`verbose' モードでは、入力中の 1 行 が複数行に分割された場合には、その旨を表示し、終了時には出力サイズに 付いての情報を付け加えるようになります。 デフォルトは .Fl \&nv です。 .El .Pp ログインディレクトリかカレントディレクトリの一方、あるいはその両方に .Pa .indent.pro というプロファイルを作って、その中にオプションを書いておくことにより、 あなたの好みの設定を .Nm のデフォルトとすることができます。プロファイルは、ログインディレクト リ, カレントディレクトリの順で読み込まれるため、カレントディレクトリ に `.indent.pro'があると、そちらの指定の方が優先されます。 .Nm の起動時にプロファイルが存在していると、それを読み込んでデフォルトと して使用します。ただし、コマンド行でオプションを指定すると、それは常 にプロファイル中のオプションよりも優先されます。プロファイルを書く際 には、各オプションを空白かタブもしくは改行で区切ってやらなくてはなり ません。 .Pp .Ss コメント .Sq Em 囲まれた .Em コメント の処理について説明します。 .Nm は、コメント開始の直後にマイナスやアスタリスクが続いている(つまり `/*\-' もしくは`/**' となっている)場合、そのコメントをアスタリスクで 周囲を囲まれたものとみなします。このようなコメントに対しては、コメン トの最初の行に施される字下げ位置に、続く各行を揃える他は、処理を行い ません。 .Pp つぎに、 .Em 連続したテキスト としての処理について説明します。 上にあげた以外のコメントは、連続したテキストとして扱います。 .Nm は 1 行にできるだけ多くの単語(空白やタブもしくは改行で区切られた文字 列)を詰め込もうとします。また、空白行により段落が分けられます。 .Pp .Ss コメントの字下げ プログラムコードの右側のコメントは、コマンド行のオプション .Fl c Ns Ns Ar n で指定された「コメント開始位置」から始まるようになります。その他のコ メントは、コマンド行のオプション .Fl d Ns Ns Ar n が指定されると、プログラムコードがおかれている位置よりも .Ar n 段少なく字下げされます。1 行の内でプログラムコードが指定されたコメン ト開始位置を超えて続いていた場合には、さらにその右へとコメントを続け ますが、極端に行が長かった場合には、自動的に右マージンが広くとられる ことがあります。 .Pp .Ss マクロ行 一般に .Nm はプリプロセッサのマクロ行をそのまま出力します。唯一の例外はその行の 右側にコメントが書かれている時で、そのコメントを整形します。ただし、 マクロの展開の結果プログラムに埋込まれるコメントは処理しません。また、 .Nm は条件付きコンパイルのマクロ .Pq Ic #ifdef...#endif を認識し、それによってもたらされる構文上の異常を正しく補おうとしま す。 .Pp .Ss C 言語の構文 .Nm は、C 言語の構文をかなり理解しますが、「寛容な」構文解析しか行いませ ん。不完全だったり正しくない構文も、ごく普通のものならうまく処理しよ うとします。とくにあげると、以下のようなマクロも適当に処理されます。 .Pp .Dl #define forever for(;;) .Sh 環境変数 .Nm は環境変数として、 .Ev HOME を使用します。 .Sh 関連ファイル .Bl -tag -width "./.indent.pro" -compact .It Pa ./.indent.pro デフォルトの設定を記述したプロファイルです。 .It Pa ~/.indent.pro デフォルトの設定を記述したプロファイルです。 .El .Sh 歴史 .Nm コマンドは .Bx 4.2 で導入されました。 .Sh バグ .Nm は .Xr ls 1 以上に多くのオプションを持っています。 .Pp よくある悲惨な間違いは、ディレクトリにある全ての C プログラムを整形しようとして .Pp .Dl indent *.c .Pp と入力してしまうことです。おそらく、これはバグであって特徴と言うべき ではないでしょう。 diff --git a/ja_JP.eucJP/man/man1/killall.1 b/ja_JP.eucJP/man/man1/killall.1 index a05f8057f6..e172209c76 100644 --- a/ja_JP.eucJP/man/man1/killall.1 +++ b/ja_JP.eucJP/man/man1/killall.1 @@ -1,156 +1,156 @@ .\" Copyright (C) 1995 by Joerg Wunsch, Dresden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS .\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.bin/killall/killall.1,v 1.11.2.7 2001/08/16 13:16:53 ru Exp % +.\" %FreeBSD: src/usr.bin/killall/killall.1,v 1.11.2.8 2001/12/02 15:28:13 bsd Exp % .\" $FreeBSD$ .\" .Dd June 25, 1995 .Os .Dt KILLALL 1 .Sh 名称 .Nm killall .Nd 名前で指定されるプロセスにシグナルを送る .\"(訳注)原文では、 kill processes by name であるが、機能から考えて .\" "プロセスにシグナルを送る"と訳した。 .\" 2.2.1R 対象(1997/04/13) Takeshi MUTOH .Sh 書式 .Nm .Op Fl d | v .Op Fl h | ?\& .Op Fl help .Op Fl l .Op Fl m .Op Fl s .Op Fl u Ar user .Op Fl t Ar tty .Op Fl c Ar procname .Op Fl SIGNAL .Op Ar procname ... .Sh 解説 .Nm は、 .Xr kill 1 がプロセス id で指定されるプロセスにシグナルを送るのに対して、 名前で指定されるプロセスにシグナルをおくります。 デフォルトでは、 .Dv TERM シグナルを、 .Nm -実行者と同じ実効 UID を持つ、 +実行者と同じ実 UID を持つ、 .Ar procname に名前が一致する全てのプロセスに送ります。 スーパユーザはどんなプロセスにたいしてもシグナルを送ることができます。 .Pp 以下のようなオプションがあります。 .Bl -tag -width 10n -offset indent .It Fl d | v これから、行おうとすることをより冗長に報告します。一つの .Fl d オプションによって、シグナルを送ろうとするプロセスの一覧が表示されるか、 一つも一致するプロセスが見付からなかったことが示されます。 .It Fl h | ?\& .It Fl help コマンドの使い方のヘルプを表示し、終了します。 .It Fl l .Xr kill 1 の様に利用可能なシグナルの名前の一覧を表示し、終了します。 .It Fl m 引数 .Ar procname を ( 大文字小文字を区別しない ) 正規表現として、 得られた名前に対して対応を取ります。 -注意! 一つのドット (.) は、呼び出しユーザと同一の実効 UID を持つ +注意! 一つのドット (.) は、呼び出しユーザと同一の実 UID を持つ 全てのプロセスに一致し、 危険です。 .It Fl s 何が行われるのかだけを表示し、シグナルは送られません。 .It Fl SIGNAL デフォルトの .Dv TERM とは違うシグナルを送ります。シグナルは、 (頭に .Dv SIG を付けても付けなくても良い) 名前もしくは数字で指定します。 .It Fl u Ar user 潜在的に対応するプロセスを、指定した .Ar user に属するものに限定します。 .It Fl t Ar tty 潜在的に対応するプロセスを、指定した .Ar tty で動作するものに限定します。 .It Fl c Ar procname .Fl u または .Fl t のフラグと共に使用されたとき、潜在的に対応するプロセスを、指定した .Ar progname に限定します。 .El .Sh 全てのプロセス uid が .Nm XYZ である全てのプロセスに対してシグナルを送る動作は、 .Xr kill 1 で既にサポートされています。したがって、このような仕事を行うためには .Xr kill 1 を使ってください(たとえば、 $ kill -TERM -1 もしくは、 root になって、 $ echo kill -TERM -1 |su -m で可能です。)。 .Sh 診断 .Nm コマンドは、コマンドエラーが起こった場合は、短い利用法のメッセージを 表示し、終了状態 2 で終了します。 終了状態 1 は、一致するプロセスが見付からなかった時か、全ての プロセスに対してシグナルを送ることに成功しなかった時に返されます。 それ以外の場合は、終了状態 0 が返されます。 .Pp 診断メッセージは、 .Fl d オプションで要求された場合だけ表示されます。 .Sh 関連項目 .Xr kill 1 , .Xr sysctl 3 .Sh 歴史 .Nm コマンドは .Fx 2.1 から導入されました。 .Nm コマンドは他のプラットホームでも利用可能なように設計されています。 .Sh 作者 .An -nosplit .Nm プログラムは、 .An Wolfram Schneider によって提供されました。 このマニュアルページは .An J\(:org Wunsch によって書かれました。 現在のバージョンの .Nm は、 .An Peter Wemm が .Xr sysctl 3 を使った C で書き直しました。 diff --git a/ja_JP.eucJP/man/man1/netstat.1 b/ja_JP.eucJP/man/man1/netstat.1 index 44339902a9..bb8ce3c10e 100644 --- a/ja_JP.eucJP/man/man1/netstat.1 +++ b/ja_JP.eucJP/man/man1/netstat.1 @@ -1,416 +1,416 @@ .\" Copyright (c) 1983, 1990, 1992, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)netstat.1 8.8 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/netstat/netstat.1,v 1.22.2.11 2001/09/17 15:17:46 ru Exp % +.\" %FreeBSD: src/usr.bin/netstat/netstat.1,v 1.22.2.12 2001/11/18 16:41:52 murray Exp % .\" .\" $FreeBSD$ .\" WORD: symbolically シンボル表記 .\" .Dd September 7, 2001 .Dt NETSTAT 1 .Os .Sh 名称 .Nm netstat .Nd ネットワークの状態を表示する .Sh 解説 .Nm コマンドは、ネットワークに関連したさまざまなデータ構造の情報を、 シンボル表記を交えて表示します。 出力の形式は様々あり、指定したオプションによって変わります。 .Bl -tag -width indent .It Xo .Bk -words .Nm .Op Fl AaLnSW .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 各ネットワークプロトコル、または 特定の .Ar protocol_family あるいは単一の .Ar protocol についてアクティブなソケット (プロトコル制御ブロック) の一覧を表示します。 .Fl A も指定された場合、ソケットに結び付けられた プロトコル制御ブロック (PCB) のアドレスを表示します。 デバッグ用に使用します。 .Fl a も指定された場合、すべてのソケットを表示します。 通常はサーバプロセスに使用されているソケットは表示しません。 .Fl L も指定された場合、 様々な listen 待ち行列の大きさを表示します。 1 番目の数は、受け付けられなかった接続数です。 2 番目の数は、受け付けられなかった不完全な接続数の合計です。 3 番目の数は、待ち行列に繋がれた接続の最大数です。 .Fl S も指定された場合、( .Fl n と同じように) ネットワークアドレスを数字で表示しますが、 ポートはシンボル表記で表示します。 .It Xo .Bk -words .Nm .Fl i | I Ar interface .Op Fl abdnt .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 自動設定されているすべてのネットワークインタフェースまたは単一の .Ar interface の状態を表示します (システムに静的に組み込まれていても ブート時に存在していないインタフェースは表示されません)。 インタフェース名の後の .Pq Dq Li * は、そのインタフェースが .Dq down していることを意味します。 .Fl a も指定された場合、各イーサネットインタフェース および各 IP インタフェースアドレス について、現在使用されているマルチキャストアドレスが表示 されます。マルチキャストアドレスは、 各々対応するインタフェースアドレスに続いて別個の行に表示 されます。 .Fl b も指定された場合、入出力したバイト数を表示します。 .Fl d も指定された場合、取りこぼしたパケット数を表示します。 .Fl t も指定された場合、watchdog タイマの内容を表示します。 .It Xo .Bk -words .Nm .Fl w Ar wait .Op Fl I Ar interface .Op Fl d .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc すべての設定済みネットワークインタフェースまたは単一の .Ar interface 上のパケットトラフィックに関する情報を .Ar wait 秒間隔で表示します。 .Fl d も指定された場合、取りこぼしたパケット数も表示します。 .It Xo .Bk -words .Nm .Fl s Op Fl s .Op Fl z .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 各ネットワークプロトコル、または特定の .Ar protocol_family あるいは単一の .Ar protocol に対して、システム全体の統計情報を表示します。 .Fl s が繰り返された場合、値が 0 のカウンタは省略されます。 .Fl z も指定された場合、統計情報を表示した後リセットします。 .It Xo .Bk -words .Nm .Fl i | I Ar interface Fl s .Op Fl f Ar protocol_family | Fl p Ar protocol .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 各ネットワークプロトコル、または特定の .Ar protocol_family あるいは単一の .Ar protocol に対して、インタフェースごとの統計情報を表示します。 .It Xo .Bk -words .Nm .Fl m .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc メモリ管理ルーチン .Pq Xr mbuf 9 によって記録されている統計情報を表示します。 ネットワークは、独自にメモリバッファを確保しています。 .It Xo .Bk -words .Nm .Fl r .Op Fl AanW .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc 全て、または指定した .Ar address_family に関するルーティングテーブルを表示します。 .Fl A も指定されていた場合、 内部 Patricia 木構造の内容を表示します。 デバッグ用に使用します。 .Fl a も指定されていた場合、 プロトコル複製されたルート (親ルートを .Dv RTF_PRCLONING することによって生成されたルート) を表示します。 通常これらのルートは表示されません。 .Fl W も指定されていた際には、 各ルートの path MTU を表示します。 .It Xo .Bk -words .Nm .Fl rs .Op Fl s .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc ルーティングの統計情報を表示します。 .Fl s が繰り返された場合、値が 0 のカウンタは省略されます。 .It Xo .Bk -words .Nm .Fl g .Op Fl W .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc マルチキャスト (グループアドレス) ルーティングに関連した情報を 表示します。デフォルトでは、IP マルチキャスト仮想インタフェースおよび ルーティングテーブルを表示します。 .It Xo .Bk -words .Nm .Fl gs .Op Fl s .Op Fl f Ar address_family .Op Fl M Ar core .Op Fl N Ar system .Ek .Xc マルチキャストルーティングの統計情報を表示します。 .Fl s が繰り返された場合、値が 0 のカウンタは省略されます。 .El .Pp いくつかのオプションは共通の意味で使えます。 .Bl -tag -width flag .It Fl f Ar address_family , Fl p Ar protocol 指定された .Ar address_family または単一の .Ar protocol に関するレコードのみを表示します。 以下のアドレスファミリまたはプロトコルが指定できます。 .Pp .Bl -tag -width ".Cm netgraph , ng Pq Dv AF_NETGRAPH" -compact .It Em ファミリ .Em プロトコル .It Cm inet Pq Dv AF_INET .Cm bdg , divert , icmp , igmp , ip , ipsec , tcp , udp .It Cm inet6 Pq Dv AF_INET6 .Cm bdg , icmp6 , ip6 , ipsec6 , rip6 , tcp , udp .It Cm pfkey Pq Dv PF_KEY .Cm pfkey .It Cm atalk Pq Dv AF_APPLETALK .Cm ddp .It Cm netgraph , ng Pq Dv AF_NETGRAPH .Cm ctrl , data .It Cm ipx Pq Dv AF_IPX .Cm ipx , spx .\".It Cm ns Pq Dv AF_NS .\".Cm idp , ns_err , spp .\".It Cm iso Pq Dv AF_ISO .\".Cm clnp , cltp , esis , tp .It Cm unix Pq Dv AF_UNIX .It Cm link Pq Dv AF_LINK .El .Pp このプログラムは .Ar protocol が不明であったり対応する統計ルーチンが存在しなかったりした場合には 文句を言います。 .It Fl M デフォルトで使用される .Pa /dev/kmem の代わりに指定した core から、ネームリストに関連する各値を 取り出します。 .It Fl N システムが起動されたカーネルイメージ のかわりに、指定したシステムからネームリストを取り出します。 .It Fl n ネットワークアドレスを数字で表示します。通常、 .Nm コマンドは、ネットワークアドレスとポートを可能な限り解決して シンボル表記で表示しようとします。 .It Fl W ある表示において、欄が溢れる場合でも、アドレスを縮めません。 .El .Pp デフォルトのアクティブソケット表示では、ローカルおよびリモートアドレス、 送受信キューのサイズ(バイト単位)、プロトコル、そしてプロトコルの内部状態が それぞれ表示されます。 アドレス形式については、 .Dq host.port もしくは、ソケットのアドレスが ネットワーク単位でしか特定できない場合には .Dq network.port という形式が採用されます。 ホストもしくはネットワークアドレスがデータベース .Xr hosts 5 や .Xr networks 5 の内容にしたがって変換可能である場合、各アドレスはシンボル表記で 表示されます。このような変換が不可能な場合、もしくは .Fl n オプションが指定された場合には、アドレスはアドレスファミリに従って 数値で表示されます。 インターネット IPv4 の .Dq ドット形式 についてさらに知りたい場合には、 .Xr inet 3 を参照して下さい。 特にアドレスが指定されてない場合や、アドレスが .Dq ワイルドカード 指定されている場合には、その部分のアドレスやポート番号のところには .Dq Li * が表示されます。 .Pp インタフェース表示では、パケット転送、エラー、コリジョンに関する 累積統計情報を見ることができます。また、インタフェースの ネットワークアドレスおよび最大転送可能ユニットサイズ .Pq Dq mtu も見ることができます。 .Pp ルーティングテーブル表示では、利用可能なルートとその状態が表示 されます。各ルートは、到達先ホストもしくはネットワークと、 パケットの転送 (forward) に使用されるゲートウェイから成ります。 フラグフィールドは、 ルートに関する情報の集合が表示されます。フラグフィールドの 個別のフラグに関する内容は、 .Xr route 8 および .Xr route 4 でより詳細に論ざれています。 表示される文字とフラグの間の対応は以下の通りです。 .Bl -column ".Li W" ".Dv RTF_WASCLONED" .It Li 1 Ta Dv RTF_PROTO1 Ta "プロトコル特有のルーティングフラグ #1" .It Li 2 Ta Dv RTF_PROTO2 Ta "プロトコル特有のルーティングフラグ #2" .It Li 3 Ta Dv RTF_PROTO3 Ta "プロトコル特有のルーティングフラグ #3" .It Li B Ta Dv RTF_BLACKHOLE Ta "パケットを破棄 (更新中)" .It Li b Ta Dv RTF_BROADCAST Ta "ブロードキャストアドレスを表現するルート" .It Li C Ta Dv RTF_CLONING Ta "使用時にルートを新たに生成する" .It Li c Ta Dv RTF_PRCLONING Ta "使用時にプロトコル特有のルートを新たに生成する" .It Li D Ta Dv RTF_DYNAMIC Ta "(リダイレクトによって) 動的に生成される" .It Li G Ta Dv RTF_GATEWAY Ta "ゲートウェイ等による中継を必要としている到達先" .It Li H Ta Dv RTF_HOST Ta "ホストエントリ (これ以外はネットワーク)" .It Li L Ta Dv RTF_LLINFO Ta "リンクアドレスへ変換できるプロトコル" .It Li M Ta Dv RTF_MODIFIED Ta "(リダイレクトによって) 動的に変更される" .It Li R Ta Dv RTF_REJECT Ta "到達不可能なホストもしくはネットワーク" .It Li S Ta Dv RTF_STATIC Ta "手動で追加された" .It Li U Ta Dv RTF_UP Ta "使用可能ルート" .It Li W Ta Dv RTF_WASCLONED Ta "クローンした結果として作成されたルート" .It Li X Ta Dv RTF_XRESOLVE Ta "外部の daemon がプロトコルからリンクアドレス変換を行なう" .El .Pp 直接到達可能なルートは、ローカルホストにアタッチされた各インタフェースごとに 生成されます。このようなエントリのゲートウェイフィールドは、 対外インタフェースのアドレスを表します。 refcnt フィールドは、使用されているルートの現在数を示します。 コネクション指向のプロトコルは、通常、コネクションの間中 単一のルートを保持します。 他方で、コネクションレス型のプロトコルは、同じ到達先に対して パケットを送る場合にも、新たにルートを確保します。 use フィールドは、そのルートを通って送られたパケット数を表示します。 インタフェースエントリは、そのルート用に用いられる ネットワークインタフェースを表示します。 .Pp .Nm が .Fl w オプションと .Ar wait インターバル引数を与えられて起動された場合、ネットワークインタフェースに 関連した統計情報を定期的に表示します。 ほとんど使われませんが、オプション指定なしで数字だけを netstat の引数と して指定することもでき、本オプションと同様の動作をさせることができます。 しかし、この使い方は以前との互換性のためにのみ存在します。 デフォルトでは、本表示は すべてのインタフェースについてのサマリ情報からなります。 .Fl I オプションを用いることで、特定の インタフェースの情報を表示させることが可能です。 .Sh 関連項目 .Xr fstat 1 , .Xr nfsstat 1 , .Xr ps 1 , .Xr sockstat 1 , .Xr inet 4 , .Xr route 4 , .Xr unix 4 , .Xr hosts 5 , .Xr networks 5 , .Xr protocols 5 , .Xr services 5 , .Xr iostat 8 , .Xr route 8 , .Xr trpt 8 , .Xr vmstat 8 , .Xr mbuf 9 .Sh 歴史 .Nm コマンドは、 .Bx 4.2 にはじめて登場しました。 .Pp IPv6 サポートは WIDE/KAME プロジェクトが追加しました。 .Sh バグ エラーの概念については、定義が間違っています。 diff --git a/ja_JP.eucJP/man/man1/send-pr.1 b/ja_JP.eucJP/man/man1/send-pr.1 index 3792ffa05b..2a2032b291 100644 --- a/ja_JP.eucJP/man/man1/send-pr.1 +++ b/ja_JP.eucJP/man/man1/send-pr.1 @@ -1,296 +1,307 @@ .\" -*- nroff -*- .\" --------------------------------------------------------------------------- .\" man page for send-pr (by Heinz G. Seidl, hgs@cygnus.com) .\" updated Feb 1993 for GNATS 3.00 by Jeffrey Osier, jeffrey@cygnus.com .\" .\" This file is part of the Problem Report Management System (GNATS) .\" Copyright 1992 Cygnus Support .\" .\" This program is free software; you can redistribute it and/or .\" modify it under the terms of the GNU General Public .\" License as published by the Free Software Foundation; either .\" version 2 of the License, or (at your option) any later version. .\" .\" This program is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU .\" General Public License for more details. .\" .\" You should have received a copy of the GNU Library General Public .\" License along with this program; if not, write to the Free .\" Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA .\" .\" --------------------------------------------------------------------------- -.\" -.\" %FreeBSD: src/gnu/usr.bin/send-pr/send-pr.1,v 1.9.2.1 2001/03/05 10:44:04 kris Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/send-pr.1,v 1.8 2001/05/14 01:07:28 horikawa Exp $ +.\" %FreeBSD: src/gnu/usr.bin/send-pr/send-pr.1,v 1.9.2.2 2001/11/05 00:27:21 dd Exp % +.\" $FreeBSD$ .nh .TH SEND-PR 1 3.113 "February 1993" .SH 名称 send-pr \- サポートサイトに Problem Report (PR) を送る。 .SH 書式 .B send-pr [ .I site ] [ .B \-f .I problem-report ] [ .B \-t .I mail-address ] .br .in +0.8i [ .B \-P ] [ .B \-L ] [ .B \-s .I severity ] [ .B \-V ] .br [ .B \-\-version ] [ .B \-c .I address ] +[ +.B \-a +.I file +] .SH 解説 .B send-pr は、サポートサイトに対して、 .I problem report .\" SITE ADMINISTRATORS - change this if you use a local default (PR) を送るために使うツールです。大抵の場合は正しい .I site がデフォルトとなっているはずです。この引数は、問題 のカテゴリに対して責任をもつサポートサイトを指し示します。いくつかの サイトはデフォルトとしてローカルアドレスを使っていることでしょう。 .I site は、 .BR aliases (5) を使って定義されます。 .LP .B send-pr を実行すると、エディタが起動され、用意されているテンプレートが (いくつ かのフィールドにもっともらしいデフォルトの値をあてはめてから) 読み込ま れます。エディタを終了すると、 .B send-pr は、サポートサイトの .I Problem Report Management System (\fBGNATS\fR) に書き込み終えた書式をメールで送ります。 サポートサイトで は、PR に唯一の番号を割り当てて、その問題のカテゴリ と \fIsubmitter-id\fR とともに、\fBGNATS\fR データベースに 保存しています。 \fBGNATS\fR は PR を受理したこと知らせるために、 問題のカテゴリの引用と PR 番号とを自動的に返送します。 .LP PR がすぐに処理されるようにするためには、問題の属す領域を識別するため、 指定可能カテゴリから一つを選んで記入する必要があります。(カテゴリの一覧は .B `send-pr -L' で見ることができます。) .LP 問題の記述がより正確であり、提供される情報がより完全であればあるほど、 サポートチームは問題をそれだけ早く解決することができます。 .SH オプション .TP .BI \-f " problem-report" すでに記入した PR ファイルを \fIproblem-report\fR に指定できます。 .B send-pr はエディタを起動せずに指定したファイルを送ります。 .I problem-report が .BR `\|\-\|' のときは .B send-pr は、標準入力から読み込みます。 .TP .BI \-s " severity" PR の重大度を、 .IR severity と指定します。 .TP .BI \-t " mail-address" PR を送るサイトのメールアドレスを変更します。 デフォルトのメールアドレスは、 デフォルトサイトのものが使われます。特殊な状況を除き、この オプションではなく、 .I site 引数を使って下さい。 .TP .BI \-c " address" .I address を、メッセージの .B Cc: ヘッダ中に入れます。 .TP +.BI \-a " file" +指定した +.I file +を +.B Fix: +節にコピーします。 +バイナリファイルは uuencode されます。 +.TP .B \-P 環境変数 .B PR_FORM で指定されたテンプレートを標準出力に出力します。 .B PR_FORM が定義されていないときは、標準のブランク PR テンプレートが出力されます。 メールは送られません。 .TP .B \-L 指定可能なカテゴリの一覧が表示されます。メールは送られません。 .TP .B \-V .B send-pr のバージョン番号を表示します。 .B \-\-version 指定でも表示可能です。 .LP 注: PR を提出するためには、PR を直接メールするのではなく、 .B send-pr を使いましょう。テンプレートと .B send-pr の両方を使うことによって、必要な情報のすべてがサポートサイトに確実に 届きやすくなります。 .SH FREEBSD のカテゴリ .TP .B advocacy 支持 WWW ページ用。何に使うのか今は不確かです。 .TP .B alpha Alpha プロセッサ固有の問題。 .TP .B bin システムの実行形式の修正または拡張。 .TP .B conf システムの設定ファイルの修正または拡張。 .TP .B docs マニュアルページまたは他の文書の修正または拡張。 .TP .B gnu GNU 堤要ソフトウェアの修正または拡張。 .TP .B i386 Intel x86 プロセッサ固有の問題。 .TP .B kern アーキテクチャ独立カーネルソースの修正または拡張。 .TP .B misc 他のカテゴリにあてはまらない問題。 .TP .B ports ports collection の修正または拡張 (新規 ports を含みます)。 .TP .B sparc SPARC プロセッサ固有の問題。 .SH 環境変数 環境変数 .B EDITOR は、テンプレートを編集する際に使用するエディタを指定します。 .br デフォルト: .B vi .sp 環境変数 .B PR_FORM が設定されていれば、その値は編集する PR のテンプレートのファイル名として 使われます。部分的に埋められた記入書式 ( たとえば、identification フィールドがすでに完成した書式など) を使って始めようとする場合に、 この環境変数を使うことができます。 .SH " PR の記入方法" プログラムが容易に PR を扱うことができるようにするため、 PR はある形式に従っている必要があります。 以下のガイドラインを覚えておきましょう: .IP \(bu 3m それぞれの PR には .B 一つの問題 だけを記述しましょう。 .IP \(bu 3m フォローアップメールには、 自動返送されて来るメールと同じサブジェクトを使いましょう。サブジェクトは、 カテゴリ、PR 番号、もともとの概要 ( synopsis ) 行から構成されています。 これによってサポートサイトは、 複数のメールメッセージをある PR に関連付けることができ、 またそれらを自動的に記録することができます。 .IP \(bu 3m サブジェクトや、概要の行はできるだけ正確に記入するようにしましょう。 .IP \(bu 3m サブジェクトの行と概要の行は機密扱いになりません。 公開扱いのバグリストがサブジェクトと概要の行から編集生成されるからです。 機密情報はここに書かないでください。 .LP 詳しくは、GNU .B Info ファイルの .B send-pr.info か、RP について詳しく書かれている \fIReporting Problems With send-pr\fR\ のドキュメントなどを参照してください。 .SH "テストケース、コード、その他の記入方法" 小さなサンプルコードを送りましょう。 大きなテストケースや問題のソースコードを送りたい場合にには、 サポートサイトに連絡を取り、指示に従ってください。 .SH 関連ファイル .ta \w'/tmp/pbad$$ 'u /tmp/p$$ 編集しているときに使う PR のコピー .br /tmp/pf$$ テスト目的で使う、空の PR テンプレートコピー .br /tmp/pbad$$ 却下された PR のファイル .SH EMACS ユーザインタフェース .B send-pr のフィールドを記入するための Emacs ユーザインタフェースが .B send-pr の配布物に含まれます( .BR "M-x send-pr" で起動します)。 コンフィギュレーションとインストールのための情報は、 .B send-pr.info もしくは配布物の最上位ディレクトリにある ASCII ファイル .B INSTALL を参照してください。 Emacs LISP のテンプレートファイルは .B send-pr-el.in であり、これを .BR send-pr.el としてインストールします。 .SH インストールとコンフィギュレーション インストール手順を知るためには .B send-pr.info か .B INSTALL を参照してください。 .SH 関連項目 .I Reporting Problems Using send-pr (GNU Info ファイル .BR send-pr.info としてもインストールされます) .SH 作者 Jeffrey Osier, Brendan Kehoe, Jason Merrill, Heinz G. Seidl (Cygnus Support) .SH COPYING Copyright (c) 1992, 1993 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. .PP Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. .PP Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. diff --git a/ja_JP.eucJP/man/man2/mmap.2 b/ja_JP.eucJP/man/man2/mmap.2 index 5e035e9156..59be1c0b4d 100644 --- a/ja_JP.eucJP/man/man2/mmap.2 +++ b/ja_JP.eucJP/man/man2/mmap.2 @@ -1,351 +1,349 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mmap.2 8.4 (Berkeley) 5/11/95 -.\" %FreeBSD: src/lib/libc/sys/mmap.2,v 1.22.2.9 2001/08/24 20:55:33 dg Exp % +.\" %FreeBSD: src/lib/libc/sys/mmap.2,v 1.22.2.10 2001/11/24 19:15:44 iedowse Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man2/mmap.2,v 1.7 2001/08/20 02:51:16 horikawa Exp $ +.\" $FreeBSD$ .Dd May 11, 1995 .Dt MMAP 2 .Os .Sh 名称 .Nm mmap .Nd メモリの割り当て、またはファイルまたはデバイスのメモリへのマップ .Sh ライブラリ .Lb libc .Sh 書式 .Fd #include .Fd #include .Ft void * .Fn mmap "void *addr" "size_t len" "int prot" "int flags" "int fd" "off_t offset" .Sh 解説 .Fn mmap 関数は、 .Fa addr を始点として最大で .Fa len バイトの連続するページに、 .Fa fd によって記述されるオブジェクトの バイトオフセット .Fa offset の位置から始まる部分をマップされるようにします。 .Fa len がページサイズの倍数でない場合、 マップされた領域は指定の範囲を越えて拡張されるかもしれません。 このような拡張によってマップされたオブジェクトの末端を越えた部分は 0 で埋められます。 .Pp .Fa addr が 0 でない場合、これはシステムへのヒントとして使用されます (システムの便宜のために、領域の実際のアドレスは 指定されたアドレスとは違う可能性があります)。 .Fa addr が 0 の場合、アドレスはシステムによって選択されます。 領域の実際の開始アドレスが返されます。 .Fa mmap が処理に成功すると、確保されたアドレス範囲の以前のマッピングは 削除されます。 .Pp 保護 (領域へのアクセス許可) は .Fa prot 引数で、以下の値の論理和 .\".Em or Ns 'ing .Em ( or ) を取った値で指定します。 .Pp .Bl -tag -width PROT_WRITE -compact .It Dv PROT_NONE ページはアクセスできません。 .It Dv PROT_READ ページは読取りできます。 .It Dv PROT_WRITE ページは書込みできます。 .It Dv PROT_EXEC ページは実行可能です。 .El .Pp .Fa flags パラメータは、マップされたオブジェクトのタイプ、マッピングオプション、 およびマップされたページのコピーに対して行なわれた修正が、プロセスに 固有であるかまたは他からの参照と共有されるかを指定します。 共有、マッピングタイプ、およびオプションは、以下の値の論理和 .\".Em or Ns 'ing .Em ( or ) を取った値で .Fa flags 引数に指定します。 .Bl -tag -width MAP_HASSEMAPHORE .It Dv MAP_ANON どの特定のファイルとも対応していない匿名メモリをマップします。 .Dv MAP_ANON を作成するのに使用される ファイル記述子は \-1 である必要があります。 .Fa offset パラメータは無視されます。 .\".It Dv MAP_FILE .\"Mapped from a regular file or character-special device memory. .It Dv MAP_FIXED システムが、指定されたアドレスと異なるアドレスを選択することを許容しません。 指定されたアドレスが使用できない場合、 .Fn mmap は処理に失敗します。 .Dv MAP_FIXED が指定されている場合、 .Fa addr はページサイズの倍数である必要があります。 このオプションの使用はお勧めできません。 .It Dv MAP_HASSEMAPHORE 領域にセマフォが含まれている可能性があること、特殊な処理が必要な可能性が あることをカーネルに通知します。 .It Dv MAP_NOCORE 領域はコアファイルに含まれません。 .It Dv MAP_NOSYNC はこの VM マップを経由して汚されたデータを、無闇にではなく (通常はページャによって) 必要な時のみ物理的なメディアに フラッシュするようにします。 普通、このオプションにより、更新デーモンはこのマップで 汚されたページをフラッシュしないようになります。これにより、 ファイルバックアップされた共有メモリのマッピングを使用して 無関係なプロセスの間でメモリアクセスを効率的に共有することが できるようになります。 このオプションがないと、汚された VM ページは頻繁 (通常 30-60 秒毎) に ディスクにフラッシュされるかも知れず、そのような動作を必要としない場合 (例えば IPC のためにファイルを用いた共有 mmap 領域を用いている場合) パフォーマンスに問題が出ることがあります。 .Dv MAP_NOSYNC を使っているかにかかわらず、 VM/ ファイルシステムの一貫性は保たれることに注意してください。 このオプションは .Ux プラットフォーム間で (まだ) 移植性はありませんが、 いくつかのプラットフォームではデフォルトで同じ動作をするように 実装されているかも知れません。 .Pp .Em 警告 ! .Xr ftruncate 2 を使いファイルを拡張してから、つまりファイルに大きな穴を空けてから、 その穴を共有 .Fn mmap を修正して埋める場合、深刻なファイル断片化が生じる可能性があります。 この断片化を避けるために、 .Fn mmap でその領域を修正する前に、新規に拡張した領域に 0 を .Fn write して、ファイルのバッキングストアを事前に割り当てておく必要があります。 ディスクへのフラッシュが全くランダムに生じるため、 断片化問題に特に敏感なのは、 .Dv MAP_NOSYNC ページです。 .Pp 同じことが、 .Dv MAP_NOSYNC を使いファイルベースの共有メモリストアを実装する場合にもいえます。 .Fn ftruncate してバッキングストアを作るのではなく、0 を .Fn write してバッキングストアを作ることを推奨します。 たとえば、 .Dq Li dd if=filename of=/dev/null bs=32k を使うなどして巨大なファイルをシーケンシャルに読み込みながら、 .Dq Li iostat 1 を呼び出すことで得られる KB/t (転送 1 回あたりのキロバイト数) を観察することで ファイル断片化のテストが可能です。 .Pp .Xr fsync 2 関数はすべての汚染されたデータとファイルに関連づけられたメタデータ (NOSYNC の汚れた VM データを含む) を物理的媒体にフラッシュします。 .Xr sync 8 コマンドと .Xr sync 2 システムコールは、汚染された NOSYNC VM のデータを通常フラッシュしません。 .Xr msync 2 システムコールは .Bx で整合性のあるファイルシステムのバッファキャッシュが実装されたので 廃止されました。しかしながら、汚れた VM ページとファイルシステムを 結びつけ、物理的媒体にすぐに(後程ではなく)フラッシュさせる用途に 使われることもあります。 .It Dv MAP_PRIVATE 修正はプロセス固有に行なわれます。 .It Dv MAP_SHARED 修正は共有されます。 .It Dv MAP_STACK このオプションが利用できるのは、システムのカーネルをコンパイルするときに .Dv VM_STACK を定義してコンパイルした場合だけです。 これは i386 についてだけデフォルトです。他のアーキテクチャで このオプションを有効にしたい場合は、 .Pa /etc/make.conf 内で .Li -DVM_STACK を .Va COPTFLAGS に追加する方法を検討してください。 .Dv MAP_STACK は .Dv MAP_ANON および 0 の .Fa offset 指定を含みます。 .Fa fd は -1 でなければならず、 .Fa prot には少なくとも .Dv PROT_READ と .Dv PROT_WRITE が入っている必要があります。 このオプションは、スタックの 先頭を開始点とし下方に伸びる、サイズが最大で .Fa len バイトまで伸びるメモリ領域を作成します。 スタックの先頭は、呼び出しから返された開始アドレスに .Fa len バイトを加えたものになります。最も伸びた場合のスタックの下端は、 呼び出しによって返される開始アドレスになります。 .El .Pp .Xr close 2 関数はページをアンマップしません。詳細については .Xr munmap 2 を参照してください。 .Pp 現在の設計ではプロセスはスワップ空間の位置を指定できません。 将来は、追加のマッピングタイプ .Dv MAP_SWAP を定義するかもしれません。この場合、ファイル記述子引数には スワップを行なうべきファイルまたはデバイスを指定します。 .Sh 戻り値 正常に完了すると、 .Fn mmap は、マップされた領域を指すポインタを返します。そうでない場合は 値 .Dv MAP_FAILED が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー .Fn mmap は次の場合に失敗します。 .Bl -tag -width Er .It Bq Er EACCES フラグ .Dv PROT_READ が .Fa prot パラメータの一部として指定されましたが、 .Fa fd が読取り用に開かれていませんでした。 フラグ .Dv MAP_SHARED と .Dv PROT_WRITE が .Fa flags と .Fa prot パラメータの一部として指定されましたが、 .Fa fd は書込み用に開かれていませんでした。 .It Bq Er EBADF .Fa fd が有効な開かれたファイルの記述子ではありません。 .It Bq Er EINVAL .Dv MAP_FIXED が指定されて .Fa addr パラメータがページ境界に整列されていないか、または指定の アドレスの一部がユーザプロセスの有効なアドレス空間の外になります。 .It Bq Er EINVAL .Fa len が負でした。 .It Bq Er EINVAL .Dv MAP_ANON が指定されて .Fa fd パラメータが -1 ではありませんでした。 .It Bq Er EINVAL .Dv MAP_ANON が指定されておらず、 .Fa fd が通常のファイルまたはキャラクタ型特殊ファイルを参照していませんでした。 .It Bq Er EINVAL .Fa offset がページ境界に整列していませんでした (後述する「 .Sx バグ の章」を参照)。 .It Bq Er ENOMEM .Dv MAP_FIXED が指定されて .Fa addr パラメータが与えられない、もしくは sysctl 値 .Va vm.nax_proc_mmap で指定された プロセス毎の mmap 限界に達しました。 .Dv MAP_ANON が指定されて利用できるメモリが不充分でした。 .El .Sh 関連項目 .Xr madvise 2 , .Xr mincore 2 , .Xr mlock 2 , .Xr mprotect 2 , .Xr msync 2 , .Xr munlock 2 , .Xr munmap 2 , .Xr getpagesize 3 .Sh バグ .Fa len は 2GB に限定されます。2GB をわずかに上回るマッピングは機能しませんが、 2GB, 4GB, 6GB, および 8GB よりわずかに少ないファイルサイズについて (ファイルサイズ % 2GB) のサイズのウィンドウをマップできます。 .Pp 制約は多彩な理由から生じています。 そのほとんどは、パフォーマンス上の著しいペナルティのため、 .Fx では VM システム内で 64 ビットのオフセットを使用したくないことと 関係しています。 したがって .Fx は 32 ビットのページインデックスを使用しており、これによって .Fx では最高で 8TB までのファイルサイズを利用できます。実際には さらに制約が課されて使用可能サイズは 1TB までですが、これは、 ファイルシステムコード内のバグによるものです (ブロック番号計算を行なっているときの桁落ち)。 .Pp 2GB 制限のもうひとつの理由は、ファイルシステムメタデータが負のオフセットに 存在できるということです。 -.Pp -現在われわれはページ境界に整列したファイルオフセットのみを処理できます。 diff --git a/ja_JP.eucJP/man/man2/rename.2 b/ja_JP.eucJP/man/man2/rename.2 index 429fddd25b..4b2a02cf01 100644 --- a/ja_JP.eucJP/man/man2/rename.2 +++ b/ja_JP.eucJP/man/man2/rename.2 @@ -1,189 +1,191 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)rename.2 8.1 (Berkeley) 6/4/93 -.\" %FreeBSD: src/lib/libc/sys/rename.2,v 1.8.2.5 2001/08/17 15:42:45 ru Exp % +.\" %FreeBSD: src/lib/libc/sys/rename.2,v 1.8.2.6 2001/12/01 08:23:31 gshapiro Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man2/rename.2,v 1.7 2001/08/19 07:14:27 horikawa Exp $ +.\" $FreeBSD$ .Dd June 4, 1993 .Dt RENAME 2 .Os .Sh 名称 .Nm rename .Nd ファイル名を変更する .Sh ライブラリ .Lb libc .Sh 書式 .Fd #include .Ft int .Fn rename "const char *from" "const char *to" .Sh 解説 .Fn rename によって .Fa from と名づけられたリンクを .Fa to に変更します。 .Fa to がすでに存在する場合は、先にこれを削除します。 .Fa from と .Fa to は同じタイプでなければならず (両方とも ディレクトリであるか、両方ともディレクトリではないか)、 同じファイルシステム上に存在している必要があります。 .Pp +.Fa to +が既に存在する場合には、操作の途中でシステムがクラッシュしたとしても、 .Fn rename -は、操作の途中でシステムがクラッシュしても +は .Fa to のインスタンスが必ず存在することを保証します。 .Pp .Fa from の最後の構成要素がシンボリックリンクの場合、それが指している ファイルまたはディレクトリではなく、 そのシンボリックリンクの名前が変更されます。 .\".Sh CAVEAT .\"The system can deadlock if a loop in the file system graph is present. .\"This loop takes the form of an entry in directory .\".Ql Pa a , .\"say .\".Ql Pa a/foo , .\"being a hard link to directory .\".Ql Pa b , .\"and an entry in .\"directory .\".Ql Pa b , .\"say .\".Ql Pa b/bar , .\"being a hard link .\"to directory .\".Ql Pa a . .\"When such a loop exists and two separate processes attempt to .\"perform .\".Ql rename a/foo b/bar .\"and .\".Ql rename b/bar a/foo , .\"respectively, .\"the system may deadlock attempting to lock .\"both directories for modification. .\"Hard links to directories should be .\"replaced by symbolic links by the system administrator. .Sh 戻り値 .Rv -std rename .Sh エラー .Fn rename は次の場合に失敗し、いずれの引数ファイルも影響を受けません。 .Bl -tag -width Er .It Bq Er ENAMETOOLONG いずれかのパス名の構成要素が 255 文字を越えているか、またはいずれかの パス名全体の長さが 1023 文字を越えています。 .It Bq Er ENOENT .Fa from パスの構成要素が存在しないか、または .Fa to の前置パス名が存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er EACCES 指定されたリンクは、書込みが許可されていない ディレクトリへの書込みを要求しています。 .It Bq Er EPERM .Fa from ファイルを含むディレクトリにスティッキービットが設定されており、 そのディレクトリと .Fa from のどちらの所有者も実効ユーザ ID とは異なっています。 .It Bq Er EPERM .Fa to ファイルが存在し、かつ .Fa to を含んでいるディレクトリにスティッキービットが設定されており、 そのディレクトリと .Fa to ファイルのどちらの所有者も実効ユーザ ID とは異なっています。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENOTDIR .Fa from はディレクトリですが、 .Fa to はディレクトリではありません。 .It Bq Er EISDIR .Fa to はディレクトリですが、 .Fa from はディレクトリではありません。 .It Bq Er EXDEV .Fa to によって指定されたリンク、および .Fa from によって指定されたファイルが 異なる論理デバイス (ファイルシステム) 上にあります。 実装がクロスデバイスリンクを許容する場合、このエラーコードは 返らないことに注意してください。 .It Bq Er ENOSPC ディレクトリを格納しているファイルシステム上の空間が枯渇したため、 新しい名前のためのエントリを置くディレクトリを拡張できません。 .It Bq Er EDQUOT ディレクトリを格納しているファイルシステム上のディスクブロックのユーザの クォータが枯渇したため、 新しい名前のためのエントリを置くディレクトリを拡張できません。 .It Bq Er EIO ディレクトリエントリを作成または更新している間に入出力エラーが発生しました。 .It Bq Er EROFS 指定されたリンクは、読取り専用ファイルシステム上のディレクトリへの 書込みを要求しています。 .It Bq Er EFAULT .Em path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EINVAL .Fa from が .Fa to の親ディレクトリであるか、 .Ql .\& または .Ql \&.. に名前を変更しようとしました。 .It Bq Er ENOTEMPTY .Fa to はディレクトリであり、空ではありません。 .El .Sh 関連項目 .Xr open 2 , .Xr symlink 7 .Sh 規格 .Fn rename 関数は .St -p1003.1-90 に準拠しています。 diff --git a/ja_JP.eucJP/man/man5/periodic.conf.5 b/ja_JP.eucJP/man/man5/periodic.conf.5 index 02d6c79aac..e4df5ad458 100644 --- a/ja_JP.eucJP/man/man5/periodic.conf.5 +++ b/ja_JP.eucJP/man/man5/periodic.conf.5 @@ -1,613 +1,613 @@ .\"- .\" Copyright (c) 2000 Brian Somers .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/periodic.conf.5,v 1.8.2.16 2001/08/17 13:08:47 ru Exp % +.\" %FreeBSD: src/share/man/man5/periodic.conf.5,v 1.8.2.17 2001/11/27 11:36:35 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/periodic.conf.5,v 1.11 2001/07/29 22:12:31 horikawa Exp $ +.\" $FreeBSD$ .Dd June 22, 2000 .Dt PERIODIC.CONF 5 .Os .Sh 名称 .Nm periodic.conf .Nd 定期実行ジョブの設定情報 .Sh 解説 .Nm ファイルには、日次/週次/月次のシステムメンテナンスジョブを どのように実行するかが記述されています。 このファイルは .Pa /etc/defaults にあり、 .Pa /etc の下にある同名のファイルは部分的に優先されます。 そしてさらに .Pa /etc/periodic.conf.local が優先されます。 .Pp .Nm は実際にはそれぞれの定期実行スクリプトからシェルスクリプトとして 取り込まれ、単にデフォルトの設定変数を提供することを意図しています。 .Pp 以下の変数は .Xr periodic 8 自身によって使用されます: .Bl -tag -offset 4n -width 2n .It Va local_periodic .Pq Vt 文字列 定期実行スクリプトを検索するディレクトリのリスト。 このリストは .Xr periodic 8 の引数が絶対パスのディレクトリ名でなかった場合にのみ使用され、常に .Pa /etc/periodic が前置きされます。 .It Va dir Ns No _output .Pq Vt パス No または Vt リスト .Ar dir ディレクトリから起動されるスクリプトの出力をどうするか記述します。 この変数に絶対パスが指定された場合、出力はそのファイルに行われます。 絶対パスではなかった場合は、一つ以上のスペースで区切られた 複数のメールアドレスと解釈され、それらのユーザにメールで送られます。 この変数が設定されてない場合や変数が空であった場合は、 標準出力に出力されます。 .Pp それほど気にかけていないマシンでは .Va daily_output , .Va weekly_output , .Va monthly_output はそれぞれ .Dq /var/log/daily.log , .Dq /var/log/weekly.log , .Dq /var/log/monthly.log にしておくといいでしょう。すると .Xr newsyslog 8 が、(もしファイルがあれば) これらのファイルを適切な時に切替えます。 .It Va dir Ns No _show_success .It Va dir Ns No _show_info .It Va dir Ns No _show_badconfig .Pq Vt ブール値 これらの変数は 起動されたスクリプトの戻り値に従って、 .Xr periodic 8 が出力を抑制するかどうかを制御します (ここで .Ar dir はそれぞれのスクリプトが置かれてるディレクトリ名です)。 もしスクリプトの戻り値が .Sq 0 で、 .Va dir Ns No _show_success が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしスクリプトの戻り値が .Sq 1 で、 .Va dir Ns No _show_info が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしスクリプトの戻り値が .Sq 2 で、 .Va dir Ns No _show_badconfig が .Dq NO に設定されていた場合、 .Xr periodic 8 はスクリプトの出力を抑制します。 もしこれらの変数が .Dq YES にも .Dq NO にも設定されていなかった場合は、それぞれのデフォルト値は .Dq YES , .Dq YES そして .Dq NO です。 .Pp スクリプトの戻り値がどのように解釈されるかは .Xr periodic 8 のマニュアルページを参照して下さい。 .El .Pp 以下の変数は .Pa /etc/periodic/daily にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Va daily_clean_disks_enable .Pq Vt ブール値 .Va daily_clean_disks_files にマッチしたファイルを毎日削除したい場合 .Dq YES にします。 .It Va daily_clean_disks_files .Pq Vt 文字列 マッチさせるファイル名のリストを設定します。 ワイルドカードも使用できます。 .It Va daily_clean_disks_days .Pq Vt 整数 .Va daily_clean_disks_enable が .Dq YES の場合、何日間ファイルにアクセスや修正がなかったら 削除するかをこの変数に設定する必要もあります。 .It Va daily_clean_disks_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_clean_tmps_enable .Pq Vt ブール値 毎日一時ディレクトリをきれいにしたい場合 .Dq YES に設定します。 .It Va daily_clean_tmps_dirs .Pq Vt 文字列 .Va daily_clean_tmps_enable が .Dq YES に設定されていた場合にきれいにするディレクトリ名のリストを指定します。 .It Va daily_clean_tmps_days .Pq Vt 整数 .Va daily_clean_tmps_enable が設定されていた場合、何日間ファイルにアクセスや修正がなかったら 削除するかをこの変数に設定する必要もあります。 .It Va daily_clean_tmps_ignore .Pq Vt 文字列 .Va daily_clean_tmps_enable が .Dq YES に設定されていた場合に削除させたくないファイルのリストを設定します。 ワイルドカードも使用可能です。 .It Va daily_clean_tmps_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_clean_preserve_enable .Pq Vt ブール値 .Pa /var/preserve から古いファイルを削除したい場合 .Dq YES に設定します。 .It Va daily_clean_preserve_days .Pq Vt 整数 何日間ファイルに修正がなかったら削除するかを この変数に設定します。 .It Va daily_clean_preserve_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_clean_msgs_enable .Pq Vt ブール値 古いシステムメッセージを削除する場合 .Dq YES に設定します。 .It Va daily_clean_msgs_days .Pq Vt 整数 何日間ファイルに修正がなかったら削除するかを設定します。 この変数が空白だった場合、 .Xr msgs 1 のデフォルト値が使われます。 .It Va daily_clean_rwho_enable .Pq Vt ブール値 .Pa /var/who の下の古いファイルを削除したい場合 .Dq YES に設定します。 .It Va daily_clean_rwho_days .Pq Vt 整数 何日間ファイルに修正がなかったら削除するかを設定します。 .It Va daily_clean_rwho_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_clean_hoststat_enable .Pq Vt ブール値 .Pa /var/spool/.hoststat の下の古いファイルを削除したい場合 .Dq YES に設定します。 .It Va daily_clean_hoststat_days .Pq Vt 整数 何日間ファイルに修正がなかったら削除するかを設定します。 .It Va daily_clean_hoststat_verbose .Pq Vt ブール値 削除したファイル名を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_backup_passwd_enable .Pq Vt ブール値 .Pa /etc/master.passwd ファイルと .Pa /etc/group ファイルのバックアップをとりリポートを出力させたい場合 .Dq YES に設定します。 リポートは、両ファイルに対する修正点と .Pa group ファイルに .Xr chkgrp 8 をかけた結果を出力します。 .It Va daily_backup_aliases_enable .Pq Vt ブール値 .Pa /etc/mail/aliases ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_backup_distfile_enable .Pq Vt ブール値 .Pa /etc/Distfile ファイルのバックアップをとり修正点を日次の出力で報告させたい場合 .Dq YES に設定します。 .It Va daily_calendar_enable .Pq Vt ブール値 毎日 .Ic calendar -a を行いたい場合 .Dq YES に設定します。 .It Va daily_accounting_enable .Pq Vt ブール値 毎日アカウンティングファイルを 切り替えたい場合 .Dq YES にします。 .Xr rc.conf 5 の中の .Va accounting_enable が有効になっていない場合は切り替える必要はありません。 .It Va daily_accounting_compress .Pq Vt ブール値 日々のアカウンティングファイルを .Xr gzip 1 を使用して圧縮したい場合 .Dq YES に設定します。 .It Va daily_accounting_save .Pq Vt 数値 .Va daily_accounting_enable が設定されている場合、 保存すべき日々のアカウンティングファイル数を指定します。 デフォルトは .Dq 3 です。 .It Va daily_accounting_flags .Pq Vt 文字列 .Va daily_accounting_enable が .Dq YES に設定されていた場合に ( .Fl s に加えて) -.Xr sa 1 +.Xr sa 8 ユーティリティに渡すフラグを指定します。 デフォルトは .Fl q です。 .It Va daily_distfile_enable .Pq Vt ブール値 毎日 .Xr rdist 1 を実行したい場合 .Dq YES に設定します。その場合 .Pa /etc/Distfile も存在していなければなりません。 .It Pa daily_news_expire_enable .Pq Vt ブール値 .Pa /etc/news.expire を実行したい場合 .Dq YES に設定します。 .It Pa daily_uuclean_enable .Pq Vt ブール値 .Ic uustat -a を実行したい場合 .Dq YES に設定します。 .It Va daily_status_disks_enable .Pq Vt ブール値 ( .Va daily_status_disks_df_flags を引数に指定して) .Xr df 1 を実行し、また .Ic dump -W を実行したい場合 .Dq YES に設定します。 .It Va daily_status_disks_df_flags .Pq Vt 文字列 .Va daily_status_disks_enable が .Dq YES の場合、 .Xr df 1 ユーティリティに渡す引数を設定します。 .It Va daily_status_uucp_enable .Pq Vt ブール値 .\" 原文の /etc/uuclean.daily は誤りと思われる [man-jp-reviewer 3018], .\" docs/2267 .Ic uustat -a を実行したい場合 .Dq YES に設定します。 .It Va daily_status_network_enable .Pq Vt ブール値 .Ic netstat -i を実行したい場合 .Dq YES に設定します。 .It Va daily_status_network_usedns .Pq Vt ブール値 .Xr netstat 1 を実行する時、(DNS を参照するための) .Fl n オプションをつけずに実行したい場合 .Dq YES に設定します。 .It Va daily_status_rwho_enable .Pq Vt ブール値 .Xr uptime 1 を実行したい場合 (もしくは .Pa /etc/rc.conf の中で .Va rwhod_enable を .Dq YES に設定していて .Xr ruptime 1 を実行したい場合) .Dq YES に設定します。 .It Va daily_status_mailq_enable .Pq Vt ブール値 .Xr mailq 1 を実行したい場合 .Dq YES に設定します。 .It Va daily_status_mailq_shorten .Pq Vt ブール値 .Va daily_status_mailq_enable を .Dq YES に設定していて .Nm mailq の出力を短くしたい場合 .Dq YES に設定します。 .It Va daily_status_security_enable .Pq Vt ブール値 .Pa /etc/security を実行したい場合 .Dq YES に設定します。 .It Va daily_status_security_inline .Pq Vt ブール値 .Pa /etc/security .\" inline -> その場 をその場で実行したい場合 .Dq YES に設定します。 デフォルトでは、 .Va daily_status_security_output の値に従い、出力をメールするかログします。 .It Va daily_status_security_output .Pq Vt 文字列 .Va daily_status_security_inline が .Dq NO である場合の、 .Pa /etc/security の送信先です。 この変数は、前述の .Va *_output 変数と同様に振舞います。 すなわち、1 個以上の email アドレスか、1 個の絶対パス指定のファイル名です。 .It Va daily_status_security_noamd .Pq Vt ブール値 前日のファイルシステムのマウント状況と比較する時に .Xr amd 8 によるマウントを無視したい場合 .Dq YES に設定します。 .It Va daily_status_mail_rejects_enable .Pq Vt ブール値 .Pa /var/log/maillog に記録された 前日分のメール拒否を要約したい場合 .Dq YES に設定します。 .It Va daily_status_named_enable .Pq Vt ブール値 前日文の拒否されたゾーン転送 (AXFR と IXFR) を要約したい場合 .Dq YES に設定します。 .It Va daily_status_named_usedns .Pq Vt ブール値 DNS の逆引き検索を有効にしたい場合 .Dq YES に設定します。 .It Va daily_status_mail_rejects_logs .Pq Vt 整数 前日分のメール拒否をチェックするべき maillog ファイルの数を設定します。 .It Va daily_queuerun_enable .Pq Vt ブール値 Set to .Dq YES if you want to manually run the mail queue at least once a day. .It Va daily_local .Pq Vt 文字列 他のすべての日次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Pp 以下の変数は .Pa /etc/periodic/weekly にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Va weekly_clean_kvmdb_enable .Pq Vt ブール値 古い .Pa /var/db/kvm_*.db ファイルを削除したい場合 .Dq YES に設定します。 現在のカーネルが使っている kvm ファイルは削除されません。 .It Va weekly_clean_kvmdb_days .Pq Vt 整数 何日間ファイルにアクセスがなかったら 削除するかをこの変数に設定する必要があります。 .It Va weekly_clean_kvmdb_verbose .Pq Vt ブール値 削除したファイル名を週次の出力で報告させたい場合 .Dq YES に設定します。 .It Va weekly_uucp_enable .Pq Vt ブール値 .Pa /usr/libexec/uucp/clean.weekly を実行したい場合 .Dq YES に設定します。 .It Va weekly_locate_enable .Pq Vt ブール値 .Pa /usr/libexec/locate.updatedb を実行したい場合 .Dq YES に設定します。このスクリプトは .An nobody ユーザとして .Ic nice -5 を使用して実行され、 .Xr locate 1 コマンドによって使われるテーブルを生成します。 .It Va weekly_whatis_enable .Pq Vt ブール値 .Pa /usr/libexec/makewhatis.local を実行したい場合 .Dq YES に設定します。このスクリプトは .Xr apropos 1 コマンドによって使われるデータベースを再生成します。 .It Va weekly_catman_enable .Pq Vt ブール値 .Pa /usr/libexec/catman.local を実行したい場合 .Dq YES に設定します。 このスクリプトはすべての古くなったマニュアルページを処理して、 ディスク容量を消費する代わりに .Xr man 1 コマンドを速くします。 .It Va weekly_noid_enable .Pq Vt ブール値 システム上でみなしごになったファイルを 探したい場合 .Dq YES に設定します。 みなしごになったファイルとは、 無効なユーザやグループのものとなっているファイルです。 .It Va weekly_noid_dirs .Pq Vt 文字列 みなしごになったファイルを探したいディレクトリのリストを 指定します。これは通常 .Pa / に設定されます。 .It Va weekly_status_pkg_enable .Pq Vt ブール値 インストールされているパッケージの中で 古くなったものを .Xr pkg_version 1 を使用して一覧にしたい場合 .Dq YES に設定します。 .It Va weekly_local .Pq Vt 文字列 他のすべての週次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Pp 以下の変数は .Pa /etc/periodic/monthly にある標準のスクリプトによって使用されます: .Bl -tag -offset 4n -width 2n .It Va monthly_accounting_enable .Pq Vt ブール値 .Xr ac 8 コマンドによってログインのアカウンティング処理を行いたい場合 .Dq YES に設定します。 .It Va monthly_local .Pq Vt 文字列 他のすべての月次スクリプトの後に実行する 追加スクリプトのリストを設定します。 すべてのスクリプトは絶対パスで指定されなければなりません。 .El .Sh 関連ファイル .Bl -tag -width /etc/defaults/periodic.conf .It Pa /etc/defaults/periodic.conf デフォルト設定ファイルです。 このファイルはすべてのデフォルトの変数と設定値が記述されています。 .It Pa /etc/periodic.conf 通常、システム特有の変数を優先させるためのファイルです。 .It Pa /etc/periodic.conf.local さらに追加して優先させるためのファイルで、 .Pa /etc/periodic.conf を共有していたり、配布していたりする場合に役立ちます。 .El .Sh 関連項目 .Xr apropos 1 , .Xr calendar 1 , .Xr df 1 , .Xr gzip 1 , .Xr locate 1 , .Xr man 1 , .Xr msgs 1 , .Xr netstat 1 , .Xr nice 1 , .Xr pkg_version 1 , .Xr rdist 1 , .Xr rc.conf 5 , .Xr ac 8 , .Xr chkgrp 8 , .Xr dump 8 , .Xr newsyslog 8 , .Xr periodic 8 .Sh 歴史 .Nm ファイルは .Fx 4.1 で登場しました。 .Sh 作者 .An Brian Somers Aq brian@Awfulhak.org diff --git a/ja_JP.eucJP/man/man7/hier.7 b/ja_JP.eucJP/man/man7/hier.7 index c10f12a4fc..c66927b60d 100644 --- a/ja_JP.eucJP/man/man7/hier.7 +++ b/ja_JP.eucJP/man/man7/hier.7 @@ -1,764 +1,768 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man7/hier.7,v 1.29.2.11 2001/10/31 23:16:42 assar Exp % +.\" %FreeBSD: src/share/man/man7/hier.7,v 1.29.2.12 2001/11/06 09:18:51 cjc Exp % .\" .\" $FreeBSD$ .Dd June 5, 1993 .Dt HIER 7 .Os .Sh 名称 .Nm hier .Nd ファイルシステムのレイアウト .Sh 解説 ファイルシステムの階層構成についての概略です。 .Bl -tag -width "/stand/" .It Pa / ファイルシステムのルートディレクトリ。 .It Pa /bin/ ユーザ用ユーティリティの基本的なもの。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /boot/ オペレーティングシステムのブートストラップ中に使用される プログラムと設定ファイル。 .Pp .Bl -tag -width defaults/ -compact .It Pa defaults/ デフォルトのブートストラップ用設定ファイル。 .Xr loader.conf 5 参照。 .El .It Pa /dev/ ブロックデバイスおよびキャラクタデバイスファイル。 .Pp .Bl -tag -width MAKEDEV -compact .It Pa MAKEDEV デバイスファイル作成用スクリプト。 .Xr MAKEDEV 8 参照。 .It Pa fd/ ファイル記述子ファイル。 .Xr \&fd 4 参照。 .El .It Pa /etc/ システムの設定ファイル、およびスクリプト。 .Pp .Bl -tag -width "disklabels/" -compact .It Pa defaults/ デフォルトのシステム設定ファイル。 .Xr rc 8 参照。 .It Pa gnats/ gnats 設定ファイル。 .Xr send-pr 1 参照。 .It Pa isdn/ isdn4bsd の設定ファイル。 .Xr isdnd 8 参照。 .It Pa kerberosIV/ kerberos バージョン IV の設定ファイル。 .Xr kerberos 1 参照。 .It Pa localtime ローカルタイムゾーン情報。 .Xr ctime 3 参照。 .It Pa mail/ sendmail の制御情報。 .It Pa mtree/ mtree 設定ファイル。 .Xr mtree 8 参照。 .It Pa namedb/ named 設定ファイル。 .Xr named 8 参照。 .It Pa periodic/ .Xr cron 8 により、毎日/毎週/毎月実行されるスクリプト。 .Xr periodic 8 参照。 .It Pa ppp/ .Xr ppp 8 ppp 設定ファイル。 .Xr ppp 8 参照。 .It Pa ssl/ OpenSSL 設定ファイル。 .It Pa uucp/ uucp 設定ファイル。 .Xr uucp 1 参照。 .El .It Pa /kernel カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Pa /modules/ ロード可能なカーネルモジュール。 .Xr kldstat 8 参照。 .It Pa /mnt/ 通常、システム管理者が一時的なマウントポイントとして使用する 空のディレクトリ。 .It Pa /proc/ プロセスファイルシステム。 .Xr procfs 5 , .Xr mount_procfs 8 参照。 .It Pa /root/ root のホームディレクトリ。 .It Pa /sbin/ システムプログラム、および基本的な管理者用ユーティリティ。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /stand/ スタンドアロン環境で使用されるプログラム。 .It Pa /tmp/ システムリブートをまたがった永続性が保証されない、一時ファイル。 .It Pa /usr/ ユーザ用ユーティリティ、およびアプリケーションの大部分を含む。 .Pp .Bl -tag -width "libdata/" -compact .It Pa bin/ 一般的なユーティリティ、プログラミングツール、アプリケーション。 .It Pa games/ 有用でちょっとふざけたプログラム。 .It Pa heimdal/ Kerberos サーバデータベース。 kdc(8) 参照。 .It Pa include/ 標準 C 言語インクルードファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Pa arpa/ インターネットサービスプロトコルのための C 言語インクルードファイル。 .It Pa cam/ Common Access Methods Layer 用 C インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It scsi/ CAM 上の SCSI デバイス。 .El .It Pa dev/ 様々な .Fx デバイスのプログラミング用の C インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Pa ppbus/ パラレルポートバス。 .Xr ppbus 4 参照。 .It usb/ USB サブシステム。 .El .It Pa fs/ .Bl -tag -width "kerberosIV/" -compact .It Pa smbfs/ SMB/CIFS ファイルシステム。 .El .It Pa g++/ GNU C++ 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Pa std/ GNU C++ 言語 libstdc++ インクルードファイル。 .El .It Pa isc/ ISC ユーティリティライブラリ libisc インクルードファイル。 .It Pa isofs/ .Bl -tag -width "kerberosIV/" -compact .It Pa cd9660/ iso9660 形式ファイルシステム。 .El .It Pa kerberosIV/ kerberos 認証パッケージ用 C 言語インクルードファイル。 .Xr kerberos 1 参照。 .It Pa machine/ マシン固有機能の C 言語インクルードファイル。 .It Pa msdosfs/ MS-DOS ファイルシステム。 .It Pa net/ その他のネットワーク機能用 C 言語インクルードファイル。 .It Pa netatalk/ Appletalk プロトコル。 .It Pa netatm/ ATM のインクルードファイル。 .Xr atm 8 参照。 .It Pa netinet/ インターネット標準プロトコル用 C 言語インクルードファイル。 .Xr inet 4 参照。 .It Pa netinet6/ インターネットプロトコルバージョン 6 用の C インクルードファイル。 .Xr inet6 4 参照。 .It Pa netipx/ IPX/SPX プロトコルスタック。 .It Pa netkey/ カーネルの鍵管理サービス。 .It Pa netns/ Xerox 社の NS プロトコル。 .It Pa netsmb/ SMB/CIFS リクエスタ。 .It Pa netnatm/ NATM インクルードファイル。 .Xr natm 4 参照。 .It Pa nfs/ NFS (Network File System) 用 C 言語インクルードファイル。 .It Pa objc/ Objective C のインクルードファイル。 .It Pa posix4/ POSIX リアルタイム拡張のインクルードファイル。 .Xr p1003_1b 9 参照。 .It Pa openssl/ OpenSSL (Cryptography/SSL ツールキットの) ヘッダ。 .It Pa pccard/ PC-CARD コントローラ。 .It Pa protocols/ Berkeley サービスプロトコル用 C 言語インクルードファイル。 .It Pa readline/ ユーザからの一行入力機能 (編集機能付き)。 .Xr readline 3 参照。 .It Pa rpc/ リモート手続き呼び出し。 .Xr rpc 3 参照。 .It Pa rpcsvc/ RPC サービス構造の定義。 .Xr rpc 3 参照。 .It Pa security/ PAM。 .Xr pam 8 参照。 .It Pa ss/ MIT SIPB .Sq サブシステム ライブラリ。Kerberos IV の一部。 .It Pa sys/ システム用 C 言語インクルードファイル (カーネルデータ構造)。 .\" .It Pa tcl/ .\" Tcl 言語。 .\" .Xr Tcl n .\" 参照。 .\" .Bl -tag -width "kerberosIV/" -compact .\" .It Pa generic/ .\" ??? .\" .It Pa unix/ .\" ??? .\" .El .It Pa ufs/ UFS (U-word File System) 用 C 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Pa ffs/ Fast filesystem。 .It Pa mfs/ メモリファイルシステム。 .Xr mount_mfs 8 参照。 .It Pa ufs/ UFS ファイルシステム。 .El .It Pa vm/ 仮想記憶。 .Xr vmstat 8 参照。 .El .Pp .It Pa lib/ アーカイブライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out アーカイブライブラリ。 .It Pa compat/ 互換性維持用の共有ライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 後方互換ライブラリ。 .El .El .Pp .It Pa libdata/ その他のユーティリティデータファイル。 .Bl -tag -width Fl -compact .It Pa doscmd/ doscmd が使用するファイル (ドライバ、フォント等)。 .Xr doscmd 1 参照。 .Bl -tag -width 6n -compact .It Pa fonts/ doscmd が使用するフォント。 .El .It Pa gcc/ ??? .It Pa ldscripts/ リンカスクリプト。 .Xr ld 1 参照。 .It Pa lint/ さまざまな lint 用ライブラリ (事前に構築されている)。 .Xr lint 1 参照。 .It Pa msdosfs/ 文字集合変換表。 .It Pa perl/ .Bl -tag -width Fl -compact .It Pa 5.00503/ Perl バージョン 5.00503 のための Perl モジュール。 .Xr perl 1 参照。 .El .It Pa stallion/ ダウンロードファームウェアのイメージが保持されている。 .El .Pp .It Pa libexec/ システムデーモンおよびシステムユーティリティ。 (他のプログラムから実行されるもの)。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 実行形式を操作するユーティリティ。 .It Pa elf/ ELF 実行形式を操作するユーティリティ。 .It Pa lpr/ LP プリントシステムのユーティリティとフィルタ。 .Xr lpr 1 参照。 .It Pa sm.bin/ sendmail 用制限付きシェル。 .Xr smrsh 8 参照。 .It Pa uucp/ uucp ユーティリティ。 .Xr uucp 1 参照。 .El .Pp .It Pa local/ ローカルの実行可能ファイル、ライブラリなど。 .Fx ports フレームワークのデフォルトのインストール先としても使用されます。 local/以下では、 .Xr hier 7 で /usr に関して 記述された一般的な配置が使用されます。 例外は、man ディレクトリ (local/share/ の下ではなく local/ の直下に存在)、 ports のドキュメント (share/doc// に置かれます)、 /usr/local/etc (/etc の模倣) です。 .It Pa obj/ アーキテクチャ依存のターゲットツリー。 /usr/src ツリーを構築することで作成される。 .It Pa ports/ .Fx ports コレクション (オプション扱い)。 .It Pa sbin/ (ユーザによって実行される) システムデーモン、およびシステムユーティリティ。 .It Pa share/ アーキテクチャに依存しないファイル。 .Pp .Bl -tag -width "calendar/" -compact .It Pa calendar/ 事前に組み立てられた calendar ファイルいろいろ。 .Xr calendar 1 参照。 .It Pa dict/ 単語リスト。 .Xr look 1 参照。 .Pp .Bl -tag -width Fl -compact .It Pa words 一般の単語 .It Pa web2 Webster's 2nd International からの単語 .It Pa papers/ リファレンスデータベース。 .Xr refer 1 参照。 .It Pa special/ 特殊な語のリスト。 .Xr spell 1 参照。 .El .Pp .It Pa doc/ その他の文書。 ( .Tn USENIX association から入手できる) .Bx マニュアルのほとんどのソース。 .Bl -tag -width Fl -compact .It Pa FAQ/ しばしば行なわれる質問とその答え (Frequently Asked Questions)。 .It Pa IPv6/ IPv6 の実装に関する注。 .It Pa bind/ BIND (Berkeley Internet Name Domain) に属する文書。 .It Pa es/ /usr/share/doc 中の文書のスペイン語への翻訳。 .It Pa handbook/ .Fx ハンドブック .It Pa ja/ /usr/share/doc 中の文書の日本語への翻訳。 .It Pa ncurses/ ncurses に属する HTML 文書。 .Xr ncurses 3X 参照 .It Pa ntp/ Network Time Protocol に属する HTML 文書。 .It Pa papers/ UNIX 関連の論文 .It Pa psd/ UNIX プログラマ用補助文書 .It Pa ru/ /usr/share/doc 中の文書のロシア語への翻訳。 .It Pa smm/ UNIX システム管理者用マニュアル .It Pa tutorials/ .Fx チュートリアル。 .It Pa usd/ UNIX ユーザ用補助文書 .It Pa zh/ /usr/share/doc 中の文書の中国語への翻訳。 .El .Pp .It Pa examples/ 一般ユーザやプログラマ向けのさまざまな用例。 .It Pa games/ 各種のゲームで使用される ASCII テキストファイル。 .It Pa groff_font/ デバイス名ごとに用意されたデバイス記述ファイル。 .It Pa info/ GNU Info ハイパーテキストシステム。 .It Pa isdn/ ISDN。 .It Pa libg++/ libg++ genclass のプロトタイプ/テンプレートクラスファイル。 .It Pa locale/ ローカル化関係のファイル。 .Xr setlocale 3 参照。 .It Pa man/ マニュアルページ。 .It Pa me/ me マクロパッケージで使用するマクロ。 .Xr me 7 参照。 .It Pa misc/ その他システム全体の ASCII テキストファイル。 .Bl -tag -width Fl -compact .It Pa fonts/ ??? .It Pa pcvtfonts/ pcvt フォント。 .Xr pcvt 4 参照。 .It Pa termcap 端末の特性を記述するデータベース。 .Xr termcap 5 参照。 .El .It Pa mk/ make 用テンプレート。 .Xr make 1 参照。 .It Pa nls/ 各国語サポート (National Lanuguage Support) ファイル。 .Xr mklocale 1 参照。 .It Pa pcvt/ pcvt の文書とその他の例。 .Xr pcvt 4 参照。 .It Pa perl/ perl ライブラリファイル。 .Xr perl 1 参照。 .It Pa sendmail/ sendmail の設定ファイル。 .Xr sendmail 8 参照。 .It Pa skel/ 新しいアカウントのための . (ドット) ファイルの例。 .It Pa syscons/ syscons が使用するファイル。 .Xr syscons 4 参照。 .Bl -tag -width "scrnmaps/xx" -compact .It Pa fonts/ コンソールフォント。 .Xr vidcontrol 1 と .Xr vidfont 1 参照。 .It Pa keymaps/ コンソールキーボードマップ。 .Xr kbdcontrol 1 と .Xr kbdmap 1 参照。 .It Pa scrnmaps/ コンソールスクリーンマップ。 .El .It Pa tabset/ 各種端末用タブ記述ファイル。termcap ファイルの中で使用される。 .Xr termcap 5 参照。 .It Pa tmac/ テキスト処理マクロ。 .Xr nroff 1 および .Xr troff 1 参照。 .It Pa vi/ .Xr vi 1 のローカライズサポートとユーティリティ。 .It Pa zoneinfo/ タイムゾーン設定情報。 .Xr tzfile 5 参照。 .El .It Pa src/ .Bx とサードバーティとローカルのソースファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Pa bin/ /bin 内のファイルのソース。 .It Pa contrib/ 寄贈されたソフトウェアのソース。 .It Pa crypto/ 寄贈された暗号化ソフトウェアのソース。 .It Pa etc/ /etc 内のファイルのソース。 .It Pa games/ /usr/games 内のファイルのソース。 .It Pa gnu/ GNU Public Licence で保護されたユーティリティ。 .It Pa include/ /usr/include 内のファイルのソース。 .It Pa kerberosIV/ Kerberos version IV のソース。 .It Pa lib/ /usr/lib 内のファイルのソース。 .It Pa libexec/ /usr/libexec 内のファイルのソース。 .It Pa release/ .Fx のリリースを生成するために必要なファイル。 .It Pa sbin/ /sbin 内のファイルのソース。 .It Pa secure/ /usr/src/crypto 中のファイル用のビルドディレクトリ。 .It Pa share/ /usr/share 内のファイルのソース。 .It Pa sys/ カーネルのソースファイル。 .It Pa tools/ .Fx のメンテナンスとテストに使用するツール。 .It Pa usr.bin/ /usr/bin 内のファイルのソース。 .It Pa usr.sbin/ /usr/sbin 内のファイルのソース。 .El .Pp .It Pa X11R6/ X11R6 配布パッケージの実行可能形式ファイル、ライブラリなど (オプション扱い)。 .Bl -tag -width "include/" -compact .It Pa bin/ X11R6 のバイナリ (サーバ、ユーティリティ、ローカルな packages/ports)。 .It Pa etc/ X11R6 の設定ファイルとスクリプト。 .It Pa include/ X11R6 のインクルードファイル。 .It Pa lib/ X11R6 のライブラリ。 .It Pa man/ X11R6 のマニュアルファイル。 .It Pa share/ アーキテクチャ独立なファイル。 .El .El .It Pa /var/ さまざまな用途のログファイル、一時ファイル、遷移的ファイル、 スプールファイル。 .Pp .Bl -tag -width "preserve/" -compact .It Pa account/ システムアカウンティングファイル。 .Pp .Bl -tag -width Fl -compact .It Pa acct 実行アカウントファイル。 .Xr acct 5 参照。 .El .Pp .It Pa at/ 指定した時間に動くコマンドのスケジュールファイル。 .Xr \&at 1 参照。 .Bl -tag -width "preserve/" -compact .It Pa jobs/ ジョブファイルを含むディレクトリ。 .It Pa spool/ 出力スプールファイルを含むディレクトリ。 .El .Pp .It Pa backups/ さまざまなバックアップファイル。 .It Pa crash/ カーネルクラッシュダンプを保存するデフォルトのディレクトリ。 .Xr crash 8 と .Xr savecore 8 参照。 .It Pa cron/ cron が使用するファイル。 .Xr cron 8 参照。 .Bl -tag -width "preserve/" -compact .It Pa tabs/ crontab ファイル。 .Xr crontab 5 参照。 .El .Pp .It Pa db/ システム固有のさまざまなデータベースファイル。自動生成される。 .It Pa games/ さまざまなゲームのステータスおよびスコアファイル。 .It Pa log/ さまざまなシステムログファイル。 .Pp .Bl -tag -width Fl -compact .It Pa wtmp login/logout ログ。 .Xr wtmp 5 参照。 .El .Pp .It Pa mail/ ユーザのメールボックスファイル。 .It Pa preserve/ エディタの不慮の死の際に保存されるファイルを一時的に安置するディレクトリ。 .Xr \&ex 1 参照。 .It Pa msgs/ システムメッセージのデータベース。 .Xr msgs 1 参照。 .It Pa quotas/ ファイルシステムのクォータ情報のファイル。 .It Pa run/ ブートされてからのシステムについての各種情報を記述した システム情報ファイル。 .Pp .Bl -tag -width Fl -compact +.It Pa ppp/ +コマンドの接続ソケット用に、network グループが書き込み可能です。 +.Xr ppp 8 +参照。 .It Pa utmp 現在のユーザについてのデータベース。 .Xr utmp 5 参照。 .El .Pp .It Pa rwho/ rwho データファイル。 .Xr rwhod 8 , .Xr rwho 1 , .Xr ruptime 1 参照。 .It Pa spool/ さまざまなプリンタ、メールシステムのスプールディレクトリ。 .Pp .Bl -tag -width Fl -compact .It Pa ftp/ 一般に ~ftp となる部分。anonymous ftp のルートディレクトリ。 .It Pa mqueue/ 配送されていないメールのキュー。 .Xr sendmail 8 参照。 .It Pa output/ ラインプリンタ用スプールディレクトリ。 .It Pa secretmail/ 機密メール用スプールディレクトリ。 .Xr xget 1 参照。 .It Pa uucp/ uucp スプールディレクトリ。 .It Pa uucppublic/ 一般に ~uucp となる部分。共用 uucp 一時ディレクトリ。 .El .Pp .It Pa tmp/ システムがリブートするまでの間保持される一時ファイル。 .Bl -tag -width Fl -compact .It Pa vi.recover/ vi のリカバリファイルを格納しておくディレクトリ。 .El .It Pa yp NIS マップ。 .El .El .Sh 注 このマニュアルページはデフォルトの FreeBSD ファイルシステムレイアウトを 記述しており、 各システムの実際の階層構造はシステム管理者の裁量に委ねられています。 よく維持管理されたインストールにおいては、 カスタマイズされた本ドキュメントが付属するでしょう。 .Sh 関連項目 .Xr apropos 1 , .Xr find 1 , .Xr finger 1 , .Xr grep 1 , .Xr ls 1 , .Xr whatis 1 , .Xr whereis 1 , .Xr which 1 , .Xr fsck 8 .Sh 歴史 .Nm マニュアルページは .At v7 で登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 98-12-26 diff --git a/ja_JP.eucJP/man/man8/dev_mkdb.8 b/ja_JP.eucJP/man/man8/dev_mkdb.8 index e4cd62e704..3b87e572c1 100644 --- a/ja_JP.eucJP/man/man8/dev_mkdb.8 +++ b/ja_JP.eucJP/man/man8/dev_mkdb.8 @@ -1,83 +1,97 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)dev_mkdb.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/dev_mkdb/dev_mkdb.8,v 1.5.2.2 2001/07/22 12:40:55 dd Exp % +.\" %FreeBSD: src/usr.sbin/dev_mkdb/dev_mkdb.8,v 1.5.2.3 2001/11/25 18:34:09 iedowse Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/dev_mkdb.8,v 1.6 2001/05/14 01:09:47 horikawa Exp $ +.\" $FreeBSD$ .\" -.Dd June 6, 1993 +.Dd November 18, 2001 .Os .Dt DEV_MKDB 8 .Sh 名称 .Nm dev_mkdb .Nd .Pa /dev のデータベースを作成する .Sh 書式 .Nm +.Op Fl f Ar file +.Op Ar directory .Sh 解説 .Nm コマンドは、 -.Pa /var/run/dev.db -に +.Ar file +.Pa ( /var/run/dev.db +がデフォルト) に .Xr db 3 のハッシュデータベースを 作成します。このデータベースには、 -.Pa /dev -ディレクトリ内のすべてのキャラクタ型特殊ファイルと +.Ar directory +ディレクトリ +.Pa ( /dev +がデフォルト) 内のすべてのキャラクタ型特殊ファイルと ブロック型特殊ファイルの名前が含まれており、 キーとしてファイルタイプと .Fa st_rdev フィールドが使われています。 .Pp -キーの構造体は mode_t, dev_t の順であり、0 で +キーの構造体は +.Vt mode_t , +.Vt dev_t +の順であり、0 で パディングされています。 -mode_t はファイルタイプ (st_mode & S_IMFT) であり、 -dev_t はst_rdev フィールドそのものです。 +.Vt mode_t +はファイルタイプ +.Va ( st_mode Li & Dv S_IFMT ) +であり、 +.Vt dev_t +は +.Va st_rdev +フィールドそのものです。 .Sh 関連ファイル -.Bl -tag -width /var/run/dev.db -compact +.Bl -tag -width ".Pa /var/run/dev.db" -compact .It Pa /dev -デバイスのディレクトリ +デフォルトのデバイスのディレクトリ .It Pa /var/run/dev.db -データベースファイル +デフォルトのデータベースファイル .El .Sh 関連項目 .Xr ps 1 , .Xr stat 2 , .Xr db 3 , .Xr devname 3 , .Xr ttyname 3 .Sh 歴史 .Nm コマンドは .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/edquota.8 b/ja_JP.eucJP/man/man8/edquota.8 index c9575c4730..3dd2bfdaae 100644 --- a/ja_JP.eucJP/man/man8/edquota.8 +++ b/ja_JP.eucJP/man/man8/edquota.8 @@ -1,185 +1,200 @@ .\" Copyright (c) 1983, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)edquota.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/edquota/edquota.8,v 1.9.2.1 2000/12/08 15:28:04 ru Exp % +.\" %FreeBSD: src/usr.sbin/edquota/edquota.8,v 1.9.2.2 2001/11/14 05:16:22 yar Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/edquota.8,v 1.8 2001/05/14 01:09:48 horikawa Exp $ +.\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt EDQUOTA 8 .Os .Sh 名称 .Nm edquota .Nd ユーザの割り当て制限を変更する .Sh 書式 .Nm .Op Fl u +.Op Fl f Ar fspath .Op Fl p Ar proto-username .Ar username ... .Nm .Fl g +.Op Fl f Ar fspath .Op Fl p Ar proto-groupname .Ar groupname ... .Nm .Fl t .Op Fl u +.Op Fl f Ar fspath .Nm .Fl t .Fl g -.br +.Op Fl f Ar fspath .Sh 解説 .Nm は割り当て制限を変更するエディタです。 デフォルトで(または .Fl u オプションが指定された場合)は、 コマンドラインから 1 人以上のユーザを指定できます。 それぞれのユーザの現在の割り当て制限を、 .Tn ASCII テキストで記述した一時ファイルが作成されます。 ユーザ割り当て制限が設定されているファイルシステムは .Pa /etc/fstab の記述から検索します。 次に、 作成された .Tn ASCII ファァイルを編集できるようにエディタが起動されます。 環境変数 .Ev EDITOR で指定されていなければ、 .Xr vi 1 が起動されます。 .Pp このエディタ上で、 割り当て制限を変更したり、 追加したりできます。 割り当て制限値を 0 に設定することは、 割り当て制限を行わないことを示します。 ハードリミット値を 1 に設定することは、 ファイルを作成できないようにすることを意味します。 ソフトリミット値を 1 に設定し、 ハードリミットを 0 に設定することは、 一時的な用途にのみ割り当てを許可することを意味します ( .Fl t の項を参照)。 現在使用量は参考のためにのみ出力され、 変更しても意味はありません。 .Pp エディタを終了すると、 .Nm は一時ファイルを読み込み、 変更を反映するよう割り当て制限用バイナリファイルを書き換えます。 .Pp .Fl p オプションが指定された場合、 .Nm は、指定されたユーザに proto-username に対する設定をコピーします。 これは、 複数のユーザに割り当て制限を設定する一般的な方法です。 制限を設定するユーザとして数字で uid の範囲 (例えば、1000-2000) が 指定されたとき、 .Nm は、指定された範囲の uid のユーザについて設定をコピーします。 これにより、まとめてユーザにデフォルトの制限を設定することが出来ます。 制限を設定する uid は、 .Pa /etc/passwd に書かれていない値でも構いません。 .Pp +.Fl f +オプションが指定された場合、 +.Nm +は +.Ar fspath +で指定されたファイルシステムのみの制限を読み取って変更します。 +.Ar fspath +引数は、特殊デバイスでもファイルシステムマウントポイントでも構いません。 +本オプションの第一義は、全ファイルシステムの制限レコードを書き換えてしまう +.Fl p +オプションの影響範囲を設定することです。 +.Pp .Fl g オプションが指定された場合、 .Nm はコマンドラインで指定された 1 つ以上のグループに 対する割り当て制限を変更します。 .Fl p オプションを .Fl g オプションと いっしょに使用することにより、 .Fl p オプションで指定したグループの設定を 他のグループにコピーすることができます。 .Pp ユーザはある一定の猶予期間だけ、 ソフトリミットを超えてファイルシステムを利用することができます。 猶予期間を過ぎるとソフトリミットは ハードリミットと同じ意味を持つようになり、 それ以上のファイルの割り当てができなくなります。 デフォルトの猶予期間は .Pa /usr/include/ufs/ufs/quota.h で定義されています。 .Fl t オプションにより猶予期間を変更することができます。 デフォルトで、 あるいは .Fl u オプションを 指定して起動した場合は、 .Pa /etc/fstab に指定してあるすべてのユーザ割り当て制限に対して猶予期間が設定されます。 .Fl g オプションを指定して 起動した場合は、 .Pa /etc/fstab に指定してあるすべてのグループ割り当て制限に対して猶予期間が設定されます。 猶予期間は、 日、 時、 分、 秒を指定して設定することができます。 猶予期間を 0 に設定することは、 デフォルトの猶予期間を指定したものとみなされます。 また、 猶予期間を 1 秒に設定することは、 猶予期間なしとみなされます。 .Pp スーパユーザのみが割り当て制限を変更することができます。 .Sh 関連ファイル .Bl -tag -width quota.group -compact .It Pa quota.user ファイルシステムのルートにあるユーザ割り当て制限に関するデータ .It Pa quota.group ファイルシステムのルートにあるグループ割り当て制限に関するデータ .It Pa /etc/fstab ファイルシステムの名前と位置を読み取る .El .Sh 関連項目 .Xr quota 1 , .Xr quotactl 2 , .Xr fstab 5 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr repquota 8 .Sh 診断 アクセス不可能なファイルに対して、様々なメッセージを出力します。 diff --git a/ja_JP.eucJP/man/man8/ip6fw.8 b/ja_JP.eucJP/man/man8/ip6fw.8 index 009c8300d7..dfeb4d9365 100644 --- a/ja_JP.eucJP/man/man8/ip6fw.8 +++ b/ja_JP.eucJP/man/man8/ip6fw.8 @@ -1,572 +1,577 @@ .\" -.\" %FreeBSD: src/sbin/ip6fw/ip6fw.8,v 1.3.2.7 2001/08/16 11:35:45 ru Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/ip6fw.8,v 1.6 2001/07/29 05:15:28 horikawa Exp $ +.\" %FreeBSD: src/sbin/ip6fw/ip6fw.8,v 1.3.2.8 2001/11/23 08:29:35 kuriyama Exp % +.\" $FreeBSD$ .\" .\" WORD: modifier 修飾子 .\" WORD: fragmented packet フラグメントパケット .\" WORD: encapsulating security payload 暗号ペイロード [IPv6] .\" WORD: no next header 次ヘッダなし [IPv6] .\" WORD: fine points 微調整 .Dd March 13, 2000 .Dt IP6FW 8 .Os .Sh 名称 .Nm ip6fw .Nd IPv6 ファイアフォール用制御ユーティリティ .Sh 書式 .Nm .Op Fl q .Oo .Fl p Ar preproc .Oo Fl D .Ar macro Ns Op = Ns Ar value .Oc .Op Fl U Ar macro .Oc .Ar pathname .Nm .Op Fl f | Fl q flush .Nm .Op Fl q zero .Op Ar number ... .Nm delete .Ar number ... .Nm .Op Fl aftN list .Op Ar number ... .Nm .Op Fl ftN show .Op Ar number ... .Nm .Op Fl q add .Op Ar number .Ar action .Op log .Ar proto from .Ar src to .Ar dst .Op via Ar name | ipv6no .Op Ar options .Sh 解説 簡単に設定するために、ルールをファイルに格納して、最初の書式に示すように .Nm に処理させることが可能です。 絶対 .Ar pathname を使用する必要があります ファイルは、1 行ずつ読み込まれ、 .Nm ユーティリティへの引数に適用されます。 .Pp オプションとして、プリプロセッサを .Fl p Ar preproc で指定可能であり、ここを .Ar pathname がパイプされます。 有用なプリプロセッサには .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュ .Pq Ql / で開始しない場合、通常の .Ev PATH の名前検索が実行されます。 .Nm 実行時には (まだ) 全ファイルシステムがマウントされていない環境においては、 注意が必要です (例えば NFS 経由でマウントする場合)。 一度 .Fl p が指定されると、オプションの .Fl D と .Fl U の指定を続けることが可能であり、これらはプリプロセッサに渡されます。 これにより、設定ファイル (ローカルホスト名による条件等) が柔軟になり、 IP アドレス等の頻繁に必要となる引数を集中管理可能となります。 .Pp .Nm コードは、各パケットに対してマッチするものが見つかるまで ルールリストを走査することによって動作します。 ルールにはすべて 2 つの関連のあるカウンタがあります。 パケットカウンタとバイトカウンタです。 これらのカウンタはパケットがルールにマッチするときに 更新されます。 .Pp ルールは、 1 から 65534 までの .Dq 行番号 で序列がつけられており、 ルールを決めたり削除したりするのに使用されます。 ルールは昇順で試され、パケットに最初にマッチしたルールが 適用されます。 複数のルールが同じ行番号を共有できます。 この場合、追加した順番でルールが適用されます。 .Pp 番号をつけずにルールを足した場合、その直前のルールよりも 100 大きい番号がつけられます。 定義されたルール番号の最大値が 65434 よりも大きい場合、 新しく定義されるルールは、ルールの最後に追加されます。 .Pp delete 操作では、それが存在する場合には、 .Ar number を行番号にもつ最初のルールが削除されます。 .Pp list コマンドは、現在のルールセットを出力します。 .Pp show コマンドは `ip6fw -a list' と等価です。 .Pp zero 操作は、ルール番号 .Ar number に関連づけられたカウンタを 0 にします。 .Pp flush 操作は、すべてのルールを削除します。 .Pp .Sq # で始まるコマンドおよび空白だけのコマンドはみな 無視されます。 .Pp 次のルールは必ず存在します: .Bd -literal -offset center 65535 deny all from any to any .Ed .Pp このルールはデフォルトのポリシです。すなわち、 何も許さないということです。ルールを設定する際に あなたがすべき仕事は、このポリシを必要に合わせて 変更するということです。 .Pp 次のオプションが使用できます: .Bl -tag -width flag .It Fl a リスト中に、カウンタ値を表示します。 .Dq show コマンドを参照してください。 .It Fl f 間違って使用すると問題をひき起こす可能性のある コマンド (つまり、flush) の確認をとりません。 .Ar 注意 プロセスに端末が割り当てられていない場合は、暗黙のうちに このオプションが指定されています。 .It Fl q add 操作や zero 操作、flush 操作を行っている最中に、 そのアクションに対して何も表示しません (暗黙のうちに '-f' が指定されています)。 これは、リモートログイン時のセッションで スクリプト内で複数の ip6fw コマンドを実行したり (例えば、sh /etc/rc.firewall のように)、 たくさんの ip6fw ルールファイルを処理したりすることで ルールを調節するときに便利です。 通常モード (冗長) で flush 操作を行うと、メッセージが出力 されます。ルールがすべて flush されるので、ログインセッションに メッセージを送ることができず、ログインセッションも閉じてしまいます。 そのため、残りのルールセットは処理されなくなってしまいます。 復旧には、コンソールへのアクセスが必要になります。 .It Fl t list している最中に、最後にマッチしたときのタイムスタンプを表示します。 .It Fl N 出力で、アドレスおよびサービス名を解決しようとします。 .El .Pp .Ar アクション は次の通りです。 .Bl -hang -offset flag -width 16n .It Ar allow ルールにマッチしたパケットを許可します。 そして探索を終了します。別名は .Ar pass , .Ar permit , .Ar accept です。 .It Ar deny ルールにマッチしたパケットを捨てます。 そして探索を終了します。 .Ar drop は .Ar deny の別名です。 .It Ar reject (非推奨です) ルールにマッチしたパケットを捨てて、 ICMPv6 の host unreachable notice メッセージを 送ろうとします。 そして探索を終了します。 .It Ar unreach code ルールにマッチしたパケットを捨てて、 ICMPv6 の unreachable notice メッセージをコード .Ar code で送ろうとします。ここで、 .Ar code は 0 から 255 までの番号もしくは次の別名のうちのいずれかです: .Ar noroute , .Ar admin , .Ar notneighbor , .Ar addr , .Ar noport 。 そして探索を終了します。 .It Ar reset TCP パケットのみです。 ルールにマッチしたパケットを捨てて、 TCP reset (RST) notice メッセージを送ろうとします。 そして探索を終了します .Em ( "まだ動作しません" ) 。 .It Ar count ルールにマッチしたすべてのパケットに対するカウンタを 更新します。 探索は、次のルールへと継続します。 .It Ar skipto number .Ar number よりも小さい番号のついたルールをスキップします。 探索は .Ar number 以上の番号のついたルールへと継続します。 .El .Pp カーネルを .Dv IP6FIREWALL_VERBOSE つきでコンパイルした場合、パケットが .Dq log -キーワードつきのルールにマッチしたときには -コンソールにメッセージが表示されます。 +キーワードつきのルールにマッチしたとき +または clear/resetlog が実行されたときには、 +メッセージが +.Xr syslogd 8 +に記録されるか、これが失敗したときにはコンソールにメッセージが表示されます。 カーネルを .Dv IP6FIREWALL_VERBOSE_LIMIT オプションつきでコンパイルした場合、 特定のチェーンエントリに対して このオプションで指定した数だけパケットを受け取った後は -ログを記録しません。このエントリに対するカウンタを -クリアすることでログの記録を再開できます。 +ログを記録しません。 +この制限に到達した場合、制限とルール番号が記録されます。 +このエントリに対するカウンタをクリアすることでログの記録を再開できます。 .Pp -コンソールへのロギングおよびログの制限を +.Xr syslogd 8 +ログおよびデフォルトのログの制限を、 .Xr sysctl 8 インタフェースを介して動的に調整できます。 .Pp .Ar proto は次の通りです。 .Bl -hang -offset flag -width 16n .It Ar ipv6 すべてのパケットがマッチします。 別名 .Ar all は同じ効果を持ちます。 .It Ar tcp TCP パケットだけがマッチします。 .It Ar udp UDP パケットだけがマッチします。 .It Ar ipv6-icmp ICMPv6 パケットだけがマッチします。 .It Ar 指定したプロトコルだけがマッチします (完全なリストは .Pa /etc/protocols を参照してください)。 .El .Pp .Ar src および .Ar dst は次の通りです。 .Bl -hang -offset flag .It Ar
.Op Ar ports .El .Pp .Em
は次のように指定できます: .Bl -hang -offset flag -width 16n .It Ar ipv6no An ipv6number of the form .Li fec0::1:2:3:4 という形式の IPv6 ナンバ。 .It Ar ipv6no/prefixlen .Li fec0::1:2:3:4/112 のような形式のプレフィックス長をもった IPv6 ナンバ。 .El .Pp .Dq not 修飾子をアドレスの前につけることで、マッチの意味を反転させることができます。 これによって、他のすべてのアドレスが代わりにマッチするようになります。 これは、ポート番号の選択には影響ありません。 .Pp TCP および UDP プロトコルでは、オプションで .Em ports が次のように指定できます: .Pp .Bl -hang -offset flag .It Ns {port|port-port} Ns Op ,port Ns Op ,... .El .Pp ( .Pa /etc/services より) サービス名を、 数値によるポート番号の代わりに使用できます。 範囲は最初の値としてのみ指定でき、ポートリスト長は .Dv IP6_FW_MAX_PORTS ( .Pa /usr/src/sys/netinet/ip6_fw.h で指定) 個のポートまでに制限されています。 .Pp 0 ではないオフセットを持つ (すなわち、最初のフラグメントではない) フラグメントパケットは、1 つ以上のポートが列挙されたルールには 絶対にマッチしません。 フラグメントパケットのマッチについての詳細は .Ar frag オプションを参照してください。 .Pp ルールは、パケットが入力されるとき、および出力されるとき、 あるいはその両方ともであるときに適用されます。 .Ar in キーワードは、入力パケットにのみルールがマッチしなくては ならないことを示すものです。 .Ar out キーワードは、出力パケットにのみルールがマッチしなくては ならないことを示すものです。 .Pp あるインタフェースを通るパケットにマッチするためには、 .Ar via を使用して次のようにインタフェースを指定してください。 .Bl -hang -offset flag -width 16n .It Ar via ifX パケットは、インタフェース .Ar ifX を通らなくてはなりません。 .It Ar via if* パケットは、インタフェース .Ar ifX を通らなくてはなりません。ここで、X は任意のユニット番号です。 .It Ar via any パケットは、 .Em なんらかの インタフェースを通らなくてはなりません。 .It Ar via ipv6no パケットは、IPv6 アドレス .Ar ipv6no を持ったインタフェースを通らなくてはなりません。 .El .Pp .Ar via キーワードを使用すると、該当インタフェースは常に チェックされるようになります。 .Ar via の代わりに .Ar recv あるいは .Ar xmit を使用すると、 (それぞれ) 受信インタフェースまたは送信インタフェースだけが チェックされます。 両方を指定することで、受信インタフェース、送信インタフェースの 両方ともにパケットをマッチさせることができます。 例えば、次のようにします。 .Pp .Dl "ip6fw add 100 deny ip from any to any out recv ed0 xmit ed1" .Pp .Ar recv インタフェースは、入力パケットあるいは出力パケットのどちらかで テストされます。これに対して、 .Ar xmit インタフェースは、出力パケットでしかテストされません。 そのため、 .Ar xmit を使用する場合はいつでも .Ar out が必要です (そして、 .Ar in は不正です)。 .Ar xmit あるいは .Ar recv と一緒に .Ar via を指定するのは不正です。 .Pp パケットには、受信インタフェースあるいは送信インタフェースがない かもしれません。ローカルホストから送信されたパケットには 受信インタフェースがありません。そして、ローカルホストへ向けて 送信されたパケットには送信インタフェースがありません。 .Pp 追加の .Ar options は次の通りです。 .Bl -hang -offset flag -width 16n .It frag パケットがフラグメントであり、しかも データグラムの最初のフラグメントでなければマッチします。 .Ar frag は、 .Ar tcpflags あるいは TCP/UDP ポートの指定と一緒には使うことができません。 .It in パケットが入ってこようとしている場合にマッチします。 .It out パケットが出ていこうとしている場合にマッチします。 .It ipv6options Ar spec IPv6 ヘッダに、 .Ar spec で指定されたコンマ区切りのオプションリストの要素が含まれて いればマッチします。 サポートしている IPv6 オプションは次の通りです。 .Ar hopopt (hop-by-hop オプションヘッダ)、 .Ar route (ルーティングヘッダ)、 .Ar frag (フラグメントヘッダ)、 .Ar esp (暗号ペイロード)、 .Ar ah (認証ヘッダ)、 .Ar nonxt (次ヘッダなし)、そして .Ar opts (デスティネーションオプションヘッダ) です。 特定のオプションがないことは、 .Dq \&! で表します .Em ( "まだ動作していません" ) 。 .It established RST あるいは ACK ビットがセットされているパケットに マッチします。 .It setup SYN ビットはセットされているが ACK ビットがセットされていない パケットにマッチします。 .It tcpflags Ar spec TCP ヘッダに、 .Ar spec で指定されたコンマ区切りのフラグリストの要素が含まれていれば マッチします。 サポートしている TCP フラグは以下の通りです。 .Ar fin , .Ar syn , .Ar rst , .Ar psh , .Ar ack , そして .Ar urg です。 特定のフラグがないことは .Dq \&! を使って表します。 .Ar tcpflags 指定を含んだルールは、 0 でないオフセットを持ったフラグメントパケットには 絶対にマッチしません。 フラグメントパケットへのマッチに関する詳細は .Ar frag オプションを参照してください。 .It icmptypes Ar types ICMPv6 のタイプが .Ar types リスト中にあればマッチします。 リストには、範囲と、個々のタイプをコンマで区切ったものを、 任意に組み合わせて指定できます .El .Sh チェックリスト ここには、あなたがルールをデザインする際に考慮すべき 重要なポイントをいくつか述べてあります。 .Bl -bullet -offset flag .It 入力および出力パケットの両方をフィルタするのだということを 忘れないでください。ほとんどの接続には両方向のパケットが 必要です。 .It とても注意深くテストするのを忘れないでください。 テストする際にはコンソールの近くで行うというのが良いアイデアです。 .It ループバックインタフェースを忘れないでください。 .El .Sh 微調整 ファイアウォールが常に破棄するパケットが 1 種類あります。 それは、フラグメントオフセット 1 を持った IPv6 フラグメントです。 これは正しいパケットですが、使用方法は 1 つだけです。 それは、ファイアウォールの抜け道を探そうとすることです。 .Pp ネットワーク越しにログインしている場合は、 .Nm の KLD バージョンをロードするのは、おそらく あなたが思っているほどには簡単ではないでしょう .Em ( "サポートされていません " ) 。 次のようなコマンド行を推奨します。 .Bd -literal -offset center kldload /modules/ip6fw_mod.o && \e ip6fw add 32000 allow all from any to any .Ed .Pp 同様の状況で、同じ行で .Bd -literal -offset center ip6fw flush .Ed .Pp を行うことも良くないアイデアです。 .Sh パケット変換 サポートされていません。 .Sh 使用例 このコマンドは、 .Em hacker.evil.org から .Em wolf.tambov.su の telnet ポートへの TCP パケットすべてを、このホストで フォワードしないようにします。 .Pp .Dl ip6fw add deny tcp from hacker.evil.org to wolf.tambov.su 23 .Pp 次のコマンドは、hackers ネットワーク全体から自ホストへの接続を 何であれ禁止します。 .Pp .Dl ip6fw addf deny all from fec0::123:45:67:0/112 to my.host.org .Pp これは、カウント値の記録とタイムスタンプ情報を表示するための リストコマンドの良い使用例です。 .Pp .Dl ip6fw -at l .Pp あるいは、タイムスタンプなしの、短い形式のものは .Pp .Dl ip6fw -a l です。 .Sh 関連ファイル .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ .Em 注意 !! 注意 !! 注意 !! 注意 !! .Pp このプログラムは、あなたのコンピュータをかなり使えない状態 にしてしまう可能性があります。初めて使用する際には、 コンピュータのコンソールで作業してください。また、 理解していないことは何も .Em しないでください 。 .Pp チェーンエントリを操作 / 追加する際には、サービス名および プロトコル名は受け付けられません。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs です。 API は、BSDI 用に .An Daniel Boulet が書いたコードに基いています。 .Sh 歴史 .Nm は最初に .Fx 4.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/ipfw.8 b/ja_JP.eucJP/man/man8/ipfw.8 index b3305aa025..752bf9664b 100644 --- a/ja_JP.eucJP/man/man8/ipfw.8 +++ b/ja_JP.eucJP/man/man8/ipfw.8 @@ -1,1324 +1,1324 @@ .\" -.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.63.2.17 2001/11/03 00:36:10 luigi Exp % +.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.63.2.18 2001/11/05 00:57:46 horikawa Exp % .\" .\" $FreeBSD$ .\" .Dd February 16, 2000 .Dt IPFW 8 .Os .Sh 名称 .Nm ipfw .Nd IP ファイアウォールとトラフィックシェイパの制御プログラム .Sh 書式 .Nm .Op Fl q .Oo .Fl p Ar preproc .Oo Fl D .Ar macro Ns Op = Ns Ar value .Oc .Op Fl U Ar macro .Oc .Ar pathname .Nm .Op Fl f | q .Cm flush .Nm .Op Fl q .Es \&{ \&} .En Cm zero | resetlog | delete .Op Ar number ... .Nm .Op Fl s Op Ar field .Op Fl adeftN .Es \&{ \&} .En Cm list | show .Op Ar number ... .Nm .Op Fl q .Cm add .Op Ar number .Ar rule-body .Nm .Cm pipe .Ar number .Cm config .Ar pipe-config-options .Nm .Cm pipe .Es \&{ \&} .En Cm delete | list | show .Op Ar number ... .Nm .Cm queue .Ar number .Cm config .Ar queue-config-options .Nm .Cm queue .Es \&{ \&} .En Cm delete | list | show .Op Ar number ... .Sh 解説 .Nm は、 .Fx の .Xr ipfirewall 4 と .Xr dummynet 4 トラフィックシェイパを制御するユーザインタフェースです。 .Pp 各入出力パケットは .Nm ルールを通されます。 パケットが .Nm に処理される回数は様々です。 基本的には、カーネル関数 .Em ip_input() , ip_output() , bdg_forward() が起動される度に .Nm が起動されます。 つまり、 終点の 1 個がローカルホストにある接続では、パケットは 1 回処理されます。 終点の 2 個両方がローカルホストにある接続または このホストがルーティングするパケットに対しては、2 回処理されます (ゲートウェイとしての動作)。 このホストがブリッジするパケットに対しては、1 回処理されます (ブリッジとしての動作)。 .Pp ファイアウォール設定は、番号付けされたルールのリストからなります。 あるルールにマッチしそれに関連する動作が実行されるまで、 各パケットはルールのリストに対し照合されます。 動作とシステムの設定によっては、マッチしたルールの直後で、 パケットがファイアウォールに再注入され、 更に処理が継続することもあります。 全てのルールが全てのインタフェースに適用されますので、 チェックの回数が最小となるようなルール集合を書くのは システム管理者の責任です。 .Pp どの設定も常に、 .Em DEFAULT ルール (番号 65535) を含みます。このルールは変更できず、 全パケットにマッチします。 デフォルトルールに関連付けるルールは .Cm deny か .Cm allow のどちらかになりますが、 これはどのようにカーネルを設定したかに依存します。 .Pp ルール集合が .Cm keep-state または .Cm limit のオプション付きのルールを含む場合、 .Nm は .Em ステートフル (状態依存型) で動作します。すなわち、あるマッチの結果、 マッチしたパケットのパラメータにちょうど一致するルールが 動的に生成されます。 .Pp これらの動的ルールの寿命は有限で、 .Cm check-state または .Cm keep-state ルールが最初に生じた場所でチェックされます。 動的ルールは、合法的なトラフィックをオンデマンドで ファイアウォールを通過させるために用いることが普通です。 .Nm のステートフルな動作について更に情報が必要ならば、 以下の .Sx ルール書式 または .Sx 使用例 セクションを参照して下さい。 .Pp 動的ルールも含めすべてのルールは、 それに関連するカウンタをいくつか持っています。 それは、パケットカウント、バイトカウント、ログカウント、 最後にマッチした時刻を示すタイムスタンプです。 カウンタは、 .Nm コマンドによって、表示およびリセット可能です。 .Pp ルールの追加は .Cm add コマンドにて可能です。 個々のルールの削除は .Cm delete コマンドにて可能であり、すべてのルールの削除は .Cm flush コマンドにて可能です。 ルールの表示は、 .Cm show コマンドおよび .Ar list コマンドにて可能です。 これらにより、オプションでカウンタ内容も含めて表示させることができます。 最後に、カウンタのリセットは .Cm zero コマンドおよび .Cm resetlog コマンドにて可能です。 .Pp 次のオプションが利用可能です: .Bl -tag -width indent .It Fl a リスト中にカウンタ値を示します。 .Cm show コマンドもあわせて見てください。 .It Fl d リスト中に、静的ルールに加えて動的ルールも表示します。 .It Fl e .Fl d オプションも指定された場合、 リスト中に、期限切れの動的ルールも表示します。 .It Fl f 誤って使用すると問題を起す可能性のあるコマンド、 .No すなわち Cm flush に対して、実行の確認を行いません。 .Em 注 : プロセスに関連付けられた tty が無い場合、このオプションが 暗黙のうちに指定されたとして処理されます。 .It Fl q .Cm add , .Cm zero , .Cm resetlog , .Cm flush 実行中、動作について報告しません (暗黙のうちに .Fl f が指定されます)。 スクリプト (例えば .Sq sh /etc/rc.firewall ) の中で複数の .Nm コマンドを実行してルールを変更する場合や、 リモートログインセッション経由で多数の .Nm ルールを含むファイルを処理することによりルールを変更する場合に 有用です。 通常 (冗長) モードで (デフォルトカーネル設定で) flush を行った場合、 メッセージを表示します。 すべてのルールが捨てられますので、 メッセージはログインセッションへ渡せません。 つまり、リモートログインセッション経由の場合、セッションはクローズされ、 残りのルールセットは処理されません。 この状態から回復するためにはコンソールへのアクセスが必要になります。 .It Fl t リスト作成時に、最後にマッチしたタイムスタンプを表示します。 .It Fl N 出力中のアドレスとサービス名を解決しようとします。 .It Fl s Op Ar field パイプ経由でリスト出力している際に、4つのカウンタの1つについて 整列させます (現在のパケット数)。 .El .Pp 設定を簡単にするために、ルールをファイルに記述して、 これを .Nm の最初の書式行を使って処理します。 .Ar pathname には絶対パス名を使用する必要があります。 このファイルからは 1 行ずつ読み込まれ、 .Nm ユーティリティへの引数となります。 .Pp .Fl p Ar preproc を使用して、 .Ar pathname がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには、 .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュ .Pq Ql / から始まらない場合、 .Ev PATH を使用した通常の名前検索が行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、このことに注意してください。 ひとたび .Fl p が指定されると、オプションとして .Fl D と .Fl U の指定を続けることが可能となり、これらがプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp 後述の .Sx トラフィックシェイパ設定 の節で示すように、 .Nm .Cm pipe コマンドを使用して、トラフィックシェイパを構築可能です。 .Sh ルール書式 .Nm ルールフォーマットは次の通りです。 .Bd -ragged .Op Cm prob Ar match_probability .Ar action .Op Cm log Op Cm logamount Ar number .Ar proto .Cm from Ar src .Cm to Ar dst .Op Ar interface-spec .Op Ar options .Ed .Pp 各パケットをフィルタする際には、以下の情報に基づくことができます。 .Pp .Bl -tag -width "送信元および宛先 IP アドレス" -offset indent -compact .It 送受信インタフェース (名前またはアドレス) .It 方向 (入力または出力) .It 送信元および宛先 IP アドレス (マスク使用可) .It プロトコル (TCP, UDP, ICMP 等) .It 送信元および宛先ポート (リスト、範囲、マスクのいずれか) .It TCP フラグ .It IP フラグメントフラグ .It IP オプション .It ICMP タイプ .It パケットに関連付けられたソケットのユーザ ID とグループ ID .El .Pp 送信元 IP アドレスや宛先 TCP/UDP ポートによるフィルタは 危険があることに注意してください。 なぜなら、これらの詐称は簡単だからです。 .Bl -tag -width indent .It Cm prob Ar match_probability 指定した確率 (0 から 1 までの浮動小数点数です) でのみマッチが宣言されます。 ランダムにパケットを落とす応用として用いる場合や、( .Xr dummynet 4 と共に使用して) パケット到達順序の乱れを引き起こす複数経路の効果をシミュレートする際に 有用です。 .It Ar action : .Bl -tag -width indent .It Cm allow マッチするパケットを通過させ、マッチングを終了します。 .Cm pass , .Cm permit , .Cm accept はこれの別名です。 .It Cm deny マッチするパケットを破棄し、マッチングを終了します。 .Cm drop は .Cm deny の別名です。 .It Cm reject (この使用は推奨されません) マッチするパケットを破棄し、 ICMP の host unreachable を送信し、 マッチングを終了します。 .It Cm unreach Ar code マッチするパケットを破棄し、 ICMP の unreachable に .Ar code を付けて送信します。ここで、 .Ar code は、0 から 256 までの数字、もしくは、以下に列挙する別名のいずれかです: .Cm net , host , protocol , port , .Cm needfrag , srcfail , net-unknown , host-unknown , .Cm isolated , net-prohib , host-prohib , tosnet , .Cm toshost , filter-prohib , host-precedence , .Cm precedence-cutoff 。マッチングは終了します。 .It Cm reset TCP パケットのみ対象。 パケットを破棄し、TCP の reset (RST) を送信し、 マッチングを終了します。 .It Cm count ルールにマッチするパケットすべてのカウンタを更新し、 引続きマッチングを行ないます。 .It Cm check-state 動的ルール集合に対してパケットのチェックを行ないます。 マッチした場合、マッチングは終了します。 マッチしなかった場合、次のルールに移ります。 .Cm check-state ルールが見つからないときは、動的ルール集合は最初の .Cm keep-state ルールの場所でチェックされます。 .It Cm divert Ar port マッチするパケットを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、マッチングを終了します。 .It Cm tee Ar port マッチするパケットのコピーを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送ります。 検索を終了し、元のパケットは受理されます (ただし後述の .Sx バグ を参照してください)。 .It Cm fwd Ar ipaddr Ns Xo .Op , Ns Ar port .Xc マッチしたパケットの次のホップを .Ar ipaddr に変更します。これはドット付き 4 つ組の IP アドレスでもホスト名でもよいです。 .Ar ipaddr が直接到達可能なアドレスではない場合、その IP に対して ローカルルーティングテーブルでみつかった経路を使用します。 .Ar ipaddr がローカルアドレスの場合、 リモートホストからこのシステムにパケットが到着すると、 そのパケットをローカルマシンの .Ar port に転換します。 その際、 ソケットのローカルアドレスは、 パケットの元々の宛先の IP アドレスのままとします。 これは透過的プロキシサーバのためにあります。 IP が ローカルアドレスではない場合、ポート番号は (指定されていても) 無視され、 ルールはシステムから出て行くパケットに対してのみ適用されます。 パケットがローカルに生成されたときには、アドレスをローカルポートに マップします。 検索はこのルールがマッチしたときに終了します。 ポート番号が与えられなかった場合、 外部マシンのポート Y へのパケットは ローカルポート Y へ転送されるように、 パケット中のポート番号が使用されます。 カーネルは、 オプション IPFIREWALL_FORWARD 付きでコンパイルされている必要があります。 .It Cm pipe Ar pipe_nr パケットを .Xr dummynet 4 .Dq パイプ へ渡します (バンド幅制限、遅延等のため)。 更なる情報については .Sx トラフィックシェイパ設定 の節を参照してください。 検索は終了します。 しかし、パイプから抜けたときに .Xr sysctl 8 変数 .Em net.inet.ip.fw.one_pass がセットされていない場合、 パケットはファイアウォールコードへ再度渡されて次のルールから開始します。 .It Cm queue Ar queue_nr パケットを .Xr dummynet 4 .Dq queue へ渡します (WF2Q を使ったバンド幅制限用)。 .It Cm skipto Ar number .Ar number より小さな番号のルールを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、マッチングを継続します。 .El .It Cm log Op Cm logamount Ar number カーネルが .Dv IPFIREWALL_VERBOSE オプション付きでコンパイルされている場合に、 .Cm log キーワードが指定されているルールとマッチした時、 メッセージを .Dv LOG_SECURITY ファシリティで .Xr syslogd 8 でログします。 .Em 注 : デフォルトでは、ログは .Pa /var/log/security ファイルに追加されます ( .Xr syslog.conf 5 を参照してください)。 カーネルが、 .Dv IPFIREWALL_VERBOSE_LIMIT オプション付きでコンパイルされている場合、 デフォルトでは、 一連のルールに対し指定されたパケット 数を受信した後、メッセージの表示を中止し、 .Em net.inet.ip.fw.verbose_limit がその数に設定されます。 しかし .Cm logamount Ar number が使用された場合、 .Em net.inet.ip.fw.verbose_limit の代りにこの .Ar number がデフォルトのログ制限になり、値 .Dq 0 を指定すると、ロギングの制限は取り除かれます。 このエントリに対するロギングカウンタまたはパケットカウンタを クリアすれば、ロギングは再び有効になります。 .Pp コンソールログとデフォルトログ制限数は、 .Xr sysctl 8 を通じて MIB ベース .Dv net.inet.ip.fw にて動的に設定できます。 .It Ar proto 名前または数値で指定する IP プロトコル (詳細は .Pa /etc/protocols のリストを参照のこと)。 .Cm ip または .Cm all のキーワードを使用すると、すべてのプロトコルがマッチします。 .It Ar src No と Ar dst : .Cm any | me | Op Cm not .Aq Ar address Ns / Ns Ar mask .Op Ar ports .Pp .Cm any を指定すると、ルールはすべての IP 番号とマッチします。 .Pp .Cm me を指定すると、ルールはシステム上で構成されたすべての IP 番号とマッチします。 これは、計算量的にかなり高価なチェックですので、注意して使用してください。 .Pp .Aq Ar address Ns / Ns Ar mask は以下のように指定できます。 .Bl -tag -width "ipno/bits" .It Ar ipno IP 番号を 1.2.3.4 の形式で指定します。 この IP 番号にのみマッチします。 .It Ar ipno Ns / Ns Ar bits IP 番号とネットマスクの幅を 1.2.3.4/24 の形式で指定します。 この例の場合は 1.2.3.0 から 1.2.3.255 のアドレスがマッチします。 .It Ar ipno Ns : Ns Ar mask IP 番号とネットマスクを 1.2.3.4:255.255.240.0 の形式で指定します。 この場合は 1.2.0.0 から 1.2.15.255 のアドレスがマッチします。 .El .Pp アドレスの前に .Cm not を付けることによって、マッチの意味を反転させる ことができます (指定されたアドレス以外のすべてのアドレスがマッチします)。 これはポート番号の選択には影響しません。 .Pp TCP と UDP ではさらに、 .Em ports を以下のように指定できます。 .Bd -ragged -offset indent .Sm off .Eo \&{ .Ar port | .Ar port No \&- Ar port | .Ar port : mask .Ec \&} Op , Ar port Op , Ar ... .Sm on .Ed .Pp 記号 .Ql \&- による表現は、ポート範囲 (両端含む) を指定します。 .Pp 記号 .Ql \&: による表現は、ポートとマスクを指定します。 マッチが宣言されるのは、 パケット中のポート番号がルール中のポート番号にマッチするときですが、 マッチ対象のビットはマスク中で指定されたものに限定されます。 .Pp ポート番号の代わりに (ファイル .Pa /etc/services から取った) サービス名を使用できます。 ポート範囲指定の書式は、最初の値としてのみ指定できます。 列挙出来るポート数は .Pa /usr/src/sys/netinet/ip_fw.h で .Dv IP_FW_MAX_PORTS として定義されています。 バックスラッシュ .Pq Ql \e を使用することにより、サービス名中の .Pq Ql - 文字をエスケープ可能です: .Pp .Dl ipfw add count tcp from any ftp\e\e-data-ftp to any .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 1 つ以上のポート指定を持つルールにはマッチしません。 断片化されたパケットへのマッチングに関する詳細は .Cm frag オプションを参照してください。 .It Ar interface-spec 次の指定子の組み合わせを使用可能です: .Bl -tag -width "via ipno" .It Cm in 入力パケットにのみマッチします。 .It Cm out 出力パケットにのみマッチします。 .It Cm via Ar ifX パケットはインタフェース .Ar ifX を通過せねばなりません。 .It Cm via Ar if Ns Cm * パケットはインタフェース .Ar ifX を通過せねばなりません。この .Ar X はどんなユニット番号でもかまいません。 .It Cm via any パケットは .Em いずれか のインタフェースを通過せねばなりません。 .It Cm via Ar ipno パケットは、 IP アドレス .Ar ipno を持つインタフェースを通過せねばなりません。 .El .Pp .Cm via を用いると、常時指定されたインタフェースがチェックされます。 .Cm recv や .Cm xmit を、 .Cm via の代わりに指定すると、 受信、もしくは送信インタフェースのみが (おのおの) チェックされます。 両方を指定すれば、 受信インタフェースと送信インタフェースの両方に基づきパケットを マッチさせることが可能になります。 例 : .Pp .Dl "ipfw add 100 deny ip from any to any out recv ed0 xmit ed1" .Pp .Cm recv で指定したインタフェースでは、受信と送信、両方のパケットをチェックできます。 それに対し、 .Cm xmit で指定したインタフェースでは、送信パケットのみとなります。 それゆえに、 .Cm xmit を指定すると .Cm out が、必須です ( .Cm in は不可)。 .Cm via と共に .Cm xmit もしくは、 .Cm recv を指定する事はできません。 .Pp パケットは、受信用ないし送信用インタフェースを持たない場合があります。 ローカルホストで発生したパケットには受信用のインタフェースはありませんし、 ローカルホスト内宛のパケットには送信用インタフェースはありません。 .It Ar options : .Bl -tag -width indent .It Cm keep-state Op Ar method マッチの際に、ファイアウォールが動的ルールを生成します。このルールの デフォルトの動作は、同一プロトコルを用いる発信元と宛先の IP/port 間で双方向に通過するパケットへのマッチです。 このルールの生存期間は有限です ( .Xr sysctl 8 変数の集合により制御されます)。この生存期間は、パケットのマッチが 生じるたびに更新されます。 .Pp .It Cm limit {src-addr src-port dst-addr dst-port} N ファイアウォールは、 ルールで指定されるパラメータにおいては、N 個の接続だけを許可します。 始点および終点のアドレスやポートは、1 個以上指定可能です。 .It Cm bridged ブリッジされるパケットにのみマッチします。 これはマルチキャストやブロードキャストのパケットを扱う際に有用です。 これ以外の方法では、パケットは、ブリッジの際に一度、 ローカルスタックに渡される際にもう一度と、 ファイアウォールを 2 度通過してしまいます。 .Pp パフォーマンス上のわずかな損失はともかく、 .Em pipe を用いる際にも問題になります。これは、バンド幅、キュー占有度などの カウンタに関して、同じパケットが 2 度カウントされてしまうためです。 .It Cm frag パケットが断片 (フラグメント) 化されたデータグラムの一部で、 かつデータグラムの先頭の断片でない場合にマッチします。 .Cm frag を、 .Cm tcpflags や TCP/UDP ポート指定と共に使用することはできません。 .It Cm ipoptions Ar spec IP ヘッダが、 .Ar spec に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 サポートされている IP オプションは .Pp .Cm ssrr (strict source route), .Cm lsrr (loose source route), .Cm rr (record packet route), .Cm ts (timestamp) です。 .Ql \&! によって、特定のオプションを含まない指定が記述できます。 .It Cm tcpoptions Ar spec TCP ヘッダが、 .Ar spec に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 サポートされている TCP オプションは .Pp .Cm mss (maximum segment size), .Cm window (tcp window advertisement), .Cm sack (selective ack), .Cm ts (rfc1323 timestamp), .Cm cc (rfc1644 t/tcp connection count) です。 .Ql \&! によって、特定のオプションを含まない指定が記述できます。 .It Cm established TCP パケットのみに適用されます。 RST または ACK ビットがセットされているパケットのみマッチします。 .It Cm setup TCP パケットのみに適用されます。 SYN ビットがセットされ ACK がセットされていないパケットのみマッチします。 .It Cm tcpflags Ar spec TCP パケットのみに適用されます。 TCP ヘッダが .Ar spec に指定されたコンマで区切られたフラグのリストを含む場合にのみマッチします。 サポートされているフラグは、 .Pp .Cm fin , .Cm syn , .Cm rst , .Cm psh , .Cm ack , .Cm urg です。 .Ql \&! によって、特定のフラグを含まない指定を記述できます。 .Cm tcpflags 指定を含むルールは、非 0 のオフセットを持つ断片化されたパケットに マッチすることはありません。 断片化されたパケットに関するマッチについての詳細は .Cm frag オプションを参照してください。 .It Cm icmptypes Ar types ICMP パケットのみに適用されます。 ICMP タイプが .Ar types で指定されたリスト中に存在する場合にのみマッチします。 リストは範囲指定でも、タイプおのおのをコンマで区切ったものでも どちらの組み合わせでもかまいません。 サポートされている ICMP タイプは次の通りです: .Pp エコー返答 .Pq Cm 0 , 終点不到達 .Pq Cm 3 , 発信抑制 .Pq Cm 4 , リダイレクト .Pq Cm 5 , エコー要求 .Pq Cm 8 , ルータ広告 .Pq Cm 9 , ルータ要請 .Pq Cm 10 , 時間超過 .Pq Cm 11 , IP ヘッダ異常 .Pq Cm 12 , タイムスタンプ要求 .Pq Cm 13 , タイムスタンプ応答 .Pq Cm 14 , 情報要求 .Pq Cm 15 , 情報返答 .Pq Cm 16 , アドレスマスク要求 .Pq Cm 17 , アドレスマスク応答 .Pq Cm 18 .It Cm uid Ar user .Ar user が送信したまたは受信する、 すべての TCP パケットと UDP パケットにマッチします。 .Ar user は、名前でも ID 番号でもマッチします。 .It Cm gid Ar group .Ar group が送信したまたは受信する、 すべての TCP パケットと UDP パケットにマッチします。 .Ar group は、名前でも ID 番号でもマッチします。 .El .El .Sh トラフィックシェイパ設定 .Nm ユーティリティは、 .Xr dummynet 4 トラフィックシェイパへのユーザインタフェースも提供します。 シェイパは、ユーザが指定したマスクを IP ヘッダの異なったフィールドに 適用することにより、パケットを .Em フロー (flow) に分割します。 同じフローに属するパケットは 2 つの異なったオブジェクトへ渡されます。 それは .Em パイプ (pipe) または .Em キュー (queue) と呼ばれるものです。 .Em パイプ は、与えられたバンド幅、遅延時間、キューの長さ、パケット喪失率を もつリンクをエミュレートします。 このパラメータに従い、パケットはパイプ中を遷移します。 .Pp .Em キュー は、WF2Q+ ポリシを実装するために使用する抽象化です。 キューは、各フローに対し、重みと参照パイプを関連付けます。 それから、同じパイプに結び付けられたすべてのフローは、 WF2Q+ ポリシに従い、 パイプによって固定されたレートでスケジュールされます。 .Pp .Nm パイプ設定書式は次の通りです。 .Bd -ragged .Cm pipe Ar number Cm config .Op Cm bw Ar bandwidth | device .Op Cm delay Ar ms-delay .Oo .Cm queue .Es \&{ \&} .En Ar slots | size .Oc .Op Cm plr Ar loss-probability .Op Cm mask Ar mask-specifier .Op Cm buckets Ar hash-table-size .Oo .Cm red | gred .Sm off .Ar w_q No / Xo .Ar min_th No / .Ar max_th No / .Ar max_p .Xc .Sm on .Oc .Ed .Pp .Nm キュー設定書式は次の通りです。 .Bd -ragged .Cm queue Ar number Cm config .Op Cm pipe Ar pipe_nr .Op Cm weight Ar weight .Oo .Cm queue .Es \&{ \&} .En Ar slots | size .Oc .Op Cm plr Ar loss-probability .Op Cm mask Ar mask-specifier .Op Cm buckets Ar hash-table-size .Oo .Cm red | gred .Sm off .Ar w_q No / Xo .Ar min_th No / .Ar max_th No / .Ar max_p .Xc .Sm on .Oc .Pp 次のパラメータをパイプに対して設定可能です: .Bl -tag -width indent .It Cm bw Ar bandwidth | device バンド幅であり、単位は .Sm off .Oo .Cm K | M .Oc Eo \&{ .Cm bit/s | Byte/s .Ec \&} .Sm on で測定します。 .Pp 値 0 (デフォルト) は無限のバンド幅を意味します。 単位は数値の直後に続けて書く必要があり、次のようにします。 .Pp .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes" .Pp 数値の代りにデバイス名が指定された場合、 送信クロックは指定したデバイスから与えられます。 現在のところ、 .Xr tun 4 デバイスのみが .Xr ppp 8 と組み合わせて使用するために、この機能を提供しています。 .It Cm delay Ar ms-delay 遅延時間であり、ミリ秒単位で指定します。 値は、クロックティックの倍数 (典型的には 10ms ですが、 カーネルを "options HZ=1000" で動作させて精度を 1ms 以下にすると良い ことが経験的に知られています) に丸められます。 デフォルト値は 0 であり、遅延無しを意味します。 .It Cm queue Xo .Es \&{ \&} .En Ar slots | size Ns Cm Kbytes .Xc キューの大きさであり、スロット数か KBytes です。 デフォルト値は 50 スロットであり、 イーサネットデバイスの典型的なキューの大きさです。 低速リンクではキューの大きさを短くすべきことに注意してください。 さもないと、トラフィックは甚大なキュー遅延による影響を受けてしまいます。 例えば、 50 個の最大イーサネットパケット (1500 バイト) は 600Kbit であり、 30Kbit/s のパイプでは 20 秒のキューを意味します。 より大きな MTU のインタフェースからパケットを受け取るときには、 より悪い結果となります。 例えば、ループバックインタフェースにおいて 16KB パケットを受け取るときです。 .It Cm plr Ar packet-loss-rate パケット喪失率です。 引数 .Ar packet-loss-rate は 0 と 1 の間の浮動小数点数であり、 0 は喪失無しを意味し、1 は 100% の喪失を意味します。 喪失率は内部的には 31 ビットで表現されます。 .It Cm mask Ar mask-specifier .Xr dummynet 4 では、フローごとのキューを生成可能です。 フロー識別子は、パイプ設定において指定される IP アドレス、ポート、プロトコルタイプでマスクすることで構築されます。 マスク後に同じ識別子を持つパケットは、同じキューに落ちます。 使用可能なマスク指定子は、次を組み合わせたものです: .Cm dst-ip Ar mask , .Cm src-ip Ar mask , .Cm dst-port Ar mask , .Cm src-port Ar mask , .Cm proto Ar mask , .Cm all 。 最後の指定子は、 すべてのフィールドのすべてのビットが重要であることを意味しています。 .Ar pipe 設定中で使用される場合、 各フローにはパイプのレートに等しいレートが割り当てられます。 .Ar queue 設定中で使用される場合、 各フローにはキューの重みに等しい重みが割り当てられ、 同じパイプを構成するキューは重みに比例してバンド幅を共有します。 .It Cm buckets Ar hash-table-size 様々なキューを格納するために使用するハッシュ表の大きさを指定します。 デフォルト値は 64 であり、 .Xr sysctl 8 変数 .Em net.inet.ip.dummynet.hash_size で制御され、使用可能な範囲は 16 から 1024 です。 .It Cm pipe Ar pipe_nr キューを指定したパイプに接続します。 複数のキュー (通常は異なった重み) を同一のパイプに接続可能です。 この場合、このキュー集合に対する集約レートを、このパイプが指定します。 .It Cm weight Ar weight このキューに適合するフローに使用する重みを指定します。 重みは 1..100 の範囲であることが必要であり、デフォルトは 1 です。 .It Cm red | gred Xo .Sm off .Ar w_q No / .Ar min_th No / .Ar max_th No / .Ar max_p .Sm on .Xc RED キュー管理アルゴリズムを使用します。 .Ar w_q と .Ar max_p は 0 から 1 (0 を含みません) の範囲の浮動小数点数であり、 .Ar min_th と .Ar max_th はキュー管理用の閾値を指定する整数です (キューがバイト数で指定された場合は閾値はバイトで計算され、 そうでない場合はスロット数で計算されます)。 .Xr dummynet 4 は、gentle RED という変型 (gred) もサポートします。 RED の動作を制御するために、3 個の .Xr sysctl 8 変数を使用可能です: .Bl -tag -width indent .It Em net.inet.ip.dummynet.red_lookup_depth リンクがアイドルの時の、平均キューの計算精度を指定します (デフォルトは 256 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_avg_pkt_size パケットサイズの平均の期待値を指定します (デフォルトは 512 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_max_pkt_size パケットサイズの最大値の期待値を指定します。 キューの閾値がバイトの場合のみ使用されます (デフォルトは 1500 であり、0 より大きい必要があります) .El .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点を述べます。 .Bl -bullet .It かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる のがよいでしょう。 コンソールに近寄れない場合、 .Pa /usr/share/examples/ipfw/change_rules.sh にあるような自動回復スクリプトを使用してください。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 細かい事柄 .Bl -bullet .It ファイアウォールが常に破棄するパケットが 1 種類あります。 フラグメントオフセットが 1 の TCP パケットフラグメントです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 ログが有効な場合、 これらのパケットはルール -1 により破棄されたと報告されます。 .It ネットワーク越しにログインしている場合、 .Xr kld 4 バージョンの .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset indent kldload /modules/ipfw.ko && \e ipfw add 32000 allow ip from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset indent ipfw flush .Ed .Pp とするのは良くありません。 .It システムセキュリティレベルが 3 以上に設定されている場合、 IP フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .El .Sh パケットの行き先変更 指定されたポートにバインドされた .Xr divert 4 ソケットは、 そのポートへ行き先変更されたパケットを、 全部受けとります。 宛先ポートにバインドされたソケットがない場合や、 カーネルがパケットの行き先変更ソケットをサポートするようには コンパイルされていない場合、 パケットは破棄されます。 .Sh SYSCTL 変数 ファイアウォールの動作を制御する .Xr sysctl 8 変数の集合があります。 デフォルト値 (どの値が実際に使用されるかは .Nm sysctl で確認してください) と意味と共に、これらを以下に列挙します。 .Bl -tag -width indent .It Em net.inet.ip.fw.debug : No 1 .Nm が生成するデバッグメッセージを制御します。 .It Em net.inet.ip.fw.one_pass : No 1 セットされると、 .Xr dummynet 4 パイプから出て来たパケットは、ふたたびファイアウォールを通さないようにします。 セットされない場合、pipe 処理のあと、 パケットは再びファイアウォールに挿入され、次のルールから再開されます。 .It Em net.inet.ip.fw.verbose : No 1 冗長なメッセージを出力するようにします。 .It Em net.inet.ip.fw.enable : No 1 ファイアウォールを動作可能にします。 この変数を 0 に設定すると、ファイアウォールをコンパイルして 仕込んでいてもファイアウォールなしで動作します。 .It Em net.inet.ip.fw.verbose_limit : No 0 冗長なファイアウォールが生成するメッセージの数を制限します。 .It Em net.inet.ip.fw.dyn_buckets : No 256 .It Em net.inet.ip.fw.curr_dyn_buckets : No 256 動的ルールを保持するために使用するハッシュ表の設定サイズと 現在のサイズです。この値は 2 のべき乗にする必要があります。 ハッシュ表のサイズの変更は、表が空の場合のみ行なわれます。 したがって、実行中に表のサイズを変更するためには、 .Cm flush してルール集合を再ロードする必要があるでしょう。 .It Em net.inet.ip.fw.dyn_count : No 3 現在の動的ルールの数です (読み込み専用)。 .It Em net.inet.ip.fw.dyn_max : No 1000 動的ルールの最大値です。この限界にいきつくと、 古いルールが無効になるまでは、それ以上、動的ルールを 組み込むことはできません。 .It Em net.inet.ip.fw.dyn_ack_lifetime : No 300 .It Em net.inet.ip.fw.dyn_syn_lifetime : No 20 .It Em net.inet.ip.fw.dyn_fin_lifetime : No 1 .It Em net.inet.ip.fw.dyn_rst_lifetime : No 1 .It Em net.inet.ip.fw.dyn_udp_lifetime : No 5 .It Em net.inet.ip.fw.dyn_short_lifetime : No 30 これらの値は、動的ルールの生存期間を秒単位でコントロールします。 最初の SYN 交換の際に、生存期間が short になり、 SYN を両方とも見た後に増やされ、最後の FIN 交換の間、 または RST が生じる際に再び減らされます。 .El .Sh 使用例 次のコマンドは .Em cracker.evil.org から .Em wolf.tambov.su の telnet ポートへ送られるすべての TCP パケットを拒否するルールを追加します。 .Pp .Dl "ipfw add deny tcp from cracker.evil.org to wolf.tambov.su telnet" .Pp 次のコマンドはクラッカーのネットワーク全体からホスト my への すべてのコネクションを拒否します。 .Pp .Dl "ipfw add deny ip from 123.45.67.0/24 to my.host.org" .Pp 最初に効率良く (動的ルールを用いずに) アクセスを制限する方法は、 次のルールを用いることです。 .Pp .Dl "ipfw add allow tcp from any to any established" .Dl "ipfw add allow tcp from net1 portlist1 to net2 portlist2 setup" .Dl "ipfw add allow tcp from net3 portlist3 to net3 portlist3 setup" .Dl "..." .Dl "ipfw add deny tcp from any to any" .Pp 最初のルールは通常の TCP パケットにすぐにマッチしますが、 最初の SYN パケットにはマッチしません。 指定した発信元/宛先の組の SYN パケットのみ、次の .Cm setup ルールにマッチします。これら以外の SYN パケットは、最後の .Cm deny ルールにより却下されます。 .Pp にせの TCP パケットを含む怒涛の攻撃 (flood attack) から サイトを保護するためには、次の動的ルールを用いた方が安全です。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add deny tcp from any to any established" .Dl "ipfw add allow tcp from my-net to any setup keep-state" .Pp これらのルールにより、ファイアウォールは、自分たちのネットワークの 内側から到着する通常の SYN パケットで始まるコネクションに対して のみ動的ルールを組み込みます。動的ルールは、最初の .Cm check-state ルール、または、 .Cm keep-state ルールに遭遇した時点でチェックされます。 ルール集合のスキャン量を最小にするために、 .Cm check-state ルールは、ルール集合の最初のほうに置くことになるのが普通です。 実際の燃費は変動します。 .Pp ユーザが開ける接続数を制限するには、次のタイプのルールを使用可能です: .Pp .Dl "ipfw add allow tcp from my-net/24 to any setup limit src-addr 10" .Dl "ipfw add allow tcp from any to me setup limit src-addr 4" .Pp 前者 (ゲートウェイ上で動作することを仮定) は、/24 ネット上の各ホストが 最大 10 個の TCP 接続を開くことを許します。 後者は、サーバ上に設定可能であり、 単一のクライアントが同時に 4 個を越える接続を使用できないようにします。 .Pp .Em 注意 : ステートフルなルールは、怒涛の SYN 攻撃により極めて大量の動的ルールを 作ってしまい、サービス不能攻撃を受けることになる可能性があります。 ファイアウォールの動作をコントロールする .Xr sysctl 8 変数に従いファイアウォールが動作することによって、 このような攻撃の影響を部分的にでも制限することはできます。 .Pp 次はカウントされている情報とタイムスタンプ情報を見る .Cm list コマンドのよい例です。 .Pp .Dl ipfw -at l .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a l .Pp 次のルールは 192.168.2.0/24 からのすべての受信パケットを、5000 番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 ip from 192.168.2.0/24 to any in .Pp 次のルールは、 .Nm と .Xr dummynet 4 をシミュレーションなどで使う際の使用方法を示しています。 .Pp このルールは 5% の確率でランダムにパケットを落します。 .Pp .Dl "ipfw add prob 0.05 deny ip from any to any in" .Pp 同様の効果は dummynet パイプで実現可能です: .Pp .Dl "ipfw add pipe 10 ip from any to any" .Dl "ipfw pipe 10 config plr 0.05" .Pp 人工的にバンド幅を制限するためにパイプを使用可能です。 例えばルータとして動作するマシン上で、 192.168.2.0/24 上のローカルクライアントからのトラフィックを制限したい場合、 次のようにします: .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes" .Pp .Cm out 指示子を使用しているので、ルールが 2 度使われないことに注意してください。 .Nm ルールは、実際には、 入力パケットと出力パケットの両方に適用されることを覚えておいてください。 .Pp バンド幅に制限がある双方向リンクをシミュレートする場合、 正しい方法は次の通りです: .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config bw 64Kbit/s queue 10Kbytes" .Dl "ipfw pipe 2 config bw 64Kbit/s queue 10Kbytes" .Pp 上述の方法は非常に有用な場合があり、 例えばあなたの装飾的なウェブページが 低速リンクのみで接続されている在宅ユーザにどう見えているか 知りたい場合に有用です。 半二重メディア (例えば appletalk, Ethernet, IRDA) をシミュレートしたい 場合を除き、単一のパイプを両方の方向に使用すべきではありません。 両方のパイプが同じ設定である必要はないので、 非対称リンクをシミュレート可能です。 .Pp RED キュー管理アルゴリズムを使用してネットワーク性能を検証するには、 次のようにします: .Pp .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config bw 500Kbit/s queue 100 red 0.002/30/80/0.1" .Pp トラフィックシェイパの他の典型的な応用は、 いくばくかの通信遅延を導入することです。 これは、遠隔手続き呼び出しを多用するアプリケーションで、 バンド幅よりも接続のラウンドトリップ時間がしばしば制約条件となる アプリケーションに、大きな影響を与えます: .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config delay 250ms bw 1Mbit/s" .Dl "ipfw pipe 2 config delay 250ms bw 1Mbit/s" .Pp フローごとのキューはさまざまな用途に有用です。 非常に単純な用途は、トラフィックの計数です: .Pp .Dl "ipfw add pipe 1 tcp from any to any" .Dl "ipfw add pipe 1 udp from any to any" .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config mask all" .Pp 上述のルールセットは、 すべてのトラフィックに対するキューを生成 (して統計情報を収集) します。 パイプには制限をつけていないので、統計情報を集める効果しかありません。 最後のルールだけでなく 3 個のルールが必要なことに注意してください。 .Nm が IP パケットのマッチを試みるときにポートを考慮しないため、 別々のポート上の接続は我々には同じものに見えます。 .Pp より洗練された例は、 ネットワークの出力トラフィックを、 ネットワーク毎に制約するのではなく、ホスト毎に制約するものです: .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw add pipe 2 ip from any to 192.168.2.0/24 in" .Dl "ipfw pipe 1 config mask src-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Dl "ipfw pipe 2 config mask dst-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr bridge 4 , .Xr divert 4 , .Xr dummynet 4 , .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr init 8 , .Xr kldload 8 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ この数年で文法が大きくなってしまい、 非常にすっきりしているとは言い難いです。 .Pp .Em WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!! .Pp このプログラムはコンピュータをかなり使いにくい状態にしてしまう 可能性があります。 はじめて使用する時はコンソール上で実行し、理解していない操作は .Em 絶対に実行しない ようにして下さい。 .Pp 連続したエントリの操作もしくは追加に際し、 サービス名やプロトコル名は使用できません。 .Pp 入ってきたパケットの断片 (フラグメント) が .Cm divert によって行き先を変更されるか .Cm tee されると、ソケットに配送される前にパケットは再構成されます。 .Pp .Cm tee ルールにマッチするパケットは、 即時に受理されるべきではなく、ルールリストを更に通るべきです。 これは、以降のバージョンで修正されるかもしれません。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs , .An Luigi Rizzo . .Pp .An -nosplit API は .An Daniel Boulet が BSDI 用に記述したコードに基づいています。 .Pp .Xr dummynet 4 トラフィックシェイパは Akamba Corp がサポートしました。 .Sh 歴史 .Nm は、 .Fx 2.0 で最初に現れました。 .Xr dummynet 4 は .Fx 2.2.8 から導入されました。 ステートフル拡張は、 .Fx 4.0 から導入されました。 diff --git a/ja_JP.eucJP/man/man8/loader.8 b/ja_JP.eucJP/man/man8/loader.8 index 920f53b317..6515cdc42f 100644 --- a/ja_JP.eucJP/man/man8/loader.8 +++ b/ja_JP.eucJP/man/man8/loader.8 @@ -1,835 +1,844 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sys/boot/common/loader.8,v 1.18.2.9 2001/09/15 00:50:35 dillon Exp % +.\" %FreeBSD: src/sys/boot/common/loader.8,v 1.18.2.11 2001/12/08 03:24:23 murray Exp % .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. .\" .\" $FreeBSD$ .Dd March 14, 1999 .Dt LOADER 8 .Os .Sh 名称 .Nm loader .Nd カーネルブートストラップの最終段階 .Sh 解説 .Nm と呼ばれるプログラムは、 .Fx のカーネルブートストラップにおける、最終段です。 IA32 (i386) アーキテクチャでは、これは .Pa BTX クライアントです。 .Xr libstand 3 に静的にリンクされ、通常はディレクトリ .Pa /boot に置かれます。 .Pp また、作業自動化、事前設定、回復処理の補助に使用可能な、 スクリプト言語を提供します。 このスクリプト言語はおおまかに 2 つの主たる部分に分類されます。 小さな方は、通常のユーザが直接使用するようデザインされたコマンドの集合で、 歴史的な事情により「組み込みコマンド」と呼ばれます。 これらのコマンドを提供した背景には、 主としてユーザの使い勝手を改善する目的があります。 大きな部品は .Tn ANS Forth 互換の Forth インタプリタであり、 .An John Sadler の ficl をベースにしています。 .Pp 初期化において、 .Nm はコンソールを検出して .Va console 変数を設定します。 直前のブートステージにシリアルコンソールを使用した場合には、 この変数をシリアルコンソール .Pq Dq comconsole に設定します。 その後、デバイスをプローブし、 .Va currdev と .Va loaddev を設定し、 .Va LINES を 24 に設定します。 次に .Tn FICL が初期化され、組み込み語が語彙に追加され、存在する場合には .Pa /boot/boot.4th が処理されます。 このファイルが読み込まれるまで、ディスクの交換はできません。 .Nm が .Tn FICL とともに使用する内部インタプリタは .Ic interpret に設定されます。これは .Tn FICL のデフォルトです。 この後、使用可能な場合 .Pa /boot/loader.rc が処理され、そうでない場合には歴史的な理由で .Pa /boot/boot.conf が読み込まれます。 これらのファイルは .Ic include コマンドを介して処理されます。 このコマンドは、 処理前にファイル内容すべてをメモリに読み込みますので、 ディスク交換が可能となります。 .Pp この時点で、 .Ic autoboot が試されていない場合でかつ .Va autoboot_delay が .Dq NO (大文字小文字は区別しません) に設定されていない場合、 .Ic autoboot が試されます。 システムがこの時点まで到達した場合、 .Va prompt が設定され、 .Nm は対話モードになります。 .Sh 組み込みコマンド .Nm の組み込みコマンドは、パラメータをコマンドラインから受け取ります。 現在、スクリプトからの呼び出し方法は、文字列上で .Pa evaluate を使用することだけです。 エラー状態が発生すると、 .Tn ANS Forth 例外操作語でインタセプト可能な例外が生成されます。 インタセプトされない場合、エラーメッセージが表示され、 インタプリタの状態がリセットされます。 これにより、スタックが空になりインタプリタのモードが元に戻ります。 .Pp 使用可能な組み込みコマンドは次の通りです: .Pp .Bl -tag -width Ds -compact .It Ic autoboot Op Ar seconds ユーザが割り込まない場合には、 指定した秒数の後にシステムのブートストラップへ進みます。 キーが押されて割り込まれるまで、 カウントダウンプロンプトを表示し、 ユーザに対してシステムがブートするところであることを警告します。 必要であれば、最初にカーネルがロードされます。 デフォルトは 10 秒です。 .Pp .It Ic bcachestat ディスクキャッシュの使用状況を表示します。 デバッグのためだけにあります。 .Pp .It Ic boot .It Ic boot Ar kernelname Op Cm ... .It Ic boot Fl flag Cm ... システムのブートストラップへすぐに進み、 必要であればカーネルをロードします。 すべてのフラグまたは引数はカーネルに渡されますが、 カーネル名が指定された場合、これらはカーネル名の後にある必要があります。 .Pp .Em 警告 : この組み込みコマンドの動作は、 .Xr loader.4th 8 がロードされると、変ります .Pp .It Ic echo Xo .Op Fl n .Op Aq message .Xc 画面にテキストを表示します。 .Fl n を指定しない場合、改行が表示されます。 .Pp .It Ic heap メモリ使用状況が表示されます。デバッグ目的のためだけにあります。 .Pp .It Ic help Op topic Op subtopic ヘルプメッセージを .Pa /boot/loader.help から読み込んで表示します。 特殊トピック .Em index は、使用可能なトピックを表示します。 .Pp .It Ic include Ar file Op Ar スクリプトファイルを処理します。 各ファイルは、順番がまわって来たところで完全にメモリに読み込まれ、 各行がコマンドラインインタプリタに渡されます。 インタプリタがエラーを返すと、 他のファイルは読み込まずに include コマンドは即時に異常終了し、 自身にエラーを返します ( .Sx エラー 参照)。 .Pp .It Ic load Xo .Op Fl t Ar type .Ar file Cm ... .Xc カーネル、カーネルローダブルモジュール (kld)、内容を問わず .Ar type とタグ付けされているファイルのいずれかをロードします。 カーネルとモジュールは、a.out または elf のどちらの形式であってもかまいません。 ロードされるファイルの後で渡される引数は、 そのファイルに対する引数として渡されます。 現在のところ、これはカーネルに対しては動作しないことに注意してください。 .Pp .It Ic ls Xo .Op Fl l .Op Ar path .Xc ディレクトリ .Ar path 、または .Ar path を指定しなかった場合にはルートディレクトリのファイル一覧を表示します。 .Fl l を指定すると、ファイルの大きさも表示します。 .Pp .It Ic lsdev Op Fl v モジュールのロード元となりうるデバイスをすべて表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic lsmod Op Fl v ロード済のモジュールを表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic more Ar file Op Ar .Va LINES 行を表示するごとに停止しながら、指定したファイルを表示します。 .Pp .It Ic pnpscan Op Fl v プラグアンドプレイデバイスをスキャンします。 現在のところ動作しません。 .Pp .It Ic read Xo .Op Fl t Ar seconds .Op Fl p Ar prompt .Op Va variable .Xc 入力行を端末から読み込み、 .Va variable が指定された場合にはこれに読み込み結果を格納します。 タイムアウトは .Fl t で指定可能ですが、これは最初に押されるキーにより打ち消されます。 プロンプトもまた .Fl p フラグにより表示可能です。 .Pp .It Ic reboot 即時にシステムをリブートします。 .Pp .It Ic set Ar variable .It Ic set Ar variable Ns = Ns Ar value ローダの環境変数を設定します。 .Pp .It Ic show Op Va variable 指定した変数の値を表示します。 .Va variable を指定しないと、すべての変数とその値を表示します。 .Pp .It Ic unload 全モジュールをメモリから取り除きます。 .Pp .It Ic unset Va variable .Va variable を環境から取り除きます。 .Pp .It Ic \&? .Dq help index と同じです。 .Pp .El .Ss 組み込みの環境変数 .Nm は実際のところ、異なった 2 種類の .Sq 環境 変数を持ちます。 それは、ANS Forth の .Em 環境問い合わせ と、別の空間であり組み込みコマンドが使用する環境変数です。 後者は Forth の語としては直接使用できません。 この節で説明するのは、後者です。 .Pp 環境変数の設定および設定解除は、 .Ic set と .Ic unset の組み込みコマンドを介して行います。これらの値は、 .Ic show 組み込みコマンドを使用して対話的に検査できます。 これらの値は、 .Sx 組み込みパーザ で説明する方法でもまたアクセス可能です。 .Pp この環境変数は、システムブート後にシェルに継承されないことに注意してください。 .Pp 数個の変数が .Nm により自動的に設定されます。 他の変数は、 .Nm またはブート時のカーネル動作に影響し得ます。 これらのうち値を要求するものがある一方、 設定されるだけで動作を定義するものもあります。 これらを以下に示します。 .Bl -tag -width bootfile .It Va autoboot_delay .Ic autoboot がブート前に待つ秒数です。この変数が定義されていない場合、 .Ic autoboot はデフォルトの 10 秒になります。 .Pp .Dq NO に設定すると、 .Pa /boot/loader.rc の処理の後に .Ic autoboot を自動的には試みなくなります。 しかし、明示的に .Ic autoboot を指定すると、デフォルトの 10 秒の遅延の後に通常通り処理されます。 .It Va boot_askname カーネルブート時にルートデバイス名をユーザに尋ねるように、 カーネルに指示します。 .It Va boot_ddb ブート時に初期化に進むのではなく DDB デバッガを開始するように、 カーネルに指示します。 .It Va boot_gdb gdb リモートモードを、カーネルデバッガのデフォルトとして選択します。 .It Va boot_single カーネルがマルチユーザスタートアップを開始することを防ぎ、 カーネルがデバイスプローブを完了したときにはシングルユーザモードになります。 .It Va boot_userconfig カーネルブート時に カーネルの対話的なデバイス設定プログラムを実行するよう要求します。 .It Va boot_verbose この変数を設定すると、 ブートフェーズ中に追加のデバッグ情報をカーネルが表示します。 .It Va bootfile セミコロンで区切った検索パスのリストであり、 ここからブート可能なカーネルを探します。 デフォルトは .Dq Dq kernel;kernel.old です。 .It Va console 現在のコンソールを定義します。 .It Va currdev デフォルトデバイスを選択します。デバイスの文法は奇妙なものです。 .It Va init_path カーネルが初期プロセスとして実行しようとすべきバイナリのリストを指定します。 デフォルトは .Dq Li /sbin/init:/sbin/oinit:/sbin/init.bak:/stand/sysinstall です。 .It Va interpret Forth の現在の状態がインタプリタの場合、 .Dq Li ok という値を持ちます。 .It Va LINES 画面上の行数を定義します。ページャが使用します。 .It Va module_path モジュールを検索するディレクトリのリストを設定します。 モジュール名は、load コマンドまたは依存関係により暗黙的に指定されます。 この変数のデフォルト値は .Dq Li /;/boot;/modules です。 .It Va num_ide_disks IDE ディスクの数を設定します。 これは、ブート時にルートディスクを見つけることに関する問題への対処です。 .Va root_disk_unit により価値が低下しています。 .It Va prompt .Nm のプロンプトの値です。 デフォルトは .Dq Li "${currdev}>" です。 .It Va root_disk_unit ルートディスクのディスクユニット番号を検出するコードが混乱する場合、 この変数を設定することでユニット番号を強制可能です。 混乱するのは、例えば SCSI と IDE のディスクを両方持つ場合や、 IDE ディスクの並びに隙間がある場合 (プライマリスレーブが無い場合など) です。 .It Va rootdev デフォルトでは、カーネルブート時にルートファイルシステムの設定には .Va currdev が使用されます。 これは .Va rootdev を明示的に設定することによりオーバライド可能です。 .El .Pp 他の変数を使用することにより、 カーネルの調整可能なパラメータをオーバライド可能です。 次の調整可能な変数が使用可能です: .Bl -tag -width Va +.It Va kern.maxusers +多くの静的に割り当てられるシステムテーブルの大きさを設定します。 +このチューナブルに対して適切な値をどのように選択するかについては、 +.Xr tuning 7 +を参照してください。 +このチューナブルが設定されている場合、 +カーネルがコンパイルされたときの設定ファイルで宣言された値は、 +置き換えられます。 .It Va kern.ipc.nmbclusters 割り当てられる mbuf クラスタ数を設定します。 カーネルコンパイル時に決定されたデフォルト値より小さくは、設定できません。 .Va NMBCLUSTERS を変更します。 .It Va kern.vm.kmem.size カーネルメモリの大きさ (バイト) を設定します。 カーネルコンパイル時に決定された値に、完全に優先します。 .Va VM_KMEM_SIZE を変更します。 .It Va kern.maxswzone スワップメタ情報を保持するための KVM 量を制限します。 これは、システムがサポート可能なスワップ量に直接影響を与えます。 この値は、KVA 空間のバイト数で指定され、デフォルトは約 70MB です。 この値を減らし過ぎて、 実際に構成されるスワップが カーネルがサポートするスワップの 1/2 を越えてしまわぬよう、 注意してください。 デフォルトの 70MB は、 カーネルが最大 (約) 14 GB のスワップを構成可能とします。 バッファキャッシュや NMBCLUSTERS といった 他の資源用の KVM 予約を大幅に増やす場合のみ、 本パラメータを調整してみてください。 .Va VM_SWZONE_SIZE_MAX を変更します。 .It Va kern.maxbcache バッファキャッシュ用に予約される KVM の量を制限します。 バイト数で指定します。 デフォルトの最大値は 200 MB です。 このパラメータは、大規模構成において、 バッファキャッシュが多くの KVM を消費してしまうことを避けるために使用します。 スワップゾーンや NMBCLUSTERS といった 他の資源用の KVM 予約を大幅に増やす場合のみ、 本パラメータを調整してみてください。 NBUF パラメータがこの制限に優先することに注意してください。 .Va VM_BCACHE_SIZE_MAX を変更します。 .It Va machdep.pccard.pcic_irq 通常時に PCCARD コントローラに割り当てられる IRQ をオーバライドします。 典型的には、最初に利用可能な割り込みが割り当てられてしまい、 他のハードウェアと衝突してしまうかもしれません。 この値を 0 に設定すると、割り込みは割り当てられず、 コントローラはポーリングモードのみで動作します。 .It Va net.inet.tcp.tcbhashsize .Va TCBHASHSIZE のコンパイル時の設定値をオーバライドするか、 デフォルトの 512 にプリセットします。 2 のべき乗である必要があります。 .El .Ss 組み込みパーザ 組み込みコマンドが実行されるとき、 行の残りはコマンドが引数として受け取り、 通常の Forth コマンドには使用されない特別なパーザがコマンドを処理します。 .Pp この特別なパーザは、解析したテキストに対して次のルールを適用します: .Pp .Bl -enum .It すべてのバックスラッシュ文字は前処理されます。 .Bl -bullet .It \eb , \ef , \er , \en, \et は C で扱われるように処理されます。 .It \es は空白文字に変換されます。 .It \ev は .Tn ASCII の 11 に変換されます。 .It \ez は単にスキップされます。 .Dq \e0xf\ez\e0xf のように使用すると便利です。 .It \e0xN と \e0xNN は 16 進数の N と NN に変換されます。 .It \eNNN は 8 進数 NNN の .Tn ASCII 文字に変換されます。 .It \e" , \e' , \e$ は、これらの文字をエスケープし、 後述するステップ 2 における特殊な意味を与えられないようにします。 .It \e\e は単一の \e に変換されます。 .It 他の場合、バックスラッシュは単に取り除かれます。 .El .It エスケープされていないクォートまたはダブルクォートの間のすべての文字列は、 後続するステップにおいて単一の語として扱われます。 .It .Li $VARIABLE または .Li ${VARIABLE} は、環境変数 .Va VARIABLE の値に変換されます。 .It 空白で区切られた複数の引数を、呼び出した組み込みコマンドへ渡します。 空白は \e\e を使用することによりエスケープ可能です。 .El .Pp 解析ルールには例外があり、これは .Sx 組み込み語と FORTH で説明します。 .Ss 組み込み語と FORTH すべての組み込み語は、状態を意識する即時実行語です。 インタプリトされると、これらは前述の通りに振舞います。 一方コンパイルされると、 引数をコマンドラインからではなくスタックから取り出します。 .Pp コンパイルされると、 実行時に組み込み語は、スタック上で次のパラメータを見付けられると期待します: .D1 Ar addrN lenN ... addr2 len2 addr1 len1 N ここで .Ar addrX lenX は文字列であり、組み込み語の引数として解釈されるコマンドラインを構成します。 内部的には、おのおのの間に空白を狭んで、 これらの文字列は 1 から N まで結合されます。 .Pp 引数が渡されない場合、組み込み語が引数を受け付けない場合であっても、 単一の 0 を渡す .Em 必要 があります。 .Pp この動作には利点がありますが、それ自身にはトレードオフがあります。 組み込み語の実行トークンが ( .Ic ' または .Ic ['] を通して) 得られて、 .Ic catch または .Ic execute に渡された場合、組み込み語の動作は .Bf Em .Ic catch または .Ic execute が実行されるときの .Ef システムの状態に依存します ! これは、 例外を扱いたいまたは扱う必要があるプログラムにとっては、特に悩ましいものです。 この場合、代理 (proxy) を使用することをお勧めします。 例えば次のようにします: .Dl : (boot) boot ; .Sh FICL .Tn FICL は C で記述された Forth インタプリタであり、 C の関数などとして呼び出し可能な forth 仮想マシンライブラリの形式です。 .Pp .Nm では、対話的に読み込まれた各行は .Tn FICL に与えられます。 .Tn FICL は、組み込み語を実行するために .Nm を呼び戻します。 組み込みの .Ic include もまた、1 度に 1 行ずつを .Tn FICL へ与えます。 .Pp .Tn FICL へ使用可能な語は 4 グループへ分類可能です。それは、 .Tn ANS Forth 標準語、追加の .Tn FICL 語、追加の .Fx 語、そして組み込みコマンドです。 最後のものは既に説明しました。 .Tn ANS Forth 標準語は、 .Sx 規格 の節に列挙しています。 別の 2 グループの語については、以降の小節において説明します。 .Ss FICL 追加語 .Bl -tag -width wid-set-super .It Ic .env .It Ic .ver .It Ic -roll .It Ic 2constant .It Ic >name .It Ic body> .It Ic compare This is the STRING word set's .Ic compare . .It Ic compile-only .It Ic endif .It Ic forget-wid .It Ic parse-word .It Ic sliteral This is the STRING word set's .Ic sliteral . .It Ic wid-set-super .It Ic w@ .It Ic w! .It Ic x. .It Ic empty .It Ic cell- .It Ic -rot .El .Ss FREEBSD 追加語 .Bl -tag -width XXXXXXXX .It Ic \&$ Pq -- 最初に入力バッファを表示した後、入力バッファの残りを評価します。 .It Ic \&% Pq -- .Ic catch 例外ガード下の、入力バッファの残りを評価します。 .It Ic .# .Ic . と同様に動作しますが、後続の空白を表示しません。 .It Ic fopen Pq Ar addr len -- fd ファイルをオープンします。ファイル記述子を返します。 失敗時には -1 を返します。 .It Ic fclose Pq Ar fd -- ファイルをクローズします。 .It Ic fkey Pq Ar fd -- char ファイルから 1 文字読み込みます。 .It Ic fload Pq Ar fd -- ファイル .Em fd を処理します。 .It Ic fopen Pq Ar addr len -- fd ファイルをオープンします。 ファイルディスクリプタを返すか、失敗時には -1 を返します。 .It Xo .Ic fread .Pq Ar fd addr len -- len' .Xc ファイル .Em fd から .Em len バイトを、バッファ .Em addr へ読み込もうとします。 実際に読み込んだバイト数を返します。 エラー時またはファイルの終了の場合には -1 を返します。 .It Ic heap ディレクトリヒープ中に残された空間を、セル数の単位で返します。 これは、動的なメモリ割り当ての意味で使われるヒープとは無関係です。 .It Ic inb Pq Ar port -- char ポートからバイトを読み込みます。 .It Ic key Pq -- Ar char コンソールから 1 文字読み込みます。 .It Ic key? Pq -- Ar flag コンソールから読み込み可能な文字がある場合、 .Ic 真 を返します。 .It Ic ms Pq Ar u -- .Em u マイクロ秒待ちます。 .It Ic outb Pq Ar port char -- ポートへバイトを書き込みます。 .It Ic seconds Pq -- Ar u 深夜 0 時からの秒数を返します。 .It Ic tib> Pq -- Ar addr len 入力バッファの残りを、スタック上の文字列として返します。 .It Ic trace! Pq Ar flag -- トレースを有効または無効にします。 .Ic catch とともには動作しません。 .El .Ss FREEBSD で定義される環境問い合わせ .Bl -tag -width Ds .It arch-i386 アーキテクチャが IA32 の場合 .Ic 真 です。 .It arch-alpha アーキテクチャが AXP の場合 .Ic 真 です。 .It FreeBSD_version コンパイル時の .Fx バージョンです。 .It loader_version .Nm のバージョンです。 .El .Ss システム文書 .Sh 関連ファイル .Bl -tag -width /boot/defaults/loader.conf -compact .It Pa /boot/loader .Nm 自身。 .It Pa /boot/boot.4th 追加の .Tn FICL の初期化。 .It Pa /boot/boot.conf .Nm のブートストラップスクリプト。価値が低下しています。 .It Pa /boot/defaults/loader.conf .It Pa /boot/loader.conf .It Pa /boot/loader.conf.local .Nm 設定ファイル。 .Xr loader.conf 5 で解説されています。 .It Pa /boot/loader.rc .Nm のブートストラップスクリプト。 .It Pa /boot/loader.help .Ic help がロードします。 ヘルプメッセージを含みます。 .El .Sh 使用例 シングルユーザモードでブートします: .Pp .Dl boot -s .Pp カーネルのユーザ設定ファイルをロードします。 他の .Ic load コマンドを試みる前にカーネルをロードする必要があることに注意してください。 .Pp .Bd -literal -offset indent load kernel load -t userconfig_script /boot/kernel.conf .Ed .Pp カーネルと起動画面をロードし、5 秒以内に自動ブートします。 .Bd -literal -offset indent load kernel load splash_bmp load -t splash_image_data /boot/chuckrulez.bmp autoboot 5 .Ed .Pp ルートデバイスのディスクユニットを 2 に設定し、ブートします。 IDE ディスクが 2 台のシステムで、 2 台目の IDE が wd1 ではなく wd2 に固定されているシステムにおいて、 必要となるでしょう。 .Pp .Bd -literal -offset indent -compact set root_disk_unit=2 boot /kernel .Ed .Pp 次を参照してください: .Bl -tag -width /usr/share/examples/bootforth/X .It Pa /boot/loader.4th 追加の組み込み的な語について。 .It Pa /boot/support.4th .Pa loader.conf が処理する語について。 .It Pa /usr/share/examples/bootforth/ 分類された使用例。 .El .Sh エラー 次の値を .Nm は返します: .Bl -tag -width XXXXX -offset indent .It 100 組み込みコマンド処理において任意のタイプのエラーが発生しました。 .It -1 .Ic Abort が実行されました。 .It -2 .Ic Abort" が実行されました。 .It -56 .Ic Quit が実行されました。 .It -256 インタプリトするテキストがありません。 .It -257 成功するためには更なるテキストが必要です -- 次の実行で終了します。 .It -258 .Ic Bye が実行されました。 .It -259 未定義エラー。 .El .Sh 関連項目 .Xr libstand 3 , .Xr loader.conf 5 , +.Xr tuning 7 , .Xr boot 8 , .Xr btxld 8 .Sh 規格 ANS Forth 互換性の観点では、loader は .Bf Em 環境に制限がある ANS Forth System です。 Core Extensions 語集合からは、 .Ef .Bf Li .No .( , .No :noname , .No ?do , parse, pick, roll, refill, to, value, \e, false, true, .No <> , .No 0<> , compile\&, , erase, nip, tuck, maker .Ef .Bf Em を提供しています。 Exception Extensions 語集合を提供しています。 Locals Extensions 語集合を提供しています。 Memory-Allocation Extensions 語集合を提供しています。 Programming-Tools 拡張語集合からは .Ef .Bf Li \&.s, bye, forget, see, words, \&[if], \&[else], .Li [then] .Ef .Bf Em を提供しています。 Search-Order 拡張語集合を提供しています。 .Ef .Sh 歴史 .Nm が最初に登場したのは .Fx 3.1 です。 .Sh 作者 .An -nosplit .Nm は .An Michael Smith Aq msmith@FreeBSD.org が記述しました。 .Pp .Tn FICL は .An John Sadler Aq john_sadler@alum.mit.edu が記述しました。 .Sh バグ .Ic expect と .Ic accept の語は、コンソールからではなく入力バッファから読み込みます。 後者については修正されますが、前者は修正されません。 diff --git a/ja_JP.eucJP/man/man8/mount_ntfs.8 b/ja_JP.eucJP/man/man8/mount_ntfs.8 index a7b7a91726..4c720c8c13 100644 --- a/ja_JP.eucJP/man/man8/mount_ntfs.8 +++ b/ja_JP.eucJP/man/man8/mount_ntfs.8 @@ -1,147 +1,147 @@ .\" .\" Copyright (c) 1993,1994 Christopher G. Demetriou .\" Copyright (c) 1999 Semen Ustimenko .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by Christopher G. Demetriou. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/mount_ntfs/mount_ntfs.8,v 1.6.2.6 2001/10/12 22:08:43 semenu Exp % +.\" %FreeBSD: src/sbin/mount_ntfs/mount_ntfs.8,v 1.6.2.7 2001/11/18 16:52:27 murray Exp % .\" .\" $FreeBSD$ .\" revision 1.2.2.2 に追従済 .Dd January 3, 1999 .Dt MOUNT_NTFS 8 .Os FreeBSD .Sh 名称 .Nm mount_ntfs .Nd NTFS ファイルシステムをマウントする .Sh 書式 .Nm .Op Fl a .Op Fl i .Op Fl u Ar uid .Op Fl g Ar gid .Op Fl m Ar mask .Op Fl W Ar u2wtable .Pa special .Pa node .Sh 解説 .Nm コマンドは、デバイス .Pa special 中の NTFS ファイルシステムを、グローバルファイルシステム名前空間の .Pa node で示される位置へ接続します。 通常、このコマンドはブート時に .Xr mount 8 により実行されます。 任意のユーザが、 自己が所有するディレクトリ上に NTFS ファイルシステムをマウントするために使用することも可能です (もちろん、 ファイルシステムを含むデバイスへの適切なアクセス権限が必要です)。 .Pp オプションは次の通りです: .Bl -tag -width Ds .It Fl a .Fn readdir においても、MS-DOS 8.3 形式の名前を返す振舞いを強制します。 .It Fl i POSIX 名以外のすべての名前に対し、 名前検索で大文字小文字を区別しないようにします。 .It Fl u Ar uid ファイルシステム中のファイルの所有者を .Ar uid に設定します。 デフォルトの所有者は、 ファイルシステムがマウントされたディレクトリの所有者です。 .It Fl g Ar gid ファイルシステム中のファイルのグループを .Ar gid に設定します。 デフォルトのグループは、 ファイルシステムがマウントされたディレクトリのグループです。 .It Fl m Ar mask ファイルシステム中のファイルの、最大のパーミッションを指定します。 .It Fl W Ar u2wtable unix から unicode への変換表を指定します。 本オプションは、完全に .Xr mount_msdos 8 から取って来たものなので、このマニュアルページを参照してください。 .El .Sh 特徴 NTFS のファイル属性は、次のようにアクセスされます: .Bd -literal -offset indent foo[[:ATTRTYPE]:ATTRNAME] .Ed .Pp .Sq ATTRTYPE は、ボリュームの $AttrDef ファイルに列挙されている識別子のうちのひとつです。 デフォルトは $DATA です。 .Sq ATTRNAME は属性の名前です。デフォルトは none です。 .Sh 使用例 .Pa /dev/ad1s1 の ntfs ボリュームをマウントするには、次のようにします: .Bd -literal -offset indent # mount_ntfs /dev/ad1s1 /mnt .Ed .Pp ボリューム名を (Unicode で) 取得するには、次のようにします: .Bd -literal -offset indent # cat /mnt/\\$Volume:\\$VOLUME_NAME .Ed .Pp ディレクトリの生のデータを読み込むには、次のようにします: .Bd -literal -offset indent # cat /mnt/foodir:\\$INDEX_ROOT:\\$I30 .Ed .Sh 書き込み 書き込み能力には制限があります。 制限: ファイルは非常駐である必要があり、 疎であっては (未初期化領域を持っていては) なりません 圧縮ファイルもまたサポートしていません。 .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 .Sh 警告 -このユーティリティが提供する NTFS ボリュームへのアクセスは、 -ほぼ読み込み専用アクセスだけです。 +このユーティリティは、主に、NTFS ボリュームへの読み込みアクセスを提供します。 +NTFS ボリュームへの書き込みに関する詳細は、 .Sx 書き込み の節を参照してください。 .Sh 歴史 .Nm が最初に登場したのは .Fx 3.0 です。 .Sh 作者 NTFS のカーネル実装と、 .Nm -と、マニュアルを、 +ユーティリティと、マニュアルを、 .An Semen Ustimenko Aq semenu@FreeBSD.org が記述しました。 diff --git a/ja_JP.eucJP/man/man8/newfs.8 b/ja_JP.eucJP/man/man8/newfs.8 index 7e393882d7..106e89dfad 100644 --- a/ja_JP.eucJP/man/man8/newfs.8 +++ b/ja_JP.eucJP/man/man8/newfs.8 @@ -1,393 +1,403 @@ .\" Copyright (c) 1983, 1987, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)newfs.8 8.6 (Berkeley) 5/3/95 -.\" %FreeBSD: src/sbin/newfs/newfs.8,v 1.26.2.9 2001/10/11 08:51:55 roberto Exp % +.\" %FreeBSD: src/sbin/newfs/newfs.8,v 1.26.2.12 2001/11/27 19:53:15 sheldonh Exp % .\" .\" $FreeBSD$ .Dd December 19, 2000 .Dt NEWFS 8 .Os BSD 4.2 .Sh 名称 .Nm newfs , .Nm mount_mfs .Nd 新しいファイルシステムを作成する .Sh 書式 .Nm .Op Fl NOU .Op Fl S Ar sector-size .Op Fl T Ar disktype .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar cylinders .Op Fl d Ar rotdelay .Op Fl e Ar maxbpg .Op Fl f Ar frag-size .Op Fl g Ar avgfilesize .Op Fl h Ar avfpdir .Op Fl i Ar bytes .Op Fl k Ar skew .Op Fl l Ar interleave .Op Fl m Ar free space .Op Fl n Ar rotational positions .Op Fl o Ar optimization .Op Fl p Ar sectors .Op Fl r Ar revolutions .Op Fl s Ar size .Op Fl t Ar tracks .Op Fl u Ar sectors .Op Fl v .Op Fl x Ar sectors .Ar special .Nm mount_mfs .Op Fl NU .Op Fl F Ar file .Op Fl T Ar disktype .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar cylinders .Op Fl d Ar rotdelay .Op Fl e Ar maxbpg .Op Fl f Ar frag-size .Op Fl i Ar bytes .Op Fl m Ar free space .Op Fl n Ar rotational positions .Op Fl o Ar options .Op Fl s Ar size .Ar special node .Sh 解説 .Nm -は、わかりにくい -.Xr mkfs 8 -の代わりとなるものです。 +は、ファイルシステムを最初に使用する前に初期化およびクリアします。 .Nm や .Nm mount_mfs を走らせる前に、 .Xr disklabel 8 を使ってディスクラベルが書き込んでいなければなりません。 .Nm は、指定した特殊ファイルにファイルシステムを作成します。 (しばしば .Dq 特殊ファイル を .Dq ディスク として扱いますが、特殊ファイルは物理ディスクである必要はありません。 事実、特殊ファイルである必要もありません。) デフォルト値はたいてい妥当な値となりますが、 .Nm にはこの値を変更するための数多くのオプションがあります。 .Pp .Nm mount_mfs は、仮想メモリ上にファイルシステムを構築し、指定したノード にそのファイルシステムをマウントするために使います。 ファイルシステムがアンマウントされると、 .Nm mount_mfs は終了し、このファイルシステムの内容は失われます。 .Nm mount_mfs にシグナルが送られると、 ファイルシステムをアンマウントしようとします。たとえば、 シャットダウンする場合がこれにあたります。 .Nm mount_mfs に指定するパラメータは .Nm のものと同じです。 .Fl T フラグが指定されると (下記参照)、特殊ファイルを使用しません。 そうでない場合、特殊ファイルはディスクラベルを読むためにのみ使われ、 それによってメモリベースファイルシステムへのコンフィギュレーション パラメータが得られます。 この特殊ファイルは通常、第一スワップ領域を指定します。という のは、フリーメモリが少なくなって、ファイルシステムをサポートす るメモリ領域がページングされるとき、ファイルシステムがそこに バックアップされるからです。 .Pp 以下のオプションにて一般的な配置方針を定義します。 .Bl -tag -width indent .It Fl T Ar disktype 過去のものとの互換性のためと .Nm mount_mfs のための物です。 .It Fl F Ar file .Nm mount_mfs は、ファイルシステムのイメージとしてこのファイルを使用します。 .Nm mount_mfs が終了した時、このファイルは残されます。 .It Fl N 実際にはファイルシステムを構築せずに、ファイルシステム パラメータの表示のみを行います。 .It Fl O .Bx 4.3 フォーマットのファイルシステムを作成します。この オプションは、古いブート ROM が理解できるルートファイル システムを使う必要がある場合に使います。 .It Fl T 指定したディスクのための情報を .Pa /etc/disktab から得て、disklabel を使用しません。 .It Fl U ソフトアップデートを新規ファイルシステム上で有効にします。 .It Fl a Ar maxconting 回転遅延 (rotational delay) を強制する前に 配置される連続ブロックの最大数を指定します ( .Fl d オプションを参照)。 デフォルトは 1 です。このオプションをどのように設定す るかについて、詳しくは .Xr tunefs 8 を参照してください。 .It Fl b Ar block-size ファイルシステムのブロックサイズをバイト単位で指定します。 2 のべき乗である必要があります。 デフォルトサイズは 8192 バイトであり、 可能な最小サイズは 4096 バイトです。 +最適なブロックとフラグメントの比率は 8:1 です。 +他の比率も可能ですが、お勧めできませんし、予期せぬ結果となるかもしれません。 .It Fl c Ar #cylinders/group ファイルシステムのシリンダグループごとのシリンダ数を指定します。 デフォルトは、可能な限り多くのシリンダをシリンダグループに詰め込む値です。 最大値は、他の多くのパラメータ、特にブロックサイズに依存します。 .Nm は最大値を表示します。 .It Fl d Ar rotdelay かつては、 同じシリンダに対して他のディスク転送を開始するために要する最小時間を ミリ秒で指定しました。 この値は、 ファイル中の各ブロックを、回転に対して最適に配置するために使用しました。 読み込み/書き込みを背後で行う近年のディスクでは、 この機能を無効にした方が性能が高いです。 よって、この値はデフォルト値の 0 ミリ秒に設定すべきです。 .Xr tunefs 8 を参照してください。 .It Fl e Ar maxbpg 単一のファイルが他のシリンダグループへまたがることを強制される前に、 1 つのシリンダグループから割り当てることのできる最大のブロック数を指定し ます。デフォルト値は、シリンダグループのブロック数の約 1/4 です。この オプションの詳細については、 .Xr tunefs 8 を参照してください。 .It Fl f Ar frag-size ファイルシステムのフラグメントサイズをバイト単位で指定します。 .Ar blocksize Ns /8 から .Ar blocksize までの範囲の、2 のべき乗である必要があります。 .It Fl g Ar avgfilesize ファイルシステム中の、ファイルサイズの平均の期待値。 .It Fl h Ar avgfpdir ファイルシステム中の、ディレクトリあたりのファイル数の平均の期待値。 .It Fl i Ar number of bytes per inode ファイルシステム中の i ノードの密度を設定します。デフォルト は、 .Pq 4 * フラグメントサイズ バイトのデータ領域ごとに 1 つの i ノードを作ります。 i ノード数を少なくしたい場合は大きな値を指定し、 i ノード数を多くしたい場合は小さな値を指定します。 各ファイルに対して i ノードが 1 個必要ですので、 ファイルシステム上の平均ファイルサイズを、 この値は効果的に指定します。 .It Fl m Ar free space \&% 通常のユーザからは保護されている領域のパーセンテージを 指定します。 これは最低限の空き領域のしきい値となります。 デフォルト値は .Aq Pa ufs/ffs/fs.h にて .Dv MINFREE と定義され、現在 8% です。 このオプションの詳細については、 .Xr tunefs 8 を参照してください。 .It Fl n Ar number of distinguished rotational positions UFS には、 異なった回転位置にある利用可能なブロックを管理する能力があります。 これにより、最小の回転遅延でデータを拾えるように、 データをレイアウト可能です。 このパラメータは、区別すべき回転位置数のデフォルトを指定します。 .Pp 今日では、この値は 1 に設定すべきです (回転位置テーブルを無効にします)。 先読みと後書きがある近年のドライブでは、 回転位置テーブル無しの方が性能がよいからです。 .It Fl o Ar optimization\ preference .Pq Ar space No か Ar time ブロック確保に費す時間を最小にするか、 ディスク上のフラグメント領域を最小にするかを、 ファイルシステムに指示します。 デフォルトで minfree (前述) が 8% を下回る場合は、 .Ar space (空間) の最小化が行われ、8% 以上ならば .Ar time (時間) の最小化が行われます。 このオプションの詳細については、 .Xr tunefs 8 を参照してださい。 .It Fl s Ar size ファイルシステムサイズをセクタ単位で指定します。 デフォルト値は、 .Ar special で指定される raw パーティションのサイズです (言い換えると、 .Nm はパーティション全体をファイルシステムに使用します)。 .It Fl v ディスクにはパーティションが含まれておらず、 .Nm はディスク全体の上にファイルシステムを構築すべきであることを指定します。 本オプションは .Nm vinum のような統合ディスクを扱うのに便利です。 .El .Pp 次のオプションは、ディスクジオメトリの標準設定を変更します。 デフォルトの値はディスクラベルから得られます。 これらの値を変更するのは、 最初にファイルシステムを構築したときとは異なるタイプのディスク上で ロウイメージを使用してファイルシステムを構築するようなときだけです (たとえば、ライトワンスディスク上など)。 これらの値をデフォルトの 値から変更すると、標準のスーパブロックが壊れたときに、 .Xr fsck 8 が代替のスーパブロックを見つけることができなくなるので注意して ください。 .Bl -tag -width indent .It Fl S Ar sector-size セクタサイズ (バイト単位) です (通常 512 以外は使用しません)。 .It Fl k Ar sector \&0 skew , per track 遅いコントローラを補うためにメディアのフォーマット時の補正を指定します。 トラックスキューは同じシリンダ上のトラック N のセクタ 0 とトラック N-1 のセクタ 0 のオフセットです。 このオプションは、歴史的には重要でした。 近年のコントローラは十分高速であり、 操作を続けざまに (back-to-back で) 行います。 .It Fl l Ar hardware sector interleave 遅いコントローラを補うためにメディアのフォーマット時の補正を指定します。 インタリーブはトラック毎の物理セクタのインタリーブで、次の比の分母で 定義されます: .Dl 読まれるセクタ/通過するセクタ つまりインタリーブの 1/1 は連続的に配置されていることを、 1/2 は論理 セクタ 0 と論理セクタ 1 との間に 1 セクタあることを示します。 このオプションは、歴史的には重要でした。 近年のディスクの物理レイアウトは、外部からは見えません。 .It Fl p Ar spare sectors per track 予備セクタ (不良セクタと置き換えるセクタ) は、 各トラックの最後の物理セクタを使用します。 これらには、ファイルシステムとしてデータを割り当てることができないため、 セクタ/トラック .Pq Fl u に含まれません。 このオプションは、歴史的には重要でした。 近年のディスクは、ディスク固有の不良セクタ割り当てを行います。 .It Fl r Ar revolutions/minute 1 分間あたりのディスク回転速度を指定します。 この値はもはや価値がありません。 この値に依存するすべてのパラメータは、通常は無効になっているからです。 .It Fl t Ar #tracks/cylinder ファイルシステムによってデータを割り当てることができるシリンダあたりの トラック数です。デフォルトは 1 です。0 が設定された場合にはディスクラベル に指定されている値が使われます。 .It Fl u Ar sectors/track ファイルシステムによってデータを割り当てることができるトラックあたりの セクタ数です。デフォルトは 4096 です。 0 が設定された場合にはディスクラベルに 指定されている値が使われます。この値には、各トラックの最後に確保 される不良ブロックの置き換えのための予備セクタは含まれません ( .Fl p オプションを参照)。 .It Fl x Ar spare sectors per cylinder 予備セクタ (不良セクタと置き換えるセクタ) は、シリンダの最後のトラック の物理セクタを使用します。これらには、ファイルシステムとしてデータを 割り当てることができないため、セクタ/トラック .Pq Fl u には含まれません。 このオプションは、歴史的には重要でした。 近年のディスクは、ディスク固有の不良セクタ割り当てを行います。 .El .Pp .Nm mount_mfs コマンドのオプションは、 .Fl o オプションを除いて .Nm コマンドと同じものです。 .Pp .Fl o オプションは以下のとおりです: .Bl -tag -width indent .It Fl o .Fl o フラグに続いて指定されるオプションは、コンマで区切られた文字列です。 指定できるオプションとその意味は .Xr mount 8 を参照してください。 .El .Sh 使用例 +.Dl newfs -b 16384 -f 2048 /dev/ad3s1a +.Pp +新規の UFS ファイルシステムを +.Pa ad3s1a +に作成します。 +.Nm +は、ブロックサイズに 16384 バイト、フラグメントサイズに 2048 バイト、 +グループあたりのシリンダ数に最大数を使用します。 +ほとんどのアプリケーションに対し、 +これらの値はデフォルトよりも良い性能となる傾向があります。 .Dl mount_mfs -s 131072 -o nosuid,nodev,nosymfollow /dev/da0s1b /tmp .Pp .Xr mount 8 の .Ar nosuid , .Ar nodev , .Ar nosymfollow のオプションを指定し、 64 MB の大きさのメモリファイルシステムを .Pa /tmp にマウントします。 .Sh バグ .Fx のブートコードは、カーネルが置かれているファイルシステムのブロックサイズ が 8 キロバイトでフラグメント 1 キロバイトであることを仮定しています。 他のサイズを使用しているファイルシステムからブートすることはできません。 .Sh 関連項目 .Xr fdformat 1 , .Xr disktab 5 , .Xr fs 5 , .Xr camcontrol 8 , .Xr disklabel 8 , .Xr diskpart 8 , .Xr dumpfs 8 , .Xr fsck 8 , .Xr mount 8 , .Xr tunefs 8 .Rs .%A M. McKusick .%A W. Joy .%A S. Leffler .%A R. Fabry .%T A Fast File System for UNIX .%J ACM Transactions on Computer Systems 2 .%V 3 .%P pp 181-197 .%D August 1984 .%O (reprinted in the BSD System Manager's Manual) .Re .Sh 歴史 .Nm コマンドは、 .Bx 4.2 から登場しています。 diff --git a/ja_JP.eucJP/man/man8/newsyslog.8 b/ja_JP.eucJP/man/man8/newsyslog.8 index 3433257ccb..25fc653c3a 100644 --- a/ja_JP.eucJP/man/man8/newsyslog.8 +++ b/ja_JP.eucJP/man/man8/newsyslog.8 @@ -1,369 +1,374 @@ .\" This file contains changes from the Open Software Foundation. .\" .\" from: @(#)newsyslog.8 -.\" %FreeBSD: src/usr.sbin/newsyslog/newsyslog.8,v 1.23.2.5 2001/07/22 12:41:16 dd Exp % +.\" %FreeBSD: src/usr.sbin/newsyslog/newsyslog.8,v 1.23.2.6 2001/11/14 16:56:10 obrien Exp % .\" .\" Copyright 1988, 1989 by the Massachusetts Institute of Technology .\" .\" Permission to use, copy, modify, and distribute this software .\" and its documentation for any purpose and without fee is .\" hereby granted, provided that the above copyright notice .\" appear in all copies and that both that copyright notice and .\" this permission notice appear in supporting documentation, .\" and that the names of M.I.T. and the M.I.T. S.I.P.B. not be .\" used in advertising or publicity pertaining to distribution .\" of the software without specific, written prior permission. .\" M.I.T. and the M.I.T. S.I.P.B. make no representations about .\" the suitability of this software for any purpose. It is .\" provided "as is" without express or implied warranty. .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/newsyslog.8,v 1.19 2001/07/26 01:03:47 horikawa Exp $ +.\" $FreeBSD$ .\" .Dd April 4, 2000 .Dt NEWSYSLOG 8 .Os .Sh 名称 .Nm newsyslog .Nd システムのログファイルを保守し、適切なサイズに保つ .Sh 書式 .Nm .Op Fl Fnrv .Op Fl f Ar config_file .Op Fl a Ar directory .Op Ar .Sh 解説 .Nm は .Xr cron 8 から定期的に実行されるようにスケジュールされるべきプログラムです。 実行されると、 .Nm は必要に応じてログファイルを保存 (アーカイブ) します。 あるログファイルを保存する必要があると判断すると、 .Dq Va logfile が空になり、 .Dq Va logfile Ns Li \&.0 に前回のログファイルが入り、 .Dq Va logfile Ns Li \&.1 に前々回のログが入り‥‥ といった具合に、 ユーザが指定した数の保存ログが残るよう、 .Nm はファイルを再編します。 オプションにより、保存ログを圧縮してスペースを節約することもできます。 .Pp ログが保存される場合には 3 つの理由があります: .Bl -enum -offset indent .It ログが設定サイズ (キロバイト数) より大きくなった。 .It 前回ログを保存してから指定した時間が経過した。 .It ログ入れ替えを行う指定時間である。 .El .Pp .Nm の粒度は、このコマンドが .Xr cron 8 からどの程度の頻度で実行されるかに依存しています。 .Nm の実行は十分速いので、毎時間実行するようにスケジュールしても 悪影響はありませんし、 第 3 のモード (前述) はそうなっていることを仮定しています。 .Pp 起動されると、 .Nm は設定ファイルを読み込んで、 どのログファイルが潜在的に保存されうるかを決定します。 デフォルトでは、この設定ファイルは .Pa /etc/newsyslog.conf です。 設定ファイルの各行には、 .Nm が処理すべき特定のログファイルに関する情報を記述します。 各行は 5 つの必須フィールドと、4 つのオプションフィールドからなり、 それらは空白で区切られています。 空行や ``#'' で始まる行は無視されます。 設定ファイルの各フィールドは以下の通りです: .Pp .Bl -tag -width indent .It Ar logfile_name 保存するシステムログファイル名。 .It Ar owner : Ns Ar group このフィールドはオプションであり、 保存ファイルの所有者とグループ名を指定します。 .Ar owner あるいは .Ar group が空白のままである場合でも ":" は必須です。 指定は数値、あるいは .Pa /etc/passwd か .Pa /etc/group にある名前で行います。 .It Ar mode ログファイルと保存ログファイルのモードを指定します。 .It Ar count ログファイルそのものに加えて保存しておく保存ファイルの数を指定します。 .It Ar size ログファイルのサイズが .Ar size キロバイトに達すると、ログファイルは上記のように入れ換えられます。 このフィールドがアスタリスク .Pq Ql \&* で置き換えられると、ログファイル入れ換えに際して そのサイズは考慮されなくなります。 .It Ar when .Ar when フィールドは、インターバル、特定の時刻、もしくは双方のいずれかです。 .Ar when フィールドがアスタリスク .Pq Ql \&* の場合、ログ入れ替えは .Ar size フィールドにのみ依存します。 そうでない場合、 .Ar when フィールドは、オプションのインターバル時間指定からなり、単一の .So Li \&@ Sc 記号と制限された .Tn ISO 8601 フォーマットで時刻を続けることができます。 または、 .So Li \&$ Sc 記号と時刻の指定により、 日に 1 回、週に 1 回、月に 1 回のいずれかの固定時刻に ログファイルを入れ替えます。 .Pp 時刻を指定すると、指定した時刻の 1 時間以内に .Nm が実行された場合のみ、ログファイルを入れ替えます。 インターバル時間が指定された場合、 最後の入れ替えからその時間数が経過した場合に、ログファイルを入れ替えます。 時刻とインターバルの両方が指定された場合、入れ替えが実行されるには、 両方の条件が満たされることが必要です。 .Pp タイムゾーンは指定できません。 現在の実装では、明確に分や秒の部分を指定することは、ほとんどできません。 「1 時間以内」であることのみ、比較するからです。 .Pp .Sy ISO 8601 制限付時刻フォーマット .Pp 制限付 .Tn ISO 8601 時刻の先行文字は .So Li \&@ Sc 記号です。制約付 .Tn ISO 8601 フォーマットでの特定の時刻の指定は次の通りです: .Sm off .Oo .Oo .Oo .Oo .Oo .Va \&cc .Oc .Va \&yy .Oc .Va \&mm .Oc .Va \&dd .Oc .Oo .Li \&T .Oo .Va \&hh .Oo .Va \&mm .Oo .Va \&ss .Oc .Oc .Oc .Oc .Oc です。 .Sm on 日付フィールドはオプションであり、デフォルトは現在の日付の適切な部分です。 時刻フィールドはオプションであり、デフォルトは深夜です。 よって、今日が 1999 年 1 月 22 日の場合、次の日付指定はすべて同等です: .Pp .Bl -item -compact -offset indent .It .Sq Li 19990122T000000 .It .Sq Li 990122T000000 .It .Sq Li 0122T000000 .It .Sq Li 22T000000 .It .Sq Li T000000 .It .Sq Li T0000 .It .Sq Li T00 .It .Sq Li 22T .It .Sq Li \&T .It .Sq Li \& .El .Pp .Sy 日・週・月の時刻フォーマット .Pp 日・週・月の時刻フォーマットの先行文字は .So Li \&$ Sc 記号です。 日・週・月の指定の特定のフォーマットはそれぞれ次の通りです: .Op Va D\&hh , .Op Va W\&w Ns Op Va D\&hh , .Op Va M\&dd Ns Op Va D\&hh 。 オプションの時刻フィールドのデフォルトは、深夜です。 日と時間の指定の範囲は次の通りです: .Pp .Bl -tag -width Ds -compact -offset indent .It Ar hh 時間であり、0 から 23 の範囲 .It Ar w 曜日であり、0 から 6 の範囲で、0 が日曜日 .It Ar dd 日であり、1 から 31 の範囲か、最終日を指定するための文字 .Em L または .Em l .El .Pp 以下に例を示します: .Pp .Bl -tag -width Ds -compact -offset indent .It Ar $D0 毎晩深夜に入れ替えます .It Ar $D23 毎晩 23:00 に入れ替えます .It Ar $W0D23 毎週日曜日の 23:00 に入れ替えます .It Ar $W5D16 毎週金曜日の 16:00 に入れ替えます .It Ar $MLD0 毎月最終日の深夜に入れ替えます .It Ar $M5D6 毎月 5 日の 6:00 に入れ替えます .El .Pp .It Ar flags このフィールドはオプションであり、 保存に際してログファイルに特別な処理を行うかどうかを指定します。 .Ar Z フラグを指定すると、スペース節約のために 保存ファイルは .Xr gzip 1 で圧縮されます。 +.Ar J +フラグを指定すると、スペース節約のために +保存ファイルは +.Xr bzip2 1 +で圧縮されます。 .Ar B フラグはファイルがバイナリファイルであることを指示し、 ログファイルが入れ換わったという意味で .Nm が挿入する .Tn ASCII メッセージを含めないようにします。 .Ar - は何も意味しませんが、 .Ar path_to_pid_file フィールドが指定された場合には埋め草として使用可能です。 .It Ar path_to_pid_file このオプションのフィールドは、 デーモンのプロセス ID を調べるために読むファイルを指定します。 このフィールドが存在する場合、 このファイルに書かれたプロセス ID に .Ar signal_number が送られます。 正しく認識するために、このフィールドは "/" から開始する必要があります。 .It Ar signal_number このオプションフィールドは、 デーモンプロセスに送られるシグナル番号を指定します。 デフォルトで SIGHUP が送られます。 .El .Sh オプション .Nm では以下のオプションが利用できます: .Bl -tag -width indent .It Fl f Ar config_file 設定ファイルとして .Pa /etc/newsyslog.conf に代えて .Ar config_file を使用します。 .It Fl a Ar directory アーカイブしたログファイルを書き込む .Ar directory を指定します。 相対パスを指定した場合、 これを各ログファイルのパスに後置したディレクトリに、 このログファイルのアーカイブログを書き込みます。 絶対パスを指定した場合、 すべてのアーカイブログは指定した .Ar directory に書き込まれます。 パス .Ar directory のコンポーネントが存在しない場合、 .Nm が実行されるときに生成されます。 .It Fl v .Nm を詳細情報出力モードにします。 このモードでは、ログを入れ換えるあるいはそれをスキップするたびに、 そのログファイル名と理由を表示します。 .It Fl n 実際にログの入れ換えは行わず、このオプションが指定されない場合に 本来行うはずの処理内容を表示します。 .It Fl r .Nm は root として動作しなければならない、という制約を取り除きます。 もちろん、 .Nm は .Xr syslogd 8 に HUP シグナルを送れなくなりますから、 このオプションはデバッグにのみ用いるべきです。 .It Fl F ログを入れ替える条件に合致しないとしても、強制的に .Nm にログを入れ替えさせます。 システムの問題を診断しているときには、 このオプションの使用により、 問題のみを含む新しいログを提供できるので有用です。 .El .Pp 追加のコマンド行引数を指定すると、 .Nm はこれらの引数にマッチするログファイルのみを検査します。 そうでない場合、設定ファイルに列挙された全ファイルを検査します。 .Sh 関連ファイル .Bl -tag -width /etc/newsyslog.confxxxx -compact .It Pa /etc/newsyslog.conf .Nm の設定ファイル .El .Sh バグ セキュリティ侵害を見つけるためにログを自動的に読むことは、 まだ行っていません。 .Sh 作者 .An Theodore Ts'o , MIT Project Athena .Pp Copyright 1987, Massachusetts Institute of Technology .Sh 互換性 以前のバージョンの .Nm ユーティリティは、グループ名の識別にドット (``.'') を使用していました。 .Fx 3.3 からは、これはコロン (``:'') 文字になりましたので、 ユーザ名とグループ名にドット文字を含めることが可能です。 後方互換性のために、ドット (``.'') 文字はまだ受け付けられます。 .Sh 関連項目 .Xr gzip 1 , .Xr syslog 3 , .Xr chown 8 , .Xr syslogd 8 diff --git a/ja_JP.eucJP/man/man8/pciconf.8 b/ja_JP.eucJP/man/man8/pciconf.8 index 4714037058..a90cefd4b6 100644 --- a/ja_JP.eucJP/man/man8/pciconf.8 +++ b/ja_JP.eucJP/man/man8/pciconf.8 @@ -1,205 +1,219 @@ -.\" %FreeBSD: src/usr.sbin/pciconf/pciconf.8,v 1.8.2.4 2001/08/16 15:56:12 ru Exp % +.\" %FreeBSD: src/usr.sbin/pciconf/pciconf.8,v 1.8.2.5 2001/11/27 13:51:39 sheldonh Exp % .\" Copyright (c) 1997 .\" Stefan Esser . All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/pciconf.8,v 1.12 2001/07/29 05:15:29 horikawa Exp $ +.\" $FreeBSD$ .Dd February 7, 1997 .Dt PCICONF 8 .Os .Sh 名称 .Nm pciconf .Nd PCI バスのための診断ユーティリティ .Sh 書式 .Nm -.Fl l +.Fl l Op Fl v .Nm .Fl a Ar selector .Nm .Fl r Ar selector .Op Fl b | Fl h .Ar reg Ns Op : Ns Ar reg2 .Nm .Fl w Ar selector .Op Fl b | Fl h .Ar reg value .Sh 解説 .Nm コマンドは、 .Pa /dev/pci の .Xr ioctl 2 インタフェースにより提供されている機能への コマンドラインインタフェースを提供します。 .Fl l オプションを付けると、ブート時のプローブにより見つかったすべてのデバイスを 以下の書式で表示します: .Bd -literal foo0@pci0:4:0: class=0x010000 card=0x00000000 chip=0x000f1000 rev=0x01 hdr=0x00 bar0@pci0:5:0: class=0x000100 card=0x00000000 chip=0x88c15333 rev=0x00 hdr=0x00 none0@pci0:6:0: class=0x020000 card=0x00000000 chip=0x802910ec rev=0x00 hdr=0x00 .Ed .Pp +.Fl v +オプションを指定すると、 +.Nm +はベンダ/デバイス情報をデータベースからの読み取りを試み、 +各デバイスに対してベンダ、デバイス、クラス、サブクラスの +識別文字列を表示します。 +.Pp 最初の欄は、デバイス名、ユニット番号、 .Ar セレクタ を表示します。 対象の .Tn PCI デバイスに関して、カーネル内のデバイスの設定がなされていない場合、 デバイス名は .Dq none になります。 設定されていないデバイスのユニット番号は 0 から開始し、 設定されていないデバイスに出会う度に増やされます。 .Ar セレクタ は、このコマンドの他の書式で直接使えるような形で表示されます。 2 番目の欄はクラスコードで、2 桁の 16 進数で表されるクラスバイトと サブクラスバイト、インタフェースバイトからなります。 3 番目の欄は .Tn PCI 規格のリビジョン 2.1 で導入されたサブベンダ ID レジスタの内容です。 今日のほとんどの .Tn PCI カード (2.0) ではこれは 0 となりますが、新しく開発された .Tn PCI カードではそのカード固有の識別コード (unique card identification code) が入れられます。この値は上位 2 バイトのカード ID と、 下位 2 バイトのカードベンダ ID から構成されます。 .Pp 4 番目の欄にはこのカードがどのチップに基づいているか識別する チップデバイス ID が含まれます。この値は上記と同様に二つの フィールドに分けられ、チップとベンダを識別します。 5 番目の欄はチップのリビジョンを表示します。 6 番目の欄はヘッダタイプを示します。 現在割り当てられているヘッダタイプは .Tn PCI - .Tn PCI ブリッジのチップが 1 となる以外はすべて 0 となります。 ヘッダタイプレジスタが 0 となっている .Tn PCI デバイスの最上位ビットがセットされていると、そのデバイスは .Em 多機能 (multi-function) デバイスであり、ひとつのチップにいくつかの (似たものかもしれないし、 まったく異なるものかもしれない) 機能を備えています。 .Pp .Fl l オプションは root ではないユーザが使うことのできる唯一のものです。 .Nm を他の方法で実行するには .Li pci Ns Va bus Ns \&: Ns Va device (オプションで .Li \&: Ns Va function が続きます) という形式で .Ar セレクタ を指定する必要があります。 最後にコロンを付けても構いませんが無視されますので、 .Nm .Fl l の出力の最初の欄をそのまま使うことができます。 すべての番号は 10 進数で表します。 .Pp .Fl a フラグを付けると、 .Ar selector で識別したデバイスになんらかのドライバが割り当てられているかを、 .Nm は判定します。 終了状態 0 はデバイスがドライバを持つことを意味します; 非 0 はデバイスがドライバを持たないことを意味します。 .Pp .Fl r オプションはデバイス .Ar selector のバイトオフセット .Ar reg の所のコンフィギュレーションスペースレジスタ (configuration space register) を読み取り、 その値を 16 進数で表示します。 省略可能な第 2 引数 .Ar reg2 は、読み取る範囲を指定します。 .Fl w オプションはデバイス .Ar selector のバイトオフセット .Ar reg の所のコンフィギュレーションスペースレジスタへ .Ar value を書き込みます。 この二つのオプションでは、 .Fl b フラグと .Fl h フラグで読み書きの大きさを指定できます。 .Fl b は 1 バイトの読み書きを行い、 .Fl h は 2 バイト (halfword) の読み書きを行います。 読み書きの大きさのデフォルトは 4 バイト (longword) です。 +.Sh 環境変数 +通常、PCI ベンダ/デバイスの情報データベースは、 +.Pa /usr/share/misc/pci_vendors +から読み込まれます。 +環境変数 +.Ev PCICONF_VENDOR_DATABASE +を設定することにより、このパスを変更可能です。 .Sh 関連項目 .Xr ioctl 2 , .\" .Xr pci 4 , .Xr kldload 8 .Sh 歴史 .Nm コマンドは .Fx 2.2 で初めて登場しました。 .Fl a オプションは .Tn PCI KLD サポートのために .Fx 3.0 で追加されました。 .Sh 作者 .An -nosplit .Nm は .An Stefan Esser と .An Garrett Wollman によって書かれました。 .Sh バグ .Fl b オプションと .Fl h オプションは .Nm の内部で実装されており、 .Fn ioctl 2 に基づいているわけではありません。 .Pp root ではないユーザが .Fl a オプションと .Fl r オプションを使うことを許可することは有用かもしれませんが、 KLD ドライバでデバイスを供給するために .Nm kldload を実行できるのは root だけでしょうし、 一部の粗悪な .Tn PCI チップではコンフィギュレーションスペースレジスタの 読み込みが故障を引き起こす場合があるのです。 diff --git a/ja_JP.eucJP/man/man8/periodic.8 b/ja_JP.eucJP/man/man8/periodic.8 index 2c22fe0412..2231b53ff6 100644 --- a/ja_JP.eucJP/man/man8/periodic.8 +++ b/ja_JP.eucJP/man/man8/periodic.8 @@ -1,246 +1,265 @@ .\" Copyright (c) 1997 FreeBSD, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/periodic/periodic.8,v 1.11.2.10 2001/08/16 15:56:14 ru Exp % +.\" %FreeBSD: src/usr.sbin/periodic/periodic.8,v 1.11.2.12 2001/11/30 09:05:29 cjc Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/periodic.8,v 1.12 2001/07/29 05:15:29 horikawa Exp $ +.\" $FreeBSD$ .\" .\" WORD: registry レジストリ .\" WORD: script fragment スクリプトフラグメント .\" .Dd August 13, 1997 .Os .Dt PERIODIC 8 .Sh 名称 .Nm periodic .Nd 定期的なシステム機能を実行する .Sh 書式 .Nm -.Ar directory Ns No ... +.Ar directory ... .Sh 解説 .Nm プログラムは指定されたディレクトリにあるシェルスクリプトを実行するために、 .Xr cron 8 に呼び出されることを意図しています。 .Pp 以下の引数から一つ以上を指定しなければいけません : -.Bl -tag -width Fl -.It Cm daily +.Bl -tag -width ".Pa monthly" +.It Pa daily 標準的な 1 日周期の実行ファイルを実行します。 これはよく (その地域の時刻で) 朝早くに行なわれます。 -.It Cm weekly +.It Pa weekly 標準的な 1 週間周期の実行ファイルを実行します。 これはよく日曜日の朝に行なわれます。 -.It Cm monthly +.It Pa monthly 標準的な 1 ヶ月周期の実行ファイルを実行します。 これはよく月の 1 日目に行なわれます。 .It Ar path 実行すべき一連の実行ファイルがある任意のディレクトリを指定します。 .El .Pp 引数が絶対パスのディレクトリ名の場合はそれがそのまま使われます。 それ以外の場合は .Pa /etc/periodic の下と .Xr periodic.conf 5 (以下を参照) の中の .Va local_periodic で指定されたディレクトリが検索されます。 .Pp .Nm プログラムは指定されたディレクトリ (複数指定可) にある 各実行可能ファイルを実行します。もし実行可能ビットが セットされていないファイルがあっても、無視するだけで それに関するメッセージも表示しません。 .Pp 各スクリプトは以下のいずれかの値とともに終了することが要求されます。 -.Bl -tag -width XXXX +.Bl -tag -width 4n .It 0 スクリプトの出力に注目すべき点はありません。 変数 -.Va _show_success +.Ao Ar basedir Ac Ns Va _show_success で出力のマスクを制御します。 .It 1 スクリプトから注意すべき情報が出力されています。 変数 -.Va _show_info +.Ao Ar basedir Ac Ns Va _show_info でこの出力をマスクするかどうかを制御します。 .It 2 スクリプトは無効な設定による警告を発しました。 変数 -.Va _show_badconfig +.Ao Ar basedir Ac Ns Va _show_badconfig でこの出力をマスクするかどうかを制御します。 .It >2 スクリプトからマスクされない出力が出されています。 .El .Pp もし、 .Pa periodic.conf 中の関連のある変数 ( -.Ar +.Aq Ar basedir はスクリプトが置かれた基準となるディレクトリ) が -.Dq NO +.Dq Li NO に設定されているなら、 スクリプトの出力はマスクされます。 その変数が -.Dq YES +.Dq Li YES か -.Dq NO +.Dq Li NO のどちらにも設定されていなければ、 .Xr periodic.conf 5 に記述されたデフォルトの値が採用されます。 .Pp 残った出力は -.Va _output +.Ao Ar basedir Ac Ns Va _output に設定された値に基づいて送られます。 .Pp もし、これにパス名 ( -.Dq / +.Ql / で始まります) が設定されているなら、出力は単純にそのファイルに記録されます。 .Xr newsyslog 8 は .Pa /var/log/daily.log , .Pa /var/log/weekly.log , .Pa /var/log/monthly.log というファイルを知っており、 これらのファイルがが存在するなら、 適当な回数でローテートされます。 したがって、 .Nm の出力を記録しようとするなら、 これらを設定するのが適切です。 .Pp -.Va _output +.Ao Ar basedir Ac Ns Va _output の値が -.Dq / +.Ql / で始まっておらず、空でもない場合には、 メールのアドレスのリストが含まれているとみなされ、 出力はメールで送られます。 .Pp -.Va _output +.Ao Ar basedir Ac Ns Va _output が設定されていないか、空である場合には 出力は標準出力に送られます。 .Sh 環境変数 .Nm コマンドは環境変数 .Ev PATH をすべての標準的なシステムディレクトリを含むように設定します。 ただし、 .Pa /usr/local/bin のような追加的なディレクトリは含めません。もし他のパスに 依存するような実行ファイルを加えるなら、それぞれの実行ファイルが 自己の環境変数を適切に設定する責任を負う必要があります。 .Sh 関連ファイル -.Bl -tag -width /etc/periodic +.Bl -tag -width ".Pa /etc/periodic.conf" .It Pa /etc/crontab 典型的な .Nm -プログラムの呼び出しはシステムのデフォルト cron テーブル内の +プログラムの呼び出しはシステムのデフォルト +.Xr cron 8 +テーブル内の エントリから行なわれます。 .It Pa /etc/periodic サブディレクトリとして .Pa daily , .Pa weekly , .Pa monthly を含む上層のディレクトリです。これらのサブディレクトリには システムの標準的な定期的実行ファイルが置かれます。 .It Pa /etc/defaults/periodic.conf .Pa periodic.conf システムレジストリは .Nm と標準の .Pa daily , .Pa weekly , .Pa monthly スクリプト の振舞を制御する変数を保持します。 .It Pa /etc/periodic.conf -このファイルはデフォルトの periodic の設定の +このファイルはデフォルトの +.Nm +の設定の 一部を置き換えるものです。 .El .Sh 使用例 システム crontab には下の例のような .Nm のエントリが記述されているはずです : .Pp -.Dl # do daily/weekly/monthly maintenance -.Dl 0 2 * * * root periodic daily -.Dl 0 3 * * 6 root periodic weekly -.Dl 0 5 1 * * root periodic monthly +.Bd -literal -offset indent +# do daily/weekly/monthly maintenance +0 2 * * * root periodic daily +0 3 * * 6 root periodic weekly +0 5 1 * * root periodic monthly +.Ed .Pp 典型的なシステムレジストリ .Pa /etc/defaults/periodic.conf には変数 .Va local_periodic について次のように記述してあるでしょう : .Pp .Dl local_periodic="/usr/local/etc/periodic /usr/X11R6/etc/periodic" .Pp .Nm の出力をメールで受け取る代わりにログにとるには 以下のような行を .Pa /etc/periodic.conf に追加します : .Pp -.Dl daily_output=/var/log/daily.log -.Dl weekly_output=/var/log/weekly.log -.Dl monthly_output=/var/log/monthly.log +.Bd -literal -offset indent +daily_output=/var/log/daily.log +weekly_output=/var/log/weekly.log +monthly_output=/var/log/monthly.log +.Ed .Pp 毎日実行される periodic のジョブから 重要な情報のみを見るためには、 以下の行を .Pa /etc/periodic.conf に追加します : -.Pp -.Dl daily_show_success=NO -.Dl daily_show_info=NO -.Dl daily_show_badconfig=NO +.Bd -literal -offset indent +daily_show_success=NO +daily_show_info=NO +daily_show_badconfig=NO +.Ed .Sh 関連項目 .Xr sh 1 , .Xr crontab 5 , .Xr periodic.conf 5 , .Xr cron 8 , .Xr newsyslog 8 .Sh 診断 終了状態は成功時には 0 です。もし以下のいずれかの理由で コマンドが失敗すれば、終了状態は 1 になります : .Bl -diag .It usage: periodic スクリプトフラグメントがどこにあるかを指定する ディレクトリパス引数が .Nm に渡されませんでした。 .It not found 説明するまでもありません。(訳注: 指定したディレクトリが見つかりません。) .El .Sh 歴史 .Nm プログラムは .Fx 3.0 に初めて登場しました。 +.Sh バグ +ディレクトリの情報を、文字列を含むシェル変数 +.Va +で指定するので、 +.Va +は +.Xr sh 1 +において有効な名前である必要があります。 +すなわち、アルファベット、数値、アンダスコアであることが必要であり、 +最初の文字は数値であってはなりません。 .Sh 作者 .An Paul Traina Aq pst@FreeBSD.org .An Brian Somers Aq brian@Awfulhak.org diff --git a/ja_JP.eucJP/man/man8/pppoed.8 b/ja_JP.eucJP/man/man8/pppoed.8 index e1dbc92bd0..ca6c9ed773 100644 --- a/ja_JP.eucJP/man/man8/pppoed.8 +++ b/ja_JP.eucJP/man/man8/pppoed.8 @@ -1,200 +1,205 @@ .\"- .\" Copyright (c) 1999 Brian Somers .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/libexec/pppoed/pppoed.8,v 1.2.6.8 2001/08/16 10:44:16 ru Exp % +.\" %FreeBSD: src/libexec/pppoed/pppoed.8,v 1.2.6.10 2001/11/27 12:25:01 brian Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/pppoed.8,v 1.9 2001/08/09 01:41:23 horikawa Exp $ +.\" $FreeBSD$ .Dd November 8, 1999 .Dt PPPOED 8 .Os .Sh 名称 .Nm pppoed .Nd PPP over Ethernet の待ち受けを扱う .Sh 書式 .Nm .Op Fl Fd\& .Op Fl P Ar pidfile .Op Fl a Ar name .Op Fl e Ar exec | Fl l Ar label .Op Fl n Ar ngdebug .Op Fl p Ar provider .Ar interface .Sh 解説 .Nm プログラムは、指定された .Ar interface に対して PPP over Ethernet (PPPoE) サービス要求パケットを listen し、 このパケットへの対応として、セッション交渉後に -.Em PPP +.Xr ppp 8 プログラムを起動します。 交渉は .Dq pppoe netgraph ノードとして実装されています。 詳細は .Xr ng_pppoe 4 を参照してください。 .Pp .Nm は、指定された .Ar provider からサービスを要求しているクライアントに対してのみ、サービスを提供します。 .Ar provider は、指定されない場合には空の名前とされます。 .Ar provier 名として -.Dq \&* +.Dq * が指定されると、すべての PPPoE 要求に対してサービスが提供されます。 .Pp 指定した .Ar name は、接続確立時に、アクセス集中者 (access concentrator) 名として与えられます。 .Ar name を指定しないと、現在のベースホスト名が使用されます。 .Pp PPPoE netgraph ノードからの要求 (PADI) 受信後は、 .Nm は子プロセスを .Xr fork 2 し、更なる要求へサービスするために戻ります。 子プロセスは ( .Ar name を使用して) サービスを提供し、PPPoE ノードからの .Dv 「成功」 表示を待ちます。 「成功」表示を受けると、 .Nm は次のコマンドをシェルのサブプロセスとして実行します。 .Pp -.D1 Ic exec /usr/sbin/ppp -direct Ar label +.D1 Ic exec Pa /usr/sbin/ppp Fl direct Ar label .Pp .Ar label は、指定されない場合、 .Ar provider になります。 .Ar exec 引数を使用することにより、別のコマンドを指定可能です。 .Ar provider と .Ar label を指定しない場合には、これは必須です。 この子プロセスは開始時に、標準入力と標準出力が、同じ .Xr netgraph 4 データソケット ( .Xr ng_socket 4 参照) へ接続されます。 .Pp +環境変数 +.Ev HISMACADDR +は、子プロセスも使用可能です。 +これは、対向の MAC アドレスに設定されます。 +.Pp .Nm は起動時に、 -.Dq Ar interface Ns No \&: +.Dq Ar interface Ns \&: をノード名として使用し、 .Dq pppoe netgraph ノードを適切な .Dq ether ノードへ接続します。その後この .Dq pppoe ノードをローカルの .Dq socket ノードへ接続します。 .Fl F -フラグを指定しないと、 +オプションを指定しないと、 .Nm はバックグラウンドモードへ移行し、制御端末を切り離します。 .Fl F -を指定すると、 +オプションを指定すると、 .Nm はフォアグラウンドにとどまります。 .Pp .Fl d -フラグを指定すると、追加の診断機能が提供されます (後述の +オプションを指定すると、追加の診断機能が提供されます (後述の .Sx 診断 を参照してください)。 .Fl n -フラグを指定すると、 +オプションを指定すると、 .Fn NgSetDebug が引数 .Ar ngdebug で呼ばれます。 .Pp .Ar pidfile を指定すると、 .Nm は起動時に、自己のプロセス ID をこのファイルへ書き込みます。 .Sh 診断 前述のように必要な .Xr netgraph 4 ノードを作成した後では、 .Nm は .Xr syslogd 8 を使用し、全ての受け付けた接続を報告します。 .Fl d -を指定すると、 +オプションを指定すると、 .Nm は新規 netgraph ソケットでの子プロセス生成と、 そのサービス提供、 -.Em PPP +.Xr ppp 8 プログラムの起動に関して報告します。 .Fl n オプションを指定すると、netgraph 診断メッセージも .Xr syslogd 8 へリダイレクトされます。 .Pp .Pa /etc/syslog.conf へ -.Pp -.Dl !pppoed -.Dl "*.* /var/log/pppoed.log +.Bd -literal -offset indent +!pppoed +*.* /var/log/pppoed.log .Pp を追加し、 .Pa /etc/newsyslog.conf へ .Pp -.Dl "/var/log/pppoed.log 640 3 100 * Z +.Dl "/var/log/pppoed.log 640 3 100 * Z" .Pp を追加すると便利な場合があります。 .Sh 関連項目 .Xr NgSetDebug 3 , .Xr netgraph 4 , .Xr ng_ether 4 , .Xr ng_pppoe 4 , .Xr ng_socket 4 , .Xr syslog.conf 5 , .Xr ppp 8 , .Xr syslogd 8 .Sh バグ 指定したインタフェースを他の netgraph ノードが使用している場合、 .Nm は開始できません。現在の .Xr netgraph 4 は、ノードの連鎖を許していないためです。 将来これは変更されるかもしれません。 .Sh 歴史 .Nm プログラムは .An Brian Somers Aq brian@Awfulhak.org が記述し、 .Fx 3.4 で初登場しました。 diff --git a/ja_JP.eucJP/man/man8/quotaon.8 b/ja_JP.eucJP/man/man8/quotaon.8 index f33abbd433..1c7a68a425 100644 --- a/ja_JP.eucJP/man/man8/quotaon.8 +++ b/ja_JP.eucJP/man/man8/quotaon.8 @@ -1,138 +1,136 @@ .\" Copyright (c) 1983, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)quotaon.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/usr.sbin/quotaon/quotaon.8,v 1.4.2.2 2001/08/16 15:56:27 ru Exp % +.\" %FreeBSD: src/usr.sbin/quotaon/quotaon.8,v 1.4.2.3 2001/11/20 14:19:04 murray Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/quotaon.8,v 1.7 2001/07/29 05:15:29 horikawa Exp $ +.\" $FreeBSD$ .\" .Dd December 11, 1993 .Dt QUOTAON 8 .Os .Sh 名称 .Nm quotaon , .Nm quotaoff .Nd ファイルシステム割り当て制限のオンとオフ .Sh 書式 .Nm .Op Fl g .Op Fl u .Op Fl v .Ar filesystem Ar ... .Nm .Op Fl g .Op Fl u .Op Fl v .Fl a .Nm quotaoff .Op Fl g .Op Fl u .Op Fl v .Ar filesystem Ar ... .Nm quotaoff .Op Fl g .Op Fl u .Op Fl v .Fl a .Sh 解説 .Nm -は、システムにファイルシステムの割り当て制限をオンにするように通 -告します。 +は、システムにファイルシステムの割り当て制限をオンにするように通告します。 .Nm quotaoff -は、システムに指定されたファイルシステムのす -べての割り当て制限をオフにするように通告します。指定される -ファイルシステムは +は、システムに指定されたファイルシステムの +すべての割り当て制限をオフにするように通告します。 +指定されるファイルシステムは .Pa /etc/fstab -にエントリがあり、かつ、マウントされていなければいけま -せん。 +にエントリがあり、かつ、マウントされていなければいけません。 .Nm は、指定されたファイルシステムのルートディレクトリに割り当て制限を書いた ファイル .Pa quota.user と .Pa quota.group があるものとして動作します。このデフォルトのファイル名は .Pa /etc/fstab により変更することができます。デフォルトでユーザ とグループの両方に対する割り当て制限が開始されます。 .Pp オプションは以下のとおりです: .Bl -tag -width indent .It Fl a ファイルシステム名のかわりに指定されると、 .Nm Ns / Ns Nm quotaoff は .Pa /etc/fstab に読み書き可能で割り当て制限が指定されているファイルシステム をすべてオン/オフします。デフォルトでは、 .Pa /etc/fstab で指定されている制限のみがオンになります。 .It Fl g .Pa /etc/fstab にグループ割り当て制限が指定してあるもののみオン/オフします。 .It Fl u .Pa /etc/fstab にユーザ割り当て制限が指定してあるもののみオン/オフします。 .It Fl v .Nm と .Nm quotaoff が各ファイルシステムの割り当て制限をオン/オフす るときにメッセージを表示します。 .El .Pp .Fl g と .Fl u の両方を指定すると、デフォルトの動作と同じになります。 .Sh 関連ファイル .Bl -tag -width quota.group -compact .It Pa quota.user ファイルシステムのルートにあるユーザ割り当て制限に関するデータ .It Pa quota.group ファイルシステムのルートにあるグループ割り当て制限に関するデータ .It Pa /etc/fstab ファイルシステムの名前と位置を読み取る .El .Sh 関連項目 .Xr quota 1 , .Xr quotactl 2 , .Xr fstab 5 , .Xr edquota 8 , .Xr quotacheck 8 , .Xr repquota 8 .Sh 歴史 .Nm は .Bx 4.2 で追加されました。 diff --git a/ja_JP.eucJP/man/man9/style.9 b/ja_JP.eucJP/man/man9/style.9 index f06742b681..7008fcc31e 100644 --- a/ja_JP.eucJP/man/man9/style.9 +++ b/ja_JP.eucJP/man/man9/style.9 @@ -1,608 +1,614 @@ .\" Copyright (c) 1995 FreeBSD Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL [your name] OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %$FreeBSD: src/share/man/man9/style.9,v 1.32.2.14 2001/08/17 13:08:54 ru Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man9/style.9,v 1.12 2001/08/18 23:48:10 horikawa Exp $ +.\" %FreeBSD: src/share/man/man9/style.9,v 1.32.2.15 2001/11/26 17:48:15 obrien Exp % +.\" $FreeBSD$ .\" .Dd December 14, 1995 .Dt STYLE 9 .Os .Sh 名称 .Nm style .Nd カーネルソースファイルのスタイルガイド .Sh 解説 このファイルは .Fx ソースツリーのカーネルソースに好ましいスタイルを明記しています。 これはユーザランドのコードスタイルの手引きでもあります。 .\" $ と FreeBSD を続けるとキーワード置換されるので、\& を挿入 .\" 2001/05/23 horikawa@jp.FreeBSD.org .Bd -literal /* * FreeBSD のためのスタイルガイドです。 * CSRG の KNF (Kernel Normal Form, カーネル標準書式) に基づいています。 * * @(#)style 1.14 (Berkeley) 4/28/95 - * $\&FreeBSD: src/share/man/man9/style.9,v 1.32.2.14 2001/08/17 13:08:54 ru Exp $ + * $\&FreeBSD: src/share/man/man9/style.9,v 1.32.2.15 2001/11/26 17:48:15 obrien Exp $ */ /* * とても重要な 1 行のコメントはこのようにします。 */ /* 殆どの 1 行のコメントはこのようにします。 */ /* * 複数行にわたるコメントはこのようにします。実際の文章を書きます。実際の * 段落に見えるように埋めていきます。 */ .Ed .Pp 著作権ヘッダの後には空行を 1 行入れ、ソースファイルには .Va rcsid を付けます。 バージョン管理システムの ID タグは、ファイル中に 1 個のみあるべきです (このファイルでは違いますが)。 C/C++ ソースファイル以外はこの例に従いますが、 C/C++ ソースファイルは以降の例に従います。 外部から入手したファイルの -すべての VCS (バージョン管理システム) リビジョン識別子は、維持します。 +すべての VCS (バージョン管理システム) リビジョン識別子は、 +存在すれば維持します。 これには、ファイルの来歴を示す複数の ID も含みます。 一般的に、`$' も含めて、ID はそのままとします。 +外部からの VCS ID の前に "From" を付ける理由はありません。 ほとんどの非 .Fx の VCS ID は、 コメント中ではタブでインデントされているでしょう。 .Bd -literal -#ifndef lint -#if 0 -static char sccsid[] = "@(#)style 1.14 (Berkeley) 4/28/95"; -#endif -static const char rcsid[] = - "$\&FreeBSD: src/share/man/man9/style.9,v 1.32.2.14 2001/08/17 13:08:54 ru Exp $"; -#endif /* not lint */ +#include +__RCSID("@(#)style 1.14 (Berkeley) 4/28/95"); +__FBSDID("$\&FreeBSD: src/share/man/man9/style.9,v 1.32.2.15 2001/11/26 17:48:15 obrien Exp $"); .Ed .Pp -この後に空行を 1 行付けます。 +ヘッダファイルの前に、空行を 1 行付けます。 .Pp カーネルのインクルードファイル (すなわち、sys/*.h) が初めに来ます。 通常、 または のどちらかが必要ですが、 両方は必要ないでしょう。 をインクルードしており、 依存関係は問題ありません。 .Bd -literal #include /* 山括弧による非ローカルインクルード */ .Ed .Pp ネットワークプログラムである場合は、 次にネットワークインクルードファイルを置きます。 .Bd -literal #include #include #include #include #include .Ed .Pp それから空行を置き、/usr インクルードファイルを続けます。 -/usr インクルードファイルはソートされているべきです。 +/usr インクルードファイルはアルファベット順にソートされているべきです。 .Bd -literal #include .Ed .Pp グローバルなパス名は /usr/include/paths.h で定義されています。 プログラムにローカルなパス名はローカルディレクトリの pathnames.h に入れます。 .Bd -literal #include .Ed .Pp それから、空行があって、ユーザインクルードファイルが来ます。 .Bd -literal #include "pathnames.h" /* " " によるローカルインクルード */ .Ed .Pp アプリケーションインタフェースを実装している場合を除き、 実装の名前空間で #define したり名前を定義したりしてはいけません。 .Pp .Dq Li 安全でない マクロ (副作用を持っているもの) の名前と、 明らかな定数のマクロの名前はすべて大文字です。 式のように展開されるマクロは、単一のトークンにするか外側に括弧をつけます。 .Ql #define とマクロ名の間にタブ文字を 1 個入れます。 マクロがある関数のインライン展開である場合は、 関数名は全て小文字で、マクロはすべて大文字の同じ名前を持ちます。 .\" XXX 上記は名前が同じマクロを #undef すれば関数を使える .\" という ANSI のスタイルと衝突します。 .\" これは MALLOC() については言えないし、インライン関数を使う時の .\" 一般的なやりかたではありません。 マクロが 1 行以上必要な場合は、ブレース .Sq ( \&{ と .Sq \&} ) を使用します。 バックスラッシュは右揃えします。こうすると読みやすくなります。 マクロが複合文をカプセル化する場合には、それを .Dq Li do ループで囲みます。 これにより、 .Dq Li if 文で安全に使用できます。 最後の文の終端のセミコロンは、 マクロではなくマクロの実施時に付けられるべきです。 これにより、清書器やエディタで文法解析しやすくなります。 .Bd -literal #define MACRO(x, y) do { \e variable = (x) + (y); \e (y) += 2; \e } while(0) .Ed .Pp 列挙値は全て大文字を使用します。 .Bd -literal enum enumtype { ONE, TWO } et; .Ed .Pp 構造体の中で変数を宣言する時には、 使用順、サイズ順、アルファベット順にソートして宣言します。 最初の区分は通常適用しませんが、例外があります。 各宣言は、それぞれ独立した行にて行います。 -最初の語の後にタブ文字を 1 個置きます、すなわち -.Ql int^Ix; -と -.Ql struct^Ifoo *x; -です。 +構造体の名前の位置を、あなたの判断で読み易いように、 +タブ 1 個または 2 個を使用して揃えてください。 +ほとんどのメンバを揃えるのに十分であれば、単一のタブを使用すべきです。 +非常に長い型の後の名前は、単一の空白で区切られるべきです。 .Pp 重要な構造体は、それが使用されるファイルの先頭で宣言されるか、 複数のソースファイルで使用される場合は別のヘッダファイルで宣言されるべきです。 構造体がヘッダファイルで宣言されている場合には、 それら構造体の使用は、宣言とは分けられるべきで、かつ "extern" であるべきです。 .Bd -literal struct foo { - struct foo *next; /* 使用中の foo リスト */ - struct mumble amumble; /* mumble のコメント */ - int bar; + struct foo *next; /* 使用中の foo のリスト */ + struct mumble amumble; /* mumble のコメント */ + int bar; /* コメントを揃えようとしています */ + struct verylongtypename *baz; /* タブ 2 個には収まりません */ }; -struct foo *foohead; /* グローバルな foo リストの先頭 */ +struct foo *foohead; /* グローバルな foo リストの先頭 */ .Ed .Pp 可能な時には必ず、あなた自身でリストを操作するのではなく、 .Xr queue 3 マクロを使用してください。 従って、前の例をより良く書くと次のようになります。 .Bd -literal #include -struct foo { - LIST_ENTRY(foo) link; /* foo リスト用のキューマクロの糊 */ - struct mumble amumble; /* mumble のコメント */ - int bar; +struct foo { + LIST_ENTRY(foo) link; /* foo リストにキューマクロを使用 */ + struct mumble amumble; /* mumble のコメント */ + int bar; /* コメントを揃えようとしています */ + struct verylongtypename *baz; /* タブ 2 個には収まりません */ }; -LIST_HEAD(, foo) foohead; /* グローバルな foo リストの先頭 */ +LIST_HEAD(, foo) foohead; /* グローバルな foo リストの先頭 */ .Ed .Pp 構造体の型に typedef を使用する事は避けてください。 使用してしまうと、 構造体へのポインタを不透明 (opaque) に使用することが、 アプリケーションにとって不可能となります。 通常の struct タグを使用すると、これが可能となり、かつ有益です。 規約が typedef を要求する場合には、その名前を構造体タグに一致させます。 標準 C または .Tn POSIX によって明示されたものを除いては、 .Dq Li \&_t で終る typedef を避けてください。 .Bd -literal /* 構造体名と typedef を一致させます */ typedef struct bar { int level; } BAR; .Ed .Pp 全ての関数はどこかでプロトタイプされます。 .Pp 私的な関数 (すなわち、他のどこでも使用されない関数など) の関数プロトタイプは、 最初のソースモジュールの先頭に置かれます。 単一のソースモジュールにローカルな関数は、 .Ql static で宣言されるべきです。 .Pp カーネルの別の部分から使用される関数は、 関連のあるインクルードファイルの中でプロトタイプされます。 .Pp 複数のモジュールでローカルに使用される関数は、 .Pa extern.h 等の分離したヘッダファイルの中に置かれます。 .Pp 一般にソースファイルが K&R 旧約聖書コンパイラで コンパイル可能である (べき) 時にのみ、 インクルードファイル の __P マクロを使用します。 新しいコードでの __P マクロの使用は反対されていますが、 既存のファイルに対する修正はそのファイルの規約と首尾一貫しているべきです。 .Pp ファイルの 50% かそれ以上を巻き込んだ修正の場合は、 一般にコードは .Dq 新しいコード とみなすことができます。 これは既存のコードの慣例を破り、 現在のスタイルガイドラインを使用するのに十分です。 .Pp カーネルはパラメータの型に関連付けられた名前を持ちます。 例えば、カーネル内でこのように使用します。 .Bd -literal void function(int fd); .Ed .Pp ユーザランドのアプリケーションに対して見えるヘッダファイルの中では、 可視のプロトタイプは、 -型を伴った保護された名前を使用するか、 +型を伴った +.Dq 保護された +(アンダスコアで開始する) 名前を使用するか、 型だけで名前を使用しないかのどちらかが必要です。 保護された名前の使用がより望ましいです。 例えば、このように使用します。 .Bd -literal void function(int); .Ed .Pp または .Bd -literal void function(int _fd); .Ed .Pp プロトタイプは関数名の行揃えを行なうために、タブの後に追加のスペース文字を 置いても構いません。 .Bd -literal static char *function(int _arg, const char *_arg2, struct foo *_arg3, struct bar *_arg4); static void usage(void); /* * 全ての主要なルーチンはそれが何をするのかを簡潔に記述した * コメントを持つべきです。"main" ルーチンの前のコメントは * そのプログラムが何をするのかを記述するべきです。 */ int main(int argc, char *argv[]) { long num; int ch; char *ep; .Ed .Pp 一貫性のために、オプションの解析には getopt が使用されるべきです。 getopt 呼び出しと switch 文では、オプションをソートすべきですが、 switch 文のカスケードの一部の場合は例外です。 switch 文のカスケード要素は FALLTHROUGH コメントを持つべきです。 数値の引数は精度をチェックされるべきです。 到達できないコードは NOTREACHED コメントを持つべきです。 .Bd -literal while ((ch = getopt(argc, argv, "abn:")) != -1) switch (ch) { /* switch をインデント */ case 'a': /* case はインデントしない */ aflag = 1; /* FALLTHROUGH */ case 'b': bflag = 1; break; case 'n': num = strtol(optarg, &ep, 10); if (num <= 0 || *ep != '\e0') { warnx("illegal number, -n argument -- %s", optarg); usage(); } break; case '?': default: usage(); /* NOTREACHED */ } argc -= optind; argv += optind; .Ed .Pp 予約語 (if, while, for, return, switch) の後にスペースを入れます。 何も伴わないかただ 1 つの文を伴う制御文は、ブレースを使用しません。 1 つの文が 複数行である文の場合には、これは許されます。 無限ループは while ではなく for で行ないます。 .Bd -literal for (p = buf; *p != '\e0'; ++p) ; /* 何もなし */ for (;;) stmt; for (;;) { z = a + really + long + statement + that + needs + two lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines; } for (;;) { if (cond) stmt; } if (val != NULL) val = realloc(val, newsize); .Ed .Pp for ループの各部は空のまま残しても構いません。 異常に複雑なルーチンでない限りは、ブロックの中に宣言を置いてはなりません。 .Bd -literal for (; cnt < 15; cnt++) { stmt1; stmt2; } .Ed .Pp インデントは 8 文字のタブです。 第 2 レベルのインデントは 4 文字のスペースです。 長い分を折り返す必要がある場合、オペレータを行末に置きます。 .Bd -literal while (cnt < 20 && this_variable_name_is_too_long_for_its_own_good && ep != NULL) z = a + really + long + statement + that + needs + two lines + gets + indented + four + spaces + on + the + second + and + subsequent + lines; .Ed .Pp 空白文字を行末に追加してはいけません。 また、インデントを形成するためには、タブとその後にスペースのみを使用します。 タブが生み出す以上のスペースや、タブの前のスペースは使用しません。 .Pp ブレースの終了と開始は else と同じ行に置かれます。 必要でないブレースは省いても構いません。 .Bd -literal if (test) stmt; else if (bar) { stmt; stmt; } else stmt; .Ed .Pp 関数名の後はスペースを空けません。 コンマの後にはスペースを持ちます。 .Sq \&( または .Sq \&[ の後ろまたは .Sq \&] または .Sq \&) の前にはスペースを空けません。 .Bd -literal error = function(a1, a2); if (error != 0) exit(error); .Ed .Pp 単項演算子はスペースを要求しませんが、二項演算子は要求します。 優先順位が要求する場合または文が括弧なしでは混乱する場合以外は、 括弧は使用しません。 他人はあなたよりも混乱しやすいかもしれないということを覚えておいてください。 あなたは以下を理解できますか? .Bd -literal a = b->c[0] + ~d == (e || f) || g && h ? i : j >> 1; k = !(l & FLAGS); .Ed .Pp 成功時には 0 で、または .Xr sysexits 3 にあらかじめ定義してある値で exit するべきです。 .Bd -literal exit(EX_OK); /* * "Exit 0 on success." (成功時は 0 で終了) * の様に明白なコメントは避けてください */ } .Ed .Pp 関数の型は、関数自身に先行する行にあるべきです。 .Bd -literal static char * function(int a1, int a2, float fl, int a4) { .Ed .Pp 関数の中で変数を宣言する時には、サイズ順に、次にアルファベット順に ソートして宣言します。 1 行に複数の宣言は可能です。 行が溢れる場合は、型の予約語を再度使用します。 .Pp 宣言時に変数を初期化することによってコードを 不明瞭にしない様に注意してください。 この機能は良く考えて使用してください。 初期化に関数呼び出しを使用しないでください。 .Bd -literal struct foo one, *two; double three; int *four, five; char *six, seven, eight, nine, ten, eleven, twelve; four = myfunction(); .Ed .Pp 他の関数の内部で関数を宣言しないでください。 ANSI C によると、このような宣言は、宣言のネスティングによらず、 ファイルスコープになります。 ローカルスコープに見えるものの中にファイルの宣言を隠すことは好ましくなく、 良いコンパイラは苦情を言います。 .Pp キャストと sizeof 演算子の後にはスペースを続けません。 この規則は .Xr indent 1 が理解しないことに注意してください。 .Pp NULL は、好まれるヌルポインタ定数です。 コンパイラが型を知っている文脈、例えば代入では、 (type *)0 または (type *)NULL の代わりに、NULL を使用します。 他の文脈では、特に全ての関数の引数では、 (type *)NULL を使用します。 (関数のプロトタイプがスコープ外かもしれない場合に、 キャストはいろいろな引数にとって必須で、その他の引数にとっても必要です。) ポインタは NULL と比較します。例えば、 .Bd -literal !(p = f()) .Ed .Pp ではなく、このように使います。 .Bd -literal (p = f()) == NULL .Ed .Pp 真理値ではない場合、テストには '!' を使用しないでください。 例えば、下記のように使います。 .Bd -literal if (*p == '\e0') .Ed .Pp 下記のようには使いません。 .Bd -literal if (!*p) .Ed .Pp void * を返すルーチンでは、 戻り値をどのポインタ型にもキャストしてはなりません。 .Pp .Xr err 3 または .Xr warn 3 を使用し、勝手に作らないでください。 .Bd -literal if ((four = malloc(sizeof(struct foo))) == NULL) err(1, (char *)NULL); if ((six = (int *)overflow()) == NULL) errx(1, "number overflowed"); return (eight); } .Ed .Pp 古いスタイルの関数宣言はこのようになっています。 .Bd -literal static char * function(a1, a2, fl, a4) int a1, a2; /* int 型も宣言します、デフォルトにしないこと */ float fl; /* double と float の違いに気を付けてください */ int a4; /* 出てきた順に宣言します */ { .Ed .Pp あなたが明確に K&R との互換性を必要とする場合以外は、 ANSI の関数宣言を使用してください。 長いパラメータリストの折り返しには、 4 個の空白による通常のインデントを付けます。 .Pp 可変個数の引数はこのようにします。 .Bd -literal #include void vaf(const char *fmt, ...) { va_list ap; va_start(ap, fmt); STUFF; va_end(ap); /* void 型の関数に return は不要です */ } static void usage() { /* 関数がローカル変数を持たない場合、空行をいれます */ .Ed .Pp fputs/puts/putchar 等ではなく、 .Xr printf 3 を使用してください。 これは速くて大抵はきれいで、言うまでもなくつまらないバグを避けます。 .Pp 使用法 (usage) の文はマニュアルページの書式の様であるべきです。 使用法の文は、次の構造であるべきです: .Pp .Bl -enum .It オペランドの無いオプションが、最初にアルファベット順に、 1 組の大括弧 .Sq ( \&[ と .Sq \&] ) でくくられます。 .It オプションとそのオペランドがこれもアルファベット順に続き、 それぞれのオプションとその引数を 1 組の大括弧でくくります。 .It 必須の引数 (もしあれば) が続き、 コマンドラインで指定されるべき順で一覧されます。 .It 最後に、 すべての任意の引数が指定されるべき順で、 すべて大括弧の中に一覧されます。 .El .Pp 縦棒 .Pq Sq \&| は、二者択一のオプションまたは引数を分割し、 同時に使用するオプションと引数は、単一の大括弧でくくります。 .Pp .Bd -ragged -offset 4n "usage: f [-aDde] [-b b_arg] [-m m_arg] req1 req2 [opt1 [opt2]]\en" "usage: f [-a | -b] [-c [-dEe] [-n number]]\en" .Ed .Bd -literal (void)fprintf(stderr, "usage: f [-ab]\en"); exit(EX_USAGE); } .Ed .Pp +マニュアルページのオプション記述は、 +純粋なアルファベット順であるべきであることに注意してください。 +つまり、オプションが引数を取るか否かに関わらないということです。 +アルファベット順は、前述の大文字小文字の順序を考慮に入れるべきです。 +.Pp 新しい中心的なカーネルのコードは、適度にスタイルガイドに従うべきです。 サードパーティが保守するモジュールやデバイスドライバのためのガイドラインは より緩やかですが、最低限内部的には彼らの一貫したスタイルであるべきです。 .Pp ソースリポジトリの文体の変更 (空白文字の変更を含む) は困難で、 正当な理由なしには避けるべきです。 リポジトリの中のおおよそ KNF .Xr style 9 に適合しているコードは、この適合から離れてはなりません。 .Pp 可能な時にはいつでも、 コードはコードチェッカ (例えば、 .Xr lint 1 または "gcc -Wall") を 通過し、発生する警告は最小限となるべきです。 .Sh 関連項目 .Xr indent 1 , .Xr lint 1 , .Xr err 3 , .Xr sysexits 3 , .Xr warn 3 .Sh 歴史 このページは .Bx 4.4 Lite2 リリースの src/admin/style/style ファイルに大きく基づいていて、 現在の実装と .Fx -プロジェクトの要望を反映して、更新してあります。 +プロジェクトの要望を反映して、頻繁に更新しています。