diff --git a/ja/man/man1/addftinfo.1 b/ja/man/man1/addftinfo.1 index 10fb7f17f4..5478110bca 100644 --- a/ja/man/man1/addftinfo.1 +++ b/ja/man/man1/addftinfo.1 @@ -1,93 +1,93 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: addftinfo.1,v 1.2 1997/05/13 16:07:12 horikawa Stab % -.TH ADDFTINFO 1 "8 September 1996" "Groff Version 1.10" +.TH ADDFTINFO 1 "8 September 1996" "Groff Version 1.11" .SH 名称 addftinfo \- troff 用のフォントファイルに groff で用いるための情報を付加する .SH 書式 .B addftinfo [ .BI \- param\ value\fR.\|.\|. ] .I res .I unitwidth .I font .SH 解説 .B addftinfo は troff フォントファイルを読み、groff -システムで用いられるフォントメトリック情報を付加します。情報が付加されたフォントファイル -は標準出力に書き出されます。 +システムで用いられるフォントメトリック情報を付加します。 +情報が付加されたフォントファイルは標準出力に書き出されます。 追加される情報は、フォント自体のパラメトリックな情報と、伝統的な troff の文字名のつけかたに関する仮定から推定されます。 この情報は、主に文字の高さや深さです。引数の .I res と .I unitwidth は DESC ファイルの対応するパラメータと一致するべきです; .I font はフォントの名前です。 .I font が .B I で終わる場合はイタリック体であると仮定されます。 .SH オプション 各オプションは、高さや深さなどを得るために用いられるパラメータのうちの 1 つを 変更します。フォントファイル内の現行の数量のように、各 .I value はポイントの大きさが .I unitwidth であるフォントについて .I res あたりのインチ数で表現します。 .I param には、以下のなかから 1 つを選びます: .TP .B x-height x などのような、背の低い小文字の高さ。 .TP .B fig-height -図の高さ ( 十進の数値 ) +図の高さ (10 進の数値) .TP .B asc-height b, d, l などのような、背の高い文字の高さ。 .TP .B body-height 括弧などの文字の高さ。 .TP .B cap-height A のような大文字の高さ。 .TP .B comma-depth ``,'' の深さ。 .TP .B desc-depth p, q, y などのような、ベースラインよりも下に出た文字の深さ。 .TP .B body-depth 括弧などの文字の深さ。 .LP .B addftinfo は、指定しなかったパラメータの値を推測するために、指定してある パラメータの値を用いることはしません。パラメータが指定されない場合は デフォルトの値が用いられます。デフォルトの値は、 Times フォントの手頃な値を選びます。 .SH 関連項目 .BR groff_font (5), .BR groff (1), .BR groff_char (7) diff --git a/ja/man/man1/doscmd.1 b/ja/man/man1/doscmd.1 new file mode 100644 index 0000000000..3c0c73bf9d --- /dev/null +++ b/ja/man/man1/doscmd.1 @@ -0,0 +1,730 @@ +.\" +.\" Copyright (c) 1992, 1993, 1996 +.\" Berkeley Software Design, 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Berkeley Software +.\" Design, Inc. +.\" +.\" THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``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 Berkeley Software Design, Inc. 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. +.\" +.\" BSDI doscmd.1,v 2.3 1996/04/08 19:32:29 bostic Exp +.\" +.\" jpman %Id: doscmd.1,v 1.3 1998/10/13 21:31:33 vanitas Stab % +.\" WORD: raw file ロウファイル (mknod.8 によると character special file) +.\" WORD: cooked device 加工されたデバイス (mknod.8 によると block special) +.Dd January 30, 1995 +.Dt DOSCMD 1 +.Os +.Sh 名称 +.Nm doscmd +.Nd リアルモード DOS プログラムのサブセットを実行する +.Sh 書式 +.Nm doscmd +.Fl 23AbDEfHIMOPRrtVvXxYz +.Fl c Ar file +.Fl d Ar file +.Fl i Ar port Ns Xo +.Op : Ns Ar cnt +.Xc +.Fl o Ar port Ns Xo +.Op : Ns Ar cnt +.Xc +.Fl S Ar int +.Fl U Ar int +.Op Ar cmd [args ...] +.Sh 解説 +.Nm +は、DOS のサブセットをエミュレートして単一コマンド +.Ar cmd +.Ar args +を実行することができますし、 +PC をエミュレートして DOS をブートすることもできます。 +DOS をブートする場合には、より多様な DOS アプリケーションを +実行することができます。 +MS-DOS 6.2 以降は +.Nm doscmd +ではうまく扱えないようです。 +DOS をブートするには、 +.Fl b +フラグを指定するか、 +.Ar cmd +引数を省略してください。 +.Fl b +を指定すると、 +.Ar cmd +と +.Ar args +は無視されます。 +.Pp +.Nm +は DOS のサブセットを提供するだけですが、 +多くのプログラムを実行するには十分です。 +コンパイラ、アセンブラ、リンカローダといったプログラムも実行できますが、 +これらに限定するものではありません。 +.Pp +次に示す多様なフラグを +.Nm +に指定可能です: +.Bl -tag -width indent +.It Fl 2 +DOS プログラムからの +.Nm doscmd +エミュレータへのすべてのトラップのデバッグトレースを有効にします。 +カーネルによって扱われるためにトレースされないトラップがあることに +注意してください。 +.It Fl 3 +割り込みベクタの変更や論理ドライブへのパスの初期化といった、 +いくつかの下位レベル機能のデバッグを有効にします。 +.\" +.\" +.\" +.It Fl A +エミュレータを通過するすべての割り込みのトレースを有効にします。 +.Fl S +オプションを、255 個すべての割り込みの値とともに指定する場合と同じです。 +.\" +.\" +.\" +.It Fl b +DOS をエミュレートする代りに DOS をブートします。 +.\" +.\" +.\" +.It Fl c Ar file +画面へのすべての出力を捕まえて、 +.Ar file +へ出力します。 +画面の直接の書き込みは捕まえられないことに注意してください。 +.\" +.\" +.\" +.It Fl C +MS-DOS の呼び出しエミュレーションと戻り値をリストします。 +.\" +.\" +.\" +.It Fl D +ディスクとファイルの操作に関するデバッグを有効にします。 +.\" +.\" +.\" +.It Fl d Ar file +デバッグ出力を、標準エラー出力の代りに +.Ar file +へ送ります。 +.\" +.\" +.\" +.It Fl E +exec ルーチンのデバッグを有効にします。 +.\" +.\" +.\" +.It Fl H +中途半端に実装された呼び出しのトレースを有効にします。 +.\" +.\" +.\" +.It Fl I +すべての割り込みのトレースを有効にします。 +.Fl A +とほとんど同じですが、有効になるトレースは少しだけ少ないです。 +.\" +.\" +.\" +.It Fl i Ar port Ns Xo +.Op : Ns Ar cnt +.Xc +入出力ポート +.Ar port +からのすべての入力要求のトレースを有効にします。 +もし +.Ar cnt +が与えられると、 +.Ar port +から +.Ar port+cnt Ns No -1 +までをトレースします。 +.\" +.\" +.\" +.It Fl M +メモリ操作のデバッグを有効にします。 +.\" +.\" +.\" +.It Fl O +デバッグ出力を、標準エラー出力の代りに、標準出力へ出力します。 +.\" +.\" +.\" +.It Fl o Ar port Ns Xo +.Op : Ns Ar cnt +.Xc +入出力ポート +.Ar port +からのすべての出力要求のトレースを有効にします。 +もし +.Ar cnt +が与えられると、 +.Ar port +から +.Ar port+cnt Ns No -1 +までをトレースします。 +.\" +.\" +.\" +.It Fl P +入出力ポート呼び出し (例えば +.Li inb , +.Li outb +など) のトレースを有効にします。 +.\" +.\" +.\" +.It Fl R +ファイルリダイレクトコードのデバッグを有効にします。 +.\" +.\" +.\" +.It Fl r +生のキーボード入力と表示を使用します。 を押すと、 +doscmd は終了します。VGA グラフィックスが使えるようになります。 +.\" +.\" +.\" +.It Fl S Ar int +割り込み +.Ar int +のトレースを有効にします。 +.\" +.\" +.\" +.It Fl t +命令レベルのトレースを試みます。 +トレースを混乱させる命令があります。 +.Li +を押すとトレースモードの有効と無効とを切り替えます。 +.\" +.\" +.\" +.It Fl U Ar int +割り込み +.Ar int +のトレースを無効にします。 +.Fl A +や +.Fl I +の後で使用すると便利です。 +.\" +.\" +.\" +.It Fl V +未知の割り込みを報告する際、レジスタダンプも含めます。 +.\" +.\" +.\" +.It Fl v +.Fl AH +と同じです。 +.\" +.\" +.\" +.It Fl X +XMS 操作のデバッグを有効にします。 +.\" +.\" +.\" +.It Fl x +X11 のウィンドウを表示出力のためにオープンします。 +他の方法では利用できない様々な割り込みを有効にします。 +.Fl b +を指定しても、指定しなくても、使用可能です。 +.\" +.\" +.\" +.It Fl Y +EMS 操作のデバッグを有効にします。 +.\" +.\" +.\" +.It Fl z +DOS プログラムにジャンプする直前に +.Nm +を停止させます。 +.Nm +を開発する以外の用途はほとんどありません。 +.El +.Pp +起動時に、 +.Nm +はコンフィギュレーションファイルを読もうとします。 +まず、カレントディレクトリのファイル +.Cm .doscmdrc +を試します。もし見付からない場合、 +.Cm $HOME +を検索します。それでもなお見付からない場合、ファイル +.Cm /etc/doscmdrc +を使用します。 +.Pp +コンフィギュレーションファイルでは、コメントは \fB#\fP 文字から開始します。 +また、空行は無視されます。 +非空行は、環境変数またはデバイスを設定するコマンドです。 +空白の前に \fB=\fP がある行は、環境変数への代入であると扱われ、 +DOS の環境に追加されます。 +その他の行は次のいずれかです。 +.Bl -tag -width XXXXX +.\" +.\" +.\" +.It Cm boot Op Cm A: | C: +ブートするデバイスを設定します。 +デフォルトでは、 +.Cm A: +が定義されていれば最初に試され、もしそれが失敗すると、 +.Cm C: +が試されます。 +.\" +.\" +.\" +.It Cm assign Xo +.Op Cm A-Z : +.Op Fl ro +.Ar path +.Xc +.Nm BSD/OS +のディレクトリ +.Ar path +を、指定したドライブに割り当てます。 +.Fl ro +フラグを指定すると、読み取り専用ファイルシステムになります。 +DOS ブート時には、 +.Pa /usr/libdata/doscmd/redir.com +バイナリが実行されるまでは、これらの割り当ては実行されません。 +.\" +.\" +.\" +.It Cm assign Xo +.Cm lpt Ns Op Cm 0-4 : +.Op Cm direct +.Ar path +.Op Ar timeout +.Xc +指定したプリンタを +.Ar path +に割り当てようとします。 +.Ar timeout +が指定された場合、 +その期間 (秒数) 活動がない場合に、プリンタをフラッシュすべきことを示します。 +デフォルトは 30 秒です。 +.Ar path +が本物のプリンタを参照している場合には、 +.Cm direct +オプションを指定してください。 +.\" +.\" +.\" +.It Cm assign Xo +.Op Cm A: | B: +.Op Fl ro +.Ar path +.Ar density +.Xc +.It Cm assign Xo +.Cm flop Ns Op Cm 01 +.Op Fl ro +.Ar path +.Ar density +.Xc +ファイル +.Ar path +を、次に利用可能なフロッピまたは指定したフロッピに割り当てます。 +.Fl ro +が指定されると、フロッピは読み取り専用になります。 +.Ar density +は次のいずれかです: +.sp +.Bl -tag -compact -width 1440x +.It 180 +9 ヘッド 40 トラック片面フロッピ +.It 360 +9 ヘッド 40 トラック両面フロッピ +.It 720 +9 ヘッド 80 トラック両面フロッピ +.It 1200 +15 ヘッド 80 トラック両面フロッピ +.It 1440 +18 ヘッド 80 トラック両面フロッピ +.It 2880 +36 ヘッド 80 トラック両面フロッピ +.El +.\" +.\" +.\" +.It Cm assign Xo +.Op Cm C-Z : +.Op Fl ro +.Ar path +.Op Ar type | cyl head sec +.Op Ar fdisk_tab +.Xc +.It Cm assign Xo +.Cm hard Ns Op Cm 01 +.Op Fl ro +.Ar path +.Op Ar type | cyl head sec +.Op Ar fdisk_tab +.Xc +ファイル +.Ar path +を、次に利用可能なハードディスクまたは指定したハードディスクに割り当てます。 +ディスクのジオメトリは、シリンダ数 +.Ar cyl +とヘッド数 +.Ar head +とトラックあたりのセクタ数 +.Ar sec +で直接指定することもできますし、標準タイプから 1 つを +.Ar type +(後述) で指定することもできます。 +オプションの +.Ar fdisk_tab +引数は、このディスクの最初のセクタとして使用するファイルを指定します。 +.Ar path +がディスクの一部のみを参照する場合に、 +偽の fdisk テーブルを挿入するために使用できます。 +.\" +.\" +.\" +.It Cm assign Xo +.Cm com Ns Op Cm 1-4 : +.Ar path +.Ar port +.Ar irq +.Xc +.Ar path +で指定した tty または pty を、 +指定した com ポートとして使用するように割り当てます。 +ベースアドレスは +.Ar port +でエミュレートされ、割り込みは +.Ar irq +で指定されます。 +このコードは軽くテストしただけなので、向かない用途があるかもしれません。 +.\" +.\" +.\" +.It Cm "setver command version" +doscmd が DOS をエミュレートする場合、 +.Cm command +という名前のプログラムから呼ばれた時に、DOS バージョンとして +.Cm version +を報告するようにします。 +.Cm version +のフォーマットは、後述の +.Cm MS_VERSION +変数と同じです。 +.El +.Pp +.Cm C: +は、まだ割り当てられていない場合には、ルートディレクトリ (/) に割り当てられ、 +.Cm C: +のカレントディレクトリは、現在のカレントディレクトリに設定されます。 +これはすなわち、 +.sp + doscmd ../foo +.sp +のように起動しても、動作しないことを意味することに注意してください。 +なぜなら +.Cm C: +ディレクトリはカレントパスで開始するからです。 +また、次の環境変数も、未設定の場合には設定されます: + +.nf +.Cm "COMSPEC=C:\eCOMMAND.COM +.Cm "PATH=C:\e +.Cm "PROMPT=DOS> +.fi + +.Cm PATH +変数は +.Ar cmd +を検索する際にも使用されます。 +DOS のように、まず +.Ar cmd.com +が検索され、それから +.Ar cmd.exe +が検索されます。 +.Sh コンフィギュレーション変数 +.Pp +doscmd の内部変数であり、実際の DOS の環境では設定されない変数が、 +.Cm .doscmdrc +ファイル中にいくつかあります。 +それらを以下に示します: +.Bl -tag -width MS_VERSION +.It Cm MS_VERSION +この変数の値は、 +.Nm +が報告を行なう DOS のバージョンを決定するために使用されます。 +.Nm +は、動作を変えずに、報告方法だけを変えることに注意してください。 +デフォルトでは、この値は +.Cm 410 +であり、 +.Nm "MS-DOS +バージョン +.Nm 4.1 +に対応します。 +バージョン 3.2 (以前の +.Nm +のデフォルトでした) に変更するには、値 +.Cm 320 +を使用してください。 +.El +.Sh ファイル変換 +.Nm +は +.Nm BSD/OS +のファイル名を +.Nm DOS +のファイル名に変換する際、すべて大文字に変換し、無効な文字を除去します。 +ASCII ファイルを、DOS の世界で好まれる +.Cm +形式へ変換するということはありません。 +ASCII ファイルを変換するには、プログラム +.Xr bsd2dos 1 +を使用してください。 +.bp +.Sh ディスクタイプ +.TS H +expand, box; +r | r | r | r | r. +タイプ シリンダ ヘッド セクタ サイズ += +01 306 4 17 10MB +02 615 4 17 20MB +03 615 6 17 30MB +04 940 8 17 62MB +05 940 6 17 46MB +_ +06 615 4 17 20MB +07 462 8 17 30MB +08 733 5 17 30MB +09 900 15 17 112MB +10 820 3 17 20MB +_ +11 855 5 17 35MB +12 855 7 17 49MB +13 306 8 17 20MB +14 733 7 17 42MB +15 976 15 17 121MB +_ +16 612 4 17 20MB +17 977 5 17 40MB +18 977 7 17 56MB +19 1024 7 17 59MB +20 733 5 17 30MB +_ +21 733 7 17 42MB +22 733 5 17 30MB +23 306 4 17 10MB +24 925 7 17 53MB +25 925 9 17 69MB +_ +26 754 7 17 43MB +27 754 11 17 68MB +28 699 7 17 40MB +29 823 10 17 68MB +30 918 7 17 53MB +_ +31 1024 11 17 93MB +32 1024 15 17 127MB +33 1024 5 17 42MB +34 612 2 17 10MB +35 1024 9 17 76MB +_ +36 1024 8 17 68MB +37 615 8 17 40MB +38 987 3 17 24MB +39 987 7 17 57MB +40 820 6 17 40MB +_ +41 977 5 17 40MB +42 981 5 17 40MB +43 830 7 17 48MB +44 830 10 17 68MB +45 917 15 17 114MB +_ +46 1224 15 17 152MB +.TE +.bp +.Sh 擬似ディスクへの DOS のインストール +.Pp +doscmd の擬似ハードディスクに DOS をインストールするには、 +次のようにします: +.Bl -tag -width XXXX +.It 1 +少なくとも次の記述を含む +.Pa .doscmdrc +を作成します: +.Bd -literal -offset indent +assign A: /dev/rfd0_1440_3.5 1440 +assign A: /dev/rfd0_720_3.5 720 +assign hard boot_drive 80 2 2 +.Ed +.Pp +A: ドライブに対応するロウファイル (訳注: キャラクタスペシャルファイル) を、 +システムに応じて修正する必要があるかもしれません。 +この例では、HD ドライブを最初に試し、DD ドライブを次に試します +(訳注: HD = High Density; 高密度、DD = Double Density; 倍密度)。 +.\" HD = Hard Disk と思ってしまうと混乱するので、訳注を追加したい。 +.\" HD = High Density, DD = Double Density +.\" 1998/09/20 by horikawa@jp.FreeBSD.org +.Pp +ここでは、 +ロウデバイスやロウファイルのみを使用する必要があることに注意してください。 +加工された (cooked) デバイス (訳注: ブロックスペシャルファイル) +を使用しないこと! +(おそらくハードディスクは大丈夫でしょうが、フロッピは確実に駄目です) +.Pp +.Li boot_drive +は、ブート可能なイメージを格納するファイルの名前です。 +.Li 80 2 2 +という 3 つの数字は、 +ドライブが 80 個のシリンダと 2 個のヘッドとトラックあたり 2 個のセクタを +持つことを示します。 +これは、MS-DOS 5.0 を +.Pa config.sys +と +.Pa autoexec.bat +のファイルと共にインストールすることが可能な、最小のドライブです。 +.Pp +もっと大きなブートドライブを作成したいかもしれません。 +.Pp +ファイル +.Pa boot_drive +は存在する必要がありますので、touch コマンドで作成してください。 +.It 2 +MS-DOS をブート可能で fdisk, format, sys コマンドを含むフロッピディスクを、 +A: ドライブに挿入してください。 +ファイル redir.com もフロッピにコピーしてください。 +この際、msdos ファイルシステム型でフロッピをマウントするか、mtools +を使用してください +(例えば +.Li mwrite redir.com a: +とします)。 +.It 3 +doscmd を実行してください。 +.It 4 +> プロンプトにて、 +.Li fdisk +とタイプします。 +.It 5 +.Li Create DOS partition or Logical Drive +を選択します。 +.It 6 +.Li Create Primary DOS Partition +を選択します。 +.It 7 +大きさを指定します (典型的にはドライブ全体です。それでも非常に小さいものです。) +.It 8 +.Li +を何度か押して、FDISK を終了します。 +.It 9 +doscmd が実行中断するでしょうから、 +そうなった場合、doscmd を再度実行します。 +.It 10 +> プロンプトにて、 +.Li format c: +とタイプし、指示に従います。 +.It 11 +> プロンプトにて、 +.Li sys c: +とタイプします。 +.It 12 +doscmd を終了します。 +.It 13 +ドライブからフロッピを取り除くか、 +.Bd -literal -offset indent +boot C: +.Ed +という行をあなたの +.Pa .doscmdrc +に加えてください。 +.It 14 +新しいディスクから DOS を動かします。 +config.sys と autoexec.bat の両ファイルが欲しいでしょうから、 +まず最初は次のようにします: +.Bd -literal -offset indent +> copy con: config.sys +LASTDRIVE=Z +^Z +> copy con: autoexec.bat +@echo off +redir.com +^Z +.Ed +.It 15 +doscmd を終了します。 +.It 16 +FreeBSD ディスクを組み込む魔法のプログラム +.Li redir +を自動的に呼び出す、ブート可能な擬似ディスクが完成しました。 +FreeBSD ディスクを使用するためには、次の行をあなたの .doscmdrc に追加します: +.Bd -literal -offset indent +assign D: /usr/dos +assign P: -ro /usr/prb +.Ed +名前の問題により、 +アクセスできないファイルがあるかもしれないことに注意してください。 +.El +.Sh 診断 +.Pp +実装されていない割り込みに出会うと、 +.Nm +は次のようなメッセージを表示し終了します: +.sp + Unknown interrupt 21 function 99 +.sp +.Pp +.Nm +.Fl x +スイッチ指定時に、 +.Ic X11 support not compiled in +というメッセージが表示された場合、環境変数 +.Ev X11BASE +を X Window System をインストールした場所 (通常 +.Pa /usr/X11R6 +) に設定し、ソースディレクトリ (通常 +.Pa /usr/src/usr.bin/doscmd +) で +.Ic make install +とタイプすることで、本機能を有効にすることができます。 +このように動作するためには、 +X プログラマキットがインストールしてある必要があります。 +.Sh 作者 +.An Pace Willisson , +.An Paul Borman +.Sh 歴史 +.Nm doscmd +は BSD/386 に初めて登場しました。 diff --git a/ja/man/man1/eqn.1 b/ja/man/man1/eqn.1 index b9063fbd07..9cb239f19f 100644 --- a/ja/man/man1/eqn.1 +++ b/ja/man/man1/eqn.1 @@ -1,852 +1,837 @@ .\" %Id: eqn.1,v 1.3 1993/08/02 17:42:44 mycroft Exp % -*- nroff -*- .\" jpman %Id: eqn.1,v 1.3 1997/07/26 21:33:56 horikawa Stab % .ie \n(.V<\n(.v .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .\" The BSD man macros can't handle " in arguments to font change macros, .\" so use \(ts instead of ". .tr \(ts" -.TH EQN 1 "15 January 1995" "Groff Version 1.09" +.TH EQN 1 "7 September 1996" "Groff Version 1.11" .SH 名称 eqn \- troff 用の数式フォーマッタ .SH 書式 .B eqn [ .B \-rvCNR ] [ .BI \-d cc ] [ .BI \-T name ] [ .BI \-M dir ] [ .BI \-f F ] [ .BI \-s n ] [ .BI \-p n ] [ .BI \-m n ] [ .IR files \|.\|.\|. ] .SH 解説 本マニュアルでは、groff ドキュメントフォーマットシステムの一部である GNU バージョンの .B eqn について記述します。 .B eqn は、 .B troff -への入力ファイルに埋め込まれている数式に関する記述をコン -パイルし、 +への入力ファイルに埋め込まれている数式に関する記述をコンパイルし、 .B troff が解釈できる命令列に変換します。通常、 .B groff に .B \-e オプ ションを指定することで、本プログラムは実行されます。文法は UNIX の eqn -ととても似かよっています。GNU eqn の出力は UNIX の troff で処理するこ -とができないので、GNU troff を用いる必要があります。コマンドラインにファ -イル名が指定されなかった場合は、標準入力から読み込みます。ファイルネー -ムとして +ととても似かよっています。GNU eqn の出力は UNIX の troff で処理できないので、 +GNU troff を用いる必要があります。コマンドラインに +ファイル名が指定されなかった場合は、標準入力から読み込みます。 +ファイル名として .B \- を指定した場合も標準入力から読み込みます。 .LP .B eqn は .B /usr/share/tmac/eqnrc -を検索し、もし存在すれば入力ファイルの処 -理に先がけて読み込みを行います。 +を検索し、もし存在すれば入力ファイルの処理に先がけて読み込みを行います。 .B \-R -オプションを使うことにより、この動作 -を禁止することができます。 +オプションを使うことにより、この動作を禁止できます。 .LP GNU eqn は neqn の機能のすべてを提供するものではありません。低解像度の -タイプライタのような機器を(単純な入力に対しては十分であるのですが)サポー -トしません。 +タイプライタのような機器を (単純な入力に対しては十分であるのですが) +サポートしません。 .SH オプション .TP .B \-C -直後にスペースや改行ではない文字が続く +直後に空白文字や改行ではない文字が続く .B .EQ と .B .EN を解釈します。 .TP .B \-N 区切り文字から次の区切り文字までの間に改行がくることを禁止します。誤って 閉じる方の 区切り文字をつけ忘れた場合も、以降の処理が正しく行われる可能性が高くなりま す。 .TP .B \-v バージョン番号を表示します。 .TP .B \-r -サイズを一つだけ縮小します。 +サイズを 1 つだけ縮小します。 .TP .BI \-m n 最低のポイントサイズを .I n とします。 .B eqn は下付き、上付き文字を .I n より小さなサイズにしません。 .TP .BI \-T name .I name で指定された機器用の出力を行います。実際は、 .I name と いう値 1 のマクロが定義されるだけです。普通は .B eqnrc でこの定義されたマ -クロによって出力機器にふさわしい設定がなされます。デフォルトの出力機器 -は +クロによって出力機器にふさわしい設定がなされます。デフォルトの出力機器は .B ps です。 .TP .BI \-M dir デフォルトのディレクトリ .B /usr/share/tmac -よりも先に指定したディ -レクトリ +よりも先に指定したディレクトリ .I dir の eqnrc を探します。 .TP .B \-R .B eqnrc ファイルを読み込みません。 .TP .BI \-f F .BI gfont\ F コマンドと等価です。 .TP .BI \-s n .BI gsize\ n -コマンドと等価です。このオプションは使うべきではありま -せん。 -eqn -は、通常、数式が登場した位置のポイントサイズに数式のサイズをあ -わせます。 +コマンドと等価です。このオプションは使うべきではありません。 +eqn は、通常、数式が登場した位置のポイントサイズに数式のサイズをあわせます。 .TP .BI \-p n 上付き、下付き文字が隣接するテキストより .I n ポイント小さくなるようにし ます。このオプションは使うべきではありません。通常 eqn -は隣接するテキ -ストの 70% のサイズになるように調節します。 +は隣接するテキストの 70% のサイズになるように調節します。 .SH 使用法 -ここでは、GNU eqnとUnix eqnの違いのみを解説します。 +ここでは、GNU eqn と Unix eqn の違いのみを解説します。 .LP -GNU eqnの新しい特徴のほとんどは、\*(tx -に基づいています。 -以下には、いくつかの\*(tx と GNU eqn の違いを記述してあります。 -もし、あなたが\*(tx -を知らないならば、無視した方が安全でしょう。 +GNU eqn の新しい特徴のほとんどは、\*(tx に基づいています。 +以下には、いくつかの \*(tx と GNU eqn の違いを記述してあります。 +もし、あなたが \*(tx を知らないならば、無視した方が安全でしょう。 .SS 自動スペーシング .LP .B eqn は、数式の中の部分それぞれに対して型を与えて、その型を用いて数式 の中の部分の間の間隔をそろえます。 利用できる型には以下のものがあります。 .TP \w'punctuation'u+2n ordinary 1や .IR x のような通常の文字 .TP operator .ds Su \s+5\(*S\s0 .if \n(.g .if !c\(*S .ds Su 積算記号 \*(Su のような大きな演算記号 .TP binary -+ のような、2項演算子 ++ のような、2 項演算子 .TP relation = のような関係記号 .TP opening ( のような括弧開始記号 .TP closing )のような括弧終了記号 .TP punctuation , のような句読点記号 .TP inner 括弧内部に含まれた部分式 .TP suppress オートマチックスペーシングによる位置補正を抑制する .LP -式の中の項の型は、以下に示す二つの方法のどちらかで指定されます。 +式の中の項の型は、以下に示す 2 つの方法のどちらかで指定されます。 .TP .BI type\ t\ e 式の中の項で .I e を含むものを、型 .IR t であると指定します。 .I t は、上述の型の中から指定します。 たとえば、 .B times は .RS .IP .B type "binary" \e(mu .RE .IP と定義されます。 -マクロ展開を防ぐためにクォーティングする以外は、型の名前はクォー -トする必要はありません。 +マクロ展開を防ぐためにクォーティングする以外は、 +型の名前はクォートする必要はありません。 .TP .BI chartype\ t\ text クォートされていない文字のグループは、個々の文字に分割され、 それぞれの文字の型が検索されます。 この変更で、各文字について、それぞれ格納されている文字の型が変更されます。 この指定方法では、 .I text にある文字は、型 .IR t を持つようになります。例えば .RS .IP .B chartype "punctuation" .,;: .RE .IP という指定は、 .B .,;: という文字が、それぞれに句読点記号型を持つことを指定 します。 -以後、式の中にこれらの文字が出現した場合は、句読点記号として処理 -されます。 +以後、式の中にこれらの文字が出現した場合は、句読点記号として処理されます。 型 .I t は、 .B letter や .BR digit という指定も可能です。この場合 .B chartype は、文字のフォントの型を変更します。 詳細は、フォントサブセクションを見て下さい。 .SS 新しいプリミティブ .TP .IB e1\ smallover\ e2 これは .BR over と似ています; .B smallover は .I e1 および .IR e2 のサイズを小さくします; また .I e1 および .I e2 と分数の線との間の垂直幅も小さくなります。 .B over プリミティブは \*(tx のディスプレイスタイルの .B \eover プリミティブに対応します; .B smallover は非ディスプレイスタイルの .B \eover に対応します。 .TP .BI vcenter\ e .I e -を数式軸(math axis)にあわせて垂直方向にセンタリングします。 +を数式軸 (math axis) にあわせて垂直方向にセンタリングします。 数式軸は垂直位置であり、 これにあわせて + や - といった文字はセンタリングされます; また分数の線の垂直位置にもなります。 例えば、 .B sum はこのように定義されています。 .RS .IP .B { type "operator" vcenter size +5 \e(*S } .RE .TP .IB e1\ accent\ e2 .I e2 を .IR e1 上のアクセントとします。 .I e2 は小文字のレターに対して適正な高さにあると仮定します; .I e2 は、 .I e1 が小文字のレターよりも文字の高さが高かったり低かったりする場合には、 必要に応じて下方に移動されます。 例えば .B hat はこのように定義されています。 .RS .IP .B accent { "^" } .RE .IP .BR dotdot , .BR dot , .BR tilde , .BR vec , .B dyad も .B accent プリミティブを用いて定義されています。 .TP .IB e1\ uaccent\ e2 .I e2 を .IR e1 下のアクセントとします。 .I e2 は下に突き出ていない小文字に対して適正な高さにあると仮定します; .I e2 は、 .I e1 が下に突き出している場合、下方に移動されます。 .B utilde は .B uaccent を使用して定義されており、 ベースライン下の tilde アクセントとなります。 .TP .BI split\ \(ts text \(ts 単なる .RS .IP .I text .RE .IP と同じ効果ですが、 .I text -はクオートされているためマクロ展開の対象となりません; +はクォートされているためマクロ展開の対象となりません; .I text は個々の文字に分割され、それぞれの文字の間に空白が調整されます。 .TP .BI nosplit\ text .RS .IP .BI \(ts text \(ts .RE .IP と同じですが、 .I text -はクオートされていないためマクロ展開の対象となります; +はクォートされていないためマクロ展開の対象となります; .I text は個々の文字に分割されず、それぞれの文字の間の空白も調整されません。 .TP .IB e\ opprime .B prime の変形であり、 .IR e のオペレータとして作用します。 .BR A\ opprime\ sub\ 1 のような場合、 opprinme は .B prime とは異なる結果となります: .B opprime では .B 1 は prime 文字の真下に挿入され、 .B A の下付き文字となります (数式版組の形式のように)。 一方、 .B prime では .B 1 は prime 文字の下付き文字となります。 .B opprime が前に付くという事は、 .B bar と .BR under が前に付くのと同じ事ですが、 後者は .BR accent , .BR uaccent 以外の他の全ての文字よりも高くなります。 -クオートされていないテキスト中では、 -最初の文字ではない +クォートされていないテキスト中では、最初の文字ではない .B ' は .BR opprime として扱われます。 .TP .BI special\ text\ e .BR troff (1) マクロ .IR text を使用して、 .I e から新しいオブジェクトを生成します。 -マクロが呼び出されると、 -文字列 +マクロが呼び出されると、文字列 .B 0s は .IR e の出力を保持します。 また数字レジスタ .BR 0w , .BR 0h , .BR 0d , .BR 0skern , .BR 0skew はそれぞれ .IR e の幅、高さ、深さ、下付き文字のカーニング、スキューを保持します (オブジェクトの .I "subscript kern" とは、オブジェクト中の下付き文字がどの程度挿入されるかを表します; オブジェクトの .I skew とは、オブジェクト上のアクセントが オブジェクトの中央から右側に向けてどの程度離れて配置されるかを表します)。 マクロは .B 0s を修正することにより、 現在位置における望ましい結果を出力し、 このオブジェクトの幅の分だけ現在の水平位置を増加させます。 数字レジスタは、結果に対応するように修正されている必要があります。 .RS .LP 例えば、数式を `打ち消す' 構造を、斜め線を数式上に描く事によって 実現する場合を考えて見ましょう。 .IP .nf .ft B .ne 6+\n(.Vu \&.EQ define cancel 'special Ca' \&.EN \&.de Ca \&.ds 0s \eZ'\e\e*(0s'\ev'\e\en(0du'\eD'l \e\en(0wu -\e\en(0hu-\e\en(0du'\ev'\e\en(0hu' \&.. .ft .fi .LP 以上の結果から、式 .I e を .BI cancel\ {\ e\ } によって打ち消すことができます。 .LP 次はより複雑な構造により、式の周りに箱を描きます: .IP .nf .ft B .ne 11+\n(.Vu \&.EQ define box 'special Bx' \&.EN \&.de Bx \&.ds 0s \eZ'\eh'1n'\e\e*(0s'\e \eZ'\ev'\e\en(0du+1n'\eD'l \e\en(0wu+2n 0'\eD'l 0 -\e\en(0hu-\e\en(0du-2n'\e \eD'l -\e\en(0wu-2n 0'\eD'l 0 \e\en(0hu+\e\en(0du+2n''\eh'\e\en(0wu+2n' \&.nr 0w +2n \&.nr 0d +1n \&.nr 0h +1n \&.. .ft .fi .RE .SS カスタマイズ 数式の外見は多くのパラメータにより制御します。 これらのパラメータは .B set コマンドで設定します。 .TP .BI set\ p\ n パラメータ .I p を値 .I n に設定します; .I n は整数です。 例えば、 .RS .IP .B set x_height 45 .RE .IP は、 .B eqn に対して x の高さは 0.45 ems であると指示します。 .RS .LP パラメータを以下に示します。 -特に記述が無い場合は、値は em の100分の1を意味します。 +特に記述が無い場合は、値は em の 100 分の 1 を意味します。 以下の記述は定義的ではなく説明的になるように意図しています。 .TP \w'\fBdefault_rule_thickness'u+2n .B minimum_size .B eqn はこれよりも小さいポイントサイズのセッティングを行いません。 値はポイントで指定します。 .TP .B fat_offset .B fat プリミティブは数式をボールドにするために、 数式のコピーを 2 回重ね打ちします。 重ね打ちする時にずらす水平幅がこの値です。 .TP .B over_hang 分数の線の長さは、 -分子もしくは分母の広い方の幅にこの値を2倍した長さを加えた長さとなります; -言い替えると、分子と分母は少なくともこの値だけオーバーハングします。 +分子もしくは分母の広い方の幅にこの値を 2 倍した長さを加えた長さとなります; +言い替えると、分子と分母は少なくともこの値だけオーバハングします。 .TP .B accent_width .B bar か .B under が単一文字に対して適用された場合、 線の長さはこの値となります。 通常、 .B bar および .B under は適用対象のオブジェクトの幅に等しい長さの線を生成します; しかし単一文字の場合、 これでは大抵の場合線が長すぎるように見えてしまいます。 .TP .B delimiter_factor .B left および .B right プリミティブにより生成される伸長性のあるデリミタは高さと深さを持ちます。 デリミタが括っている部分式が軸に対して最大限伸長する長さの -2000分の1を単位とするこのパラメータで表した値は、 +2000 分の 1 を単位とするこのパラメータで表した値は、 デリミタの高さと深さの最低値を与えます。 .TP .B delimiter_shortfall .B left および .B right プリミティブにより生成される伸長性のあるデリミタは高さと深さを持ちます。 デリミタが括っている部分式が軸に対して最大限伸長する長さの -2000分の1を単位とするこのパラメータで表した値は、 +2000 分の 1 を単位とするこのパラメータで表した値は、 デリミタの高さと深さの差の最低値となります。 .TP .B null_delimiter_space 分数の前後にこれだけの水平空白が挿入されます。 .TP .B script_space 下付き文字、上付き文字の幅がこれだけ増やされます。 .TP .B thin_space 句読点記号の後にこれだけの空白が自動的に挿入されます。 .TP .B medium_space -2項演算子の前後にこれだけの空白が自動的に挿入されます。 +2 項演算子の前後にこれだけの空白が自動的に挿入されます。 .TP .B thick_space 関係演算子の前後にこれだけの空白が自動的に挿入されます。 .TP .B x_height x のように上に突き出た部分の無いレターの高さ。 .TP .B axis_height \(pl や \(mi といった 文字のセンタ位置がベースラインに対してどれくらい高いかを表します。 使用しているフォントに対して適切な値を使用する事が重要です。 .TP .B default_rule_thickness .B \e(ru 文字の太さ、 .B \eD エスケープシーケンスにより生成される水平線の太さを指定します。 .TP .B num1 .B over コマンドは分子を最低この値だけ上に移動します。 .TP .B num2 .B smallover コマンドは分子を最低この値だけ上に移動します。 .TP .B denom1 .B over コマンドは分母を最低この値だけ下に移動します。 .TP .B denom2 .B smallover コマンドは分母を最低この値だけ下に移動します。 .TP .B sup1 通常上付き文字は最低この値だけ上に移動します。 .TP .B sup2 上付き文字中もしくは上限中の上付き文字、もしくは .B smallover における分子は、 最低この値だけ上に移動します。 この値は通常 sup1 より小さいです。 .TP .B sup3 分母中もしくは平方根中の上付き文字、もしくは下付き文字もしくは下限は、 最低この値だけ上に移動します。 通常 sup2 より小さいです。 .TP .B sub1 通常下付き文字は最低この値だけ下に移動します。 .TP .B sub2 下付き文字と上付き文字の両方がある場合、 下付き文字は最低この値だけ下に移動します。 .TP .B sup_drop 上付き文字のベースラインは、上付き文字がセットされるオブジェクトの上部 に対して、この値よりも下になることはありません。 .TP .B sub_drop 下付き文字のベースラインは、下付き文字がセットされるオブジェクトの下部 に対して、少なくともこの値よりも下になります。 .TP .B big_op_spacing1 上限のベースラインは、上限がセットされるオブジェクトの上部 に対して少なくともこの値よりも上になります。 .TP .B big_op_spacing2 下限のベースラインは、下限がセットされるオブジェクトの下部 に対して少なくともこの値よりも下になります。 .TP .B big_op_spacing3 上限の下部は、上限がセットされるオブジェクトの上部 に対して少なくともこの値よりも上になります。 .TP .B big_op_spacing4 下限の上部は、下限がセットされるオブジェクトの下部 に対して少なくともこの値よりも下になります。 .TP .B big_op_spacing5 これで指定される空白が上限上および下限下に付加されます。 .TP .B baseline_sep 列ベクトルまたは行列の各行のベースラインがどれだけ離れているかを指定します。 大抵の場合、この値は .B num1 と .BR denom1 の和に等しいです。 .TP .B shift_down 列ベクトルまたは行列の 一番上のベースラインおよび一番下のベースラインの中間点が、 軸からどれだけ下がっているかを指定します。 大抵の場合、この値は .BR axis_height に等しいです。 .TP .B column_sep 行列の列間に加えられる空白の長さを指定します。 .TP .B matrix_side_sep 行列の両端に加えられる空白の長さを指定します。 .TP .B draw_lines この値が非0の場合、線を引く場合に .B \eD エスケープシーケンスを使用し、 .B \el エスケープシーケンスと .B \e(ru 文字は使用しなくなります。 .TP .B body_height この値を式の高さが越えた分だけ、 当該式を含む行の前の空白に加えられます ( .BR \ex を使用します)。 デフォルト値は 85 です。 .TP .B body_depth この値を式の深さが越えた分だけ、 当該式を含む行の後の空白に加えられます ( .BR \ex を使用します)。 デフォルト値は 35 です。 .TP .B nroff この値が非 0 の場合には、 .B ndefine は .B define のように振舞い、 .B tdefine は無視されます。 この値が 0 の場合は .B tdefine は .B define のように振舞い、 .B ndefine は無視されます。 デフォルト値は 0 です (典型的には .B eqnrc ファイルによって、 .B ascii と .B latin1 デバイスの場合、この値は 1 に変更されます)。 .LP これらのパラメータの役割に関するより正確な記述は .IR The\ \*(txbook の Appendix H に記載されています。 .RE .SS マクロ マクロは引数を取ることができます。 -マクロが引数付きで呼ばれた場合、 -マクロボディでは、 +マクロが引数付きで呼ばれた場合、マクロボディでは、 .BI $ n ただし .I n は 1 から 9 は、 .IR n 番目の 引数に置き換えられます; 引数が .I n より少ない場合、無と置き換えられます。 左括弧を含む語で、左括弧より前の語の部分が .B define コマンドで定義されている語は、 引数付きのマクロ呼び出しとして認識されます; 左括弧に続く複数の文字は、対応する右括弧の範囲まで、 コンマで区切られた引数として扱われます; ネストした括弧内のコンマでは引数は区切られません。 .TP .BI sdefine\ name\ X\ anything\ X .B define コマンドに似ていますが、 引数付きで呼ばれた場合 .I name は認識されません。 .TP .BI include\ \(ts file \(ts .IR file の内容を組み込みます。 .I file 中の行で、 .B .EQ もしくは .B .EN で始まる行は無視されます。 .TP .BI ifdef\ name\ X\ anything\ X .I name が .B define で定義されている場合 (または .I name が出力デバイスであるために自動的に定義されている場合)、 .IR anything を処理します; そうでない場合は .IR anything を無視します。 .I X は .IR anything に含まれない文字であれば何でも構いません。 .SS フォント .B eqn は通常少なくとも 2 つのフォントを式のセットに使用します: すなわち、レターにはイタリックを、 その他にはローマンを使用します。 既存の .B gfont コマンドは、 イタリックフォントとして使用されるフォントを変更します。 デフォルト値は .BR I です。 ローマンフォントとして使用されるフォントは 新しい .B grfont コマンドで変更します。 .TP .BI grfont\ f ローマンフォントを .IR f に設定します。 .LP .B italic プリミティブは .BR gfont によってセットされた現在のイタリックフォントを使用します; .B roman プリミティブは .BR grfont によってセットされた現在のローマンフォントを使用します。 また .B gbfont コマンドという新しいコマンドもあり、 .B bold プリミティブで使用されるフォントを変更します。 式中でフォントを変更するのに .BR roman , .BR italic , .B bold プリミティブしか使用しない場合、 全ての式中のフォントを変更するのには .BR gfont , .BR grfont , .B gbfont コマンドを使用するだけで済みます。 .LP -どの文字をレター(イタリックでセットされるもの)として扱うのかを、 +どの文字をレター (イタリックでセットされるもの) として扱うのかを、 既に示した .B chartype コマンドで指定できます。 .B letter タイプは文字をイタリックタイプでセットされるようにします。 .B digit タイプは文字をローマンタイプでセットされるようにします、 .SH 関連ファイル .Tp \w'\fB/usr/share/tmac/eqnrc'u+2n .B /usr/share/tmac/eqnrc 初期化ファイル .SH バグ 文中に出現する式は、行の先頭での文字サイズに設定されます。 .SH 関連項目 .BR groff (1), .BR troff (1), .BR groff_font (5), .I The\ \*(txbook diff --git a/ja/man/man1/getopt.1 b/ja/man/man1/getopt.1 index 5159317c39..df7278260b 100644 --- a/ja/man/man1/getopt.1 +++ b/ja/man/man1/getopt.1 @@ -1,105 +1,130 @@ -.Dd June 21, 1993 .\" jpman %Id: getopt.1,v 1.3 1997/06/19 14:12:53 take Stab % +.Dd April 3, 1999 .Dt GETOPT 1 .Os .Sh 名称 .Nm getopt .Nd コマンドラインオプションの解釈を行う .Sh 書式 -.Nm set \-\- \`getopt Ar optstring $*\` +.Nm args=\`getopt Ar optstring $*\` +; errcode=$?; set \-\- $args .Sh 解説 .Nm getopt は、シェルプロシジャによって簡単に解釈できるようにコマンドライン上の オプションを切り分けます。そして、正しいオプションであるかを確かめます。 .Ar optstring は、認識されるオプション文字の文字列です ( .Xr getopt 3 -を参照 )。 +を参照)。 オプション文字のあとにコロン (``:'') がある場合、そのオプションは、 -( 空白文字で区切られているかもしれない ) 引数を持つことになります。 +(空白文字で区切られているかもしれない) 引数を持つことになります。 特別なオプション .Ql \-\- は、オプションの終りを区別するために使われます。 .Nm getopt は、オプションの最後に引数として .Ql \-\- を配置します。または、それが陽に使われた時はそれを終りと認識します。 シェル変数 (\fB$1 $2\fR ...) は、個々のオプションが .Ql \- に続くように再設定されます。そして、それ自身をシェル変数にします。 各オプション引数は、同様にそれ用のシェル変数に入れられます。 .Sh 使用例 以下のコードの断片は、 引数無しの .Fl a, .Fl b オプションと、 引数ありの .Fl o オプションを取ろうとしているコマンドのために、どのようにして 引数を処理するのかを示しています。 .Pp .Bd -literal -offset indent -set \-\- \`getopt abo: $*\` -if test $? != 0 +args=\`getopt abo: $*\` +# \`getopt abo: "$@"\` を使ってはなりません。 +# 以下の set コマンドとは異ったように、引き数を解釈してしまうためです。 +if [ $? != 0 ] then echo 'Usage: ...' exit 2 fi +set \-\- $args +# set コマンドを、バッククォートした getopt と共に、直接使用できません。 +# getopt の終了コードが set のもので隠されてしまうからです。 +# set の終了コードは 0 と定義されています。 for i do case "$i" in \-a|\-b) - flag=$i; shift;; + echo flag $i set; sflags="${i#-}$sflags"; + shift;; \-o) - oarg=$2; shift; shift;; + echo oarg is "'"$2"'"; oarg="$2"; shift; + shift;; \-\-) shift; break;; esac done +echo single-char flags: "'"$sflags"'" +echo oarg is "'"$oarg"'" .Ed .Pp -このコードは、以下の ( コマンド指定の ) 例のどれでも同じように +このコードは、以下の (コマンド指定の) 例のどれでも同じように 受け入れます。 .\"(訳注)「コマンド指定の」は、訳者が勝手に挿入している。 .\" 2.2.1R 対象(1997/04/27) Takeshi MUTOH .Pp .Bd -literal -offset indent cmd \-aoarg file file cmd \-a \-o arg file file cmd \-oarg -a file file cmd \-a \-oarg \-\- file file +.Pp .Ed .Sh 関連項目 .Xr sh 1 , .Xr getopt 3 .Sh 診断 .Nm getopt は、 .Ar optstring 中に含まれていないオプション文字に出会った時に、 -標準エラー出力にエラーメッセージを表示します。 +標準エラー出力にエラーメッセージを表示し、0 より大きな状態で終了します。 .Sh 歴史 -Bell Labs のマニュアルによると、 Henry Spencer によって書かれました。 +Bell Labs のマニュアルによると、Henry Spencer によって書かれました。 振舞いは、Bell Labs 版と同じであると信じています。 +使用例は +.Fx +バージョン 3.2 と 4.0 で変更しました。 .Sh バグ .Xr getopt 3 が持っているバグは、そのまま持っています。 .Pp 空白文字やシェルのメタキャラクタを含んだ引数は、一般に元のまま 残りません。 これは直すのは簡単に思われますが、そうではありません。 +.Nm getopt +や本マニュアルの使用例を直そうとする人は、 +.Fx +中のこのファイルの履歴を確認すべきです。 .Pp 不正なオプションに対するエラーメッセージは、 .Nm getopt を実行するシェルプロシジャから返すのではなく、 .Nm getopt から返されます。 これも直すのは困難です。 .Pp シェルオプションの値を分離すること無く、引数を指定するための .Nm set コマンドを使うためのとっても良い方法は、シェルのバージョンを 変えることです。 +.Pp +引き数を部分的に正しく解釈するために、 +各シェルスクリプトは +(前記使用例のような) 複雑なコードを持つ必要があります。 +より良い getopt 的ツールは、複雑な部分の大半をツールの中に移動し、 +クライアントのシェルスクリプトを単純にするものでしょう。 diff --git a/ja/man/man1/grodvi.1 b/ja/man/man1/grodvi.1 index 874ff2e4d6..68b9dfd5fe 100644 --- a/ja/man/man1/grodvi.1 +++ b/ja/man/man1/grodvi.1 @@ -1,175 +1,175 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: grodvi.1,v 1.2 1997/05/13 16:10:18 horikawa Stab % .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GRODVI 1 "7 September 1996" "Groff Version 1.10" +.TH GRODVI 1 "7 September 1996" "Groff Version 1.11" .SH 名称 grodvi \- groff の出力を TeX の dvi 形式に変換する .SH 書式 .B grodvi [ .B \-dv ] [ .BI \-w n ] [ .BI \-F dir ] [ .IR files \|.\|.\|. ] .SH 解説 .B grodvi は \*(tx のdvi形式を出力する .B groff のドライバで、通常 .BR groff\ \-Tdvi と実行されます。 これは .BR troff\ \-Tdvi を実行するので、マクロ .BR /usr/share/tmac/tmac.dvi も読み込まれますし、入力が .B eqn によって前処理されていれば .BR /usr/share/groff_font/devdvi/eqnchar も読み込まれます。 .LP .B grodvi によって生成された dvi ファイルは、正しく設計された どのような dvi ドライバででも表示できます。troff の基本的な 描画機能は、tpic バージョン 2 の特殊機能(special)を用いて実装されています。 dvi ドライバがこれらをサポートしていない場合は、 .B \eD コマンドは何も出力しません。 .LP troff のものに加え、描画コマンドとして次のものが利用可能です: .TP .BI \eD'R\ dh\ dv ' 現在の位置と、現在の位置 .RI +( dh , dv ) とを対角とする罫線(黒く塗りつぶした矩形)を描きます。描いた後の 現在位置は、対角点となります。これは dvi ファイル内に 罫線を出力するため、他の .B \eD コマンドと異なり、たとえドライバが tpic の特殊機能に対応して いなくとも印刷することができます。 .LP .BI \eX' anything ' という groff のコマンドは、 \*(tx で .BI \especial{ anything } と記述した時と同様の dvi ファイル中コマンドに変換されます。 .I anything に改行が入っていてはいけません。 .LP .B grodvi の用いるフォントファイルは、 .BR tfmtodit (1) によって tfm ファイルから作成できます。 フォント記述ファイルには以下のような追加情報が 含まれていなければなりません: .Tp \w'\fBinternalname'u+2n .BI internalname\ name .IR name は (拡張子 .B tfm を除いた) tfm ファイル名です。 .TP .BI checksum\ n .IR n は tfm ファイルのチェックサムです。 .TP .BI designsize\ n .IR n は tfm ファイルのデザインサイズです。 .LP これらは .B tfmtodit によって自動生成されます。 .LP .B troff では、エスケープシーケンス .B \eN で指定することによって、対応する位置にある tfm ファイル内の文字を参照できます。 このようにして tfm ファイルの全ての文字を参照可能です。 .SH オプション .TP .B \-d 描画コマンドを実現するのに tpic 特殊機能を使いません。 水平・垂直な直線は罫線で実現されますが、他の描画コマンドは 無視されます。 .TP .B \-v バージョン番号を表示します。 .TP .BI \-w n デフォルトの線の太さを M の横幅(em)の1000分の .I n にします。 .TP .BI \-F dir フォントやデバイス記述ファイルを .IB dir /devdvi というディレクトリから探すようにします。 .SH 関連ファイル .TP .B /usr/share/groff_font/devdvi/DESC デバイス記述ファイルです。 .TP .B /usr/share/groff_font/devdvi/ F .IR F というフォントに対する記述ファイルです。 .TP .B /usr/share/tmac/tmac.dvi .BR grodvi と共に使われるマクロです。 .SH バグ .B grodvi によって生成される dvi ファイルは、 \*(tx によって生成されるものとは解像度が異なっています(1インチにつき57816単位)。 このため、dvi ファイルに指定されている解像度を参照せずに \*(tx で使われている解像度を想定しているような、正しく設計されていない ドライバは、grodvi ではうまく動作しません。 .LP 箱状の表に対して .B -d オプションを使った場合、時に水平・垂直な直線が 1 ピクセル 突き出てしまうことがあります。これは \*(tx の指定する方法で 罫線の縦横の長さを丸めているためです。 .SH 関連項目 .BR tfmtodit (1), .BR groff (1), .BR troff (1), .BR eqn (1), .BR groff_out (5), .BR groff_font (5), .BR groff_char (7) diff --git a/ja/man/man1/groff.1 b/ja/man/man1/groff.1 index 82cae6ef00..67344a90c8 100644 --- a/ja/man/man1/groff.1 +++ b/ja/man/man1/groff.1 @@ -1,412 +1,415 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: groff.1,v 1.2 1997/05/13 16:13:14 horikawa Stab % .de TQ .br .ns .TP \\$1 .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GROFF 1 "8 September 1996" "Groff Version 1.10" +.TH GROFF 1 "18 March 1999" "Groff Version 1.11" .SH 名称 groff \- groff ドキュメントフォーマットシステムのフロントエンド .SH 書式 .B groff [ .B \-tpeszaivhblCENRSVXZ ] [ .BI \-w name ] [ .BI \-W name ] [ .BI \-m name ] [ .BI \-F dir ] [ .BI \-T dev ] [ .BI \-f fam ] [ .BI \-M dir ] [ .BI \-d cs ] [ .BI \-r cn ] [ .BI \-n num ] [ .BI \-o list ] [ .BI \-P arg ] [ .IR files \|.\|.\|.\| ] .SH 解説 .B groff は、groff ドキュメントフォーマットシステムのフロントエンドプログラムです。通常 .B groff は .B troff を実行し、その出力を指定されたデバイスで扱うための 後処理プログラムを実行します。利用可能なデバイスは以下のとおりです: .TP .B ps PostScript プリンタやプレビュア .TP .B dvi TeX の dvi フォーマット .TP .B X75 75 dpi の X11 プレビュア .TP .B X100 100 dpi の X11 プレビュア .TP .B ascii タイプライタに似た特性を持つデバイス .TP .B latin1 ISO Latin-1 文字集合を利用するタイプライタに似た特性を持つデバイス +.TP +.B lj4 +HP LaserJet4 互換 (または他の PCL5 互換) プリンタ .TP .B koi8-r ロシア語 KOI8-R 文字集合を利用するタイプライタに似た特性を持つデバイス .LP 指定されたデバイス用の後処理を行うプログラムは、デバイス記述ファイルの .B postpro コマンドにより指定されています。これは .B \-X オプションにより変更できます。 .LP デフォルトのデバイスは .B ps です。 .BR pic , .BR eqn , .BR tbl , .BR refer , .B soelim の任意の前処理を行わせることもできます。 .LP 引数を伴わないオプションは .B \- のあとにまとめて続けることができます。 ファイル名のかわりに用いられる .B \- は標準入力を意味します。 .LP .B grog コマンドを用いてドキュメントを正しくフォーマットするための .B groff コマンドを調べることができます。 .SH オプション .TP .B \-h ヘルプメッセージを表示します。 .TP .B \-e .B eqn を使って前処理を行います。 .TP .B \-t .B tbl を使って前処理を行います。 .TP .B \-p .B pic を使って前処理を行います。 .TP .B \-s .B soelim を使って前処理を行います。 .TP .B \-R .B refer を使って前処理を行います。 .B refer に引数を渡す機構は用意されていません。 .B refer のほとんどのオプションは、ファイル中に記述することができる等価なコマンドを 備えているからです。詳しくは .BR refer (1) のマニュアルを参照してください。 .TP .B \-v .B groff から起動されるプログラムのバージョン番号を表示します。 .TP .B \-V 実行しないで、 .B groff で実行される処理内容を標準出力に表示します。 .TP .B \-z .B troff からの出力を捨てます。エラーメッセージのみが表示されます。 .TP .B \-Z .B troff からの出力を後処理しません。通常 .B groff は、自動的に適当な後処理プログラムを起動します。 .TP .BI \-P arg 後処理プログラムに .I arg を引数として渡します。別々の引数は別々の .B \-P オプションで指定する必要があります。 .B groff は、 .I arg の前に .B \- をつけてコマンドに渡したりしないことに注意してください。 .TP .B \-l プリンタへ出力します。印字出力に用いられるコマンドは、デバイス 記述ファイルの .B print コマンドによって指定されます。 .TP .BI \-L arg .I arg をプリンタスプーラプログラムに渡します。別々の引数は、別々の .B \-L オプションで指定する必要があります。 .B groff は、 .I arg の前に .B \- をつけてコマンドに渡したりしないことに注意してください。 .TP .BI \-T dev デバイス .I dev 用に出力します。デフォルトのデバイスは .B ps です。 .TP .B \-X 通常の後処理プログラムのかわりに、 .B gxditview を起動してプレビューします。 .B groff は .B gxditview に .B -printCommand オプションを渡します。このオプションは .B groff に .B -l オプション指定時に実行される .B Print アクションを実行させます。 .B \-Tps 以外が指定されている場合は、よい結果が得られません。 .TP .B \-N .B eqn の区切り文字間に改行が入ることを禁止します。 .B eqn の .B \-N オプションと同様です。 .TP .B \-S より安全なモード。 .B \-S オプションを .B pic に渡し、 .B troff にて .B \%\-msafer マクロを使用します。 .TP .B \-a .TQ .B \-b .TQ .B \-i .TQ .B \-C .TQ .B \-E .TQ .BI \-w name .TQ .BI \-W name .TQ .BI \-m name .TQ .BI \-o list .TQ .BI \-d cs .TQ .BI \-r cn .TQ .BI \-F dir .TQ .BI \-M dir .TQ .BI \-f fam .TQ .BI \-n num これらのオプションの詳細は、 .BR troff (1) に記述してあります。 .SH 環境変数 .TP .SM .B GROFF_COMMAND_PREFIX もしこの変数が .I X に設定されていると、 .B groff は .B troff のかわりに .IB X troff を起動します。これは、 .BR tbl , .BR pic , .BR eqn , .BR refer , .B soelim にも同様に影響します。 .BR gropos , .BR grodvi , .BR grotty , .B gxditview には影響しません。 .TP .SM .B GROFF_TMAC_PATH マクロファイルを検索すべきディレクトリのリスト(リストの区切りはコロンです) .TP .SM .B GROFF_TYPESETTER デフォルトのデバイス .TP .SM .B GROFF_FONT_PATH .BI dev name という名前のディレクトリを検索するディレクトリのリスト(リストの区切りはコロンです) .TP .SM .B PATH .B groff から起動されるプログラムが存在するパス .TP .SM .B GROFF_TMPDIR 一時的なファイルが作成されるディレクトリ。もし、 .SM GRROFF_TMPDIR が設定さ れておらず、 .B .SM TMPDIR が設定されているなら、 .SM TMPDIR で示されるディレクトリ に一時ファイルが生成されます。さもなければ、一時ファイルは .B /tmp に作られます。 .BR grops (1) と .BR refer (1) が一時ファイルを作成する可能性があります。 .SH 関連ファイル .Tp \w'\fB/usr/share/groff_font/dev\fIname\fB/DESC'u+3n .BI /usr/share/groff_font/dev name /DESC デバイス .IR name のデバイス記述ファイル .TP .BI /usr/share/groff_font/dev name / F デバイス .I name のためのフォント .I F を記述したフォントファイル .SH 作者 James Clark .SH バグ バグレポートは、bug-groff@prep.ai.mit.edu. までお願いします。 レポートの際にはバグを再現できる完全な例題を添付し、あなたの利 用している groff のバージョンを添えて下さい。 .SH COPYRIGHT Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. .LP groff はフリーソフトウェアです。Free Software Foundation から 出版されている the GNU General Public License の ver 2.0 かそ れ以降に基づく限り再配布したり、変更することが可能です。 .LP groff は使い易いツールとして配布されることを望まれていますが、 どのような保証もありません。それが商業的であってもある特定の目 的に対するだけであっても保証はありません。詳しくは GNU の General Public License を参照して下さい。 .LP あなた は groff のコピーを GNU General Public License と共に受 けとっているはずです。その COPYING を参照して下さい。そうでな い場合には、 Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA まで御連絡下さい。 .SH 入手性 最新の groff はたいてい prep.ai.mit.edu の pub/gnu ディレクト リに置かれており、anonymous ftp で入手できます。 .SH 関連項目 .\" .BR grog (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1), .BR soelim (1) , .BR refer (1), .BR grops (1), .BR grodvi (1), .BR grotty (1), .\" .BR gxditview (1), .BR groff_font (5), .BR groff_out (5), .BR groff_ms (7), .BR me (7), .BR groff_char (7), .BR msafer (7) diff --git a/ja/man/man1/grolj4.1 b/ja/man/man1/grolj4.1 index 35a7b7f4a9..b26a0381a6 100644 --- a/ja/man/man1/grolj4.1 +++ b/ja/man/man1/grolj4.1 @@ -1,111 +1,111 @@ .ig \"-*- nroff -*- Copyright (C) 1994, 1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: grolj4.1,v 1.3 1997/10/28 10:11:56 ryo2 Stab % .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GROLJ4 1 "7 September 1996" "Groff Version 1.10" +.TH GROLJ4 1 "7 September 1996" "Groff Version 1.11" .SH 名称 grolj4 \- HP Laserjet 4 ファミリ用 groff ドライバ .SH 書式 .B grolj4 [ .B \-lv ] [ .BI \-c n ] [ .BI \-p paper_size ] [ .BI \-w n ] [ .BI \-F dir ] [ .IR files \|.\|.\|. ] .SH 解説 .B grolj4 は .B groff のドライバであり、HP Laserjet 4 プリンタに適した PCL5 フォーマットの出力 を生成します。 .LP troff のものに加え、描画コマンドとして次のものが利用可能です: .TP .BI \eD'R\ dh\ dv ' 現在の位置と、現在の位置 .RI +( dh , dv ) とを対角とする罫線(黒く塗りつぶした矩形)を描きます。描いた後の 現在位置は、対角点となります。 これは PCL の矩形塗りつぶしコマンドを生成します。 他デバイスの .B \eD コマンドと異なり HPGL/2 をサポートしないプリンタ上で動作します。 .SH オプション .TP .BI \-c n 各ページを .I n 回印刷します。 .TP .B \-l ランドスケープにて文書を印刷します。 .TP .BI \-p size 用紙サイズを .I size にします。これは letter, legal, executive, a4, com10, monarch, c5, b5, dl のいずれかである 必要があります。 .TP .B \-v バージョン番号を表示します。 .TP .BI \-w n デフォルトの線の太さを M の横幅 (em)の1000 分の .I n にします。 .TP .BI \-F dir フォントやデバイス記述ファイルを .IB dir /devlj4 というディレクトリから探すようにします。 .SH 関連ファイル .TP .B /usr/share/groff_font/devlj4/DESC デバイス記述ファイルです。 .TP .B /usr/share/groff_font/devlj4/ F .I F というフォントに対する記述ファイルです。 .TP .B /usr/share/tmac/tmac.lj4 .B grolj4 と共に使われるマクロです。 .SH バグ 些細なものです。 .SH 関連項目 .BR groff (1), .BR troff (1), .BR eqn (1), .BR groff_out (5), .BR groff_font (5), .BR groff_char (7), diff --git a/ja/man/man1/grops.1 b/ja/man/man1/grops.1 index ac49f523ad..74420bb4e1 100644 --- a/ja/man/man1/grops.1 +++ b/ja/man/man1/grops.1 @@ -1,796 +1,796 @@ .\" jpman %Id: grops.1,v 1.2 1997/06/15 11:25:35 horikawa Stab % .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GROPS 1 "8 September 1996" "Groff Version 1.10" +.TH GROPS 1 "8 September 1996" "Groff Version 1.11" .SH 名称 grops \- groff 用 PostScript ドライバ .SH 書式 .B grops [ .B \-glmv ] [ .BI \-b n ] [ .BI \-c n ] [ .BI \-w n ] [ .BI \-F dir ] [ .IR files \|.\|.\|. ] .SH 解説 .B grops は GNU .B troff の出力を PostScript に変換します。 通常 .B grops は groff コマンドを .B \-Tps オプション付きで起動した時に起動されます。 .if 'ps'ps' (groff のデフォルトです。) ファイルを指定しないと、 .B grops は標準入力を読みます。 ファイル名 .B \- を指定しても、 .B grops は標準入力を読みます。 PostScript 出力は標準出力に書きます。 .B grops を .B groff から起動する場合、 .B groff .B \-P により、オプションを .B grops に渡せます。 .SH オプション .TP .BI \-b n 不良なスプーラとプレビュアのための対処をします。 通常、 .B grops は Document Structuring Conventions version 3.0 を満たす出力を生成します。 値 .I n は、不良プログラムが受理可能な出力を .B grops が行うように制御します。 値 0 は grops に何も対処しないようにさせます。 .B %%BeginDocumentSetup と .B %%EndDocumentSetup のコメントを生成してはならない場合 1 を加えます; 初期バージョンの TranScript は .B %%EndProlog コメントと最初の .B %%Page コメントとの間で混乱させられましたので、これが必要です。 インクルードされたファイルで .B %! から始まる行を取り除かねばならない時には 2 を加えます; Sun の pageview プレビュアで必要です。 インクルードされたファイルから .BR %%Page , .BR %%Trailer , .B %%EndProlog コメントを取り除かねばならない時には 4 を加えます; .B %%BeginDocument と .B %%EndDocument のコメントを理解しないスプーラに対して必要です。 PostScript 出力の最初の行が .B %!PS-Adobe-3.0 ではなく .B %!PS-Adobe-2.0 でなければならない時には 8 を加えます; Sun の Newsprint をページ逆順を要求するプリンタと共に使用する時に必要です。 デフォルト値は .RS .IP .BI broken\ n .LP コマンドを DESC ファイルに記述することで指定可能です。 そうでない場合はデフォルト値は 0 です。 .RE .TP .BI \-c n 各ページを .I n 部ずつ印刷します。 .TP .BI \-g ページ長を予測します。 ページ長を予測する PostScript コードを生成します。 イメージ領域が垂直位置でページの中心に有る時のみ、予測は正しいはずです。 このオプションにより、変更無しで letter (8.5\(mu11) と A4 の両方に印刷可能な文書を生成可能です。 .TP .B \-l 文書をランドスケープ形式にて印刷します。 .TP .B \-m 文書に対し手動フィードを有効にします。 .TP .BI \-F dir ディレクトリ .IB dir /dev name からフォントとデバイス記述ファイルを探します; .I name はデバイス名であり、通常 .B ps です。 .TP .BI \-w n 線の太さを M の横幅 (em) の 1000 分の .I n にて描画します。 .TP .B \-v バージョン番号を表示します。 .SH 使用法 .BR R , .BR I , .BR B , .B BI と呼ばれるスタイルがフォント位置 1 から 4 までにマウントされます。 フォントはファミリ .BR A , .BR BM , .BR C , .BR H , .BR HN , .BR N , .BR P , .B T にまとめられ、これらのスタイル中にメンバを持ちます: .de FT .if '\\*(.T'ps' .ft \\$1 .. .TP .B AR .FT AR AvantGarde-Book .FT .TP .B AI .FT AI AvantGarde-BookOblique .FT .TP .B AB .FT AB AvantGarde-Demi .FT .TP .B ABI .FT ABI AvantGarde-DemiOblique .FT .TP .B BMR .FT BMR Bookman-Light .FT .TP .B BMI .FT BMI Bookman-LightItalic .FT .TP .B BMB .FT BMB Bookman-Demi .FT .TP .B BMBI .FT BMBI Bookman-DemiItalic .FT .TP .B CR .FT CR Courier .FT .TP .B CI .FT CI Courier-Oblique .FT .TP .B CB .FT CB Courier-Bold .FT .TP .B CBI .FT CBI Courier-BoldOblique .FT .TP .B HR .FT HR Helvetica .FT .TP .B HI .FT HI Helvetica-Oblique .FT .TP .B HB .FT HB Helvetica-Bold .FT .TP .B HBI .FT HBI Helvetica-BoldOblique .FT .TP .B HNR .FT HNR Helvetica-Narrow .FT .TP .B HNI .FT HNI Helvetica-Narrow-Oblique .FT .TP .B HNB .FT HNB Helvetica-Narrow-Bold .FT .TP .B HNBI .FT HNBI Helvetica-Narrow-BoldOblique .FT .TP .B NR .FT NR NewCenturySchlbk-Roman .FT .TP .B NI .FT NI NewCenturySchlbk-Italic .FT .TP .B NB .FT NB NewCenturySchlbk-Bold .FT .TP .B NBI .FT NBI NewCenturySchlbk-BoldItalic .FT .TP .B PR .FT PR Palatino-Roman .FT .TP .B PI .FT PI Palatino-Italic .FT .TP .B PB .FT PB Palatino-Bold .FT .TP .B PBI .FT PBI Palatino-BoldItalic .FT .TP .B TR .FT TR Times-Roman .FT .TP .B TI .FT TI Times-Italic .FT .TP .B TB .FT TB Times-Bold .FT .TP .B TBI .FT TBI Times-BoldItalic .FT .LP ファミリのメンバではない以下のフォントもあります: .TP .B ZCMI .FT ZCMI ZapfChancery-MediumItalic .FT .LP .B SS および .B S と呼ばれる特別なフォントも有ります。 Zapf Dingbats は .BR ZD として、逆バージョンの ZapfDingbats (シンボルが逆向き) は .B ZDR として使用可能です; これらのフォントのほとんどの文字は名前が無いので、 .B \eN にてアクセスせねばなりません。 .LP .B grops は .B \eX エスケープシーケンスにより生成された様々な X コマンドを理解します; .B grops は .B ps: タグから始まるコマンドのみを翻訳します: .TP .BI \eX'ps:\ exec\ code ' .I code 中の任意の PostScript コマンドを実行します。 .I code 実行前に PostScript の現在位置は .B \eX の位置に設定されます。 原点はページの左上になり、y 座標はページを下ると増加します。 プロシジャ .B u は、groff の単位を有効な座標系のものに変更するように定義されます。 例えば、 .RS .IP .B \&.nr x 1i .br .B \eX'ps: exec \enx u 0 rlineto stroke' .br .RE .IP は 1 インチ長の水平線を描画します。 .I code はグラフィックステートを変更し得ますが、ページの終端までしか継続しません。 .B def と .B mdef により指定される定義を含む辞書は、辞書スタックの頭に有るでしょう。 あなたのコードがこの辞書に定義を付加するなら、 .BI \eX'ps\ mdef \ n '\fR を使用して、そのための空間を割り当てる必要が有ります。 定義はページの終りまでしか継続しません。 .B \eY エスケープシーケンスをマクロを名付ける引数と共に使うと、 .I code を複数行に渡らせることが出来ます。 例えば、 .RS .IP .nf .ft B \&.nr x 1i \&.de y \&ps: exec \&\enx u 0 rlineto \&stroke \&.. \&\eYy .fi .ft R .LP は 1 インチ長の水平線を描画する別の方法です。 .RE .TP .BI \eX'ps:\ file\ name ' .B exec コマンドと同様ですが、コードをファイル .I name から読みます。 .TP .BI \eX'ps:\ def\ code ' .I code の PostScript 定義をプロログ部に置きます。 .B \eX コマンドに対し最大 1 定義までです。 長い定義は複数の .B \eX コマンドに渡り分割できます; 全ての .I code 引数は、改行で区切られ、単純に連結されます。 定義は、 .B exec コマンド実行時に辞書スタックに自動的にプッシュされる辞書に置かれます。 .B \eY エスケープシーケンスをマクロを名付ける引数と共に使うと、 .I code を複数行に渡らせることが出来ます。 .TP .BI \eX'ps:\ mdef\ n\ code ' .B def と同様ですが、 .I code は .I n 個まで定義を保持し得ます。 .B grops は何個の定義を .I code が含むのかを知る必要が有るので、これらを含む適切な大きさの PostScript 辞書 を生成できます。 .TP .BI \eX'ps:\ import\ file\ llx\ lly\ urx\ ury\ width\ \fR[\fP\ height\ \fR]\fP ' PostScript グラフィックスを .I file からインポートします。 引数 .IR llx , .IR lly , .IR urx , .I ury は、デフォルトの PostScript 座標系における グラフィックのバウンディングボックスを与えます; すべて整数である必要が有ります; .I llx と .I lly はグラフィックの左下の x y 座標です; .I urx と .I ury はグラフィックの右上の x y 座標です; .I width と .I height は整数であり、groff の単位でグラフィックの幅と高さを与えます。 グラフィックは延び縮みして、この幅と高さになり、 グラフィックの左下角は .B \eX コマンドにて関連づけられた場所に位置します。 引数 height を省略すると、x y 方向が同等に縮尺され、 指定した幅になります。 .B \eX コマンドの内容は .B troff が解釈しないことに注意して下さい; グラフィックのための垂直方向の空白は自動的に付加されず、 .I width と .I height の引数にスケーリングインジケータを付加することは許されません。 PostScript ファイルが Adobe Document Structuring Conventions から成り、 .B %%BoundingBox コメントを含む場合、 .B sy リクエストによる .B psbb コマンド実行により、groff 中でバウンディングボックスを自動的に取得可能です。 .RS .LP .B \-mps マクロ ( .B grops が groff コマンドから起動された時には自動的にロードされます) は、 画像を容易にインポート出来るようにする .B PSPIC マクロをインクルードします。 フォーマットは以下です。 .IP \&\fB.PSPIC\fP [ \fB\-L\fP | \fB-R\fP | \fB\-I\fP \fIn\fP ]\ \" \fI\|file\fP [ \fIwidth\fP [ \fIheight\fP ]] .LP .I file は画像を含むファイル名; .I width と .I height は要求する画像の横幅と高さです。 引数 .I width と .I height にはスケーリングインジケータを付けても構いません; デフォルトのスケーリングインジケータは .B i です。 このマクロは、 画像の幅が .I width 以下および 画像の高さが .I height 以下の範囲において、画像を x y 方向同等で縮尺します。 デフォルトで、画像は水平的に中心に置かれます。 .BI \-L および .BI \-R はそれぞれ画像を左寄せおよび右寄せします。 .B \-I オプションは、画像を .I n だけインデントします。 .RE .TP .B \eX'ps:\ invis' .br .ns .TP .B \eX'ps:\ endinvis' これらの .B \eX コマンドにて囲まれたテキストと描画コマンドは出力を生成しません。 このコマンドは、 .B troff の出力を .B grops で処理する前に見るために有ります; プレビュアがある文字または構造を表示できない時、 これらの .B \eX コマンドで囲むことにより、 代わりの文字または構造をプレビュー用に使えます。 .RS .LP 例えば、標準の X11 フォントには含まれませんので、 .B gxditview は .B \e(em 文字を正しく表示できません; この問題は以下のリクエストを実行することにより解決できます。 .IP .ft B .nf \&.char \e(em \eX'ps: invis'\e \eZ'\ev'-.25m'\eh'.05m'\eD'l .9m 0'\eh'.05m''\e \eX'ps: endinvis'\e(em .ft .fi .LP この場合、 .B gxditview は .B \e(em 文字を表示できず線を引きますが、 .B grops は .B \e(em 文字を印刷し線を無視します。 .RE .LP .B grops への入力は .B troff (1) の出力形式である必要が有ります。 これは .B groff_out (5) に記載してあります。 また、使用するデバイスに関するデバイス及びフォントの記述ファイルは 仕様に合致する必要が有ります。 .B ps デバイスに対して提供されているデバイス及びフォントの記述ファイルは 完全にこの仕様に合致します。 .BR afmtodit (1) を使って AFM ファイルからフォントファイルを生成可能です。 解像度は、整数値かつ .B sizescale の 72 倍の倍数である必要が有ります。 .B ps デバイスは解像度 72000 および sizescale 1000 を使用します。 デバイス記述ファイルはコマンド .IP .BI paperlength\ n .LP を含む必要が有ります。これは生成される出力が、ページ長 .I n マシン単位に適していることを意味します。 各フォント記述ファイルはコマンド .IP .BI internalname\ psname .LP を含む必要が有ります。これは PostScript におけるフォント名が .I psname であることを意味します。 また、コマンド .IP .BI encoding\ enc_file .LP を含む場合も有ります。これは PostScript フォントが .I enc_file に記載されたエンコード方式で再度エンコードする必要が有ることを意味します; このファイルは以下の形式の行のシーケンスから成ります: .IP .I pschar code .LP ここで .I pschar は PostScript における文字名であり、 .I code はエンコードにおける位置を 10 進整数で表したものです。 フォントファイルにおいて与えられる各文字のコードは、 エンコードファイルにおける文字のコードに対応するか、 もしくは PostScript フォントが再度エンコードされていない場合は デフォルトエンコードにおけるコードに対応する必要が有ります。 このコードを .B \eN エスケープシーケンスと共に .B troff 中で使うことにより文字を選択可能です。 これは、文字が groff での名前を持たなくても可能です。 フォントファイル中の全ての文字は PostScript フォント中に存在することが 必要であり、 フォントファイル中で与えられる幅は PostScript フォントで使用される幅に マッチする必要が有ります。 .B grops は、groff における名前が .B space である文字をブランク (ページ上に何も印を付けない) であるとしています; これにより、効率の良い小さな PostScript 出力が得られます。 .LP .B grops は文書印刷に必要なダウンロード可能なフォントを自動的にインクルードします。 要求時に .B grops にインクルードされるダウンロード可能な全てのフォントは .B /usr/share/groff_font/devps/download に列挙する必要が有ります; これは以下の形式の複数の行から成ります。 .IP .I font filename .LP ここで .I font はフォントの PostScript における名前であり、 .I filename はフォントを含むファイルの名前です; .B # から始まる行と空行は無視されます; フィールドはタブもしくは空白により区切ります; .I filename の検索は、groff のフォントメトリックファイルの検索と同じ方式で行われます。 .B download ファイル自身も同じ方式で検索されます。 .LP ダウンロード可能なフォントもしくはインポートされた文書を含むファイルが Adobe Document Structuring Conventions を満たす場合、 .B grops はファイル中のコメントを十分解釈し、出力もこれを満たすようにします。 また、 .B download ファイルに列挙された必要なフォントリソースおよびファイルリソースを提供します。 また、リソース間の依存関係を扱うことも可能です。 例えば、ダウンロード可能な Garamond フォントおよび ダウンロード可能な Garamond-Outline フォントが有り、 後者が前者に依存すると仮定すると (概して、後者は前者のフォント辞書をコピーして PaintType を変更したものと 定義されます)、PostScript 文書中で Garamond が Garamond-Outline より前に 現れる必要が有ります。 .B grops がこれを自動的に扱うためには、 Garamond-Outline 用のダウンロード可能なフォントファイルが Garamond に依存することを Document Structuring Conventions を使用して示します。 例えば以下のように始めることで示します。 .IP .B %!PS-Adobe-3.0 Resource-Font .br .B %%DocumentNeededResources: font Garamond .br .B %%EndComments .br .B %%IncludeResource: font Garamond .LP この場合、Garamond と Garamond-Outline を .B download ファイルに列挙する必要が有ります。 ダウンロード可能なフォントは、自身の名前を .B %%DocumentSuppliedResources コメントに含んではなりません。 .LP .B grops は .B %%DocumentFonts コメントを解釈しません。 .BR %%DocumentNeededResources , .BR %%DocumentSuppliedResources , .BR %%IncludeResource , .BR %%BeginResource , .BR %%EndResource コメント (もしくは古い .BR %%DocumentNeededFonts , .BR %%DocumentSuppliedFonts , .BR %%IncludeFont , .BR %%BeginFont , .BR %%EndFont コメント) は使用されます。 .SH 関連ファイル .Tp \w'\fB/usr/share/groff_font/devps/download'u+2n .B /usr/share/groff_font/devps/DESC デバイス記述ファイル。 .TP .BI /usr/share/groff_font/devps/ F フォント .I F のフォント記述ファイル。 .TP .B /usr/share/groff_font/devps/download ダウンロード可能なフォントのリスト。 .TP .B /usr/share/groff_font/devps/text.enc テキストフォント用のエンコード方法。 .TP .B /usr/share/tmac/tmac.ps .B grops が使用するマクロ; .B troffrc により自動的にロードされます。 .TP .B /usr/share/tmac/tmac.pspic .B PSPIC マクロの定義。 .B tmac.ps から自動的にロードされます。 .TP .B /usr/share/tmac/tmac.psold 古い PostScript プリンタには存在しない文字の使用を禁止するマクロ; .B tmac.ps から自動的にロードされます。 .TP .B /usr/share/tmac/tmac.psnew .B tmac.psold の効果を打ち消すマクロ。 .TP .BI /tmp/grops XXXXXX 一時ファイル。 .SH "関連項目" .\" .BR afmtodit (1), .BR groff (1), .BR troff (1), .BR psbb (1), .BR groff_out (5), .BR groff_font (5), .BR groff_char (7) diff --git a/ja/man/man1/grotty.1 b/ja/man/man1/grotty.1 index 24b7cb966a..d2f1dc9c67 100644 --- a/ja/man/man1/grotty.1 +++ b/ja/man/man1/grotty.1 @@ -1,198 +1,198 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: grotty.1,v 1.2 1997/05/13 16:15:38 horikawa Stab % -.TH GROTTY 1 "8 September 1996" "Groff Version 1.10" +.TH GROTTY 1 "8 September 1996" "Groff Version 1.11" .SH 名称 grotty \- タイプライタ型デバイスのための groff ドライバ .SH 書式 .B grotty [ .B \-hfbuodBUv ] [ .BI \-F dir ] [ .IR files \|.\|.\|. ] .SH 解説 .B grotty は、GNU .B troff の出力をタイプライタ型デバイスのために変換します。通常 .B grotty は、 .B groff に .BR \-Tascii , .BR \-Tkoi8-r , .B \-Tlatin1 のいずれかのオプションを指定することにより起動されます。 ファイル名を指定しない場合は標準入力を読み込みます。 ファイル名として .B \- を指定した場合も標準入力を読み込みます。 出力は標準出力に書き出されます。 .LP 通常 .B grotty は、ボールド文字 .I c を .RI ` c .SM BACKSPACE .IR c ' というシーケンスで、 イタリック文字 .I c を .RB ` _ .SM BACKSPACE .IR c ' というシーケンスで出力します。 これらのシーケンスは、 .BR ul (1) を通すことにより、端末で表示することができるようになります。 .BR more (1) や .BR less (1) のようなページャも、これらのシーケンスを表示することができます。 .BR less (1) を使って表示する場合は .B \-B または .B \-U オプションを、 .BR more (1) を使って表示する場合は .B \-b オプションを使用してください。 .B grotty は逆改行を出力しないので、 .BR col (1) を通す必要はありません。 .LP フォント記述ファイルには、以下のコマンドを含めることができます。 .IP .BI internalname\ n .LP ここで、 .I n は 10 進数の整数です。もし .I n の 01 ビットがセットされているなら、そのフォントは イタリックフォントとして扱われます。 02 ビットがセットされているなら、ボールドフォントとして扱われます。 フォント記述のコードフィールドは、出力時に用いられる文字を指定します。 このコードは、 .B troff の .B \eN エスケープシーケンスでも使用されます。 .SH オプション .TP .BI \-F dir フォントとデバイス記述ファイルを .IB dir /dev name ディレクトリから探します。 .I name はデバイス名で、通常は .BR ascii , .BR koi8-r , .B latin1 のいずれかです。 .TP .B \-h 出力に水平タブを使用します。水平タブは 8 桁ごとに設定されているものとします。 .TP .B \-f フォームフィードを使用します。 最終行に出力するものがないページの最後にフォームフィードが出力されます。 .TP .B \-b ボールド文字を出力するのに二重打ちを使わないようにします。 .TP .B \-u イタリック文字を出力するのにアンダーラインを使用しないようにします。 .TP .B \-B ボールドイタリック文字をただの二重打ちで出力します。 .TP .B \-U ボールドイタリック文字をただのアンダーラインで出力します。 .TP .B \-o ボールドとアンダーライン以外に二重打ちを用いないようにします。 .TP .B \-d すべての .B \eD コマンドを無視します。このオプションを指定しないと、 .B grotty は .B \eD'l\|.\|.\|.' コマンドのうち引数のどちらかが 0 (すなわち水平あるいは垂直線の描画) であるものを、文字 .BR \- , .BR \&| , .B \&+ を用いて描画します。 .TP .B \-v バージョン番号を表示します。 .SH 関連ファイル .TP .B /usr/share/groff_font/dev\fIname\fB/DESC .B name デバイス記述ファイル .TP .B /usr/share/groff_font/dev\fIname\fB/F .B name デバイスにおけるフォント .I F 用のフォント記述ファイル .TP .B /usr/share/tmac/tmac.tty .B grotty で用いるマクロ .TP .B /usr/share/tmac/tmac.tty-char そのままでは .B grotty に表示できない文字の表示方法の定義 .SH バグ .LP .B grotty は、単純なドキュメントの作成を意図して作られています。 .LP 水平や鉛直方向への小さな移動 (半改行など、1文字、1行より小さな位置決め) を サポートしていません。 .LP 水平線、鉛直線以外の .B \eD コマンドはサポートされていません。 .LP 1 行目よりも上に位置する文字(すなわち垂直方向の座標が 0 である文字)は 出力されません。 .SH 関連項目 .BR groff (1), .BR troff (1), .BR groff_out (5), .BR groff_font (5), .BR groff_char (7), .BR ul (1), .BR more (1) diff --git a/ja/man/man1/indxbib.1 b/ja/man/man1/indxbib.1 index d55ede48e3..6975cf73ac 100644 --- a/ja/man/man1/indxbib.1 +++ b/ja/man/man1/indxbib.1 @@ -1,204 +1,204 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: indxbib.1,v 1.2 1997/03/29 04:27:19 horikawa Stab % -.TH INDXBIB 1 "7 September 1996" "Groff Version 1.10" +.TH INDXBIB 1 "7 September 1996" "Groff Version 1.11" .SH 名称 indxbib \- 文献目録データベース用の逆引きインデックスの作成 .SH 書式 .nr a \n(.j .ad l .nr i \n(.i .in +\w'\fBindxbib 'u .ti \niu .B indxbib .de OP .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" .el .RB "[\ " "\\$1" "\ ]" .. .OP \-vw .OP \-c file .OP \-d dir .OP \-f file .OP \-h n .OP \-i string .OP \-k n .OP \-l n .OP \-n n .OP \-o file .OP \-t n .RI [\ filename \|.\|.\|.\ ] .ad \na .SH 解説 .B indxbib は、 .IR filename \|.\|.\|. で指定される文献目録データベースの逆引きインデックスを作成します。逆引きインデックスは .BR refer (1) 、 .BR lookbib (1) 、 .BR lkbib (1) で利用されます。このインデックスのファイル名は .IB filename .i となります(インデックスはいったんテンポラリファイルに書き込まれ、この 名前にリネームされます)。 .B \-f オプションを使い、また .B \-o オプションの指定もファイル名の指定もしなかった場合には、インデックスファイルは .BR Ind.i という名前となります。 .LP 文献目録データベースは、空行によってレコードに分けられています。 レコード内では、各フィールドは、行頭にある .B % の文字で始まります。フィールドは、 .B % に続いた一文字の名前を持ちます。 .LP .BR \-c 、 .BR \-n 、 .BR \-l 、および .B \-t のオプションによって指定された値は、インデックスの中に格納されます。 インデックスを検索する時には、ユーザが指定する検索キーは、これらのオプションに 従って、捨てられたり切りつめられてしまいます。 しかし、インデックスを検索して見付かったレコードが、実際にユーザが指定した検索キーを 含んでいる、ということを確かめる場合には、検索キーには そのような修正は行われません。 これは、 ユーザが指定した検索キーのうち少なくとも1つが (-l オプション等によって捨てられることなく) インデックスに登録されており、 かつ検索キーのうちの少なくとも(-t オプションによって)切りつめられた部分を インデックスのユーザが指定できるならば、 これらのオプションがインデックス作成時に使われたかどうか、ユーザは気にする必要が ない、ということを意味します。 .B \-i オプションによって指定された値もインデックス内に保存され、 インデックスを使った検索に適合するレコードがキーに適合するか否かを検証する時に使用します。 .\" うーんこんな訳でいいのかなぁ...ちょっと自信なし... .SH オプション .TP .B \-v バージョン番号を表示します。 .TP .B \-w ファイル全体に対してインデックスを作成します。 各々のファイルが、別々のレコードとなります。 .TP .BI \-c file .BR /usr/share/dict/eign の代わりに、 .I file から共通語の一覧を読み込みます。 .TP .BI \-d dir インデックスに格納する現在の作業ディレクトリのパスとして .BR pwd (1) で表示されるパスの代わりに .I dir を使います。 通常、 .I dir は BR pwd (1) で表示されるディレクトリを差すシンボリックリンクとします。 .TP .BI \-f file インデックスを作るファイルを .IR file から読み込みます。 .I file が .BR \- の場合には、ファイルは標準入力から読み込まれます。 .B \-f オプションは1つまでしか使用できません。 .TP .BI \-i string フィールド名が .IR string に含まれているフィールドの内容についてのインデックスは作成しません。 .I string の初期値は .BR XYZ です。 .TP .BI \-h n ハッシュテーブルのサイズとして .I n 以上の素数を用います。 .I n を大きくすると検索は速くなりますが、インデックスは大きくなり、また .B indxbib はより多くのメモリを消費するようになります。 .I n の初期値は997です。 .TP .BI \-k n 入力レコードに対する検索キーの数を、最大で .I n 個にします。 .I n の初期値は100です。 .TP .BI \-l n .IR n 文字未満の検索キーを捨てます。 .I n の初期値は3です。 .TP .BI \-n n .I n 個の共通語を、ありふれたものから順に捨てます。 .I n の初期値は100です。 .TP .BI \-o basename インデックスの名前を .IB basename .i\fR とします。 .TP .BI \-t n 検索キーを .IR n 文字で切り捨てます。 .I n の初期値は6です。 .SH 関連ファイル .TP \w'\fBindxbib\fIXXXXXX'u+2n .IB filename .i インデックスです。 .TP .B Ind.i デフォルトのインデックス名です。 .TP .B /usr/share/dict/eign 共通語の一覧です。 .TP .BI indxbib XXXXXX テンポラリファイルです。 .SH 関連項目 .BR refer (1), .BR lkbib (1), .BR lookbib (1) diff --git a/ja/man/man1/intro.1 b/ja/man/man1/intro.1 index ceaac94e6b..938cab3c73 100644 --- a/ja/man/man1/intro.1 +++ b/ja/man/man1/intro.1 @@ -1,98 +1,98 @@ .\" 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. .\" .\" @(#)intro.1 8.2 (Berkeley) 12/30/93 -.\" %Id: intro.1,v 1.12 1998/12/20 06:30:05 bde Exp % -.\" jpman %Id: intro.1,v 1.2 1997/05/17 15:58:13 horikawa Stab % +.\" %Id: intro.1,v 1.12.2.1 1999/03/20 04:06:47 billf Exp % .\" +.\" jpman %Id: intro.1,v 1.2 1997/05/17 15:58:13 horikawa Stab % .Dd December 30, 1993 .Dt INTRO 1 .Os .Sh 名称 .Nm intro .Nd 通常コマンド (ツールとユーティリティ) の手引 .Sh 解説 マニュアルのセクション1は、 .Bx ユーザ環境を構成するコマンドのほとんどについて書かれています。 セクション1に含まれるコマンドを以下にいくつか列挙します。 .de OP .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" .el .RB "[\ " "\\$1" "\ ]" .. .Pp テキストエディタ .Pp コマンドシェルインタープリタ .Pp 検索およびソートツール .Pp ファイル操作コマンド .Pp システム状態参照コマンド .Pp 遠隔ファイルコピーコマンド .Pp メールコマンド .Pp コンパイラおよびコンパイラ関連ツール .Pp 整形出力ツール .Pp ラインプリンタコマンド .Pp .Pp すべてのコマンドは終了 (exit) 時にステータス値をセットするので、 その値を調べることで コマンドが正常に終了したかどうかを判断することができるようになって います。 exit 値とそれが意味するものは、個々のマニュアルに明記されていま す。伝統的に、値 0 はコマンドが完全に成功したことを表します。 .Sh 関連項目 .Xr apropos 1 , .Xr man 1 , -.Xr security 1 , +.Xr security 7 , .Xr intro 2 , .Xr intro 3 , .Xr intro 4 , .Xr intro 5 , .Xr intro 6 , .Xr intro 7 , .Xr intro 8 , .Xr intro 9 .Pp .%T "UNIX User's Manual Supplementary Documents" の中のチュートリアル .Sh 歴史 .Nm マニュアルは .At v6 から登場しました。 diff --git a/ja/man/man1/limits.1 b/ja/man/man1/limits.1 index 3ed5796de2..cbc95d822e 100644 --- a/ja/man/man1/limits.1 +++ b/ja/man/man1/limits.1 @@ -1,297 +1,306 @@ .\" Copyright (c) 1996 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" 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. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %Id: limits.1,v 1.8 1998/06/04 21:05:58 steve Exp % -.\" jpman %Id: limits.1,v 1.3 1997/06/23 15:04:52 horikawa Stab % +.\" %Id: limits.1,v 1.8.2.1 1999/04/13 02:33:59 ghelmer Exp % .\" +.\" jpman %Id: limits.1,v 1.3 1997/06/23 15:04:52 horikawa Stab % .Dd January 15, 1996 .Dt LIMITS 1 .Os FreeBSD .Sh 名称 .Nm limits .Nd リソースの制限値の設定および表示 .Sh 書式 .Nm limits .Op Fl C Ar class .Op Fl SHB .Op Fl ea .Op Fl cdflmnstu Op val .Nm limits .Op Fl C Ar class .Op Fl SHB .Op Fl cdflmnstu Op val .Op Fl E .Op Ar name=value ... .Op Ar command .Nm limits .Op Fl U Ar user .Op Fl SHB .Op Fl ea .Op Fl cdflmnstu Op val .Nm limits .Op Fl U Ar user .Op Fl SHB .Op Fl cdflmnstu Op val .Op Fl E .Op Ar name=value ... .Op Ar command .Sh 解説 .Nm limits はカーネルのリソース制限の表示および設定を行ないます。また、 .Xr env 1 のように環境変数を設定して、プログラムを選択したリソースで動作させるこ ともできます。 .Nm limits コマンドは以下の 3 通りの使い方ができます: .Pp .Bl -hang -width indent .It Nm limits Op Ar limitflags .Op Ar name=value .Ar command .Pp この使い方では .Ar limitflags にしたがって制限をセットし、オプションで .Ar name=value のペアで与えられた環境変数をセットし、指定されたコマンドを実行します。 .It Nm limits Op Ar limitflags .Pp この使い方ではリソースの設定の値は実際には設定せずに、設定値を .Ar limitflags にしたがって決定し、標準出力に出力します。 デフォルトでは、呼び出しプロセスにおいて有効な 現在のカーネルのリソースの設定値を出力します。 .Fl C Ar class や .Fl U Ar user フラグを使って、ログイン能力データベース .Xr login.conf 5 で設定されている、ログインクラスのリソース制限エントリによって変更され る現在のリソース設定を表示することもできます。 .It Nm limits Fl e Op Ar limitflags .Pp この使い方では .Ar limitflags にしたがってリソースの設定値を決定しますが、実際には設定は行ないません。 前の使い方のように、これらの設定値を標準出力しますが、 シェルをコールするのに都合の良いように .Em eval の形式で出力します。 コールされるシェルは、親プロセスの .Pa /proc ファイルシステム中のエントリを調べて決定されます。 もし、シェルが判明すると (すなわち sh, csh, bash, tcsh, ksh, pdksh, rc のいずれか)、 .Nm limits は 'limit' もしくは 'ulimit' コマンドをそのシェルが解釈できるフォーマットで 出力します。シェル名が決定できなかった場合は、 .Pa /bin/sh によって使われる 'ulimit' 形式で出力します。 .Pp これはスクリプトで制限を設定したり、 デーモンや他のバックグランドタスクを リソースを制限して起動したりする場合に非常に便利な機能です。 また、ログインクラスデータベースを設定し中央データベースを保守することにより、 最大使用リソースをグローバルに設定することができるという利点があります。 .Pp .Nm limits は通常 シェルスクリプト中では次のようにバッククォーテーションに囲み評価するよ うにして使われます。 .Pp .Dl eval `limits -e -C daemon` .Pp これで .Nm limits の出力が評価され、現在のシェルで設定されます。 .El .Pp 上記の中で指定された limitflags の値には以下のオプションのうちの 1 つ以上のものが含まれます: .Pp .Bl -tag -width "-d [limit]" .It Fl C Ar class 現在のリソースの値をもとに、ログインクラス "class" で適用される リソースエントリによって変更したものを使います。 .It Fl U Ar user 現在のリソースの値をもとに、"user" が属するログインクラスに適用される リソースエントリによって変更したものを使います。 user がどのクラスにも属していない場合、"default" クラスが存在すればそ のリソース能力が使用され、もしそのユーザがスーパユーザアカウントであれ ば、"root" クラスが使用されます。 .It Fl S リソースの "soft" (もしくは現在の) 制限を表示もしくは設定します。 このスイッチに続いて指定される制限の設定は、 .Fl H や .Fl B フラグでオーバライドしない限り、soft リミットに対する設定となります。 .It Fl H リソースの "hard" (もしくは最大の) 制限を表示もしくは設定します。 このスイッチに続いて指定される制限の設定は、 .Fl S や .Fl B フラグでオーバライドしない限り、hard リミットに対する設定となります。 .It Fl B リソースの "soft" (現在の) および "hard" (最大の) 制限を表示もしくは設 定します。 このスイッチに続いて指定される制限の設定は、 .Fl S や .Fl H フラグでオーバライドしない限り、soft リミットおよび hard リミットの 両者に対する設定となります。 .It Fl e 出力を "eval mode" (評価モード) の書式にします。 これは表示モードでのみ有効であり、コマンドを実行するときには使えません。 出力に使用される正確なシンタックスは .Nm limits が起動されたシェルのタイプに依存します。 .It Fl c Op Ar limit .Em coredumsize のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。 値に 0 を指定するとコアダンプしないようになります。 .It Fl d Op Ar limit .Em datasize のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。 .It Fl f Op Ar limit .Em filesize のリソースの制限を選択もしくは設定します。 .It Fl l Op Ar limit .Em memorylocked のリソースの制限を選択もしくは設定します。 .It Fl m Op Ar limit .Em memoryuse のサイズの制限を選択もしくは設定します。 .It Fl n Op Ar limit .Em openfiles のリソースの制限を選択もしくは設定します。 +プロセスごとの最大オープンファイル数のシステムワイドの制限は、 +\&'sysctl kern.maxfilesperproc' コマンドで表示できます。 +システム全体で同時にオープンできるファイルの総数は、 +\&'sysctl kern.maxfilesperproc' コマンドで表示できる値に制限されます。 .It Fl s Op Ar limit .Em stacksize のリソースの制限を選択もしくは設定します。 .It Fl t Op Ar limit .Em cputime のリソースの制限を選択もしくは設定します。 .It Fl u Op Ar limit .Em maxproc のリソースの制限を選択もしくは設定します。 +UID ごとの最大プロセス数のシステムワイドの制限は、 +\&'sysctl kern.maxprocperuid' コマンドで表示できます。 +システム全体で同時に走行できるプロセスの総数は、 +\&'sysctl kern.maxproc' コマンドで表示できる値に制限されます。 .Pp 上記のフラグのセットにおける有効な 'limit' の値は、無限値 (もしくは カーネルにおいて定義されている最大値) を設定する場合は文字列 'infinity' もしくは 'inf' を指定し、それ以外の場合は接尾子つきの数字を指定しま す。サイズに関する値はデフォルトではバイトでの値となります。また以下の 接尾子の 1 つを付けることによってその単位となります。 .Pp .Bl -tag -offset indent -width "xxxx" -compact .It b 512 バイトブロック。 .It k キロバイト (1024 バイト)。 .It m メガバイト (1024*1024 バイト)。 .It g ギガバイト。 .It t テラバイト。 .El .Pp .Em cputime リソースについてはデフォルトでは秒による値となります。 また以下の接尾子を付加することにより、それぞれの単位で指定可能です。 有効な複数の単位指定を並べると、その和を指定したことになります: .Bl -tag -offset indent -width "xxxx" -compact .It s 秒。 .It m 分。 .It h 時間。 .It d 日。 .It w 週。 .It y 年 (365 日)。 .El .Pp .It Fl E .Sq Fl E オプションを使用すると .Nm limits は継承している環境を完全に無視します。 .It Fl a このオプションは特定のリソースの設定が指定されていても、 全てのリソースの設定を表示させます。 例えば、USENET ニュースシステムの立ち上げ時にコアダンプを無効にしたい が、'news' アカウントに適用されるその他の全てのリソースの設定を行ない たい場合は、次のように使います: .Pp .Dl eval `limits -U news -aBec 0` .Pp .Xr setrlimit 3 コールのように、スーパユーザのみが "hard" リソース制限を引き上げるこ とができます。 root 以外のユーザはそれを引き下げるか、リソースの "soft" リミットを hard リミットの範囲で変更することができます。 プログラムを実行する場合、 .Nm limits が hard リミットを引き上げようとすると、それは致命的エラーとして扱われ ます。 .El .Sh 診断 .Nm limits はユーザが何らかの方法で誤使用をすると EXIT_FAILURE で終了します。誤 使用には不正なオプションを使用した場合や、同時に設定と表示のオプション を指定した場合、または .Fl e がプログラムを起動する時に使われた場合などが含まれます。 表示モードもしくは評価モードにて実行されたとき、 .Nm limits は EXIT_SUCCESS の終了ステータスで終了します。 コマンドモードで実行されコマンドの実行が成功したときには、終了ステータスは 実行されたプログラムが返すものになります。 .Sh 関連項目 .Xr csh 1 , .Xr env 1 , .Xr limit 1 , .Xr sh 1 , .Xr getrlimit 2 , .Xr setrlimit 2 , .Xr login_cap 3 , -.Xr login.conf 5 +.Xr login.conf 5 , +.Xr sysctl 8 .Sh バグ 明らかな理由により、 .Nm limits は等号 (``='') がその名称に含まれるコマンドを扱うことができません。 .Pp 評価用の出力が選択された場合、シェルを正しく認識し、そのシェルにとって 出力が正しいシンタックスとなるためには、/proc ファイルシステムがインス トールされマウントされていなければなりません。 デフォルトの出力は /bin/sh にとって有効なものとなります。そのため、 /proc マウント前に .Nm limits を使用できるのは、標準の bourne シェルスクリプト中でのみとなります。 .Pp .Nm limits は出力や表示するリソースの設定が現在のユーザで有効であるかや、設定可能 であるかについては確認を行ないません。スーパユーザアカウントのみが hard リミットを引き上げることができます。与えられた値が大きすぎる場合は FreeBSD カーネルは何も出力せずにその制限値を指定された値より低く設定 します。 diff --git a/ja/man/man1/lkbib.1 b/ja/man/man1/lkbib.1 index f426f68d92..a47278d67f 100644 --- a/ja/man/man1/lkbib.1 +++ b/ja/man/man1/lkbib.1 @@ -1,105 +1,105 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .ds g \" empty .ds G \" empty .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .\" jpman %Id: lkbib.1,v 1.2 1997/05/13 16:17:15 horikawa Stab % -.TH LKBIB 1 "7 September 1996" "Groff Version 1.10" +.TH LKBIB 1 "7 September 1996" "Groff Version 1.11" .SH 名称 lkbib \- 文献目録データベースを検索する .SH 書式 .B lkbib [ .B \-v ] [ .BI \-i fields ] [ .BI \-p filename ] [ .BI \-t n ] .IR key \|.\|.\|. .SH 解説 .B lkbib は、 .IR key \|.\|.\|. で指定されたキーを用いて文献目録データベースを検索し、 参考文献の形式で標準出力に出力します。 .B lkbib はまず .B -p オプションで指定された すべてのデータベースを検索し、それからデフォルトのデータベースを検索します。 デフォルトのデータベースには、環境変数 .SB REFER が設定されていればそれが、設定されていなければ .B /usr/share/dict/papers/Ind が用いられます。指定したデータベースファイル名 .I filename に対応したインデックスファイル .IB filename .i ( .BR indxbib (1) により作成される ) が存在すれば、それが検索されます。インデックスは、 複数のデータベースを網羅している可能性があります。 .SH オプション .TP .B \-v バージョン番号を表示します。 .TP .BI \-p filename .I filename を検索します。複数の .B \-p オプションの指定が可能です。 .TP .BI \-i string インデックスを持たないファイルを検索する場合、 .I string に含まれる名前のフィールドの内容を無視します。 .TP .BI \-t n キーの先頭 .I n 文字が指定されればよいものとして扱います。 .I n の初期値は 6 です。 .SH 環境変数 .TP \w'\fBREFER'u+2n .SB REFER デフォルトデータベース .SH 関連ファイル .Tp \w'\fB/usr/share/dict/papers/Ind'u+2n .B /usr/share/dict/papers/Ind 環境変数 .SB REFER が設定されていない場合のデフォルトのデータベース名。 .IB filename .i インデックスファイル。 .SH 関連項目 .BR refer (1), .BR lookbib (1), .BR indxbib (1) diff --git a/ja/man/man1/lookbib.1 b/ja/man/man1/lookbib.1 index 55b3776987..fcc1963cb2 100644 --- a/ja/man/man1/lookbib.1 +++ b/ja/man/man1/lookbib.1 @@ -1,76 +1,76 @@ .\" -*- nroff -*- .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. -.TH LOOKBIB 1 "7 September 1996" "Groff Version 1.10" +.TH LOOKBIB 1 "7 September 1996" "Groff Version 1.11" .\" jpman %Id: lookbib.1,v 1.2 1997/04/24 00:31:25 mutoh Stab % .SH 名称 lookbib \- 文献目録データベースを検索する .SH 書式 .B lookbib [ .B \-v ] [ .BI \-i string ] [ .BI \-t n ] .IR filename \|.\|.\|. .SH 解説 .B lookbib は、(標準入力が端末であれば)標準エラー出力にプロンプトを表示して キーワードの集合を標準入力から読み込み、 .IR filename \|.\|.\|. で指定されたデータベースからそれらのキーワードを含む参照文を検索して、 発見した結果を標準出力に出力するという一連の動作を、 入力がなくなるまで繰り返します。検索するそれぞれの .I filename に対して、もし .IB filename .i という名前で .BR indxbib (1) が作成したインデックスがあれば、 .I filename のかわりにそのインデックスを検索します。インデックスは、 複数のデータベースを網羅している可能性があります。 .SH オプション .TP .B \-v バージョン番号を表示します。 .TP .BI \-i string インデックスを持たないファイルを検索する場合、 .I string に含まれる名前のフィールドの内容を無視します。 .TP .BI \-t n キーの先頭 .I n 文字が指定されればよいものとして扱います。 .I n の初期値は 6 です。 .SH 関連ファイル .TP \w'\fIfilename\fB.i'u+2n .IB filename .i インデックスファイル .SH 関連項目 .BR refer (1), .BR lkbib (1), .BR indxbib (1) diff --git a/ja/man/man1/neqn.1 b/ja/man/man1/neqn.1 index e270319888..f2f65530f1 100644 --- a/ja/man/man1/neqn.1 +++ b/ja/man/man1/neqn.1 @@ -1,13 +1,13 @@ -.TH NEQN 1 "14 September 1997" "Groff Version 1.10" +.TH NEQN 1 "14 September 1997" "Groff Version 1.11" .SH 名称 neqn \- 数式を ASCII 形式で出力する .SH 書式 .B neqn [eqn options] .SH 解説 .B neqn プログラムは、実際は .B eqn(1) コマンドに ASCII 出力デバイスを指定して起動する単なるシェルスクリプトです。 .SH 関連項目 .BR eqn (1) diff --git a/ja/man/man1/nroff.1 b/ja/man/man1/nroff.1 index f943eaa870..516333b34d 100644 --- a/ja/man/man1/nroff.1 +++ b/ja/man/man1/nroff.1 @@ -1,84 +1,84 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: nroff.1,v 1.2 1997/05/13 16:18:02 horikawa Stab % -.TH NROFF 1 "8 September 1996" "Groff Version 1.10" +.TH NROFF 1 "8 September 1996" "Groff Version 1.11" .SH 名称 nroff \- groff による nroff コマンドのエミュレート .SH 書式 .B nroff [ .B \-h ] [ .B \-i ] [ .BI \-m name ] [ .BI \-n num ] [ .BI \-o list ] [ .BI \-r cn ] [ .BI \-T name ] [ .I file\|.\|.\|. ] .SH 解説 .B nroff は、groff を用いて .B nroff をエミュレートするスクリプトです。 .B \-T オプションに .B ascii と .B latin1 と .B koi8-r 以外を指定しても無視されます。 .B \-h オプション は .B grotty への .B \-h オプションと等価です。 .BR \-i , .BR \-n , .BR \-m , .BR \-o , .B \-r オプションは .BR troff (1) に説明されている効果を持ちます。 .BR \-e , .BR \-q , .B \-s オプションは無視され、エラーメッセージも表示されません。 .SH 関連項目 .BR groff (1), .BR troff (1), .BR grotty (1) diff --git a/ja/man/man1/pfbtops.1 b/ja/man/man1/pfbtops.1 index 7145bfe502..5598d2aaf2 100644 --- a/ja/man/man1/pfbtops.1 +++ b/ja/man/man1/pfbtops.1 @@ -1,47 +1,47 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: pfbtops.1,v 1.2 1997/05/13 16:18:42 horikawa Stab % -.TH PFBTOPS 1 "7 September 1996" "Groff Version 1.10" +.TH PFBTOPS 1 "7 September 1996" "Groff Version 1.11" .SH 名称 pfbtops \- .pfb フォーマットの PostScript フォントを ASCII フォーマットに変換する .SH 書式 .B pfbtops [ .I pfb_file ] .SH 解説 .B pfbtops は、 .B .pfb フォーマットの PostScript フォントを ASCII フォーマットに変換します。 .I pfb_file が省略された場合、標準入力から pfb ファイルを読み込みます。 ASCII フォーマットの PostScript フォントは標準出力に出力されます。 MS-DOS における PostScript フォントは普通 .B pfb フォーマットで供給されます。 .LP 変換後の ASCII フォーマットの PostScript フォントは groff で使用することができます。groff で用いる前に .B /usr/share/groff_font/devps/download に登録する必要があります。 .SH 関連項目 .BR grops (1) diff --git a/ja/man/man1/pic.1 b/ja/man/man1/pic.1 index bc32f07313..e31a046543 100644 --- a/ja/man/man1/pic.1 +++ b/ja/man/man1/pic.1 @@ -1,747 +1,747 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: pic.1,v 1.2 1997/03/29 07:11:03 horikawa Stab % .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .ie \n(.g .ds ic \/ .el .ds ic \^ .\" The BSD man macros can't handle " in arguments to font change macros, .\" so use \(ts instead of ". .tr \(ts" -.TH PIC 1 "7 September 1996" "Groff Version 1.10" +.TH PIC 1 "7 September 1996" "Groff Version 1.11" .SH 名称 pic \- troff と TeX で用いるピクチャコンパイラ .SH 書式 .B pic [ .B \-nvC ] [ .I filename \&.\|.\|. ] .br .B pic .B \-t [ .B \-cvzC ] [ .I filename \&.\|.\|. ] .SH 解説 .LP 本マニュアルでは、groff ドキュメントフォーマットシステムの一部である GNU バージョンの .B pic について記述します。 .B pic は、 .B troff か \*(tx の入力ファイルに埋め込まれたピクチャの記述を .B troff か \*(tx が解釈できるコマンドに変換します。 ピクチャは .B .PS で始まる行から開始され、 .B .PE で始まる行で終了します。 .B .PS と .B .PE に狭まれた領域以外は、変更せずに素通しします。 .LP .B .PS と .B .PE マクロの適切な定義はユーザに任されています。使用している マクロパッケージが適当な定義を提供しない場合(たとえば、古いバージョンの \-ms マクロの場合)、 .B \-mpic マクロから取り出すことができます。 \-mpic マクロではピクチャ は中央寄せになります。 .SH オプション .LP 引数を伴わないオプションは .B \- のあとにまとめて続けることができます。 特別なオプション .B \-\^\- は、オプションの最後を意味します。ファイル名のかわ りに用いられる .B \- は、標準入力を意味します。 .TP .B \-C .B .PS や .B .PE のあとに空白や改行以外の文字がきても、それを .B .PS や .B .PE であると解釈します。 .TP .B \-S より安全なモード; .B sh コマンドを実行しません。 信用できない入力を処理する場合に便利です。 .TP .B \-n groff の troff に対する独自拡張を用いません。後処理に独自拡張を解釈 できないものを用いるときに、このオプションを指定します。拡張については、 .BR groff_out (5) に記述されています。 .B \-n オプションはまた、troff モードにお いて、点を打つために長さ 0 の直線を使わないようにします。 .TP .B \-t \*(tx モードです。 .TP .B \-c より .B tpic との互換性が高い処理を行います。本オプションは自動的に -t オプションも設定します。 .B \e で始まる行が透過的に出力されることがなくなり ます。 .B . で始まる行は先頭の .B . を .B \e に置き換えます。 .B .ps で始まる行は、特 別な扱いを受けます。すなわち、整数のオプションを続けることができ、それ は直線の太さ(ペンのサイズ)を 1000 分の 1 インチで示します。オプションが 省略された場合は、直 前の直線の太さに戻します。直線の太さの初期値は 1000 分の 8 インチです。 このように指定された直線の太さは、 .B thickness 属性、または、 .B linethick 変数によって負でない値が設定されていない場合にのみ有効です。 .TP .B \-v バージョン番号を表示します。 .TP .B \-z \*(tx モードにおいて、長さ 0 の直線を用いて点を描画します。 .LP 他のバージョンの pic でサポートされている以下のオプションは無視されます。 .TP .B \-D すべての直線を .B \eD エスケープシーケンスにより描画します。 .B pic は、つねに この動作を行います。 .TP .BI \-T \ dev .B troff のデバイス .I dev のための出力を行います。 .B pic が .B troff に出 力する内容はデバイス非依存なので、本オプションは不要です。 .SH 使用法 本節では GNU pic とオリジナルバージョンの pic との違いのみを説明します。 これらの違いの多くは新しいバージョンの Unix pic にもあてはまります。 .SS \*(tx モード .LP \*(tx モードは .B \-t オプションにて有効になります。 \*(tx モードでは、各ピクチャのために .B \egraph から呼び出される vbox を、pic は定義します。 例えば以下のようにして、自分自身で vbox を表示する必要が有ります。 .RS .LP .B \ecenterline{\ebox\egraph} .RE .LP 実際、vbox は高さが 0 ですから、この表現ではピクチャの上の空間が ピクチャの下の空間よりも若干大きくなります。 .RS .LP .B \ecenterline{\eraise 1em\ebox\egraph} .RE .LP はこの問題を避けます。 .LP \*(tx ドライバで .B tpic スペシャルバージョン 2 をサポートするものを使用する必要が有ります。 .LP .B \e で始まる行は透過的に通されます; 単一の .B % が行末に追加され、望まれない空白が出るのを防ぎます。 この機能を使用して、安全にフォントを変更したり .B \ebaselineskip の値を変更できます。 この方法以外で実行すると、望ましくない結果となるでしょう; 各自のリスクで実行して下さい。 ピリオドで始まる行は特別には扱われません。 .SS コマンド .TP \fBfor\fR \fIvariable\fR \fB=\fR \fIexpr1\fR \fBto\fR \fIexpr2\fR \ [\fBby\fR [\fB*\fR]\fIexpr3\fR] \fBdo\fR \fIX\fR \fIbody\fR \fIX\fR .I variable を .IR expr1 に設定します。 .I variable の値が .IR expr2 以下の間、 .I body を実行して .I variable を .IR expr3 だけ増加させます; もし .B by が指定されない場合、 .I variable の増分は 1 です。 もし .I expr3 の前に .B * が指定された場合、 .I variable には .IR expr3 が掛けられます。 .I X は .IR body に存在しない任意の文字を使用して構いません。 .TP \fBif\fR \fIexpr\fR \fBthen\fR \fIX\fR \fIif-true\fR \fIX\fR \ [\fBelse\fR \fIY\fR \fIif-false\fR \fIY\fR] .IR expr を評価します; もし非 0 ならば、 .IR if-true を実行します、 そうでないなら .IR if-false を実行します。 .I X は .IR if-true に存在しない任意の文字であり、 .I Y は .IR if-false に存在しない任意の文字です。 .TP \fBprint\fR \fIarg\fR\|.\|.\|. 引数を結合し、標準エラー出力に 1 行で出力します。 各 .I arg は式、位置、テキストのいずれかである必要が有ります。 デバッグに有効です。 .TP \fBcommand\fR \fIarg\fR\|.\|.\|. 引数を結合し、troff または \*(tx に 1 行として渡します。 各 .I arg は式、位置、テキストのいずれかである必要が有ります。 これは .B . や .BR \e で始まる行と同様の効果が有りますが、 値や変数をそのまま通します。 .TP \fBsh\fR \fIX\fR \fIcommand\fR \fIX\fR .I command をシェルに渡します。 .I X は .IR command 中に存在しない任意の文字です。 .TP \fBcopy\fR \fB"\fIfilename\fB"\fR .I filename をファイルのこの位置に埋め込みます。 .TP \fBcopy\fR [\fB"\fIfilename\fB"\fR] \fBthru\fR \fIX\fR \fIbody\fR \fIX\fR \ [\fBuntil\fR \fB"\fIword\*(ic\fB"\fR] .ns .TP \fBcopy\fR [\fB"\fIfilename\fB"\fR] \fBthru\fR \fImacro\fR \ [\fBuntil\fR \fB"\fIword\*(ic\fB"\fR] この構造は .I body を .IR filename の各行に対して 1 度づつ実行します。 行は空白で区切られた語に分割され、 .IR body 中の .BI $ i ただし .I i は 1 から 9 までは、 行の .IR i 番目の語に置換されます。 .I filename が指定されない場合、行は現在の行から .BR .PE の行までが使用されます。 .B until 節が指定されると、 行の最初の語が .IR word の行までが読み込まれます; その行は捨てられます。 .I X は .IR body に含まれない任意の文字です。 例えば .RS .IP .ft B .nf \&.PS copy thru % circle at ($1,$2) % until "END" 1 2 3 4 5 6 END box \&.PE .ft .fi .RE .IP は以下等価です。 .RS .IP .ft B .nf \&.PS circle at (1,2) circle at (3,4) circle at (5,6) box \&.PE .ft .fi .RE .IP 各行に対して実行されるコマンドは、 .BR thru の引数としてマクロ名を与えることで、 すでに定義されているマクロをとりうる。 .LP .B reset .br .ns .TP \fBreset\fI variable1\fB,\fI variable2 .\^.\^. 既定義の変数 .IR variable1 , .I variable2 \&.\^.\^. をデフォルト値にリセットします。 引数が指定されない場合、すべての既定義の変数はデフォルト値にリセットされます。 また .B scale に値を定義すると、寸法を管理する全ての既定義の変数は、 それらのデフォルト値に新しい scale を掛けたものになります。 .TP \fBplot\fR \fIexpr\fR [\fB"\fItext\*(ic\fB"\fR] これはテキストオブジェクトであり、 .I text をフォーマットとして .IR expr を引数として sprintf を用いて構成します。 .I text が省略された場合にはフォーマット文字列 .B "\(ts%g\(ts" が使用されます。 通常のテキストオブジェクトと同様属性を指定できます。 適切なフォーマット文字列を指定するように非常に気を付ける必要が有ります; pic は文字列に関して非常に限られたチェックしか行いません。 この仕様は、 .BR sprintf のことを考慮して批判されています。 .TP .IB variable := expr これは .B = と同じですが、 .I variable が既に定義されていなければならず、 .I variable が変更される場合は、これが定義された最内側ブロックでなければなりません。 (これに対して .B = は、variable がまだ定義されていない場合には現在のブロックにおいて定義し、 現在のブロックに置いて値を変更します。) .LP .IP .IR X\ anything\ X .LP という形式に対しては .IP .BI {\ anything\ } .LP も許されます。 この場合、 .I anything には .B { と .BR } がバランスして登場する必要が有ります。 文字列に .I X が含まれる場合、 .B { と .BR } のバランスが悪い場合に対応します。 .SS 式 式の文法が少し拡張されました: .LP .IB x\ ^\ y (指数) .br .BI sin( x ) .br .BI cos( x ) .br .BI atan2( y , \ x ) .br .BI log( x ) (base 10) .br .BI exp( x ) (base 10, ie 10\v'-.4m'\fIx\*(ic\fR\v'.4m') .br .BI sqrt( x ) .br .BI int( x ) .br .B rand() (0 から 1 までの乱数を返す) .br .BI rand( x ) (1 から .IR x までの乱数を返す; 勧められません) .br .BI max( e1 , \ e2 ) .br .BI min( e1 , \ e2 ) .br .BI ! e .br \fIe1\fB && \fIe2\fR .br \fIe1\fB || \fIe2\fR .br \fIe1\fB == \fIe2\fR .br \fIe1\fB != \fIe2\fR .br \fIe1\fB >= \fIe2\fR .br \fIe1\fB > \fIe2\fR .br \fIe1\fB <= \fIe2\fR .br \fIe1\fB < \fIe2\fR .br \fB"\fIstr1\*(ic\fB" == "\fIstr2\*(ic\fB"\fR .br \fB"\fIstr1\*(ic\fB" != "\fIstr2\*(ic\fB"\fR .br .LP 曖昧さを避けるために、 文字列の比較式はあるコンテキストにおいては括弧で括られる必要が有ります .SS その他の変更 .LP 単なる式 .IR expr は属性として受理可能です; これは .IR dir\ expr と同じであり、 .I dir は現在の方向です。 例えば .IP .B line 2i .LP は 2 インチの長さの線を現在の方向へ描きます。 .LP ピクチャの最大の幅と高さは変数 .BR maxpswid , .B maxpsht により指定されます。 初期値は 8.5 および 11 です。 .LP 数を表すのに科学技術的表記が可能です。 例えば .RS .B x = 5e\-2 .RE .LP テキストの属性は組み合わせることが可能です。 例えば .RS .B "foo" above ljust .RE は正しいです。 .LP ブロックが検査される深さには制限は有りません。 例えば .RS .B [A: [B: [C: box ]]] with .A.B.C.sw at 1,2 .br .B circle at last [\^].A.B.C .RE は受理可能です。 .LP 円弧はコンパスポイントを持ち、円弧が部分となるような円から決定されます。 .LP 円と円弧は点線や破線で書くことが出来ます。 \*(tx モードではスプラインを点線や破線で書くことが出来ます。 .LP ボックスの角を丸くできます。 .B rad 属性は、角を構成する 1/4 円の半径を指定します。 .BR rad , .B diam 属性が与えられない場合、 .B boxrad が半径として使用されます。 初期値では .B boxrad は値 0 です。 角の丸いボックスは点線や破線で書くことが出来ます。 .LP .B .PS 行は 2 番目の引数としてピクチャの最大の高さを指定できます。 幅として 0 が指定された場合には、 ピクチャのスケーリングファクタの計算においては幅は無視されます。 GNU pic は常に水平方向と垂直方向ともに同じ縮尺で スケーリングしていることに注意して下さい。 これは 高さが指定された場合に水平方向と垂直方向を同じ縮尺でスケーリングしない .SM DWB 2.0 pic と異なります。 .LP テキストオブジェクトはそれぞれに関連づけられた見えないボックスを持っています。 テキストオブジェクトのコンパスポイントはこのボックスによって決定されます。 オブジェクトに関連づけられた暗示的な動きもこのボックスによって決定されます。 このボックスの寸法は width, height 属性から定まります; もし width 属性が与えられていない場合は幅は .BR textwid となります; もし height 属性が与えられていない場合は高さは .BR textht となります。 初期値では .BR textwid , .B textht は値 0 です。 .LP クオートされされたテキストが使用される場合、 .IP .BI sprintf(\(ts format \(ts,\ arg ,\fR.\|.\|.\fB) .LP という形式の式を使用可能です; これは引数を .IR format に従い整形したものを出力します。 .I format は .BR printf (3) に記述されている文字列であり、 与えられる数及び引数に適切なものである必要が有ります。 .BR e , .BR f , .BR g , .B % フォーマット文字のみ使用可能です。 .LP オブジェクトを描画する時に使用する線の太さは .B linethick 変数で制御可能です。 これは線の太さをポイントで指定します。 負の値はデフォルトの太さを使用することを意味します: \*(tx 出力モードでは、8 ミリインチを使用することを意味します; \*(tx 出力モードで .B -c オプション使用時には、線の太さには .B .ps 行で指定されるものを使用ことを意味します; troff 出力モードでは、ポイントサイズに比例する太さを使用することを意味します。 値 0 ではデバイスがサポートするもっとも細い線で描画します。 初期値は -1 です。 また、 .BR thick [ ness ] 属性が有ります。 例えば .RS .LP .B circle thickness 1.5 .RE .LP は 1.5 ポイントの太さの円を描画します。 線の太さは .B scale 変数の値の影響も .B .PS 行における高さの影響も受けません。 .LP ボックス(角の丸いボックスを含みます)、 円、楕円は塗りつぶすことが可能であり、 属性 .BR fill [ ed ] で指定します。 これは値が 0 から 1 の式をオプションで引数として取ります; 0 は白で塗りつぶし、1 は黒で塗りつぶし、その間の値では 適切な灰色で塗りつぶします。 1 より大きい値も使用可能です: この場合、現在のテキスト及び線に使用している灰色で塗りつぶします。 通常これは黒ですが、出力デバイスが変更する機構を持っているかも知れません。 引数を取らない場合、 .B fillval 変数の値が使用されます。 初期値では 0.5 です。 invisible 属性はオブジェクトの塗りつぶしには影響しません。 塗りつぶされたオブジェクトに関連づけられたテキストは、 塗りつぶし後に追加されます。 このため、塗りつぶしによってテキストが隠されることは有りません。 .LP 変数 .B arrowhead が非 0 でありかつ \*(tx モードが有効もしくは .B \-x オプションが与えられている場合には、 矢印の頭を実線の三角形で描画します。 初期値では .B arrowhead は 1 です。 .LP pic の troff 出力はデバイス独立です。 それゆえ .B \-T オプションは冗長です。 全ての数値はインチとして扱われます; 数値は troff マシン単位としては解釈されません。 .LP オブジェクトは .B aligned 属性を取りえます。 これは後処理が .BR grops で実行される場合のみ機能します。 オブジェクトに関連づけられたテキストで .B aligned 属性を持つものは全て オブジェクトの中央において回転されます。 それゆえ、オブジェクトの始点から終点への方向にあわせられます。 この属性は始点と終点が同じオブジェクトに関しては効果が有りません。 .LP .IB n th と言う表現が許されている場所では .BI ` expr 'th という表現も許されます。 .B 'th は単一のトークンであることに注意して下さい: .B ' と .BR th の間には空白を入れてはなりません。 使用例は以下です。 .IP .B .nf for i = 1 to 4 do { line from `i'th box.nw to `i+1'th box.se } .fi .SH 関連ファイル .Tp \w'\fB/usr/share/tmac/tmac.pic'u+3n .B /usr/share/tmac/tmac.pic .B PS と .B PE マクロの定義の例です。 .SH 関連項目 .BR troff (1), .BR groff_out (5), .BR tex (1) .br Tpic: Pic for \*(tx .br AT&T Bell Laboratories, Computing Science Technical Report No.\ 116, PIC \(em A Graphics Language for Typesetting. (This can be obtained by sending a mail message to netlib@research.att.com with a body of `send\ 116\ from\ research/cstr'.) .SH バグ .LP .B groff にとって不正な文字(例えば .SM ASCII code 0 や 8 進で 013〜037、 0200〜0237)は \*(tx モードであっても拒否されます。 .LP .B fillval の解釈は 10th edition Unix と互換性がありません。 10th edition Unix は 0 を黒、1 を白と解釈します。 .\" Kazuo HORIKAWA .\" USAGE 訳出 (Dec 27, 1996) diff --git a/ja/man/man1/psbb.1 b/ja/man/man1/psbb.1 index b984478c27..f51c2c5b57 100644 --- a/ja/man/man1/psbb.1 +++ b/ja/man/man1/psbb.1 @@ -1,39 +1,39 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. -.TH PSBB 1 "7 September 1996" "Groff Version 1.10" +.TH PSBB 1 "7 September 1996" "Groff Version 1.11" .\" jpman %Id: psbb.1,v 1.2 1997/05/20 01:24:45 mutoh Stab % .SH 名称 psbb \- PostScript 文書のバウンディングボックスを表示する .SH 書式 .B psbb .I file .SH 解説 psbb は、 Document Structuring convention に従った PostScript ファイルを読み込み、 .B "%%BoundingBox" コメントを探します。 もし見つかれば、以下の形式の行を標準出力に出力し、終了ステータス 0 を返します。 .IP .I llx lly urx ury .LP もしそのような行が見つからないか、形式が不正な場合はその旨メッセージを 出力し、0 以外の終了ステータスを返します。 .SH 関連項目 .BR grops (1) diff --git a/ja/man/man1/psroff.1 b/ja/man/man1/psroff.1 index 0b828eb755..e90fbb001d 100644 --- a/ja/man/man1/psroff.1 +++ b/ja/man/man1/psroff.1 @@ -1,16 +1,16 @@ -.TH PSROFF 1 "15 September 1997" "Groff Version 1.10" +.TH PSROFF 1 "15 September 1997" "Groff Version 1.11" .SH 名称 psroff \- troff 出力を PostScript プリンタに送る .SH 書式 .B psroff [groff options] [files ...] .SH 解説 .B psroff プログラムは、実際は troff ファイル .I files を PostScript プリンタに印字するための .B groff(1) コマンドを呼び出す単なるシェルスクリプトです。 .SH .SH 関連項目 .B groff(1), lpr(1), environ(7) diff --git a/ja/man/man1/refer.1 b/ja/man/man1/refer.1 index 25b0cccca2..121a366017 100644 --- a/ja/man/man1/refer.1 +++ b/ja/man/man1/refer.1 @@ -1,1257 +1,1257 @@ .ig \"-*- nroff -*- .\" jpman %Id: refer.1,v 1.2 1997/07/17 03:09:58 mihara Stab % Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .de TQ .br .ns .TP \\$1 .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .\" The BSD man macros can't handle " in arguments to font change macros, .\" so use \(ts instead of ". .tr \(ts" -.TH REFER 1 "7 September 1996" "Groff Version 1.10" +.TH REFER 1 "7 September 1996" "Groff Version 1.11" .SH 名称 refer \- groff のための参考文献目録プリプロセッサ .SH 書式 .nr a \n(.j .ad l .nr i \n(.i .in +\w'\fBrefer 'u .ti \niu .B refer .de OP .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" .el .RB "[\ " "\\$1" "\ ]" .. .OP \-benvCPRS .OP \-a n .OP \-c fields .OP \-f n .OP \-i fields .OP \-k field .OP \-l m,n .OP \-p filename .OP \-s fields .OP \-t n .OP \-B field.macro .RI [\ filename \|.\|.\|.\ ] .br .ad \na .SH 解説 本ファイルでは groff ドキュメントフォーマッティングシステムの一部である GNU バージョンの .B refer について記述します。 .B refer は .B .[ と .B .] で囲まれた引用として解釈される行と、 .B .R1 と .B .R2 で囲まれた引用の処理方法を記述したコマンドとして解釈される行を除き、 .IR filename \|.\|.\|. の内容を標準出力にコピーします。 .LP 各々の引用では参考文献を指定します。 -引用では、ある参考文献にのみ含まれるキーワードの集合を与えることによっ -て、その参考文献を図書目録データベースから指定することができます。 +引用では、ある参考文献にのみ含まれるキーワードの集合を与えることによって、 +その参考文献を図書目録データベースから指定できます。 また、引用の中でデータベースレコードを指定することによっても参考文献を -指定することができます。 +指定できます。 これらの方法を組み合わせることも可能です。 .LP 各々の引用において .B refer -はテキストの中にマークを作成することができます。 +はテキストの中にマークを作成できます。 このマークは色々な方法でテキストや他のラベルから区別されるいくつかのラ ベルから構成されます。 各引用における参考文献をマクロパッケージを使ってフォーマットして出力す るための .B groff コマンドを出力することもできます。 そのためには .B refer の出力は適切なマクロパッケージを使って処理されなければなりません。 .B \-ms と .B \-me はいずれも適切なマクロです。 引用の参考文献をフォーマットするコマンドを引用の直後に出力することも、 参考文献を蓄積して後でコマンドを出力することもできます。 -参考文献を蓄積した時、同じ参考文献が複数から引用されている場合には、参 -考文献は 1 つにまとめてフォーマットされます。 +参考文献を蓄積した時、同じ参考文献が複数から引用されている場合には、 +参考文献は 1 つにまとめてフォーマットされます。 .LP GNU refer の新しい機能として .B .R1 と .B .R2 の間の行はコマンドとして解釈されます。 この機能を使用して作成されたドキュメントは、ドキュメントの先頭に .RS .LP .nf .ft B \&.de R1 \&.ig R2 \&.. .ft .fi .RE -の行を追加することにより UNIX refer でも処理することができます。 +の行を追加することにより UNIX refer でも処理できます。 この指定によって .B troff は .B .R1 と .B .R2 の間をすべて無視します。 このオプションによっていくつかのコマンドと同等の効果を得ることができ ます。 これらのオプションは主に Unix refer との互換性のためにサポートされてい るものです。 通常はコマンドを使った方が便利です。 .LP .B refer は .B refer の出力を読むコマンドによって生成されるメッセージの中のファイル名と行番 号が正しくなるように .B .lf 行を生成します。 入力が .B soelim (1) のようなコマンドによって前処理されている場合でも、メッセージ中のファイ ル名と行番号と生成される .B .lf 行が正確になるように .B .lf で始まる行も解釈します。 .SH オプション .LP ほとんどのオプションには同等なコマンドがあります。 (これらのコマンドについては .B コマンド セクションの説明を参照して下さい。) .TP .B \-b .B no-label-in-text; no-label-in-reference .TP .B \-e .B accumulate .TP .B \-n .B no-default-database .TP .B \-C .B compatible .TP .B \-P .B move-punctuation .TP .B \-S .B label "(A.n|Q) ', ' (D.y|D)"; bracket-label " (" ) "; " .TP .BI \-a n .B reverse .BI A n .TP .BI \-c fields .B capitalize .I fields .TP .BI \-f n .B label .BI % n .TP .BI \-i fields .B search-ignore .I fields .TP .B \-k .B label .B L\(ti%a .TP .BI \-k field .B label .IB field \(ti%a .TP .B \-l .B label .BI A.nD.y%a .TP .BI \-l m .B label .BI A.n+ m D.y%a .TP .BI \-l, n .B label .BI A.nD.y\- n %a .TP .BI \-l m , n .B label .BI A.n+ m D.y\- n %a .TP .BI \-p filename .B database .I filename .TP .BI \-s spec .B sort .I spec .TP .BI \-t n .B search-truncate .I n .LP これらのオプションは以下のコマンドと同等です。ただし、通常の方法のか わりにコマンド行で指定されるファイル名が .B bibliography コマンドへの引数であるように処理されます。 .TP .B \-B .B annotate X AP; no-label-in-reference .TP .BI \-B field . macro .B annotate .I field .IB macro ; .B no-label-in-reference .LP 以下のオプションには同等なコマンドはありません。 .TP .B \-v バージョン番号を表示します。 .TP .B \-R .B .R1 / .R2 で始まる行を認識しません。 .SH 使用法 .SS 図書目録データベース 図書目録データベースは 1 行以上の空白行で区切られたレコードからなるテ キストファイルです。 各レコードではフィールドは .B % で始まる行で開始します。 各フィールドには .B % に続く 1 文字の名称があります。 フィールドの名称には大文字か小文字のみを使うのが最良の方法です。 フィールドの名称の後には正確に 1 つのスペースが続かなければなりませ ん。 空のフィールドは無視されます。 各フィールドの慣例的な意味は次の通りです。 .TP .B A 作者の名前。 名前の末尾に .B Jr. のような肩書が含まれる場合はコンマでラストネームと区切られていなければ なりません。 .B A フィールドは複数回現れても構いません。 出現する順番は意味を持ちます。 .B A フィールドか .B Q フィールドは常に指定するのが良いでしょう。 .TP .B B ある本の一部である記事において、その本のタイトルです。 .TP .B C 出版社の所在地 (都市) です。 .TP .B D 出版された日付です。 出版年に略称を使用してはいけません。 もし出版月を指定する場合は数字による月ではなく、月名を使わなければなり ませんが、最初の 3 文字を指定すれば十分です。 .B D フィールドは常に指定するのが良いでしょう。 ただし、出版の日付が分からなければ .B in press や .B unknown のような値を使うこともできます。 .TP .B E ある本の一部である記事において、その本の編集者の名前です。 出版作業が著者のない編集だけのものであった場合、編集者の名前を .B A フィールドで指定し、 .B ,\ (ed) または .B ,\ (eds) を最後の著者の後に指定しなければなりません。 .TP .B G 米国政府注文番号です。 .TP .B I 出版者 (発行人) です。 .TP .B J 定期刊行物の記事における、その刊行物の名称です。 .TP .B K 検索に使われるキーワードです。 .TP .B L ラベルです。 .TP .B N 定期刊行物の発行番号です。 .TP .B O その他の情報です。 これは通常参考文献の末尾に印刷されます。 .TP .B P ページ番号です。 ページ番号の範囲は .I m \- n\fR で指定できます。 .TP .B Q 著者が個人でない場合の著者の名称です。 これは .B A フィールドがない場合にのみ使用されます。 .B Q フィールドは 1 つのみ使うことができます。 .TP .B R 技術報告書番号です。 .TP .B S シリーズの名称です。 .TP .B T タイトルです。 本や定期刊行物中の記事ではこれは記事のタイトルとなります。 .TP .B V 定期刊行物もしくは本のボリューム番号です。 .TP .B X 注釈です。 .LP .B A と .B E を除くすべてのフィールドで、あるレコードに複数の特定のフィールドがある 場合、最後のフィールドのみが使用されます。 .LP アクセント文字列はアクセントをつける文字に引き続いて指定されなければな りません。これは .B AM マクロは .B \-ms マクロとともに使用しなければならないことを意味します。 アクセント文字列は引用符で囲んではいけません。 また、 .B \e は 2 つでなく 1 つのみ使って下さい。 .SS 引用 引用のフォーマットは .RS .BI .[ opening-text .br .I flags keywords .br .I fields .br .BI .] closing-text .RE となります。 .LP .I opening-text と .I closing-text と .I flags のコンポーネントは省略可能です。 .I keywords か .I fields のいずれか 1 つのコンポーネントを指定する必要があります。 .LP .I keywords コンポーネントは .I keywords に含まれる全ての単語を含む参考文献を文献データベースから検索するために 指定します。 もし複数の参考文献が見つかった場合はエラーとなります。 .LP .I fields コンポーネントは参考文献の中で指定されるものを置き換えるか付け加えるた めの追加フィールドを指定します。 参考文献が蓄積される設定で、 .I keywords コンポーネントが空でなければ、追加フィールドはある特定の参考文献が引用 されている最初の部分においてのみ指定されなければならず、その参考文献を 引用している全ての部分に適用されます。 .LP .I opening-text と .I closing-text コンポーネントは .B bracket-label コマンドにおいて指定される文字列の代わりにラベルを囲むために使われる文 字列を指定します。 これらのいずれもが空でなければ、 .B bracket-label コマンドで指定されている文字列は使われません。 この処理は .B [ と .B ] フラグを使って置き換えることができます。 これらのコンポーネントの前と後につくスペースは意味を持つことに注意し て下さい。 .LP .I flags コンポーネントはここでの引用の扱いを変更するためのアルファベット以外の 文字のリストです。 Unix refer はこれらのフラグをキーワードの一部として処理しますが、それ らはアルファベットでないため無視します。 以下のフラグが現在認識されるものです。 .TP .B # これは .B short-label コマンドによって指定されるラベルを .B label コマンドで指定されるものの代わりに使用することを指示します。 もしショートラベルが指定されなければ、通常のラベルが使用されます。 普通はショートラベルは auther-date ラベルに使用され、日付とおそらくは 曖昧さが取り除かれた文字から構成されます。ここで、 .B # はラベルの数字によるタイプを示唆するものと考えられます。 .TP .B [ .B bracket-label コマンドの中で指定される最初の文字列が .I opening-text の前に置かれます。 .TP .B ] .B bracket-label コマンドの中で指定される 2 番目の文字列が .I closing-text の後に置かれます。 .LP .I opening-text と .I closing-text の中に括弧を含めるのではなく、 .B [ と .B ] フラグを使うことの 1 つの利点は .B bracket-label コマンドで変更するだけでドキュメントの中で使っている括弧のスタイルを変 更できることです。 もう 1 つの利点として、これらのフラグを使うことによって引用のソートとマー ジを禁止する必要がないことがあげられます。 .LP もしラベルがテキスト中に挿入されるべきものであれば、それは .B .[ 行の前の行に挿入されます。 そのような行がない場合には .B .[ の前に余分の行が挿入されて警告が表示されます。 .LP 複数の参考文献に対する引用を作成する特別の表記法はありません。 ただ引用を 1 つの参考文献につき 1 つずつ連続して使用します。 引用の間には何も入れないで下さい。 全ての引用に対するラベルは最初の引用の前の行に付加されます。 ラベルはまたソートしたり、マージしたりすることもできます。 ラベルの表記法 .B <> とコマンド .B sort-adjacent-labels と .B abbreviate-label-ranges の説明を参照して下さい。 ラベルは引用に空でない .I opening-text か .I closing-text がある時にはマージされません。 しかし、 .I opening-text が伴わず .B [ フラグを使った引用がその直後に続く、 .I closing-text を伴わない .B ] フラグを使った引用のラベルは最初の引用の .I opening-text か次の引用の .I closing-text が空でない場合においても、ソートとマージを行なうことができます。 (もしこれを行ないたくない場合は、最初の引用で .I closing-text を .B \e& としてください。) .SS コマンド コマンドは .B .R1 で始まる行と .B .R2 の間に指定されます。 これらの行は .B \-R オプションを使うことによって認識されないようにできます。 .B .R1 行が認識された時、すべての蓄積されている参考文献は消去されます。 .B .R1 行と .B .R2 行およびこれらの間に指定されたものはすべて出力されません。 .LP コマンドは改行か .B ; によって区切られます。 .B # からその行の最後まではコメントとなります (しかし、改行自身は改行としてあつかわれます)。 各コマンドはワードに分割されます。 ワードはスペースかタブによって区切られます。 .B \(ts で始まるワードは次の .B \(ts (ただしもう 1 つの .B \(ts が直後にないもの) までがワードとして扱われます。 もし、次の .B \(ts がない場合にはその行の最後までがワードとなります。 .B \(ts で始まるワード中の .B \(ts のペアはひとつの .B \(ts として扱われます。 .B \(ts の中では .B # と .B ; は認識されません。 行は末尾に .B \e -をつけることによって継続することができます。 +をつけることによって継続できます。 ただし .B # の後の場合は継続されません。 .LP .ds n \fR* \*n でマークされた各コマンド .I name には .I name の効果を打ち消す否定コマンド .BI no- name があります。 例えば、 .B no-sort コマンドは参考文献をソートしないことを指定します。 否定コマンドは引数を取りません。 .LP 以下の説明で各引数はひとつのワードとなります。 .I field はフィールドの名前となる 1 文字の小文字または大文字です。 .I fields はそのような文字のシーケンスです。 .I m と .I n は非負の数字です。 .I string は任意の文字列です。 .I filename はファイル名です。 .Tp \w'\fBabbreviate-label-ranges'u+2n .BI abbreviate\*n\ fields\ string1\ string2\ string3\ string4 .I fields のファーストネームを短縮形にします。 頭文字ともう 1 つの頭文字の間には .I string1 が挿入されます。 ラストネームとの間には .I string2 が挿入され、その他のもの ( .B von や .B de のようなもの) との間には .I string3 が挿入されます。これらのストリングのデフォルトはピリオドにスペースが続 いたものとなります。 ハイフンで区切られたファーストネームの中で、名前の最初の部分の頭文字は .I string4 (デフォルトはピリオド) によってハイフンと分離されます。 省略形に起因する曖昧さについては特に考慮していません。 名前はソートする前およびラベルが構築される前に省略形にされます。 .TP .BI abbreviate-label-ranges\*n\ string 連続した参考文献を参照する 3 つ以上の隣接するラベルは、最初のラベル .I string 最後のラベルの順からなる 1 つのラベルに省略されます。 これは主に数字ラベルにおいて便利です。 .I string が省略された場合のデフォルトは .B \- です。 .TP .B accumulate\*n 各参考文献を出現するたびに書き出すのではなく、参考文献を蓄積していきます。 蓄積された参考文献はすべての入力ファイルが処理され .B .R1 行が認識された後に、 .RS .IP .B .[ .br .B $LIST$ .br .B .] .LP の形式の参照が指定された時に書き出されます。 .RE .TP .BI annotate\*n\ field\ string .I field は注釈です。注釈は参考文献の最後に .RS .IP .BI . string .LP の行の後にパラグラフとして印刷されます。 .I macro が省略されるとデフォルトの .B AP となります。もし、 .I field も省略されるとデフォルトの .B X となります。 注釈になれるフィールドは 1 つのみです。 .RE .TP .BI articles\ string \fR\|.\|.\|. .IR string \|.\|.\|. は定冠詞もしくは不定冠詞であり、ソートされる時にはフィールド .B T の最初では無視されなければなりません。 初期状態では .B the と .B a と .B an が冠詞として認識されます。 .TP .BI bibliography\ filename \fR\|.\|.\|. 図書目録データベース .IR filename \|.\|.\|. に含まれる全ての参考文献を書き出します。 .TP .BI bracket-label\ string1\ string2\ string3 テキスト中で、各ラベルを .I string1 と .I string2 で囲みます。 .I string2 の直後に .I string1 が現れた場合は .I string3 に置き換えられます。 デフォルトでは .RS .IP .B bracket-label \e*([. \e*(.] ", " .LP となります。 .RE .TP .BI capitalize\ fields .I fields を大文字とそれに続く小文字に変換します。 .TP .B compatible\*n スペースや改行以外の文字が次に続く場合でも .B .R1 と .B .R2 を認識します。 .TP .BI database\ filename \fR\|.\|.\|. 図書目録データベース .IR filename \|.\|.\|. を検索します。 各々の .I filename について、もし .BR indxbib (1) によって生成されたインデックス .IB filename .i が存在すれば、それが代わりに検索されます。各インデックスは複数のデータ -ベースをカバーすることができます。 +ベースをカバーできます。 .TP .BI date-as-label\*n\ string .I string はラベルを構成した後にフィールド .B D を置き換える文字列を指定するラベル式です。 ラベル式の説明については .B "ラベル式" の項を参照して下さい。 このコマンドは参考文献リストの中で明示的なラベルは使いたくないが、何ら かの方法で日付を修飾することによって曖昧さを取り除きたい場合に便利です。 通常、テキスト中で使用されているラベルは作者と日付の組み合わせになります。 ほとんどの場合、 .B no-label-in-reference コマンドも使う必要があります。 例えば、 .RS .IP .B date-as-label D.+yD.y%a*D.-y .LP は参考文献中のフィールド .B D の年の部分に曖昧さを取り除く文字を追加します。 .RE .TP .B default-database\*n デフォルトのデータベースを検索します。 これはデフォルトの動作であり、このコマンドの否定バージョンが有用です。 .B refer は検索を行なう必要が最初に出てきた場合、デフォルトのデータベースを 検索するべきかどうかを決定します。 そのため .B no-default-database コマンドを有効とするためには、それ以前に指定しておく必要があります。 .TP .BI discard\*n\ fields 参考文献が読み込まれた時、 .I fields を無効とします。 .I fields の文字列の定義は出力されません。 初期状態では .I fields は .B XYZ となっています。 .TP .BI et-al\*n\ string\ m\ n ラベル式における式 .B @ の評価での .B et al の使い方を制御します。 著者のシーケンスを明確にするために必要な著者の数を .I u 、著者の合計が .I t とすると、最後の .IR t \|\-\| u の著者が .I string によって置換され、 .IR t \|\-\| u が .I m より小さくなく、 .I t が .I n より小さくないようになります。 デフォルトでは .RS .IP .B et-al " et al" 2 3 .LP となります。 .RE .TP .BI include\ filename .I filename をインクルードし、その内容をコマンドとして解釈します。 .TP .BI join-authors\ string1\ string2\ string3 これはどのように作者を連結するかを指定します。 ちょうど 2 人の作者がある場合、 .I string1 によって連結されます。 2 人より多い作者がある場合、最後の 2 人を除いた作者は .I string2 で連結され、最後の 2 人の作者は .I string3 で連結されます。 もし .I string3 が省略されると、デフォルトは .I string1 となります。 もし .I string2 も省略されると、デフォルトは .I string1 となります。 例えば、 .RS .IP .B join-authors " and " ", " ", and " .LP は作者の連結をデフォルトの方法に戻します。 .RE .TP .B label-in-reference\*n 参考文献を出力する時に、文字列 .B [F を参考文献のラベルに定義します。 これはデフォルトの動作です。このコマンドの否定バージョンが有用です。 .TP .B label-in-text\*n 各参考文献においてテキスト中のラベルを出力します。 ラベルは .B bracket-label コマンドに記述されているようにそれを囲むテキストと分離されます。 これはデフォルトの動作です。このコマンドの否定バージョンが有用です。 .TP .BI label\ string .I string はどのように各参考文献にラベルをつけるかを記述するラベル式となります。 .TP .BI separate-label-second-parts\ string 2つの部分からなるラベルをマージする時、2 番目のラベルの 2 番目の部分を .I string で最初のラベルと分離します。 ラベル式については .B <> のラベル式の説明を参照して下さい。 .TP .B move-punctuation\*n テキストにおいてラベルの後の行末の句読点を移動します。 ラベルに肩文字の数字を使っていなければ、このコマンドを使うといいでしょ う。 .TP .BI reverse\*n\ string 名前が .I string 中にあるフィールドを逆にします。 各フィールド名の後にはいくつのフィールドが逆にされるかを示す数が指定さ れます。 フィールドにこの数が指定されなければ、そのフィールドは全て逆になります。 .TP .BI search-ignore\*n\ fields インデックスが存在しないデータベースでキーを検索している際に、 .I fields の内容を無視します。 初期状態ではフィールド .B XYZ が無視されます。 .TP .BI search-truncate\*n\ n キーの最初の .I n 文字が与えられることのみを要求します。 実際にデータベース中で与えられたキーを検索する時には .I n とキーの長さの大きい方の長さに切られます。 初期状態では .I n は 6 です。 .TP .BI short-label\*n\ string .I string はラベルのもう 1 つの (通常は短縮形の) スタイルを指定するラベル式です。 これは .B # フラグが引用で与えられている時に使われます。 author-date スタイルのラベルを使う時、作者は文脈から明らかに識別できる ことがあり、ラベルでは作者を省略したいことがあります。 通常、 .B short-label コマンドは日付と (多分) 明確な文字のみを含むラベルを指定するために使用 されます。 .TP .BI sort\*n\ string .B string に従って参考文献をソートします。 参考文献は自動的に累積されます。 .I string はフィールド名のリストであり、各フィールド名にはソートに使われる名前に いくつのフィールドがあるかを示す数字が続きます。 .B + を名前のついた全てのフィールドを使うことを示すために使うことができます。 また、 .B . を参考文献が (一時的な) ラベルを使ってソートされることを示すために使う こともできます。 ( .B ラベル式 のセクションで一時的なラベルの概念について説明しています。) .TP .B sort-adjacent-labels\*n 参考文献リスト中での位置に従って、テキスト中の隣接しているラベルをソー トします。 このコマンドは通常は .B abbreviate-label-ranges コマンドが与えられている時か、ラベル式に .B <> 式が含まれている時に使用するべきです。 これは参考文献が累積されていないと影響がありません。 .SS ラベル式 .LP -ラベル式は通常もしくは一時的に評価することができます。 +ラベル式は通常もしくは一時的に評価できます。 通常評価の結果は出力に使われます。 一時的評価の結果は .I 一時的ラベル と呼ばれ、通常評価でラベルを明確にする必要がある情報を集めるために使わ れます。 .B date-as-label と .B short-label コマンドで指定されるラベル式は一時的には評価されません。 通常評価と一時的評価は .B @ と .B * と .B % の式を除いた全てのタイプの式で同じです。 以下の説明は特に指定された場合を除き通常評価に適用されます。 .TP .I field .TQ .I field\ n .I field の .I n 番めの部分です。 .I n が省略された場合はデフォルトは 1 となります。 .TP .BI ' string ' .I string 中の文字は文字通り解釈されます。 .TP .B @ 全ての作者を .B join-authors コマンドで指定された通りに連結します。 各々の作者名の全体が使用されます。 しかし参考文献が作者でソートされると (すなわち .B A+ で始まるソート仕様)、 作者のラストネームが代わりに使用され (これは曖昧さを持ち込みません)、 また作者の頭文字のシーケンスが全ての作者の代わりに使用されます (これも 曖昧さを持ち込みません)。 いくつかの参考文献の .IR i 番目 の作者にラストネームだけを使うのは他に参考文献がある時には曖昧であると 考えられます。すなわち参考文献の最初の .IR i \|-\|1 人の作者が同じで、 .IR i 番目 の作者は同じでないが、 .IR i 番目 の作者のラストネームが同じであるような場合です。 いくつかの参考文献の作者のシーケンスの適切な頭文字のサブシーケンスは、 適切な頭文字のサブシーケンスとしてのサブシーケンスをもつ作者の別のシー ケンスをとる参考文献がある場合には、曖昧であると考えられます。 作者の頭文字のサブシーケンスが使われる場合、残りの作者は .B et-al コマンドで指定された文字列で置き換えられます。 このコマンドは頭文字のシーケンスを使うことができる以前に満たされる追加 -の要求も指定することができます。 +の要求も指定できます。 .B @ は一時的に作者の正式の表現に評価され、ソートのために同等かどうかを比較 する作者は同じ表現となります。 .TP .BI % n .TQ .B %a .TQ .B %A .TQ .B %i .TQ .B %I 参考文献のシリアル番号は .B % が続く文字に従ってフォーマットされます。 参考文献のシリアル番号はこの参考文献として同じ一時的ラベルをもつ先に現 れた参考文献の番号に 1 を加えたものとなります。 これらの式は一時的に空の文字列に評価されます。 .TP .IB expr * この参考文献としての同じ一時的ラベルを持つもう 1 つの参考文献がある場合、 空の文字列でなければ .I expr となります。 これは一時的に評価され、空の文字列になります。 .TP .IB expr + n .TQ .IB expr \- n .I expr の最初 .RB ( + ) または末尾 .RB ( \- ) の .I n 文字の大文字か小文字か数字です。 troff の ( .B \e('a のような) 特別文字は 1 文字としてカウントされます。 アクセント文字列は保持されますが、合計にはカウントされません。 .TP .IB expr .l .I expr を小文字に変換したものです。 .TP .IB expr .u .I expr を大文字に変換したものです。 .TP .IB expr .c .I expr を大文字とそれに続く小文字に変換したものです。 .TP .IB expr .r .I expr をラストネームが最初に来るように逆にしたものです。 .TP .IB expr .a ファーストネームが略称になった .I expr です。 .B abbreviate コマンドによって指定されたフィールドはラベルが評価される前に略称にされ ます。 このため、 .B .a は参考文献の中ではなくラベルの中でのみフィールドを略称にしたい時のみ有 用です。 .TP .IB expr .y .I expr の年の部分です。 .TP .IB expr .+y .I expr の年の前の部分、もしくはそれが年を含んでいなければ .I expr の全体となります。 .TP .IB expr .\-y .I expr の年の後の部分、もしくは .I expr が年を含んでいなければ空の文字列となります。 .TP .IB expr .n .I expr のラストネームの部分となります。 .TP .IB expr1 \(ti expr2 .I expr1 となります。ただし、 .I expr1 の最後の文字が .B \- である場合は .I expr2 に置き換えられます。 .TP .I expr1\ expr2 .I expr1 と .I expr2 の結合です。 .TP .IB expr1 | expr2 .I expr1 が空でなければ .I expr1 となり、それ以外では .I expr2 となります。 .TP .IB expr1 & expr2 .I expr1 が空でなければ .I expr2 となり、それ以外では空の文字列となります。 .TP .IB expr1 ? expr2 : expr3 .I expr1 が空でなければ .I expr2 となりそれ以外では .I expr3 となります。 .TP .BI < expr > このラベルには 2 つの部分があり、 .I expr によって分離されています。 2 つの部分からなり、最初の部分が同じである 2 つの連続したラベルは最初 のラベルに次のラベルの 2 番目の部分を追加し、 .B separate-label-second-parts コマンド (初期値ではスペースが続くコンマ) によって指定された文字列によっ て分離することによってマージされます。その結果のラベルもまた 2 つの部 分からなるラベルとなり、最初の部分がマージ前の最初の部分となります。さ らに追加されるラベルはこれにマージされます。 最初の部分が空であっても差し支えありません。これは .B short-label コマンドで使う式で使うことができます。 .TP .BI ( expr ) .I expr と同様です。 グルーピングを行なうために使われます。 .LP 上述の式は順位 (高いものが最初) の順にリストされます。 .B & と .B | は同じ優先順位となります。 .SS マクロインタフェース 各参考文献はマクロ .B ]- の呼び出しで始まります。 文字列 .B [F は .B no-label-in-reference コマンドが与えられていないと、 この参考文献のラベルになるように定義されます。 その後一連の文字列の定義が続きます。 定義は各フィールドに 1 つずつで、 文字列 .BI [ X はフィールド .I X に対応します。 数値レジスタ .B [P はフィールド .B P がページの範囲を含んでいれば 1 にセットされます。 .B [T と .B [A と .B [O の数値レジスタは、 .B .?! の文字のいずれかで終るフィールド .B T と .B A と .B O に対応して 1 にセットされます。 数値レジスタ .B [E は文字列 .B [E が複数の名前を含んでいれば 1 にセットされます。 参考文献にはマクロ .B ][ への呼び出しが続きます。 このマクロの最初の引数には参考文献のタイプを表す数を与えます。 もし参考文献がフィールド .B J を含んでいると、タイプ 1 として分類されます。 またフィールド .B B を含んでいるとタイプ 3、フィールド .B G か .B R を含んでいるとタイプ 4、フィールド .B I を含んでいるとタイプ 2となり、これら以外ではタイプ 0 となります。 2 番目の引数はタイプ .BR other , .BR journal-article , .BR book , .B article-in-book もしくは .B tech-report のシンボル名です。 .B bibliography コマンドによって累積もしくは生成される参考文献のグループは .B ]< マクロの呼び出しに先行し、 .B ]> マクロの呼び出しが続きます。 .SH 関連ファイル .Tp \w'\fB/usr/share/dict/papers/Ind'u+2n .B /usr/share/dict/papers/Ind デフォルトのデータベースです。 .TP .IB file .i インデックスファイルです。 .SH "関連項目" .BR indxbib (1), .BR lookbib (1), .BR lkbib (1) .br .SH バグ ラベル表記法において .B <> 表記は .BI . char 表記の中では無視されます。 diff --git a/ja/man/man1/sh.1 b/ja/man/man1/sh.1 index cff084dddb..9328e91d74 100644 --- a/ja/man/man1/sh.1 +++ b/ja/man/man1/sh.1 @@ -1,1200 +1,1211 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Kenneth Almquist. .\" .\" 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: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" %Id: sh.1,v 1.23 1998/12/18 03:51:18 jkoshy Exp % +.\" %Id: sh.1,v 1.23.2.1 1999/04/12 15:46:02 cracauer Exp % .\" .\" jpman %Id: sh.1,v 1.2 1997/05/31 16:40:31 jsakai Stab % .\" Japanese Translation amended by Norihiro Kumagai, 3/29/96, .\" based on the version of NetBSD Japanese Man Project .\" This amended version is for the FreeBSD-jpman Project, convened .\" by Kazuo Horikawa. .\" .Dd May 5, 1995 .Dt SH 1 .Os BSD 4 .Sh 名称 .Nm sh -.Nd コマンドインタプリタ(シェル) +.Nd コマンドインタプリタ (シェル) .Sh 書式 .Nm -.Op Fl /+abCEefIimnpsuVvx +.Op Fl /+abCEefIimnpsTuVvx .Op Fl /+o Ar longname .Op Fl c Ar string .Op Ar arg ... .Sh 解説 .Nm はシステムの標準コマンドインタープリタです。 現在 .Nm は .St -p1003.2 のシェル規約に対応する途上にあります。 本バージョンのシェルは、見方によっては Korn shell と同様に 見える機能を多数持っていますが、 -Korn shell のクローンではありません(もし Korn shell クローンを望むなら、 +Korn shell のクローンではありません (もし Korn shell クローンを望むなら、 Gnu の bash を使いましょう)。 このシェルには、POSIX で規定された仕様といくつかの Berkeley 拡張のみが 取り入れられています。 本マニュアルは、shell のチュートリアルでは ありませんし、仕様を完全に記述するものでもありません。 .Ss 概要 シェルは、ファイルまたは端末から 1 行ずつ読み込み、それを解釈し、 コマンドを実行します。シェルはユーザがシステムにログインしたときに起動 -されるプログラムです(ただし、ユーザは chsh(1) +されるプログラムです (ただし、ユーザは chsh(1) コマンドによって他のシェルを選択することもできます)。 シェルは、制御構文を持つ言語であり、 データ記憶をはじめとして多様な機能を提供するマクロ機能、 ヒストリ、行編集機能も内蔵しています。 このシェルは対話的に使うときに便利な機能を多くとり入れており、 対話的に用いるときも非対話的に (シェルスクリプトとして) 用いるときも、 共通のインタプリタ言語を用いることができる利点があります。 すなわち、コマンド名をシェルに直接タイプする ことも、コマンド名をファイルに書いておいてそのファイルをシェルに 実行させることもできます。 .Ss 起動 引数が与えられず、かつシェルの標準入力が端末の場合 (または -i フラグが指定 された場合)、シェルは対話的に動作します。対話的シェルは、通常、コマンド 入力時にプロンプトを表示し、文法的なエラーとコマンドエラーを 異なった方法で処理します (後述します)。 起動時に、シェルは 0 番目の引数を検査します。もしそれが ダッシュ `-' で始まっているなら、シェルはログインシェルとして 動作します。ユーザがシステムにログインした場合は自動的にこの状況に なります。ログインシェルは、まず (以下の各ファイルが存在する場合)、 .Pa /etc/profile と .Pa .profile ファイルからコマンドを読み込みます。 シェル起動時に、もしくはログインシェルで .Pa .profile を実行中に環境変数 .Ev ENV が設定されているなら、シェルは、その次に環境変数 .Ev ENV で示されたファイルからコマンドを読み込みます。 つまり、ユーザはログイン時にのみ実行したいコマンドを .Pa .profile に書き、シェルが起動されるたびに実行したいコマンドを環境変数 .Ev ENV で示すファイルに書くことになります。 環境変数 .Ev ENV を設定するには、ユーザのホームディレクトリ下のファイル .Pa .profile に以下のように記述します。 .sp .Dl ENV=$HOME/.shinit; export ENV .sp ここで、 .Pa .shinit のかわりに好きな名前を指定することができます。 オプション以外にコマンドライン引数が指定された場合、シェルは最初の引数 を、コマンドを読み込むべきファイル (シェルスクリプト) の名前であると解釈し、 それ以後の引数はシェルの位置パラメータ ($1, $2, ...) に設定します。 それ以外の場合、シェルはコマンドを標準入力から読み込みます。 .Pp 古いバージョンの .Nm とは異なり、環境変数 .Ev ENV で指定したスクリプトが実行されるのは、対話的シェルの呼び出し時のみです。 これにより、いい加減に書かれた .Ev ENV スクリプトに起因する、簡単に食いものにされることが多い有名な セキュリティホールがふさがれたことになります。 .Ss 引数リスト処理 .Nm の 1 文字からなるオプションはそれぞれ対応する名前を持っており、 .Xr set 1 組み込みコマンド (後述) の引数として用いることができます。 これらの名前は、以下の説明で 1 文字オプションのすぐあとに書いてあります。 マイナス記号 .Dq - でオプションを指定することは、そのオプションを有効にすることを意味し、 プラス記号 .Dq + でオプションを指定することは、そのオプションを無効にすることを意味します。 .Dq -- または、単なる .Dq - はオプション処理を終了させ、 コマンドラインの残りの語を引数として解釈することを強制します。 .Bl -tag -width Ds .It Fl a Li allexport -値が代入された変数の全てをエクスポートします(未実装です)。 +値が代入された変数の全てをエクスポートします。 .It Fl b Li notify バックグラウンドジョブ実行の完了を、コマンドが実行中でも即座に報告しま -す(未実装です)。 +す (未実装です)。 .It Fl C Li noclobber すでに存在するファイルに対して .Dq > リダイレクトにより上書きしません (未実装です)。 .It Fl E Li emacs 組み込みの .Xr emacs 1 風のコマンド行編集機能を有効にします (それ以前に .Fl V オプションが指定された場合、それを無効にします)。 .It Fl e Li errexit 非対話的シェルで、テスト状態にないコマンドの実行に失敗した場合、 直ちにシェルを終了します。 コマンドは、if, elif, while, until 構文を 制御するのに用いられている場合に、テスト状態であるとみなされます。 また、 .Dq && や .Dq || の左辺値として用いられているコマンドも、テスト状態とみなされます。 .It Fl f Li noglob パス名展開を行ないません。 .It Fl I Li ignoreeof 対話的シェルの場合、入力の EOF を無視します。 .It Fl i Li interactive シェルが対話的に動作するように強制します。 .It Fl m Li monitor ジョブ制御を可能にします (対話的シェルの場合は自動的に設定されます)。 .It Fl n Li noexec 非対話的シェルの場合、コマンドを読み込みますが、そのコマンドの実行は しません。シェルスクリプトの文法を検査する場合に便利です。 .It Fl p Li privileged 特権モードを有効にします。 起動時に実効ユーザ ID あるいは実効グループ ID が、実ユーザ ID や実グルー プ ID と一致していなければ、このモードが有効になります。このモードを無 効化すると、実効ユーザ ID および実効グループ ID は、実ユーザ ID および 実グループ ID に設定されます。 対話的シェルでこのモードが有効になっていると、 .Pa /etc/profile の後で .Pa ~/.profile に代わり、 .Pa /etc/suid_profile を読み込みます。一方、環境変数 .Ev ENV の内容は無視されます。 + .It Fl s Li stdin コマンドを標準入力から読み込みます (引数でファイル名が指定されていない 場合には、このオプションが自動的に設定されます)。 シェルが実行されてから本オプションを( .Xr set 1 などによって)設定しても効果はありません。 +.It Fl T Li asynctraps +子を待つとき、即座にトラップを実行します。 +本オプションが設定されていないと、 +.St -p1003.2 +で指定されているように、子が終了した後にトラップが実行されます。 +この非標準オプションは、 +シグナルをブロックする子の周囲に保護シェルを置くために有用です。 +周囲のシェルは子を殺したり、 +次のように、制御を tty に戻して子だけを残したりできます: +.Bd -literal -offset indent +sh -T -c "trap 'exit 1' 2 ; some-blocking-program" +.Ed +.Pp .It Fl u Li nounset 値が設定されていない変数を展開しようとした場合、 標準エラー出力にエラーメッセージを出力し、 さらに非対話的シェルならば、ただちにシェルを終了します (未実装です)。 .It Fl V Li vi 組み込みの .Xr vi 1 風の行編集機能を有効にします (それ以前に .Fl E オプションが指定されていた場合、それは無効になります)。 .It Fl v Li verbose 入力を読み込むごとに標準エラー出力に書き出します。デバッグのときに便利です。 .It Fl x Li xtrace 各コマンドを実行する前に、そのコマンドを標準エラー出力に (各コマンドの 前に `+' を付加して) 書き出します。デバッグのときに便利です。 .It Fl c Ar string 文字列引数 string はシェルに渡され、入力として解釈されます。このオプショ ンは引数として文字列を一つだけ受け取ることに注意して下さい。ですから、複 数の単語からなる文字列は引用符で囲う必要があります。 .El .Ss 構文構造 シェルは、ファイルを行単位で読み込み、空白文字 (ブランクおよびタブ) や シェルにとって特別な意味を持つ特定の文字列 ( .Dq 演算子 -と呼ばれるもので -す) を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ +と呼ばれるものです) +を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ ダイレクト演算子の 2 種類があります (これらの意味については後述します)。 以下に、それらの一覧を示します。 .Bl -tag -width Ds .It No 制御演算子: & && ( ) ; ;; | || .No \en .It No リダイレクト演算子: -< > >| << >> <& >& <<- <> +< > >| << >> <& >& <<- .El -.Ss 引用(クォート) +.Ss 引用 (クォート) 引用は、特殊な意味を持つ文字や単語 (演算子、空白、キーワードなど) の意味 を打ち消すために用います。引用には、シングルクォート文字のペアを使う方法、 ダブルクォート文字のペアを使う方法、バックスラッシュ文字を使う方法 の 3 種類があります。 .Bl -tag -width Ds .It シングルクォート文字 -シングルクォートのペアで囲まれた文字は、すべてその文字そのまま(リテラ -ル)として扱われます (ただしシングルクォートは別です。シングルクォート +シングルクォートのペアで囲まれた文字は、すべてその文字そのまま (リテラル) +として扱われます (ただしシングルクォートは別です。シングルクォート で囲った文字列の中にシングルクォートを含めることはできません)。 .It ダブルクォート文字 -ダブルクォートのペアで囲まれた文字は、ドル記号文字($)、バッククォート -文字(`)、バックスラッシュ文字(\\) を除き、すべてリテラルとして扱われま -す。ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史 +ダブルクォートのペアで囲まれた文字は、ドル記号文字 ($)、バッククォート +文字 (`)、バックスラッシュ文字 (\\) を除き、すべてリテラルとして扱われます。 +ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史 的経緯によりすこし変わった扱いを受けます。つまり、直後に $, `, ", \\, 改行文字 が来るときにのみ、それらの文字がリテラルとして扱われます。そ れ以外の文字が来る場合、バックスラッシュ文字自体がリテラルとして扱われ ます。 .It バックスラッシュ バックスラッシュは、その後ろの 1 文字を、リテラルとして扱うように指示 します。ただし改行文字は別です。改行文字の直前のバックスラッシュは、行 の継続であるとみなされます。 .El .Ss 予約語 予約語はシェルにとって特別な意味を持つ単語で、行の先頭または制御演算子 の直後でのみ予約語として認識されます。以下に予約語の一覧を挙げます。 .Bd -literal -offset indent ! { } case do done elif else esac fi for if then until while .Ed .Ss エイリアス エイリアスは、名前とそれと対応する値が対になったもので、 組み込みコマンド .Xr alias 1 によって定義されます。 -シェルは、予約語が現れる可能性がある場所(上記を参照)で、 +シェルは、予約語が現れる可能性がある場所 (上記を参照) で、 ある単語に対して、それが予約語かどうかの検査を済ませたのち、 それがエイリアスに一致するかどうかを検査します。 もし一致したならば、入力行の中で、その単語をエイリアスの値に置き換えます。 たとえば、``lf'' という名前で ``ls -F'' という値を持つエイリアスが 存在したとすると、次の入力行 .Bd -literal -offset indent lf foobar .Ed .Pp は、以下のように置換されます。 .Bd -literal -offset indent ls -F foobar .Ed .Pp エイリアスは、初心者に対し、引数付きの関数を生成する面倒を求めることなく、 短いコマンドをつくり出す便利な方法を提供するものです。 しかし、構文的にあいまいなコードを作り出すことにもつながりかねません。 そのような使い方はお勧めできません。 .Ss コマンド シェルは、読み込んだ単語を、文法に従って解釈します。 本マニュアルでは文法については解説しません。 .St -p1003.2 の BNF 表記を参照してください。要するに、行を1行を読み込み、読み込んだ -行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語 +行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語 でない場合、シェルはその行を単純コマンドとして解釈します。それ以外の場 合、複合コマンドあるいは特殊構造であると解釈します。 .Ss 単純コマンド 単純コマンドを解釈する場合、シェルは以下のような動作をします。 .Bl -enum .It 単語の前にある ``name=value'' の形式の単語を取り除き、 単純コマンドの環境に代入します。 リダイレクト演算子とその引数 (後述) を取り除き、 あとで処理できるように保存します。 .It 残った単語を、「展開」の節で説明する方法で展開します。 展開後の最初の単語をコマンド名とみなし、コマンドの位置を探索します。 残りの単語はコマンドへの引数とみなされます。 処理の結果、コマンド名が残らなかった場合、手順 1) で 取り出した ``name=value'' の変数代入を、現在のシェルの環境に反映します。 .It 次節で説明する方法で、リダイレクトを行ないます。 .El .Ss リダイレクト リダイレクトは、コマンドがどこから入力するか、どこへ出力するかを 変更するときに用います。 一般には、リダイレクトでは、ファイルのオープン、クローズ、または ファイルへの参照の複写 (duplicate) を行います。 リダイレクトで用いられる全般的な形式は、以下のとおりです。 .sp .Dl [n] redir-op file .sp ここで、redir-op は前述したリダイレクト演算子のいずれかです。 これらの演算子をどのように利用するかの例をいくつか以下に挙げます。 .Bl -tag -width "1234567890" -offset indent .It [n]> file 標準出力 (またはファイル記述子 n への出力) をファイル file に書き出します。 .It [n]>| file 上と同様。ただし、-C オプションの効果を打ち消します。 .It [n]>> file 標準出力 (またはファイル記述子 n への出力) をファイル file に追加します。 .It [n]< file 標準入力 (またはファイル記述子 n からの入力) をファイル file から取ります。 .It [n1]<&n2 ファイル記述子 n2 を標準入力 (またはファイル記述子 n1) に複写します。 .It [n]<&- 標準入力 (またはファイル記述子 n) をクローズします。 .It [n1]>&n2 ファイル記述子 n2 を標準出力 (またはファイル記述子 n1) に複写します。 .It [n]>&- 標準出力 (またはファイル記述子 n) をクローズします。 -.It [n]<> file -標準入力 (あるいはファイル記述子 n) により、ファイル file を -読み書きするようにします。 .El .Pp 以下のリダイレクトは、しばしば``ヒア・ドキュメント(here-document)''と 呼ばれます。 .Bd -literal -offset indent [n]<< delimiter here-doc-text... delimiter .Ed .Pp シェルは、delimiter までの行を保存し、コマンドへの標準入力またはファイ -ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォー -ト) されていた場合、here-doc-text の内容をリテラルとして扱います。そ -うでない場合、パラメータ展開、コマンド置換、数値演算 (「展開」の節で説 -明します) を適用します。演算子が (``<<'' でなく) ``<<-'' の場合は、 +ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォート) +されていた場合、here-doc-text の内容をリテラルとして扱います。 +そうでない場合、パラメータ展開、コマンド置換、数値演算 (「展開」の節で +説明します) を適用します。演算子が (``<<'' でなく) ``<<-'' の場合は、 here-doc-text の各行の行頭のタブを取り除きます。 .Ss コマンド検索と実行 コマンドには、シェル関数、組み込みコマンド、通常プログラムの 3 種類があり、 コマンドを検索する際には、シェルは名前の検索をこの順序で行います。 それぞれのコマンドは異なる方法で実行されます。 .Pp シェル関数を実行するとき、$0 を除くすべての位置パラメータ ($1, $2,..) をシェル関数への引数として設定します。$0 は変更されません。シェル関数 の環境として指定された変数 (関数名の直前に ``name=value'' を置いて指定 されたもの) は、その関数に局所的な変数となり、指定された初期値が設定さ れます。そして、シェルは関数定義で与えられたコマンドを実行します。コマ ンドの実行が完了すると、位置パラメータを元の値に戻します。これは全て現 在のシェルの中で処理されます。 .Pp 組み込みコマンドは、新たなプロセスを作成せずにシェル内部で実行されます。 .Pp コマンドが関数でも組み込みコマンドでもない場合は、通常のプログラムとみなし (次節で説明するとおり) ファイルシステムの中でそのコマンドを検索します。 通常のプログラムを実行する場合、シェルは引数と 環境をプログラムに渡して、そのプログラムを実行します。 プログラムが通常の実行ファイル形式ではない場合 (つまり、 .Tn ASCII 表現で "#!" となる「マジックナンバ」でファイルが始まっておらず、 .Fn execve 2 が .Er ENOEXEC を返す場合)、 サブシェルの中でそのプログラムを解釈実行します。この場合、あたかも新たに シェルが起動されたかのような効果を得るために、子シェルは自分自身を 再初期化します。ただし、子プロセスは、親シェル中のハッシュされたコマンド 位置情報を憶えており、これは再初期化されません。 .Pp 本ドキュメントの古いバージョンや古いソースコードでは、ときおり、 マジックナンバのないシェルスクリプトのことを「シェル手続き」と呼んでいて、 まぎらわしい場合がありますので注意して下さい。 .Ss パス検索 コマンドを検索するとき、シェルは、まず、その名前のシェル関数があるかどうかを 調べます。次に、その名前の組み込みコマンドがあるかどうかを調べます。 組み込みコマンドでもない場合、以下のいずれかの処理が行われます: .Bl -enum .It コマンド名にスラッシュが含まれていれば、検索は行わず、 単にそのコマンドが実行されます。 .It 変数 .Ev PATH に含まれる各エントリに対して、順にそのコマンドを検索します。 変数 .Ev PATH -の値はコロン(``:'')で区切られたエントリの列でなければなりません。 +の値はコロン (``:'') で区切られたエントリの列でなければなりません。 各エントリは、それぞれディレクトリ名一つに対応します。 カレントディレクトリは、 空のディレクトリ名を指定することで暗黙的に、 あるいは 1 個のピリオドを指定することで明示的に 指示することができます。 .El .Ss コマンドの実行ステータス 各コマンドは終了ステータスを持ち、それにより他のシェルコマンドの動作に 影響を与えることができます。基本的な考え方として、終了ステータス 0 は 通常の終了または成功を示します。0 以外の終了ステータスは失敗、エラーを 意味します。各コマンドのマニュアルにそれぞれの終了ステータスがどのよう -な意味を持つかが記述されているはずです。組み込みコマンドと(実行された) +な意味を持つかが記述されているはずです。組み込みコマンドと (実行された) 関数も終了ステータスを返します。 .Pp -コマンドがシグナルにより終了(terminate)させられた場合、 +コマンドがシグナルにより終了 (terminate) させられた場合、 終了ステータスは 128 にシグナル番号を加えたものになります。 シグナル番号はヘッダファイル .Aq Pa sys/signal.h に定義されています。 -.Ss 複合コマンド(Complex Commands) +.Ss 複合コマンド (Complex Commands) 複合コマンドは、単純コマンドの組み合わせで作ります。 制御演算子または予約語と組み合わせることで、より大きな複合コマンドを生 成します。一般に、コマンドは以下のうちのいずれかです。 .Bl -item -offset indent .It 単純コマンド .It パイプライン .It -リストまたは合成リスト(compound-list) +リストまたは合成リスト (compound-list) .It -合成コマンド(compound command) +合成コマンド (compound command) .It 関数定義 .El .Pp 特に指定のない場合、コマンドの終了ステータスは最後に実行された 単純コマンドの終了ステータスとなります。 .Ss パイプライン パイプラインは、複数のコマンドを制御演算子 `|' によってつないだものです。 最後のコマンドを除くすべてのコマンドの標準出力は、次のコマンドの標準入力に 接続されます。 最後のコマンドの標準出力は、通常通り、シェルから受け継がれます。 .Pp パイプラインの形式は次のとおりです。 .Bd -literal -offset indent [!] command1 [ | command2 ...] .Ed .Pp command1 の標準出力は command2 の標準入力に接続されます。コマンドの標 準入出力がパイプラインによって割り当てられるのは、各コマンドに属する リダイレクト演算子で指定されたリダイレクトを処理する前のことだと考えて 下さい。 .Pp パイプラインがバックグラウンド (後述) でなければ、シェルはすべての コマンドが終了するのを待ちます。 .Pp パイプラインの直前に予約語 `!' が置かれなかった場合、終了ステータスは パイプラインの最後のコマンドの終了ステータスとなります。 `!' が前置された場合、終了ステータスはパイプラインの最後のコマンドの 終了ステータスの論理否定を取った値となります。 すなわち、最後のコマンドが 0 を返した場合、パイプラインの 終了ステータスは 1 に、最後のコマンドが 0 より大きな値を返した場合、 終了ステータスは 0 になります。 .Pp パイプラインによる標準入出力の接続はリダイレクトに先立って行われるため、 パイプラインの接続をリダイレクトによって修正することができます。たとえば、 .Bd -literal -offset indent $ command1 2>&1 | command2 .Ed .Pp は、command1 の標準出力と標準エラー出力の両方を command2 の標準入力に 接続します。 .Pp \&; または改行文字を終端として用いることにより、直前の AND-OR リスト (後述) を 順次実行します。& は、直前の AND-OR リストを非同期に実行します。 .Pp 注: 他のいくつかのシェルと異なり、パイプラインの各プロセスは 起動したシェルの子プロセスとなります (シェルの組み込みコマンドである ときは別です。その場合は現在のシェルで実行されます --- ただし 環境に対して行った操作は取り消されます)。 .Ss バックグラウンドコマンド -- & コマンドが制御演算子 & で終了している場合、シェルはそのコマンドを 非同期に実行します。すなわち、シェルはそのコマンドの終了を待たずに、 次のコマンドの実行を開始します。 .Pp コマンドをバックグラウンドで実行させるための形式は以下のとおりです。 .Bd -literal -offset indent command1 & [command2 & ...] .Ed .Pp シェルが対話的でない場合、非同期コマンドの標準入力には /dev/null が 接続されます。 .Ss リスト -- 一般的な話 リストは 0 個またはそれ以上のコマンドを改行文字、セミコロン文字、アン パーサント文字 (&) で区切った列です。リストは、これら 3 つの記号のいずれかで 終了させることもできます。リスト中のコマンドは並べられた順に実行 されます。もし、コマンドに続けてアンパーサント文字が置かれている場合、 シェルはそのコマンドを起動したあと、すぐに次のコマンドの処理を開始します。 その他の場合、そのコマンドの終了を待ってから次のコマンドの処理を開始します。 -.Ss 短絡リスト演算子(Short-Circuit List Operators) +.Ss 短絡リスト演算子 (Short-Circuit List Operators) ``&&'' と ``||'' は AND-OR リスト演算子です。 ``&&'' は最初のコマンド を実行し、もし最初のコマンドの終了ステータスが 0 ならば次のコマンドを 実行します。 ``||'' も同様ですが、最初のコマンドの終了ステータスが 0 でない場合に、次のコマンドを実行します。 ``&&'' と ``||'' の優先順位は 同じです。 .Ss 制御構造 -- if, while, for, case if コマンドの文法は以下のとおりです。 .Bd -literal -offset indent if list then list [ elif list then list ] ... [ else list ] fi .Ed .Pp while コマンドの文法は以下のとおりです。 .Bd -literal -offset indent while list do list done .Ed .Pp 最初のリストの終了ステータスが 0 であるかぎり、2 つのリストを繰り返し 実行します。until コマンドも同様に実行しますが、 単語 while の代わりに単語 until を使うことと、 最初のリストの終了ステータスが 0 になるまで、 2 つのリストを繰り返し実行することが異なります。 .Pp for コマンドの文法は以下のとおりです。 .Bd -literal -offset indent for variable in word... do list done .Ed .Pp 各 word は展開され、変数 variable に word を順に設定しながらリストを 繰り返し実行します。do と done は ``{'' と ``}'' で置き換えることができます。 .Pp break と continue コマンドの文法は以下のとおりです。 .Bd -literal -offset indent break [ num ] continue [ num ] .Ed .Pp break は内側から num 個の for ループまたは while ループを終了します。 continue は、 num 個目のループの次の繰り返しに制御を移します。 .\" 上の文、原文では以下のようになっているが、the *num* innermost loop が .\" 正しいと思われる。実際の sh の動作もそうなっているようだ。 .\" --- 97/05/31 sakai@jp.freebsd.org ↓ .\" Continue continues with the next iteration of the innermost loop. これらのコマンドは組み込みコマンドとして実装されています。 .Pp case コマンドの文法は以下のとおりです。 .Bd -literal -offset indent case word in pattern) list ;; ... esac .Ed .Pp pattern は、1 つあるいは複数のパターン (後述の「シェルパターン」を参照 のこと) を ``|'' で接続したものです。 .Ss 複数のコマンドのグループ化 コマンドは、以下のいずれかの方法によりグループ化することができます。 .Bd -literal -offset indent (list) .Ed .Pp または、 .Bd -literal -offset indent { list; } .Ed .Pp 最初の形式では、コマンドはサブシェル上で実行されます。 (list) のなかの組み込みコマンドは、現在のシェルには影響を与えません。 2 つめの形式では新たなシェルを fork しないので、やや効率が良くなります。 このようにして複数コマンドをグループ化することで、 あたかも単一プログラムであるかのように、それらの出力をまとめて リダイレクトすることができます。 .Bd -literal -offset indent { echo -n "hello"; echo " world"; } > greeting .Ed .Ss 関数 関数定義の構文は以下のとおりです。 .Bd -literal -offset indent name ( ) command .Ed .Pp 関数定義は実行可能文の一種です。実行されると、名前 name の関数 が定義され、終了ステータスとして 0 を返します。command は 通常、``{'' と ``}'' で囲まれたリストです。 .Pp local コマンドを用いて関数に局所的な変数を宣言することができます。 これは関数定義中の最初の文で行わなければなりません。構文は次のとおりです。 .Bd -literal -offset indent local [ variable | - ] ... .Ed .Pp local コマンドは、組み込みコマンドとして実装されています。 .Pp 変数を局所変数にする場合、関数を呼び出した環境に同じ名前の変数があれば、 新しい局所変数は値と export、readonly フラグを引き継ぎます。もし同じ名前の 変数がなければ、局所変数は初期値を持ちません。シェルは動的スコープ を用います。すなわち、関数 f に局所的な変数 x を作成し、関数 f から 関数 g を呼び出した場合、関数 g 内部での変数 x に対する操作は大域変数 x ではなく、関数 f で宣言された変数 x への操作となります。 .Pp 特殊パラメータのうち局所宣言できるのは ``-'' だけです。 ``-'' を 局所宣言すると、関数内で set コマンドを用いてシェルオプションを 変更しても、関数が終了するとそれらのオプションは元の値に戻ります。 .Pp return コマンドの文法は以下のとおりです。 .Bd -literal -offset indent return [ exitstatus ] .Ed .Pp return は現在実行中の関数を終了させます。return は組み込みコマンドとして 実装されています。 .Ss 変数とパラメータ シェルはパラメータの集合を管理しています。名前を持つパラメータを 変数と呼びます。シェルは、起動時にすべての環境変数をシェル変数に取り込みます。 新たな変数は、次の形式によって設定できます。 .Bd -literal -offset indent name=value .Ed .Pp ユーザが設定する変数は、アルファベット、数字、アンダースコア (_) のみ からなる名前を持つ必要があります。また、最初の文字が数字であっては いけません。 パラメータは、以下に示す数字または特殊記号により参照することもできます。 .Ss 位置パラメータ 位置パラメータは、数字 (n > 0) によって参照されるパラメータです。シェルは 位置パラメータの初期値としてシェルスクリプト名に続く引数を設定します。 組み込みコマンド .Xr set 1 により再設定や消去ができます。 .Ss 特殊パラメータ 特殊パラメータは、以下に挙げる特殊文字のいずれかにより参照される パラメータです。各パラメータの値の説明を各文字の後ろに示します。 .Bl -hang .It * 位置パラメータ 1,2,... に展開されます。ダブルクォート文字列内部で展開 される場合、展開結果は各位置パラメータの間を変数 IFS の先頭の文字 (IFS が設定されていない場合は空白文字) で区切った単一の文字列になります。 .It @ 位置パラメータ 1,2,... に展開されます。ダブルクォート引用の内部で展開 される場合、各位置パラメータは別々の引数となります。 もし、位置パラメータが設定されていない場合には、 @ の展開結果は 0 個の引数となります (ダブルクォート引用の内部であっても)。 すなわち、$1 が ``abc''、$2 が ``def ghi'' であった場合、"$@" は 次の 2 つの引数に展開されます。 .Bd -literal -offset indent "abc" "def ghi" .Ed .It # 位置パラメータの数に展開されます。 .It ? 最後に実行したパイプラインの終了ステータスに展開されます。 .It - -(ハイフン) 現在のオプションフラグ (1文字オプション名をつないだ文字列) +(ハイフン) 現在のオプションフラグ (1 文字オプション名をつないだ文字列) に展開されます。起動時に指定されたもの、組み込みコマンド set で指定した もの、シェルが暗黙に設定したもののすべてを含みます。 .It $ 起動されたシェルのプロセス ID に展開されます。 サブシェルも親シェルと同じ値を持ちます。 .It ! 現在のシェルが最後にバックグラウンドで実行したコマンドのプロセス ID に 展開されます。パイプラインの場合、パイプラインの最後のコマンドの プロセス ID になります。 .It 0 (ゼロ) シェルの名前またはシェルスクリプト名に展開されます。 .El .Ss 単語展開 本節では、単語に対して適用されるさまざまな展開について説明します。あとで 述べるように、すべての展開がすべての単語に対して適用されるわけではありません。 .Pp 単一の単語に対して適用されたチルダ展開、パラメータ展開、コマンド置換、 数式展開、クォート削除の結果は単一のフィールドになります。単一の単語が 複数のフィールドに分割される可能性があるのは、フィールド分割または パス名展開の場合だけです。この規則の唯一の例外は、ダブルクォート中の パラメータ @ の展開です (前述)。 .Pp 単語展開の順序は以下のとおりです。 .Bl -enum .It チルダ展開、パラメータ展開、コマンド置換、数式展開 (これらはすべて 同時に行われます) .It 変数 IFS の値が空でなければ、(1) の結果の各フィールドに対して フィールド分割が行われる .It パス名展開 (-f オプションが無効の場合) .It クォート削除 .El .Pp 文字 $ はパラメータ展開、コマンド置換、数式評価を行うきっかけになります。 .Ss チルダ展開 (ユーザのホームディレクトリ名への置換) 引用されていないチルダ文字 (~) で始まる単語は、チルダ展開の対象になります。 チルダ文字からスラッシュ文字または単語の終端までのすべての文字がユーザ名 とみなされ、そのユーザのホームディレクトリに置換されます。もしユーザ名が -省略された場合(たとえば ~/foobar)、チルダ文字は変数 HOME の値(現在のユーザ -のホームディレクトリ)に置換されます。 +省略された場合 (たとえば ~/foobar)、チルダ文字は変数 HOME の値 +(現在のユーザのホームディレクトリ) に置換されます。 .Ss パラメータ展開 パラメータ展開の形式は以下のとおりです。 .Bd -literal -offset indent ${expression} .Ed .Pp ここで、expression は対応した `}' までのすべての文字です。対応する`}' を調べる際に、バックスラッシュ文字によりエスケープされたり、クォート文字に 狭まれた `}' や、数式展開に埋め込まれている文字や、コマンド置換や変数展開中に ある文字は調べる対象になりません。 .Pp パラメータ展開の形式のうちもっとも単純なものは以下のとおりです。 .Bd -literal -offset indent ${parameter} .Ed .Pp そのパラメータに値が存在する場合、その値に置き換えられます。 .Pp -パラメータ名やシンボルを中括弧({})で囲んでも構いません。この中括弧は、 +パラメータ名やシンボルを中括弧 ({}) で囲んでも構いません。この中括弧は、 数字 2 文字以上からなる位置パラメータの場合や、パラメータ名の直後に パラメータ名の一部であるとみなし得る文字が続く場合を除き、 省略可能です。ダブルクォート引用中のパラメータ展開は以下 のようになります。 .Bl -enum .It パラメータ展開を行った結果の単語に対しては、パス名展開は適用されません。 .It パラメータが @ の場合を除き、フィールド分割は適用されません。 .El .Pp さらに、以下の形式を用いることにより、パラメータ展開の結果に修正を加える ことができます。 .Bl -tag -width Ds .It Li ${parameter:-word} デフォルト値への置換: パラメータ parameter が設定されていないか空の値 を持つ場合、word を展開した結果に置換されます。さもなければ、パラメー タ parameter の値に置換されます。 .It Li ${parameter:=word} デフォルト値の代入: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果が parameter に代入されます。最終的にパラメータ parameter の値 に置換されます。位置パラメータや特殊パラメータは、この方法で代入すること はできません。 .It Li ${parameter:?[word]} 空か設定されていないときにエラーとする: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果 (word が省略された場合にはパラメータが設定されていないことを表す デフォルトのメッセージ) が標準エラー出力に書き出され、 シェルは非 0 の終了ステータスで終了します。 それ以外の場合、パラメータ parameter の値に置換されます。対話的シェルの場合は 必ずしも終了しません。 .It Li ${parameter:+word} 代替値の使用: パラメータ parameter が設定されていないか空の値を持つ場合、空の値に 置換されます。さもなければ、word を展開した結果に置換されます。 .Pp 以上のパラメータ展開において、`:' を用いた場合はパラメータが設定されていない かまたは空の値であることが検査され、`:' を省略するとパラメータが 設定されていないことのみを検査します。 .It Li ${#parameter} -文字列の長さ: パラメータの値の(文字列としての)長さに置換されます。 +文字列の長さ: パラメータの値の (文字列としての) 長さに置換されます。 .Pp 以下の 4 通りのパラメータ展開は部分文字列切り出し処理を行います。各場合 において、パターンは正規表現ではなく、パターンマッチ記法 (シェルパターン -の項を参照) が用いられます。パラメータが` * 'または` @ 'の場合、展開の結果 +の項を参照) が用いられます。パラメータが ` * ' または ` @ ' の場合、展開の結果 がどうなるかは規定しません (unspecified)。 パラメータ展開全体をダブルクォートで囲んでも パターンは引用されません。中括弧のなかで引用することにより パターンを引用することができます。 .It Li ${parameter%word} 最短後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter%%word} 最長後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .It Li ${parameter#word} 最短前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter##word} 最長前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .El .Ss コマンド置換 コマンド置換により、コマンド名自身をコマンドの出力で置き換えることができます。 コマンド置換は、以下のように、コマンド command を囲った場合、 .Bd -literal -offset indent $(command) .Ed .Pp または(``バッククォート'' バージョン)、 .Bd -literal -offset indent `command` .Ed .Pp とした場合に行なわれます。 シェルは、コマンド command をサブシェルの環境で実行し、command が標準出力 に出力したものから最後の改行文字を削除した結果で置換します (最後以外の 改行は削除しません。ただし、フィールド分割の際に、IFS の値や引用のされかたに よっては、ここで残った改行文字が結局は空白に置換されることもあります)。 .Ss 数式展開 数式展開とは、数式を評価し、その値に置換する仕組みです。数式展開の形式は以下 のとおりです。 .Bd -literal -offset indent $((expression)) .Ed .Pp 数式 expression は、その中のダブルクォート文字が特別扱いを受けないという 点を除いては、ダブルクォート文字で囲まれている文字列と同様に扱われます。 シェルは expression 中のすべてのトークンにパラメータ展開、コマンド置換、 クォート削除を適用します。 .Pp 次にシェルはその結果を数式として扱い、その値に置換します。 .Ss 空白文字による分割 (フィールド分割) パラメータ展開、コマンド置換、数式展開のあと、シェルは展開結果を調べて、 ダブルクォートの外にある部分に対してフィールド分割を適用します。 その結果、複数のフィールドになる場合もあります。 .Pp シェルは、変数 IFS に設定されている文字それぞれ区切り文字とみなし、 パラメータ展開の結果、およびコマンド置換の結果をフィールドに分割します。 .Ss パス名展開 (ファイル名生成) -f フラグが設定されていなければ、フィールド分割が行われたあと、ファイル名生成 が行われます。各単語は、スラッシュで区切られたパターンの列であるとみなさ れます。パス名展開処理において、単語は、条件を満たすファイル すべてのファイル名の列で置換されます。この各ファイル名は、単語の 各パターン部分を、そのパターンに一致する文字列に置換することで 生成されるものです。 これには 2 つの制限があります: まず、パターンはスラッシュを含む文字列には 一致しません。次に、パターンは、そのパターンがピリオドで始まらないかぎり、 ピリオドで始まる文字列に一致しません。 次節では、パス名展開と .Xr case 1 コマンドで用いられるパターンについて説明します。 .Ss シェルパターン パターンは、通常の文字とメタキャラクタからなります。通常の文字は、 その文字そのものに一致します。 メタキャラクタは ``!''、 ``*''、 ``?''、 ``['' です。これらの文字を引用 すると、各々の特殊な意味を失います。コマンド置換や変数置換において、 ドル記号やバッククォート文字がダブルクォート文字の中にない場合には、 変数の値やコマンドの出力の中に、これらの特殊な文字が存在するかどうかが 調べられ、それらがあれば、メタキャラクタとして扱われます。 .Pp アスタリスク文字 (``*'') は、どのような文字列とも一致します。 クエスチョンマーク文字 (``?'') は、任意の文字 1 文字と一致します。 左大括弧 (``['') は文字クラスを開始します。 文字クラスの最後は右大括弧 (``]'') です。``]'' がない場合 は、``['' は文字そのものに一致し、文字クラスの開始とは見なされません。文字 クラスは大括弧内に出現するすべての文字に一致します。 マイナス記号を用いれば、文字の範囲を指定することができます。 文字クラスの最初にエクスクラメーションマーク (``!'') を置くことで、 文字クラスの意味を反転させることができます。 .Pp 文字クラスに文字 ``]'' を含めるには、 ``]'' を文字クラスの最初 (``!'' を 置く場合はそのあと) に置きます。 文字クラスにマイナス記号を含めるときも同様で、 リストの最初もしくは最後に置きます。 .Ss 組み込みコマンド 本節では、別プロセスでは実行できない処理を行なうために組み込まれている コマンドを列挙します。 さらに、効率を上げるために組み込まれているかもしれないコマンド (例えば .Xr printf 1 , .Xr echo 1 , .Xr test 1 , 等) もあわせて列挙します。 .Bl -tag -width Ds .It : 終了ステータス 0 (真) を返すヌルコマンドです。 .It \&. file 指定されたファイル file に記述されたコマンドがシェルに読み込まれ、 実行されます。 .Ar file に .Ql / 文字を含む場合、その通りに扱われます。 そうでなければ、シェルは .Ev PATH を使用して、ファイルを検索します。 .Ev PATH を使用しても見付からない場合、カレントディレクトリを検索します。 .It alias [ name[=string] ... ] name=string が指定されている場合、シェルは名前 ``name'' を持つ値 ``value'' のエイリアスを定義します。単に ``name'' だけが指定された場合、 エイリアス ``name'' の値が表示されます。引数が指定されない場合、定義さ れているすべてのエイリアスの名前と値を表示します (unalias も参照)。 .It bg [ job ] ... 指定されたジョブ (指定されなかった場合は現在のジョブ) を、 続けてバックグラウンドで実行させます。 .It command command arg ... 指定された組み込みコマンドを実行します (組み込みコマンドと同じ名前のシェル関数 がある場合に使います)。 .It cd [ directory ] 指定されたディレクトリに移動します (directory 無指定時は $HOME に移動します)。 cd コマンドの 環境に CDPATH 変数があるか、シェル変数 CDPATH が設定されていて、かつ 指定されたディレクトリ directory がスラッシュ文字から始まっていないなら、 CDPATH に列挙されたディレクトリ以下に 指定されたディレクトリ directory がないか検索されます。 CDPATH の形式は PATH と同様です。対話的シェルでは、ユーザ が指定したディレクトリと異なる場所に移動した場合、移動先のディレクトリ名 を表示します。これは、CDPATH の機構が動作した場合と、シンボリックリンクを 辿った場合に発生します。 .It eval string ... 指定されたすべての引数を空白で結合し、その結果を解析し直してから コマンドとして実行します。 .It exec [ command arg ... ] コマンドが省略されない場合、そのシェルプロセスは指定されたプログラムに 置き換えられます (command は、シェル組み込みコマンドや関数ではない、本物の プログラムでなければなりません)。exec コマンドにおけるリダイレクトは、 永久性を持つと見なされ、 exec コマンド完了後にも引き続き効力を持ちます。 .It exit [ exitstatus ] シェルを終了します。指定された exitstatus は、シェルの終了ステータスに なります。exitstatus が省略された場合、直前に実行したコマンドの 終了ステータスがシェルの終了ステータスとなります。 .It export name ... それ以後にシェルから実行されるコマンドの環境に、指定された名前の変数が 含まれるようにします (変数のエクスポート)。 変数のエクスポートを取り消す唯一の方法は、変数を unset することです。 以下のように記述することで、エクスポートすると 同時に変数の値を設定することができます。 .Bd -literal -offset indent export name=value .Ed .Pp 引数を指定しない場合、すべてのエクスポートされている名前と値が表示されます。 .It fc [-e editor] [first [last]] .It fc -l [-nr] [first [last]] .It fc -s [old=new] [first] fc は、対話的シェルにそれ以前に入力されたコマンドの内容を 表示、編集、再実行します。 .Bl -tag -width Ds .It -e editor 編集に際し、指定されたエディタ editor を使用します。 editor は変数 PATH を通して検索できるコマンド名です。 -e が指定されなかった場合は、変数 FCEDIT の値が 用いられます。FCEDIT が設定されていないか空に設定されている場合は EDITOR の値が用いられ、それも設定されていないか空ならば .Xr ed 1 が用いられます。 .It -l (ell) (小文字のエル) エディタを起動せずに、コマンド履歴の内容を一覧出力します。 パラメータ first と last で指定した範囲のコマンドが順に -(出力の順番は -r オプションの影響を受けます)出力されます。 +(出力の順番は -r オプションの影響を受けます) 出力されます。 各コマンドの出力の際にはコマンド番号が付加されます。 .It -n -l で一覧出力する際にコマンド番号を付加しません。 .It -r -l オプションでの一覧や、 編集時 (-l も -s も指定されなかった場合) の順序を反転します。 .It -s エディタを起動せずにコマンドを再実行します。 .It first .It last 一覧出力や編集の対象となるコマンドを選択します。アクセス可能なコマンド の数は変数 HISTSIZE の値で決まります。 first、last の値は以下のいずれかの形式で指定します。 .It [+]number 正の数で、コマンド番号を指定します。コマンド番号は -l オプションで表示させて 調べることができます。 .It -number 負の数で、指定された数だけ現在から遡ったコマンドを指定します。たとえば、 -1 は直前に実行されたコマンドを指定します。 .It string 文字列 string は、過去に実行されたコマンドのうち、 その文字列から始まる最新のものを指定します。 もし -s オプションが指定されて ``old=new'' が指定されていなければ、 -最初のオペランドにイコール記号(``='')を含めることはできません。 +最初のオペランドにイコール記号 (``='') を含めることはできません。 .El .\" 次の行の .Pp はもともとコメントアウトされていた .Pp fc コマンドの実行にあたり、以下の環境変数の影響を受けます。 .Bl -tag -width Ds .It Va FCEDIT 使用するエディタ名 .It Va HISTSIZE アクセス可能なコマンド数 .El .It fg [ job ] 指定されたジョブまたは現在のジョブをフォアグラウンドに移動します。 .It getopts optstring var POSIX に準拠した getopts コマンドです。 この getopts コマンドにより、以前の getopt コマンドの必要性は減少しました。 最初の引数は文字の列です。各文字の後ろにはコロンをつけることができ、 そのオプションが引数をとることを指示します。 指定された変数に、解析され見つかったオプションが設定されます。 見つかったオプションの次の引数のインデックスはシェル変数 OPTIND に格納されます。 あるオプションが引数をとる場合、その引数はシェル変数 OPTARG に置かれます。 有効でないオプションに出くわすと、変数 var には `?' がセットされます。 getopts はオプション群の末尾に到達すると偽の値 (1) を返します。 .It hash -rv command ... シェルは、コマンドの位置を保持するハッシュテーブルを維持管理しています。 hash コマンドに引数が指定されなかった場合、このテーブルの内容が出力されます。 最後に cd コマンドが実行されてから参照されていない項目には アスタリスク文字 (``*'') が表示されます。 この項目は無効になっているかもしれません。 .Pp 引数を指定した場合、hash コマンドは指定したコマンドをハッシュテーブル から削除し (command が関数ではない場合)、その後でそのコマンドを検索します。 -v オプションを指定した場合、発見したコマンドの位置を表示します。-r オプション を指定した場合、関数以外のすべてのエントリをハッシュテーブルから 削除します。 .It jobid [ job ] ジョブ job 中の各プロセスのプロセス ID を表示します。引数 job が 省略された場合、現在のジョブに対して処理を行います。 .It jobs バックグラウンドで走行中の、現在のシェルプロセスの子プロセスの 一覧を出力します。 .It pwd カレントディレクトリを表示します。組み込みコマンドの pwd は カレントディレクトリ名を覚えており、表示するときに再計算しないので、 組み込みコマンドの pwd は同名のプログラムとは異なった表示をする場合があります。 このため処理は高速ですが、カレントディレクトリ の名前を変更した場合でも、以前のディレクトリ名を表示し続けます。 .It Li "read [ -p prompt ] [ -e ] variable ... -p オプションが指定され、かつ標準入力が端末の場合、 prompt をプロンプトとして表示します。 そして標準入力から 1 行入力します。行端の改行文字を削除し、行を前述の 単語分割の方法に従って分割し、各単語を、valiable... で指定する各変数に 順に代入します。 もし、指定された変数の数より分割された単語の数が多ければ、最後の変数に 残りの単語すべて (IFS の文字を区切りにしてそれらも一緒に) が代入されます。 分割された単語の数より多くの変数が指定されていたなら、 余った変数には空文字列が設定されます。 .Pp -t オプションが指定され、かつ入力がなされる前にタイムアウトすると、 read コマンドは値を割当てずに戻ります。 タイムアウト値の後にはオプションで 's', 'm', 'h' のいずれかの一文字 を付けることが出来、それぞれ秒, 分, 時間を陽に指定します。 どれも指定しない場合には 's' であるものとします。 .Pp -e オプションを指定すると、入力中のバックスラッシュ文字を特別扱いします。 バックスラッシュ文字が改行文字の直前にある場合、 バックスラッシュ文字と改行文字は削除されます。 その他の文字の直前にバックスラッシュがある場合、バックスラッシュは削除され、 文字が IFS に含まれていても、IFS の文字でないかのように扱われます。 .It readonly name ... 指定された名前の変数を読み出し専用とし、あとで値を変更したり unset した りすることができないようにします。以下のように記述することで、 変数を読み出し専用と宣言するのと同時に値を設定することも可能です。 .Bd -literal -offset indent readonly name=value .Ed .Pp 引数が指定されない場合、読み出し専用になっている変数の名前の一覧が表示され ます。 .It Li "set [ { -options | +options | -- } ] arg ... set コマンドは 3 通りの異なった機能を持ちます。 .Bl -item .It 引数を指定しなかった場合、すべてのシェル変数の名前と値の一覧を表示します。 .It options が指定された場合、「引数リスト処理」の節で説明した方法で、 指定されたオプションフラグを設定あるいは解除します。 .It 第 3 の用法は、シェルの位置パラメータを変更する際に使用します。オプションの 設定を変更せずに位置パラメータのみを変更したい場合は set コマンドへの最初 の引数として ``--'' を指定します。arg が指定されない場合、 すべての位置パラメータはクリアされます (``shift $#'' を実行することと 等価です)。 .El .Pp .It setvar variable value 変数に値を代入します。(一般に、setvar を使うよりも variable=value と書くほう が望ましいといえます。setvar は、関数内で、パラメータとして渡された名前を持つ 変数に値を代入するためのものです。) .It shift [ n ] 位置パラメータを n 回シフトします。1 回のシフトにより、$2 の値が $1 に、$3 の 値が $2 に代入されます (以下同様)。また、$# の値は 1 減少します。 位置パラメータがない場合、shift は何もしません。 .It trap [ action ] signal ... シェルが指定されたシグナル signal を受けとったときに、action を解析し実行する ように設定します。シグナルはシグナル番号で指定します。action は空文字列に したり、省略したりすることができます。空文字列の場合、指定されたシグナルは 無視され、省略した場合は、指定したシグナルを受けとったときデフォルトの処理を 行ないます。シェルがサブシェルを起動するとき、trap で指定された (かつ 無視するように設定されていない) シグナルの動作をデフォルトの処理に戻します。 シェルが起動したときにすでに無視されるように設定されていたシグナルに対して trap コマンドを使用しても効果はありません。 .It type [name] ... 各 name をコマンドとして解釈し、コマンド検索の結果を出力します。出力さ れる結果は以下のものがあります。シェルのキーワード、エイリアス、シェル -の組み込みコマンド、コマンド、痕跡つきエイリアス(tracked alias)、最後に -not found (見つからず)があります。エイリアスについては、エイリアス展開 +の組み込みコマンド、コマンド、痕跡つきエイリアス (tracked alias)、最後に +not found (見つからず) があります。エイリアスについては、エイリアス展開 の結果が出力されます。コマンドと痕跡つきエイリアスについては、そのコマンドの 完全なパス名が印刷されます。 .It ulimit [ -HSacdflmnust ] [ limit ] リソースのリミット値 (リミット値については .Xr getrlimit 2 参照) を設定あるいは表示します。 ``limit'' が指定されている場合、指定されたリソースが設定されます。 それ以外の場合、現在のリソース設定値が表示されます。 .Pp ``-H'' が指定された場合、ハードリミットが設定ないし表示されます。 ハードリミット値を下げることは誰にでもできますが、 それを増やすことができるのはスーパユーザだけです。 オプション ``-S'' を指定した場合はソフトリミットになります。 リミット値を表示する場合、``-S'' か ``-H'' のいずれか一方だけしか 指定できません。 デフォルトでは、表示はソフトリミット、設定はハード/ソフトリミット両方です。 .Pp オプション ``-a'' を指定すると全リソースの設定値が表示されます。 この場合、パラメータ ``limit'' は指定できません。 .Pp この他のオプションは、表示あるいは設定するリソースの種類を指定するものです。 これらは互いに排他的です。 .Bl -tag -width Ds .It -c coredumpsize コアダンプファイルの最大サイズ。512 バイトのブロック単位。 .It -d datasize プロセスのデータセグメントの最大サイズ。キロバイト単位。 .It -f filesize ファイルの最大サイズ。512 バイトブロック単位。これがデフォルトです。 .It -l lockedmem プロセスがロックできるメモリサイズの最大値。キロバイト単位。 .It -m memoryuse プロセスの常駐セットサイズの最大値。キロバイト単位。 .It -n nofiles あるプロセスがオープンできるファイル記述子の最大数。 .It -s stacksize スタックセグメントサイズの最大値。キロバイト単位。 .It -t time 各プロセスで消費できる CPU 時間の最大値。秒単位。 .It -u userproc このユーザ ID で同時に走らせうる最大プロセス数。 .El .It umask [ mask ] umask の値 ( .Xr umask 2 を参照) を、指定された 8 進数の値に設定します。引数が 省略された場合、現在の umask の値が表示されます。 .It unalias [-a] [name] ``name'' が指定された場合、指定された名前のエイリアスを削除します。 ``-a'' オプションが指定された場合、すべてのエイリアスを削除します。 .It unset name ... 指定された変数または関数を unset し、エクスポートされていない状態にします。 指定された名前の変数も関数も存在する場合、変数と関数の両方が unset されます。 .It wait [ job ] 指定されたジョブ job が終了するのを待ち、ジョブ内の最後のプロセスの 終了ステータスを返します。引数が省略された場合、すべてのジョブが終了する まで待ち、終了ステータス 0 を返します。 .El .Ss コマンド行編集 .Nm が端末から対話的に実行されている場合、現在入力中のコマンドおよび コマンド履歴 (組み込みコマンド fc 参照) を vi モードのコマンド行編集機能 により編集することができます。 このモードでは、vi のマニュアルに示されているコマンドのサブセットを用います。 コマンド `set -o vi' により vi モードが開始され、vi の挿入モードに移行します。 vi モード中では、 挿入モードとコマンドモードの両方を自由に切り替えることが可能です。 vi モードは vi と同様であり、 キー によりコマンドモードに移行し、コマンドモードで キーを叩くことで、 行の内容がシェルに渡されます。 .Pp 同様に、コマンド `set -o emacs' により emacs 風のコマンド行編集機能の サブセットを使うことができるようになります。 .Sh 関連項目 .Xr expr 1 , .Xr test 1 .Sh 歴史 .Nm コマンドは、 .At V.1 で登場しました。 .\" -Amended by N.Kumagai 97.12.30 diff --git a/ja/man/man1/tar.1 b/ja/man/man1/tar.1 index bbb1f7a7df..8d9b0c17eb 100644 --- a/ja/man/man1/tar.1 +++ b/ja/man/man1/tar.1 @@ -1,494 +1,502 @@ .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- .\" See /usr/src/gnu/COPYING for conditions of redistribution .\" .\" Written by John F. Woods .\" Updated by Robert Eckardt .\" -.\" %Id: tar.1,v 1.18 1998/09/22 09:55:09 roberto Exp % -.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab % +.\" %Id: tar.1,v 1.18.2.1 1999/03/29 11:26:35 obrien Exp % .\" +.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab % .Dd 25 August 1997 .Os FreeBSD .Dt TAR 1 .Sh 名称 .Nm tar .Nd テープアーカイバ; "tar" アーカイブファイルの操作 .Sh 書式 .Nm tar .Op [-] Ns Ar bundled-options .Op Ar gnu-style-flags .Op Ar tarfile .Op Ar blocksize .Op Ar exclude-file .Op Ar filenames .Op Fl C Ar directory-name .Sh 解説 .Nm は、歴史的な理由により .Dq tape archiver を省略して名付けられました。 .Nm プログラムは、 .Ar tarfile と呼ばれる .Dq tar フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、 またアーカイブからファイルを抽出したりします。 tarfile は通常磁気テープを指しますが、フロッピディスケットや 通常のファイルでも構いません。 .Pp 通常、 .Nm コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、 -その前に ダッシュ(-)をつけてもつけなくてもいいようになっています。 -単語には、次の機能文字のうちちょうど 1 つを含んでいなければなりません: +その前に ダッシュ (-) を付けても付けなくてもいいようになっています。 +単語には、次の機能文字のうち丁度 1 つを含んでいる必要があります: .Cm A , .Cm c , .Cm d , .Cm r , .Cm t , .Cm u , .Cm x , -これらはそれぞれ 追加 (append) 、作成 (create) 、差分 (difference) 、 -置換 (replace) 、リスト表示 (table of contents) 、更新 (update) 、 -そして抽出 (extract) を意味しています (下記に詳細があります) 。 +これらはそれぞれ、 +追加 (append)、作成 (create)、差分 (difference)、置換 (replace)、 +リスト表示 (table of contents)、更新 (update)、抽出 (extract) +を意味しています (下記に詳細があります)。 これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に 含めることができます。それらのいくつかは、コマンド単語内と同じ順で コマンドライン引数を要求します (使用例の節を参照) 。 機能文字と機能変更文字は、GNU 形式の引数で指定することもできます -(2 つのダッシュを最初につけ、1 つのコマンド単語ごとに機能文字か -機能変更文字を 1 つだけ指定する) 。 +(2 つのダッシュを最初に付け、1 つのコマンド単語ごとに機能文字か +機能変更文字を 1 つだけ指定する)。 アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために コマンドライン指定するファイル名には、 シェルのパターンマッチ文字列を使用することができます。 .Sh 機能 -以下の機能のいずれか1つだけを必ず指定しなければなりません。 +以下の機能のいずれか 1 つだけを必ず指定する必要があります。 .Pp .Bl -tag -width "--concatenate" -compact .It Fl A .It Fl -catenate .It Fl "-concatenate" -指定された(tar アーカイブ形式の)ファイルを tar アーカイブの末尾 +指定された (tar アーカイブ形式の) ファイルを tar アーカイブの末尾 に追加します。(追加する前の古い end-of-archive ブロックは削除さ れます。) -これは、指定されたファイルがアーカイブの中の1ファイルとなるので +これは、指定されたファイルがアーカイブの中の 1 ファイルとなるので はなく、指定したファイルの中に含まれているファイルを、最初に指定 したアーカイブに追加するという効果を持ちます。 .Em 注: このオプションは tarfile を再書き込みする必要があるため、1/4 インチカートリッジテープでは動作しません。 .It Fl c .It Fl -create 新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定 されたファイルをアーカイブに書き込みます。 .It Fl d .It Fl -diff .It Fl -compare アーカイブの中のファイルと、それに相当するファイルシステム内の ファイルとの違いを調査します。 .It Fl -delete 指定されたファイルをアーカイブから削除します。(1/4 インチテープ では動作しません。) .It Fl r .It Fl -append アーカイブの末尾にファイルを追加します。(1/4 インチテープでは 動作しません。) .It Fl t .It Fl -list アーカイブ内容のリスト表示をします。もし引数としてファイル名が 指定されていれば、そのファイルだけがリスト表示されます。そうでなけ れば、アーカイブに含まれるすべてのファイルリストが表示されます。 .It Fl u .It Fl -update 指定したファイルのうち、アーカイブ内のファイルよりもディスク上の ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ では動作しません。 .It Fl x .It Fl -extract .It Fl -get アーカイブからファイルを抽出します。可能ならば、所有者、 変更時刻、ファイル属性はリストアされます。もし .Ar file 引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。 もし .Ar filename 引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと -ディレクトリ内のファイルが抽出されます。(ディレクトリ内のす -べてのディレクトリについても同様に抽出されます。) -もしアーカイブ内に、相当する同じファイルが複数含まれていれば(上記の +ディレクトリ内のファイルが抽出されます。(ディレクトリ内の +すべてのディレクトリについても同様に抽出されます。) +もしアーカイブ内に、相当する同じファイルが複数含まれていれば (上記の .Fl -append コマンドを参照)、最後に含まれているものが他のすべてのファイルを 上書きする形で抽出されます。 .Sh オプション .Nm の他のオプションは、組み合わせて使用することができます。 -1文字オプションは、コマンド単語の中で指定することができます。 +1 文字オプションは、コマンド単語の中で指定することができます。 引数を与えるべきオプションの場合、オプションに続けて引数を指定し -ます。1文字オプションであれば、これに続くコマンドライン引数を +ます。1 文字オプションであれば、これに続くコマンドライン引数を 使用します (以下の .Sx 使用例 を参照してください。) .Pp .Bl -tag -width "--preserve-permissions" -compact .It Fl -help .Nm のすべてのコマンドオプションについて一覧と解説を表示します。 .It Fl -atime-preserve テープに書かれている、ファイルのアクセス時刻をリストアします。 -(inodeの変更時刻が変更されることに注意してください!) +(inode の変更時刻が変更されることに注意してください!) .It Fl b .It Fl -block-size Ar number 読み書きするブロックサイズを .Ar number * 512-byte ブロック に設定します。 .It Fl B .It Fl -read-full-blocks 短い読みだしブロックを、完全なブロックに再組み立てします。 (4.2BSD パイプの読み込み用。) .It Fl C Ar directory .It Fl -directory Ar directory 残りの引数を処理する前に .Ar directory へ移動します。 .It Fl -checkpoint アーカイブを読み書きする間に読み書きしたバッファの数を表示します。 .It Fl f Ar [hostname:]file .It Fl -file Ar [hostname:]file 指定された .Ar file (デフォルトは /dev/rsa0) を読み書きします。 もし .Ar hostname が指定されていれば、 .Nm は .Xr rmt 8 を使って、リモートマシン上の .Ar file を読み書きします。"-" はファイル名として使用されることもありますが、 これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。 .It Fl -force-local コロンがある時でさえ、アーカイブファイルはローカルのものとします。 .It Fl F Ar file .It Fl -info-script Ar file .It Fl -new-volume-script Ar file それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の .Fl M 指定が行なわれます。) .It Fl -fast-read ワイルドカードで指定されていないすべての抽出ターゲットが アーカイブ内に見つかったら、その時点で終了します。 .It Fl G .It Fl -incremental 古い GNU-format インクリメンタルバックアップファイルを作成/リスト/ 抽出します。 .It Fl g Ar file .It Fl -listed-incremental Ar file 新しい GNU-format インクリメンタルバックアップファイルを作成/リスト/ 抽出します。 .It Fl h .It Fl -dereference シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが 指しているデータを書き込みます。 .It Fl i .It Fl -ignore-zeros -アーカイブの中のゼロブロック(通常、End-Of-File を意味する)を無視します。 +アーカイブの中のゼロブロック (通常、End-Of-File を意味する) を無視します。 .It Fl -ignore-failed-read ファイルが読めなくても、非 0 のステータスで exit しません。 .It Fl k .It Fl -keep-old-files ディスク上に既にあるファイルを保持します。つまり、アーカイブから 抽出するファイルは、ディスク上のファイルへ上書きしません。 .It Fl K Ar file .It Fl -starting-file Ar file アーカイブの中の .Ar file -から(抽出、リストなどを)始めます。 +から (抽出、リストなどを) 始めます。 .It Fl l .It Fl -one-file-system あるファイルシステム内にあるファイルだけでアーカイブを作成します。 (他ファイルシステムへのマウントポイントを跨ぎません。) .It Fl L Ar number .It Fl -tape-length Ar number .Ar number * 1024 バイト書き込んだ後でテープの交換を要求します。 .It Fl m .It Fl -modification-time ファイルの変更時刻を抽出しません。 .It Fl M .It Fl -multi-volume マルチボリュームアーカイブを作成/リスト/抽出します。 .It Fl n .It Fl -norecurse 作成時に再帰的にサブディレクトリを走査しません。 .It Fl -volno-file Ar file ボリューム番号付きのファイル名です。 .It Fl N Ar date .It Fl -after-date Ar date .It Fl -newer Ar date 作成時間が .Ar date より新しいファイルだけを抽出します。 .It Fl -newer-mtime Ar date 変更時間が .Ar date より新しいファイルだけを抽出します。 .It Fl o .It Fl -old-archive .It Fl -portability POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。 .It Fl O .It Fl -to-stdout ファイルを標準出力に抽出します。 .It Fl p .It Fl -same-permissions .It Fl -preserve-permissions 保護情報を完全に抽出します。 .It Fl -preserve .Fl p s の指定と同じ効果を持ちます。 .It Fl P .It Fl -absolute-paths ファイル名から先頭の `/' をとりません。 .It Fl R .It Fl -record-number メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。 .It Fl -remove-files アーカイブに追加したファイルを、追加後に削除します。 .It Fl s .It Fl -same-order .It Fl -preserve-order アーカイブ内から抽出するファイルを、指定された順のままにします。 .It Fl -show-omitted-dirs アーカイブ作成中に除外されたディレクトリを表示します。 .It Fl S .It Fl -sparse 「少ない」ファイルを効率的に扱うようにします。 .It Fl T Ar file .It Fl -files-from Ar file .Ar file -から抽出もしくは作成するファイル名を得ます。(1行1ファイル名。) +から抽出もしくは作成するファイル名を得ます。(1 行 1 ファイル名。) .It Fl -null -nullで終わっている名前を考慮し、 +null で終わっている名前を考慮し、 .Fl T の振舞を変更します。 これは .Fl C 指定を無効にします。 .It Fl -totals .Fl -create -によって書かれたトータルバイト数を表示します。 +によって書かれた総バイト数を表示します。 .It Fl v .It Fl -verbose .Fl -create でアーカイブに書くファイルや .Fl -extract でアーカイブから 取り出すファイル名をリスト表示します。 ファイルの保護情報をファイル名とともに表示させるには、 .Fl -list を使います。 .It Fl V Ar volume-name .It Fl -label Ar volume-name 指定された .Ar volume-name を持ったアーカイブを作成します。 .It Fl -version .Nm プログラムのバージョン番号を表示します。 .It Fl w .It Fl -interactive .It Fl -confirmation すべての動作に対して、確認を求めるようになります。 .It Fl W .It Fl -verify アーカイブを書き込んだ後、ベリファイを試みます。 .It Fl -exclude Ar pattern .Ar pattern にマッチするファイルを除外します。 (抽出しません。追加しません。リスト表示しません。) .It Fl X Ar file .It Fl -exclude-from Ar file .Ar file に一覧されているファイルを除外します。 +.It Fl y +.It Fl -bzip2 +.It Fl -bunzip2 +アーカイブを +.Xr bzip2 1 +でフィルタリングします。 .It Fl Z .It Fl -compress .It Fl -uncompress アーカイブを .Xr compress 1 でフィルタリングします。 .It Fl z .It Fl -gzip .It Fl -gunzip アーカイブを .Xr gzip 1 でフィルタリングします。 .It Fl -use-compress-program Ar program アーカイブを .Ar program でフィルタリングします。 (これは、 .Fl d が指定されたときは ``decompress'' を意味しなければなりません。) .It Fl -block-compress テープもしくはフロッピのために、圧縮プログラムの出力をブロック 化します。(そうしないと、ブロック長がおかしくなり、デバイスドライバは そのブロックを拒絶するでしょう。) .It Fl [0-7][lmh] テープドライブと密度を指定します。 .It Fl -unlink ファイルを作成する前に、いったん削除します。 .El .Sh 使用例 "bert" と "ernie" というファイルを含む、 ブロックサイズが 20 ブロックのアーカイブを、 テープドライブ /dev/rsa0 に作るには、 .Pp .Dl tar cfb /dev/rsa0 20 bert ernie .Pp もしくは .Pp .Dl tar\ --create\ --file\ /dev/rsa0\ --block-size\ 20\ bert\ ernie .Pp と入力します。 .Fl f および .Fl b フラグは両方とも引数を必要としていることに注意してください。 この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから 取得されます。 .Pp /dev/rsa0 はデフォルトのデバイスであり、20 はデフォルトのブロック サイズですので、上記の例は次のように単純化できます。 .Pp .Dl tar c bert ernie .Pp "backup.tar" というアーカイブから、すべての C ソース及びヘッダを 抽出するには、次のようにタイプします。 .Pp .Dl tar xf backup.tar '*.[ch]' .Pp -シェルがカレントディレクトリ内のファイル名に展開しないよう、パタ -ーンをクォートしなければならないことに注意してください。(当然、 +シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを +クォートしなければならないことに注意してください。(当然、 シェルはアーカイブ内のファイル一覧にアクセスすることはできません。) .Pp ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください: .Bd -literal tar cf - -C srcdir . | tar xpf - -C destdir .Ed .Pp ディスケットに、gzip を使った圧縮アーカイブを作成するには、次の ようなコマンドラインを使うといいでしょう。 .Pp .Dl tar --block-compress -z -c -v -f /dev/rfd1a -b 36 tar/ .Pp -まとめ指定フラグと --スタイルのフラグを混在させることができない +まとめ指定フラグと -- スタイルのフラグを混在させることができない ことに注意してください。次のようにタイプしなければならないわけで -はなく、上記のような書き方で1文字フラグを使うことができます。 +はなく、上記のような書き方で 1 文字フラグを使うことができます。 .Pp .Dl tar --block-compress --gzip --verbose --file /dev/rfd1a --block-size 20 tar / .Pp 上のようにして作成したディスクの内容は、次のようにすればリスト表 示できます。 .Pp .Dl tar tvfbz /dev/rfd1a 36 .Pp 2 つの tar アーカイブを 1 つのアーカイブにまとめるには、 .Pp .Dl tar Af archive1.tar archive2.tar .Pp を使います。こうすると、archive2.tar に含まれているファイルが archive1.tar の末尾に追加されます。(単純に .Pp .Dl cat archive2.tar >> archive1.tar .Pp とタイプしてもうまくいかないことに注意してください。なぜなら、 tar アーカイブの末尾には end-of-file ブロックがあるからです。) .Pp srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた 全てのファイルをアーカイブするためには、以下の形式を使って下さい。 .Dl tar\ -c\ -f\ backup.tar\ --newer-mtime\ 'Feb\ 9\ 13:15\ 1997'\ srcdir/ .Pp 他の時間指定形式としては、'02/09/97 13:15', \&'1997-02-09 13:15', '13:15 9 Feb 1997', '9 Feb 1997 13:15', \&'Feb. 9, 1997 1:15pm', '09-Feb', '3 weeks ago', 'May first Sunday' があります。 正しいタイムゾーンを指定するためには、 `13:15 CEST' や `13:15+200' を使用して下さい。 .Sh 環境変数 .Nm プログラムは、以下の環境変数を参照します。 .Bl -tag -width "POSIXLY_CORRECT" .It POSIXLY_CORRECT 通常、 .Nm はファイル指定の中に混ざったフラグを処理します。 この環境変数を設定すると、 .Nm は最初のフラグ以外の引数を見つける とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様 に合わせた動作を行なうようになります。 .It SHELL インタラクティブモードにおいて、サブシェルの起動が要求されたとき、 SHELL 変数が設定されていればそれが、設定されていなければ "/bin/sh" が使用されます。 .It TAPE tar のデフォルトのテープドライブを変更します。(これは、さらに .Fl f フラグによって変更することができます。) .El .Sh 関連ファイル .Bl -tag -width "/dev/rsa0" .It Pa /dev/rsa0 デフォルトのテープドライブ .El .\" This next request is for sections 1, 6, 7 & 8 only .\" (command return values (to shell) and fprintf/stderr type diagnostics) .\" .Sh 診断 .Sh 関連項目 +.Xr bzip2 1 , .Xr compress 1 , .Xr gzip 1 , .Xr pax 1 , .Xr ft 8 , .Xr rmt 8 .\" .Sh 規格 .Sh 歴史 .Nm フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に 原点があります。 この .Nm の実装は GNU 実装であり、John Gilmore によって書かれた パブリックドメイン tar が元になっています。 .Sh 作者 次の人を含む、大変多くの人々。[ソースの中の ChangeLog ファイルに記 述されている人々] .An John Gilmore (オリジナルのパブリックドメイン版の作者), .An Jay Fenlason (最初の GNU 作者), .An Joy Kendall , .An Jim Kingdon , .An David J. MacKenzie , .An Michael I Bushnell , .An Noah Friedman そして バグフィックスや追加を貢献してくれた無数の人々。 このマニュアルページは NetBSD 1.0 release から、 .Bx Free グループが 取り込んだものです。 .Sh バグ 特徴的な .Fl C オプションの動作は、伝統的な tar プログラムのそれとは異なるので、 あまり頼りにはできません。 .Pp .Fl A コマンドで任意の数の tar アーカイブを結合できればいいのですが、 それはできません。これをやろうとしても、 2 つ目以降のアーカイブの end-of-archive ブロックが削除されずに残ってしまいます。 diff --git a/ja/man/man1/tbl.1 b/ja/man/man1/tbl.1 index caa031ba17..eda844b893 100644 --- a/ja/man/man1/tbl.1 +++ b/ja/man/man1/tbl.1 @@ -1,178 +1,178 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: tbl.1,v 1.2 1997/05/15 15:23:39 horikawa Stab % -.TH TBL 1 "7 September 1996" "Groff Version 1.10" +.TH TBL 1 "7 September 1996" "Groff Version 1.11" .SH 名称 tbl \- troff のための表フォーマッタ .SH 書式 .B tbl [ .B \-Cv ] [ .IR files \|.\|.\|. ] .SH 解説 本マニュアルでは、groff ドキュメントフォーマットシステムの一部である GNU バージョンの .BR tbl について記述します。 .B tbl は、 .B troff ドキュメントに埋め込まれた表の記述を .BR troff が解釈できるコマンドに変換します。通常、 .B tbl は .B groff に .B \-t オプションを指定することにより起動されます。 .B tbl は Unix .B tbl と高い互換性を持ちますが、GNU .B tbl の出力は Unix .B troff で処理することはできません。それは GNU .B troff で処理する必要があります。 コマンドラインにファイル名が指定されなかった場合、 標準入力から読み込みます。 ファイル名として .B \- を指定した場合も標準入力から読み込みます。 .SH オプション .TP .B \-C .B .TS や .B .TE のあとに空白や改行以外の文字がきても、それを .B .TS や .B .TE であると解釈します。 .TP .B \-v バージョン番号を表示します。 .SH 使用法 ここでは GNU の .B tbl と Unix の .B tbl の違いだけ説明します。 .LP 通常 .B tbl は転換(diversion)を使用し、表内で望ましくないブレイクを抑止しようとします。 これは、独自に転換を使用しているマクロパッケージ、例えばフットノートが 使用された場合などに、干渉する場合があります。 .B nokeep オプションは .B tbl に、こういったブレイクを使用させないようにします。 .LP .B decimalpoint オプションはデフォルトのピリオドのかわりに小数点として認識される文字を 指定します。 これは .B tab オプションと同じように、括弧でくくられた一文字だけの引数をとります。 .LP .B f フォーマット修飾子の後には、 括弧でくくられた任意の長さのフォント名を指定することができます。 .LP 縦書きエントリをレンジの下部に整列させるという意味を持つ .B d フォーマット修飾子があります。 .LP 表のカラム数にもテキストブロックの数にも制限はありません。 カラム幅の決定については、最初の 200 行だけではなく、 すべての行が考慮されます。 表の継続 .RB ( .T& ) 行は最初の 200 行に制限されません。 .LP 数字と英字の項目を同じカラムに印字することもできます。 .LP 数字と英字の項目を水平方向にまたがらせることもできます。 .LP .B tbl は .B 3 で始まる名前のレジスタ、文字列、マクロ、転換名を使用します。 .B tbl を使う際には .B 3 で始まる名前の使用は避けるべきです。 .SH バグ 複数ページにまたがる枠付き表を表示する場合、それをサポートしている マクロパッケージと .BR .TS\ H / .TH を併用しなければなりません。 表の各ページの上部に表示されるべきヘッダが出ない場合、 そのフォーマットセクションの直後に .B .TH を置いて下さい。 複数ページの表を keep/release マクロで囲んだり、その他の方法で 迂回させないでください。 .LP 表中のテキストブロックは 1 ページに収まらなければなりません。 .LP .B bp リクエストは複数ページの表でページブレイクを強制するために 使用することはできません。 .B bp のかわりに .B BP を以下のように定義して使用して下さい。 .IP .B .de BP .br .B .ie '\e\en(.z'' .bp \e\e$1 .br .B .el \e!.BP \e\e$1 .br .B .. .br .LP 表中で直接 \ea を使用しても、リーダはうまく得られません。 これは正しい動作です: \ea は .B 解釈されない リーダです。 リーダを得るためには、本物のリーダを使います。 それには control A か以下を使用する必要があります: .IP .nf .ft B \&.ds a \ea \&.TS tab(;); lw(1i) l. A\e*a;B \&.TE .ft .fi .SH 関連項目 .BR groff (1), .BR troff (1) diff --git a/ja/man/man1/tfmtodit.1 b/ja/man/man1/tfmtodit.1 index 47c9978e29..0b8ab32edc 100644 --- a/ja/man/man1/tfmtodit.1 +++ b/ja/man/man1/tfmtodit.1 @@ -1,156 +1,156 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: tfmtodit.1,v 1.2 1997/03/29 11:46:40 horikawa Stab % .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH TFMTODIT 1 "7 September 1996" "Groff Version 1.10" +.TH TFMTODIT 1 "7 September 1996" "Groff Version 1.11" .SH 名称 tfmtodit \- groff \-Tdvi で用いるフォントファイルを作成する .SH 書式 .B tfmtodit [ .B \-sv ] [ .BI \-g gf_file ] [ .BI \-k skewchar ] .I tfm_file .I map_file .I font .SH 解説 .B tfmtodit は、 .B groff \-Tdvi\fR で用いるフォントファイルを作成します。 .I tfm_file は、フォント作成に用いる \*(tx のフォントメトリックファイル名です。 .I map_file は .B groff での文字名を記述したファイルです。このファイルは、以下 の形式を持ちます。 .IP .I n c1 c2 \fR.\|.\|. .LP .I n はフォント中での十進数で表した文字の位置、 .IR c1 , .IR c2 ,.\|.\|. は groff での文字名を示します。 tfm ファイルに存在するが、groff では名前を持たない文字は groff フォントファイルに名前のない文字として出力されます。 .I font は、出力する groff フォントファイル名です。 .LP 特殊なフォント(カレントフォントの中に文字が見つからない場合に 検索されるフォントのこと)に対しては .B \-s オプションを指定する必要があります。 特殊なフォントは DESC ファイルの .B fonts コマンドで列挙します。特殊なフォント以外は列挙する必要はありません。 .B troff がそのフォントを最初に使用したときに自動的にマウントできるからです。 .LP 数式を適切に処理するために、groff は tfm には含まれない フォントメトリック情報を必要とします。 \*(tx は数式用のイタリックフォントを使用しますが、groff では、 通常のイタリックフォントを数式にも使用するからです。 groff が必要とする情報は、Metafont の Computer Modern fonts に おける .B math_fit マクロの 2 つの引数によって与えることができます。 Metafont は通常、テキストフォント( .B math_fitting が false)の処理中、これらの引数を無視します。 .B cm.base を作成するときに以下の定義を .B cmbase のあとにロードすることによって、 テキストフォントのフォントメトリック情報を gf ファイル中に出力するように Metafont に指示できます。 .IP .nf .ft B def ignore_math_fit(expr left_adjustment,right_adjustment) = special "adjustment"; numspecial left_adjustment*16/designsize; numspecial right_adjustment*16/designsize; enddef; .fi .ft R .LP この変更された .B cm.base を使って作成された gf ファイルは .B \-g オプションで指定します。 .B \-g オプションは、 .I math_fitting が true に設定されたフォントに対しては使用してはいけません。 .SH オプション .TP .B \-v バージョン番号を表示します。 .TP .B \-s 特殊なフォントであることを指定します。フォントファイルに .B special コマンドを追加します。 .TP .BI \-k n フォント中の skewchar (斜めになった文字) の位置を指定します。 .I n は整数で、10 進数か、 .B 0 で始まる 8 進数か .B 0x で始まる 16 進数で指定します。本オプションで指定された文字が カーニング処理の 2 文字目にきた場合、 カーニングを行わないようになります。 .TP .BI \-g gf_file Metafont で生成された gf ファイル .I gf_file を指定します。 この gf ファイルは special コマンドと numspecial コマンドを含み、 追加のフォントメトリック情報を与えます。 .SH 関連ファイル .Tp \w'\fB/usr/share/groff_font/devdvi/DESC'u+2n .B /usr/share/groff_font/devdvi/DESC デバイス記述ファイル .TP .BI /usr/share/groff_font/devdvi/ F フォント F のためのフォント記述ファイル .SH 関連項目 .BR groff (1), .BR grodvi (1), .BR groff_font (5) diff --git a/ja/man/man1/time.1 b/ja/man/man1/time.1 index a4b4023ccc..ff11a224aa 100644 --- a/ja/man/man1/time.1 +++ b/ja/man/man1/time.1 @@ -1,102 +1,118 @@ .\" Copyright (c) 1980, 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. .\" .\" @(#)time.1 8.1 (Berkeley) 6/6/93 .\" jpman %Id: time.1,v 1.3 1997/07/27 12:00:02 horikawa Stab % .\" .Dd June 6, 1993 .Dt TIME 1 .Os BSD 4 .Sh 名称 .Nm time .Nd コマンドの実行時間の計測 .Sh 書式 .Nm -.Op Fl al +.Op Fl alp .Op Fl o Ar file .Ar command .Sh 解説 .Nm は タイマーを初期化して、シェルに .Ar command を実行させ、処理に要した時間を計測します。 .Ar command の実行を終えると、 -標準エラー出力に 実行開始から実際に経過した時間、 -システムのオーバヘッドに費された時間、 .Ar command -の実行に要した時間を秒単位で -出力します。 +の実行に要した時間、 +システムのオーバヘッドに費された時間を、(秒単位で) 標準エラー出力に出力します。 .Pp 使用可能なオプション: .Bl -tag -width Ds .It Fl a .Fl o が使用されている場合、上書きするのではなく、指定されたファイルに追加します。 .Fl o が使用されていない場合には、このオプションは効果ありません。 .It Fl l デフォルトの出力に加え、 .Em rusage 構造体の内容を表示します。 .It Fl o Ar file 出力を標準エラー出力ではなく .Ar file に対して行います。 .Ar file が存在し、 .Fl a フラグが指定されなかった場合、ファイルは上書きされます。 +.It Fl p +POSIX.2 に従った出力を、 +.Nm +にさせます (各時間が各行に表示されます)。 .El .Pp +ほとんどのシェル ( .Xr csh 1 -は独自の +を含みます) は独自の .Nm -をビルトインコマンドとして実装しています。 -シェルに -.Xr csh -を使用している場合、 +を組み込みコマンドとして実装しています。 +これらのシェルを使用している場合、 ここで説明されている .Nm を実行するときは .Pa /usr/bin/time とタイプして下さい。 +.Sh 診断 +.Ar command +を成功裏に時間計測できた場合、コマンドの終了状態が返されます。 +.Ar command +が異常終了した場合、警告メッセージが標準エラー出力に出力されます。 +.Ar command +が見付かったものの実行できなかった場合、終了状態は 126 になります。 +.Ar command +が見付からなかった場合、終了状態は 127 になります。 +.Nm +が他のエラーとなった場合、終了状態は 1 以上 125 以下となります。 .Sh 関連項目 .Xr csh 1 , .Xr getrusage 2 , .Xr wait 2 +.Sh 規格 +.Nm +ユーティリティは、 +ISO/IEC 9945-2:1993 (``POSIX'') に従っていると期待されています。 .Sh 歴史 .Nm は .At v6 から登場しました。 diff --git a/ja/man/man1/troff.1 b/ja/man/man1/troff.1 index d4a5ed2c94..8e4a896a44 100644 --- a/ja/man/man1/troff.1 +++ b/ja/man/man1/troff.1 @@ -1,2022 +1,2022 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: troff.1,v 1.4 1997/07/26 21:50:12 horikawa Stab % .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .\" The BSD man macros can't handle " in arguments to font change macros, .\" so use \(ts instead of ". .tr \(ts" -.TH TFMTODIT 1 "8 September 1996" "Groff Version 1.10" +.TH TFMTODIT 1 "8 September 1996" "Groff Version 1.11" .SH 名称 troff \- 文書をフォーマットする .SH 書式 .nr a \n(.j .ad l .nr i \n(.i .in +\w'\fBtroff 'u .ti \niu .B troff .de OP .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" .el .RB "[\ " "\\$1" "\ ]" .. .OP \-abivzCER .OP \-w name .OP \-W name .OP \-d cs .OP \-f fam .OP \-m name .OP \-n num .OP \-o list .OP \-r cn .OP \-T name .OP \-F dir .OP \-M dir .RI "[\ " files\|.\|.\|. "\ ]" .br .ad \na .SH 解説 本マニュアルでは、groff ドキュメントフォーマットシステムの一部である GNU バージョンの .B troff について記述します。本コマンドは UNIX troff と 高い互換性を持ちます。通常 troff は groff コマンドから起動されます。 groff はまた、適切な前処理プログラムと後処理プログラムを適切なオプショ ンで、適切な順序で起動します。 .SH オプション .TP \w'\-dname=s'u+2n .B \-a .SM ASCII 文字のみの近似的な出力を行います。 .TP .B \-b 各警告とエラーメッセージに対するバックトレースを表示します。これは、 警告やエラーの原因を調べるのに有用です。出力される行番号は必ずしも正し くはありません。 .B as や .B am リクエストにより行番号を誤認する可能性がある からです。 .TP .B \-i 指定されたファイルをすべて処理したあとに、標準入力も読み込み、処理します。 .TP .B \-v バージョン番号を表示します。 .TP .BI \-w name .I name で指定した分類の警告を行います。指定できる .I name は、後述の警告のサブセクションを参照してください。 .B \-w オプションは複数指定できます。 .TP .BI \-W name .I name で指定した分類の警告を行いません。 .B \-W オプションは複数指定することが できます。 .TP .B \-E エラーメッセージを一切出力しません。 .TP .B \-z フォーマットした結果を出力しません。 .TP .B \-C 互換モードにします。 .TP .BI \-d cs .TQ .BI \-d name = s マクロ .I c または .I name を文字列 .I s と定義します。 .I c は 1 文字のマクロ名です。 .TP .BI \-f fam .I fam をデフォルトのフォントファミリとして使用します。 .TP .BI \-m name マクロファイル .BI tmac. name を読み込みます。通常、ディレクトリ .B /usr/share/tmac が検索されます。 .TP .B \-R .B troffrc を読みません。 .TP .BI \-n num 最初のページ番号を .I num とします。 .TP .BI \-o list .I list で指定したページのみを出力します。 .I list は、コンマで区切られ たページ範囲の列です。ページ範囲の指定方法は以下のとおりです: .I n は .I n ペー ジの出力、 .IB m \- n は .I m ページから .I n ページまでの出力、 .B \-n は .I n ページまでの 出力、 . IB n \- は .I n ページ以降の出力を意味します。 .B troff はリストの最後のページを印刷し終えると終了します。 .TP .BI \-r cn .TQ .BI \-r name = n 数値レジスタ .I c または .I name の値を .I n とします。 .I c は 1 文字の名前です。 .I n は troff で扱える数式です。 .TP .BI \-T name デバイス .I name 用の出力を生成します。デフォルトは ps です。 .TP .BI \-F dir フォントファイルと .B DESC ファイルを検索するのに、ディレクトリ .I dir 以下の .BI dev name .RI ( name は出力デバイス名) を探します。通常フォントは .B /usr/share/groff_font から検索されますが、本オプションで指定したディレ クトリのほうが先に検索されます。 .TP .BI \-M dir .B /usr/share/tmac の前に、指定したディレクトリ .I dir からマクロファイルを検索します。 .SH 使用法 ここでは Unix troff には無い機能のみを説明します。 .SS 長い名前 数値レジスタ、フォント、文字列/マクロ/転換、 特殊文字のそれぞれの名前の長さは任意です。 エスケープシーケンス中、すなわち 2 文字の名前 .BI ( xx を使用可能な場所で、 任意の長さの名前 .BI [ xxx ] を使用可能です。 .TP .BI \e[ xxx ] .IR xxx で呼ばれる特殊文字を表示します。 .TP .BI \ef[ xxx ] フォント .IR xxx を設定します。 .TP .BI \e*[ xxx ] 文字列 .IR xxx を挿入する。 .TP .BI \en[ xxx ] 数値レジスタ .IR xxx を挿入する。 .SS 分数のポイントサイズ .I スケールドポイントは 1/sizescale ポイントです。ここで sizescale は .B DESC ファイルで指定されます (デフォルト値は 1です)。 また、新しいスケールインジケータ .B z があります。 これは sizescale 倍する効果があります。 troff におけるリクエストおよびエスケープシーケンスは ポイントサイズを表す引数をスケールドポイント単位で表されているとして 解釈しますが、 このような引数の評価はデフォルトのスケールインジケータ .BR z にて行います。 このように取り扱われる引数には、 .B ps リクエストの引数、 .B cs リクエストの 3 番目の引数、 .B tkf リクエストの 2 番目および 4 番目の引数、 .B \eH エスケープシーケンスの引数、 .B \es エスケープシーケンスの変形で数値式を引数として取るものとがあります。 .LP .\" 例えばサイズスケールを 1000 とします; 例えば sizescale を 1000 とします; この場合スケールドポイントはミリポイントとなります; リクエスト .B .ps 10.25 は .B .ps 10.25z と同じですし、ポイントサイズは 10250 スケールドポイントに設定されます。 これは 10.25 ポイントと等しい値です。 .LP 数値レジスタ .B \en(.s はポイントサイズを 10 進数分数のポイント単位で返します。 新しい数値レジスタ .B \en[.ps] もあり、これはスケールドポイント単位でのポイントサイズを返します。 .LP デフォルトのスケールインジケータが .BR u , .B z のどちらでもない数式中で .B z スケールインジケータを使用するのは無意味でしょう。 .B troff はこのようなことを禁止します。 同様に、 .BR z がデフォルトのスケールインジケータであった数式において .BR z , .B u のどちらでもないスケールインジケータを使用するのは無意味でしょう。 .B troff はこのようなことを禁止します。 .LP また、新しいスケールインジケータ .B s があります。これはもとの値をスケールドポイントの単位数で逓倍します。 例えば、 .B \en[.ps]s は .B 1m と同じです。 .BI s, .B z スケールインジケータを混同しないようにして下さい。 .SS 数値式 .LP 括弧内の数式中に空白を含めることが許されます。 .LP .B M は em の 1/100 を意味します。 .TP .IB e1 >? e2 .I e1 と .I e2 とで小さくない方。 .TP .IB e1 .\" USAGE から Incompatibilities まで訳出 (Dec 23, 1996) .\" Norihiro Kumagai .\" 訳チェック (Jan 5, 1997) diff --git a/ja/man/man1/tsort.1 b/ja/man/man1/tsort.1 index 779b81c723..bfe21051b6 100644 --- a/ja/man/man1/tsort.1 +++ b/ja/man/man1/tsort.1 @@ -1,92 +1,92 @@ .\" Copyright (c) 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This manual is derived from one contributed to Berkeley by .\" Michael Rendell of Memorial University of Newfoundland. .\" .\" 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. .\" .\" @(#)tsort.1 8.3 (Berkeley) 4/1/94 .\" jpman %Id: tsort.1,v 1.3 1997/08/20 12:50:46 horikawa Stab % .\" .Dd April 1, 1994 .Dt TSORT 1 .Os .Sh 名称 .Nm tsort .Nd 有向グラフのトポロジカルソートを行う .Sh 書式 .Nm .Op Fl d .Op Fl l .Op Fl q .Op Ar file .Sh 解説 .Nm はグラフの有向アークを表現するノード名の対を列挙したもの入力とし、 トポロジカルな順序でノード名を標準出力に出力します。 入力は指定されたファイル .Ar file から、あるいは指定がない場合は標準入力から読み込みます。 .Pp 入力においてノード名は空白で区切ります。 -ノード対の数は偶数個でなければなりません。 +ノードの数は偶数個でなければなりません。 .Pp グラフ中のノードは 自分自身へのアークを持つノードとして記述することができます。 これはノードが他のノードと接続されていない場合に有用です。 .Pp グラフがサイクルを含んでいる(そのままではソートできない)場合、 サイクル上の 1 つのアークを無視してソートを続行します。 サイクルは標準エラー出力に報告されます。 .Pp オプションは以下の通り: .Bl -tag -width Ds .It Fl d デバッグ機能を有効にします。 .It Fl l 最長サイクルを検索して表示します。 かなり時間がかかる場合があります。 .It Fl q サイクルに関して詳しい情報を表示しません。 これは主としてライブラリ構築向けです。 その場合必ずしも最適な順序を求める必要はなく、 サイクルもしばしば含まれます。 .El .Sh 関連項目 .Xr ar 1 .Sh 歴史 .Nm コマンドは .At v7 で登場しました。 本 .Nm tsort コマンドとマニュアルは Memorial University of Newfoundland の Michael Rendell による Berkeley に提供されたコードをベースにしています。 diff --git a/ja/man/man1/uniq.1 b/ja/man/man1/uniq.1 index b7d8ffd57d..5c569651a1 100644 --- a/ja/man/man1/uniq.1 +++ b/ja/man/man1/uniq.1 @@ -1,132 +1,132 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" 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: @(#)uniq.1 8.1 (Berkeley) 6/6/93 -.\" %Id: uniq.1,v 1.3 1997/09/07 15:09:22 joerg Exp % -.\" jpman %Id: uniq.1,v 1.2 1997/03/29 11:56:16 horikawa Stab % +.\" %Id: uniq.1,v 1.3.2.1 1999/03/15 02:58:24 billf Exp % .\" +.\" jpman %Id: uniq.1,v 1.2 1997/03/29 11:56:16 horikawa Stab % .Dd June 6, 1993 .Dt UNIQ 1 .Os .Sh 名称 .Nm uniq .Nd ファイル内の重複行の報告または、フィルタ出力 .Sh 書式 .Nm .Op Fl c | Fl d | Fl u .Op Fl i .Op Fl f Ar fields .Op Fl s Ar chars .Oo .Ar input_file .Op Ar output_file .Oc .Sh 解説 .Nm ユーティリティは、標準入力を読み込み、隣り合う行同士を比較し、 重複した行を取り除いて標準出力へ書き込みます。 隣り合った行が同じ内容だったら 2 行目以降を出力しません。 同じ内容でも行が隣り合っていない場合は比較の対象になりませんので、 まずファイルをソートする事が必要になるかもしれません。 .Pp オプションとしては以下のものがあります: .Bl -tag -width Ds .It Fl c 各出力行の先頭に、行が入力中に続けて出現した回数を表示し、空白一つあけて その行の内容を表示します。 .It Fl d 重複した行のみを出力します。 .It Fl f Ar fields 比較する時に、各入力行の先頭から .Ar fields 個のフィールドを無視します。 フィールドとは、空白文字で区切られた、空白以外の文字からなる文字列です。 .Ar fields を指定するときは、最初のフィールドを 1 として数えます。 .It Fl s Ar chars 比較する時に、各入力行の先頭から .Ar chars 文字を無視します。 本オプションを .Fl f オプションと一緒に指定した場合は、 .Ar fields 個のフィールドに続く .Ar chars 文字が無視されます。 .Ar chars を指定するときは、最初の文字を 1 として数えます。 .It Fl u 入力の重複がなかった行のみを出力します。 .It Fl i 行の比較において大文字小文字を区別しません。 .\".It Fl Ns Ar n .\"(Deprecated; replaced by .\".Fl f ) . .\"Ignore the first n .\"fields on each input line when doing comparisons, .\"where n is a number. .\"A field is a string of non-blank .\"characters separated from adjacent fields .\"by blanks. .\".It Cm \&\(pl Ns Ar n .\"(Deprecated; replaced by .\".Fl s ) . .\"Ignore the first .\".Ar m .\"characters when doing comparisons, where .\".Ar m .\"is a .\"number. .El .Pp コマンドラインにさらに引数が指定されると、その最初の引数を入力ファイルの 名前として使用し、その次の引数を出力ファイルの名前として使用します。 .Pp .Nm ユーティリティは、成功した場合は 0 を、 エラーが発生した場合は 0 より大きな値を返します。 .Sh 互換性 古くからある .Cm \&\(pl Ns Ar number と .Fl Ns Ar number のオプションは時代遅れですが、この実装ではまだサポートしています。 .Sh 関連項目 .Xr sort 1 .Sh 規格 .Nm ユーティリティは、 .St -p1003.2 互換であるはずです。 diff --git a/ja/man/man1/vidcontrol.1 b/ja/man/man1/vidcontrol.1 index cd7a0af1aa..4dc7a0276a 100644 --- a/ja/man/man1/vidcontrol.1 +++ b/ja/man/man1/vidcontrol.1 @@ -1,159 +1,159 @@ .\" .\" vidcontrol - a utility for manipulating the syscons video driver .\" .\" 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. .\" .\" @(#)vidcontrol.1 -.\" %Id: vidcontrol.1,v 1.14 1998/09/23 10:00:15 yokota Exp % -.\" jpman %Id: vidcontrol.1,v 1.3 1997/08/04 01:31:25 mitchy Stab % +.\" %Id: vidcontrol.1,v 1.14.2.1 1999/04/08 13:53:31 ghelmer Exp % .\" +.\" jpman %Id: vidcontrol.1,v 1.3 1997/08/04 01:31:25 mitchy Stab % .Dd May 22, 1994 .Dt VIDCONTROL 1 .Os .Sh 名称 .Nm vidcontrol .Nd syscons 画面ドライバの操作ユーティリティ .Sh 書式 .Nm .Op Fl r Ar fg Ar bg .Op Fl b Ar color .Op Fl c Ar appearance .Op Fl d .Op Fl i Ar adapter|mode .Op Fl l Ar scrmap .Op Fl L .Op Fl m Ar on|off .Op Fl f Ar size Ar file .Op Fl s Ar number .Op Fl t Ar N|off .Op Fl x .Op mode .Op fgcol Op bgcol .Op show .Sh 解説 .Nm コマンドを用いて syscons 画面ドライバの様々なオプション、例えば、 -画面モード、色、カーソル、画面マップ(scrnmap)、 +画面モード、色、カーソル、画面マップ (scrnmap)、 フォント、スクリーンセーバタイムアウトを設定することができます。 .Pp 以下のコマンドラインオプションをサポートしています: .Bl -tag -width indent .It mode 新しいビデオモードを選択します。 現在サポートしているモードは次の通りです: .Ar 40x25 , .Ar 80x25 , .Ar 80x30 , .Ar 80x43 , .Ar 80x50 , .Ar 80x60 , .Ar 132x25 , .Ar 132x30 , .Ar 132x43 , .Ar 132x50 , .Ar 132x60 , .Ar VGA_40x25 , .Ar VGA_80x25 , .Ar VGA_80x50 , .Ar EGA_80x25 , .Ar EGA_80x43 , .Ar VESA_132x25 , .Ar VESA_132x30 , .Ar VESA_132x43 , .Ar VESA_132x50 , .Ar VESA_132x60 。 また、グラフィックモード .Ar VGA_320x200 , .Ar VGA_800x600 も選択できます。 前記の全モードを ビデオカードがサポートしているとは限らないことに注意してください。 また、 VESA ビデオモードもしくは 132 桁モードを使用する場合には、 -VESA BIOS サポートをカーネルにリンクするか LKM にてロードする必要があることにも +VESA BIOS サポートをカーネルにリンクするか KLD にてロードする必要があることにも 注意してください。 .It fgcol Op bgcol テキストを表示する際の色を変更します。 -前景色(例: "vidcontrol white")、あるいは -前景色および背景色(例: "vidcontrol yellow blue")を指定することにより +前景色 (例: "vidcontrol white")、あるいは +前景色および背景色 (例: "vidcontrol yellow blue") を指定することにより 変更できます。 .It show 指定したプラットフォームでサポートされている色を表示します。 .It Fl r Ar foreground Ar background 反転表示モードで用いる色を前景色 .Ar foreground および背景色 .Ar background に変更します。 .It Fl b Ar color ボーダ色を .Ar color -に設定します(VGA ハードウェアでのみサポートされています)。 +に設定します (VGA ハードウェアでのみサポートされています)。 .It Fl c Ar normal|blink|destructive カーソルの外観を変更します。 -カーソルは、反転ブロック(normal)、反転ブロックの点滅(blink)、 -あるいは古いハードウェアカーソル様のもの(destructive)のいずれかです。 +カーソルは、反転ブロック (normal)、反転ブロックの点滅 (blink)、 +あるいは古いハードウェアカーソル様のもの (destructive) のいずれかです。 後者は実際にはシミュレートしています。 .It Fl d 現在の画面出力マップを表示します。 .It Fl l Ar scrmap 画面出力マップをファイル .Ar scrmap から読み込んで設定します。 .It Fl L 画面出力マップをデフォルトに設定します。 .It Fl i Ar adapter 現在のビデオアダプタに関する情報を表示します。 .It Fl i Ar mode 現在のビデオハードウェアにて使用可能なビデオモードを表示します。 .It Fl m Ar on|off マウスポインタを .Ar on または .Ar off します。 -テキストモードでのカット&ペースト機能を利用するために moused デーモンと共に +テキストモードでのカット & ペースト機能を利用するために moused デーモンと共に 使用します。 .It Fl f Ar size Ar file サイズ .Ar size 用のフォントをファイル .Ar file から読み込みます。 現在のところ .Ar size には 8x8, 8x14, 8x16 のみが指定できます。 フォントファイルは uuencode された形式でも 生のバイナリフォーマットでも構いません。 .It Fl s Ar number 現在の vty を .Ar number に設定します。 .It Fl t Ar N|off スクリーンセーバのタイムアウト値を .Ar N -秒に設定、あるいはスクリーンセーバを無効( +秒に設定、あるいはスクリーンセーバを無効 ( .Ar off )にします。 .It Fl x 出力に 16 進数を用います。 .El .Sh 関連ファイル .Bl -tag -width /usr/share/syscons/scrnmaps -compact .It Pa /usr/share/syscons/fonts .It Pa /usr/share/syscons/scrnmaps .El .Sh 関連項目 .Xr kbdcontrol 1 , .Xr keyboard 4 , .Xr screen 4 , .Xr moused 8 .Sh 作者 .An Sen Schmidt Aq sos@FreeBSD.org diff --git a/ja/man/man1/whois.1 b/ja/man/man1/whois.1 index 52377f2c86..d5fbf76fb8 100644 --- a/ja/man/man1/whois.1 +++ b/ja/man/man1/whois.1 @@ -1,114 +1,130 @@ .\" Copyright (c) 1985, 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: @(#)whois.1 8.1 (Berkeley) 6/6/93 -.\" %Id: whois.1,v 1.4 1998/02/19 19:07:49 wollman Exp % -.\" jpman %Id: whois.1,v 1.3 1997/06/14 04:30:33 kubo Stab % +.\" %Id: whois.1,v 1.4.2.1 1999/03/17 03:20:46 billf Exp % .\" -.Dd February 19, 1998 +.\" jpman %Id: whois.1,v 1.3 1997/06/14 04:30:33 kubo Stab % +.Dd February 1, 1999 .Dt WHOIS 1 .Os BSD 4.3 .Sh 名称 .Nm whois .Nd インターネットのドメイン名とネットワーク番号のディレクトリサービス .Sh 書式 .Nm whois -.Op Fl adpr +.Op Fl adgprR .Op Fl h Ar host .Ar name ... .Sh 解説 .Nm はネットワークインフォメーションセンタ .Pq Tn NIC のデータベースのレコード検索を行ないます。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width Ds .It Fl a American Registry for Internet Numbers .Pq Tn ARIN データベースを使用します。 ここには、 .Tn APNIC および .Tn RIPE 以外がカバーする全世界の IP 番号があります。 .It Fl d -(US Military) Defense Data Network -.Pq Tn DDN +US Department of Defense データベースを使用します。 .Tn \&.MIL のサブドメインの連絡先があります。 +.It Fl g +US の軍以外の連邦政府データベースを使用します。 +.Tn \&.GOV +のサブドメインの連絡先があります。 .It Fl h Ar host デフォルトの NIC (whois.internic.net) に代えて、指定したホスト用います。 ホスト名もしくは IP 番号を指定可能です。 .It Fl p Asia/Pacific Network Information Center .Pq Tn APNIC データベースを使用します。 ここには、東アジア、オーストラリア、ニュージーランド、太平洋諸島の IP 番号があります。 .It Fl r R\(aaeseaux IP Europ\(aaeens .Pq Tn RIPE データベースを使用します。 -ここには、ヨーロッパのドメイン番号とドメインの連絡先情報があります。 +ここには、ヨーロッパのネットワーク番号とドメインの連絡先情報があります。 +.It Fl R +Russia Network Information Center +.Pq Tn RIPN +データベースを使用します。 +ここには、 +.Tn \&.RU +のネットワーク番号とドメインの連絡先情報があります。 .El .Pp .Nm コマンドに指定されたオペランドは空白をはさんで結合され、 指定された .Nm サーバに渡されます。 .Pp 特に .Ar name で指定されなければ、デフォルトでは データベース中のすべてのレコードのほとんどの フィールド (名前、通称 (nicknames)、ホスト名、ネットアドレス、その他) に ついて .Ar name に一致するものを探すという、広範囲な検索を実行します。 .Ar name オペランドの持つ特別な意味や 検索の進め方に関してさらに情報を得るには、 特別な名前 .Dq Ar help を .Ar name に指定して下さい。 .Sh 関連項目 -RFC 812: Nicname/Whois +.Rs +.%A Ken Harrenstien +.%A Vic White +.%T NICNAME/WHOIS +.%D 1 March 1982 +.%O RFC 812 +.Re .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 diff --git a/ja/man/man5/gettytab.5 b/ja/man/man5/gettytab.5 index 2449094d20..68498c216e 100644 --- a/ja/man/man5/gettytab.5 +++ b/ja/man/man5/gettytab.5 @@ -1,521 +1,521 @@ .\" 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. .\" .\" from: @(#)gettytab.5 8.4 (Berkeley) 4/19/94 -.\" %Id: gettytab.5,v 1.18 1998/06/10 12:34:25 phk Exp % +.\" %Id: gettytab.5,v 1.18.2.1 1999/04/07 05:35:25 peter Exp % .\" .\" jpman %Id: gettytab.5,v 1.3 1998/07/30 15:25:14 horikawa Stab % .\" " .\" WORD: terminal line 端末回線 .\" WORD: .Sh CAPABILITIES ケーパビリティ .\" WORD: erase 文字消去 .\" WORD: kill 行削除 .\" WORD: delay 遅延 .\" WORD: comma コンマ .\" WORD: banner バナー .\" WORD: answer chat script アンサーチャットスクリプト .\" WORD: screen 画面 [termcap.5 gettytab.5] .\" " .Dd April 19, 1994 .Dt GETTYTAB 5 .Os BSD 4.2 .\" turn off hyphenation .hym 999 .Sh 名称 .Nm gettytab .Nd 端末設定データベース .Sh 書式 .Nm gettytab .Sh 解説 .Nm ファイルは .Xr termcap 5 データベースを単純化したバージョンで、 端末回線を記述するのに用いられます。 冒頭に起動される端末ログインプロセス .Xr getty 8 は起動されるたびに .Nm ファイルにアクセスするので、 比較的簡単に端末の特性を再設定することができます。 データベースの各エントリは、それぞれ1個の端末クラスを記述するのに用いられます。 .Pp デフォルトの端末クラス .Em default が存在し、 他の全てのクラスに対するグローバルなデフォルト値を記述するのに 用いられます。 (言い替えれば、まず、 .Em default エントリを読み込み、その後で、必要なクラスのエントリを読み込み、 デフォルトの設定をクラス固有の設定で上書きします。) .Sh ケーパビリティ ファイルレイアウトの解説については、 .Xr termcap 5 を参照して下さい。 以下の .Em デフォルト 欄は、 使用する端末用のテーブルに値がなく、特別の .Em default テーブルにも値がない場合に用いられる値です。 .Bl -column 名称 文字列 /usr/bin/login .It Sy 名称 型 デフォルト 解説 .It "ac 文字列 unused モデム応答のための想定文字列-応答チャットスクリプト" +.It "al 文字列 unused プロンプトを出さずに自動ログインするユーザ" .It "ap bool 偽 端末はどのパリティでも受け付ける" .It "bk 文字列 0377 代用の行末文字 (入力ブレーク)" -.It "c0 数値 unused メッセージ書き出しのための tty コントロールフラグ群" -.It "c1 数値 unused ログイン名読み込みのための tty コントロールフラグ群" -.It "c2 数値 unused 端末を去るときのコントロールフラグ群" +.It "c0 数値 unused メッセージ書き出しのための tty 制御フラグ群" +.It "c1 数値 unused ログイン名読み込みのための tty 制御フラグ群" +.It "c2 数値 unused 端末を去るときの制御フラグ群" .It "ce bool 偽 crt 文字消去アルゴリズムを用いる" .It "ck bool 偽 crt 行削除アルゴリズムを用いる" .It "cl 文字列" Ta Dv NULL Ta .No "画面削除シーケンス" .It "co bool 偽 コンソール -" .Ql \en をログインプロンプトの後に追加する .It "ct 数値 10 ac/ic スクリプトのためのチャットタイムアウト" .It "dc 数値 0 チャットデバッグ用ビットマスク" -.It "de 数値 0 この秒数だけ待って、最初のプロンプトを描く前に入力をフラッシュする" +.It "de 数値 0 この秒数だけ待って、最初のプロンプトを書く前に入力をフラッシュする" .It "ds 文字列" Ta So Li ^Y Sc Ta .No "遅延されたサスペンド文字" .It "dx bool 偽 " .Dv DECCTLQ をセットする .It "ec bool 偽 echo を残す" .Tn OFF .It "ep bool 偽 端末は偶数パリティを用いる" .It "er 文字列" Ta So Li ^? Sc Ta .No "消去文字" .It "et 文字列" Ta So Li ^D Sc Ta .No "テキストの終り" .Pq Dv EOF 文字 .It "ev 文字列" Ta Dv NULL Ta .No "環境変数の初期設定" .It "f0 数値 unused メッセージ書き出しのための tty モードフラグ群" .It "f1 数値 unused ログイン名読み込みのための tty モードフラグ群" .It "f2 数値 unused 端末を去るときの tty モードフラグ群" .It "fl 文字列" Ta So Li ^O Sc Ta .No "出力フラッシュ文字" .It "hc bool 偽 " 最後のクローズのときに回線をハングアップ .Tn させない .It "he 文字列" Ta Dv NULL Ta .No "ホスト名編集文字列" .It "hn 文字列 hostname ホスト名" .It "ht bool 偽 端末に本物のタブが実装されている" .It "hw bool 偽 cts/rts によるハードウェアフロー制御を行う" .It "i0 数値 unused メッセージ書き出しのための tty 入力フラグ群" .It "i1 数値 unused ログイン名読み込みのための tty 入力フラグ群" .It "i2 数値 unused 端末を去るときの tty 入力フラグ群" .It "ic 文字列 unused モデム初期化のための、想定入力-出力チャットスクリプト" .It "if 文字列 unused プロンプトの前に、/etc/issue のように名前で指定したファイルを表示する" .It "ig bool 偽 ログイン名に含まれるガベージ文字を無視する" .It "im 文字列" Ta Dv NULL Ta .No "冒頭の (バナー) メッセージ" .It "in 文字列" Ta So Li ^C Sc Ta .No "割り込み文字" .It "is 数値 unused 入力スピード" .It "kl 文字列" Ta So Li ^U Sc Ta .No "行消去文字" .It "l0 数値 unused メッセージ書き出しのための tty ローカルフラグ群" .It "l1 数値 unused ログイン名読み込みのための tty ローカルフラグ群" .It "l2 数値 unused 端末を去るときの tty ローカルフラグ群" .It "lm 文字列 login: ログインプロンプト" .It "ln 文字列" Ta So Li ^V Sc Ta .No "次の文字がリテラル値であることを示す文字" .It "lo 文字列" Ta Pa /usr/bin/login Ta .No "名前を得たときに実行するプログラム" .It "mb bool 偽 キャリアに基づいたフロー制御を行う" .It "nl bool 偽 端末には改行文字がある (あるいは、あるはずである)" -.It "np bool 偽 端末はパリティを用いない (つまり 8bit 文字)" +.It "np bool 偽 端末はパリティを用いない (つまり 8 ビット文字)" .It "nx 文字列 default (速度の自動選択のための) 次のテーブル" .It "o0 数値 unused メッセージ書き出しのための tty 出力フラグ群" .It "o1 数値 unused ログイン名読み込みのための tty 出力フラグ群" .It "o2 数値 unused 端末を去るときの tty 出力フラグ群" .It "op bool 偽 端末は奇数パリティを用いる" .It "os 数値 unused 出力スピード" .It "pc 文字列" Ta So Li \e0 Sc Ta .No "パッド文字" .It "pe bool 偽 プリンタの (ハードコピー) 文字消去アルゴリズムを用いる" .It "pf 数値 0 最初のプロンプトと" 引き続くフラッシュの間の遅延 (秒数) .It "pp 文字列 unused PPP 認証プログラム" .It "ps bool 偽 回線は" .Tn MICOM ポートセレクタに接続されている .It "qu 文字列" Ta So Li \&^\e Sc Ta .No "終了文字" .It "rp 文字列" Ta So Li ^R Sc Ta .No "行の再タイプ文字" .It "rt 数値 unused ac 使用時の ring タイムアウト" .It "rw bool 偽 入力に raw モードを" .Tn 用いずに 、cbreak を用いる .It "sp 数値 unused (入力および出力の) 回線速度" .It "su 文字列" Ta So Li ^Z Sc Ta .No "サスペンド文字" .It "tc 文字列 none テーブルの続き" .It "to 数値 0 タイムアウト (秒数)" .It "tt 文字列" Ta Dv NULL Ta .No "端末の型 (環境変数用)" .It "ub bool 偽 (プロンプトなどの) バッファリングしない出力を行う" .It "we 文字列" Ta So Li ^W Sc Ta .No "単語消去文字" -.It xc bool 偽 コントロール文字を +.It xc bool 偽 制御文字を .Ql ^X の形で出力 .Tn しない .It "xf 文字列" Ta So Li ^S Sc Ta Dv XOFF (出力ストップ) 文字 .It "xn 文字列" Ta So Li ^Q Sc Ta Dv XON (出力開始) 文字 .It "Lo 文字列 C バナーメッセージでの \&%d のために用いるロケール" .El .Pp 以下のケーパビリティはもはや .Xr getty 8 によってサポートされていません。 .Bl -column 名称 文字列 /usr/bin/login .It "bd 数値 0 バックスペースでの遅延" .It "cb bool 偽 crt バックスペースモードを用いる" .It "cd 数値 0 復帰 (carriage return) での遅延" .It "fd 数値 0 フォームフィード (垂直移動) での遅延" .It "lc bool 偽 端末では小文字が使える" .It "nd 数値 0 改行 (ラインフィード) での遅延" .It "uc bool 偽 端末では大文字しか使えない" .El .Pp -回線速度が指定されていない場合、 getty が起動された時に設定されている速度は +回線速度が指定されていない場合、getty が起動された時に設定されている速度は 変更されません。 入力速度または出力速度を指定したときは、 指定した方向の回線速度のみが上書き更新されます。 .Pp メッセージの出力時、ログイン名の入力時、 getty が処理を済ませて端末を手放す時に用いる 端末モードの値は ブール型フラグの指定に基づいて決定されます。 もしこの決定が適切でないことが分かった場合、 これら3つのどれか (あるいはすべて) の値は、数値指定 .Em \&c0 , .Em \&c1 , .Em \&c2 , .Em \&i0 , .Em \&i1 , .Em \&i2 , .Em \&l0 , .Em \&l1 , .Em \&l2 , .Em \&o0 , .Em \&o1 , -または .Em \&o2 -のどれかで上書きされます。 +のいずれかで上書きされます。 これらの数値指定では、フラグの値 (通常は、0 を頭につけた 8 進数) そのものを指定することができます。 これらのフラグは termio の .Em c_cflag , .Em c_iflag , .Em c_lflag , および .Em c_oflag の各フィールドにそれぞれ対応します。 それらのセットの各々は、完全に指定しなければ有効になりません。 .Em \&f0 , .Em \&f1 , および .Em \&f2 -はTTYサブシステムの旧版の実装に対する後方互換性を意図した物です。 +は TTY サブシステムの旧版の実装に対する後方互換性を意図した物です。 これらのフラグには、sgttyb の .Em sg_flags -フィールドの (32ビット) 値の下位16ビットが含まれます。また、上位16ビットは +フィールドの (32 ビット) 値の下位 16 ビットが含まれます。また、上位 16 ビットは ローカルモードを収めるワードを表します。 .Pp もし .Xr getty 8 がナル文字 (回線ブレークを示すものと見なされます) を受け取った場合、 プログラムは .Em nx エントリに示されたテーブルを用いて再始動します。 もしこのエントリがなければ、今まで用いていたテーブルを再び用います。 .Pp 遅延はミリ秒単位で指定し、tty ドライバが使用可能な遅延のうち最も 近いものが用いられます。 より大きな確実性が必要な場合は、0 から 1, 2, 3 までの値の 遅延はドライバの特別な遅延アルゴリズムから選択するものと解釈されます。 .Pp .Em \&cl 画面消去文字列には、その前に必要な遅延時間をミリ秒単位の (10 進数) 数値で (termcap 風に) 書くことができます。 この遅延はパディング文字 .Em \&pc を繰り返して用いることによりシミュレートされます。 .Pp 初期化メッセージ .Em \&im ログインメッセージ .Em \&lm および初期化ファイル .Em \&if は、以下の文字の並びをどれでも含めることができます。これらは .Xr getty 8 が実行されている環境から得た情報に展開されます。 .Pp .Bl -tag -offset indent -width \&%xxxxxxxxxxxxxx .It \&%d 現在の日付と時間を、 .Em \&Lo 文字列で指定したロケールでの表記法 ( .Xr strftime 3 の \&%+ フォーマット) で表したもの。 .It \&%h マシンのホスト名。通常は .Xr gethostname 3 によってシステムから得ますが、テーブルの .Em \&hn エントリで指定して、この値を書き換えることができます。 どちらの場合でも、これは .Em \&he 文字列を用いて編集することができます。 .Em \&he 文字列の中にある 1 個の '@' は 実際のホスト名から最終的なホスト名に 1文字のコピーを引き起こします。 .Em \&he 文字列中の '#' は実際のホスト名の次の1文字をスキップさせます。 \&'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。 余分な '@' と '#' は無視されます。 .It \&%t tty の名前。 .It "\&%m, \&%r, \&%s, \&%v" それぞれ、 .Xr uname 3 が返す マシンの型、オペレーティングシステムのリリース、オペレーティングシステムの 名前、そしてカーネルのバージョンです。 .It \&%% -1個の +1 個の .Dq % 文字。 .El .Pp getty がログインプロセス (通常は .Dq Pa /usr/bin/login ですが、 .Em \&lo 文字列で指定されていればそれ)を実行するとき、このプロセスの環境には .Em \&tt 文字列 (が存在すれば) で指定した 端末の型が設定されます。 .Em \&ev 文字列は、プロセスの環境にデータを追加するために使用することができます。 これはコンマで区切られた文字列からなり、それぞれは、 .Em name=value という形式になっていると仮定されます。 .Pp もしタイムアウトとして、 .Em \&to に 0 以外の値を指定した場合、 指定された秒数経過した後に終了します。 すなわち、getty はログイン名を受け取って制御を .Xr login 1 に渡すか、または alarm シグナルを受け取って終了します。 これはダイヤルイン回線をハングアップするために有用です。 .Pp .Xr getty 8 からの出力は、 .Em \&op か .Em \&np が指定された場合を除いて、偶数パリティを用います。 .Em \&op 文字列と .Em \&ap を一緒に指定すると、 入力としてはパリティが何であっても許可し、出力としては奇数パリティを 生成します。 注意: これは、getty が実行されているときのみ適用され、端末ドライバの 制限によりここまで完全な実装ができないかもしれません。 .Xr getty 8 は .Dv RAW モードのときは入力文字のパリティ検査を行いません。 .Pp もし .Em \&pp 文字列が指定されていて、 PPP リンク確立シーケンスが認識されると、 getty は pp オプションで指定されているプログラムを起動します。 これは PPP 着信を取り扱うために用いることができます。 .Pp .Nm getty は以下の2つのケーパビリティを用いて利用できるチャットスクリプト機能を 提供します。これによって、 基本的なインテリジェントモデムをある程度取り扱えるようにします。 .Pp .Bl -tag -offset indent -width \&xxxxxxxx -compact .It ic モデムを初期化するチャットスクリプト。 .It ac コールに答えるチャットスクリプト。 .El .Pp チャットスクリプトは、受信を想定した文字列/送信する文字列の対の連なり からなります。チャット文字列が始まるとき、 .Nm getty は最初の文字列を待ち、その文字列を見つけたら 2 番目の文字列を送ります。 以後も同様に処理を進めます。 指定された文字列は 1 個以上のタブあるいはスペースで区切られています。 文字列には標準 ASCII 文字と、特別な「エスケープ」を含めることが -できます。エスケープは、バックスラッシュに続き1文字以上の文字が +できます。エスケープは、バックスラッシュに続き 1 文字以上の文字が 続いたもので、それは 以下のように解釈されます。 .Pp .Bl -tag -offset indent -width \&xxxxxxxx -compact .It \ea ベル文字。 .It \eb バックスペース。 .It \en 改行。 .It \ee エスケープ。 .It \ef フォームフィード。 .It \ep 0.5秒の一時停止。 .It \er 復帰文字。 .It \eS, \es 空白文字。 .It \et タブ。 .It \exNN 16 進数のバイト値。 .It \e0NNN 8 進数のバイト値。 .El .Pp .Ql \ep 文字列は送信文字列でのみ有効で、前の文字と次の文字を送る間に 0.5 秒の 一時停止を発生することに注意のこと。 16 進数値は最大で 16 進数 2 桁で、 8 進数値は最大で 8 進数 3 桁です。 .Pp .Em \&ic チャットシーケンスはモデムやそれに類似したデバイスを初期化するのに 用いられます。ヘイズ互換のコマンドセットを持つモデム用の初期化チャット スクリプトの典型例は、以下のようなものでしょう。 .Pp .Dl :ic="" ATE0Q0V1\er OK\er ATS0=0\er OK\er: .Pp このスクリプトは何も待たず (つまり常に成功し)、モデムが正しいモード (コマンドエコーを抑制し、応答を返す際に冗長モードで返す) に確実になるようなシーケンスを送り、それから自動応答を 切ります。 -終了する前に、 "OK" という反応を待ちます。 +終了する前に、"OK" という反応を待ちます。 この初期化シーケンスは、モデムの応答をチェックして モデムが正しく機能しているかを確かめるために 用いられます。 初期化スクリプトが完了するのに失敗した場合、 .Nm getty はこれを致命的な状態であると見なし、その結果として、 .Xr syslogd 8 を用いてログを残してから終了します。 .Pp 同様に、アンサーチャットスクリプトは (通常) "RING" に対して手動で電話に応答するために 用いることができます。 アンサースクリプトを指定して起動した場合、 .Nm getty はポートをノンブロッキングモードでオープンし、それ以前の余分な入力をすべて 消去し、ポートへのデータを待ちます。 何らかのデータが取得可能になるとすぐ、アンサーチャットスクリプトが 開始し、文字列がスキャンされ、アンサーチャットスクリプトに従って 応答します。 ヘイズ互換のモデムでは、スクリプトは通常以下のような感じのものになるでしょう。 .Pp .Dl :ac=RING\er ATA\er CONNECT: .Pp これは、"ATA" コマンドによってモデムに応答させ、続いて 入力をスキャンして文字列 "CONNECT" を探します。 もし .Em \&ct タイムアウトが生じる前にこの文字列を受け取った場合、 通常のログインシーケンスが開始されます。 .Pp .Em \&ct ケーパビリティはすべての送信文字列および想定される入力文字列 に適用されるタイムアウトの値を指定します。このタイムアウトは 文字列待ちを行うごと、および文字列送信を行うごとに設定されます。 少なくともリモートとローカルのモデムの間のコネクションが確立される -のにかかる時間 (通常およそ10秒) だけの長さは必要です。 +のにかかる時間 (通常およそ 10 秒) だけの長さは必要です。 .Pp ほとんどの情況で、コネクションが検出された後に 追加の入力のすべてをフラッシュしたいと思うものですが、 この目的には .Em \&de ケーパビリティを使うことができます。これは、 コネクションが確立された後で短時間の遅延をかけ、 その間に接続データがすべてモデムによって送られてしまうのと 同じ効果を持ちます。 .Pp .Sh 関連項目 .Xr login 1 , .Xr gethostname 3 , .Xr uname 3 , .Xr termcap 5 , .Xr getty 8 , .Xr telnetd 8 . .Sh バグ 特殊文字 (文字消去、行削除など) は .Xr login 1 によってシステムのデフォルトに再設定されてしまいます。 .Em 常に、 ログイン名としてタイプした '#' あるいは '^H' は1文字消去として -扱われ、 '@' は行消去として扱われます。 +扱われ、'@' は行消去として扱われます。 .Pp 遅延機能は実クロックです。 全般的に柔軟性がないという問題はさておき、遅延アルゴリズムのいくつかは 実装されていません。 端末ドライバが正常な遅延の設定をサポートしている必要があります。 .Pp .Em \&he ケーパビリティは全く知的ではありません。 .Pp 忌まわしい .Xr termcap 5 フォーマットより、もっと合理的なものを選ぶべきでした。 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.2 で登場しました。 diff --git a/ja/man/man5/groff_font.5 b/ja/man/man5/groff_font.5 index af5110dcdf..56d03f27b2 100644 --- a/ja/man/man5/groff_font.5 +++ b/ja/man/man5/groff_font.5 @@ -1,370 +1,370 @@ .\" jpman %Id: groff_font.5,v 1.3 1998/08/09 15:05:21 ryo2 Stab % .\" FreeBSD jpman project 訳語表 .\" WORD: machine unit マシン単位 .\" WORD: scaled point スケールドポイント (troff.1 の記述にあわせた) .\" WORD: font position フォント位置 (troff.1 の記述にあわせた) .\" WORD: mount マウント .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .de TQ .br .ns .TP \\$1 .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GROFF_FONT 5 "7 September 1996" "Groff Version 1.10" +.TH GROFF_FONT 5 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_font \- groff のデバイスとフォントを記述するファイルの書式 .SH 解説 groff のフォントの書式は ditroff のフォントの書式に対し、 ほぼスーパセットになっています。 ditroff のフォントの書式とは異なり、 関連したバイナリ書式はありません。 .I name というデバイス用のフォントファイルは .BI dev name というディレクトリに納められます。 ファイルには 2 つの種類があります: それは .B DESC と呼ばれるデバイス記述ファイルと、各フォント .I F ごとに存在する .IR F と呼ばれるフォントファイルです。 これらはテキストファイルであり、関連したバイナリ書式の ファイルはありません。 .SS DESC ファイルの書式 DESC ファイルは以下の形式の行を含むことができます: .TP .BI res\ n 1 インチあたりのマシン単位は .I n です。 .TP .BI hor\ n 水平解像度は .I n マシン単位です。 .TP .BI vert\ n 垂直解像度は .I n マシン単位です。 .TP .BI sizescale\ n ポイント数への倍率を指定します。デフォルトの値は 1 です。1 .I スケールドポイント は、1 .RI ポイント/ n と等しくなります。 .B unitwidth コマンドと .B sizes コマンドへの引数はスケールドポイントで指定されます。 .TP .BI unitwidth\ n ポイントサイズが .I n スケールドポイントのフォントに対して、 フォントファイル毎の数量をマシン単位で与えます。 .TP .B tcommand ポストプロセッサが .B t と .B u の出力コマンドを扱えることを表します。 .TP .BI sizes\ s1\ s2\|.\|.\|.\|sn\ 0 デバイスが .IR s1 , .IR s2 ,\|.\|.\|.\| sn スケールドポイントのフォントを持つことを表します。 大きさのリストは .BR 0 で終らなければなりません。 各 .BI s i は大きさの範囲 .IR m \- n でも指定できます。 リストは複数行にわたることも可能です。 .TP .BI styles\ S1\ S2\|.\|.\|.\|Sm 先頭 .I m 個のフォント位置が、スタイル .IR S1\|.\|.\|.\|Sm に関連づけられます。 .TP .BI fonts\ n\ F1\ F2\ F3\|.\|.\|.\|Fn フォント .I F1\|.\|.\|.\|Fn がフォント位置 .IR m +1,\|.\|.\|., m + n にマウントされます( .I m はスタイル数)。 このコマンドは複数行にわたることができます。 .B 0 というフォント名を指定すると、 対応するフォント位置にはフォントはマウントされません。 .TP .BI family\ fam デフォルトのフォントファミリは .IR fam です。 .TP .B charset この行とファイル内の以下に続く行はすべて無視されます。 これは下位互換性のために許されています。 .LP res, unitwidth, fonts, sizes の行は必須です。 他のコマンドは .B troff には無視されますが、デバイスに関する任意の情報を DESC ファイルに 入れておくためにポストプロセッサにより使われるかもしれません。 .SS フォントファイルの書式 フォントファイルには 2 つのセクションがあります。 最初のセクションは空白で区切られた単語が並んだ一連の行からなります。 行の最初の単語はキーで、以降の単語はそのキーに対する値となります。 .TP .BI name\ F フォントの名前は .IR F です。 .TP .BI spacewidth\ n 空白の通常の幅は .IR n です。 .TP .BI slant\ n フォントの文字が .I n 度傾斜していることを表します (正の値は進行方向を意味します)。 .TP .BI ligatures\ lig1\ lig2\|.\|.\|.\|lign\ \fR[ 0 \fR] 文字 .IR lig1 , .IR lig2 ,\|.\|.\|., lign は合字 (リガチャ; ligature) です。合字には .BR ff , .BR fi , .BR fl , .BR ffl が使用可能です。 下位互換性のために、合字のリストは .BR 0 で終ってもかまいません。 合字のリストは複数行にわたってはいけません。 .TP .B special フォントは .IR スペシャル です。これは現在のフォントに存在しない文字が要求された場合、 マウントされた全てのスペシャルフォントが検索されることを示しています。 .LP 他のコマンドは .B troff には無視されますが、フォントに関する任意の情報をフォントファイルに 入れておくためにポストプロセッサにより使われるかも知れません。 .LP 最初のセクションには .B # 文字ではじまるコメントを、行末まで入れることができます。 .LP 次のセクションには 1 つか 2 つのサブセクションが含まれます。 サブセクション .I charset は必須で、サブセクション .I kernpairs はオプションです。 これらのサブセクションは任意の順番で書くことができます。 各サブセクションは、サブセクション名のみからなる行から始まります。 .LP 単語 .B charset で charset サブセクションを開始します。 .B charset 行には一連の行が続きます。 各行は 1 文字の情報を与えます。 行は空白かタブにより区切られたいくつかのフィールドから成ります。 書式は .IP .I name metrics type code comment .LP で、 .I name は文字を識別します: .I name が単一の文字 .I c ならば、それは groff の入力文字 .I c を表します。 .BI \e c という形式で c が単一の文字なら、groff の入力文字 .BI \e c を表します。それ以外は groff の入力文字 .BI \e[ name ] を表します (2 文字の .I xx だとすると、 .BI \e( xx として入力されます) 。 groff は 8 ビット文字に対応していますが、いくつかのユーティリティでは 8 ビット文字を扱うのが困難です。 このような理由から、文字コードが .I n である単一の文字と等価な .BI char n という表記法が存在します。 例えば、 .B char163 は ISO Latin-1 で英国ポンド記号を表す文字コード 163 の文字と等価です。 .B \-\-\- という name は特別で、その文字に名前が無いことを示します。 そのような文字は .BR troff 中でエスケープシーケンス .B \eN によってのみ使われます。 .LP .I type フィールドは文字の種類を示します: .TP 1 は descender (ベースラインより下にはみ出した部分) を持つ 文字であることを表します。例えば p があてはまります。 .TP 2 は ascender (x の高さより上に出る部分) を持つ文字であることを表します。 例えば b があてはまります。 .TP 3 は ascender と descender の両方を持つ文字であることを表します。 例えば ( があてはまります。 .LP .I code フィールドはポストプロセッサが文字を印字するために使うコードを示します。 .B \eN というエスケープシーケンスを用いたこのコードを使って、groff に文字を 入力することもできます。 code はどんな整数でもかまいません。 .B 0 から始まると、8 進数として扱われ、 .B 0x や .B 0X で始まると 16 進数として扱われます。 .LP 行の code フィールド以降はすべて無視されます。 .LP .I metrics フィールドの形式はこのようになります: .IP .IR width [\fB, height [\fB, depth [\fB, italic_correction [\fB, \ left_italic_correction [\fB, subscript_correction ]]]]] .LP サブフィールド間には空白を入れてはいけません。 サブフィールドが存在しない場合は 0 として扱われます。 サブフィールドは全て 10 進数の整数で指定されます。 対応するバイナリフォーマットが存在しないので、 ditroff のようにこれらの値を .B char 型変数の範囲に合わせるという必要はありません。 サブフィールド .I width では文字の幅を指定します。 サブフィールド .I height では文字の高さを指定します (上が正)。 文字がベースラインよりも上にいかない場合、負の高さを持つとするのではなく 高さが 0 であるとします。 サブフィールド .I depth では文字の深さを指定します。これはベースラインから文字の一番下までの 長さです (下が正) 。 文字がベースラインより下に出ていない場合、負の深さを持つとするのではなく 深さが 0 であるとします。 サブフィールド .I italic_correction では直後にローマンフォントの文字が続く時に、文字の後に加えられる空白の 量を指定します。 サブフィールド .I left_italic_correction では直前にローマンフォントの文字がある時に、文字の前に加えられる空白の 量を指定します。 サブフィールド .I subscript_correction では添字 (subscript) を加える際に文字の後に加えられる空白の量を 指定します。 これはイタリック補正 (上記の italic_correction) よりは少なくなければ なりません。 .LP charset セクション内では、以下のような書式の行も可能です .IP .I name \fB" .LP これは .I name が前の行で言及した文字の別名であることを表します。 .LP kernpairs セクションは .B kernpairs という単語から始まります。このセクションは以下のような書式の 行からなります: .IP .I c1 c2 n .LP 文字 .I c1 が文字 .I c2 の次に現れる時には、それらの間の空白に .IR n を加えることを意味します。 kernpairs セクションのほとんどのエントリは .IR n に負の値を持つことになります。 .SH 関連ファイル .Tp \w'/usr/share/groff_font/devname/DESC'u+3n .BI /usr/share/groff_font/dev name /DESC デバイス .IR name 用のデバイス記述ファイル .TP .BI /usr/share/groff_font/dev name / F デバイス .IR name のフォント .I F 用のフォントファイル .SH 関連項目 .BR groff_out (5), .BR troff (1). diff --git a/ja/man/man5/groff_out.5 b/ja/man/man5/groff_out.5 index dfe9d9ec74..741ce343f8 100644 --- a/ja/man/man5/groff_out.5 +++ b/ja/man/man5/groff_out.5 @@ -1,226 +1,226 @@ '\" e .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" This man page must be preprocessed with eqn. .\" .\" jpman %Id: groff_out.5,v 1.3 1998/08/09 15:06:44 ryo2 Stab % .\" FreeBSD jpman project 訳語表 .\" WORD: scaled point スケールドポイント (troff.1, groff_font.5 参照) .\" WORD: special character 特殊文字 (troff.1 参照) .\" WORD: special font スペシャルフォント (troff.1 参照) .\" WORD: machine unit マシン単位 (pic.1, groff_font.5 参照) .\" WORD: print 印字 .ie \n(.g .ds ic \/ .el .ds ic \^ -.TH GROFF_OUT 5 "11 May 1998" "Groff Version 1.10" +.TH GROFF_OUT 5 "11 May 1998" "Groff Version 1.11" .SH 名称 groff_out \- groff の中間出力フォーマット .SH 解説 このマニュアルページは、GNU troff の出力フォーマットについて記述します。 GNU troff が使用する出力フォーマットは、 UNIX のデバイス非依存 troff が使用するものと似ています。 ここでは両者の差のみを記述します。 .LP .B s コマンドへの引数はスケールドポイントです (これは .IR ポイント/ n を意味します。 .I n は DESC ファイル中の .B sizescale コマンドへの引数です)。 .B x\ Height コマンドへの引数もまたスケールドポイントです。 .LP 最初の 3 つの出力コマンドは次のようになっていなければなりません: .IP .BI x\ T\ device .br .BI x\ res\ n\ h\ v .br .B x init .LP DESC ファイル中に .B tcommand 行が存在する場合には、troff は以下の 2 つのコマンドを使用します。 .TP .BI t xxx .I xxx は、任意の文字のシーケンスであり、空白または改行を終端とします; 最初の文字を現在位置で印字し、 現在の水平位置を最初の文字の幅だけ増加させます。 続けて、同じ処理を各文字に対して実行します。 文字の幅は、フォントファイルにおいて与えられたものを 現在のポイントサイズに応じて適切にスケーリングしてから、 水平解像度の倍数となるように丸めます。 特殊文字はこのコマンドでは印字できません。 .TP .BI u n\ xxx .B t コマンドと同様ですが、各文字の印字後に現在の水平位置に加えられるものが、 文字幅と .IR n の和である点が違います。 .LP 単一文字は 8 ビット目がセットされていてもかまわないことに注意してください。 これはフォント名や特殊文字名にもあてはまります。 .LP 文字名やフォント名は任意の長さが許されます; ドライバはこれらの長さが 2 文字のみであると仮定してはなりません。 .LP 文字を印字する時、その文字は常に現在のフォント中に存在します。 デバイス非依存 troff とは異なり、 ドライバがスペシャルフォントから文字を探す必要はありません。 .LP .B D 描画コマンドは拡張されています。 .B \-n オプション指定時には、GNU pic はこれらの拡張を使用しません。 .TP \fBDf \fIn\fR\*(ic\en オブジェクトの塗り潰しに使用する陰影を .IR n に設定します; ここで .I n は 0 から 1000 の範囲の整数である必要があり、0 は白の塗り潰しを、 1000 は黒の塗り潰しを、 そしてそれらの間の値は中間の陰影を意味します。 この設定は、円の塗り潰し、楕円の塗り潰し、多角形の塗り潰しにのみ適用されます。 デフォルトでは 1000 が使用されます。 塗り潰しオブジェクトが色を持つ場合、 その色でそのオブジェクトの下の全てのものを完全に隠します。 1000 より大きい値や 0 より小さい値も使用される可能性があります: これらの値を指定すると、 現在線やテキストで使用している陰影で塗り潰すことを意味します。 通常はこれは黒ですが、 ドライバによってはこれを変更する手段を提供するものがあります。 .TP \fBDC \fId\fR\*(ic\en 現在位置を最左端とする、半径 .I d の塗り潰された円を描画します。 .TP \fBDE \fIdx dy\fR\*(ic\en 現在位置を最左端とする、水平半径 .I dx 垂直半径 .I dy の塗り潰された楕円を描画します。 .EQ delim $$ .EN .TP \fBDp\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en $i = 1 ,..., n+1$ に対し、 .I i 番目の頂点を現在位置 $+ sum from j=1 to i-1 ( dx sub j , dy sub j )$ とする多角形を描画します。 今のところ、GNU pic のみがこのコマンドを使用し、三角形と矩形を生成します。 .TP \fBDP\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en .B Dp と同様ですが、多角形の外形のみの描画でなく、塗り潰しも行います。 .TP \fBDt \fIn\fR\*(ic\en 現在の線の太さを .I n マシン単位に設定します。 伝統的に UNIX troff ドライバは、 現在のポイントサイズに比例する線の太さを使用します; .B Dt コマンドが指定されない場合や、 .B Dt コマンドに負の .IR n が指定された場合は、ドライバはこの方法を使用する必要があります。 .I n に 0 を指定すると、利用可能な最小の線の太さを選択します。 .LP これらのコマンドを実行した後、 現在位置をどのように変更するのかという問題が生じます。 GNU pic が生成するコードはこの問題に依存しませんので、 これはたいして重要ではありません。 .IP \fB\eD\(fm\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\(fm .LP の形式、ただし .I c は .BR c , .BR e , .BR l , .BR a , .BR ~ のいずれでもない描画コマンドが与えられた時、 UNIX troff は各 $x sub i$ を水平の単位で扱い、$y sub i$ を垂直の単位で扱い、 描画されるオブジェクトの幅は $sum from i=1 to n x sub i$ であり、 高さは $sum from i=1 to n y sub i$ であると仮定します。 (高さに関する仮定は、このような .B D コマンドを \ew エスケープシーケンス中で使用した後、 .B st レジスタおよび .B sb レジスタを検査することにより確認できます。) この規則は全てのオリジナルの描画コマンドにあてはまりますが、 .B De は例外です。 .BR Df , .B Dt コマンドや、影響は少ないですが .B DE コマンドにおいて、たとえ醜い結果となったとしても、 GNU troff もまた互換性のためにこの規則に従います。 それゆえ、 .IP \fBD\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\en .LP の形式の .B D コマンドを実行した後は、現在位置は $( sum from i=1 to n x sub i , sum from i=1 to n y sub i )$ だけ増えます。 .LP .B x\ X コマンドへの引数に改行を含めることを許すという、 継続に関する取り決めがあります: .B x\ X コマンドへの引数を出力する時、GNU troff は 引数中の .B + 文字付きの改行を辿ります (通常は改行で引数全体が終端されます); それゆえ、 .B x\ X コマンドを含む行の次行が .B + で開始する場合には、 .B x\ X コマンドを含む行の終端となっている改行は .B x\ X コマンドへの引数の一部として扱い、 .B + を無視し、行の .B + に続く部分を .B x\ X コマンドに続く行の部分として扱います。 .SH "関連項目" .BR groff_font (5) diff --git a/ja/man/man5/group.5 b/ja/man/man5/group.5 index e4175af70d..a429ea4717 100644 --- a/ja/man/man5/group.5 +++ b/ja/man/man5/group.5 @@ -1,165 +1,165 @@ .\" Copyright (c) 1980, 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. .\" .\" From: @(#)group.5 8.3 (Berkeley) 4/19/94 .\" %Id: group.5,v 1.13 1998/06/28 21:33:42 hoek Exp % .\" jpman %Id: group.5,v 1.3 1998/07/02 14:08:51 horikawa Stab % .\" .Dd September 29, 1994 .Dt GROUP 5 .Os .Sh 名称 .Nm group .Nd グループ許可ファイルのフォーマット .Sh 解説 .Aq Pa /etc/group ファイルは改行で区切られた .Tn ASCII レコードから成ります。1 レコードが 1 グループに対応し、コロン .Ql \&: で区切られた 4 つの欄から成ります。 これらの欄の意味は以下のとおりです: .Bl -tag -width password -offset indent -compact .It group そのグループの名前。 .It passwd グループの .Em 暗号化された パスワード。 .It gid そのグループの 10 進数 ID。 .It member グループメンバ。 .El .Pp 最初の非空白文字がポンドサイン (#) である行はコメントであり、無視されます。 -空白・タブ・改行のみからなる行は空行はであり、これも無視されます。 +空白・タブ・改行のみからなる行は空行であり、これも無視されます。 .Pp .Ar group 欄は、そのグループのメンバであるユーザにファイルアクセスを許可するために 用いる、グループの名前です。 .Ar gid 欄はそのグループ名に結び付けられた番号です。両者はファイルアクセスを制御 しますので、システム (またしばしば複数システムの 1 グループ) 中で一意的で ある必要があります。 .Ar passwd 欄はなくてもいい .Em 暗号化された パスワードです。この欄はめったに用いられるこ とはなく、通常ブランクにしておくよりもむしろアスタリスクが置かれます。 .Ar member 欄は .Ar group の権利を許可されたユーザの名前を含んでいます。メンバ名は空白や改行なし にコンマで区切られます。ユーザの .Pa /etc/passwd エントリ中にグループが指定されていれば自動的にそのグループに入ることに なりますので、 .Pa /etc/group ファイル中にそのユーザを追加する必要はありません。 .\" .Pp .\" When the system reads the file .\" .Pa /etc/group .\" the fields are read into the structure .\" .Fa group .\" declared in .\" .Aq Pa grp.h : .\" .Bd -literal -offset indent .\" struct group { .\" char *gr_name; /* group name */ .\" char *gr_passwd; /* group password */ .\" int gr_gid; /* group id */ .\" char **gr_mem; /* group members */ .\" }; .\" .Ed .Sh YP/NIS との相互作用 .Pa /etc/group ファイルは YP/NIS グループデータベースを有効にするように作成可能です。 C ライブラリ内部としては、 .Ar name 欄が 1 つのプラス符号 (`+') に続く 1 つのグループ名から成るエントリは、 その名前のグループに対する YP/NIS グループエントリで置き換えられます。 .Ar name 欄が引き続いてグループ名を持たない 1 つのプラス符号から成るエントリは、 YP/NIS の .Dq Li group.byname マップ全体で置き換えられます。 .Pp 何らかの理由で YP/NIS グループデータベースが有効になった場合、 少数のグループのみが有効であるときですら、全ての逆検索 (すなわち .Fn getgrgid ) ではデータベース全体を利用することになるでしょう。それ故、 .Fn getgrgid が返すグループ名が正しい前方マッピングを持つことは保証できません。 .Sh 制限 様々な制限事項が該当する機能のところで説明されています。 .Sx 関連項目 の節を参照してください。 古い実装においては、 1 つのグループは 200 以上のメンバを持つことはできず、 .Pa /etc/group の最大行長は 1024 文字でした。それより長い行は読み飛ばされました。 この制限は .Fx 3.0 でなくなりました。 静的にリンクされた古いバイナリ、古い共有ライブラリに依存する古いバイナリ、 互換モードにおける非 FreeBSD のバイナリには、まだこの制限があるかもしれません。 .Sh 関連ファイル .Bl -tag -width /etc/group -compact .It Pa /etc/group .El .Sh 関連項目 .Xr passwd 1 , .Xr setgroups 2 , .Xr crypt 3 , .Xr getgrent 3 , .Xr initgroups 3 , .Xr yp 4 , .Xr passwd 5 .Sh バグ .Xr passwd 1 コマンドは .Nm group パスワードを変更しません。 .Sh 歴史 .Nm ファイルフォーマットは .At v6 で現われました。 YP/NIS の機能は .Tn SunOS を手本に作られ、 .Tn FreeBSD 1.1 で初めて現われました。 コメントサポートは .Fx 3.0 で最初に現われました。 diff --git a/ja/man/man5/rc.conf.5 b/ja/man/man5/rc.conf.5 index 5274906109..917aa8db99 100644 --- a/ja/man/man5/rc.conf.5 +++ b/ja/man/man5/rc.conf.5 @@ -1,1024 +1,1028 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" .\" 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 ``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. .\" -.\" %Id: rc.conf.5,v 1.27 1999/01/14 09:13:00 jkh Exp % +.\" %Id: rc.conf.5,v 1.27.2.1 1999/03/24 17:24:32 brian Exp % .\" .\" jpman %Id: rc.conf.5,v 1.3 1998/06/26 09:39:58 jsakai Stab % .\" .Dd April 26, 1997 .Dt RC.CONF 5 .Os FreeBSD 2.2.2 .Sh 名称 .Nm rc.conf .Nd システム設定情報 .Pp .Nm rc.conf.local .Nd ローカルのシステム設定情報 .Sh 解説 .Nm rc.conf ファイルはローカルホスト名、全ての潜在的なネットワークインタフェースに 関する設定の詳細、システムの初期起動時に立ち上げるべき サービスに関する記述可能な情報を含んできます。初めてインストールする際に は、一般に .Nm rc.conf ファイルはシステムインストールユーティリティ .Pa /stand/sysinstall によって初期化されます。 .Pp .Nm rc.conf.local ファイルは rc.conf で設定された変数を変更するために使用します。 典型的には、システム管理者はディストリビューションに含まれる .Nm rc.conf を使用して、ローカルの変更/追加を .Nm rc.conf.local に対して適用します。 .Pp .Nm rc.conf[.local] の目的は、 コマンドの実行やシステム起動操作を直接行うことではありません。 それに代わり、 そこに見出される設定にしたがって内部操作を条件付きで制御する .Pa /etc 下のいろいろな類の起動スクリプトの一部をなしています。 .Pp 以下に示すのは .Nm ファイル中で設定可能な各変数について、 その名前と簡単な解説をリストしたものです。 .Bl -tag -width Ar .It Ar swapfile (文字列) .Ar NO にセットすると スワップファイルはインストールされません。 .Ar NO 以外の場合、その値は追加スワップ領域のために利用するファイルの 完全パス名として用いられます。 .It Ar apm_enable (ブール値) .Ar YES にセットすると .Xr apm 8 コマンドでの自動電源管理(Automatic Power Management)のサポートを有効に します。 .It Ar pccard_enable (ブール値) .Ar YES にセットすると起動時にPCCARDのサポートを有効にします。 .It Ar pccard_mem (文字列) PCCARDコントローラメモリアドレスをセットします。 .Ar DEFAULT とするとデフォルト値になります。 .It Ar pccard_ifconfig (文字列) 挿入または起動時に動的にifconfigされるべきイーサネットデバイス のリストです。 (例 .Ar "ed0 ed1 ep0 ..." ) .It Ar local_startup (文字列) 起動スクリプトファイルを検索するためのディレクトリのリストです。 .It Ar local_periodic (文字列) 定期的に実行するスクリプトを検索するディレクトリのリストです (3.0 のみ)。 .It Ar hostname (文字列) ネットワーク上でのあなたのホストの完全な形のドメイン名 (The Fully Qualified Domain Name) です。あなたがネットワークに接続されていない 場合でも、この変数は確実に何か意味のあるものに設定すべきです。 .It Ar nisdomainname (文字列) あなたのホストの NIS ドメイン名。NIS が動いてないときは .Ar NO とします。 .It Ar firewall_enable (ブール値) 起動時にロードされるファイアウォール規則を持ちたくないときには .Ar NO 、持ちたいときには .Ar YES をセットします。 .Ar YES にセットし、かつカーネルが IPFIREWALL 付きで作られなかった場合、 ipfw カーネルモジュールがロードされます。 .It Ar firewall_type (文字列) .Pa /etc/rc.firewall 中で選択されたファイアウォールのタイプまたはローカルファイアウォール規則 の組を含むファイルを名付けます。 .Pa /etc/rc.firewall 中では以下のものが選択可能です: ``open''- 無制限の IP アクセス; ``closed''- lo0 経由を除く全ての IP サービスを禁止; ``client''- ワークステーション向けの基本的な保護; ``simple''- LAN 向けの基本的な保護。 ファイル名が指定される場合には完全なパス名でなければなりません。 .It Ar firewall_quiet (ブール値) .Ar YES にセットすると起動時にコンソール上で ipfw 規則の表示を行ないません。 +.It Ar natd_program +(文字列) +.Xr natd 8 +のパス。 .It Ar natd_enable (ブール値) .Ar YES にセットすると natd を有効にします。 .Ar firewall_enable もまた .Ar YES にセットされ、 .Xr divert 4 ソケットがカーネルで有効にされている必要があります。 .It Ar natd_interface natd が実行されるパブリックインタフェースの名前です。 .Ar natd_enable が .Ar YES にセットされている場合には、これを設定する必要があります。 インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 .It Ar natd_flags 追加の natd フラグはここに記述する必要があります。 .Fl n または .Fl a のフラグは上記 .Ar natd_interface とともに自動的に引数として追加されます。 .It Ar tcp_extensions (ブール値) デフォルトでは .Ar YES です。これは RFC 1323 や 1644 で述べられているような ある TCP オプションを有効にします。 もしネットワークコネクションが不規則にハングアップしたり、 それに類する他の不具合がある場合には、これを .Ar NO にセットして様子をみてみるのもよいかもしれません。世間に出回っている ハードウェア/ソフトウェアの中には、これらのオプションでうまく動作しない ものがあることが知られています。 .It Ar network_interfaces (文字列) このホスト上で形成されるネットワークインタフェースのリストを 設定します。 たとえば、ループバックデバイス (標準) および SMC Elite Ultra NIC があるなら .Qq Ar "lo0 ed0" という 2 つのインタフェースを設定します。 .Em interface の各値に対して .No ifconfig_ Ns Em interface という変数が存在すると仮定されます。 1 つのインタフェースに複数の IP アドレスを登録したい場合は、 ここに IP エイリアスのエントリを追加することも可能です。 対象とするインタフェースが ed0 であると仮定すると、 .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" .Ed というようになります。 見つかった各 ifconfig__alias エントリについて、 その内容が .Xr ifconfig 8 に渡されます。最初にアクセスに失敗した時点で実行は中止されるので .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff" ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff" .Ed のようにすると、alias4 は追加され\fB ない\fR ことに注意してください。これは alias3 エントリを抜かしたことで検索が中止されるからです。 .It Ar syslogd_enable (ブール値) .Ar YES にセットすると .Xr syslogd 8 デーモンを起動します。 .It Ar syslogd_flags (文字列) syslogd_enable が .Ar YES の場合、これらは .Xr syslogd 8 に渡すフラグになります。 .It Ar inetd_enable (ブール値) .Ar YES にセットすると .Xr inetd 8 デーモンを起動します。 .It Ar inetd_flags (文字列)inetd_enable が .Ar YES の場合、これらは .Xr inetd 8 へ渡すフラグとなります。 .It Ar named_enable (ブール値) .Ar YES にセットすると .Xr named 8 デーモンを起動します。 .It Ar named_program (文字列) .Xr named 8 のパス。(デフォルトは .Pa /usr/sbin/named ) .It Ar named_flags (文字列) .Ar named_enable が .Ar YES の場合、これらは .Xr named 8 に渡すフラグとなります。 .It Ar kerberos_server_enable (ブール値) ブート時に Kerberos 認証サーバを起動したい場合は .Ar YES にセットします。 .It Ar kadmind_server_enable .Xr kadmind 8 (Kerberos 管理デーモン) を実行したい場合は .Ar YES とします。スレーブサーバ上では .Ar NO にセットします。 .It Ar kerberos_stash (文字列) .Ar YES なら (唯一 .Ar kerberos_server_enable が .Ar YES にセットされ、かつ .Xr kerberos 1 および .Xr kadmind 8 の両方を用いるときにのみ) 隠されたマスタキーのプロンプト入力を行なう代りに、 そのキーを用いるよう Kerberos サーバに指示します。 .It Ar rwhod_enable (ブール値) .Ar YES にセットするとブート時に .Xr rwhod 8 デーモンを起動します。 .It Ar rwhod_flags (文字列) .Ar rwhod_enable が .Ar YES にセットされている場合、これらは rwhod に渡すフラグになります。 .It Ar amd_enable (ブール値) .Ar YES にセットするとブート時に .Xr amd 8 デーモンを起動します。 .It Ar amd_flags (文字列) .Ar amd_enable が .Ar YES にセットされている場合、これらは amd に渡すフラグとなります。 詳しくは\fBinfo amd\fR コマンドを利用してください。 .It Ar update_motd (ブール値) .Ar YES にセットするとブート時に実行されているカーネルリリースを反映するように .Nm /etc/motd を更新します。 .Ar NO にセットすると .Nm は更新を行いません。 .It Ar nfs_client_enable (ブール値) .Ar YES にセットするとブート時に NFS クライアントデーモンを起動します。 .It Ar nfs_client_flags (文字列) .Ar nfs_client_enable が .Ar YES の場合、これらは .Xr nfsiod 8 デーモンに渡すフラグとなります。 .It Ar nfs_access_cache .Ar nfs_client_enable が .Ar YES の場合、この変数に .Ar 0 をセットして NFS ACCESS RPC キャッシングを無効化することができますし、 NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 2-10 秒の値を設定すると、 多くの NFS 操作のネットワークトラフィックを十分減らします。 .It Ar nfs_server_enable (ブール値) .Ar YES にセットするとブート時に NFS サーバデーモンを起動します。 .It Ar nfs_server_flags (文字列) .Ar nfs_server_enable が .Ar YES の場合、これらは .Xr nfsd 8 デーモンに渡すフラグとなります。 .It Ar weak_mountd_authentication (ブール値) .Ar YES にセットすると、権限付けられていないマウント要求を行なうために \fBPCNFSD\fR のようなサービスを許可します。 .It Ar nfs_reserved_port_only (ブール値) .Ar YES にセットすると、安全なポート上でのみ NFS サービスを提供します。 .It Ar rcp_lockd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.lockd 8 を起動します。 .It Ar rcp_statd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.statd 8 を起動します。 .It Ar portmap_enable (ブール値) .Ar YES の場合、ブート時に .Xr portmap 8 サービスを起動します。 .It Ar portmap_flags (文字列) .Ar portmap_enable が .Ar YES の場合、これらは .Xr portmap 8 デーモンに渡すフラグとなります。 .It Ar xtend_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xtend 8 デーモンを起動します。 .It Ar xtend_flags (文字列) .Ar xtend_enable が .Ar YES の場合、これらは .Xr xtend 8 デーモンに渡すフラグとなります。 .It Ar timed_enable (ブール値) .Ar YES なら、ブート時に .Xr timed 8 サービスを実行します。このコマンドは、全ホストについて一貫した .Qq "ネットワーク時間" が確立されなければならないマシンネットワークのためにあります。 これが有用である典型例は、 ファイルのタイムスタンプがネットワークワイドで一貫性をもつことが 期待されるような、大規模 NFS 環境です。 .It Ar timed_flags (文字列) .Ar timed_enable が .Ar YES の場合、これらは .Xr timed 8 サービスに渡すフラグとなります。 .It Ar ntpdate_enable (ブール値) .Ar YES にセットすると、システムスタートアップ時に ntpdate を実行します。 このコマンドは、ある標準的な参照先を元に、ただ .Ar 1 回 だけシステム時刻を同期させるためにあります。 また、システムを最初にインストールする際、 これを (知られているサービスのリストから) 最初にセットアップするオプションが .Pa /stand/sysinstall プログラムによって提供されます。 .It Ar ntpdate_program (文字列) .Xr ntpdate 8 のパス (デフォルトは .Pa /usr/sbin/ntpdate です)。 .It Ar ntpdate_flags (文字列) .Ar ntpdate_enable が .Ar YES の場合、これらは .Xr ntpdate 8 コマンドに渡すフラグとなります (典型的にはホスト名)。 .It Ar xntpd_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xntpd 8 コマンドが起動されます。 .It Ar xntpd_program (文字列) .Xr xntpd 8 のパス (デフォルトは .Pa /usr/sbin/xntpd です)。 .It Ar xntpd_flags (文字列) .Ar xntpd_enable が .Ar YES の場合、これらは .Xr xntpd 8 デーモンに渡すフラグとなります。 .It Ar nis_client_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypbind 8 サービスを起動します。 .It Ar nis_client_flags (文字列) .Ar nis_client_enable が .Ar YES の場合、これらは .Xr ypbind 8 サービスに渡すフラグとなります。 .It Ar nis_ypset_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypset 8 デーモンを起動します。 .It Ar nis_ypset_flags (文字列) .Ar nis_ypset_enable が .Ar YES の場合、これらは .Xr ypset 8 デーモンに渡すフラグとなります。 .It Ar nis_server_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypserv 8 デーモンを起動します。 .It Ar nis_server_flags (文字列) .Ar nis_server_enable が .Ar YES の場合、これらは .Xr ypserv 8 デーモンに渡すフラグとなります。 .It Ar nis_ypxfrd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypxfrd 8 デーモンを起動します。 .It Ar nis_ypxfrd_flags (文字列) .Ar nis_ypxfrd_enable が .Ar YES の場合、これらは .Xr ypxfrd 8 デーモンに渡すフラグとなります。 .It Ar nis_yppasswdd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr yppasswdd 8 デーモンを起動します。 .It Ar nis_yppasswdd_flags (文字列) .Ar nis_yppasswdd_enable が .Ar YES の場合、これらは .Xr yppasswdd 8 デーモンに渡すフラグとなります。 .It Ar defaultrouter (文字列) .Ar NO をセットしないと、このホスト名または IP アドレスへのデフォルトルートを 作成します (このルータがネームサーバへたどりつく必要がある 場合は IPアドレスを使用すること!)。 .It Ar static_routes (文字列) システムブート時に追加したいスタティックルートのリストを セットします。 .Ar NO 以外をセットした場合、その値を空白で区切った各要素について、 各 .Em element 毎に変数 .No route_ Ns em element が存在すると仮定され、その後、``route add'' 操作に渡されます。 .It Ar gateway_enable (ブール値) .Ar YES にセットすると、IP ルータとして動作する、 たとえばインタフェース間でパケットをフォワードするように ホストを設定します。 .It Ar router_enable (ブール値) .Ar YES にセットすると、 .Ar router および .Ar router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Ar router (文字列) .Ar router_enable が .Ar YES にセットされると、これが使用するルーティングデーモン名になります。 .It Ar router_flags (文字列) .Ar router_enable が .Ar YES にセットされると、これらがルーティングデーモンへ渡すフラグとなります。 .It Ar mrouted_enable (ブール値) .Ar YES にセットすると、マルチキャストルーティングデーモン .Xr mrouted 8 を起動します。 .It Ar mrouted_flags (文字列) .Ar mrouted_enable が .Ar YES の場合、これらはマルチキャストルーティングデーモンへ渡すフラグとなります。 .It Ar ipxgateway_enable (ブール値) .Ar YES にセットすると、IPX トラフィックのルーティングを有効にします。 .It Ar ipxrouted_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr ipxrouted 8 デーモンを起動します。 .It Ar ipxrouted_flags (文字列) .Ar ipxrouted_enable が .Ar YES の場合、これらは .Xr ipxrouted 8 デーモンへ渡すフラグとなります。 .It Ar arpproxy_all .Ar YES にセットするとグローバルプロキシ ARP を有効にします。 .It Ar forward_sourceroute これが .Ar YES にセットされ、更に .Ar gateway_enable もまた .Ar YES にセットされている場合、 送信元が経路指定したパケット (source routed packets) はフォワードされます。 .It Ar accept_sourceroute .Ar YES にセットすると、 システムは自分宛の送信元経路指定パケットを受け付けます。 .It Ar rarpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr rarpd 8 デーモンを起動します。 .It Ar rarpd_flags (文字列) .Ar rarpd_enable が .Ar YES の場合、これらは .Xr rarpd 8 デーモンへ渡すフラグとなります。 .It Ar atm_enable (bool) Set to .Ar YES システムブート時に ATM インタフェースの設定を有効にします。 次に説明する ATM 関連の変数に関し、 利用可能なコマンドパラメータの更なる詳細については、 .Xr atm 8 のマニュアルページを参照してください。 更なる詳細な設定情報に関しては、 .Pa /usr/share/examples/atm 中のファイルも参照してください。 .It Ar atm_netif_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 作成すべき ATM ネットワークインタフェースの 名前プレフィックスと数字を指定します。 値はコマンド .Dq atm set netif Va のパラメータとして渡されます。 .It Ar atm_sigmgr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 値はコマンド .Dq atm attach Va のパラメータとして渡されます。 .It Ar atm_prefix_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの NSAP プレフィックスを定義します。 .Em ILMI に設定すると、プレフィックスは自動的に .Xr ilmid 8 デーモンを介して設定されます。 そうでない場合、値はコマンド .Dq atm set prefix Va のパラメータとして渡されます。 .It Ar atm_macaddr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの MAC アドレスを定義します。 .Em NO に設定すると、ATM インタフェースカードに格納されている ハードウェア MAC アドレスが使用されます。 そうでない場合、値はコマンド .Dq atm set mac Va のパラメータとして渡されます。 .It Ar atm_arpserver_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ 利用可能です。 .Em local に設定すると、本ホストが ATMARP サーバになります。 値はコマンド .Dq atm set arpserver Va のパラメータとして渡されます。 .It Ar atm_scsparp_ (bool) .Em YES に設定すると、ネットワークインタフェース .Va に対する SCSP/ATMARP サービスが、 .Xr scspd 8 および .Xr atmarpd 8 を使用して開始されます。 本変数は .So .No atm_arpserver_ Ns Va .No Ns = Ns Qq local .Sc が定義されている場合にのみ利用可能です。 .It Ar atm_pvcs (文字列) システムブート時に追加したい ATM PVC のリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_pvc_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add pvc のパラメータとして渡されます。 .It Ar atm_arps (文字列) システムブート時に追加したい、 永続的な ATM ARP エントリのリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_arp_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add arp のパラメータとして渡されます。 .It Ar keymap (文字列) .Ar NO にセットするとキーマップはインストールされません。それ以外の場合、 ここで指定した .Ar value がキーマップファイル .Pa /usr/share/syscons/keymaps/.kbd をインストールするのに用いられます。 .It Ar keyrate (文字列) キーボードのリピートスピードです。以下のいずれかにセットします。 .Ar slow , .Ar normal , .Ar fast デフォルト値を希望する場合は .Ar NO とします。 .It Ar keychange (文字列) .Ar NO 以外にセットすると、その値でファンクションキーをプログラムしようとします。 指定できる値は単一の文字列で, .Qq Ar " [ ]..." という形式でないといけません。 .It Ar cursor (文字列) カーソルの動作を明示的に指定する場合は .Ar normal , .Ar blink , .Ar destructive のいずれかの値にセットします。デフォルト動作を選ぶには .Ar NO とします。 .It Ar scrnmap (文字列) .Ar NO にセットすると、スクリーンマップはインストールされません。 それ以外の場合には、ここで指定した .Ar value がスクリーンマップファイル .Pa /usr/share/syscons/scrnmaps/ をインストールするのに用いられます。 .It Ar font8x16 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x16 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x14 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x14 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x8 (文字列) .Ar NO にセットすると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar blanktime (整数) .Ar NO にセットすると、デフォルトのスクリーンブランク時間間隔が用いられます。 それ以外の場合は .Ar value 秒にセットされます。 .It Ar saver (文字列) .Ar NO 以外にセットすると、これが実際に使用する スクリーンセーバ (ブランク, 蛇, デーモンなど) となります。 .It Ar moused_enable (文字列) .Ar YES にセットすると、コンソール上でのカット/ペーストセレクション用に .Xr moused 8 デーモンが起動されます。 .It Ar moused_type (文字列) 利用したいマウスのプロトコルのタイプ。 .Ar moused_enable が .Ar YES の場合、この変数は必ず設定しなければなりません。 多くの場合、 .Xr moused 8 デーモンは適切なマウスタイプを自動的に検出することができます。 デーモンにマウスを検出させるには、この変数を .Ar auto にセットします。 自動検出が失敗する場合、以下のリストから 1 つを選びます。 .Bd -literal microsoft Microsoft マウス intellimouse Microsoft IntelliMouse mousesystems Mouse system 社製のマウス mmseries MM シリーズのマウス logitech Logitech 製のマウス busmouse バスマウス mouseman Logitech の MouseMan および TrackMan glidepoint ALPS 製の GlidePoint thinkingmouse Kensignton 製の ThinkingMouse ps/2 PS/2 マウス mmhittab MM の HitTablet x10mouseremote X10 MouseRemote .Ed お使いのマウスが上記のリストにない場合でも、 リスト中のいずれかと互換性があるかも知れません。 互換性に関する情報については .Xr moused 8 のマニュアルページを参照してください。 .Pp また、 この変数が有効であるときは、(Xサーバのような) 他の全てのマウスクライアントは 仮想マウスデバイス .Pa /dev/sysmouse を通してマウスにアクセスし、 それを sysmouse タイプのマウスとして構成すべきであると いうことにも注意すべきです。これは、 .Xr moused 8 使用時は、全てのマウスデータがこの単一の標準フォーマットに変換されるためです。 クライアントプログラムが sysmouse タイプを サポートしないなら次に望ましいタイプとして mousesystems を指定してください。 .It Ar moused_port (文字列) .Ar moused_enable が .Ar YES の場合、これはマウスが接続されている実際のポートになります。 たとえば、COM1 シリアルマウスに対しては .Pa /dev/cuaa0 、PS/2 マウスに対しては .Pa /dev/psm0 、バスマウスに対しては .Pa /dev/mse0 となります。 .It Ar moused_flags (文字列) .Ar moused_type がセットされている場合、これらは .Xr moused 8 デーモンに渡す追加のフラグとなります。 .It Ar cron_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr cron 8 デーモンを起動します。 .It Ar lpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr lpd 8 デーモンを起動します。 .It Ar lpd_flags (文字列) .Ar lpd_enable が .Ar YES の場合、これらは .Xr lpd 8 デーモンに渡すフラグとなります。 .It Ar sendmail_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr sendmail 8 デーモンを起動します。 .It Ar sendmail_flags (文字列) .Ar sendmail_enable が .Ar YES の場合、これらは .Xr sendmail 8 デーモンに渡すフラグとなります。 .It Ar savecore_enable (ブール値) .Ar YES にセットすると、クラッシュ後システムが復旧するとき、デバッグ用にカーネル のクラッシュダンプを保存します。クラッシュイメージは通常 .Pa /var/crash ディレクトリに格納されます。 .It Ar dumpdev (文字列) .Ar NO にセットしないと、カーネルクラッシュダンプ出力先を .Em value で指定したスワップデバイスに向けます。 .It Ar check_quotas (ブール値) .Xr quotacheck 8 コマンドによってユーザディスクのクォータチェックを有効にしたいなら、 .Ar YES にセットします。 .It Ar accounting_enable (ブール値) .Xr accton 8 ファシリティでシステムアカウンティングを有効にしたいなら .Ar YES にセットします。 .It Ar ibcs2_enable (ブール値) システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar linux_enable (ブール値) システムブート時に Linux/ELF バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar rand_irqs (文字列) 乱数生成用に監視する IRQ のリストをセットします ( .Xr rndcontrol 8 のマニュアル参照)。 .It Ar clear_tmp_enable (ブール値) 起動時に .Pa /tmp 下を消去したいなら .Ar YES をセットします。 .It Ar ldconfig_paths (文字列) .Xr ldconfig 8 で使用する共有ライブラリのパスのリストをセットします。注意: .Pa /usr/lib は常に先頭に追加されるので、このリストに指定する必要はありません。 .It Ar kern_securelevel_enable (ブール値) カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 .Ar YES にセットします。 .It Ar kern_securelevel (整数) スタートアップ時にセットされるカーネルセキュリティレベルです。 .Ar 値 として許される範囲は -1 (コンパイル時のデフォルト) から 2 (最も安全) です。 利用可能なセキュリティレベルとシステム操作への影響については、 .Xr init 8 を参照してください。 .Sh 関連項目 .Bl -tag -width /etc/rc.conf -compact .It Pa /etc/rc.conf .El .Pp .Bl -tag -width /etc/rc.conf.local -compact .It Pa /etc/rc.conf.local .El .Sh 関連項目 .Xr gdb 1 , .Xr info 1 , .Xr exports 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , .Xr atm 8 , .Xr cron 8 , .Xr gated 8 , .Xr ifconfig 8 , .Xr inetd 8 , .Xr lpd 8 , .Xr motd 5 , .Xr moused 8 , .Xr mrouted 8 , .Xr named 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr ntpdate 8 , .Xr pcnfsd 8 , .Xr portmap 8 , .Xr quotacheck 8 , .Xr rc 8 , .Xr rndcontrol 8 , .Xr route 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , .Xr rwhod 8 , .Xr sendmail 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr swapon 8 , .Xr tickadj 8 , .Xr timed 8 , .Xr vnconfig 8 , .Xr xntpd 8 , .Xr xtend 8 , .Xr ypbind 8 , .Xr ypserv 8 , .Xr ypset 8 .Sh 歴史 .Nm ファイルは .Fx 2.2.2 で登場しました。 .Sh 作者 .An Jordan K. Hubbard . diff --git a/ja/man/man7/groff_char.7 b/ja/man/man7/groff_char.7 index 6653e9c4e3..c7021757f4 100644 --- a/ja/man/man7/groff_char.7 +++ b/ja/man/man7/groff_char.7 @@ -1,572 +1,572 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: groff_char.7,v 1.3 1998/12/13 13:23:18 horikawa Stab % .\" .\" groff_char.7 の表記を尊重しました。 .\" JIS X 0212 の附属書 3 表 3「0208とJISX0221との対応表」を、 .\" 文字の名前の参考としてではなく、英単語と日本語の単語の対応の .\" 参考としました。 .\" Kazuo Horikawa 1998/12/06 .\" .\" For best results, print this with groff. .ds aq \(aq .ie !\n(.g .if '\(aq'' .ds aq \' .el \{\ . tr \(aq\(aq . if !c\(aq .ds aq \' .\} .if !\n(.g .ig .\" .Ac accented-char accent char .de Ac .char \\$1 \\$3\ \k[acc]\ \h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\ \v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\ \\$2\ \v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\ \h'|\\\\n[acc]u' .hcode \\$1\\$3 .. .Ac \(vc \(ah c .Ac \(vC \(ah C -.TH GROFF_CHAR 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_CHAR 7 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_char \- groff の文字名 .SH 解説 このマニュアルページは標準的な .B groff への入力文字を列挙しています。 このマニュアルページを印刷 (表示) するのに用いられるデバイスで 利用可能な文字のみが表示されます。 .I "Input code" 欄は単一の文字で入力することのできる文字において用いられ、 その文字の ISO Latin-1 コードが書かれています。 .I "PostScript name\" 欄には出力文字の一般的な PostScript 名が示されます。 .LP ISO Latin-1 のブレイク無しスペース (8 進数で 0240) は .BR \e (スペース) と等価です。 他の ISO Latin-1 の文字はすべて、次の例外を除いてそのまま表示されます: .B \` は ` として表示され、 .B \*(aq は ' として表示されます。対応する ISO Latin-1 文字は .B \e` と .BR \e(aq で得られます。 ISO Latin-1 の `ハイフン、負符号' (コード 45) はハイフンとして 表示されます; 負符号は .BR \e- で得られます。 ISO Latin-1 の `チルド' (コード 126) は ~ として表示されます; より大きいグリフは .BR \e(ti で得られます。 ISO Latin-1 の `サーカムフレクスアクセント' (コード 94) は ^ として表示されます; より大きいグリフは .BR \e(ha で得られます。 .sp 'nf .nr Sp 3n .ta \w'\fIOutput'u+\n(Spu +\w'\fIInput'u+\n(Spu +\w'\fIInput'u+\n(Spu \ +\w'periodcentered'u+\n(Spu .de C0 .C \\$1 "" \\$1 \\$2 "\\$3" .. .de C1 .C \e\\$1 "" \\\\\\$1 \\$2 "\\$3" .. .de C2 .C \e(\\$1 "" \\(\\$1 \\$2 "\\$3" .. .if !\n(.g .ig .de CD .C \[char\\$1] \\$1 \[char\\$1] \\$2 "\\$3" .. .do fspecial CR R .\" input-name decimal-code output-name ps-name description .if !\n(.g .ig .de C .if c\\$3 \{\ .ft CR .tr `\`'\*(aq .in 0 .di CH \&\\$1 .br .di .in .ft .ds CH \\*(CH\ .tr ``'' \&\\$3\t\\*(CH\t\\$2\t\\$4\t\\$5 .\} .. .if \n(.g .ig .de C .if !'\\$3'' \{\ .ft B .tr `\`'\*(aq .in 0 .di CH \&\\$1 .br .di .in .ft .ds CH \\*(CH\ .tr ``'' \&\\$3\t\\*(CH\t\\$2\t\\$4\t\\$5 .\} .. .wh \n(nlu+\n(.tu-\n(.Vu Fo .de Fo 'bp .He .. .de He .ft I Output Input Input PostScript Notes name code name .ft .LP 'nf .. .He .CD 33 exclam .CD 34 quotedbl .CD 35 numbersign .CD 36 dollar .CD 37 percent .CD 38 ampersand .CD 39 quoteright .CD 40 parenleft .CD 41 parenright .CD 42 asterisk .CD 43 plus .CD 44 comma .CD 45 hyphen .CD 46 period .CD 47 slash .CD 58 colon .CD 59 semicolon .CD 60 less .CD 61 equal .CD 62 greater .CD 63 question .CD 64 at .CD 91 bracketleft .CD 92 backslash .CD 93 bracketright .CD 94 circumflex "サーカムフレクスアクセント" .CD 95 underscore .CD 96 quoteleft .CD 123 braceleft .CD 124 bar .CD 125 braceright .CD 126 tilde "チルドアクセント" .CD 161 exclamdown .CD 162 cent .CD 163 sterling .CD 164 currency .CD 165 yen .CD 166 brokenbar .CD 167 section .CD 168 dieresis .CD 169 copyright .CD 170 ordfeminine .CD 171 guillemotleft .CD 172 logicalnot .CD 173 hyphen .CD 174 registered .CD 175 macron .CD 176 degree .CD 177 plusminus .CD 178 twosuperior .CD 179 threesuperior .CD 180 acute "アキュートアクセント" .CD 181 mu .CD 182 paragraph .CD 183 periodcentered .CD 184 cedilla .CD 185 onesuperior .CD 186 ordmasculine .CD 187 guillemotright .CD 188 onequarter .CD 189 onehalf .CD 190 threequarters .CD 191 questiondown .CD 192 Agrave .CD 193 Aacute .CD 194 Acircumflex .CD 195 Atilde .CD 196 Adieresis .CD 197 Aring .CD 198 AE .CD 199 Ccedilla .CD 200 Egrave .CD 201 Eacute .CD 202 Ecircumflex .CD 203 Edieresis .CD 204 Igrave .CD 205 Iacute .CD 206 Icircumflex .CD 207 Idieresis .CD 208 Eth .CD 209 Ntilde .CD 210 Ograve .CD 211 Oacute .CD 212 Ocircumflex .CD 213 Otilde .CD 214 Odieresis .CD 215 multiply .CD 216 Oslash .CD 217 Ugrave .CD 218 Uacute .CD 219 Ucircumflex .CD 220 Udieresis .CD 221 Yacute .CD 222 Thorn .CD 223 germandbls .CD 224 agrave .CD 225 aacute .CD 226 acircumflex .CD 227 atilde .CD 228 adieresis .CD 229 aring .CD 230 ae .CD 231 ccedilla .CD 232 egrave .CD 233 eacute .CD 234 ecircumflex .CD 235 edieresis .CD 236 igrave .CD 237 iacute .CD 238 icircumflex .CD 239 idieresis .CD 240 eth .CD 241 ntilde .CD 242 ograve .CD 243 oacute .CD 244 ocircumflex .CD 245 otilde .CD 246 odieresis .CD 247 divide .CD 248 oslash .CD 249 ugrave .CD 250 uacute .CD 251 ucircumflex .CD 252 udieresis .CD 253 yacute .CD 254 thorn .CD 255 ydieresis .C2 -D Eth "アイスランド語の大文字 eth" .C2 Sd eth "アイスランド語の小文字 eth" .C2 TP Thorn "アイスランド語の大文字 thorn" .C2 Tp thorn "アイスランド語の小文字 thorn" .C2 AE AE .C2 ae ae .C2 OE OE .C2 oe oe .C2 IJ IJ "オランダ語の IJ リゲチャ" .C2 ij ij "オランダ語の ij リゲチャ" .C2 ss germandbls .C2 'A Aacute .C2 'C Cacute .C2 'E Eacute .C2 'I Iacute .C2 'O Oacute .C2 'U Uacute .C2 'a aacute .C2 'c cacute .C2 'e eacute .C2 'i iacute .C2 'o oacute .C2 'u uacute .C2 :A Adieresis .C2 :E Edieresis .C2 :I Idieresis .C2 :O Odieresis .C2 :U Udieresis .C2 :Y Ydieresis .C2 :a adieresis .C2 :e edieresis .C2 :i idieresis .C2 :o odieresis .C2 :u udieresis .C2 :y ydieresis .C2 ^A Acircumflex .C2 ^E Ecircumflex .C2 ^I Icircumflex .C2 ^O Ocircumflex .C2 ^U Ucircumflex .C2 ^a acircumflex .C2 ^e ecircumflex .C2 ^i icircumflex .C2 ^o ocircumflex .C2 ^u ucircumflex .C2 `A Agrave .C2 `E Egrave .C2 `I Igrave .C2 `O Ograve .C2 `U Ugrave .C2 `a agrave .C2 `e egrave .C2 `i igrave .C2 `o ograve .C2 `u ugrave .C2 ~A Atilde .C2 ~N Ntilde .C2 ~O Otilde .C2 ~a atilde .C2 ~n ntilde .C2 ~o otilde .C2 vS Scaron .C2 vs scaron .C2 vZ Zcaron .C2 vz zcaron .C2 ,C Ccedilla .C2 ,c ccedilla .C2 /L Lslash "ポーランド語のスラッシュ付き L" .C2 /l lslash "ポーランド語のスラッシュ付き l" .C2 /O Oslash .C2 /o oslash .C2 oA Aring .C2 oa aring .C2 a" hungarumlaut "ハンガリー語のウムラウト" .C2 a- macron "マクロン、バーアクセント" .C2 a. dotaccent "ドットアクセント" .C2 a^ circumflex "サーカムフレクスアクセント" .C2 aa acute "アキュートアクセント" .C2 ga grave "グレーブアクセント" .C2 ab breve "ブリーブアクセント" .C2 ac cedilla "セディラアクセント" .C2 ad dieresis "ウムラウト、ダイエレシス" .C2 ah caron "h\('a\(vcek アクセント" .C2 ao ring "リングもしくはサークルアクセント" .C2 a~ tilde "チルドアクセント" .C2 ho ogonek "フックもしくはオゴネクアクセント" .C2 .i dotlessi "点のない i" .C2 .j dotlessj "点のない j" .C2 Cs currency "スカンジナビアの通貨記号" .C2 Do dollar .C2 Po sterling .C2 Ye yen .C2 Fn florin .C2 ct cent .C2 Fo guillemotleft .C2 Fc guillemotright .C2 fo guilsinglleft .C2 fc guilsinglright .C2 r! exclamdown .C2 r? questiondown .C2 ff ff "ff のリゲチャ" .C2 fi fi "fi のリゲチャ" .C2 fl fl "fl のリゲチャ" .C2 Fi ffi "ffi のリゲチャ" .C2 Fl ffl "ffl のリゲチャ" .C2 OK \& "チェックマーク、照合のしるし" .C2 Of ordfeminine .C2 Om ordmasculine .C2 S1 onesuperior .C2 S2 twosuperior .C2 S3 threesuperior .C2 <- arrowleft .C2 -> arrowright .C2 <> arrowboth "左右向き矢印" .C2 da arrowdown .C2 ua arrowup .C2 va \& "上下向き矢印" .C2 lA arrowdblleft .C2 rA arrowdblright .C2 hA arrowdblboth "左右向き二重矢印" .C2 dA arrowdbldown .C2 uA arrowdblup .C2 vA \& "上下向き二重矢印" .C2 ba bar .C2 bb brokenbar .C2 br br "従来の troff で利用された箱罫線" .C2 ru ru "ベースラインの罫線" .C2 ul ul "従来の troff で利用された下線" .C2 bv bv "太い縦棒" .C2 bs bell .C2 ci circle .C2 bu bullet .C2 co copyright .C2 rg registered .C2 tm trademark .C2 dd daggerdbl "ダブルダガーサイン" .C2 dg dagger .C2 ps paragraph .C2 sc section .C2 de degree .C2 em emdash "全角 (M の幅の) ダッシュ" .C2 en endash "半角 (n の幅の) ダッシュ" .C2 %0 perthousand "千分の一記号、パーミル" .C2 12 onehalf .C2 14 onequarter .C2 34 threequarters .C2 f/ fraction "除算の棒" .C2 fm minute "フィート記号、プライム" .C2 sd second .C2 ha asciicircum "\s-2ASCII\s+2 サーカムフレクス、ハット、キャレット" .C2 ti asciitilde "\s-2ASCII\s0 チルド、大きいチルド" .C2 hy hyphen .C2 lB bracketleft .C2 rB bracketright .C2 lC braceleft .C2 rC braceright .C2 la angleleft "始め山括弧" .C2 ra angleright "終り山括弧" .C2 lh handleft .C2 rh handright .C2 Bq quotedblbase "低い二重コンマ引用符" .C2 bq quotesinglbase "低い一重コンマ引用符" .C2 lq quotedblleft .C2 rq quotedblright .C2 oq quoteleft "一重開き引用符" .C2 aq quotesingle "アポストロフィ引用符" .C2 or bar .C2 at at .C1 - minus "現在のフォントの負符号" .C2 sh numbersign .C2 sl slash .C2 rs backslash .C2 sq square .C2 3d therefore .C2 tf therefore .C2 *A Alpha .C2 *B Beta .C2 *C Xi .C2 *D Delta .C2 *E Epsilon .C2 *F Phi .C2 *G Gamma .C2 *H Theta .C2 *I Iota .C2 *K Kappa .C2 *L Lambda .C2 *M Mu .C2 *N Nu .C2 *O Omicron .C2 *P Pi .C2 *Q Psi .C2 *R Rho .C2 *S Sigma .C2 *T Tau .C2 *U Upsilon .C2 *W Omega .C2 *X Chi .C2 *Y Eta .C2 *Z Zeta .C2 *a alpha .C2 *b beta .C2 *c xi .C2 *d delta .C2 *e epsilon .C2 *f phi .C2 +f phi1 "ファイ変形" .C2 *g gamma .C2 *h theta .C2 +h theta1 "シータ変形" .C2 *i iota .C2 *k kappa .C2 *l lambda .C2 *m mu .C2 *n nu .C2 *o omicron .C2 *p pi .C2 +p omega1 "パイ変形、オメガ風" .C2 *q psi .C2 *r rho .C2 *s sigma .C2 *t tau .C2 *u upsilon .C2 *w omega .C2 *x chi .C2 *y eta .C2 *z zeta .C2 ts sigma1 "語尾小文字σ" .C2 ~~ approxequal .C2 ~= approxequal .C2 != notequal .C2 ** asteriskmath .C2 -+ minusplus .C2 +- plusminus .C2 <= lessequal .C2 == equivalence .C2 =~ congruent .C2 >= greaterequal .C2 AN logicaland .C2 OR logicalor .C2 no logicalnot .C2 te existential "存在する、存在限定子" .C2 fa universal "すべての、普通限定子" .C2 Ah aleph .C2 Im Ifraktur "フラクトゥール(ドイツ字体) I, 虚数" .C2 Re Rfraktur "フラクトゥール(ドイツ字体) R, 実数" .C2 if infinity .C2 md dotmath .C2 mo element .C2 mu multiply .C2 nb notsubset .C2 nc notpropersuperset .C2 ne notequivalence .C2 nm notelement .C2 pl plusmath "特殊フォントの正符号" .C2 eq equalmath "特殊フォントの等号" .C2 pt proportional .C2 pp perpendicular .C2 sb propersubset .C2 sp propersuperset .C2 ib reflexsubset .C2 ip reflexsuperset .C2 ap similar .C2 pd partialdiff "偏微分記号" .C2 c* circlemultiply "円の中に積の記号" .C2 c+ circleplus "円の中に正符号" .C2 ca intersection "共通集合、キャップ" .C2 cu union "合併集合、カップ" .C2 di divide "除算記号" .C2 -h hbar .C2 gr gradient .C2 es emptyset .C2 CL club "クラブスート" .C2 SP spade "スペードスート" .C2 HE heart "ハートスート" .C2 DI diamond "ダイヤスート" .C2 CR carriagereturn "改行の記号" .C2 st suchthat .C2 /_ angle .C2 << "" "非常に小さい" .C2 >> "" "非常に大きい" .C2 wp weierstrass "ヴァイヤーシュトラースの p" .C2 lz lozenge .C2 an arrowhorizex "水平な矢印の延長" .ch Fo .SH "関連項目" .BR groff (1) .br .IR "An extension to the troff character set for Europe" , E.G. Keizer, K.J. Simonsen, J. Akkerhuis, EUUG Newsletter, Volume 9, No. 2, Summer 1989 diff --git a/ja/man/man7/groff_me.7 b/ja/man/man7/groff_me.7 index 535615ce2d..1e5d2dc687 100644 --- a/ja/man/man7/groff_me.7 +++ b/ja/man/man7/groff_me.7 @@ -1,274 +1,274 @@ .\" Copyright (c) 1980 The Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms are permitted .\" provided that the above copyright notice and this paragraph are .\" duplicated in all such forms and that any documentation, .\" advertising materials, and other materials related to such .\" distribution and use acknowledge that the software was developed .\" by the University of California, Berkeley. The name of the .\" University may not be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" .\" @(#)me.7 6.4 (Berkeley) 4/13/90 .\" jpman %Id: groff_me.7,v 1.3 1998/12/29 13:44:38 oku Stab % .\" .\" Modified for groff by jjc@jclark.com .hc % -.TH GROFF_ME 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_ME 7 "7 September 1996" "Groff Version 1.11" .UC 3 .SH 名称 groff_me \- 論文を整形するための troff マクロ .SH 書式 .B "groff \-me" [ options ] file ... .br .B "troff \-me" [ options ] file ... .SH 解説 本マニュアルページは、 groff 文書整形システムの一部である GNU バージョン \-me マクロを解説します。 本バージョンは、GNU troff でも Unix troff でも使用可能です。 この .I troff マクロ定義パッケージは、 様々な書式の技術論文に対して、よくある形式の文書の整形機能を提供します。 .PP マクロリクエストの定義については後述します。 多くの .I troff リクエストは、本パッケージと組み合わせて使用すると危険ですが、 次のリクエストは、最初に .pp を使った後であれば問題なく使用する ことができます。 .nf .IP .ta \w'.sz +n 'u \&.bp 新しいページを開始する \&.br 出力行をここで分割する \&.sp n n 個の空白行を挿入する \&.ls n (行間) n=1 シングルスペース, n=2 ダブルスペース \&.na 右端を揃えない \&.ce n 次の n 行を中央揃えにする \&.ul n 次の n 行に下線を引く .fi .PP .I pic, .I eqn, .I refer, .I tbl といったプリプロセッサの出力を、入力として受け付けます。 .SH 関連ファイル /usr/share/tmac/tmac.e .SH 関連項目 .BR groff (1), .BR troff (1) .br \-me Reference Manual, Eric P. Allman .br Writing Papers with Groff Using \-me .tr &. .SH リクエスト 本リストは不完全です。 興味があるものの詳細については .I "The \-me Reference Manual" を参照してください。 .PP .ta \w'.eh \'x\'y\'z\' 'u +\w'初期値 'u +\w'行分割 'u .br .di x \ka .br .di .in \nau .ti 0 リクエスト 初期値 行分割 説明 .br .in \nau .ti 0 \&.(c - yes 中央揃えブロックの開始。 .ti 0 \&.(d - no 遅延テキストの開始。 .ti 0 \&.(f - no 脚注の開始。 .ti 0 \&.(l - yes リストの開始。 .ti 0 \&.(q - yes 大きな引用の開始。 .ti 0 \&.(x \fIx\fR - no .I x 番の索引項目の開始。 .ti 0 \&.(z - no フローティングキープの開始。 .ti 0 \&.)c - yes 中央揃えブロックの終了。 .ti 0 \&.)d - yes 遅延テキストの終了。 .ti 0 \&.)f - yes 脚注の終了。 .ti 0 \&.)l - yes リストの終了。 .ti 0 \&.)q - yes 大きな引用の終了。 .ti 0 \&.)x - yes 索引項目の終了。 .ti 0 \&.)z - yes フローティングキープの終了。 .ti 0 \&.++ \fIm H\fR - no 論文の節の定義。 .I m は論文の部分を定義します。 .B C (章)、 .B A (付録)、 .B P (序文、例えば、アブストラクト、目次など)、 .B B (参考文献)、 .B RC (各章において 1 ページ目から開始する章)、 .B RA (1 ページ目から開始する付録) のいずれかです。 .ti 0 \&.+c \fIT\fR - yes 章 (または付録等 .++ で設定したもの) の開始。 .I T は章のタイトルです。 .ti 0 \&.1c 1 yes 新しいページを 1 コラムで整形。 .ti 0 \&.2c 1 yes 2 コラムで整形。 .ti 0 \&.EN - yes .I eqn や .I neqn が生成した式の後の空白。 .ti 0 \&.EQ \fIx y\fR - yes 式の前に置くことにより、 行を分割して空白を加えます。式番号は .IR y です。 省略可能な引数 \fIx\fR は、 .I I の場合式のインデント (デフォルト) を、 .I L の場合式の左揃えを、 .I C の場合式の中央揃えを、それぞれ意味します。 .ti 0 \&.GE - yes \fIgremlin\fP ピクチャの終了。 .ti 0 \&.GS - yes \fIgremlin\fP ピクチャの開始。 .ti 0 \&.PE - yes \fIpic\fP ピクチャの終了。 .ti 0 \&.PS - yes \fIpic\fP ピクチャの開始。 .ti 0 \&.TE - yes 表の終了。 .ti 0 \&.TH - yes 表の先頭部分の終了。 .ti 0 \&.TS \fIx\fR - yes 表の開始; \fIx\fR が .I H の場合、表の先頭部分を繰り返し使用します。 .ti 0 \&.b \fIx\fR no no .I x をボールドで表示します; 引数が無い場合にはボールドに移行します。 .ti 0 \&.ba \fI+n\fR 0 yes ベースインデントを .I n だけ増加させます。 このインデントは (段落のような) 通常のテキストのインデントをセットするために使用されます。 .ti 0 \&.bc no yes 新しいコラムの開始。 .ti 0 \&.bi \fIx\fR no no .I x をボールドイタリックで表示 (フィルしない場合のみ)。 .ti 0 \&.bu - yes 小球 (bullet) が付いた段落の開始。 .ti 0 \&.bx \fIx\fR no no \fIx\fR を箱の中に表示 (フィルしない場合のみ)。 .ti 0 \&.ef \fI\'x\'y\'z\'\fR \'\'\'\' no 偶数フッタを x y z にします。 .ti 0 \&.eh \fI\'x\'y\'z\'\fR \'\'\'\' no 偶数ヘッダを x y z にします。 .ti 0 \&.fo \fI\'x\'y\'z\'\fR \'\'\'\' no フッタを x y z にします。 .ti 0 \&.hx - no 次のページのヘッダとフッタを抑制します。 .ti 0 \&.he \fI\'x\'y\'z\'\fR \'\'\'\' no ヘッダを x y z にします。 .ti 0 \&.hl - yes 水平線の描画。 .ti 0 \&.i \fIx\fR no no .I x をイタリックにします。 .I x が無い場合、後続のテキストをイタリックにします。 .ti 0 \&.ip \fIx y\fR no yes ハンギングタグ .IR x を伴う、インデントされた段落を開始します。 インデントは半角 (n の幅) .I y 個分です (デフォルトは 5)。 .ti 0 \&.lp yes yes 左揃えしたブロックの段落の開始。 .ti 0 \&.np 1 yes 数字の付いた段落の開始。 .ti 0 \&.of \fI\'x\'y\'z\'\fR \'\'\'\' no 奇数フッタを x y z にします。 .ti 0 \&.oh \fI\'x\'y\'z\'\fR \'\'\'\' no 奇数ヘッダを x y z にします。 .ti 0 \&.pd - yes 遅延テキストの表示。 .ti 0 \&.pp no yes 段落の開始。 最初の行はインデントされます。 .ti 0 \&.r yes no 後続のテキストをローマンにします。 .ti 0 \&.re - no タブをデフォルト値にリセットします。 .ti 0 \&.sh \fIn x\fR - yes 節の見出しが続きます。 フォントは自動的にボールドになります。 .I n は節のレベルであり、 .I x は節のタイトルです。 .ti 0 \&.sk no no 次のページを空白のままとします。 次の 1 ページのみに有効です。 .ti 0 \&.sm \fIx\fR - no .I x をより小さなポイントサイズでセットします。 .ti 0 \&.sz \fI+n\fR 10p no ポイントサイズを .I n ポイントだけ増加させます。 .ti 0 \&.tp no yes タイトルページの開始。 .ti 0 \&.u \fIx\fR - no 引数に下線を引きます (\fItroff\fR においても)。 (フィルしない場合のみ)。 .ti 0 \&.uh - yes .sh に似ていますが、番号を付けません。 .ti 0 \&.xp \fIx\fR - no .I x 番の索引項目の表示。 .SH 日本語訳 堀川和雄 diff --git a/ja/man/man7/groff_mm.7 b/ja/man/man7/groff_mm.7 index 13dbb44444..43574f5f2f 100644 --- a/ja/man/man7/groff_mm.7 +++ b/ja/man/man7/groff_mm.7 @@ -1,1877 +1,1877 @@ .ig \"-*- nroff -*- Copyright (C) 1991-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" %Id: groff_mm.man,v 1.27 1995/04/24 05:37:46 jh Exp % .\" jpman %Id: groff_mm.7,v 1.4 1999/01/20 17:21:55 kuma Stab % .\" .\" WORD: abstract アブストラクト .\" WORD: broken varable list 変則可変リスト .\" WORD: bullet list 黒丸リスト .\" WORD: diversion 転換 .\" WORD: exhibit エグジビット .\" WORD: front page 表題紙 .\" WORD: hanging indent ハンギングインデント .\" WORD: heading 見出し .\" WORD: justification 行末揃え .\" WORD: memorandum 覚書 .\" WORD: multiple columns 多段組 .\" WORD: nesting 入れ子 .\" WORD: overprint 重ね打ちする .\" WORD: released paper style 公開論文形式 .\" WORD: separate environment 隔離された環境 .\" WORD: static display スタティックディスプレイ .\" WORD: trap トラップ .\" WORD: variable item list 可変項目リスト .\" " .de T2 .ne 2v .ti -.5i \\$1 .sp -1 .. .de T3 .ne 2v .ti -.5i \fB\\$1\fP .br .. -.TH GROFF_MM 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_MM 7 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_mm \- groff mm マクロ .SH 書式 .B groff .B \-mm [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] .SH 解説 groff mm マクロは、DWB mm マクロと互換であるように設計されています。 しかし、以下のような制限があります: .TP .B \(bu ベル研の方言は実装されていません。 .TP .B \(bu マクロ OK 及び PM は実装されていません。 .TP .B \(bu groff mm は、カットマークをサポートしません。 .LP \fBmm\fP は、国際化されて設計されています。 そのため、各国語対応用の短いマクロファイルを書き換えて、 英語のテキストを好みの言語対応に置き換えることができます。 \fBmmse\fP を例として用いて下さい。 .LP 新しいマクロ: \fBAPP\fP, \fBAPPSK\fP, \fBB1\fP, \fBB2\fP, \fBBVL\fP, \fBCOVER\fP, \fBCOVEND\fP, \fBGETHN\fP, \fBGETPN\fP, \fBGETR\fP, \fBGETST\fP, \fBINITR\fP, \fBMC\fP, \fBMOVE\fP, \fBMULB\fP, \fBMULN\fP, \fBMULE\fP, \fBPGFORM\fP, \fBPGNH\fP, \fBSETR\fP, \fBTAB\fP, \fBVERBON\fP, \fBVERBOFF\fP .LP .\"########################################################################" .LP 大域変数の初期化後に \fBlocale\fP か \fIlang\fP\fB_locale\fP という ファイルを読み込みます。そのため、企業名などについてのマクロを ローカライズすることができます。 .sp このマニュアルでは、角括弧は省略可能な引数を表示するのに用いられます。 .sp 3 \fB数値レジスタと文字列変数\fP .br 多くのマクロを数値レジスタと文字列変数によって制御することが出来ます。 数値レジスタは、\fBnr\fP コマンドによって、代入が出来ます。 .br \fB\&.nr\fP \fIXXX\fP \fI[+-]n [i]\fP .br \fBXXX\fP はレジスタの名前です。 \fBn\fP は、代入されるべき値です。 そして、\fBi\fP は、自動増加に使われる増分値です。 もし現在値の増減が必要ならば、\fBn\fP には、 前に接頭辞として正符号や負符号をつけることが出来ます。 (自動増加や自動減少が行なわれるのは、 数値レジスタが正符号か負符号とともに用いられた時のことで、 \fB\en+[XXX]\fP か \fB\en-[XXX]\fP の様になります。) .sp 文字列変数は、\fBds\fP により定義されます。 .br \fB\&.ds\fP \fIYYY string\fP .br 文字列 \fIstring\fP としては、空白も含めて行末までの全部が割り当てられます。 \fIstring\fP の中の最初の空白は、二重引用符が前につけられなければなりません。 (テキストの中では、文字列変数は \fB\e*[YYY]\fP の様に使われます。) .sp \fB数値レジスタの特殊な形式\fP .br 数値レジスタというものは、形式が何も指定されなければ、 通常の数字で表示されます。 形式は \fBaf\fP によって設定出来ます: .br \fB\&.af\fP \fIR c\fP .br \fIR\fP はレジスタの名前で、\fIc\fP はその形式です。 .in +.5i .T2 \fB形式\fP \fB数の並び\fP .T2 1 0, 1, 2, 3, ... .T2 001 000, 001, 002, 003, ... .T2 i 0, i, ii, iii, iv, ... .T2 I 0, I, II, III, IV, ... .T2 a 0, a, b, c, ..., z, aa, ab, ... .T2 A 0, A, B, C, ..., Z, AA, AB, ... .in .LP \fBマクロ:\fP .TP .B "1C [1]" 1 段の段組処理を開始します。引数としての \fB1\fP はページ区切りを無効にします。 広い脚注を用いて下さい。 狭い脚注は重ね打ちになってしまうでしょう。 .TP .B 2C 2 段の段組処理を開始します。ページを 2 段のカラムに分割します。 これは、\fBMC\fP の特殊な場合になります。 関連項目は \fB1C\fP です。 .TP .B AE アブストラクトの終わり。 \&\fBAS\fP を参照して下さい。 .TP .B "AF [企業名]" 著者の帰属する企業。\fBAU\fP の前に呼び出さなければなりません。 関連項目は \fBCOVER\fP です。 .TP .B "AL [type [text-indent [1]]]" 自動番号付けリストを開始します。 項目は、1 から始められる番号を振付けられます。 引数の \fItype\fP は数字の型を制御します。 .in +.5i .T2 引数 数字の型 .T2 1 アラビア数字 (デフォルト) .T2 A 大文字 (A-Z) .T2 a 小文字 (a-z) .T2 I 大文字 ローマ数字 .T2 i 小文字 ローマ数字 .in \fItext-indent\fP はインデントを設定し、\fBLi\fP よりも優先されます。 3 番目の引数は、各項目の前に空行を出力することを禁止します。 .TP .B "APP name text" \fIname\fP という名前の付録を開始します。 \fIname\fP が "" である場合には、自動的に名前がつけられます。 名前が自動生成されるならば、付録は \fBA\fP から始まります。 数値変数の \fBAph\fP が非 0 であれば、新しいページに切り替えられ、 ヘッダも生成されます。 これが、デフォルトです。 付録は、常に「List of contents」の中に正しいページ番号とともに表示されます。 \fIAPPENDIX\fP という名前は、 文字列変数の \fBApp\fP に望みのテキストを代入すれば、 変えることが出来ます。 .TP .B "APPSK name pages text" \&\fB.APP\fP とほぼ同じです。異なるのは、\fIpages\fP だけ ページ番号が増加されることです。 これが使用されるのは、図表や、その他整形されていない文書が 付録に含まれる時です。 .TP .B "AS [arg [indent]]" アブストラクトの開始。 インデントは、「en (半角)」で指定されますが、単位付きの指定も可能です。 引数の \fIarg\fP は、アブストラクトが印字される場所を制御します。 .in +.5i .T2 arg 配置 .T2 0 公開論文形式 (\fBMT 4\fP) の場合には、 アブストラクトは第 1 ページと表紙に印字されます。 それ以外の場合には、表紙はなく、第 1 ページに印字されます。 .T2 1 アブストラクトは第 1 ページだけに印字されます (\fBMT 4\fP の場合のみ)。 .T2 2 アブストラクトは表紙だけに印字されます。 表紙の印字には、\fBCS\fP は必要ありません。 .in 外部へのレター形式 (\fBMT 5\fP) では、アブストラクトは全く印字されません。 \fIindent\fP は両側マージンのインデントを制御します。 指定されない時は、通常のテキストのインデントが用いられます。 .TP .B "AST [title]" アブストラクトの題目。 デフォルトでは、\fBABSTRACT\fP です。 アブストラクトのテキストの上にそのテキストを設定します。 .TP .B "AT title1 [title2 ...]" 著者の肩書。\fBAT\fP は、各々の \fBAU\fP のすぐ後に現れなければなりません。 肩書は、署名ブロックで名前の後に現れます。 .TP .B "AU name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]" 著者に関する情報。これは、覚書や論文の著者を明示し、表紙や他の同様の場所に 印字されます。 \fBAU\fP は \fBTL\fP の前に現れなければなりません。 著者情報には、イニシャル (initials)、所在地 (loc)、部局 (dept)、 電話内線番号 (ext)、部屋番号又は部屋の名前 (room)、そして 3 個までの 追加引数を含めることが出来ます。 .TP .B "AV [name [1]]" 承認署名。これは、署名と日付を伴う承認欄を生成します。 変数 \fBLetapp\fP を用いて文字列 \fBAPPROVED:\fP を変更することが出来ます。 また、文字列 \fBDate\fP は \fBLetdate\fP に入っています。 .TP .B "B [bold-text [prev-font-text [bold...]]]" ボールド体の開始。引数の数には、制限はありません。 すべての引数は、1 個の単語に結合されます。 第 1 番目の引数、第 3 番目の引数、などなどがボールド体で印字されます。 .TP .B B1 (ms マクロのような) ボックスの開始。テキストの周りにボックスを描きます。 テキストは 1 文字インデントされ、右マージンは 1 文字短くなります。 .TP .B B2 ボックスの終了。\fBB1\fP によって開始されたボックスを終了します。 .TP .B BE ページ底部のブロックの終了。\fBBS\fP を参照して下さい。 .TP .B "BI [bold-text [italic-text [bold-text [...]]]]" ボールド体とイタリック体。 引数の数には制限はありません。 \fBB\fP を参照して下さい。 .TP .B "BL [text-indent [1]]" 黒丸リストの開始。これは、黒丸記号と空白を各リスト項目の先頭部分に配置する リストを初期化します (\fBLI\fP を参照して下さい)。 \fItext-indent\fP は、数値レジスタ \fBPi\fP により設定されるリスト項目の デフォルトのインデントより優先されます。 第 3 番目の引数により、各項目前の空行の出力が禁止されます。 .TP .B "BR [bold-text [roman-text [bold-text [...]]]]" ボールド体とローマン体。 引数の数には、制限はありません。 .TP .B BS ページ底部のブロック開始。これは、テキストブロックの定義を開始します。 このブロックは各ページの底部に印字されます。 ブロックは、\fBBE\fP で終了します。 .TP .B BVL 変則可変項目リスト。 この変則可変項目リストには、定まった項目記号がありません。 その代わり、各 \fBLI\fP に項目記号が定義されていると仮定しています。 テキストは必ず、項目記号の後の次の行で始まります。 \fItext-indent\fP によって、テキストのインデントが設定されます。 そして、\fImark-indent\fP によって、現在のインデントから項目記号までの 距離が設定されます。 第 3 番目の引数は、各項目の前に空行を出力することを禁止します。 .TP .B "COVER [arg]" \&\fBCOVER\fP は表紙の定義を開始します。 重要なことは、\fB.COVER\fP がすべての通常のテキストより前に現れることです。 \&\fB.COVER\fP では、\fIarg\fP を使用して、 /usr/share/tmac/mm/\fIarg\fP.cov というファイル名を構成します。 このお陰で、無制限な型の表紙を創作することが可能です。 \fIms.cov\fP の目的としていることは、\fBms\fP の表紙に似せることです。 \&\fB.COVER\fP では、表紙の定義の最後に \fB.COVEND\fP があることが要求されます。 必ず、以下のような順番で表紙マクロを使用して下さい: .nf \&.COVER \&.TL \&.AF \&.AU \&.AT \&.AS \&.AE \&.COVEND .fi しかし、必ず必要なのは \fB.TL\fP と \fB.AU\fP だけです。 .TP .B COVEND これによって表紙の記述は終了し、表紙が印字されます。 このマクロは、表紙ファイルに定義されています。 .TP .B DE ディスプレイ終了。これは、\fBDS\fP 又は \fBDF\fP で始まったテキストブロック やディスプレイを終了させます。 .TP .B "DF [format [fill [rindent]]]" フローティングディスプレイを開始します (入れ子にはできません)。 フローティングディスプレイは、キューに保存され、入れられた順番で印字されます。 \fIformat\fP, \fIfill\fP, \fIrindent\fP は、\fBDS\fP の場合と同じです。 フローティングディスプレイは、2 個の数値レジスタ \fBDe\fP と \fBDf\fP とによって制御されます。 .sp \fBDe レジスタ\fP .in +.5i .T2 0 特別なことは何もありません。これがデフォルトです。 .T2 1 ディスプレイが印字された後で改ページが行われます。 その為、1 ページに唯 1 つのディスプレイが出力されます。 その後ろには、テキストは何も続きません。 .in .sp \fBDf レジスタ\fP .in +.5i .T2 0 (セクション - ページの番号付けが有効な時は) 各セクションの最後に、 そうでない時には文書の最後に、ディスプレイは印字されます。 .T2 1 充分な余地があれば、新しいディスプレイは現在のページに印字されます。 そのような余地がなければ、ディスプレイは文書の最後に印字されます。 .T2 2 1 つのディスプレイが、各ページの、又は (多段組のモードでは) 各カラムの一番上に印字されます。 .T2 3 もし充分な余地があるならば、1 つのディプレイを印字します。 余地がなければ、ディスプレイは次ページか次のカラムの一番上に印字されます。 .T2 4 新しいページまたはカラムに、入るだけのディスプレイを印字します。 もし \fBDe\fP が 0 でなければ、各ディスプレイの間に改ページが出力されます。 .T2 5 現在のページをディスプレイで満たします。 そして、残りは、新しいページまたはカラムから始めます。(これがデフォルトです)。 もし \fBDe\fP が 0 でなければ、各ディスプレイの間に改ページが出力されます。 .in .TP .B "DL [text-indent [1]]" ダッシュリストの開始。これは、各項目がダッシュの後に印字されるリスト を開始します。 \fItext-indent\fP は、数値レジスタの \fBPi\fP によって設定される、リスト項目の デフォルトのインデントを変更します。 第 3 引数は各項目の前に空行を印字することを禁止します。 第 2 引数は印字されるべきリスト項目の間の空行を抑止します。 \fBLI\fP を参照して下さい。 .TP .B "DS [format [fill [rindent]]]" スタティックディスプレイの開始。これは、\fBDE\fP に至るまでテキストの収集を 始めます。 テキストは、ページ長より長くならない限り同一のページに印字されます。 \fBDS\fP は入れ子にできます。入れ子の深さには限度はありません (合理的な程度に :-)。 .sp \fBformat\fP .in +.5i .ds x " .\" " .T2 """""" インデントしません。 .T2 none インデントしません。 .T2 L インデントしません。 .T2 I 数値レジスタ \fBSi\fP の値だけテキストをインデントします。 .T2 C 各行を中央揃えします。 .T2 CB ディスプレイ全体をブロックとして中央揃えします。 .T2 R 行を右揃えします。 .T2 RB ディスプレイ全体をブロックとして右揃えします。 .in .sp L, I, C, CB は 0, 1, 2, 3 とも指定できます。これは互換性の理由からです。 (この機能は使用しないで下さい。:-) .sp \fBfill\fP .in +.5i .T2 """""" 行詰め機能を無効にします。 .T2 none 行詰め機能を無効にします。 .T2 N 行詰め機能を無効にします。 .T2 F 行詰め機能を有効にします。 .in .sp N と F は 0 と 1 とも指定できます。 通常は空行がディスプレイの前と後に印字されます。 数値レジスタ \fBDs\fP に 0 を設定すればこれを抑止出来ます。 \fIrindent\fP を指定すれば、行の長さをその量だけ短く出来ます。 .TP .B "EC [title [override [flag [refname]]]]" 数式の題目。 数式に題目をつけます。 引数に \fIoverride\fP を指定すれば、数式番号を変更出来ます。 .sp \fBflag\fP .in +.5i .T2 none \fIoverride\fP は、番号の接頭辞となります。 .T2 0 \fIoverride\fP は、番号の接頭辞となります。 .T2 1 \fIoverride\fP は、番号の接尾辞となります。 .T2 2 番号は \fIoverride\fP に置き換えられます。 .in \&\fBEC\fP は数値レジスタの \fBEc\fP をカウンタとして使います。 番号の形式を変更する為に、\fB.af\fP を用いることが出来ます。 もし数値レジスタの \fBOf\fP が 1 であれば、題目の形式として番号の後にはドット の代わりにダッシュが使われます。 文字列変数の \fBLe\fP は、数式のリスト (List of Equations) の題目を 制御します。 これは、デフォルトでは \fILIST OF EQUATIONS\fP です。 数値レジスタの \fBLiec\fP は単語 \fIEquation\fP を含みます。 この文字列は番号の前に印字されます。 もし \fIrefname\fP が指定されている時には、数式番号が \fB.SETR\fP によって 保存されます。これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .TP .B "EF [arg]" 偶数ページのフッタ。これは偶数ページの通常のページフッタの すぐ上に印字されます。 \&\fBPF\fP を参照して下さい。 .TP .B "EH [arg]" 偶数ページのヘッダ。これは偶数ページの通常のページヘッダの すぐ下に印字されます。 \&\fBPH\fP を参照して下さい。 .TP .B EN 数式の終了。 \&\fBEQ\fP を参照して下さい。 .TP .B EOP ページ終了のユーザ定義マクロ。 フッタを通常通り印字する代わりにこのマクロが呼び出されます。 このマクロは何のトラップもアクティブではない状態の隔離された環境下で 実行されます。 \&\fBTP\fPを参照して下さい。 .sp \fBEOP に利用できる文字列変数\fP .in +.5i .T2 EOPf \&\fBPF\fP からの引数。 .T2 EOPef \&\fBEF\fP からの引数。 .T2 EOPof \&\fBOF\fP からの引数。 .in .TP .B "EQ [label]" 数式の開始。 \fBEQ\fP/\fBEN\fP は、\fBeqn\fP への入力として書かれた数式の区切り記号です。 \fBEQ\fP/\fBEN\fP は \fBDS\fP/\fBDE\fP ペアに囲まれていなければなりません。 しかし、\fBEQ\fP が \fBeqn\fP のオプションを設定するのに使用されているだけ ならば、その必要はありません。 数値レジスタの \fBEq\fP が 1 でなければ、\fIlabel\fP は数式の右マージンに 現れます。1 であれば、ラベルは左マージンに現れます。 .TP .B "EX [title [override [flag [refname]]]]" エグジビットの題目。 引数は \fBEC\fP と同じです。 \&\fBEX\fP は数値レジスタの \fBEx\fP をカウンタとして使用します。 文字列変数の \fBLx\fP は、エグジビットのリスト (List of Exhibits) の題名を 制御します。デフォルトでは \fILIST OF EXHIBITS\fP となります。 文字列変数の \fBLiex\fP は、\fIExhibit\fP という単語を含みます。 この単語は、番号の前に印字されます。 もし \fIrefname\fP が指定されたなら、その時はエグジビット番号は、 \&\fB.SETR\fP により保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .TP .B "FC [closing]" レターや覚書の正式な締めくくりとして \fIYours\ very\ truly,\fP を印字します。 引数でデフォルトの文字列を置き換えられます。 デフォルトは文字列変数の \fBLetfc\fP に保管されています。 .TP .B "FD [arg [1]]" 脚注のデフォルトの形式。 これは、ハイフネーション (hyphen)、右マージン揃え (adjust)、 脚注テキストのインデント (indent) を制御します。 また、ラベル揃え (ljust) も変更することが出来ます。 .sp .ne 14v .nf .ta .5i +.8i +.8i +.8i +.8i \fBarg hyphen adjust indent ljust\fP 0 no yes yes left 1 yes yes yes left 2 no no yes left 3 yes no yes left 4 no yes no left 5 yes yes no left 6 no no no left 7 yes no no left 8 no yes yes right 9 yes yes yes right 10 no no yes right 11 yes no yes right .sp .fi .DT 11 以上の引数は、引数 0 と見なされます。mm でのデフォルトは 10 です。 .TP .B FE 脚注の終了。 .TP .B "FG [title [override [flag [refname]]]]" 図の題名。 もし \fIrefname\fP が指定されていれば、図番号が \&\fB.SETR\fP によって保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .TP .B "FS [label]" 脚注の開始。 脚注は \fBFE\fP で閉じられます。 通常脚注は自動的に番号が付されます。 この番号は、文字列変数の \fBF\fP により利用出来ます。 ただ \fB\e*F\fP をテキストに加えて下さい。 また、\fIlabel\fP を引数として加えることで、 他の番号や名前を脚注に付けることが出来ます。 ディスプレイの中の脚注も今では可能です。 空行が、脚注同士を分離します。 行の高さは、数値レジスタの \fBFs\fP により制御されます。 デフォルト値は 1 です。 .TP .B "GETHN refname [varname]" これは、対応する \fBSETR\fP \fIrefname\fP が配置された場所の セクションヘッダ番号を挿入します。 これは、1 回目のパスでは、X.X.X. となっているでしょう。 \fBINITR\fP を参照して下さい。 もし varname が指定されているなら、\fBGETHN\fP により文字列変数の \&\fIvarname\fP にはセクションヘッダ番号が代入されます。 .TP .B "GETPN refname [varname]" これは、対応する \fBSETR\fP \fIrefname\fP が配置された場所の ページ番号を挿入します。 これは、1 回目のパスでは、9999 となっているでしょう。 \fBINITR\fP を参照して下さい。 もし varname が指定されているなら、\fBGETPN\fP により文字列変数の \&\fIvarname\fP にはページ番号が代入されます。 .TP .B "GETR refname" これは \fBGETHN\fP と \fBGETPN\fP をテキストの 「chapter」と「, page」とともに結合します。 文字列変数の \fIQrf\fP は参照用のテキストを保持しています: .ti +.5i \&.ds Qrf See chapter \e\e*[Qrfh], page \e\e*[Qrfp]. .br \fIQrf\fP は他の言語をサポートする為に変更出来ます。 文字列変数の \fIQrfh\fP と \fIQrfp\fP は \fBGETR\fP により設定され、 セクションヘッダ番号とページ番号が入っています。 .TP .B "GETST refname [varname]" これは、\fB.SETR\fP の第 2 引数により保存された文字列を挿入します。 これは、1 回目のパスでは、ダミー文字列になっているでしょう。 もし varname が指定されたなら、\fBGETST\fP により文字列変数の \fIvarname\fP には保存された文字列が代入されます。 \&\fBINITR\fP を参照して下さい。 .TP .B "H level [heading-text [heading-suffix]]" 番号付セクション見出し。 セクションヘッダには、1 から 7 迄のレベルを付けられます。 レベル 1 が、トップレベルです。 テキストは引数 \fIheading-text\fP に与えられます。 テキストに空白があるときには、二重引用符で括らなければなりません。 \fBheading-suffix\fP をセクションヘッダのテキスト中に付け加えられます。 しかし、これは目次には現れません。 通常、これは脚注マークや同様のものに用いられます。 \fIheading-suffix\fP の中では \fB\e*F\fP を使わないで下さい。 \fB\e*F\fP は機能しません。 手動のラベルを使わなければなりません。 \fBFS\fP を参照して下さい。 .sp \fBH\fP の直後に置かれた段落 \fBP\fP は、無視されます。 \fBH\fP によって、行送りとインデントの処理が行われます。 .sp \fB見出しの前のページ切替\fP .br 数値レジスタの \fBEj\fP は見出しの前のページ切替を制御します。 通常、レベル 1 の見出しは、その前に 2 行の空行が印字されます。 それより高次のレベルの見出しの前では 1 行になります。 数値レジスタの \fBEj\fP が 1 であれば、各第 1 レベルの見出しの前で 新しいページが排出されます。 レベルが \fBEj\fP の値以下の見出しすべてについて、ページが切り替えられます。 \fBEj\fP のデフォルト値は 0 です。 .sp \fB見出しの行区切りレベル\fP .br もし見出しレベルが数値レジスタ \fBHb\fP 以下ならば、 見出しの後で行区切りが起こります。 このレジスタのデフォルト値は 2 です。 .sp \fB見出しの空白行のレベル\fP .br もし見出しレベルが数値レジスタ \fBHs\fP 以下ならば、 空白行が見出しの後に挿入されます。 このレジスタのデフォルト値は 2 です。 .sp もしレベルが \fBHb\fP と \fBHs\fP の両方より大きければ、 テキストは同じ行で見出しの後に続きます。 .sp \fB見出しの後のインデント\fP .br 見出しの後のテキストのインデントは数値レジスタの \fBHi\fP によって制御 されます。 このレジスタのデフォルト値は 0 です。 .sp \fBHi\fP .in +.5i .T2 0 テキストは左揃えされます。 .T2 1 テキストのインデントは数値レジスタの \fBPt\fP の値に従います。 \fBP\fP を参照して下さい。 .T2 2 テキストは見出しの最初の単語に合わせて 1 列に並べられます。 .in .sp \fBセクション見出しの中央揃え\fP .br そのレベルが数値レジスタの \fBHc\fP 以下で、かつ \fBHb\fP 又は \fBHs\fP 以下の見出しはすべて、中央揃えされます。 .sp \fB見出しのフォントの管理\fP .br 各見出しレベルでのフォントは文字列変数の \fBHF\fP を用いて管理されています。 この変数には各レベルでのフォント番号又はフォント名が入れられています。 デフォルトでは \fB2\ 2\ 2\ 2\ 2\ 2\ 2\fP (すべての見出しでイタリック体) です。 これをまた \fBI\ I\ I\ I\ I\ I\ I\fP の様にも書くことが出来ます。 省略された値はすべて 1 であると推定されます。 .sp \fBポイントサイズの管理\fP .br 各見出しのポイントサイズは、フォントが \fBHF\fP により管理されるのと同様な 方法で、文字列変数の \fBHP\fP により管理されます。 値 0 は、デフォルトのポイントサイズを選びます。 デフォルト値は \fB0\ 0\ 0\ 0\ 0\ 0\ 0\fP です。 ポイントサイズのみが変わるのであって、垂直サイズではないことに気をつけて下さい。 垂直サイズはユーザにより指定されるマクロ \fBHX\fP や \fBHZ\fP によって 管理出来ます。 .sp \fB見出しカウンタ\fP .br \fBH1\fP から \fBH7\fP 迄の名前をつけられた 7 個の数値レジスタには 各見出しレベルのカウンタが入れられています。 それらの値はアラビア数字を使って印字されます。 これらは、マクロの \fBHM\fP (下記参照) によって変えられます。 すべての記号は印字する前に結合されます。 これを避ける為には、数値レジスタの \fBHt\fP に 1 を代入して下さい。 これにより各見出しでは、現在の見出しのカウンタだけが印字されます。 .sp \fB自動の目次\fP .br その見出しレベルが数値レジスタ \fBCl\fP 以下の見出しは、 目次に印字する為に保存されます。 このレジスタのデフォルト値は 2 です。 .sp \fB見出しの特別な管理、ユーザ定義マクロ\fP .br これから記述するマクロは垂直行送り、フォント、または他の機能を細かく 制御するためにユーザが定義できるものです。 引数 \fIlevel\fP は \fBH\fP へのレベル引数です。 しかし、これは番号無し見出しでは 0 になります (\fBHU\fP を参照して下さい)。 引数 \fIrlevel\fP は実際のレベルです。 これは、番号無し見出しの為に数値レジスタ \fBHu\fP に代入されます。 引数 \fIheading-text\fP は、\fBH\fP や \fBHU\fP へのテキスト引数です。 .sp \fBHX\ \fP\fIlevel\ rlevel\ heading-text\fP .br \fBHX\fP は見出し印字の直前に呼び出されます。 以下のようなレジスタが \fBHX\fP に利用出来ます。 \fBHX\fP は\ \fB}0\fP, \fB}2\fP, \fB;3\fP を変更してもかまいません。 .in +.5i .T3 "文字列変数\ }0" もし \fIrlevel\fP が非 0 であれば、見出し記号と 2 個のスペースが入っています。 そうでなければ、空です。 .T3 "数値レジスタ\ ;0" 見出しの後のテキストの位置が入っています。 0 はテキストが見出しと同じ行に続くはずであることを意味しています。 1 はテキストの前で行区切りが生ずるはずであることを意味します。 2 は空白行が見出しとテキストを分離するはずであることを 意味します。 .T3 "文字列変数\ }2" 数値レジスタの \fB;0\fP が 0 であれば、このレジスタには 2 個のスペースが入ります。 これは見出しからテキストを分離するのに使われます。 もし \fB;0\fP が非 0 であれば、この文字列変数は空です。 .T3 "数値レジスタ\ ;3" これには見出しの後に必要とされる行送りが単位付きで入ります。 デフォルトは 2v です。 これらは番号付け (\fB}0\fP)、垂直行送り (\fB}2\fP)、そして 見出しの後に必要な行送りの様な事柄を変更するのに使用出来ます。 .in .sp \fBHY\ \fP\fIdlevel\ rlevel\ heading-text\fP .br \fBHY\fP はサイズとフォントの計算の後に呼び出されます。 インデントを変更するために使えるでしょう。 .sp \fBHZ\ \fP\fIdlevel\ rlevel\ heading-text\fP .br \fBHZ\fP は見出しの印字の後で、\fBH\fP 又は \fBHU\fP が終了する直前に、 呼ばれます。 これは、セクション見出しに従いページヘッダを変更する為に使うことが出来るでしょう。 .TP .B "HC [hyphenation-character]" ハイフネーション文字を設定します。 デフォルト文字は \e% です。 引数なしで呼ばれた時はデフォルトに再設定します。 ファイルの初めで数値レジスタ \fBHy\fP に 0 を設定すれば、 ハイフネーションを止められます。 .TP .B "HM [arg1 [arg2 [... [arg7]]]]" 見出し記号の型。 見出しカウンタを印字する為の記号の型を制御します。 デフォルトは、すべてのレベルで 1 です。 .sp \fB引数\fP .in +.5i .T2 1 アラビア数字 .T2 0001 ひとつ以上の 0 を先行したアラビア数字 .T2 A 大文字のアルファベット .T2 a 小文字のアルファベット .T2 I 大文字のローマ数字 .T2 i 小文字のローマ数字 .T2 \fI空\fP アラビア数字 .in .TP .B "HU heading-text" 番号無しセクションヘッダ。 数値レジスタ \fBHu\fP をレベルとして \fBHU\fP は \fBH\fP の様に振舞います。 \fBH\fP を参照して下さい。 .TP .B "HX dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 \fBH\fP を参照して下さい。 .TP .B "HY dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 \fBH\fP を参照して下さい。 .TP .B "HZ dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字した直後に呼ばれます。 \fBH\fP を参照して下さい。 .TP .B "I [italic-text [prev-font-text [italic-text [...]]]]" イタリック体です。 これは引数なしで呼ばれたならフォントをイタリック体に変更します。 引数が 1 個の場合には、これはその単語をイタリック体にします。 引数が 2 個の場合には、これは引数を連結し最初の単語にイタリック体を 設定し、2 番目に以前のままのフォントを設定します。 引数の数には制限はありません。 すべての引数は、連結されます。 .TP .B "IA [addressee-name [title]]" これはレター形式の受信人 (addressee) と受信人のアドレスの記述を 開始します。 いくつかの名前が空の \fBIA\fP/\fBIE\fP ペアにより指定できます。 しかし、アドレスは唯 1 つになります。 \fBLT\fP を参照して下さい。 .TP .B "IB [italic-text [bold-text [italic-text [...]]]]" イタリック体とボールド体。 偶数番目の引数がイタリック体で、奇数番目がボールド体で印字されます。 \fBI\fP を参照して下さい。 .TP .B IE \fPIA\fP の後でアドレス指定を終了します。 .TP .B "INITR filename" 参照用マクロの初期化。 参照はファイル \fIfilename.tmp\fP と \fIfilename.qrf\fP とに 書き込まれます。 これには、groff の 2 回のパスが必要とされます。 最初のパスでは参照を探し、2 回目のパスではそれらを取り込みます。 \fBINITR\fP は数回使用できます。 しかし、有効なのは最初に出現した \fBINITR\fP だけです。 関連項目は、\fBSETR\fP, \fBGETPN\fP, \fBGETHN\fP です。 .TP .B "IR [italic-text [roman-text [italic-text [...]]]]" イタリック体とローマン体。 偶数番目の引数がイタリック体で、奇数番目がローマン体で印字されます。 \fBI\fP を参照して下さい。 .TP .B "LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]" リスト開始マクロ。 これはすべてのリストに使用される共通のマクロです。 引数 \fItext-indent\fP は現在のインデントからテキストをインデントする スペースの数です。 .sp \fIpad\fP と \fImark-indent\fP は項目記号を置く所を指定します。 項目記号は記号領域に配置されます。 \fImark-indent\fP はこの領域の前のスペースの数を設定します。 これは通常 0 です。 記号領域はテキストが始まる所で終ります。 それでもなお、テキストの開始は \fItext-indent\fP により決められます。 .sp もし \fIpad\fP が 0 ならば、項目記号は記号領域の中で左揃えされます。 もし\fIpad\fP が 0 より大きければ、その時は \fImark-indent\fP は無視されます。 そして項目記号はテキストに対しスペースで \fIpad\fP 個分前に配置されます。 この操作では、項目記号は右揃えされます。 .sp もし \fItype\fP が 0 であれば、リストはハンギングインデントになるか、又は 引数の \fImark\fP が与えられていたら、文字列の \fImark\fP が項目記号 となります。 .sp もし \fItype\fP が 0 より大きければ、自動的な番号付けが行われます。 更に \fImark\fP が空であれば、番号はアラビア数字となります。 この時、\fImark\fP には \fB1\fP, \fBA\fP, \fBa\fP, \fBI\fP, \fBi\fP のどれでも指定出来ます。 .sp \fItype\fP には項目記号を表示するため 6 通りの可能な方法の中から 1 つを選べます。 .br \fBtype\fP .in +.6i .T2 1 x. .T2 2 x) .T2 3 (x) .T2 4 [x] .T2 5 .T2 6 {x} .in .sp リストの各項目の前には \fILI-space\fP 行の空行が置かれます。 デフォルトは 1 です。 .sp \fBLB\fP 自体には \fILB-space\fP 行の空行が印字されます。 デフォルトは 0 です。 .TP .B "LC [list-level]" リスト状態情報のクリア。 これにより、アクティブなリストが \fIlist-level\fP レベル迄、 あるいは引数が指定されなかった場合には 0 レベル迄、すべて終了されます。 これはアクティブなリストをすべてクリアする為に \fBH\fP により使用されます。 .TP .B "LE [1]" リストの終了。 これは現在のリストを終了します。 \fBLE\fP はもし引数が指定されているなら、空行を印字します。 .TP .B "LI [mark [1]]" リスト項目。 これは、リストの各項目の最初に置かれます。 引数がないときは、\fBLI\fP は、現在のリスト形式で決められる項目記号 を印字します。 \fBLI\fP に引数を 1 つ指定すると、それが代わりの項目記号として使用されます。 \fBLI\fP に引数を 2 つ指定すれば、\fImark\fP は現在の項目記号の接頭辞と なります。 長さ 0 の \fImark\fP を指定した場合はハンギングインデントが生成されます。 .sp 通常はリスト項目の前に空行が印字されます。 この挙動は数値レジスタの \fBLs\fP を用いて制御出来ます。 \fBLs\fP 以下のすべてのリストレベルで先行する行送りが生成されます。 このレジスタのデフォルト値は 99 です。 (リストの入れ子は無制限です。:-) .sp インデントは数値レジスタの \fBLi\fP によって変えられます。 デフォルトは 6 です。 .sp すべてのリストはリスト初期化マクロの \fBLB\fP により始まります。 しかし、リストを使いやすくする為に予め定義されているリストの形式が 7 つあります。 これらの形式はすべて異なったデフォルト値で \fBLB\fP を呼び出します。 .in +.5i .T2 \fBAL\fP 自動増加番号リスト .T2 \fBML\fP 記号付きリスト .T2 \fBVL\fP 可変項目リスト .T2 \fBBL\fP 黒丸リスト .T2 \fBDL\fP ダッシュリスト .T2 \fBRL\fP 参照文献リスト .T2 \fBBVL\fP 変則可変リスト .in これらのリストについてはこのマニュアルのほかの所に記述してあります。 関連項目は \fBLB\fP です。 .TP .B "LT [arg]" 引数に基づいて 4 つの異なった形式の内の 1 つでレターを構成します。 関連項目は \fB内部\fP セクションです。 .in +.5i .T2 \fBarg 形式\fP .T2 BL ブロック形式。日付欄、返送先アドレス、著者のアドレスと結辞は行の中央から始まります。 他のすべての行は左マージンから始まります。 .T2 SB 半ブロック形式。ブロック形式と同様ですが、 各段落の最初の行が スペース 5 個分インデントされます。 .T2 FB 全ブロック形式。すべての行が左マージンから始まります。 .T2 SP 簡易形式。全ブロック形式とほぼ同じです。 主題と著者の身分がすべて大文字で印字されます。 .in .TP .B "LO type [arg]" レターのオプションを指定します (\fB.LT\fP を参照して下さい)。 以下に示すのは標準のオプションです。 .in +.5i .T2 CN 機密表記。 日付欄の下 2 行目に \fBRESTRICTED\fP を印字します。 引数で \fBRESTRICTED\fP を置き換えられます。 関連項目は文字列変数 \fBLetCN\fP です。 .T2 RN 参考文献表記。 \fBIn reference to:\fP と引数を日付欄の 2 行下に印字します。 関連項目は文字列変数 \fBLetRN\fP です。 .T2 AT 気付。\fBATTENTION:\fP と引数を内部アドレスの下に印字します。 関連項目は文字列変数 \fBLetAT\fP です。 .T2 SA 頭辞。\fBTo Whom It May Concern:\fP か、又はもし指定されていた時には引数を 印字します。 頭辞は内部アドレスの 2 行下に印字されます。 関連項目は \fBLetSA\fP です。 .T2 SJ 主題欄。 レター形式 \fBSP\fP 以外の場合には、主題として \fBSUBJECT:\fP を 接頭辞として付けた引数を内部アドレスの 2 行下に印字します。 レター形式 \fBSP\fP の場合には、主題は接頭辞なしで、すべて大文字で印字されます。 関連項目は文字列変数の \fBLetSJ\fP です。 .in .TP .B "MC column-size [column-separation] " 多段組の開始。\fB1C\fP で通常状態に戻ります。 \fBMC\fP により現在の行長に入るだけの数のカラムが作られます。 \fIcolumn-size\fP は各カラムの幅で、\fIcolumn-separation\fP はカラムの間の 間隔です。 デフォルトの間隔は column-size/15 です。 関連項目は \fB1C\fP です。 .TP .B "ML mark [text-indent [1]]" 記号付きリストの開始。 各リスト項目の前に引数の \fImark\fP が印字されます。 \fItext-indent\fP の指定により、インデントが設定され、 \fBLi\fP よりも優先されます。 第 3 引数により各項目の前の空行の印字が禁止されます。 .TP .B "MT [arg [addressee]]" 覚書形式。 引数 \fIarg\fP は \fI/usr/share/tmac/mm/*.MT\fP というファイル名の部分です。 覚書の形式としては、\fI"string"\fP を含んで 0 から 5 迄サポートされています。 \fIaddressee\fP は単に、AT&T のマクロで使われる変数を設定するだけです。 .br \fBarg\fP .in +.5i .T2 0 通常の覚書。形式は印字されません .T2 1 \fIMEMORANDUM FOR FILE\fP が印字される覚書。 .T2 2 \fIPROGRAMMER'S NOTES\fP が印字される覚書。 .T2 3 \fIENGINEER'S NOTES\fP が印字される覚書。 .T2 4 公開論文形式。 .T2 5 外部へのレター形式。 .in 関連項目は、もっと柔軟な表題紙 \fBCOVER\fP/\fBCOVEND\fP です。 .TP .B "MOVE y-pos [x-pos [line-length]]" ある位置へ移動し、ページオフセットが \fIx-pos\fP に設定されます。 もし \fIline-length\fP が指定されなかったときは、現在の行長と 新しいページオフセットの差が使われます。 正常状態に戻るには、引数なしの \fBPGFORM\fP を使って下さい。 .TP .B "MULB cw1 space1 [cw2 space2 [cw3 ...]]" 特殊多段組モードの開始。 各カラムの幅を指定しなければなりません。 また、カラム間の間隔も指定しなければなりません。 最後のカラムの後には間隔指定は必要ありません。 MULB により転換が開始し、MULE により転換が終了しカラムが印字されます。 幅と間隔の単位は「n」です。 しかし、MULB は「c」や「i」のような通常の単位指定をすべて受け付けます。 MULB は、隔離された環境下で機能します。 .TP .B "MULN" 次のカラムの開始。 これは、カラムを切り替える唯一の方法です。 .TP .B "MULE" 多段組モードの終了とカラムの印字。 .TP .B "nP [type]" 2 段階のヘッダレベルを持つ番号付き段落の印字。 \&\fB.P\fP を参照して下さい。 .TP .B "NS [arg [1]]" 異なる形式の注釈を印字します。 引数は予め定義された形式の注釈の中から選びます。 もし 2 番目の引数が利用可能であれば、引数が注釈全体になります。 もし引数が予め定義されたものの中になければ、このマクロは \&\fBCopy (\fP\fIarg\fP\fB) to\fP のように印字されます。 さらに標準の注釈を加えることも可能です。 文字列変数の \fBLetns\fP と \fBLetnsdef\fP を参照して下さい。 .nf .in +.5i .T2 \fBarg 注釈\fP .T2 \fIなし\fP Copy To .T2 """"" .\" " Copy To .T2 1 Copy To (with att.) to .T2 2 Copy To (without att.) to .T2 3 Att. .T2 4 Atts. .T2 5 Enc. .T2 6 Encs. .T2 7 Under separate cover .T2 8 Letter to .T2 9 Memorandum to .T2 10 Copy (with atts.) to .T2 11 Copy (without atts.) to .T2 12 Abstract Only to .T2 13 Complete Memorandum to .T2 14 CC .in .fi .TP .B "ND new-date" 新しい日付。 現在の日付を置き換えます。 もし \fInew-date\fP が空文字列であれば、日付は印字されません。 .TP .B "OF [arg]" 奇数ページフッタ。 通常のフッタのすぐ上に 1 行印字されます。 \fBEF\fP と \fBPF\fP を参照して下さい。 .TP .B "OH [arg]" 奇数ページヘッダ。 通常のヘッダのすぐ下に 1 行印字されます。 \fBEH\fP と \fBPH\fP を参照して下さい。 .TP .B OP 後続するテキストが奇数ページの一番上に印字されることを確認します。 もし現在奇数ページの一番上にいるなら、白紙ページの出力はしません。 .TP .B "P [type]" 新しい段落の開始。 引数なしの \fBP\fP は、段落の一番最初の行も左揃えしたテキストを生成します。 これは、\fItype\fP に 0 を指定するのと同じです。 もし引数が 1 であれば、\fBP\fP に続くテキストの最初の行は 数値レジスタ \fBPi\fP に設定された数のスペースだけインデントされます。 この値は通常 5 です。 .sp \&\fBP\fP への引数として 1 を指定する代わりに、数値レジスタ \fBPt\fP に 段落の形式を設定することも可能です。 0 と 1 を設定することは、その値を \fBP\fP に与えることと同じになります。 値 2 により、すべての段落がインデントされます。 ただし見出し、リスト、ディスプレイの後は例外です。 .sp 段落間の間隔は数値レジスタの \fBPs\fP により制御され、 デフォルトでは 1 です(1 行の空白行)。 .TP .B "PGFORM [linelength [pagelength [pageoffset [1]]]]" 行長やページ長、ページオフセットを設定します。 このマクロは、レターヘッドや他のものの様に、特別の形式を生成するために 使用出来ます。 これは、通常はファイル中の最初のコマンドですが、必須ではありません。 \&\fBPGFORM\fP を引数なしで使用すれば、 \&\fBMOVE\fP の後ですべてを再初期化することが出来ます。 4 番目の引数が指定されなければ、行区切りが生成されます。 このマクロは、新しい行長とページ長を設定する一方、 最初のページにページ番号を出力するのを避けるために使用できます。 .TP .B PGNH 次のページにヘッダが印字されません。 レターや他の特殊なテキストのヘッダを取り除くために使われます。 最初のページのページヘッダを禁止するためには、いかなるテキストよりも前に このマクロが使われなければなりません。 .TP .B PE ピクチャの終り。 \&\fBpic\fP コマンドの為のピクチャを終了します。 \&\fBpic\fP コマンドのマニュアルを参照して下さい。 .TP .B "PF [arg]" ページフッタ。 \&\fBPF\fP は各ページの一番下に印字される行を設定します。 通常は空です。 引数の指定に関しては \fBPH\fP を参照して下さい。 .TP .B "PH [arg]" ページヘッダ。 各ページの一番上に 1 行印字されます。 引数は「'left-part'center-part'right-part'」のように 指定されなければなりません。 ここで、left-part, center-part, right-part はそれぞれ左揃え、中央揃え、右揃え に印字されます。 文字 \fB%\fP は現在のページ番号に変更されます。 デフォルトのページヘッダは「''- % -''」で、ページ番号が 2 個のダッシュ記号に はさまれます。 .TP .B PS ピクチャの開始 (pic コマンドより)。 \&\fB@TMAC@pic\fP の為のピクチャを開始します。 マニュアルを参照して下さい。 .TP .B PX ページヘッダのユーザ定義による出口マクロ。 \&\fIno-space\fP モードでページヘッダの印字の直後に \fBPX\fP は呼び出されます。 .TP .B R ローマン体。 ローマンフォントに戻ります。 関連項目は \fBI\fP です。 .TP .B "RB [roman-text [bold-text [roman-text [...]]]]" ローマン体とボールド体。 偶数番目の引数はローマン体で印字されます。 奇数番目は、ボールド体で印字されます。 \fBI\fP を参照して下さい。 .TP .B "RD [prompt [diversion [string]]]" 標準入力から転換や文字列変数に読み込みます。 テキストは \fIdiversion\fP という名前の転換に保存されます。 テキストを取り出すには、空行にドットの後に転換の名前を書いて下さい。 もし \fIstring\fP が指定されたなら文字列変数 \fIstring\fP も定義されます。 \&\fIdiversion\fP や \fIprompt\fP は空 ("") にすることが出来ます。 .TP .B RF 参考文献の終了。 参考文献の定義を終了し、通常の処理に復帰します。 \&\fBRS\fP を参照して下さい。 .TP .B "RI [roman-text [italic-text [roman-text [...]]]]" 偶数番目の引数はローマン体で印字されます。 奇数番目はイタリック体で印字されます。 \&\fBI\fP を参照して下さい。 .TP .B "RL [text-indent [1]]" 参考文献リストの開始。 各項目の前に角括弧で挟まれた自動増加の番号を付けたリストを開始します。 \&\fItext-indent\fP によって、デフォルトのインデントを変更出来ます。 .TP .B "RP [arg1 [arg2]]" 参考文献ページを生成します。 もし参考文献ページが文書のどこかで必要とされているなら \fBRP\fP を用いることが出来ます。 もし \fBTC\fP が目次の生成に使われているなら、このマクロは必要ありません。 その時は参考文献ページは自動的に印字されます。 .sp もし \fIarg1\fP が 1 ならば参考文献カウンタは再初期化されません。 .sp 引数 \fIarg2\fP により \fBRP\fP に対しページ切替が行われるか否か を指定出来ます。 .br \fBarg2\fP .in +.5i .T2 0 参考文献ページは別のページに印字されます。 これがデフォルトです。 .T2 1 リストの後でページを切り替えません。 .T2 2 ページの前でページを切り替えません。 .T2 3 リストの前後でページを切り替えません。 .in 参考文献の項目は空行で分離されます。 数値レジスタの \fBLs\fP を 0 に設定すれば、この空行は抑止出来ます。 .sp 文字列変数の \fBRp\fP には参考文献ページの題名が入っています。 この題名は通常は \fIREFERENCES\fP に設定されています。 .TP .B "RS [string-name]" \&\fBRS\fP により自動番号付けの参考文献の定義が開始します。 文字列変数の \fB\e*(Rf\fP を参考文献記号があるべき所に配置し、 参考文献を参考文献記号の後の次の改行のところから \fBRS\fP/\fBRF\fP の間に挟んで書いて下さい。 参考文献番号は数値レジスタの \fB:R\fP に保存されています。 もし \fIstring-name\fP が指定されたら、その名前の文字列変数が 定義され、現在の参考文献記号が入れられます。 文字列変数はその後テキスト中で \fB\e*[\fIstring-name\fP]\fP により 参照することが出来ます。 .TP .B "S [size [spacing]]" ポイントサイズと垂直行送りを設定します。 もし引数のどれかが「P」に等しければ、そのときは以前の値が用いられます。 「C」は現在の値を表し、「D」はデフォルトの値を表します。 もし、「+」又は「-」が値の前に用いられているなら、現在の値に加算又は減算 が行われます。 .TP .B "SA [arg]" 右マージン行末揃えが設定されます。 通常、行末揃えは機能しています。 引数がないか、または \fB0\fP であれば、行末揃えは機能を止められます。 引数が \fB1\fP であれば、行末揃えは機能を働かせます。 .TP .B "SETR refname [string]" 現在のヘッダ番号とページ番号を refname として記憶します。 もし \fIstring\fP が定義されていれば、\fIstring\fP を保存します。 \fIstring\fP は \fB.GETST\fP によって取り出されます。 \fBINITR\fP を参照して下さい。 .TP .B "SG [arg [1]]" 署名欄。 正式な結辞の後に著者(達)の名前を印字します。 引数は参照データに加えられて、最初か最後の著者の箇所に印字されます。 参照データとは \fB.AU\fP により指定される 所在地、部局、及びイニシャルです。 このデータは、最初の著者か、そうでなければ最後の著者の箇所に印字されます。 著者(達)が \fB.WA\fP/\fB.WE\fP で指定されていれば、 何の参照データも印字されません。 \&\fBLetter 内部\fP セクションを参照して下さい。 .TP .B "SK [pages]" ページ送りします。 もし \fIpages\fP が \fB0\fP であるか省略されている場合には、既に印字位置が ページの一番上でなければ、次のページ迄ページ送りされます。 また、\fIpages\fP がこれら以外であれば、\fIpages\fP のページを ページ送りします。 .TP .B "SM string1 [string2 [string3]]" 文字列を小さくします。 もし \fIstring2\fP が指定されたときには、\fIstring1\fP は小さくなり、\fIstring2\fP は通常の大きさで \fIstring1\fP に結合されます。 引数が 3 個あるときには、すべての引数が結合され、 \fIstring2\fP だけが小さくなります。 .TP .B "SP [lines]" 垂直に行送りします。 \fIlines\fP には \fI3i\fP や \fI8v\fP の様に、何らかの単位を付けられます。 1 行にいくつかの \fBSP\fP を記述しても、それらの合計の行数ではなく、 それらのうちで最大の行数の行送りを生成します。 またページの最初のテキスト行までは \fBSP\fP は無視されます。 これを避けるには、\fBSP\fP の前に \fB\e&\fP を加えて下さい。 .TP .B TAB タブ位置を 5n 毎に再設定します。 通常はそれまでの任意のタブ設定位置を再設定するのに使用されます。 .TP .B "TB [title [override [flag [refname]]]]" 表の題目。 もし \fIrefname\fP が指定されれば、表番号が \&\fB.SETR\fP によって保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .TP .B "TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]" 目次。 通常このマクロは文書の最後の行に置かれます。 このマクロは、数値レジスタの \fBCl\fP によって制御されるレベルまでの 見出しで構成される目次を生成します。 \fBCl\fP は見出しの保存を制御するのであって、\fBTC\fP には 何の関わりもないことに注意して下さい。 \fIslevel\fP 以下のレベルの見出しにはそれらの前に \fIspacing\fP だけの空行が生成されます。 \fItlevel\fP 以下のレベルの見出しには右揃えした対応するページ番号が置かれます。 これらの見出しのテキストとページ番号はドットか空白によって分離されます。 もし \fItab\fP が 0 より大きければ、空白が用いられます。 そうでなければ、ドットが用いられます。 その他の見出しには見出しテキストの末尾にページ番号が直接置かれます (\fI右揃えしない\fP)。 .sp 引数の残りのものは、目次の前に中央揃えで印字されます。 .sp もし \fBTC\fP が多くて 4 個の引数を伴って呼び出されるならば、ユーザ定義の マクロ \fBTX\fP と \fBTY\fP が使われます。 \fBTX\fP は \fICONTENTS\fP の印字の前に呼び出されます。 そして \fBTY\fP は \fICONTENTS\fP を印字する代わりに呼び出されます。 .sp 文字列変数 \fBCi\fP を各見出しレベルのインデントを制御するために 設定できます。 インデントには \fB.ds\ Ci\ .25i\ .5i\ .75i\ 1i\ 1i\fP の様に 単位を付けなければなりません。 インデントは通常各レベルの見出しの最大長によって制御されます。 .sp すべてのテキストは再定義が出来ます。 新しい文字列変数の \fILifg\fP, \fILitb\fP, \fILiex\fP, \fILiec\fP, \fILicon\fP にはそれぞれ 「Figure」、「TABLE」、「Exhibit」、「Equation」及び「CONTENTS」 が入っています。 これらの変数は、他の言語に再定義できます。 .TP .B TE 表の終了。 \&\fBTS\fP を参照して下さい。 .TP .B "TH [N]" 表のヘッダ。 \&\fBTS\fP を参照して下さい。 \&\fBTH\fP により表のヘッダが終了します。 もしページ区切りが起こればこのヘッダはもう一度印字されます。 引数の \fIN\fP はまだ実装されていません。 .TP .B TL [charging-case number(s) [filing-case number(s)]] 覚書の題名の開始。 次の \fBAU\fP 迄のすべてのテキストが題名に含められます。 \&\fIcharging-case number\fP と \fIfiling-case number\fP は 表題紙を処理するために保存されます。 .TP .B TM [num1 [num2 [...]]] \&\fB.MT\fP で使われる技術覚書番号。 無制限な数の引数を指定できます。 .TP .B TP ユーザが定義するページ最上部のマクロです。 このマクロは通常のページヘッダの代わりに呼ばれます。 ヘッダに対して完全な制御が出来ます。 ヘッダとフッタは隔離された環境下で印字されることに注意して下さい。 ただし、行長は保持されています。 .TP .B "TS [H]" 表の開始。 これは \fB@TMAC@tbl\fP に対する表の指定の開始です。 \&\fB@TMAC@tbl\fP については別個のマニュアルを参照して下さい。 \&\fBTS\fP は、\fBTE\fP により終了します。 引数 \fIH\fP は \fBm@TMAC@m\fP に対し表にはヘッダがあることを指定します。 \&\fBTH\fP を参照して下さい。 .TP .B TX ユーザが定義する目次の出口マクロ。 このマクロは \fBTC\fP が単語 \fICONTENTS\fP を印字する直前に呼び出されます。 \&\fBTC\fP を参照して下さい。 .TP .B TY ユーザが定義する目次の出口マクロ (「CONTENTS」は印字しません)。 \&\fICONTENTS\fP を印字する代わりにこのマクロが呼び出されます。 \&\fBTC\fP を参照して下さい。 .TP .B VERBON [flag [pointsize [font]]] クーリエフォントを用いた逐語的な出力の開始。 通常プログラムの印字のためです。 すべての文字が等しい幅を持ちます。 ポイントサイズは第 2 引数により変更できます。 font 引数を指定すればクーリエの代わりに他のフォントを使うことが出来ます。 \fIflag\fP によりいくつかの特別な機能を制御します。 この引数は必要とする機能をすべて合計したものとなります。 .in +.5i .T2 値 説明 .T2 1 エスケープ文字 (\e) を無効にします。 通常、これは冗長出力の間は働いています。 .T2 2 冗長テキストの前に空行を付加します。 .T2 4 冗長テキストの後に空行を付加します。 .T2 8 冗長テキストに行番号を振って印字します。 これにより各行の先頭に数字幅のスペースが 4 個付加されます。 文字列変数の \fBVerbnm\fP でより微妙な調節が可能です。 この変数には、\fBtroff\fP コマンドの \fB.nm\fP に指定できる すべての引数が入ります。 通常は「1」が指定されています。 .T2 16 冗長テキストを 5 個の「n」だけインデントします。 これは数値変数の \fBVerbin\fP (単位付き) により管理されます。 .in .TP .B VERBOFF 逐語的出力を終了させます。 .TP .B "VL text-indent [mark-indent [1]]" 可変項目リストには決まった項目記号はありません。 代わりに、このマクロでは各 \fBLI\fP に項目記号が指定されている と仮定しています。 \fItext-indent\fP によりテキストへのインデントが設定されます。 そして \fImark-indent\fP により現在のインデント位置から項目記号までの 距離が設定されます。 第 3 引数は各項目の前に空行が印字されることを禁止します。 .TP .B "VM [top [bottom]]" 垂直マージン。 .TP .B "WA [writer-name [title]]" 著者と著者のアドレスの記述を開始します。 空の \fBWA\fP/\fBWE\fP ペアでいくつかの名前を指定出来ます。 しかしアドレスについては 1 つだけです。 .TP .B WE \&\fP.WA\fP の後でアドレスの指定を終了します。 .TP .B "WC [format]" 脚注とディスプレイの幅の調整。 .in +.5i .T2 N デフォルトのモードを設定します。 \&\fB-WF\fP, \fB-FF\fP, \fB-WD\fP 及び \fBFB\fP です。 .T2 WF 広い脚注です。2 段組モードでもやはり広い脚注です。 .T2 -WF 通常の脚注の幅です。段組モードに従います。 .T2 FF すべての脚注は最初に出現した脚注と同じ幅になります。 .T2 -FF 通常の脚注です。幅は \fBWF\fP と \fB-WF\fP に従います。 .T2 WD 広いディスプレイです。2 段組モードでもやはり広いディスプレイです。 .T2 -WD 通常のディスプレイの幅です。段組モードに従います。 .T2 FB フローティングディスプレイが現在のページに印字された時には 行区切りを生成します。 .T2 -FB フローティングディスプレイは行区切を生成しません。 .in .sp 3 .LP .\"########################################################################" .LP .B "mm で用いられている文字列変数:" .TP .B App 単語「APPENDIX」が入れてある文字列変数です。 .TP .B "EM" em ダッシュ文字列です。 .TP .B HF 見出し用のフォントの目録です。 通常は「2 2 2 2 2 2 2」です。 数字ではないフォント名も使用できます。 .TP .B HP 見出し用のポイントサイズの目録です。 通常は「0 0 0 0 0 0 0」です。 これは、「10 10 10 10 10 10 10」と同じです。 .TP .B Lifg \fIFigure\fP を入れている文字列変数です。 .TP .B Litb \fITABLE\fP を入れている文字列変数です。 .TP .B Liex \fIExhibit\fP を入れている文字列変数です。 .TP .B Liec \&\fIEquation\fP を入れている文字列変数です。 .TP .B Licon \&\fICONTENTS\fP を入れている文字列変数です。 .TP .B Lf 「LIST OF FIGURES」を入れています。 .TP .B Lt 「LIST OF TABLES」を入れています。 .TP .B Lx 「LIST OF EXHIBITS」を入れています。 .TP .B Le 「LIST OF EQUATIONS」を入れています。 .TP .B Letfc 「Yours very truly,」を入れています。 \&\fB.FC\fP で使用されます。 .TP .B Letapp 「APPROVED:」を入れています。 \&\fB.AV\fP で使用されます。 .TP .B Letdate 「Date」を入れています。 \&\fB.AV\fP で使用されます。 .TP .B LetCN 「CONFIDENTIAL」を入れています。 \&\fB.LO CN\fP で使用されます。 .TP .B LetSA 「To Whom It May Concern:」を入れています。 \&\fB.LO SA\fP で使用されます。 .TP .B LetAT 「ATTENTION:」を入れています。 \&\fB.LO AT\fP で使用されます。 .TP .B LetSJ 「SUBJECT:」を入れています。 \&\fB.LO SJ\fP で使用されます。 .TP .B LetRN 「In reference to:」を入れています。 \&\fB.LO RN\fP で使用されます。 .TP .B Letns これは \fB.NS\fP で使用されている色々な文字列を入れている配列です。 これらは実は、\fBLetns!\fP を接頭辞とするいくつかの文字列変数です。 もし \fB.NS\fP への引数が (訳注: 予め定義されているものの中に) 存在しなければ、 その引数は \fBLetns!copy\fP を接頭辞とし \fBLetns!to\fP を接尾辞 として \fB()\fP の間に挟まれます。 \fBcopy\fP の後と \fBto\fP の前の空白に注意して下さい。 .nf .ta 1.5i \fB変数名 値\fP Letns!0 Copy to Letns!1 Copy (with att.) to Letns!2 Copy (without att.) to Letns!3 Att. Letns!4 Atts. Letns!5 Enc. Letns!6 Encs. Letns!7 Under separate cover Letns!8 Letter to Letns!9 Memorandum to Letns!10 Copy (with atts.) to Letns!11 Copy (without atts.) to Letns!12 Abstract Only to Letns!13 Complete Memorandum to Letns!14 CC Letns!copy Copy " Letns!to " to .fi .TP .B Letnsdef \&\fB.NS\fP に何も引数が指定されていないときに使用される標準的な注釈を 定義します。 デフォルトは \fB0\fP です。 .TP .B "MO1 - MO12" \&\fIJanuary\fP から \fIDecember\fP 迄が入っている文字列変数です。 .TP .B Qrf 「See chapter \e\e*[Qrfh], page \e\en[Qrfp].」 が入っている文字列変数です。 .TP .B Rp 「REFERENCES」が入っています。 .TP .B Tm 商標記号 \e(tm が入っています。 .TP .B Verbnm \&\fB.VERBON\fP で使用されている \fB.nm\fP への引数です。 デフォルト: \fB1\fP。 .\"-----------------------------------" .LP .B "mm で使用されている数値変数:" .TP .B Aph もしこの数値変数が非 0 であれば、 各々の新しい付録について新しい付録ページに印字します。 もし \fBAph\fP が 0 であれば何も出力されません。 しかし、「目次」には付録の見出し項目が常に含まれます。 .TP .B Cl 目次の見出し項目レベル。範囲は [0:7] です。 もし見出しレベルが Cl 以下であれば、目次の見出し項目は保存されます。 デフォルトは 2 です。 .TP .B Cp もし、Cp が 0 であれば、LIST OF XXXX の間で改ページを行います。 デフォルトは 0 です。 .TP .B D デバッグフラグ。 値が正値であれば、様々な段階のデバッグリストを出力します。 値が 1 であれば整形についての進行情報を提供します。 デフォルトは 0 です。 .TP .B De フローティングディスプレイの後で改ページが出力されます。 範囲は [0:1] です。デフォルトは 0 です。 .TP .B Df フローティングキープの出力形式。 範囲は [0:5] です。デフォルトは 5 です。 .TP .B Ds もし 1 であれば、ディスプレイの前後で行送りします。 範囲は [0:1] です。デフォルトは 1 です。 .TP .B Ej 改ページ。デフォルトは 0 です。 .TP .B Eq 数式ラベルの行揃え。 0 なら左揃え、1 なら右揃え。デフォルトは 0 です。 .TP .B Fs 脚注の行送り。デフォルトは 1 です。 .TP .B "H1-H7" 見出しカウンタ。 .TP .B Hb 見出し行区切りのレベル。 範囲は [0:7] です。デフォルトは 2 です。 .TP .B Hc 見出し中央揃えのレベル。 範囲は [0:7] です。デフォルトは 0 です。 .TP .B Hi 見出しの一時的なインデント。 範囲は [0:2] です。デフォルトは 1 です。 .br 0\ ->\ 0 インデント、左マージン .br 1\ ->\ 右へインデント、.P 1 と同様 .br 2\ ->\ 先行する見出しのテキスト部分に合わせてインデント .TP .B Hps 見出しに先立つ行送りのレベルについての数値変数です。 もし見出しレベルが \fBHps\fP 以下ならば、 セクション見出しには 1 行ではなく 2 行が先行します。 デフォルトは第 1 レベルだけです。 行送りの実際の量は変数 \fBHps1\fP と \fBHps2\fP により制御されます。 .TP .B Hps1 見出しレベルが \fBHps\fP より大きい場合に \fB.H\fP に先行する行数です。 値には単位を付けます。通常は 0.5v です。 .TP .B Hps2 見出しレベルが \fBHps\fP 以下の場合に \fB.H\fP に先行する行数です。 値には単位を付けます。通常は 1v です。 .TP .B Hs 見出し行送りレベル。 範囲は [0:7] です。デフォルトは 2 です。 .TP .B Ht 見出し番号の形式。デフォルトは 0 です。 0 -> 複合番号 (1.1.1 ...) .br 1 -> 単一番号。 .TP .B Hu 番号無し見出しのレベル。デフォルトは 2 です。 .TP .B Hy 本文のハイフネーション。デフォルトは 1 です。 .br 0\ ->\ ハイフネーションしない。 .br 1\ ->\ 14 でハイフネーションをする。 .TP .B Letwam \fB.WA\fP/\fB.WE\fP で使われる返送先アドレスの最大行数。 デフォルトは 14 です。 .TP .B "Lf, Lt, Lx, Le" それぞれ、図のリスト、表のリスト、エグジビットのリスト、数式のリストの 印字の許可 (1)、又は禁止 (0) です。 デフォルトは、Lf=1, Lt=1, Lx=1, Le=0 です。 .TP .B Li \&.AL で使われるリストのインデントです。 デフォルトは 6 です。 .TP .B Ls リストの行送り。 もし現在のリストレベルが Ls より大きければ、 リストの周囲には行送りは生じません。 デフォルトは 99 です。 .TP .B Lsp 空行の大きさ。通常は 0.5v です。 しかし、もし \fBn\fP が設定されていれば (\fB.nroff\fP)、1v となります。 .TP .B N 番号付けの形式。範囲は [0:5] です。デフォルトは 0 です。 .br 0\ ==\ (デフォルト) すべてのページで通常のヘッダ。 .br 1\ ==\ 最初のページのフッタはヘッダに置き換えられます。 ヘッダ部分には何もありません。 .br 2\ ==\ 最初のページのページヘッダは取り除かれます。 .br 3\ ==\ 「セクション - ページ」の番号付けが有効になります。 .br 4\ ==\ 最初のページのページヘッダは取り除かれます。 .br 5\ ==\ 「セクション - ページ」と「セクション - 図」の番号付けが有効になります。 関連項目は数値レジスタの Sectf と Sectp です。 .TP .B Np 番号付きの段落です。デフォルトは 0 です。 .br 0\ ==\ 番号を振りません。 .br 1\ ==\ 第 1 レベルの見出しに番号を振ります。 .TP .B Of 図、表、エグジビット、数式の題目の形式です。 デフォルトは 0 です。 .br 0\ =\ ". " .br 1\ =\ " - " .TP .B P 現在のページ番号です。 「セクション - ページ」の番号付けが有効でなければ、 通常は % と同じです。 .TP .B Pi 段落のインデントです。 デフォルトは 5 です。 .TP .B Pgps ヘッダとフッタのポイントサイズが、現在の設定に従うべきか、 あるいはヘッダとフッタが定義されたときにだけ変更されるべきかを制御します。 .in +.5i .ti -.5i .T2 値 説明 .T2 0 \fB.PH\fP, \fB.PF\fP, \fB.OH\fP, \fP.EH\fP, \fB.OF\fP, \fB.OE\fP が実行された時だけ、ポイントサイズが現在の設定に変更されます。 .T2 1 ポイントサイズは \fB.S\fP のたびに変更されます。 これがデフォルトです。 .in .TP .B Ps 段落の行送り。デフォルトは 1 です。 .TP .B Pt 段落の形式です。デフォルトは 0 です。 .br 0\ ==\ 左揃え .br 1\ ==\ インデントする .P .br 2\ ==\ .H, .DE, .LE の後以外では、インデントする .P .TP .B Sectf 「セクション - 図」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。 .TP .B Sectp 「セクション - ページ番号」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。 .TP .B Si ディスプレイのインデントです。デフォルトは 5 です。 .TP .B Verbin \&\fB.VERBON\fP のインデントです。デフォルトは 5n です。 .TP .B .mgm 常に 1 です。 .LP .SH 内部 レターマクロではレターの形式により決まる種々の副マクロが使用されています。 副マクロの名前にはレターの形式が接尾辞として入っています。 そのため他のレターの形式の定義を、 その国のマクロファイル内や、局所的な追加として行うことが可能です。 \&\fB.LT\fP は数値変数の \fBPt\fP と \fBPi\fP を 0 と 5 に設定します。 新しいレター形式については、 以下の文字列変数とマクロを定義しなければなりません: .TP \fBlet@init_\fP\fItype\fP このマクロは \fB.LT\fP によって直接呼び出されます。 変数や他の要素を初期化することになっています。 .TP \fBlet@head_\fP\fItype\fP このマクロはレターヘッドを印字します。 通常のページヘッダの代わりに呼び出されます。 \fBlet@header\fP という別名を取り除くことになっています。 そうしなければ、この別名はすべてのページにおいて呼び出されてしまいます。 .TP \fBlet@sg_\fP\fItype\ name\ title\ n\ flag\ [arg1\ [arg2\ [...]]]\fP レターの場合だけ、\fB.SG\fP がこのマクロを呼び出します。 覚書にはそれ独自の処理機構があります。 \fIname\fP と \fItitle\fP は \fB.WA\fP/\fB.WB\fP によって指定されます。 \fIn\fP はカウンタで、1 から max までです。 そして \fIflag\fP は、\fIname\fP が最後の名前であれば真の値になります。 \&\fB.SG\fP に対する他の引数が追加されます。 .TP \fBlet@fc_\fP\fItype\ closing\fP このマクロは \fB.FC\fP によって呼び出され、正式な結辞を引数とします。 .LP \&\fB.LO\fP が包括的なオプションマクロとして実装されています。 \&\fB.LO\fP には \fBLet\fP\fItype\fP という名前の文字列変数が 定義されていることが必要とされます。 ここで、\fItype\fP はレターの形式です。 そのとき、\fB.LO\fP は引数を文字列変数 \fBlet*lo-\fP\fItype\fP に 割り当てます。 .LP .\".SH バグ .\" " .SH 作者 .ie t J\(:orgen H\(:agg, Lund, Sweden .el Jorgen Hagg, Lund, Sweden .SH 関連ファイル .TP .B /usr/share/tmac/tmac.m .TP .B /usr/share/tmac/mm/*.cov .TP .B /usr/share/tmac/mm/*.MT .TP .B /usr/share/tmac/mm/locale .SH 関連項目 .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br .BR mm (7) .BR mmse (7) .\" Translated by Tetsuro FURUYA , Dec., 1998. diff --git a/ja/man/man7/groff_mmse.7 b/ja/man/man7/groff_mmse.7 index 842ccd4d8d..3ce7717a6f 100644 --- a/ja/man/man7/groff_mmse.7 +++ b/ja/man/man7/groff_mmse.7 @@ -1,96 +1,96 @@ .\" -*- nroff -*- .\" %Id: groff_mmse.man,v 1.27 1995/04/24 05:37:46 jh Exp % .\" jpman %Id: groff_mmse.7,v 1.3 1998/11/21 12:55:00 horikawa Stab % .\" Skrivet av Joergen Haegg, Lund, Sverige .\" -.TH GROFF_MMSE 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_MMSE 7 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_mmse \- groff 用スウェーデン語版 mm マクロ .SH 書式 .B groff .B \-mmmse [ .IR flaggor .\|.\|. ] [ .IR filer .\|.\|. ] .SH 解説 .\"X DESCRIPTION .\"X mmse is a swedish flavor of mm. All internal texts are .\"X translated. An A4-page gets 13 cm long text lines, 3.5 cm .\"X left margin and 28.5 cm in height. There are support for .\"X swedish letter standard, both left and right adjusted text. .\"X .\"X The macro COVER can use se_ms as an argument which will .\"X produce a swedish front page. Look in groff_mm(7) for more .\"X details. \fBmmse\fP はスウェーデン語風の \fBmm\fP マクロです。すべての内部 テキストは翻訳されます。A4 ページでは、テキスト行の長さが 13 cm、 左マージンが 3.5 cm、高さが 28.5 cm です。スウェーデンのレター清書標準を、 右揃えと左揃えともにサポートしています。 .LP マクロ \fBCOVER\fP に引数 \fIse_ms\fP を使用することにより、 スウェーデン語のフロントページを生成することができます。詳細については \fBgroff_mm(7)\fP を参照して下さい。 .PP (訳注: 以下未訳) .SH 謝辞 Jorgen Hagg, Lund, Sweden 本和訳のために、解説部分の英訳をわざわざ用意下さいました。 .SH BREV Tillgangliga brevtyper: .TP .B ".LT SVV" Vansterstalld loptext med adressat i position T0 (vansterstallt). .TP .B ".LT SVH" Hoverstalld loptext med adressat i position T4 (passar forsterkuvert). .LP Foljande extra LO-variabler anvands. .TP .B ".LO DNAMN\fI namn\fP" Anger dokumentets namn. .TP .br .B ".LO MDAT\fI datum\fP" Mottagarens datum, anges under \fBErt datum:\fP (\fBLetMDAT\fP). .TP .br .B ".LO BIL\fI strang\fP" Anger bilaga, nummer eller strang med \fBBilaga\fP (\fBLetBIL\fP) som prefix. .TP .br .B ".LO KOMP\fI text\fP" Anger kompletteringsuppgift. .TP .br .B ".LO DBET\fI beteckning\fP" Anger dokumentbeteckning eller dokumentnummer. .TP .br .B ".LO BET\fI beteckning\fP" Anger beteckning (arendebeteckning i form av diarienummer eller liknande). .TP .br .B ".LO SIDOR\fI antal\fP" Anger totala antalet sidor och skrivs ut efter sidnumret inom parenteser. .LP Om makrot \fB.TP\fP ar definierat anropas det efter utskrift av brevhuvudet. Dar lagger man lampligen in postadress och annat som brevfot. .SH "SKRIVET AV" Jorgen Hagg, Lund, Sweden .SH FILER .B /usr/share/tmac/tmac.mmse .B /usr/share/tmac/mm/se_*.cov .SH "SE OCKSO" .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br .BR mmm (7) diff --git a/ja/man/man7/groff_ms.7 b/ja/man/man7/groff_ms.7 index 0224bd3926..f2b8046c71 100644 --- a/ja/man/man7/groff_ms.7 +++ b/ja/man/man7/groff_ms.7 @@ -1,252 +1,252 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: groff_ms.7,v 1.3 1999/01/06 22:32:03 vanitas Stab % -.TH GROFF_MS 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_MS 7 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_ms \- groff ms マクロ .SH 書式 .B groff .B \-ms [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] .SH 解説 このマニュアルページは GNU バージョンの ms マクロの解説をします。 このマクロは、groff 文書整形システムの一部分です。 この groff ms マクロは、4.3 .SM BSD Unix ms マクロの文書化された機能と互換であるように設計されています。 しかし、次のような制限があります: .IP \(bu groff ms の内部は Unix ms の内部とは同じではありません。 したがって、Unix ms の実装の細部に依存する書式については、 機能しないとしてももっともでしょう。 .IP \(bu タイプライタ様のデバイスには、サポートはありません。 .IP \(bu バークレイ方言、特に、 .B TM や .B CT マクロは、実装されていません。 .IP \(bu groff ms では、 .\" ページ間の カットマーク .\" (.CM マクロ etc.) は提供しません。 .IP \(bu 重複した行送りは許されません (代わりに、大きな垂直行送りを使用して下さい)。 .IP \(bu groff ms は、互換モードでは機能しません (例えば、 .B \-C オプションなど)。 .IP \(bu エラー処理の方針については、groff ms は、沈黙したままエラーを無視 したりせず、エラーを検出してレポートします。 .LP groff ms マクロは、GNU troff の多くの機能を利用しています。 したがって、これは他のいかなる troff によっても使用できません。 .LP ベル研の方言は、 .SM BSD ms マクロにも groff ms マクロのいずれにも実装されていません。 .LP ある Unix ms の文書には、数値レジスタの .B CW と .B GW とが、それぞれカラム幅とガター幅 .\" (マルチカラム間の幅) を制御する為に 使用できると述べられています。 しかし、ここでは事実はそうではありません。 これらの数値レジスタは、groff ms では使用できません。 .LP リセットを引き起こすマクロはインデントを設定します。 インデントを変更するマクロはインデントを増減するのではなく、 むしろインデントを絶対的に設定します。 このことによって、独自のマクロを追加定義している文書に 問題が生じるかも知れません。 これを解決するには、 .B in リクエストを用いずに、代わりに .B RS や .B RE マクロを用いて下さい。 .LP 数値レジスタの .B GS は、groff ms マクロによって 1 に設定されます。 しかし、この数値レジスタは Unix ms マクロでは使用されていません。 このレジスタの目的は、 Unix ms か groff ms かのどちらによってフォーマットされているのかを確定する 必要のある文書によって利用されることです。 .LP 脚注はキープやディスプレイの中で安全に使用できるように実装されています。 自動的に番号を割り振る脚注をフローティングキープの中で使うことは、推奨 できません。 .B \e** と 対応する .BR .FS との間にもう一つの .B \e** があるようにすると安全です。 その際には、次のようなことだけが要求されています。 つまり、各 .B .FS は対応する .B \e** の後に出現することと、 対応する .B \e** の置かれる順番と同じ順番で .B .FS が出現することです。 .LP 文字列の .B \e*{ や .B \e*} は、上付き文字を開始したり終了したりするのに使うことができます。 .LP いくつかの Unix V10 ms の機能が実装されています。 .BR B , .BR I や .B BI マクロでは、第 3 番目の引数がオプションとして指定できます。 この引数は、現在のフォントで最初の引数の直前に印字されます。 .B B と同じようなマクロ .B CW があります。 これは、定幅フォントにします。 .LP 次の文字列は、groff ms マクロを英語以外の言語に適合させるために 再定義することができます。 .LP .nf .ta \w'REFERENCES'u+2n 文字列 デフォルト値 .sp .3v REFERENCES References ABSTRACT ABSTRACT TOC Table of Contents MONTH1 January MONTH2 February MONTH3 March MONTH4 April MONTH5 May MONTH6 June MONTH7 July MONTH8 August MONTH9 September MONTH10 October MONTH11 November MONTH12 December .fi .LP フォントファミリは、リセットで文字列 .BR FAM から取られて置き直されます。 初期化時にこの文字列が未定義であった場合は、現在のフォントファミリが 設定されます。 脚注のポイントサイズ、垂直行送り幅、そして段落間の行送り幅は、 数値レジスタの .BR FPS , .BR FVS , や .B FPD から取り出されます。 初期化時に、これらは、それぞれ .BR \en(PS-2 , .BR \en[FPS]+2 , および .B \en(PD/2 に等しく設定されます。 しかし、これらのレジスタのいずれかでも初期化前に定義されていれば、 そのレジスタは、これらの値に設定されません。 ( .B .hy リクエストによって設定される)ハイフネーションフラグは、 .B HY レジスタから取られて設定されます。 これが初期化時に定義されていない場合には、 .B HY レジスタは 14 に設定されます。 .LP 右詰めのディスプレイは .B ".DS R" および .BR .RD を用いて利用可能です。 .LP 次のような慣行がマクロ、文字列そして数値レジスタの名前に行なわれています。 groff ms マクロを使用する文書に利用出来る外部名は大文字と数字だけから なります。 内部的には、マクロはモジュールに分割されます。 ある一つのモジュールの中だけで使用される名前は、 .IB mudule * name\fR という形をしています。 定義されているモジュールの外部で使用される名前は、 .IB module @ name\fR という形をしています。 ある特別の環境に関わる名前は、 .IB environment : name\fR という形をしています。 これらの名前は、 .B par モジュールの中でのみ使われ、 .I name には、モジュールは接頭辞としてつきません。 組み合わされた名前で配列を実装するのに使われるものは、 .IB array ! index\fR という形をしています。 以上より groff ms では以下の名前を予約しています: .IP \(bu .BR * を含んでいる名前。 .IP \(bu .BR @ を含んでいる名前。 .IP \(bu .BR : を含んでいる名前。 .IP \(bu 大文字と数字だけを含んでいる名前。 .SH 関連ファイル .B /usr/share/tmac/tmac.s .SH 関連項目 .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br .BR ms (7) .\" Translated by Tetsuro FURUYA on Nov 24, 1998. diff --git a/ja/man/man7/security.7 b/ja/man/man7/security.7 index 732cf741ef..56233c0056 100644 --- a/ja/man/man7/security.7 +++ b/ja/man/man7/security.7 @@ -1,642 +1,668 @@ .\" Copyright (c) 1998, Matthew Dillon. Terms and conditions are those of .\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in .\" the source tree. .\" -.\" %Id: security.7,v 1.4 1998/12/26 05:19:42 dillon Exp % -.\" jpman %Id: security.7,v 1.3 1999/02/11 11:18:48 vanitas Stab % +.\" %Id: security.7,v 1.4.2.1 1999/04/01 02:10:38 ghelmer Exp % .\" +.\" jpman %Id: security.7,v 1.3 1999/02/11 11:18:48 vanitas Stab % .Dd December 20, 1998 .Dt SECURITY 7 .Os .Sh 名称 .Nm security .Nd FreeBSD におけるセキュリティ入門 .Sh 解説 .Pp セキュリティは、システム管理者とともに始まり、システム管理者と ともに終る機能です。 .Bx システムは昔からすべてマルチユーザに対応しています。セキュリティの仕組みを 組み込んで維持することで、ユーザを .Sq 正直に し続ける仕事は、システム管理者の最も大きな責務の一つでしょう。マシンは、 管理者が設定しただけのセキュリティしか示しません。セキュリティに関する 問題は、むしろ、便利さを求める人間との競合問題です。一般に、 .Ux システムは莫大な数のプロセスを同時に実行させることができ、 それも、サーバとして動作するものが多いのです。つまり、外部の何者かが 接続してきて、サーバプロセスと会話することができるということなのです。 昨日まで使われていたミニコンピュータやメインフレームは、今日では デスクトップコンピュータが取って代わり、しかも、それらはネットワークで結ばれて インターネットと接続されるようになりました。これにより、セキュリティは 昔と比べてはるかに大きな問題となっています。 .Pp セキュリティに関する問題は、いくつかのカテゴリに分類することができます。 .Bl -enum -offset indent .It サービス不能攻撃 .It ユーザアカウントにかかる危険 .It アクセス可能なサーバを経由した root 権限にかかる危険 .It ユーザアカウントを通した root 権限にかかる危険 .El .Pp サービス不能攻撃とは、マシンから必要な資源を奪う行為です。 サービス不能攻撃は、普通は、そのマシンで実行されるサーバや ネットワークスタックを圧倒して、マシンをクラッシュさせたり、 さもなければマシンを使えなくしたりするような力任せの方法です。 サービス不能攻撃のいくつかは、 ネットワークスタックのバグを利用して、パケット一つでマシンを クラッシュさせようとします。後者は、 カーネルにバグ修正を施すことによってのみ修正することができます。 サーバプロセスに対する攻撃は、サーバのオプションを適切に指定して、 不利な状況にあるシステムにおいて、サーバプロセスが引き起こす負荷に限界を設けることで 修正することができます。これらに比べると、ネットワークへの力任せの攻撃への 対応はずっと難しくなります。たとえば、偽造パケットによる攻撃 .Pq spoof-packet attack は、インターネットからシステムを切り離す以外の方法で防ぐことは ほとんど不可能です。 .Pp ユーザアカウントを危険に晒してしまう問題は、サービス不能攻撃よりもずっとよくある 問題です。このご時勢でも、自分たちのマシンで標準の telnetd, rlogind, rshd, ftpd サーバを実行させているシステム管理者は多いのです。これらの サーバは、デフォルトでは、暗号化されたコネクション上で動作していません。 その結果、抱えているユーザ数が標準くらいであれば、リモートログイン -.Pq そのシステムにログインするには最も普通で便利な方法です +.Po +そのシステムにログインするには最も普通で便利な方法です +.Pc しているユーザのうち一人以上は、パスワードを覗き見られて しまうでしょう。 システム管理者が注意深い人ならば、たとえログインが成功していたとしても、 リモートアクセスログをときどき解析して、疑わしいソースアドレスを探すものです。 .Pp ひとたび攻撃者がユーザアカウントへのアクセス権を入手すると、攻撃者が root の権限を破る可能性があることを仮定するべきです。しかし、 セキュリティを十分維持し、手入れの行き届いたシステムにおいては、 あるユーザアカウントへのアクセスが可能となっても、攻撃者に必ずしも root へのアクセス権を与えるとは限らないのが現実です。この違いは重要です。 というのは、root へのアクセス権がなければ、一般的に、攻撃者は自分の 侵入の痕跡を隠蔽することができませんし、そのユーザのファイルを消して マシンをクラッシュさせることができるのがせいぜいで、他のユーザの ファイルには手出しできません。 .Pp システム管理者は、あるマシン上で root の権限を破る方法がいくつかあることを 心しておかねばなりません。攻撃者が root のパスワードを知ってしまうかも しれません。攻撃者が root の権限で実行されるサーバのバグを見つけ、 ネットワークからそのサーバへ接続して root の権限を破ることができるかも しれません。ひとたびユーザアカウントを破ると、ユーザアカウントから root の権限を破ることが可能であるというバグを持つ suid-root プログラムの 存在を、攻撃者は知っているかもしれません。 .Pp セキュリティを改善する方法は、常に、 .Sq タマネギの皮剥き のように 複数の層のアプローチで実装されます。これらは次のように分類できます。 .Bl -enum -offset indent .It root とスタッフのアカウントの安全性を高める。 .It root の安全性を高める - root 権限のサーバと suid/sgid バイナリ。 .It ユーザアカウントの安全性を高める。 .It パスワードファイルの安全性を高める。 .It カーネルのコア、raw デバイス、ファイルシステムの安全性を高める。 .It ファイルの完全性のチェック: バイナリ、設定ファイルなど。 .It 偏執狂的方法。 .El .Sh root アカウントとスタッフアカウントの安全性を高める .Pp root のアカウントの安全性を確保しないうちからスタッフのアカウントの安全性を うんぬんしてもしかたがありません。ほとんどのシステムでは、root アカウントに 割り当てたパスワードがひとつあります。まず最初にすべきことは、 このパスワードは .Sq いつでも 危険に晒されていると仮定することです。root アカウントの安全性を確保する ためには、ネットワーク越しに、あるいはどれか一般ユーザのアカウントから、 root のパスワードを使って root アカウントにログインすることが決して できないことを確認することです。正しいパスワードが与えられようが 与えられまいが、telnetd, rlogind, その他ログイン処理を行なうサーバ すべてで root でのログインを拒絶するように設定していないのであれば、 今すぐ必ず設定して下さい。直接 root でログインできるのは、 システムコンソールからだけにして下さい。ここで役に立つのが .Sq /etc/ttys ファイルです。ほとんどのシステムでは、デフォルトで安全ですが、 優れたシステム管理者は、設定がそうなっているか常にチェックを怠らない ものです。 .Pp システム管理者として、自分は root になれるようにしておかねばならないの はもちろんですから、穴をいくつか空けておきます。しかし、それらの穴を 動作させるには、さらに追加のパスワード認証が必要であるようにして おきます。root でアクセス可能とする方法の一つとして、 適切なスタッフアカウントを -.Pq /etc/group の +.Pq Pa /etc/group の wheel グループに加えることがあります。 wheel グループに置かれたスタッフメンバには、 .Sq su を使って root になることが許されます。スタッフメンバに、 パスワードファイルのエントリでそのまま wheel のアクセス権を 与えてはいけません。スタッフは、 .Sq staff かその類のグループに置き、その中で本当に root になる必要がある人 だけを wheel グループに加えるようにします。しかし、残念ながら、wheel の 仕組みだけだと、侵入者は、パスワードファイルを手に入れるとルート権限を 破ることができてしまいます。攻撃者が破る必要があるのは root のパスワード か、wheel グループにたまたま属するstaff アカウントのパスワードどれかひとつだけだからです。 wheel の仕組みは有益ですが、wheel グループがまったく存在しない状況と比べてそれほど 安全なわけではありません。 .Pp root アカウントの安全性を高める間接的な方法として、別のログインアクセス の方法を用いて、スタッフのアカウントの暗号化パスワードを\ * にして おくことで、スタッフのアカウントの安全性を高めるものがあります。この方法 だと、侵入者がパスワードファイルを盗むことができるかもしれませんが、 スタッフアカウントを破ることはできないでしょう。また、たとえ root が暗号化 パスワードをパスワードファイルに付けていたとしても、間接的には root アカウントも破ることができないでしょう。 スタッフメンバがスタッフアカウントでログインする際には、 .Xr kerberos 1 や .Xr ssh 1 .Po .Pa /usr/ports/security/ssh 参照 .Pc のような、公開鍵 / 秘密鍵の鍵の組を使う 安全性の高いログインの仕組みを使います。kerberos のような仕掛けを使う場合、 一般に、kerberos サーバを実行するマシンと自分のデスクトップ ワークステーションとの安全性を確保しなければなりません。ssh で 公開鍵 / 秘密鍵の組を使う場合、一般に、ログイン元マシン .Pq 通常は自分のワークステーション の安全性を確保しなければなりません。ここで、 .Xr ssh-keygen 1 で公開鍵 / 秘密鍵の組を生成する際、鍵の組をパスワードで防御することにより、 鍵の組への防御層を追加することもできます。スタッフアカウントの パスワードを\ * で外すことができると、管理者自身が設定 した安全性の高い方法でしかスタッフメンバがログインできないことも保証 できます。こうして、多くの侵入者が使う重大なセキュリティの穴 .Pq 安全性の低い無関係なマシンからネットワークを覗き見る方法 を塞ぐようなセッションを提供する、安全性の高い暗号化されたコ ネクションを使うことを、スタッフメンバ全員に強制することができ るのです。 .Pp より間接的なセキュリティの仕組みでは、制限の強いサーバから制限の弱い サーバへログインすることを前提としています。例えば、メインマシンで、 様々な種類のサーバを実行させている場合、ワークステーションではそれらの サーバを実行させてはなりません。ワークステーションを十分に 安全にしておくためには、実行するサーバの数を、一つもサーバ が実行されていないというくらいにまでできる限り減らすべきです。 また、パスワードで保護されたスクリーンセーバを走らせておくべきです。 ワークステーションへの物理的アクセスが与えられたとすると、もちろん 言うまでもなく、攻撃者は管理者が設定したいかなる種類のセキュリティ をもうち破ることができるのです。これは、管理者として必ず考えておか ねばならない問題ですが、システム破りの大多数は、ネットワーク経由で リモートから、ワークステーションやサーバへの物理的アクセス手段を持 たない人々によって行われるという事実もまた、念頭に置いておく必要 があります。 .Pp kerberos のような方法を使うことで、スタッフアカウントのパスワードの変更 もしくは停止を一箇所で行なうことと、スタッフメンバがアカウントを持つ すべてのマシンに即時にその効果を及ぼすことが可能となります。スタッフメンバの アカウントが危険に晒されたときに、すべてのマシンでスタッフメンバのパスワードを 即座に変更する能力を過小評価してはいけません。パスワードが分散されている状況では、 N 台のマシンでパスワードを変更すると、てんやわんやの事態を招く可能性が あります。kerberos を使用すると、パスワードの再発行に制限 .Pq re-passwording restriction を課することもできます。この機能を使うことにより、 ある kerberos チケットをしばらく経つとタイムアウトにすることが できるだけでなく、一定期間 .Pq 例えば、1 ヶ月に 1 回 経つと、ユーザに新しいパスワードを選ぶように要求することもできます。 .Sh root の安全性を高める - root 権限のサーバと suid/sgid バイナリ .Pp 用心深いシステム管理者は、自分に必要なサーバプロセスだけを過不足なく 実行させるものです。第三者製のサーバは、よくバグを持っていがちだと いうことに注意して下さい。例えば、古いバージョンの imapd や popper を実行させておくのは、全世界に共通の root の切符を与えてい るようなものです。 自分で注意深くチェックしていないサーバは、決して実行してはいけません。 root で実行させる必要のあるサーバはほとんどありません。例えば、ntalk, comsat, finger デーモンを、特別の「砂場 .Pq sandbox 」ユーザで実行させることができます。 .\"kuma hellofalot of trouble って何や? .\" hell of a lot of trouble みたいですね。;-) (金ん田 '99.02.11) 管理者が膨大な数の問題に直面していないのなら、この「砂場」は完璧では ありませんが、セキュリティに関するタマネギ的アプローチはここでも 成り立ちます。砂場で実行されているサーバプロセスを経由して侵入を 果たすことができたとしても、攻撃者はさらに砂場から外に脱出しなければ なりません。攻撃者が通過せねばならない層の数が増えれば増えるほど、 それだけ攻撃者が侵入に成功する確率が減ります。root の抜け穴は 歴史的に、基本システムサーバも含め、 root 権限で実行されるほとんどすべてのサーバプロセスで発見されています。 ユーザが sshd 経由でのみログインし、 telnetd, rshd, rlogind 経由でログインすること が決してないマシンを稼働させているのであれば、それらのサービスを停止させて下さい。 .Pp .Bx Free では、今では ntalkd, comsat, finger は砂場で実行させることが デフォルトになっています。次に砂場で実行させるべきプログラムの候補として、 .Xr named 8 があります。デフォルトの rc.conf ファイルには、named を砂場で実行する ために必要な引数がコメントアウトされた形式で含まれています。新しい システムをインストールしているか、それとも既存のシステムを アップグレードして使っているかに依存しますが、砂場として使用する 特別のユーザアカウントがインストールされていないかもしれません。 用心深いシステム管理者であれば、できるだけいつでも研究を怠らず、 サーバに砂場を仕込むものでしょう。 .Pp 通常、砂場で実行しないサーバが他にいくつかあります。sendmail, popper, imapd, ftpd などです。これらのうちいくつかのサーバには代わりとなるも のがありますが、 代わりのものをインストールするには、それだけ多くの仕事が必要になるので、 結局これらを喜んで入れてしまいます .Pq 便利さという要素がまたも勝利を収めるわけです 。 これらのサーバは、root 権限で実行せねばならいかもしれません。また、 これらのサーバ経由で生じる侵入 を検出するためには、他の仕組みに頼らなくてはならないかもしれません。 .Pp システムの root 権限の潜在的な穴で他に大きなものとして、システムに インストールされた suid-root/sgid バイナリがあります。 これらのバイナリは、rloginのように、 -/bin, /sbin, /usr/bin, /usr/sbin に -存在するものがほとんどです。100% 安全なものは存在しないとはいえ、システムデフォルトの +.Pa /bin , +.Pa /sbin , +.Pa /usr/bin , +.Pa /usr/sbin +に存在するものがほとんどです。 +100% 安全なものは存在しないとはいえ、システムデフォルトの siud/sgid バイナリは比較的安全といえます。それでもなお、root の穴が これらのバイナリにときおり発見されています。1998 年に Xlib で見つかった root の穴は、xterm .Pq 普通、suid 設定されています を攻撃可能にしていました。 安全である方がよいので、用心深いシステム管理者は残念に思いながらも、 スタッフのみが実行する必要がある suid バイナリは、スタッフのみが アクセス可能な特別なグループに含めるように制限を加え、 -誰も使わない suid バイナリは chmod 000 を実行して片付けてしまうで -しょう。 +誰も使わない suid バイナリは +.Pq chmod 000 を実行して +片付けてしまうでしょう。 ディスプレイを持たないサーバは、一般的に xterm のバイナリを必要としません。 sgid バイナリもほとんど同様の危険な存在になり得ます。 侵入者が kmem に sgid されたバイナリを破ることができた場合、 -その侵入者は /dev/kmem を読み出すことができるようになります。 +その侵入者は +.Pa /dev/kmem +を読み出すことができるようになります。 つまり、暗号化されたパスワードファイルを読み出すことができる ようになるので、パスワードを持つどのアカウントをも、 .Pq 潜在的な 危険に晒すことになります。 tty グループを破った侵入者は、ほとんどすべてのユーザの端末に書き込みが できます。talk-back 機能を持つ端末プログラムやエミュレータをユーザが実行 していると、 .Pq 結局、そのユーザとして実行される コマンドをユーザの端末にエコーさせるデータストリームを 侵入者が生成できる可能性があります。 .Sh ユーザアカウントの安全性を高める .Pp ユーザアカウントは、普通、安全性を高めることが最も困難です。 スタッフに対して、アテナイのドラコのような厳格なアクセス制限を課し、 スタッフのパスワードを\ * で外すことができるとはいえ、管理者が持ちうる 一般ユーザすべてのアカウントに対して同じことはできないかも知れません。 管理者が十分に統率をとることができるなら、管理者は勝利し、ユーザの アカウントの安全を適切に確保できるかもしれません。それが できないならば、よりいっそう気を配って一般ユーザのアカウントを 監視するよりほかありません。一般ユーザアカウントに対し ssh や kerberos を利用することには、いろいろと問題があります。 それでも、暗号化パスワードと比較すると、 はるかに良い解です。 .Sh パスワードファイルの安全性を高める .Pp できるだけ多くのパスワードを\ * で外し、それらのアカウントのアクセスには ssh や kerberos を使うようにすることが、唯一の確実な方法です。たとえ暗号化 パスワードファイル -.Pq /etc/spwd.db +.Pq Pa /etc/spwd.db が root でのみ読み出し可能だとしても、 侵入者がそのファイルの読み出しアクセス権限を得ることは可能かもしれません。たとえ root の書き込み権限が得られないにしてもです。 .Pp セキュリティスクリプトは常にパスワードファイルの変更をチェックし、報告 -するようにすべきです。 -.Pq 後述の「ファイルの完全性のチェック」を参照して下さい。 +するようにすべきです +.Po +後述の「ファイルの完全性のチェック」を参照して下さい +.Pc 。 .Sh カーネルのコア、raw デバイス、ファイルシステムの安全性を高める .Pp root の権限を破ると、攻撃者は何でもできますが、 もっと簡便なこともいくつかあります。例えば、最近のカーネルは、 組み込みのパケット覗き見デバイス .Pq packet sniffing device ドライバを備えているものがほとんどです。 .Bx Free では .Sq bpf デバイスと呼ばれています。侵入者は普通、危険に晒された マシンでパケット覗き見プログラムを実行させようと試みます。侵入者に わざわざそういう機能を提供する必要はないので、ほとんどのシステムで bpf -デバイスを組み込むべきではありません。しかし、不幸なことに、最近のカーネルのもう一つの特徴として、ローダブルカーネル -モジュール -.Pq Loadable Kernel Module:LKM -インタフェースと呼ばれる -機能があります。やる気まんまんの侵入者は、LKM を使って -自分独自の bpf もしくはその他覗き見デバイスを動作中のカーネルに -インストールすることができます。 -モジュールローダを使う必要がないのであれば、カーネル設定で -NO_LKM オプションを設定してこの機能を無効にして下さい。 +デバイスを組み込むべきではありません。 .Pp -bpf デバイスを外し、モジュールローダを無効にしても、/dev/mem と /dev/kmem +bpf デバイスを外し、モジュールローダを無効にしても、 +.Pa /dev/mem +と +.Pa /dev/kmem という悩みの種がまだ残っています。この問題に関しては、侵入者は raw -デバイスに書き込むこともできます。この問題を避けるため、システム管理者は +デバイスに書き込むこともできます。 +また、 +.Xr kldload 8 +という、別のカーネル機能があります。 +やる気まんまんの侵入者は、KLD モジュールを使って +自分独自の bpf もしくはその他覗き見デバイスを動作中のカーネルに +インストールすることができます。 +この問題を避けるため、システム管理者は カーネルをより高い安全レベル .Pq securelevel 、少なくとも安全レベル 1 で実行させる必要があります。 sysctl を使って kern.securelevel 変数に安全レベルを設定することが できます。ひとたび安全レベルに 1 を設定すると、 raw デバイスに対する書き込みアクセスは拒否され、例えば .Sq schg のような 特別な chflags フラグが効果を発揮します。これに加えて、 起動時において重要なバイナリ・ディレクトリ・スクリプトファイルなど、 安全レベルが設定されるまでの間に実行されるものすべてに対しても .Sq schg フラグを確実に on にしておく必要があります。この設定をやり過ぎても 構いませんが、より高い安全レベルで動作している場合、システムの アップグレードがはるかに困難になります。システムをより高い安全レベルで 実行させるようにするが、お天道さまの下にあるすべてのシステムファイルと ディレクトリに schg フラグを設定しないという妥協をする方法もあります。 .Sh ファイルの完全性のチェック: バイナリ、設定ファイルなど .Pp ことこの問題に至ると、システム管理者にできることは、 便利さという要素がその醜い頭を上げない程度に、 コアシステムの設定 / 制御ファイルを防御することだけです。 セキュリティのタマネギの最後の層はおそらく最も重要なもの、すなわち探知です。 .Pp システムファイルの完全性をチェックする唯一の正しい方法は、別の、より安全な システム経由で行なう方法だけです。 .Sq 安全 なシステムを準備することは比較的 -容易です。単にそのシステム上で、サービスを一切実行しないようにするだけです。安全なシステム +容易です。単にそのシステム上で、サービスを一切実行しないようにするだけです。 +安全なシステム を用いて、ssh 経由で他のシステムの root 空間にアクセスします。これは セキュリティの末端のように見えるかもしれません。しかし、管理者には信頼を どこかに置く必要があります。いきあたりばったりでサーバプロセスを 実行するような馬鹿げたことをしない限りは、安全度の高いマシンを構築する ことは本当に可能です。ここで .Sq 安全 という場合、物理アクセスに対する セキュリティをも含めて仮定していることはもちろんです。他のすべてのマシンに root のアクセス権限を持つ、安全なマシンがあれば、 「安全なマシンの上で」システムの他のマシンをチェックする セキュリティスクリプトを書くことができるようになります。 最も普通のチェック方法は、セキュリティスクリプトで、 まず、find と md5 のバイナリファイルをリモートマシンに .Xr scp 1 してから、 リモートシステムのすべてのファイル -.Pq もしくは、少なくとも /, /var, /usr パーティション! +.Po +もしくは、少なくとも +.Pa / , +.Pa /var , +.Pa /usr +パーティション! +.Pc に対して md5 を適用するシェルコマンドを ssh を使ってリモートマシンで実行するものです。 安全なマシンは、チェック結果をファイルにコピーし、前回のチェック結果との差分を取り .Pq または、安全なマシン自身が持っているバイナリと比較する 、その差分を 毎日のレポートとしてスタッフメンバひとりひとりにメールで送ります。 .Pp この種のチェックを行うもう一つの方法として、 他のマシンから主なファイルシステムを 安全なマシンにNFS export する方法があります。 このやり方はいくらかネットワークに負荷を掛けることになりますが、 侵入者がチェックを探知したり偽造したりすることは、 事実上不可能になります。 .Pp 優れたセキュリティスクリプトは、一般ユーザやスタッフメンバのアクセス制御 ファイル: .rhosts, .shosts, .ssh/authorized_keys など、MD5 での精細な チェックから洩れそうなファイルの変更もチェックするようにします。 .Pp 優れたセキュリティスクリプトは、すべてのファイルシステム上で suid/sgid バイナリのチェックを行い、前回のチェック結果もしくは何らかの 基準 .Pq 例えば、その基準を週 1 回作成する。 からの差分だけでなく、 それらバイナリの存在そのものを報告するものです。 .Sq nosuid オプションを fstab/mount で指定することで、あるファイルシステム上の suid/sgid バイナリの実行機能をオフにすることができますが、root によるこれら バイナリの実行をオフにすることはできません。さらに、root 権限を破った者は誰でも 自分自身で用意したバイナリをインストールすることだってできます。 しかしながら、ユーザのディスク空間を大量に持つ場合、 ユーザパーティション上で suid されたバイナリとデバイスを不許可に しておき -('nodev' オプション)、 +.Po +.Pq nodev +オプション +.Pc 、 そのパーティションをスキャンしないで済ませることも有益かもしれません。 それでも私ならば、ともかく、少なくとも週に 1 回はスキャンする でしょう。というのは、タマネギのこの層の目的は侵入を検知すること だからです。 .Pp プロセスアカウンティング .Po .Xr accton 1 参照 .Pc は、比較的オーバヘッドの低いオペレーティングシステムの機能で、 マシンに侵入されてしまった後の評価の仕組みとして使用することをお勧め します。 侵入を受けた後でも当該ファイルが無傷である場合に、 侵入者が実際にどのようにしてシステムの root を破ったかを 追跡するのに特に有益です。 .Pp 最後に、セキュリティスクリプトはログファイルを処理するようにし、 ログファイル自体もできるだけ安全性の高い方法で .Sq リモート syslog は極めて有益になり得ます 生成するようにすべきです。侵入者は自分の侵入の痕跡を覆い隠そう としますし、また、ログファイルはシステム管理者が最初の侵入の時 刻と方法を追跡してゆくために極めて重要です。 .Sh 偏執狂的方法 .Pp 多少偏執狂的になっても決して悪いことにはなりません。原則的に、 システム管理者は、便利さに影響を与えない範囲でいくつでもセキュリティ 機能を追加することができます。また、いくらか考慮した結果、便利さに 影響を与えるセキュリティ機能を追加することもできます。 .Sh サービス不能攻撃 (D.O.S. attack) についての特記事項 .Pp このセクションではサービス不能攻撃を扱います。サービス不能攻撃は、普通は、 パケット攻撃です。ネットワークを飽和させる最先端の偽造パケット .Pq spoofed packet 攻撃に対してシステム管理者が打てる手はそれほど多く ありませんが、一般的に、その種の攻撃によってサーバがダウン しないことを確実にすることで、被害をある限度に食い止める ことはできます。 .Bl -enum -offset indent .It サーバの fork の制限 .It 踏み台攻撃の制限 .Pq ICMP 応答攻撃、ping broadcast など .It カーネルの経路情報のキャッシュ .El .Pp 普通に見られるサービス不能攻撃に、fork するサーバプロセスに対する ものがあります。これは、サーバにプロセス・ファイル記述子・メモリを 食い尽くさせて、マシンを殺そうとするものです。 inetd .Po .Xr inetd 8 参照 .Pc には、この種の攻撃を制限するオプションがいくつかあります。マシンが ダウンすることを防止することは可能ですが、この種の攻撃によりサービスが 崩壊することを防止することは一般的に言ってできないことに注意する必要が あります。inetd のマニュアルページを注意深く読んで下さい。特に、 .Fl c , .Fl C , .Fl R オプションに注意して下さい。IP 偽造攻撃 .Pq spoofed-IP attack は inetd の .Fl C オプションの裏をかけるので、一般にオプションを 組み合わせて使用するべきであることに注意して下さい。スタンドアロンサーバ の中には、自分自身で fork を制限するパラメータを持っているものがあります。 .Pp sendmail には、 .Fl OMaxDaemonChildren オプションがあります。負荷には遅れがあるので、 sendmail の負荷に限界を設けるオプションを使うよりも、 このオプションを使う方がまともに動作する可能性ははるかに高いです。 sendmail の実行を開始する際に、 .Cm MaxDaemonChildren パラメータを設定するべきです。その値は、 通常見込まれる負荷を扱える程度に十分高いが、 それだけの数の sendmail を操作しようとすると マシンが卒倒してしまうほどには高くないような値に設定するべきです。 sendmail をキュー処理モード .Pq Fl ODeliveryMode=queued で実行することや、 sendmail デーモン .Pq Cm sendmail -bd をキュー処理用プロセス .Pq Cm sendmail -q15m と別に実行することも、用心深いことと言えます。それでもなおリアルタイムでの 配送を望むのであれば、 .Fl q1m のようにすることで、キュー処理をはるかに短い時間間隔で 行うことができます。いずれにしても、 .Cm MaxDaemonChildren オプションに 合理的な値を確実に指定して、sendmail がなだれをうって失敗することが ないようにして下さい。 .Pp syslogd は直接攻撃される可能性があるので、可能ならばいつでも .Fl s オプションを用いることを強く推奨します。これができないなら、 .Fl a オプションを使って下さい。 .Pp tcpwrapper の逆 identd などの接続返し .Pq connect-back を行うサービスに ついては十分注意を払うようにするべきです。これらは直接攻撃を受ける可能性が あります。こういう事情があるので、tcpwrapper の逆 ident 機能を使おうとは 思わないのが一般的です。 .Pp 境界ルータのところでファイアウォールを設けて、外部からのアクセスに対して 内部サービスを防御するという考えは実によいものです。この考えは、LAN の外部 からの飽和攻撃を防ぐことにあり、root ネットワークベースの root 権限への攻撃から内部サービスを防御することには、あまり考慮を払って いません。ファイアウォールは常に排他的に設定して下さい。つまり、 「ポート A, B, C, D と M から Z まで .Eo * 以外 .Ec * のすべてに防火壁を設ける」というふうにです。 このようにすることで、named .Pq ゾーンのプライマリである場合 , ntalkd, sendmail など、インターネットにアクセスを提供するサービス として特に指定するもの以外の、小さい番号のポートすべてをファイアウォールで 防御することができます。ファイアウォールをこの他のやり方、つまり 包含的もしくは受容的なファイアウォールとして設定しようとする場合、 .Sq close することを忘れてしまうサービスがいくつか出てきたり、新しい内部サービスを 追加したのにファイアウォールの更新を忘れたりする可能性がよく出てきます。 ファイアウォール上の大きい番号のポートを開けておいて、小さい番号のポートを 危険に晒すことなく受容的な動作を許すことができます。 .Bx Free では、net.inet.ip.portrange への sysctl -.Pq sysctl -a \&| fgrep portrange , +.Pq sysctl -a \&| fgrep portrange をいろいろ使用することで、 動的バインドに使用されるポート番号の範囲を制御できることを記憶にとどめて おいて下さい。これによりファイアウォールの設定の複雑性を緩和できます。 私は、ファイアウォールに通常のfirst/last の範囲として、 4000 から 5000 を、 高位ポートの範囲として、49152 から 65535 を使用しています。そして、 -.Pq いくつかのインターネットアクセス可能なポートをブロックから除外するのはもちろんですが +.Po +いくつかのインターネットアクセス可能なポートを +ブロックから除外するのはもちろんですが +.Pc 4000 より下のすべてをブロックしています。 .Pp また別のありふれたサービス不能攻撃として、踏み台攻撃 .Pq springboard attack と呼ばれるものがあります。これは、サーバが自分自身、ローカルネットワーク、 そして他のマシンを過負荷に追い込むような応答を生成させる方法でサーバを 攻撃します。この種の攻撃の中で最もありふれたものは、ICMP PING BROADCAST 攻撃があります。攻撃者は、実際に攻撃したいマシンのアドレスをソース アドレスに設定した ping パケットを偽造して、対象の LAN の ブロードキャストアドレスに向けてパケットを送信します。境界にあるルータが ブロードキャストアドレスに対する ping パケットを握り潰すように設定されていない 場合、LANは、詐称されたソースアドレスに向けて応答パケットを生成するはめになり、犠牲となるマシンが飽和するところまで行ってしまいます。攻撃者が同じトリックを 異なるネットワーク上のいくつものブロードキャスト アドレスに対して同時に使用した場合、とくにひどいことになります。 これまでに、120 メガビット以上のブロードキャスト攻撃が観測されています。 2 番目の踏み台攻撃は、ICMP エラー報告の仕掛けを狙うものです。ICMP エラー 応答を生成するパケットを生成することにより、攻撃者はサーバの 受信ネットワークを飽和させることができ、同時に、サーバが送信 ネットワークを ICMP 応答で飽和させるようにすることができます。 mbuf を消費し尽くさせることにより、この種の攻撃でサーバを クラッシュさせることも可能です。サーバの ICMP 応答生成が速過ぎて、 ICMP 応答の送信が追い付かない場合、とくにひどいことになります。 .Bx Free カーネルには、この種の攻撃の効果を抑制する ICMP_BANDLIM と 呼ばれる新しいコンパイルオプションがあります。 3つめの主要なクラスに属す踏み台攻撃は、udp echo サービスのような、 ある種の内部 inetd サービスに関連するものです。攻撃者は、単に ソースアドレスがサーバ A の echo ポートであり、ディスティネーション アドレスがサーバ B の echo ポートであるかのように UDP パケットを 偽造します。ここでサーバ A, B はともに自分の LAN に接続されています。 この 2 つのサーバは、この一つのパケットを両者の間で互いに相手に対して 打ち返しあいます。このようにしてパケットをいくつか注入するだけで、 攻撃者は両方のサーバと LAN を過負荷状態にすることができます。 同様の問題が内部 chargen ポートにも存在します。有能なシステム管理者は この手の inetd 内部テストサービスのすべてを無効にしておくものです。 .Pp 偽造パケット攻撃は、カーネルの経路情報キャッシュに過負荷を生じさせるために 用いられることもあります。net.inet.ip.rtexpire, rtminexpire, rtmaxcache の sysctl パラメータを参照して下さい。でたらめなソース IP を用いた この偽造パケット攻撃により、カーネルは、一時的なキャッシュ経路を 経路情報テーブルに生成します。これは .Sq netstat -rna \&| fgrep W3 で見ることができます。これらの経路は、普通は 1600 秒程度でタイムアウトに なります。カーネルがキャッシュ経路テーブルが大きくなり過ぎたことを 検知すると、カーネルは動的に rtexpire を減らしますが、rtminexpire より 小さくなるようには決して減らしません。ここに問題が 2 つあります。 (1) 負荷の軽いサーバが突然攻撃された場合、カーネルが十分素早く反応 できないこと。(2) カーネルが攻撃に耐え生き延びられるほど十分 rtminexpire が低く設定されていないこと。の2つです。 自分のサーバが T3 もしくはそれより 良質の回線でインターネットに接続されている場合、 .Xr sysctl 8 を用いて rtexpire と rtminexpire とを手動で上書きしておくことが思慮深いこと といえます。 -.Pq 自分のマシンをクラッシュさせたくないのであれば:-) +.Pq 自分のマシンをクラッシュさせたくないのであれば :-) どちらか一方でも 0 に は決してしないで下さい。両パラメータを 2 秒に設定すれば、 攻撃から経路情報テーブルを守るには十分でしょう。 .Sh 関連項目 .Pp .Xr accton 1 , .Xr chflags 1 , .Xr find 1 , .Xr kerberos 1 , .Xr md5 1 , .Xr ssh 1 , .Xr sshd 1 , .Xr syslogd 1 , .Xr xdm 1 , .Xr sysctl 8 .Sh 歴史 .Nm マニュアルページは、もともと .An Matthew Dillon によって書かれました。 最初に現れたのは、 -.Bx Free -3.0.1 +.Fx 3.1 で 1998 年 12 月のことです。 .\" translated by Norihiro Kumagai, 98-12-29 diff --git a/ja/man/man8/fsdb.8 b/ja/man/man8/fsdb.8 index f00ce01a7b..546c7c8142 100644 --- a/ja/man/man8/fsdb.8 +++ b/ja/man/man8/fsdb.8 @@ -1,261 +1,258 @@ .\" %NetBSD: fsdb.8,v 1.2 1995/10/08 23:18:08 thorpej Exp % .\" .\" Copyright (c) 1995 John T. Kohl .\" 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. 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. .\" -.\" %Id: fsdb.8,v 1.8 1998/06/15 07:12:18 charnier Exp % -.\" jpman %Id: fsdb.8,v 1.3 1997/06/23 15:01:41 horikawa Stab % +.\" %Id: fsdb.8,v 1.8.2.1 1999/04/13 02:44:04 ghelmer Exp % .\" +.\" jpman %Id: fsdb.8,v 1.3 1997/06/23 15:01:41 horikawa Stab % .Dd September 14, 1995 .Dt FSDB 8 .Os FreeBSD .Sh 名称 .Nm fsdb .Nd FFS デバッグ/編集ツール .Sh 書式 .Nm fsdb .Op Fl d .Op Fl f .Op Fl r .Ar fsname .Sh 解説 .Nm は .Ar fsname (通常は raw ディスクパーティション) を open し、そのファイルシステムの inode データを操作するためのコマンドを受け付けます。コマンドは .Ic "fsdb (inum X)>" のプロンプトに対して入力します。ここでの .Va X は現在選択されている i-number となります。最初に選択されている inode はファイルシステムのルート (i-number 2) となります。 コマンドプロセッサには -.Xr libedit 3 +.Xr editline 3 ライブラリを使用しており、コマンド行を編集することによってタイピングの 量を減らすことができます。 コマンドループから抜けて終了する時には、ファイルシステムのスーパブロック が dirty とマークされ、バッファリングされているブロックがあれば ファイルシステムに書き込まれます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl d デバッグ情報 (元は .Xr fsck 8 のコードに由来するもの) を出力します。 .It Fl f 歴史的な理由により残されているもので、特に意味は持ちません。 .It Fl r ファイルシステムを読み取り専用でオープンし、 書き込みを行うコマンドを抑止します。 .El .Sh コマンド 組み込みの -.Xr libedit 3 +.Xr editline 3 のコマンドの他に .Nm は以下のコマンドをサポートしています: .Pp .Bl -tag -width indent -compact .It Cm help 入力できるコマンドのリストを表示します。 .Pp .It Cm inode Ar i-number 新しい現在の inode として inode .Ar i-number を選択します。 .Pp .It Cm back 以前の inode に戻ります。 .Pp .It Cm clri 現在の inode をクリアします。 .Pp .It Cm lookup Ar name .It Cm cd Ar name .Ar name を現在のディレクトリの中で探し、その inode を現在の inode に設定します。 .Ar name はマルチコンポーネントの名前か、スラッシュで始めて検索をルートの inode から始めることを指定できます。パス名の中のコンポーネントが見 つからない場合、最後に有効であったディレクトリがアクティブな inode と して使われます。 .br このコマンドは開始する inode がディレクトリの場合のみ有効です。 .Pp .It Cm active .It Cm print アクティブな inode を表示します。 .Pp .It Cm uplink アクティブな inode のリンク数をインクリメントします。 .Pp .It Cm downlink アクティブな inode のリンク数をデクリメントします。 .Pp .It Cm linkcount Ar number アクティブな inode のリンク数を .Ar number に設定します。 .Pp .It Cm ls 現在の inode のディレクトリエントリをリストします。このコマンドは現在 の inode がディレクトリである場合のみ有効です。 .Pp .It Cm rm Ar name .It Cm del Ar name 現在のディレクトリ inode からエントリ .Ar name を取り除きます。このコマンドは現在の inode がディレクトリで ある場合のみ有効です。 .Pp .It Cm ln Ar ino Ar name 現在のディレクトリ inode に inode .Ar ino へのリンクを .Ar name の名前で作成します。このコマンドは現在の inode がディレクトリである場 合のみ有効です。 .Pp .It Cm chinum Ar dirslot Ar inum ディレクトリエントリ .Ar dirslot 中の i-number を .Ar inum に変更します。 .Pp .It Cm chname Ar dirslot Ar name ディレクトリエントリ .Ar dirslot 中の名前を .Ar name に変更します。 このコマンドではディレクトリエントリを拡張することはできません。名前が 現在存在するディレクトリスロットに収まる場合にのみ、エントリの名前の変 更が可能です。 .Pp .It Cm chtype Ar type 現在の inode のタイプを .Ar type に変更します。 .Ar type には .Em file , .Em dir , .Em socket , .Em fifo のいずれかが指定できます。 .Pp .It Cm chmod Ar mode 現在の inode のモードビットを .Ar mode に変更します。 このサブコマンドではファイルのタイプを変更することはできません。その場 合は .Ic chtype を使ってください。 .Pp .It Cm chflags Ar flags 現在の inode のファイルフラグを .Ar flags に変更します。 .Pp .It Cm chown Ar uid 現在の inode の所有者を .Ar uid に変更します。 .Pp .It Cm chgrp Ar gid 現在の inode のグループを .Ar gid に変更します。 .Pp .It Cm chgen Ar gen 現在の inode の世代番号 (generation number) を .Ar gen に変更します。 .Pp .It Cm mtime Ar time .It Cm ctime Ar time .It Cm atime Ar time それぞれ、現在の inode の修正時間、変更時間、アクセス時間を .Ar time に変更します。 .Ar time は .Em YYYYMMDDHHMMSS[.nsec] の形式でなければなりません。ここで、 .Em nsec はオプションで指定できるナノ秒の値となります。もし、ナノ秒が指定されて いないと、 .Va mtimensec , .Va ctimensec , .Va atimensec のそれぞれのフィールドにはゼロがセットされます。 .Pp .It Cm quit, Cm q, Cm exit, Em プログラムを終了します。 .El .Sh 関連項目 -.Xr libedit 3 , +.Xr editline 3 , .Xr fs 5 , .Xr clri 8 , .Xr fsck 8 .Sh バグ ``short'' のシンボリックリンクの操作は動作しません。(特に、 シンボリックリンクのタイプは変更しないでください。) .br モードはシンボル名ではなく数字で指定してください。 .br 多分 .Nm に実装されていないことで、もっとやりたいことが沢山あるでしょう。 -.br -.Xr libedit 3 -のリファレンスページはまだ書かれていません。 .Sh 歴史 .Nm は .Xr fsck 8 のソースコードを使ってファイルシステムの操作のコードのほとんどを実装し ています。 .Nm の残りの部分は、最初 .Bx Net において .An John T. Kohl によって書かれました。 .br .Bx Free への移植は .An Peter Wemm によって行われました。 .Sh 警告 このツールは最大限に注意を払って使って下さい。 .Xr fsck 8 を使っても修復できないほど FFS ファイルシステムを壊す恐れがあります。 diff --git a/ja/man/man8/ibcs2.8 b/ja/man/man8/ibcs2.8 index 570ca63472..55cd31b999 100644 --- a/ja/man/man8/ibcs2.8 +++ b/ja/man/man8/ibcs2.8 @@ -1,64 +1,64 @@ .\" .\" Copyright (c) 1995 Lyndon Nerenberg .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" %Id: ibcs2.8,v 1.6.2.1 1999/02/15 08:46:22 fenner Exp % -.\" jpman %Id: ibcs2.8,v 1.3 1997/09/08 08:46:54 kuma Stab % +.\" %Id: ibcs2.8,v 1.6.2.2 1999/04/06 13:59:14 ghelmer Exp % .\" +.\" jpman %Id: ibcs2.8,v 1.3 1997/09/08 08:46:54 kuma Stab % .Dd November 27, 1995 .Dt IBCS2 8 .Os FreeBSD .Sh 名称 .Nm ibcs2 .Nd SCO および ISC バイナリのための iBCS2 ランタイムサポートをロードする .Sh 書式 .Nm ibcs2 .Sh 解説 .Nm ユーティリティは iBCS2 互換プログラムの カーネルランタイムサポートをロードします。 本ランタイムサポートの範囲は iBCS2 システムコールインタフェースの エミュレーションに限定されており、完全サポートには程遠いです。 COFF バイナリおよび共有ライブラリはサポートされていますが、 FreeBSD での配布には共有ライブラリは提供されていません。 .Sh 関連ファイル .Bl -tag -width /usr/share/examples/ibcs2/* -compact -.It Pa /lkm/ibcs2_mod.o -.It Pa /lkm/ibcs2_coff_mod.o +.It Pa /modules/ibcs2.ko +.It Pa /modules/ibcs2_coff.ko iBCS2 ローダブルカーネルモジュール。 .Pp .It Pa /usr/share/examples/ibcs2/* エミュレータ検査用のサンプルオブジェクトファイル。 .Sh 関連項目 -.Xr lkm 4 , -.Xr modload 8 +.\"no equivalent yet for kld:.Xr lkm 4 , +.Xr kldload 8 .Sh バグ エミュレータは全く不完全です。 .Pp 動的にリンクされたバイナリを実行するにあたり、 既存の SCO システムの共有ライブラリへのアクセスが不可欠です。 .Pp 使用にあたりソースコードを読むことが不可欠です。 diff --git a/ja/man/man8/ipfw.8 b/ja/man/man8/ipfw.8 index aece95ac9a..5db0e6ae78 100644 --- a/ja/man/man8/ipfw.8 +++ b/ja/man/man8/ipfw.8 @@ -1,597 +1,598 @@ .Dd July 20, 1996 .\" jpman %Id: ipfw.8,v 1.4 1997/05/19 17:19:51 horikawa Stab % .Dt IPFW 8 SMM .Os FreeBSD .Sh 名称 .Nm ipfw .Nd IPファイアウォール制御ユーティリィティ .Sh 書式 .Nm ipfw .Op Fl q .Oo .Fl p Ar preproc .Op Fl D Ar macro Ns Op Ns =value .Op Fl U Ar macro .Oc file .Nm ipfw .Oo .Fl f | .Fl q .Oc flush .Nm ipfw .Oo .Fl q .Oc zero .Op Ar number ... .Nm ipfw delete .Ar number ... .Nm ipfw .Op Fl aftN list .Op Ar number ... .Nm ipfw .Oo .Fl ftN .Oc show .Op Ar number ... .Nm ipfw .Oo .Fl q .Oc add .Op Ar number .Ar action .Op log .Ar proto from .Ar src to .Ar dst .Op via Ar name | ipno .Op Ar options .Sh 解説 書式の 1 行目のようにファイル名を指定した場合は、 .Ar file を 1 行ずつ、引数として読み込みます。 .Pp .Fl p Ar preproc を使用して、 .Ar file がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュから始まらない場合、 .Ev PATH を使用した通常の名前検索行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、本件に注意してください。 ひとたび .Fl p が指定されると、オプションの .Fl D と .Fl U の指定を続けることが可能となり、これらがプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp .Nm はパケットごとに、マッチするルールが見つかるまでルールリストを調べます。 各ルールにはパケット数とパケットサイズの 2 つのカウンタが用意されていて、 パケットがマッチするとカウンタ値は更新されます。 .Pp 全ルールは 1 から 65534 の範囲の行番号で順序付けられます。この番号によって ルールの並べ変えと削除を行ないます。 ルールのマッチングは昇順で行なわれ、最初にマッチしたものが適用されます。 複数のルールが同じ番号を共有することも可能です。この場合はルールが追加された 順序でマッチングが行なわれます。 .Pp 番号を指定せずにルールを追加した場合は、 既に定義されているルールの最大の番号に 100 を加えたものとなります。 ルールの番号が 65435 以上の場合は、新しいルールは同じ番号が与えられます。 。 .Pp delete 操作は .Ar number で指定された番号を持つ最初のルールを、もし有れば、削除します。 .Pp list 操作は現在のルール一覧を出力します。 .Pp show 操作は `ipfw -a list' と同じ結果を出力します。 .Pp zero 操作は .Ar number で指定された番号を持つルールのカウンタをクリアします。 .Pp flush 操作は全ルールを削除します。 .Pp 記号 `#' で始まる行および空行は無視されます。 .Pp どんな場合でも次のルールは存在します: .Bd -literal -offset center 65535 deny all from any to any .Ed .Pp 全パケットを拒否するのがデフォルトのポリシーです。 これを修正し、必要なルールを設定して下さい。 .Pp しかしながら、カーネルオプション .Dq IPFIREWALL_DEFAULT_TO_ACCEPT が有効な場合、ルールは次のようになります: .Bd -literal -offset center 65535 allow all from any to any .Ed .Pp このバリエーションでは全てが通過可能です。 このオプションを有効にしてよいのは特定の状況だけであり、 例えば通常は解放しており、 必要に応じてサービス拒否 (denial-of-service) フィルタとなる ファイアウォールシステムを使用する場合がこれに該当します。 .Pp オプションは以下のものが利用可能です。 .Bl -tag -width flag .It Fl a list 操作の時、カウンタの値を表示します。 show の項を参照のこと。 .It Fl f 操作を実行する際に確認メッセージを表示しません。 flush 操作も無条件に実行されます。 .Ar (注意) プロセスに tty が関連付けられていない場合には、 このオプションが指定されているものとして実行されます。 .It Fl q ルールを add, zero, flush する際に、メッセージの出力を抑制します ( .Fl f も含まれます)。 このオプションは、リモートログインセッションでルールを調整する際に、 (例えば sh /etc/rc.firewall のようにして)スクリプトの中から複数の ipfw コマンド を 実行する場合や、 多数の ipfw ルールを記述したファイルを用いる場合に 便利です。 flush 操作が通常の(冗舌な)状態(デフォルトのカーネルの設定) で実行されると、メッセージが出力されます。 ここで、すべてのルールは削除されるので、メッセージをログインセッションに 送ることができず、ログインセッションがクローズされてしまうので、 残りのルールセットは実行されません。 この状態を修復するにはコンソールへのアクセスが必要となります。 .It Fl t list 操作の時に、最後にマッチしたパケットのタイムスタンプを表示します。 .It Fl N IPアドレスとサービス名をリゾルブしてホスト名で表示します。 .El .Pp .Ar action : .Bl -hang -offset flag -width 1234567890123456 .It Ar allow マッチするパケットを通過させ、マッチングを終了します。 .Ar pass , .Ar permit , .Ar accept と同じです。 .It Ar deny マッチするパケットを破棄し、マッチングを終了します。 .Ar drop は .Ar deny と同じです。 .It Ar reject (パケットを送らないよう嘆願) マッチするパケットを破棄し、 ICMP の host unreachable を送信して、終了します。 .It Ar unreach code パケットを破棄し、ICMP の unreachable に .Ar code を付けて送信します。 .Ar code は、 0 から 256 までの数字、もしくは、以下に列挙する別名のいずれかです: .Ar net, .Ar host , .Ar protocol , .Ar port , .Ar needfrag , .Ar srcfail , .Ar net-unknown , .Ar host-unknown , .Ar isolated , .Ar net-prohib , .Ar host-prohib , .Ar tosnet , .Ar toshost , .Ar filter-prohib , .Ar host-precedence , .Ar precedence-cutoff 。送信後、終了します。 .It Ar reset TCP パケットのみに対応。 パケットを破棄し、TCP の (RST) を送信し、終了します。 .It Ar count マッチするパケットのカウンタを更新し、引続きマッチングを行ないます。 .It Ar divert port マッチするパケットを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、マッチングを終了します。 .It Ar tee port マッチするパケットのコピーを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、引続きマッチングを行ないます。 この機能は未実装です。 .It Ar fwd ipaddr Op ,port マッチしたパケットの次のホップを .Ar ipaddr に変更します。これはドット付き 4 つ組の IP アドレスでもホスト名でもよいです。 .Ar ipaddr が直接到達可能なアドレスではない場合、その IP に対して ローカルルーティングテーブルでみつかる経路を使用します。 .Ar ipaddr がローカルアドレスの場合、 リモートホストからこのシステムにパケットが到着すると、 そのパケットをローカルマシンの .Ar port に転換します。 その際、 ソケットのローカルアドレスは、 パケットの元々の宛先の IP アドレスのままとします。 これは透過的プロキシサーバのためにあります。 IP が ローカルアドレスではない場合、ポート番号は (指定されていても) 無視され、 ルールはシステムから出て行くパケットに対してのみ適用されます。 また、」 パケットローカルに生成された時にもアドレスをローカルポートにマップします。 検索はルールがマッチしたときに終了します。 ポート番号が与えられなかった場合、パケット中のポート番号が使用され、 外部マシンのポート Y へのパケットは ローカルポート Y へ転送されます。 カーネルは、 オプション IPFIREWALL_FORWARD 付きでコンパイルされている必要があります。 .It Ar skipto number .Ar number より小さな番号のルールを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、マッチングを継続します。 .El .Pp パケットが .Ar divert や .Ar tee のどちらかひとつ以上、もしくは両方の組み合わせの、複数のルールにマッチした場合、 最後のものを除き、無視します。 .Pp カーネルが .Dv IPFIREWALL_VERBOSE オプション付きでコンパイルされている場合に、``log'' が指定されているルールと マッチした時は、メッセージをコンソールに表示します。 もし、 .Dv IPFIREWALL_VERBOSE_LIMIT オプション付きでコンパイルされている場合、一連のルールに対し指定されたパケット 数を受信した後、メッセージの表示を中止します。 パケットのカウンタをクリアすれば再びメッセージを出力します。 .Pp コンソールへの表示とその制限数は、 .Xr sysctl 8 を通し、直接設定できます。 .Pp .Ar proto : .Bl -hang -offset flag -width 1234567890123456 .It Ar ip 全パケットがマッチします。別名 .Ar all も使えます。 .It Ar tcp TCP パケットのみマッチします。 .It Ar udp UDP パケットのみマッチします。 .It Ar icmp ICMP パケットのみマッチします。 .It Ar 指定されたプロトコルのパケットのみマッチします ( .Pa /etc/protocols のリストを参照の事) .El .Pp .Ar src と .Ar dst : .Pp .Bl -hang -offset flag .It Ar
.Op Ar ports .El .Pp .Em
は以下のように指定できます。 .Bl -hang -offset flag -width 1234567890123456 .It Ar ipno IP番号を 1.2.3.4 の形式で指定します。指定されたアドレスのみがマッチします。 .It Ar ipno/bits IP番号とネットマスクの幅を 1.2.3.4/24 の形式で指定します。 この場合は 1.2.3.0 から 1.2.3.255 のアドレスがマッチします。 .It Ar ipno:mask IP番号とネットマスクの幅を 1.2.3.4:255.255.240.0 の形式で指定します。 この場合は 1.2.0.0 から 1.2.15.255 のアドレスがマッチします。 .El .Pp アドレスの前に ``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 から取った)サービス名を使用できます。 port-port の書式で、最初の値に限り範囲指定できます。 列挙出来るポート数は .Pa /usr/src/sys/netinet/ip_fw.h で .Dv IP_FW_MAX_PORTS として定義されています。 .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 一つ以上のポート仕様を持つルールにはマッチしません。? 断片化されたパケットへのマッチングに関する詳細は .Ar frag オプションを参照してください。 .Pp マッチングのルールは、入ってくるパケットか、出ていくパケット、もしくはその両方 に対し適応されます。 .Ar in を指定すれば、入ってくるパケットのみにルールを適応します。 .Ar out を指定すれば、出ていくパケットのみに適応します。 .Pp 特定のインタフェースを通過するパケットには、 .Ar via を用いてインタフェースを指定します: .Bl -hang -offset flag -width 1234567890123456 .It Ar via ifX .Ar ifX を通過するパケットを指定します。 .It Ar via if* .Ar ifX を通過するパケットを指定します。X はいずれかのユニットの番号です。 .It Ar via any .Em いずれか のインタフェースを通過するパケットを指定します。 .It Ar via ipno IP アドレスが .Ar ipno のインタフェースを通過するパケットを指定します。 .El .Pp .Ar via を用いると、常時指定されたインタフェースがチェックされます。 .Ar recv や .Ar xmit を、 .Ar via の代わりに指定すると、 受信、もしくは送信インタフェースのみが(各々に)チェックされます。 両方を指定すれば、 受信と送信の両方のインタフェースを通るパケットを指定できます。 例 : .Pp .Dl "ipfw 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 via と共に .Ar xmit もしくは、 .Ar recv を指定する事はできません。 .Pp 個々のパケットは、受信用ないし送信用インタフェースを持たないかもしれません。 ローカルホストで発生したパケットには受信用のインタフェースはないし、 ローカルホスト内宛のパケットは、送信用インタフェースが有りません。 .Pp 追加用 .Ar options : .Bl -hang -offset flag -width 1234567890123456 .It frag パケットが断片(フラグメント)化されたデータグラムの一部で、かつデータグラムの 先頭の断片でない場合にマッチします。 .Ar frag を、 .Ar tcpflags や TCP/UDP ポート仕様と共に使用することはできません。 .It in ネットワークから受信したパケットのみマッチします。 .It out ネットワークへ送信するパケットのみマッチします。 .It ipoptions Ar spec IP ヘッダが、 .Ar spec に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 サポートされている IP オプションは .Ar ssrr (strict source route), .Ar lsrr (loose source route), .Ar rr (record packet route), .Ar ts (timestamp) です。 ``!'' によって、特定のオプションを含めないよう指定できます。 .It established RST または ACK ビットがセットされているパケットのみマッチします。 このビットがセットされることがあるのは TCP のパケットのみです。 .It setup SYN ビットがセットされ ACK がセットされていないパケットのみマッチします。 このビットがセットされることがあるのは TCP のパケットのみです。 .It tcpflags Ar spec TCP ヘッダが .Ar spec に指定されたコンマで区切られたフラグのリストを含む場合にのみマッチします。 サポートされているフラグは、 .Ar fin , .Ar syn , .Ar rst , .Ar psh , .Ar ack , .Ar urg です。 ``!'' によって、特定のフラグを含めないよう指定できます。 .Ar tcpflags 仕様を含むルールは非 0 のオフセットを持つ断片化されたパケットに マッチすることはありません。 断片化されたパケットに関するマッチについての詳細は .Ar frag オプションを参照してください。 .It icmptypes Ar types ICMP タイプが .Ar types で指定されたリスト中に存在する場合にのみ適用されるルールとなります。 リストはレンジの組み合わせでも、各タイプをコンマで区切ったものでもどちらでも かまいません。 .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点を述べます。 .Bl -bullet -hang -offset flag .It かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる のがよいでしょう。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 長所 ファイアウォールが常に破棄するパケットが 1 種類あります。 フラグメントオフセットが 1 のフラグメントパケットです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 .Pp -ネットワーク越しにログインしている場合、LKM 版の +ネットワーク越しにログインしている場合、KLD 版の .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset center -modload /lkm/ipfw_mod.o && \e +kldload /modules/ipfw.ko && \e ipfw add 32000 allow all from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset center ipfw flush .Ed .Pp とするのは良くありません。 .Pp システムセキュリティレベルが 3 以上に設定されている場合、 IP フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .Sh パケットの行き先変更 指定されたポートを見ているソケットは、そのポートへ行き先変更されたパケットを、 全部受けとります。 .Xr divert 4 を参照して下さい。ポートを見ているソケットがない場合やカーネルがパケットの行き 先変更をサポートするようにはコンパイルされていない場合、パケットは破棄されます 。 .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 23 .Pp 次のコマンドはネットワーク hackers からホスト my への全てのコネクションを 拒否します。 .Pp .Dl ipfw add deny all from 123.45.67.0/24 to my.host.org .Pp 次はカウントされている情報とタイムスタンプを見る例です .Pp .Dl ipfw -at l .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a l .Pp 次のルールは 192.168.2.0/24 からの全ての受信パケットを、5000番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 all from 192.168.2.0/24 to any in .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr divert 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 入ってきたパケットの断片(フラグメント)が .Ar divert によって行き先を変更されると、ソケットに配送される前に、組み立て直しをします。 それに対し、 .Ar tee を経由した断片(フラグメント)は、組み立て直しされません。 .Pp ポートの別名でダッシュ (-) を含むものは、リストの最初には書けません。 .Pp ``tee'' アクションは未実装です。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs . API は .An Daniel Boulet が BSDI 向けに記述したコードに基づいています。 .Sh 歴史 .Nm は、FreeBSD 2.0 で最初に現れました。 diff --git a/ja/man/man8/joy.8 b/ja/man/man8/joy.8 index 98c9f804cc..b6627cbeb5 100644 --- a/ja/man/man8/joy.8 +++ b/ja/man/man8/joy.8 @@ -1,46 +1,46 @@ .\" .\" Copyright (c) 1996 Jean-Marc Zucconi .\" 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" %Id: joy.8,v 1.4 1997/02/22 12:48:18 peter Exp % -.\" jpman %Id: joy.8,v 1.3 1997/07/22 16:48:04 horikawa Stab % +.\" %Id: joy.8,v 1.4.2.1 1999/04/06 13:55:20 ghelmer Exp % .\" +.\" jpman %Id: joy.8,v 1.3 1997/07/22 16:48:04 horikawa Stab % .Dd March 16, 1996 .Dt JOY 8 .Os FreeBSD .Sh 名称 .Nm joy .Nd ジョイスティックドライバのカーネルモジュールを読み込む。 .Sh 書式 .Nm joy .Sh 解説 .Nm は、ジョイスティックドライバのカーネルモジュールを読み込みます。 .Sh 関連ファイル -.Bl -tag -width /lkm/joy_mod.o -.It Pa /lkm/joy_mod.o +.Bl -tag -width /modules/joy.ko +.It Pa /modules/joy.ko ジョイスティックの読み込み可能カーネルモジュール .Sh 関連項目 .Xr joy 4 , -.Xr lkm 4 , -.Xr modload 8 +.\"no equivalent for kld's yet":.Xr lkm 4 , +.Xr kldload 8 diff --git a/ja/man/man8/linux.8 b/ja/man/man8/linux.8 index 0341effbf7..ebf498fdf5 100644 --- a/ja/man/man8/linux.8 +++ b/ja/man/man8/linux.8 @@ -1,45 +1,47 @@ .\" .\" Copyright (c) 1997 .\" The FreeBSD Project. 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" %Id: linux.8,v 1.3 1997/02/22 12:48:26 peter Exp % -.\" jpman %Id: linux.8,v 1.3 1997/07/22 16:50:43 horikawa Stab % +.\" %Id: linux.8,v 1.3.2.1 1999/04/06 13:51:38 ghelmer Exp % .\" +.\" jpman %Id: linux.8,v 1.3 1997/07/22 16:50:43 horikawa Stab % .Dd January 9, 1997 .Dt LINUX 8 .Os FreeBSD .Sh 名称 .Nm linux .Nd Linux エミュレータのカーネルモジュールを読み込む .Sh 書式 .Nm linux .Sh 解説 .Nm -は、 Linux エミュレータのカーネルモジュールを読み込みます。 +は、Linux エミュレータのカーネルモジュールを読み込みます。 .Sh 関連ファイル -.Bl -tag -width /lkm/linux_mod.o -.It Pa /lkm/linux_mod.o +.Bl -tag -width /modules/linux.ko +.It Pa /modules/linux.ko Linux エミュレータの読み込み可能カーネルモジュール .Sh 関連項目 -.Xr lkm 4 , -.Xr modload 8 +.\"Can't find equivalent for modules (n_hibma@freebsd.org):.Xr lkm 4 , +.Xr kldload 8 , +.Xr kldunload 8 , +.Xr kldstat 8 diff --git a/ja/man/man8/mount.8 b/ja/man/man8/mount.8 index b6b4abcbbb..e16da1da4a 100644 --- a/ja/man/man8/mount.8 +++ b/ja/man/man8/mount.8 @@ -1,383 +1,384 @@ .\" Copyright (c) 1980, 1989, 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. .\" .\" @(#)mount.8 8.8 (Berkeley) 6/16/94 -.\" %Id: mount.8,v 1.24 1998/10/16 00:06:56 des Exp % +.\" %Id: mount.8,v 1.24.2.1 1999/04/08 14:00:59 ghelmer Exp % .\" .\" jpman %Id: mount.8,v 1.2 1997/05/03 11:26:50 horikawa Stab % .\" .Dd June 16, 1994 .Dt MOUNT 8 .Os BSD 4 .Sh 名称 .Nm mount .Nd ファイルシステムをマウントする .Sh 書式 .Nm mount .Op Fl adfpruvw .Op Fl t Ar ufs | lfs | external_type .Nm mount .Op Fl dfpruvw .Ar special | node .Nm mount .Op Fl dfpruvw .Op Fl o Ar options .Op Fl t Ar ufs | lfs | external_type .Ar special node .Sh 解説 .Nm コマンドは .Xr mount 2 システムコールを使用して、 .Ar "スペシャルデバイス" かリモートノード (rhost:path) を ファイルシステムツリーの .Ar node へ接合します。 もし .Ar special または .Ar node が指定されなかった場合には、 .Xr fstab 5 ファイルから適切な情報を取得します。 .Pp システムは、現在マウントしているファイルシステムのリストを管理しています。 .Nm コマンドを引数を与えずに実行すると、このリストが表示されます。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl a .Xr fstab 5 に記述されているファイルシステムを すべてマウントします。 例外は、``noauto'' が指定されているもの、 .Fl t フラグにて除外されているもの (後述)、 既にマウントされているもの (ルートファイルシステムは伝統的なシングルユーザモードの動作を保つ ために除外されます) です。 通常、これはシステムの起動時に実行されます。 .It Fl d システムコールの実行以外のすべてのことを行ないます。 このオプションを .Fl v とともに指定することで、 .Nm コマンドが何をしようとしているのかを確認することができます。 .It Fl f ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 .It Fl o オプションは .Fl o の後にコンマで区切って指定します。 以下のオプションが指定できます: .Bl -tag -width indent .It async 指定したファイルシステムのすべての .Tn I/O を非同期に行います。 このフラグを指定することは非常に .Em 危険 ですので、 システムクラッシュ時にファイルシステムを 作り直す用意ができていないかぎりは使うべきではありません。 .It force .Fl f オプションと同じです。 ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 .It noatime ファイル読み取り時に、ファイルアクセス時刻を更新しません。 このオプションが便利なのは、 多くのファイルを持ち、(ほとんどの場合重要ではない) ファイルアクセス時刻 を更新するよりも性能が重要であるファイルシステムです。 このオプションは現在ローカルファイルシステムでのみサポートされています。 .It noauto mount が .Fl a フラグ付きで動作しているときに、このファイルシステムをスキップします。 .It noclusterr リード時のクラスタリングを無効にします。 .It noclusterw ライト時のクラスタリングを無効にします。 .It nodev ファイルシステム上のキャラクタスペシャルデバイスや ブロックスペシャルデバイスを解釈しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の スペシャルデバイスを含むファイルシステムを持っている場合に有用です。 .It noexec マウントしているファイルシステム上のバイナリの 実行を許可しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の バイナリを含むファイルシステムを持っている場合に有用です。 .It nosuid 実効ユーザ ID (set-user-ID) セット、 実効グループ ID (set-group-ID) セットビットの 効果をなくします。 注意: .Xr suidperl 1 のような suid/sgid ラッパが 誰でも使えるようにシステムにインストールされている場合には、価値がありません。 .It nosymfollow マウントされたファイルシステムにおいては、シンボリックリンクを追跡しません。 .It rdonly .Fl r と同じく、マウントするファイルシステムを読み込み専用とします (スーパユーザでも書き込みできなくなります)。 .It sync ファイルシステムのすべての .Tn I/O を同期的に行います。 .It suiddir マウントされたファイルシステムにおけるディレクトリに SUID ビットがセットされると、 新規ファイルの所有者をディレクトリの所有者に設定します。 新規ディレクトリは親ディレクトリのビットを継承します。 実行ビットはファイルから取り除かれ、root には与えられません。 .Pp この機能は PC ユーザに対して ftp, SAMBA, netatalk のサービスを行う ファイルサーバのためにデザインされました。 これはシェルユーザに対してセキュリティホールとなりますので、 特にホームディレクトリを持つシェルマシンでは使用すべきではありません。 このオプションが動作するためには、カーネルの SUIDDIR オプションが必要です。 UFS ファイルシステムのみがこのオプションをサポートします。 詳細は .Xr chmod 2 を参照してください。 .It update .Fl u と同じく、すでにマウントされているファイルシステムの状態を変化させることを 指示します。 .It union マウントポイント以下の名前空間に、マウントされたファイルシステムのルートと マウントポイントに元から存在するディレクトリの両方が見えるようにします。 名前を検索するときは、マウントしたファイルシステムが先に検索されます。 ファイルが存在しない ために検索が失敗した場合は、既存のディレクトリがアクセスされます。 ファイル等の作成は、すべて マウントしたファイルシステム上に対して行われます。 .El .Pp .Nm が内部で知っているファイルシステムタイプ .Pf ( Fl t オプションを参照) 以外の、ファイルシステムタイプに固有のオプションは、 コンマで区切って指定します。このオプションは、オプションの前に .Dq \&- (ダッシュ記号) をつけて区別します。値を持つオプションは、 -option=valueの形で指定します。 たとえば、 .Bd -literal -offset indent mount -t mfs -o nosuid,-N,-s=4000 /dev/dk0b /tmp .Ed .Pp では、 .Nm コマンドは以下と同じものを実行します: .Bd -literal -offset indent /sbin/mount_mfs -o nosuid -N -s 4000 /dev/dk0b /tmp .Ed .It Fl p マウント情報を fstab の形式で表示します。暗黙的に .Fl v オプションを指定します。 .It Fl r ファイルシステムをリードオンリーで マウントします (スーパユーザでも書き込みは行えません)。 これは、 .Fl o オプションで .Dq rdonly を指定するのと同じです。 .It Fl t Ar "ufs \\*(Ba lfs \\*(Ba external type" .Fl t のあとの引数にはファイルシステムタイプを指定します。 デフォルトは、 .Ar ufs です。 .Fl t オプションによって、 .Nm コマンドの操作が、指定した特定のタイプのファイルシステムに対してのみ 行われるように指示することができます。 2つ以上のタイプを指定するにはコンマで区切ります。 ファイルシステムリスト の先頭に .Dq no という文字をつけることに よって、 .Nm コマンドの操作の対象と .Em しない ファイルシステムタイプを指定することができます。 以下に例を示します: .Bd -literal -offset indent mount -a -t nonfs,mfs .Ed .Pp は、 .Tn NFS と .Tn MFS を除いた、すべてのファイルシステムをマウントします。 .Pp type を内部で解釈できない場合、 .Nm は .Pa /sbin/mount_ Ns Em XXX というプログラムを実行しようとします。 .Em XXX の部分が type になります。たとえば nfs ファイルシステムは、 .Pa /sbin/mount_nfs というプログラムによってマウント されます。 .Pp ほとんどのファイルシステム用モジュールは カーネル中にない場合、ファイルシステム別のマウントプログラム によって動的に読み込まれます。 そこでは .Xr vfsload 3 サブルーチンが使われます。 この機構には書き込み可能な作業領域が必要なため、 .Pa /tmp があるファイルシステムタイプのモジュールはカーネルに 組み込まれている必要があります。さらに .Pa /etc/fstab において、 .Pa /tmp や .Pa /usr/bin/ld があるファイルシステムは 動的に読み込まれるファイルシステムよりも前に 記述されていなければいけません。 .It Fl u .Fl u フラグは、すでにマウントしているファイルシステム の状態の変更を指示します。 ファイルシステムを読み込み専用から読み書き可能へ、またその逆へも変更することを 含めて、すでに説明したすべてのオプション .Pf ( Fl o オプション) の内容を変更することができます。 読み書き可能なファイルシステムを読み出し専用に変更する場合、 書き込みのためにオープンしているファイルがあるときには、 .Fl f オプションを指定しなければ変更に失敗します。 どのオプションを適用するかを決定する際、最初に .Xr fstab 5 のテーブル を参照し、適用します。その次に .Fl o オプションの引数を適用し、最後に .Fl r 、 .Fl w オプションが適用されます。 .It Fl v 詳細なメッセージを表示します。 .It Fl w ファイルシステムを読み書き可能とします。 .Pp .Tn NFS ファイルシステムに対して指定できるオプションは、 .Xr mount_nfs 8 のマニュアルに記述されています。 .Sh 関連ファイル .Bl -tag -width /etc/fstab -compact .It Pa /etc/fstab ファイルシステムテーブル .El .Sh 診断 多岐に渡りますが、ほぼ全てが自明です。 .Pp .Dl XXXXX filesystem is not available .Pp カーネルはそのファイルシステムタイプをサポートしていません。 ファイルシステムのサポートは、 静的 (カーネルコンパイル時) もしくは動的 ( -.Xr modload 8 +.Xr kldload 8 によってカーネルモジュールとしてロードされる) です。 通常、 .Nm もしくはそのサブプロセスは、 ファイルシステムモジュールが静的に組み込まれていない場合は、 .Xr vfsload 3 を使用して動的にそのファイルシステムモジュールをロードしようとします。 この場合上記エラーメッセージは、 モジュールをロードするパーミッションを持たないことも意味する場合があります。 .Sh 関連項目 .Xr mount 2 , .Xr vfsload 3 , .Xr fstab 5 , +.Xr kldload 8 , .Xr mount_cd9660 8 , .Xr mount_devfs 8 , .Xr mount_fdesc 8 , .Xr mount_kernfs 8 , .Xr mount_lfs 8 , .Xr mount_mfs 8 , .Xr mount_msdos 8 , .Xr mount_nfs 8 , .Xr mount_null 8 , .Xr mount_portal 8 , .Xr mount_procfs 8 , .Xr mount_umap 8 , .Xr mount_union 8 , .Xr umount 8 .Sh バグ 異常なファイルシステムをマウントすると、 システムクラッシュを引き起こすことがあります。 .Pp ``mount -u'' を使用して、 ファイルシステムの非同期動作と通常動作を切り替えたり、 読み書きアクセスと読み込み専用アクセスを切り替えたりすると、 致命的にファイルシステムを破壊することがあります。 .Sh 警告 マウントに成功した後にマウントされたファイルシステムから .Pa ".." がアクセス可能かどうかは、 元のマウントポイントのパーミッションが決定します。 全ユーザが双方向にマウントポイントを行き来可能とするために最低限必要な パーミッションは 0111 (全員が実行可能) です。 .Sh 歴史 .Nm コマンドは .At v1 から登場しています。 diff --git a/ja/man/man8/mountd.8 b/ja/man/man8/mountd.8 index 4ac827a655..7d6df815f1 100644 --- a/ja/man/man8/mountd.8 +++ b/ja/man/man8/mountd.8 @@ -1,157 +1,157 @@ .\" Copyright (c) 1989, 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. .\" .\" @(#)mountd.8 8.4 (Berkeley) 4/28/95 -.\" %Id: mountd.8,v 1.14 1998/10/15 13:37:35 mckay Exp % +.\" %Id: mountd.8,v 1.14.2.1 1999/04/08 14:04:30 ghelmer Exp % .\" .\" jpman %Id: mountd.8,v 1.3 1997/05/19 17:06:05 horikawa Stab % .\" .Dd April 28, 1995 .Dt MOUNTD 8 .Os .Sh 名称 .Nm mountd .Nd リモートの .Tn NFS マウント要求に対するサービスを行うデーモン .Sh 書式 .Nm mountd .Op Fl 2dlnr .Op Ar exportsfile .Sh 解説 .Nm は、他のクライアントマシンからの .Tn NFS マウント要求のためのサーバです。 .Nm は、 .Tn NFS サーバの仕様で示されているポート 番号でサービス要求を待ちます。詳細は RFC1094 .%T "Network File System Protocol Specification" の Appendix A と .%T "NFS: Network File System Version 3 Protocol Specification" の Appendix I を参照してください。 .Pp .Nm では、以下のオプションや引数を指定できます: .Bl -tag -width indent このサーバからファイルシステムをマウントするクライアントに対し、 管理者はバージョン 2 .Tn NFS プロトコルのみの使用を強制できます。 .It Fl d デバッグ情報を出力します。 .It Fl l 成功した .Nm 要求を記録します。 .It Fl n 非ルートからのマウント要求を許可します。 このオプションは、 クライアントが PC であるなど、それがどうしても必要な 場合にのみ使うようにしてください。 その場合、自動的に vfs.nfs.nfs_privport sysctl フラグがクリアされます。 このフラグはカーネルが NFS 要求を受け付けるのが、 予約されたポートからのみか否かを制御します。 .It Fl r 通常ファイルに対するマウント RPC 要求を許可します。 これは、マウントプロトコルの仕様によると危険なようですが、 いくつかのディスクレスワークステーションは、スワップファイルをマウント しようとしますし、それが通常ファイルであることを期待しています。 通常ファイルは .Pa /etc/exports で指定できないので、スワップが置かれようとしているファイルシステム全体 が、 .Fl alldirs フラグとともに公開されていなければなりません。 .It Ar exportsfile exports ファイルの置き場所を指定します。 .El .Pp 起動されると、 .Nm は .Xr mount 2 システムコールによって、公開するホストアドレスとオプションを カーネル内にロードします。 公開設定ファイルを変更した場合は、 .Nm に対して回線切断シグナルを送って 公開設定情報を再ロードする必要があります。 .Dv SIGHUP を送ったあと(例: kill \-s HUP `cat /var/run/mountd.pid` )、exports ファイルにエラーがあるかどうか、 .Nm の出力をチェックしてください。 .Pp 動作中のカーネルは .Tn NFS を組み込んでいないものであると判明した場合、 .Nm は、 .Xr vfsload 3 を用いる -.Xr modload 8 +.Xr kldload 8 コマンドを使って、 .Tn NFS を含むローダブルカーネルモジュールのロードを試みます。 これが失敗するか、 -.Tn NFS LKM -が使用できない場合は、 +.Tn NFS +KLD が使用できない場合は、 .Nm はエラー終了します。 .Sh 関連ファイル .Bl -tag -width /var/run/mountd.pid -compact .It Pa /etc/exports 公開設定ファイル(エキスポートファイル) .It Pa /var/run/mountd.pid 現在実行中の .Nm のプロセス id .Tn ID .It Pa /var/db/mountdtab 現在マウントされているリモートファイルシステムのリスト .El .Sh 関連項目 .Xr nfsstat 1 , .Xr exports 5 , -.Xr modload 8 , +.Xr kldload 8 , .Xr nfsd 8 , .Xr portmap 8 , .Xr showmount 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 から登場しています。 diff --git a/ja/man/man8/mrouted.8 b/ja/man/man8/mrouted.8 index 863e229ece..f41480c150 100644 --- a/ja/man/man8/mrouted.8 +++ b/ja/man/man8/mrouted.8 @@ -1,636 +1,635 @@ .\"COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University. -.\"%Id: mrouted.8,v 1.12 1999/01/20 07:55:51 fenner Exp % +.\"%Id: mrouted.8,v 1.12.2.1 1999/03/20 04:29:56 billf Exp % .\" jpman %Id: mrouted.8,v 1.3 1997/07/26 22:00:11 horikawa Stab % .Dd May 8, 1995 .Dt MROUTED 8 .Sh 名称 .Nm mrouted .Nd IP マルチキャストルーティングデーモン .Sh 書式 .Nm mrouted .Op Fl c Ar config_file .Op Fl d Op Ar debug_level .Op Fl p .Sh 解説 .Nm は、Distance-Vector Multicast Routing Protocol (DVMRP) の実装です。 DVMRP の以前のバージョンは RFC1075 で規定されています。 本コマンドは distance-vector routing protocol (RIP に似たプロトコルであり、RFC1058 に記述されています) を使うことで、ネットワークトポロジに関する情報を管理し、 そのプロトコルの上で、Reverse Path Multicasting と呼ばれる マルチキャストデータグラムフォワーディングアルゴリズムを実装しています。 .Pp .Nm は、マルチキャストデータグラムを、データグラムが生成されたサブネットを幹と して樹状に構成されるパス上に、パスの最短距離を通過するようにして送出します。 マルチキャストツリーは目的のグループを含むサブネットを越えないブロード キャストツリーと考えることができます。 したがって、データグラムはマルチキャストの受け手がいない枝には送出され ません。 さらに、マルチキャストデータグラムパケットの生存時間によっては、到達で きる範囲が限定される場合もあります。 .Pp IP マルチキャストをサポートしない (ユニキャスト) ルータを介したサブネット間で、 マルチキャストを実現するために、 .Nm の実装にはトンネリングのサポートも含まれます。トンネリングとは、 インターネットのあらゆるところにて稼働している マルチキャストルータ の組の間で仮想的なポイントツーポイントリンクを確立する技術です。 IP マルチキャストパケットは、トンネルを通過するところでカプセル化されます。 間にあるルータ及びサブネットにとっては、 カプセル化されたパケットは、 通常のユニキャストデータグラムに見えます。 トンネルの入口でカプセル化が行われ、トンネルの出口でカプセルが取り外されます。 パケットは、IP-in-IP プロトコル (IP プロトコル番号 4) を用いることでカプセル化を 行ないます。 古いバージョンの .Nm のトンネリングは、 IP ソースルーティングを用いたものですが、 これはルータによっては大きな負荷をかけることになります。 本バージョンでは、IP ソースルーティングを用いたトンネリングは サポートしません。 .Pp トンネリング機構の実装により、 .Nm は、 実際のインターネットとは独立の、 マルチキャストパケットのみを扱う広範囲の自立システムに跨る 仮想インターネットを構築できます。 この機能は、 普通の (ユニキャスト) ルータによるマルチキャストルーティングの 広範囲なサポートがなされるまで、 インターネットマルチキャスティングのみを実験的に サポートするように意図したものです。 .Nm は distance vector ルーティングプロトコルが持つ よく知られたスケーリングの問題の影響を被りますし、 階層的なマルチキャストルーティングを (まだ) サポートしていません。 .Pp .Nm はマルチキャストルーティングのみを扱いますので、同じ機械の上でユニキャ ストルーティングソフトが走っていてもいなくても構いません。 トンネリングを利用すれば、 .Nm はマルチキャストフォワーディングのためにひとつより多くの 物理的なサブネットにアクセスする必要がありません。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl c Ar config_file 別の設定コマンドファイルを指定します。 デフォルトは .Pa /etc/mrouted.conf です。 .It Fl d Op Ar debug_level .Fl d オプションが与えられないか、もしくは debug level として 0 が指定された 場合、 .Nm は起動された端末から切り離されます。それ以外の場合は、 .Nm は、起動された端末に残り、起動された端末からのシグナルを受け付けます。 debug level の指定の有無にかかわらず、 .Nm は常に警告メッセージやエラーメッセージを syslogd に対して送ります。 .Fl debug-level 引数は、次に示すものをコンマで区切ったリストです: .Bl -tag -width indent .It "packet" 送受信したすべてのパケットに関し、タイプ・ソース・宛先を表示します。 .It "pruning" 送受信した枝苅りに関し、更なる情報を表示します。 .It "routing" 送受信した経路更新パケットに関し、更なる情報を表示します。 .It "route_detail" 経路更新に関し、過度に詳細な程表示します。 大概の場合、情報が多すぎるでしょう。 .It "neighbors" 隣接ルータ発見に関し、情報を表示します。 .It "cache" カーネルのフォワーディングキャッシュに関し、挿入・削除・更新を表示します。 .It "timeout" タイムアウトと定期処理をデバッグします。 .It "interface" インタフェースとその設定に関し、情報を表示します。 .It "membership" 物理インタフェースにおけるグループメンバシップに関し、情報を表示します。 .It "traceroute" このルータを通過するマルチキャスト経路追跡要求に関し、情報を表示します。 .It "igmp" グループメンバシップおよび問い合わせ者選出を含む IGMP 操作を表示します。 .\" Display IGMP operation including group membership and querier election. .\" including 以降はこれで良いのか? .It "icmp" ICMP 操作を監視します。 .It "rsrr" RSRR 操作を監視します。 .El .Pp 起動にともない、 .Nm はそのプロセス ID を .Pa /var/run/mrouted.pid ファイルに 書き出します。 .Sh 初期設定 .Nm は、自動的にすべてのマルチキャスト可能なインタフェース、 つまり、IFF_MULTICAST フラグがセットされたインタフェース (ループバックインタフェースは除きます) に対して初期化を行い、別の DVMRP ルータ に直接接続可能なインタフェースを探索します。 デフォルトの設定を上書きする、あるいは別の マルチキャストルータ に対するトンネルリンクを付加するには、 .Pa /etc/mrouted.conf (もしくは .Fl c オプションによって指定されるファイル) を編集します。 .Pp ファイルの形式は自由です。すなわち、空白文字 (改行も含みます) は意味を 持ちません。 -.\" send-pr すること (.IR mrouted 's -> .Nm mrouted Ns 's) .Nm mrouted の操作全体またはデフォルト設定に適用されるコマンドから、ファイルは開始します。 .Bl -tag -width indent .It cache_lifetime Ar secs カーネル内の マルチキャストフォワーディングキャッシュ経路エントリの生存時間を、 秒で指定します。 カーネル内のマルチキャストフォワーディングキャッシュのエントリは、 .Ar secs 秒毎にチェックされ、ソースがアクティブな場合にはリフレッシュされ、 そうでない場合は削除されます。 この値を設定するときには注意してください。 小さな値を設定するとカーネルキャッシュは小さくなりますが、 定期的な送信者がいると キャッシュの「スラッシング」が起るという弊害がありますし、 大きな値を設定すると許容できない程カーネルキャッシュが大きくなります。 デフォルトは 300 (5 分) です。 .It prune_lifetime Ar secs 親に送った枝苅りの平均生存時間を、秒で指定します。 実際の生存時間は [.5\fIsecs\fP,1.5\fIsecs\fP] の範囲でランダムとなります。 デフォルトは 7200 (2 時間) です。 小さな値を設定するとこのルータおよび親ルータが保存する状態は少なくなりますが、 ブロードキャストの頻度が高くなるという弊害があります。 隣接ルータのリブート判定に DVMRP の世代 ID を使用しないルータがあります (例えば 3.3 以前の mrouted と、cisco の IOS の現在知られている全バージョン)。 リブートからの回復時間を短縮するために、 これらの隣接ルータに送信した枝苅りを保持する時間は短くすべきです。 このような状況で使用する場合、後述するように prune_lifetime キーワードをインタフェースに指定すると良いでしょう。 .It noflood .Nm は DVMRP 最適化を使用し、 各隣接ルータに対して個々にルーティングテーブルを持つことを避けます。 接続されている個々のサブネットに対し、 自己がフォワーダであると開始時に仮定することも、この最適化の一部です。 ちょうど今開始したルータと正しいフォワーダの両方が トラフィックをフォワードすることにより、 短期間 (およそ経路報告間隔 1 回分) 重複が生じることがあります。 この動作は noflood キーワードを指定することにより停止できます。 .Nm が自己をフォワーダであると仮定しなくなるためです。 noflood を指定すると、再開時におよそ経路報告間隔 1 回分、 ブラックホールを生じさせることがあります。 noflood キーワードは個々のインタフェースに指定可能です。 .It rexmit_prunes Ar [on|off] デフォルトでは、 .Nm は枝苅りを全ポイントツーポイントインタフェース (トンネル含む) に対して 再フォワードしますが、マルチアクセスインタフェースに対しては行いません。 本オプションを使用すると、全インタフェースに対してデフォルトをオン (またはオフ) にします。 rexmit_prunes キーワードもまた個々のインタフェースに指定可能です。 .It name Ar "boundary-name scoped-addr/mask-len" .Ar boundary-name を .Ar scoped-addr/mask-len で記述される境界に関連付け、設定ファイルにおいて、 インタフェース設定を読み易くし、繰り返しを減らします。 .El .Pp 設定ファイルの第 2 の部分は、空でも構いませんが、 物理インタフェースに適用されるオプションを記述します。 .Bl -tag -width indent .It phyint Ar "local-addr|ifname" phyint コマンド自身は何もしません。 単なる埋め草であり、この後にインタフェース固有のコマンドが続きます。 インタフェースのアドレスまたは名前を指定します。 .It disable 本インタフェースにおけるマルチキャストのフォワーディングを無効にします。 デフォルトでは、 .Nm はローカルに接続されたマルチキャスト可能なインタフェースをすべて発見し、 それらすべてに対してフォワードします。 .It netmask Ar netmask カーネルの netmask がサブネットを正確に反映していない場合 (例えば IP サブネット化の代りに代理 ARP 使用の場合)、 netmask コマンドを使用して実際の netmask を記述してください。 .It altnet Ar network/mask-len phyint が複数の IP からなるサブネットに接続されている場合、 altnet キーワードを使用してそれぞれのサブネットについて記述して下さい。 本コマンドを複数回使用して、複数のサブネットを記述可能です。 .It igmpv1 phyint 上に IGMPv1 ルータが存在する場合、 \fBigmpv1\fP キーワードを使用して .Nm を強制的に IGMPv1 モードにしてください。 phyint 上の全ルータは、同じバージョンの IGMP を使用する必要があります。 .It force_leaf このインタフェース上の他のルータを無視するように、 .Nm に強制します。 mrouted は、本インタフェース上では、 隣接ルータへプローブや経路報告を送りませんし、受け付けません。 .El .Pp 更に、後述する共通の vif コマンドを phyint に対してすべて使用可能です。 .Pp 設定ファイルの第 3 の部分は、これも空でも構いませんが、 このルータが持つ DVMRP トンネルの設定を記述します。 .Bl -tag -width indent .It tunnel Ar "local-addr|ifname" Ar "remote-addr|remote-hostname" このコマンドは、このホスト ( .Ar local-addr または .Ar ifname で記述されるインタフェース) とリモートホスト ( .Ar remote-addr または .Ar remote-hostname で識別されます) との間の DVMRP トンネルを確立します。 リモートのホスト名は、単一の IP アドレスにマップされる場合のみ使用可能です。 トンネルは、使用前に、両方のルータ上で構成されている必要があります。 リモートアドレスへのユニキャスト経路が、 .Ar "local-addr|ifname" で指定されるインタフェースから出て行くように気を付けてください。 .Nm が扱うパケットのソースアドレスを、 送出インタフェースのアドレスに 書き換えてしまう UNIX カーネルがあります。 安全第一のためには、静的なホスト単位の経路を使用してください。 .El .Pp 次の共通の vif コマンドを tunnel や phyint に対してすべて使用可能です。 .Bl -tag -width indent .It metric Ar m metric は、 指定したインタフェースもしくはトンネルでデータグラムを受信するための 「コスト」であり、経路選択に影響を与えるために使用します。 metric のデフォルト値は 1 です。metric は可能なかぎり小さくすべきです。 なぜなら、 DVMRP は metric の合計が 31 を越える経路を通ることができないからです。 .It advert_metric Ar m advert_metric は、 指定したインタフェースもしくはトンネルでデータグラムを送信するための 「コスト」であり、経路選択に影響を与えるために使用します。 advert_metric のデフォルト値は 0 です。 リンクの実際の metric は一端の metric ともう一端の advert_metric との和です。 .It threshold Ar t threshold は最小の IP の生存時間であり、 この要件を満たすマルチキャストデータグラムは 指定したインタフェースもしくはトンネルにフォワードされます。 このパラメータは、 マルチキャストデータグラムの到達範囲を定めるために使用します。 (フォワードされたパケットの TTL は threshold と比較されるだけで、 threshold だけ TTL を減らすというわけではありません。 すべてのマルチキャストルータは TTL を丁度 1 づつ減らします。) threshold のデフォルト値は 1 です。 特定のサブネットやトンネルへ接続される 全マルチキャストルータは、そのサブネットやトンネルに対し、 一般的にはすべて同じ metric と threshold を持つべきです。 .It rate_limit Ar r rate_limit オプションによって、 マルチキャストトラフィック用に何キロビット毎秒のバンド幅を割り当てるかを、 ネットワーク管理者は指定可能です。 デフォルト値は、0 (無制限) です。 .It boundary Ar "boundary-name|scoped-addr/mask-len" boundary オプションは、ある範囲のアドレスに対する管理上の境界として、 インタフェースを設定します。 この範囲のアドレスに属するパケットは範囲内のインタフェース にはフォワードされません。boundary オプションは名前もしくは境界にて指定します。 単一のインタフェースに対して本コマンドを複数回使用して、 複数の境界を記述可能です。 .It passive もう一端から何かが聞こえるまで、 このリンクまたはトンネルに対してパケットを送出しません。 要求時にダイヤルするリンク上のトンネルにおける「サーバ」側で 使用すると良いです。 「サーバ」側を passive とすることで、 もう一方から何かが聞こえるまで定期的なプローブをサーバは送りませんので、 リンクをアップ状態に保つということはありません。 トンネルの両端でこのオプションを指定すると、 トンネルはいつになっても使えないでしょう。 .It noflood 前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 .It prune_lifetime Ar secs 前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 .It rexmit_prunes Ar "[on|off]" 前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 枝苅りの再送信のデフォルトは、 ポイントツーポイントリンクとトンネルではオンであり、 マルチアクセスリンクではオフです。 .It allow_nonpruners デフォルトでは、枝苅りをサポートしないと主張する DVMRP 隣接ルータとは .Nm は仲間にはなりません。 本オプションを使用すると、本インタフェースにおいて、 このようなルータとも仲間となります。 .It notransit 経路フィルタリングの特殊ケースです。 \&"notransit" とマークされたインタフェースから学習された経路は、他の \&"notransit" とマークされたインタフェースにおいて広告されません。 単一のインタフェースのみを "notransit" とマークしても、意味はありません。 .It accept|deny Ar "(route/mask-len [exact])+" Op bidir .Li accept および .Li deny のコマンドにより、原始的な経路フィルタリングが可能となります。 .Li accept コマンドにより、設定されたインタフェースに関してリストされた経路のみ、 .Nm は受け付けます。 .Li deny コマンドにより、リストされた経路以外のすべての経路を、 .Nm は受け付けます。 ひとつのインタフェースには、 .Li accept または .Li deny のどちらかのみ使用可能です。 .Li accept と .Li deny のキーワードの後には、経路のリストが続きます。 経路の後にキーワード .Ar exact が続くと、その経路のみがマッチします。 指定しない場合には、その経路とより具体的な経路がマッチします。 例えば、 .Li deny 0/0 はすべての経路を拒否しますが、 .Li deny 0/0 exact はデフォルト経路のみ拒否します。 デフォルト経路は .Li default キーワードで指定することも可能です。 .Ar bidir キーワードは双方向の経路フィルタリングを可能にします。 フィルタは、出力および入力の両方の経路に適用されます。 .Ar bidir キーワードを指定しないと、 .Li accept および .Li deny のフィルタは、入力に対してのみ適用されます。 Poison reverse 経路は、フィルタにより取り除かれることはありません。 .El .Pp .Nm は 2 つ以上の有効な vif (仮想インタフェース) が無いときには実行を開始しません。 vif はマルチキャスト可能な物理インタフェースもしくはトンネルです。 すべての仮想インタフェースがトンネルの場合は警告が記録されます。 そのような .Nm の設定は、より多くの直接トンネルを指定した方が良いかもしれません (中間管理者を削除するという意味です)。 .Sh 設定例 次に示すのは大きな学校にある架空のマルチキャストルータでの例です。 .sp .nf # # mrouted.conf の例 # # 簡単に記述するため、境界に名前を付けます。 name LOCAL 239.255.0.0/16 name EE 239.254.0.0/16 # # le1 は compsci に対する我々のゲートウェイであり、 # ローカルグループはそちらにフォーワードしません。 phyint le1 boundary EE # # le2 は classroom ネット上の我々のインタフェースであり、 # 4 つの異なった長さのサブネットがあります。 # IP アドレスでもインタフェース名でも使えることに注意。 phyint 172.16.12.38 boundary EE altnet 172.16.15.0/26 altnet 172.16.15.128/26 altnet 172.16.48.0/24 # # atm0 は我々の ATM インタフェースであり、 # マルチキャストを正しくサポートしません。 phyint atm0 disable # # これは、別の EE サブネットに対する内部トンネルです。 # トンネルはイーサネット上にあるので、 # トンネルのデフォルトのレート制限を取り除きます。 tunnel 192.168.5.4 192.168.55.101 metric 1 threshold 1 rate_limit 0 # # これは外世界に対する我々のトンネルです。 # これらの境界には注意してくださいね、Eugene (訳注: ユージーン; 人名)。 tunnel 192.168.5.4 10.11.12.13 metric 1 threshold 32 boundary LOCAL boundary EE .fi .Sh シグナル .Nm は次のシグナルに反応します。 .Bl -tag -width indent .It HUP .Nm を再スタートします。 設定ファイルは再度読み込まれます。 .It INT 後かたづけをしてから実行終了します (たとえば、隣接するルータすべてにさよならのメッセージを送ります)。 .It TERM INT と同じです。 .It USR1 内部ルーティングテーブルを .Pa /var/tmp/mrouted.dump にダンプします。 .It USR2 内部キャッシュテーブルを .Pa /var/tmp/mrouted.cache にダンプします。 .It QUIT 内部ルーティングテーブルを stderr にダンプします。 ただし、 .Nm が 0 以外の debug level の時のみです。 .El .Pp シグナルを送る際の便宜のために、 .Nm は開始時に自身のプロセス ID を .Pa /var/run/mrouted.pid に書き出します。 .Sh 使用例 ルーティングテーブルは次のようになります: .nf .ft C Virtual Interface Table Vif Local-Address Metric Thresh Flags 0 36.2.0.8 subnet: 36.2/16 1 1 querier groups: 224.0.2.1 224.0.0.4 pkts in: 3456 pkts out: 2322323 1 36.11.0.1 subnet: 36.11/16 1 1 querier groups: 224.0.2.1 224.0.1.0 224.0.0.4 pkts in: 345 pkts out: 3456 2 36.2.0.8 tunnel: 36.8.0.77 3 1 peers: 36.8.0.77 (3.255) boundaries: 239.0.1/24 : 239.1.2/24 pkts in: 34545433 pkts out: 234342 3 36.2.0.8 tunnel: 36.6.8.23 3 16 Multicast Routing Table (1136 entries) Origin-Subnet From-Gateway Metric Tmr In-Vif Out-Vifs 36.2 1 45 0 1* 2 3* 36.8 36.8.0.77 4 15 2 0* 1* 3* 36.11 1 20 1 0* 2 3* . . . .fi .Pp この例では、4 つの vif が 2 つのサブネットと 2 つのトンネルにつながっています。 vif 3 がつながったトンネルは使われていません (peer アドレスが有りません)。 vif 0 と vif 1 がつながったサブネットには いくつかのグループが有ります。 トンネルにはグループは有りません。 この例の .Nm は、 \&"querier" フラグが示すように、 定期的なグループメンバシップの問い合わせを vif 0 および vif 1 サブネットにて 送出する責任が有ります。 境界のリストは当該インタフェースのアドレス範囲が示されます。 入力及び出力パケット数が各インタフェースに対して示されます。 .Pp マルチキャストデータグラムの起源となりうるサブネットに関連して 表示される情報は、 直前のホップのルータのアドレス(サブネットが直接接続されていない場合)、 起源までのパスの metric、 当該サブネットから最後に更新を受信してから経過した時間、 当該起源からのマルチキャストが入力される vif、 出力 vif 一覧です。 \&"*" は、 起源を根とするブロードキャストツリーの葉に、 当該出力 vif が接続していることを意味します。 宛先グループのメンバが当該葉にいる時のみ、 当該起源からのマルチキャストデータグラムを当該出力 vif からフォワードします。 .Pp .Nm はカーネル内のフォワーディングキャッシュテーブルも管理します。 エントリの生成及び削除は .Nm が行います。 .Pp キャッシュテーブルは次のようなものです: .nf .ft C Multicast Routing Cache Table (147 entries) Origin Mcast-group CTmr Age Ptmr IVif Forwvifs 13.2.116/22 224.2.127.255 3m 2m - 0 1 >13.2.116.19 >13.2.116.196 138.96.48/21 224.2.127.255 5m 2m - 0 1 >138.96.48.108 128.9.160/20 224.2.127.255 3m 2m - 0 1 >128.9.160.45 198.106.194/24 224.2.135.190 9m 28s 9m 0P >198.106.194.22 .fi .Pp 各エントリは起源のサブネット番号、マスク、宛先マルチキャストグループにて 区別します。 .Pp \&'CTmr' フィールドは当該エントリの生存時間を表します。 このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます (エントリはトラフィックが流れるとリフレッシュされます)。 \&'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。 キャッシュエントリはリフレッシュされるため、 当該エントリに関するトラフィックが続く限りルーティングエントリは生き残ります。 .Pp \&'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、 そうでないばあいには上流の枝刈がタイムアウトするまでの時間を表します。 .Pp \&'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif を表します。 各ルータは特定のソース及びグループに関し、 隣接するルータより受信する枝刈数の記録も管理します。 あるサブネットに関してマルチキャストツリーの下流の枝において マルチキャストグループのメンバが存在しない場合、 上流のルータに対して枝刈メッセージが送信されます。 この場合、vif 番号の後に \&"P" が付けられます。 .Pp \&'Forwvifs' フィールドは ソースグループに属するデータグラムがフォワードされる インタフェースを表します。 \&"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない ことを表します。 リストされないインタフェースは葉のサブネットであり、 特定のグループのメンバを当該サブネットに持ちません。 インタフェースにおける "b" の表示は、 当該インタフェースが境界インタフェースであることを表します。 すなわち、範囲内のアドレスのトラフィックは 当該インタフェースを介してフォワードされないことを意味します。 .Pp \&">" を最初の文字として表示する追加の行は、 当該サブネット上のソースを表します。 1 つのサブネット上に複数のソースが存在可能であることに注意して下さい。 \&"<" を最初の文字として表示する追加の行は、 このサブネットもしくはグループに関して、 下流の隣接ルータから受信した枝苅りを表示します。 .Sh 関連ファイル .Bl -tag -width /var/tmp/mrouted.cache -compact .It Pa /etc/mrouted.conf .It Pa /var/run/mrouted.pid .It Pa /var/tmp/mrouted.dump .It Pa /var/tmp/mrouted.cache .El .Sh 関連項目 .Xr map-mbone 8 , .Xr mrinfo 8 , .Xr mtrace 8 .Pp DVMRP は、 他のマルチキャスト経路制御アルゴリズムと共に、 ACM SIGCOMM '88 コンファレンスのプロシーディングに、 S. Deering が \&"Multicast Routing in Internetworks and Extended LANs" として記述しています。 .Sh 作者 .An Steve Deering , .An Ajit Thyagarajan , .An Bill Fenner diff --git a/ja/man/man8/natd.8 b/ja/man/man8/natd.8 index 14a907cd66..56380528a6 100644 --- a/ja/man/man8/natd.8 +++ b/ja/man/man8/natd.8 @@ -1,433 +1,462 @@ .\" manual page [] for natd 1.4 -.\" %Id: natd.8,v 1.15 1998/07/15 03:32:45 jkoshy Exp $% +.\" %Id: natd.8,v 1.16.2.1 1999/03/24 17:12:59 brian Exp % .\" jpman %Id% .Dd 15 April 1997 .Os FreeBSD .Dt NATD 8 .Sh 名称 .Nm natd .Nd ネットワークアドレス変換デーモン .Sh 書式 .Nm .Op Fl ldsmvu -.Op Fl permanent_link .Op Fl dynamic .Op Fl i Ar inport .Op Fl o Ar outport .Op Fl p Ar port .Op Fl a Ar address .Op Fl n Ar interface .Op Fl f Ar configfile .Nm .Op Fl log .Op Fl deny_incoming +.Op Fl log_denied .Op Fl use_sockets .Op Fl same_ports .Op Fl verbose +.Op Fl log_facility Ar facility_name .Op Fl unregistered_only -.Op Fl permanent_link .Op Fl dynamic .Op Fl inport Ar inport .Op Fl outport Ar outport .Op Fl port Ar port .Op Fl alias_address Ar address .Op Fl interface Ar interface .Op Fl config Ar configfile .Op Fl redirect_port Ar linkspec .Op Fl redirect_address Ar localIP publicIP +.Op Fl reverse +.Op Fl proxy_only +.Op Fl proxy_rule Ar proxyspec +.Op Fl pptpalias Ar localIP .Sh 解説 このプログラムは、FreeBSD における .Xr divert 4 ソケットと共に用いることによって、ネットワークアドレスの変換を 行います。 コマンドラインオプションのほとんどは、1 文字の短縮形か、長い表記が 利用できます。 見る人がはっきりと理解しやすいように、長い表記を使うことが 推奨されています。 .Pp .Nm natd は通常、デーモンとしてバックグラウンドで実行します。 .Nm はマシンに入ってくるパケット、またはマシンから出て行くパケットを -生(raw)のまま扱い、場合により IP パケットストリームに +生 (raw) のまま扱い、場合により IP パケットストリームに 再び送り出す前に手を加えます。 .Pp .Nm natd は他のホストへ向かうすべてのパケットについて、発信元 IP アドレスを 現在のマシンのものにする、という変換を行います。 このように変換された各パケットについて、変換内容を記録するために 内部テーブルエントリが作成されます。 発信元ポート番号も、パケットに適用したテーブルエントリを示すように 変更されます。 現在のホストの、対象となる IP アドレスを使ったパケットが受信されると、 この内部テーブルがチェックされます。 エントリが見つかると、パケットに正しい対象 IP アドレスとポート番号を 入れるのに利用されます。 .Pp 以下のコマンドラインオプションが利用できます。 .Bl -tag -width Fl .It Fl log | l 様々な alias の統計や情報をファイル .Pa /var/log/alias.log に記録します。このファイルは natd が起動されるたびに切りつめられます。 .It Fl deny_incoming | d 現在の IP アドレスへ向かうパケットのうち、内部変換テーブルに エントリの無いものを拒否します。 +.It Fl log_denied +拒否した入力パケットを syslog を介してログします +(log_facility を参照してください)。 + +.It Fl log_facility Ar facility_name +syslog を介して情報をログするときに、指定したログファシリティを使用します。 +ファシリティ名は +.Xr syslog.conf 5 +にある通りです。 + .It Fl use_sockets | s FTP data コネクションや IRC DCC send コネクションを確立するのに .Xr socket 2 を割り当てます。このオプションはよりシステムリソースを消費しますが、 ポート番号が衝突する場合でもコネクションが成功することを保証します。 .It Fl same_ports | m 出て行くパケットを変換する時に、できるだけポート番号を同じまま 保つようにします。このオプションにより、RPC のようなプロトコルが うまく働く可能性があがります。ポート番号を維持することができない時には、 暗黙のうちに通常と同じ方法で変換されます。 .It Fl verbose | v 起動時に .Xr fork 2 や .Xr daemon 3 を呼び出しません。よって、制御端末から切り離されずに、標準出力に すべてのパケット変換を表示します。このオプションはデバッグの目的に のみ用いるべきです。 .It Fl unregistered_only | u 登録されていない発信元アドレスを伴う出て行くパケットのみを変換します。 rfc 1918 によれば、登録されていない発信元アドレスは 10.0.0.0/8 と 172.16.0.0/12 と 192.168.0.0/16 となっています。 -.It Fl redirect_port Ar linkspec +.It Fl redirect_port Ar proto targetIP:targetPORT [aliasIP:]aliasPORT [remoteIP[:remotePORT]] 指定されたポートに入ってくるコネクションを別のホストとポートに -リダイレクトします。linkspec の書式は - - proto targetIP:targetPORT [aliasIP:]aliasPORT [remoteIP[:remotePORT]] - -のようになります。proto は tcp もしくは udp 、 targetIP は希望する -( リダイレクト先 ) 対象 IP アドレス、targetPORT は希望する対象ポート番号、 -aliasPORT は ( クライアントが ) 要求するポート番号、aliasIP は alias を -行うアドレスです。 +リダイレクトします。 +proto は tcp または udp、 +targetPORT は希望する対象ポート番号、 +aliasPORT は (クライアントが) 要求するポート番号、 +aliasIP は alias を行うアドレスです。 remoteIP と remotePORT は、必要な場合により正確なコネクションを 指定するのに利用できます。 例えば、 .Ar tcp inside1:telnet 6666 という引数は、このマシンのポート 6666 に向けられた tcp パケットが マシン inside1 の telnet ポートに送られることを示しています。 .It Fl redirect_address Ar localIP publicIP 公式な IP アドレスへのパケットの流れを、ローカルネットワーク内の マシンにリダイレクトします。この機能は "静的 NAT (static NAT)" と 呼ばれています。 静的 NAT はあなたの ISP が IP アドレスの小さなブロックをあなたに 割り当てた時に、単一のアドレスとして用いるのにも利用できます: redirect_address 10.0.0.8 0.0.0.0 上記のコマンドは入ってくすべてのパケットをマシン 10.0.0.8 に リダイレクトします。 下記のように、いくつかのアドレス alias が同一の公式アドレスを 示すように指定すると、 redirect_address 192.168.0.2 public_addr redirect_address 192.168.0.3 public_addr redirect_address 192.168.0.4 public_addr 入ってくるパケットの流れは最後に変換されたローカルアドレス (192.168.0.4) に向けられますが、最初の二つのアドレスの出て行く パケットの流れは指定された公式アドレスへの alias のままになります。 -.It Fl permanent_link Ar linkspec -内部 alias テーブルに恒久的なエントリを作成します。linkspec の書式は - - proto targetIP:targetPORT sourceIP:sourcePORT aliasPORT - -のようになります。proto は tcp もしくは udp 、 targetIP は希望する -( リダイレクト先 ) 対象 IP アドレス、 targetPORT は希望する対象 -ポート番号、 sourceIP と sourcePORT は入ってくるパケットにマッチする -もの、aliasPORT は ( クライアントが ) 要求するポート番号、となります。 -値 0 はワイルドカードとして扱われます。例えば、 - -.Ar tcp inside1:telnet outside1:0 6666 - -はマシン outside1 ( の任意のポート ) からこのマシンのポート 6666 に -向けられた tcp パケットが、マシン inside1 の telnet ポートに送られる -ことを示します。 - -新規に導入する場合は、代わりに redirect_port を使うようにしてください。 - .It Fl dynamic .Fl n オプションや .Fl interface オプションが用いられると、 .Nm は 指定された .Ar interface へルーティングする変換ソケットを監視します。 .\" (訳注) kuriyama@opt.phys.waseda.ac.jp (Nov 29 1997) .\" 上の訳はどうも意味が通らない。原文は以下の通り。誰か直して。 .\" .Nm .\" will monitor the routing socket for alterations to the .\" .Ar interface .\" passed. .\" (訳注2) kuriyama@opt.phys.waseda.ac.jp (Jan 4 1998) .\" ちょっと直してみたけどまだ不満。 インタフェースの IP アドレスが変化すると、 .Nm は alias アドレスを動的に変更します。 .It Fl i | inport Ar inport すべてのパケットをマシンに入ってくるものとして扱い、 .Ar inport から読み込み、 .Ar inport へ書き出します。 .It Fl o | outport Ar outport すべてのパケットをマシンから出て行くものとして扱い、 .Ar outport から読み込み、 .Ar outport へ書き出します。 .It Fl p | port Ar port .Xr divert 4 によって指定されたルールを用いてパケットを識別し、入ってくるパケットを .Ar port から読み、出て行くパケットを .Ar port へ書き出します。 .Ar port が数字でない場合、関数 .Xr getservbyname 3 を用いて .Pa /etc/services データベースが検索されます。 このフラグが指定されない時には、デフォルトとして natd という名前の divert ポートが用いられます。 .Pa /etc/services データベースのエントリの例としては以下のようになります: natd 8668/divert # Network Address Translation socket より詳しい説明は、 .Xr services 5 を参照してください。 .It Fl a | alias_address Ar address alias アドレスとして .Ar address を用います。このオプションが指定されない場合は、 .Fl n オプションか .Fl interface オプションが指定されなければなりません。 指定されたアドレスは、 公開されたネットワークインタフェースに割当てられたアドレスである 必要があります。 .Pp このアドレスのインタフェースを通って出る全データのソースアドレスは .Ar address に書換えられます。 外部からこのインタフェースに到着する全データは、 既に alias された外向け接続にマッチするかどうかチェックされます。 マッチする場合、パケットはそれぞれ変換されます。 マッチしない場合、 .Fl redirect_port と .Fl redirect_address の割り当てをチェックしそれぞれの動作を行います。 他の動作が行えない場合かつ .Fl deny_incoming が指定されていない場合、 パケットに指定された通りに パケットはローカルのマシンのポートに配送されます。 .It Fl n | interface Ar interface alias アドレスを決めるのに、 .Ar interface を用います。 .Ar interface に関連づけられた IP アドレスが変化する可能性がある場合には、 .Fl dynamic フラグも指定されるべきです。 .Pp 指定された .Ar interface は公開されたネットワークインタフェースである必要があります。 .It Fl f | config Ar configfile .Ar configfile から設定を読み込みます。 .Ar configfile はオプションのリストを含み、上記のコマンドラインフラグの長い表記と 同じ物が 1 行ずつ入ります。例えば、 alias_address 158.152.17.1 という行は alias アドレスに 158.152.17.1 を指定します。 設定ファイル内では、引数を持たないオプションは .Ar yes か .Ar no を伴って指定されます。例えば、 log yes は .Fl log と同じ意味になります。空行と '#' で始まる行は無視されます。 +.It Fl reverse +natd の逆操作です。 +出力トラフィックがローカルマシンにリダイレクトされ、 +natd が入力インタフェースで走行している (通常は出力インタフェースで走行します) +といった、透過プロキシを実行している状況で有用な場合があります。 + +.It Fl proxy_only +natd が透過プロキシのみを実行するよう強制します。 +通常のアドレス変換は実行されません。 + +.It Fl proxy_rule Ar [type encode_ip_hdr|encode_tcp_stream] port xxxx server a.b.c.d:yyyy +透過プロキシを有効にします。 +指定したポートのパケットでこのホストから他のホストへ向かうものは、 +指定したサーバのポートへリダイレクトされます。 +オプションとして、元の宛先アドレスがパケットにエンコードされます。 +.Dq encode_ip_hdr +は、この情報を IP オプションフィールドに置きます。 +.Dq encode_tcp_stream +は、このデータを TCP ストリームの先頭に挿入します。 + +.It Fl pptpalias Ar localIP +PPTP パケットが指定した localIP アドレスに行くことを許可します。 +PPTP は、VPN または安全な IP トンネル技術であり、 +最初に Microsoft が開発しました。 +暗号化したトラフィック用に、 +GRE (47) と呼ばれる古い IP カプセル化プロトコルを使用します。 +この natd オプションは、 +このプロトコルのすべてのトラフィックを単一の指定した IP アドレスに変換します。 +これにより、 +単一のクライアントまたは単一のサーバに対するサービスを natd が許可します。 +サーバを設定する場合、 +PPTP 設定の TCP トラフィックを許すことを忘れないでください。 +ファイアウォールリストが有効ならば、 +クライアントまたはサーバのために GRE (protocol 47) を許可する必要があります。 + .El .Sh NATD の実行 .Nm natd を走らせようとする前には以下の手順が必要となります: .Bl -enum .It バージョン 2.2 かそれ以上の FreeBSD を手に入れる。これより前の バージョンは .Xr divert 4 ソケットをサポートしていません。 .It 自分のカーネルを以下のオプションを付けて構築します: options IPFIREWALL options IPDIVERT 自分のカーネルを構築する方法については、ハンドブックに詳しい説明が あるのでそちらを参照してください。 .It あなたのマシンがゲートウェイとして働くようにします。これは .Pa /etc/rc.conf に gateway_enable=YES と指定するか、 sysctl -w net.inet.ip.forwarding=1 というコマンドを用いることで機能するようになります。 .It .Fl n フラグや .Fl interface フラグを使いたい場合は、そのインタフェースがすでに設定済みとなるように します。例えば、 .Ar interface として tun0 を指定しようとし、そのインタフェースで .Xr ppp 8 を使っている場合には、 .Nm natd を起動する前に .Nm ppp を起動するようにしなければなりません。 .It .Pa /etc/services にエントリ: natd 8668/divert # Network Address Translation socket を作成します。これは .Fl p フラグや .Fl port フラグのデフォルトの値となります。 .El .Pp .Nm の実行は至って簡単です。 natd -interface ed0 -という行でほとんどの場合充分です(正しいインタフェース名に置き換えて +という行でほとんどの場合充分です (正しいインタフェース名に置き換えて ください)。 .Nm が起動されたら、パケットの流れの方向が natd の方に変わる (divert される) ようにしなければなりません: .Bl -enum .It .Pa /etc/rc.firewall スクリプトをうまく調整する必要があります。防火壁 (firewall) に 興味が無ければ、以下のようにすれば良いでしょう: /sbin/ipfw -f flush /sbin/ipfw add divert natd all from any to any via ed0 /sbin/ipfw add pass all from any to any 2 番目の行はあなたのインタフェースに依ります (ed0 を適切に 変更してください)。 また、前項のように .Pa /etc/services に natd のエントリが入るように更新されていると仮定します。 本物の防火壁ルールを指定する場合、スクリプトの先頭で上記の 2 行目を 指定すると良いでしょう。 そうすることによって、防火壁により排除されてしまう前に、 .Nm がすべてのパケットを見ることができるようになります。 すべての divert ルールを除き、 .Nm により変換された各パケットには再び防火壁のルールが適用されます。 .It .Pa /etc/rc.conf で firewall_enable=YES と設定し、防火壁を作動させます。これはシステムの起動時のスクリプトに .Pa /etc/rc.firewall スクリプトを実行するように伝えます。 今すぐ再起動したくない場合には、コンソールから手で実行してください。 バックグラウンドで実行させるのでない限り、これは決して仮想セッションから 行ってはいけません。もし実行させてしまうと、flush が行われた後に あなたは締め出されてしまい、すべてのアクセスを永久に遮断するために この地点で .Pa /etc/rc.firewall の実行は止まってしまいます。スクリプトをバックグラウンドで実行すれば、 この災害を避けることができます。 .El .Sh 関連項目 .Xr getservbyname 2 , .Xr socket 2 , .Xr divert 4 , .Xr services 5 , .Xr ipfw 8 .Sh 作者 このプログラムは、多くの人々の細切れの努力の結果です: .An Archie Cobbs Aq archie@whistle.com (divert ソケット) .An Charles Mott Aq cmott@srv.net (パケットエイリアス) .An Eivind Eklund Aq perhaps@yes.no (IRC サポートとその他の追加) .An Ari Suutari Aq suutari@iki.fi (natd) +.An Dru Nelson Aq dnelson@redwoodsoft.com +(PPTP サポート) .An Brian Somers Aq brian@awfulhak.org (まとめ役) diff --git a/ja/man/man8/nfsd.8 b/ja/man/man8/nfsd.8 index 766673a273..6394d3e0c2 100644 --- a/ja/man/man8/nfsd.8 +++ b/ja/man/man8/nfsd.8 @@ -1,139 +1,139 @@ .\" Copyright (c) 1989, 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. .\" .\" @(#)nfsd.8 8.4 (Berkeley) 3/29/95 .\" jpman %Id: nfsd.8,v 1.2 1997/03/31 14:53:57 horikawa Stab % .\" .Dd March 29, 1995 .Dt NFSD 8 .Os .Sh 名称 .Nm nfsd .Nd リモートマシンに対して .Tn NFS サービスを行うデーモン .Pp .Sh 書式 .Nm nfsd .Op Fl rut .Op Fl n Ar num_servers .Pp .Sh 解説 .Nm nfsd は .Tn NFS サーバマシン上で実行され、クライアントからの .Tn NFS 要求に対するサービスを行います。サーバマシンとして動作させるには、 最低でも 1 つの .Nm nfsd が動作していなければなりません。 .Pp 何も指定されない場合は、 .Tn UDP トランスポートを用いるサーバが 4 つ起動されます。 .Pp 以下のオプションが利用可能です: .Bl -tag -width Ds .It Fl r 新たなサーバを生成せずに、 .Tn NFS サービスだけを .Xr portmap 8 に登録します。 このオプションは、portmap サーバが再起動したときに .Tn NFS サービスを再登録するために、 .Fl u や .Fl t オプションといっしょに使われます。 .It Fl n スタートさせるサーバの数を指定します。 .It Fl t .Tn TCP NFS クライアントに対するサービスを行います。 .It Fl u .Tn UDP NFS クライアントに対するサービスを行います。 .El .Pp 例えば、 .Dq Li "nfsd -u -t -n 6" は、 .Tn UDP と .Tn TCP トランスポートに対するサービスを行う 6 つのデーモンを生成します。 .Pp クライアントからの要求を最大限並列処理するのに十分な数のデーモンを実行 する必要があります。典型的には 4 個から 6 個です。 .Pp .Nm nfsd は、 .Tn NFS サーバの仕様で示されているポートで、サービス要求を待ちます。 この仕様に関しては、 .%T "NFS: Network File System Protocol Specification" , RFC1094, .%T "NFS: Network File System Version 3 Protocol Specification" を参照してください。 .Pp 動作中のカーネルに .Tn NFS がロードされていないことを検出すると、 .Nm nfsd は .Xr vfsload 3 を経由して -.Xr modload 8 +.Xr kldload 8 により、 .Tn NFS をサポートしたロード可能カーネルモジュールを読み込もうとします。 .Nm nfsd は、これに失敗した場合、もしくは .Tn NFS LKM が用意されていないときにはエラー終了します。 .Pp .Nm nfsd -は、成功した場合は0を、エラーが起きた場合は0より大きな値を返します。 +は、成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。 .Pp .Sh 関連項目 .Xr nfsstat 1 , .Xr nfssvc 2 , -.Xr modload 8 , +.Xr kldload 8 , .Xr mountd 8 , .Xr portmap 8 .Sh 歴史 .Nm nfsd ユーティリティは .Bx 4.4 から登場しました。 diff --git a/ja/man/man8/nfsiod.8 b/ja/man/man8/nfsiod.8 index 9fe33703e0..460325247f 100644 --- a/ja/man/man8/nfsiod.8 +++ b/ja/man/man8/nfsiod.8 @@ -1,99 +1,99 @@ .\" Copyright (c) 1989, 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. .\" .\" From: @(#)nfsiod.8 8.2 (Berkeley) 2/22/94 -.\" %Id: nfsiod.8,v 1.6 1998/07/15 06:35:20 charnier Exp % -.\" jpman %Id: nfsiod.8,v 1.3 1997/08/10 18:33:51 horikawa Stab % +.\" %Id: nfsiod.8,v 1.6.2.1 1999/04/13 02:21:10 ghelmer Exp % .\" +.\" jpman %Id: nfsiod.8,v 1.3 1997/08/10 18:33:51 horikawa Stab % .Dd September 22, 1994 .Dt NFSIOD 8 .Os .Sh 名称 .Nm nfsiod .Nd ローカルな .Tn NFS のための非同期 I/O サーバ .Pp .Sh 書式 .Nm nfsiod .Op Fl n Ar num_servers .Pp .Sh 解説 .Nm は .Tn NFS クライアントマシン上で動作し、サーバに対する非同期 I/O 要求を処理します。 これによりパフォーマンスは向上しますが、 正しい動作のために必要とされているわけではありません。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl n Ar num_server サーバをいくつスタートさせるかを指定する。 .El .Pp 何も引数が指定されなければ、サーバは1つだけスタートします。 .Pp クライアントは、最大限並行処理を行うのに十分な数のデーモンを実行するべきです。 典型的には 4 つから 6 つです。 .Pp 動作中のカーネルに .Tn NFS サポートが含まれていないことを .Nm が検出した場合、 .Nm は -.Xr modload 8 +.Xr kldload 8 に含まれる .Xr vfsload 3 の機能を用いて、 .Tn NFS コードを含むローダブルカーネルモジュールをロードしようとします。 これが失敗した場合、または .Tn NFS -ローダブルカーネルモジュールが存在しない場合、 +KLD が存在しない場合、 .Nm はエラーを返して終了します。 .Pp .Nm は、成功すれば 0 を、エラーが起きると 0 より大きな値を返して終了します。 .Sh 関連項目 .Xr nfsstat 1 , .Xr nfssvc 2 , -.Xr modload 8 , +.Xr kldload 8 , .Xr mountd 8 , .Xr portmap 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 から登場しました。 diff --git a/ja/man/man8/nslookup.8 b/ja/man/man8/nslookup.8 index 7cd5969894..352e4025f2 100644 --- a/ja/man/man8/nslookup.8 +++ b/ja/man/man8/nslookup.8 @@ -1,551 +1,552 @@ .\" .\" ++Copyright++ 1985, 1989 .\" - .\" Copyright (c) 1985, 1989 .\" 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. .\" - .\" Portions Copyright (c) 1993 by Digital Equipment Corporation. .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies, and that .\" the name of Digital Equipment Corporation not be used in advertising or .\" publicity pertaining to distribution of the document or software without .\" specific, written prior permission. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL .\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT .\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" - .\" --Copyright-- .\" .\" @(#)nslookup.8 5.3 (Berkeley) 6/24/90 .\" jpman %Id: nslookup.8,v 1.2 1997/04/30 00:39:04 mutoh Stab % .\" .Dd June 24, 1990 .Dt NSLOOKUP 8 .Os BSD 4 .Sh 名称 .Nm nslookup .Nd インターネットネームサーバに対話的に問い合わせる .Sh 書式 .Nm nslookup .Op Fl option Ar ... .Op Ar host-to-find | Fl Op Ar server .Sh 解説 .Ic nslookup はインターネットネームサーバに問い合わせを行います。 .Ic nslookup には対話モードと非対話モードの 2 つのモードがあります。 対話モードでは、 様々なホストやドメインの情報をネームサーバに対して問い合わせたり、 あるドメイン内のホスト一覧を表示することができます。 非対話モードでは、あるホストもしくはドメインの名前および 要求した情報のみが表示されます。 .Sh 引数 次の場合は対話モードに入ります。 .Bl -tag -width "a) " .It a) 引数が与えられなかったとき(デフォルトのネームサーバを利用します)。 .It b) 最初の引数がハイフン (-) であり、2 番目の引数がネームサーバの ホスト名もしくは IP アドレスであるとき。 .El .Pp 検索したいホストの名前もしくは IP アドレスが最初の引数として与えられた場合は、 非対話モードになります。 2 番目の引数はオプションで、ネームサーバのホスト名もしくは IP アドレスを 指定します。 .Pp .Dq Li set コマンドを使うオプションは、ホームディレクトリの .Pa .nslookuprc ファイルに 1 行に 1 つずつ書くことでも指定できます。 オプションはコマンドラインで指定することも可能です。その場合、 前にハイフンをつけ、引数より先に書きます。たとえば、デフォルトの問い合わせを ホスト情報に変更し、初期タイムアウトを 10 秒とするには、 .Bd -literal -offset indent nslookup -query=hinfo -timeout=10 .Ed とします。 .Sh 対話コマンド コマンドは control-C を入力することでいつでも中断できます。 終了するには、 control-D .Pq Dv EOF もしくは .Li exit を入力します。 コマンドラインの長さは 256 文字以下でなければなりません。 内部コマンドをホスト名として扱うには、 エスケープ文字 .Pq \e を頭につけます。 -.Sy 注意: 解釈できないコマンドはホスト名として扱われます。 +.Sy 注意: +解釈できないコマンドはホスト名として扱われます。 .Bl -tag -width "lserver" .It Ar host Op Ar server .Ar host についての情報を現在のデフォルトサーバ、もしくは .Ar server が指定されている場合はそのサーバに問い合わせます。 .Ar host が IP アドレスであり、問い合わせタイプが .Dv A もしくは .Dv PTR であるときは、ホスト名が返されます。 .Ar host が 名前であり、最後にピリオドがないときには、 その後ろにデフォルトのドメイン名が付加されます(この動作は、 .Ic set オプションの .Ic domain , srchlist , defname , search に依存します)。 .Pp 現在のドメインにないホストについて調べるときには、 名前の末尾にピリオドを付加します。 .It Ic server Ar domain .It Ic lserver Ar domain デフォルトサーバを .Ar domain に変更します。 .Ic lserver は .Ar domain についての情報を探すのに初期サーバを使い、 .Ic server は現在のデフォルトサーバを使います。 公式の答えが見つからないときには、答えを持つ可能性のある サーバ名が返されます。 .It Ic root デフォルトサーバをドメイン名空間のルートサーバに変更します。 現在のところホスト .Li ns.internic.net が使われます (このコマンドは .Dq Ic lserver ns.internic.net に同義です)。 ルートサーバ名は .Dq Ic set root コマンドで変更できます。 .It Xo Ic finger Op Ar name .Op Ic > Ar filename .Xc .It Xo Ic finger Op Ar name .Op Ic >> Ar filename .Xc 現在のホストにあるフィンガーサーバと接続します。 現在のホストは、以前の問い合わせが成功し、アドレス情報が 返されたときに定義されます( .Dq Ic set querytype=A 参照)。 .Ar name はオプションです。 .Ic > と .Ic >> は普通に出力をリダイレクトするのに使えます。 .It Xo Ic ls Op Ar option .Ar domain Op Ic > Ar filename .Xc .It Xo Ic ls Op Ar option .Ar domain Op Ic >> Ar filename .Xc .Ar domain について入手できる情報の一覧を出します。 オプションでファイル .Ar filename を作成あるいは .Ar filename に追加できます。 デフォルトの出力にはホスト名とその IP アドレスが含まれます。 .Ar option は下記のいずれかです。 .RS .Bl -tag -width "-a " .It Fl t Ar querytype 指定したタイプの全レコードの一覧を出力します(下記の .Ar querytype 参照)。 .It Fl a そのドメイン内での、各ホストのエイリアス一覧を出力します。 .Dq Fl t Dv CNAME と同義です。 .It Fl d そのドメインの全レコードの一覧を出力します。 .Dq Fl t Dv ANY と同義です。 .It Fl h そのドメインの CPU 及び OS 情報を出力します。 .Dq Fl t Dv HINFO と同義です。 .It Fl s そのドメイン内のホストの良く知られた (well-known) サービスの一覧を出力します。 .Dq Fl t Dv WKS と同義です。 .El .Pp 出力がファイルにリダイレクトされるときには、サーバから 50 レコードを 受け取るたびにハッシュマークが表示されます。 .It Ic view Ar filename 直前の .Ic ls コマンドの出力を並べ変え、 .Xr more 1 で出力します。 .It Ic help .It Ic ? コマンドの簡単な要約を表示します。 .It Ic exit プログラムを終了します。 .It Xo Ic set Ar keyword .Ns Op = Ns Ar value .Xc このコマンドは探索に影響するオプションを変更するのに使われます。 有効な keyword は以下の通りです。 .Bl -tag -width "class=v" .It Ic all よく使われる .Ic set のオプションの現在の値を表示します。 現在のデフォルトサーバとホストに関する情報も表示されます。 .It Ic class= Ns Ar value 問い合わせのクラスを次のいずれかに変更します。 .Bl -tag -width "HESIOD " .It Dv IN インターネットクラス。 .It Dv CHAOS chaos クラス。 .It Dv HESIOD MIT Athena Hesiod クラス。 .It Dv ANY 上記すべて。 .El .Pp クラスは情報のプロトコルグループを特定します。 .Pp (デフォルト = .Dv IN; 略記 = .Ic cl ) .It Xo Op Ic no .Ns Ic debug .Xc デバッグモードにします。サーバに送られるパケットとそれに 対する返答について、より多くの情報が表示されます。 .Pp (デフォルト = .Ic nodebug ; 略記 = .Xo Op Ic no .Ns Ic deb ) .Xc .It Xo Op Ic no .Ns Ic d2 .Xc 詳細なデバッグモードにします。 パケットごとに重要なすべてのフィールドが表示されます。 .Pp (デフォルト = .Ic nod2 ) .It Ic domain= Ns Ar name デフォルトドメイン名を .Ar name に変更します。 .Ic defname と .Ic search オプションの設定に応じて、 探索要求されるホスト名にデフォルトドメイン名が付加されます。 デフォルトドメイン名が 2 つ以上の要素から なるとき、ドメインサーチリストにはデフォルトドメインの親が含まれます。 たとえば、デフォルトドメイン名が CC.Berkeley.EDU であるとき、サーチリストは CC.Berkeley.EDU 及び Berkeley.EDU です。 異なるリストを指定するには、 .Dq Ic set srchlist コマンドを使います。 このリストを表示するには、 .Dq Ic set all コマンドを使います。 .Pp (デフォルト = .Xr hostname 1 から得た値, .Pa /etc/resolv.conf あるいは .Pa LOCALDOMAIN; 略記 = .Ic do ) .It Ic srchlist= Ns Ar name1/name2/... デフォルトドメイン名を .Ar name1 にし、ドメインサーチリストを .Ar name1 , name2 , etc. に変更します。スラッシュ (/) で区切って 最大 6 つまで指定可能です。 たとえば .Bd -literal -offset indent set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU .Ed .Pp の場合、ドメインを lcs.MIT.EDU にし、サーチリストを上の 3 つの名前に 設定します。 このコマンドは、 .Dq Ic set domain コマンドによるデフォルトドメイン名と サーチリストを上書きします。 リストを表示するには、 .Dq Ic set all コマンドを使います。 .Pp (デフォルト = .Xr hostname 1 に基づく値, .Pa /etc/resolv.conf あるいは .Ev LOCALDOMAIN ; 略記 = .Ic srchl ) .It Xo Op Ic no .Ns Ic defname .Xc これが設定されると、単一要素からなる問い合わせ(すなわちピリオドのないもの) に対して、 指定したデフォルトドメイン名が付加されます。 .Pp (デフォルト = .Ic defname ; 略記 = .Xo Op Ic no .Ns Ic defname ) .Xc .It Xo Op Ic no .Ns Ic search .Xc 問い合わせ要求にピリオドが少なくとも 1 つ含まれているが ピリオドで終っては .Em いない 場合、 答えが受け取れるまで、ドメインサーチリスト内のドメイン名を 付加します。 .Pp (デフォルト = .Ic search ; 略記 = .Xo Op Ic no .Ns Ic sea ) .Xc .It Ic port= Ns Ar value デフォルトのネームサーバの TCP/UDP ポートを .Ar value に変更します。 .Pp (デフォルト = 53; 略記 = .Ic \&po ) .It Ic querytype= Ns Ar value .It Ic type= Ns Ar value 問い合わせる情報の種類を変更します。情報は次のうちのいずれかです。 .Bl -tag -width "HINFO " .It Dv A ホストの IP アドレス。 .It Dv CNAME 別名に対する正式名。 .It Dv HINFO ホストの CPU と OS の種類。 .It Dv MINFO メールボックスもしくは、メールリストに関する情報。 .It Dv MX メール交換ホスト。 .It Dv NS その名前空間内のネームサーバ。 .It Dv PTR 問い合わせが IP アドレスであればホスト名、そうでなければ それ以外の情報へのポインタ。 .It Dv SOA ドメインの .Dq 権威開始 (start-of-authority) 情報。 .It Dv TXT テキスト情報。 .It Dv UINFO ユーザ情報。 .It Dv WKS サポートする、よく知られたサービス。 .El .Pp 他のタイプ .Pq Dv ANY, AXFR, MB, MD, MF, NULL については、ドキュメント RFC-1035 に書かれています。 .Pp (デフォルト = .Dv A ; 略記 = .Ic q, ty ) .It Xo Op Ic no .Ns Ic recurse .Xc サーバが情報を持っていないときに、他のサーバに問い合わせるよう 指示します。 .Pp (デフォルト = .Ic recurse ; 略記 = .Xo Op Ic no .Ns Ic rec ) .Xc .It Ic retry= Ns Ar number リトライ回数を .Ar number 回とします。 要求に対する返答をある時間内 ( .Dq Ic set timeout で変更できる) に 受け取らなかったとき、タイムアウト期間は 2 倍にされ、 要求が再送されます。 retry の値は、あきらめるまでに要求を何回再送するかを決めます。 .Pp (デフォルト = 4, 略記 = .Ic ret ) .It Ic root= Ns Ar host ルートネームサーバ名を .Ar host に変更します。 これは .Dq Ic root コマンドに影響します。 .Pp (デフォルト = .Ic ns.internic.net ; 略記 = .Ic ro ) .It Ic timeout= Ns Ar number 返答を待つ初期タイムアウト間隔を .Ar number 秒に変更します。 リトライのたびにタイムアウト間隔は倍になります。 .Pp (デフォルト = 5 seconds; 略記 = .Ic ti ) .It Xo Op Ic no .Ns Ic vc .Xc サーバに要求を出すときに、常に仮想回路 (virtual circuit) を使います。 .Pp (デフォルト = .Ic novc ; 略記 = .Xo Op Ic no .Ns Ic v ) .Xc .It Xo Op Ic no .Ns Ic ignoretc .Xc パケットトランケーションエラーを無視します。 .Pp (デフォルト = .Ic noignoretc ; 略記 = .Xo Op Ic no .Ns Ic ig ) .Xc .El .El .Sh 診断 問い合わせが失敗した場合、エラーメッセージが表示されます。 エラーには次のようなものがあります。 .Bl -tag -width "Timed" .It Li Timed out サーバに対する要求を、( .Dq Ic set timeout= Ns Ar value で変更できる)ある時間 の間に( .Dq Ic set retry= Ns Ar value で変更できる)ある回数だけ リトライしましたが、応答しませんでした。 .It Li \&No response from server サーバマシンでネームサーバが動いていません。 .It Li \&No records ホスト名は正しいのですが、そのホストについて現在の問い合わせに 関する情報をサーバが持っていません。 問い合わせる情報は .Dq Ic set querytype コマンドで指定できます。 .It Li Non-existent domain そのホスト名もしくはドメイン名が存在しません。 .It Li Connection refused .It Li Network is unreachable 現在のところネームサーバもしくはフィンガーサーバに対して 接続できません。 このエラーは一般に .Ic ls と .Ic finger 要求に対して起こります。 .It Li Server failure ネームサーバが内部でデータベースの矛盾を発見したため 正しい答えが返せませんでした。 .It Li Refused ネームサーバが要求に対するサービスを拒否しました。 .It Li Format error ネームサーバは要求パケットが適切なフォーマットになっていないと 判断しました。 .Nm nslookup 内にエラーがあるのかもしれません。 .El .Sh 関連ファイル .Bl -tag -width "/usr/share/misc/nslookup.helpXXX" -compact .It Pa /etc/resolv.conf ドメイン名の初期値とネームサーバのアドレスを記述するファイルです。 .It Pa $HOME/.nslookuprc ユーザ用の初期化オプションを記述するファイルです。 .It Pa /usr/share/misc/nslookup.help コマンドの要約です。 .Sh 環境変数 .Bl -tag -width "HOSTALIASESXXXX" -compact .It Ev HOSTALIASES ホスト名のエイリアスを記述したファイル。 .It Ev LOCALDOMAIN デフォルトドメインを上書きします。 .Sh 関連項目 .Xr named 8 , .Xr resolver 3 , .Xr resolver 5 ; RFC-1034, .Dq Domain Names - Concepts and Facilities ; RFC-1035, .Dq Domain Names - Implementation and Specification .Sh 作者 Andrew Cherenson diff --git a/ja/man/man8/pciconf.8 b/ja/man/man8/pciconf.8 index 3f0050b36f..982b1b2d9c 100644 --- a/ja/man/man8/pciconf.8 +++ b/ja/man/man8/pciconf.8 @@ -1,196 +1,196 @@ -.\" %Id: pciconf.8,v 1.4 1998/11/12 00:22:30 ken Exp % +.\" %Id: pciconf.8,v 1.4.2.1 1999/04/06 14:06:17 ghelmer 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. .\" .Dd February 7, 1997 .Dt PCICONF 8 .Os FreeBSD .Sh 名称 .Nm pciconf .Nd PCI バスのための診断ユーティリティ .Sh 書式 .Nm pciconf Fl l .Nm pciconf Fl a Ar selector .Nm pciconf Fl r Ar selector .Op Fl b | Fl h .Ar reg .Nm pciconf 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 最初の欄は、デバイス名、ユニット番号、 .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 進数で表示します。 .Fl w オプションはデバイス .Ar selector のバイトオフセット .Ar reg の所のコンフィギュレーションスペースレジスタへ .Ar value を書き込みます。 この二つのオプションでは、 .Fl b フラグと .Fl h フラグで読み書きの大きさを指定できます。 .Fl b は 1 バイトの読み書きを行い、 .Fl h は 2 バイト (halfword) の読み書きを行います。 読み書きの大きさのデフォルトは 4 バイト (longword) です。 .Sh 関連項目 .Xr ioctl 2 , .\" .Xr pci 4 , -.Xr modload 8 +.Xr kldload 8 .Sh 歴史 .Nm コマンドは .Fx 2.2 で初めて登場しました。 .Fl a オプションは .Tn PCI -LKM サポートのために +KLD サポートのために .Fx 3.0 で追加されました。 .Sh 作者 .Nm は .An Stefan Esser と .An Garrett Wollman によって書かれました。 .Sh バグ .Fl b オプションと .Fl h オプションは .Nm の内部で実装されており、 .Fn ioctl に基づいているわけではありません。 .Pp root ではないユーザが .Fl a オプションと .Fl r オプションを使うことを許可することは有用かもしれませんが、 -LKM ドライバでデバイスを供給するために -.Nm modload +KLD ドライバでデバイスを供給するために +.Nm kldload を実行できるのは root だけでしょうし、 一部の粗悪な .Tn PCI チップではコンフィギュレーションスペースレジスタの 読み込みが故障を引き起こす場合があるのです。 diff --git a/ja/man/man8/ppp.8 b/ja/man/man8/ppp.8 index 412cbc8526..f546a5e6f1 100644 --- a/ja/man/man8/ppp.8 +++ b/ja/man/man8/ppp.8 @@ -1,4029 +1,4686 @@ -.\" %Id: ppp.8,v 1.142.2.2 1999/03/07 11:55:12 brian Exp % +.\" %Id: ppp.8,v 1.142.2.3 1999/03/24 18:03:12 brian Exp % .\" jpman %Id: ppp.8,v 1.4 1997/06/08 18:41:58 saeki Stab % .\" WORD: expect string 受信待ち文字列 (chat.8) .\" WORD: negotiation 交渉 .Dd 20 September 1995 .nr XX \w'\fC00' .Os FreeBSD .Dt PPP 8 .Sh 名称 .Nm ppp .Nd PPP (Point to Point Protocol) (別名 user-ppp) .Sh 書式 .Nm .Oo .Fl auto | .Fl background | .Fl ddial | .Fl direct | .Fl dedicated .Oc .Op Fl alias -.Op Ar system ... +.Op Ar system Ns +.No ... .Sh 解説 本プログラムは、ユーザプロセスとして動作する .Em PPP パッケージです。 .Em PPP は通常、( .Xr pppd 8 でそうなっているように) カーネルの一部として実装されますが、 そのため、デバッグや動作の変更が少々難しい場合があります。 それに対し、この実装ではトンネルデバイスドライバ (tun) を利用して、 ユーザプロセスで .Em PPP を実現しています。 .Sh 主な特徴 .Bl -diag .It 対話的なユーザインタフェースを提供 コマンドモードで利用する場合、ユーザがコマンドを 入力することで、簡単にリモートコンピュータとの接続の確立、 接続状態の確認、 接続の切断を行うことができます。 オプションとして、セキュリティ確保のために すべての機能をパスワードで保護することができます。 .It 手動と自動でのダイヤルをサポート 対話モードでは、直接モデムと通信できるように .Dq term コマンドが用意されています。 モデムがリモートホストと接続されて、 .Em PPP での通信が始まったら、 .Nm はそれを検出して自動的にパケットモードに移行します。 ひとたびリモートホストとの接続に必要なコマンドシーケンスがわかったら、 後々の接続を簡単にするため、必要なダイヤル手順やログイン手順を定義した チャットスクリプトを書くことができます。 .It オンデマンドでのダイヤルアップをサポート .Fl auto モード (自動モード) では .Nm はデーモンとして動作し、 .Em PPP リンクを通して送られるパケットを待ちうけます。 パケットを検出すると、デーモンが自動的にダイヤルを行って接続を確立します。 .Fl ddial モード (直接ダイヤルモード) でも ほぼ同様に、自動ダイヤルと接続の確立を行います。 しかしながらこのモードは、送るべきパケットが存在しない場合にも、 リンクが切れていることを検出するといつでもリモートへダイヤルするという点が auto モードと異なります。 このモードは、電話料金よりも常時接続されていることが重視される場合に有用です。 3 番目の .Fl dedicated モード (専用線モード) も利用可能です。 このモードは 2 つのマシン間の専用線を対象にしています。 専用線モードでは .Nm は自発的に動作を終了することはありません - 終了するには .Dq quit all コマンドを診断ソケットを介して送る必要があります。 .Dv SIGHUP は LCP の再交渉を強要し、 .Dv SIGTERM は終了を強要します。 .It クライアントコールバックをサポート .Nm は標準 LCP コールバックプロトコルならびに Microsoft コールバック制御プロトコル (ftp://ftp.microsoft.com/developr/rfc/cbcp.txt) を使用できます。 .It パケットエイリアシングをサポート パケットエイリアシング (別名: IP マスカレード) により、 未登録でプライベートなネットワーク上のコンピュータからも インターネットにアクセスすることが可能です。 .Em PPP ホストはマスカレードゲートウェイとして動作します。 送信パケットの IP アドレスと TCP や UDP のポート番号は どちらもエイリアスされ、返信パケットではエイリアスが元に戻されます。 .It バックグラウンド PPP 接続をサポート バックグラウンドモードでは、接続を確立するのに成功した場合に .Nm はデーモンになります。 それ以外の場合はエラーで終了します。 これにより、 接続が成功裏に確立した場合のみコマンドを実行するようなスクリプト をセットアップすることが出来ます。 .It サーバとしての PPP 接続をサポート ダイレクトモードでは、 .Nm は標準入力/標準出力からの .Em PPP 接続を受け入れるサーバとして動作させることができます。 -.It PAP と CHAP による認証をサポート +.It PAP と CHAP (rfc 1994) による認証をサポート PAP もしくは CHAP を用いることにより、Unix スタイルの .Xr login 1 手続きをスキップし、 .Em PPP プロトコルを代りに認証に使用することが可能です。 相手が Microsoft CHAP 認証を要求し、かつ .Nm が DES をサポートするようにコンパイルされている場合、適当な MD4/DES 応答がなされます。 +.It RADIUS (rfc 2138) 認証をサポート +PAP と CHAP の拡張である +.Em \&R Ns No emote +.Em \&A Ns No ccess +.Em \&D Ns No ial +.Em \&I Ns No n +.Em \&U Ns No ser +.Em \&S Ns No ervice +が、中央データベースまたは分散データベースに、 +ユーザごとの形式で様々な接続特性とともに認証情報を格納可能とします。 +コンパイル時に +.Pa libradius +が利用可能な場合、利用するように設定すると、 +.Nm +はこれを使用して +.Em RADIUS +要求を作成します。 .It 代理 arp (Proxy Arp) をサポート -.Em PPP -がサーバとして動作している時、その接続について代理 arp を行うよう -設定できます。 +.Nm +が相手のために 1 個以上の代理 arp エントリを作成するように、設定可能です。 +LAN 上の各マシンでの設定を行わずに、 +相手側から LAN へのルーティングを可能とします。 .It パケットのフィルタリングをサポート ユーザは 4 種類のフィルタを定義できます。 .Em in は受信パケットに対するフィルタです。 .Em out は送信パケットに対するフィルタです。 .Em dial はダイヤルを行うきっかけとなるパケットを定義するフィルタで、 .Em alive は接続を保持するためのパケットを定義するフィルタです。 .It トンネルドライバは bpf (Berkeley Packet Filter) をサポート .Em PPP リンクを流れるパケットを調べるために、 .Xr tcpdump 1 を使うことができます。 .It PPP オーバ TCP をサポート デバイス名が .Em host Ns No : Ns Em port 形式で指定された場合、 .Nm は通常のシリアルデバイスを使うのではなく、データ転送のための TCP 接続を開きます。 -.It IETF ドラフトの Predictor-1 と DEFLATE 圧縮をサポート +.It "IETF ドラフトの Predictor-1 (rfc 1978) と DEFLATE (rfc 1979) 圧縮をサポート .Nm は VJ 圧縮の他に Predictor-1 と DEFLATE 圧縮もサポートしています。 モデムは通常 (例えば v42.bis のような) 組み込みの圧縮機能を持っており、 その結果システムは .\"(訳注)「転送データレートよりも」をここにいれたいと考えています。 .\" 2.2.1R 対象(1997/04/02) Takeshi MUTOH より高いデータレートで通信できます。 これは一般には良いことですが、より高速のデータによってシリアル回線からの 割り込みが増加します。 システムはこの割り込みをモデムと通信して処理しなくてはならないため、 システムの負荷と遅延時間が増加することになります。 VJ 圧縮とは異なり、Predictor-1 と DEFLATE 圧縮はリンクを通る .Em すべての ネットワークトラフィックをあらかじめ圧縮しておくことで、オーバヘッドを 最小にします。 .It Microsoft の IPCP 拡張をサポート Microsoft の .Em PPP スタックを使用するクライアント (つまり Win95, WinNT) との間で ネームサーバのアドレスと NetBIOS ネームサーバのアドレスを 交渉することができます。 -.It マルチリンク PPP をサポート +.It マルチリンク PPP をサポート (rfc 1990) 接続先への複数の物理的な回線をオープンし、すべてのリンクの 帯域幅を合わせてより高いスループットを得ることができます。 .El .Sh パーミッション .Nm はユーザ .Dv root 、グループ .Dv network 、パーミッション -.Dv 4554 +.Dv 04554 でインストールされます。 デフォルトでは .Nm は、起動したユーザ ID が 0 でない場合には実行しません。 これは .Dq allow users コマンドを .Pa /etc/ppp/ppp.conf に記載することにより変更することが可能です。 通常ユーザとして実行する場合には、 .Nm はユーザ ID 0 に変わり、システムの経路表の変更と、 システムロックファイルの作成と、 ppp の設定ファイルの読み込みを行います。 すべての外部コマンド ("shell" や "!bg" で実行されます) は、 .Nm を起動したユーザ ID で実行されます。 ユーザ ID 0 にて正確になにが行われているのかに興味がある場合には、 ログ機能の .Sq ID0 を参照してください。 .Sh 始める前に 次のコマンドラインスイッチを .Nm ppp は理解します: .Bl -tag -width XXX -offset XXX .It Fl auto .Nm は tun インタフェースをオープンし、これを設定した後バックグラウンドになります。 出力データが tun インタフェース上で検出されるまでリンクはアップせず、 出力データが tun インタフェース上で検出されると .Nm はリンクをアップしようとします。 .Nm がリンクをアップしようとしている間に受信したパケット (最初のものを含みます) は、デフォルトで 2 分間キューにとどまります。 後述の .Dq set choked コマンドを参照してください。 .Pp コマンドラインには少なくとも 1 つの .Dq system を指定する必要があり (後述)、 インタフェース設定時に使用する相手の IP アドレスを指定する .Dq set ifaddr を、システムプロファイルで実行する必要があります。 通常、 .Dq 10.0.0.1/0 のようなものが適切です。例としては、 -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample の .Dq pmdemand システムを参照してください。 .It Fl background この場合、 .Nm は相手との接続をすぐに確立しようとします。 成功すると、 .Nm はバックグラウンドになり、親プロセスは終了コード 0 を返します。 失敗すると、 .Nm は非 0 の結果で終了します。 .It Fl direct これは入力接続を受け付けるために使用します。 .Nm -は ``set device'' 行を無視し、リンクにデスクリプタ 0 を使用します。 +は +.Dq set device +行を無視し、リンクにデスクリプタ 0 を使用します。 .Pp コールバックの設定を行うと、ダイヤルバック時に .Nm は .Dq set device 情報を使用します。 .It Fl dedicated このオプションは、専用線で接続されたマシンのためにデザインされています。 .Nm はデバイスを常にオープンに保ち、設定チャットスクリプトは一切使用しません。 .It Fl ddial .Fl auto モードと等価ですが、なんらかの理由でリンクが落ちた場合に .Nm が再度リンクをアップすることが違います。 .It Fl interactive これは no-op であり、前述のフラグがどれも指定されなかった場合の動作を行います。 .Nm はコマンドラインで指定されたシステムをロードし、対話プロンプトを提供します。 .It Fl alias このフラグは .Nm のモードを制御しません。 .Dq enable alias yes と等価です。さらに、 .Fl auto もまた指定されている場合、暗黙的に .Dq enable iface-alias が実行されます。 詳細については後述しているものを参照してください。 .Pp IP エイリアシングを有効にすると、 .Nm は、内部 LAN 上の全マシンに対する NAT もしくはマスカレーディングエンジンとして動作します。詳細は .Xr libalias 3 を参照してください。 .El .Pp さらに、1 つ以上の system をコマンドライン上に指定可能です。 .Sq system は .Pa /etc/ppp/ppp.conf の設定エントリです。起動時に .Nm は .Pa /etc/ppp/ppp.conf から .Dq default システムを読み込み、その後コマンドラインで指定した各 system を読み込みます。 .Pp .Fl auto , .Fl background , .Fl ddial , .Fl direct , .Fl dedicated , .Fl interactive のいずれか 1 つのスイッチのみ指定可能です。 .Nm の .Sq モード は、 .Dq set mode コマンド (後述) を使用することで後で変更可能です。 .Pp 以降、対話モードの使用方法について説明します。 .Pp 最初に .Nm を実行する時には、いくつかの初期設定を整える必要があります。 .Bl -bullet .It カーネルにトンネルデバイスが含まれていなければ なりません (GENERIC カーネルではデフォルトで 1 つ含まれます)。 もし含まれていない場合や複数の tun インタフェースが必要な場合、 次の行をカーネル設定ファイルに追加して、 カーネルを再構築する必要があります: .Pp .Dl pseudo-device tun N .Pp ここで .Ar N は .Em PPP 接続を行いたい最大の数です。 .It .Pa /dev ディレクトリにトンネルデバイスのエントリ .Pa /dev/tunN があるかどうかを調べてください。 ここで .Sq N は、0 から始まる tun デバイスの番号です。 もし無いようならば、"sh ./MAKEDEV tunN" を実行すれば作ることができます。 これにより 0 から .Ar N までの tun デバイスが作成されます。 .It あなたのシステムの .Pa /etc/group ファイルに .Dq network グループがあり、そのグループが .Nm を使うと想定されるすべてのユーザ名を含んでいることを確かめてください。 詳細は .Xr group 5 マニュアルページを参照してください。また、これらのユーザは .Pa /etc/ppp/ppp.conf ファイルで .Dq allow users コマンドを使用してアクセス権が与えられなければなりません。 .It ログファイルを作成します。 .Nm は .Xr syslog 3 -を使用して情報をログします。通常のログファイル名は +を使用して情報を記録します。通常のログファイル名は .Pa /var/log/ppp.log です。 このファイルに出力を行うためには、次の行を .Pa /etc/syslog.conf ファイルに記述してください: .Bd -literal -offset indent !ppp *.*/var/log/ppp.log .Ed .Pp .Nm の実行形式にリンクを作成することにより、複数の .Em PPP ログファイルを持つことが可能です: .Pp .Dl # cd /usr/sbin .Dl # ln ppp ppp0 .Pp として .Pa /etc/syslog.conf で .Bd -literal -offset indent !ppp0 *.*/var/log/ppp0.log .Ed .Pp とします。 .Pa /etc/syslog.conf を更新した後に、 .Xr syslogd 8 に .Dv HUP シグナルを送ることをお忘れなく。 .It 厳密には .Nm の操作とは関係ありませんが、リゾルバが正しく働くように設定した方が 良いでしょう。 これは .Pq Xr named 8 を用いて ローカルな DNS サーバを設定するか、もしくは .Pa /etc/resolv.conf ファイルに適切な .Sq name-server 行を加えることで行われます。 詳細は .Xr resolv.conf 5 のマニュアルを参照してください。 .Pp 他の方法として、もし接続先がサポートしている場合には .Nm が接続先にネームサーバのアドレスを尋ねて、自動的に .Pa /etc/resolv.conf を更新することができます。詳細は後述の .Dq enable dns コマンドを参照してください。 .El .Sh 手動ダイヤル 次の例では、あなたのマシン名が .Dv awfulhak であるとして説明します。 .Nm を引数無しで起動すると (前述の -.Em パーミッション +.Sx パーミッション 参照) 次のプロンプトが表示されます: .Bd -literal -offset indent ppp ON awfulhak> .Ed .Pp プロンプトの .Sq ON の部分は常に大文字であるべきです。ここが小文字の場合、 .Dq passwd コマンドを使用してパスワードを入力しなければならないことを意味します。 実行中の .Nm に接続し、 まだ正しいパスワードを入力していない場合にのみこのような状態になります。 .Pp -ここで、モデムのデバイス名、スピードやパリティの設定、 -CTS/RTS 信号を使うかどうか (デフォルトでは CTS/RTS が使用されます) を -指定して、開始可能です。もしハードウェアが CTS/RTS 信号を持っていない場合 -(これは PPP 可能な端末サーバに直接つなぐ場合に起こり得ます)、 -.Nm -はそのポートを通してどんな出力も送らず、来るはずのない信号を待ち続けます。 -したがって、直接接続で通信ができないような場合には、 -CTS/RTS を off にしてみてください: .Bd -literal -offset indent -ppp ON awfulhak> set line /dev/cuaa0 +ppp ON awfulhak> set device /dev/cuaa0 ppp ON awfulhak> set speed 38400 +.Ed +.Pp +通常ハードウェアフロー制御 (CTS/RTS) を使用します。 +しかし、特定の場合 +(特定の PPP 可能な端末サービスに直接接続している場合に起り得ます)、 +.Nm +が通信リンクにデータを書き込もうとしたときに、 +永遠に来ない CTS (送信時にクリア) シグナルを待つことにより +.Nm +がハングします。 +直通線で接続できない場合は、 +.Dq set ctsrts off +で CTS/RTS をオフにしてみてください。 +これが必要な場合、後述の +.Dq set accmap +の記述も参照してください - +.Dq set accmap 000a0000 +も必要かもしれません。 +.Pp +通常、パリティは +.Dq none +に設定します。これが +.Nm ppp +のデフォルトです。 +パリティはどちらかというと古風なエラーチェック機構であり、 +今となっては使用しません。 +最近のモデムは各自のエラーチェック機構を持っており、 +ほとんどのリンク層プロトコル ( +.Nm +はこれです) はより信頼できるチェック機構を使用します。 +パリティは相対的に大きなオーバヘッドを持ちますので +(トラフィックが 12.5% 増加します)、 +.Dv PPP +がオープンされると常に無効化 +.Pq set to Dq none +されます。 +しかし、ISP (インターネットサービスプロバイダ) によっては、 +特定のパリティ設定を接続時 ( +.Dv PPP +がオープンする前) に使用するものがあります。 +特に、Compuserve はログイン時に偶数パリティに固執しています: +.Bd -literal -offset indent ppp ON awfulhak> set parity even -ppp ON awfulhak> set ctsrts on +.Ed +.Pp +ここで、現在のモデム設定がどのようになっているか見られます: +.Bd -literal -offset indent ppp ON awfulhak> show modem -* モデム関連のパラメータが、ここに示されます * -ppp ON awfulhak> +Name: deflink + State: closed + Device: N/A + Link Type: interactive + Connect Count: 0 + Queued Packets: 0 + Phone Number: N/A + +Defaults: + Device List: /dev/cuaa0 + Characteristics: 38400bps, cs8, even parity, CTS/RTS on + +Connect time: 0 secs +0 octets in, 0 octets out +Overall 0 bytes/sec +ppp ON awfulhak> .Ed .Pp ここでは、直接モデムと通信するために term コマンドを使用可能です: .Bd -literal -offset indent ppp ON awfulhak> term at OK atdt123456 CONNECT -login: ppp -Password: +login: myispusername +Password: myisppassword Protocol: ppp .Ed .Pp 相手が .Em PPP で話しはじめると、 .Nm はそれを自動的に検出してコマンドモードに戻ります。 .Bd -literal -offset indent ppp ON awfulhak> # リンクは確立していません Ppp ON awfulhak> # 接続完了、LCP 完了 PPp ON awfulhak> # 認証完了 PPP ON awfulhak> # IP アドレス合意完了 .Ed .\" your end で「あなた側」 +.Pp このようにならない場合、接続先がこちらの開始交渉を -待っているか、入力パケットを -.Em PPP -パケットであると -.Nm ppp -が識別できない可能性があります。 -後者の場合、あなた側のパリティ設定の問題かもしれません。 +待っている可能性があります。 強制的に .Nm に接続先への PPP 設定パケットの送出を開始させるためには .Dq ~p -コマンドを使ってパケットモードに移行して下さい。 +コマンドを使い、端末モードを抜けてパケットモードに移行して下さい。 +.Pp +それでもログインプロンプトが得られない場合、 +Unix 的なログイン/パスワード認証ではなく、PAP または CHAP の認証を、 +相手は要求している可能性が非常に高いです。 +正しく設定するためには、プロンプトに戻り、 +認証用の名前とキーを設定し、再度接続します: +.Bd -literal -offset indent +~. +ppp ON awfulhak> set authname myispusername +ppp ON awfulhak> set authkey myisppassword +ppp ON awfulhak> term +at +OK +atdt123456 +CONNECT +.Ed +.Pp +ここで再度、交渉開始するように ppp に指定できます: +.Bd -literal -offset indent +~p +ppp ON awfulhak> # リンクは確立していません +Ppp ON awfulhak> # 接続完了、LCP 完了 +PPp ON awfulhak> # 認証完了 +PPP ON awfulhak> # IP アドレス合意完了 +.Ed .Pp これで接続されました! プロンプトの .Sq PPP が大文字に変化して、接続されたことを知らせます。もし 3 つの P の内 いくつかだけが大文字になっている場合には、すべての文字が大文字もしくは 小文字になるまで待ってください。もし小文字に戻った場合には、それは .Nm が接続先との交渉に成功しなかったことをを意味します。 -たいてい、その原因は PAP もしくは CHAP 認証の name や key が -正しくないことです。 -.Dq set log local phase -することが、この時点でのトラブルシューティングへの第一歩としては -良いでしょう。 +この時点での問題解決の第一歩としては、次のようにし、再挑戦します。 +.Bd -literal -offset indent +ppp ON awfulhak> set log local phase lcp ipcp +.Ed +.Pp 詳細は、下記の .Dq set log コマンドの説明を参照してください。 +この時点でも失敗する場合、 +ログを有効にして再挑戦することが非常に重要です。 +プロンプトの変化に注意し、あなたを助けてくれる人に報告することもまた重要です。 .Pp リンクが確立したら、show コマンドを使用することで、 どのように事態が進行しているのかが分ります: .Bd -literal -offset indent PPP ON awfulhak> show modem * モデム関連の情報がここに表示されます * PPP ON awfulhak> show ccp * CCP (圧縮) 関連の情報がここに表示されます * PPP ON awfulhak> show lcp * LCP (回線制御) 関連の情報がここに表示されます * PPP ON awfulhak> show ipcp * IPCP (IP) 関連の情報がここに表示されます * PPP ON awfulhak> show link * (高レベル) リンク関係の情報がここに表示されます * PPP ON awfulhak> show bundle * (高レベル) 論理接続関係の情報がここに表示されます * .Ed .Pp この時点で、マシンは接続先に対するホスト単位の経路 (host route) を持っています。 これはリンクの相手のホストとのみ接続可能であるという意味です。 デフォルト経路のエントリ (他の経路エントリを持たずに、全パケットを .Em PPP リンクの相手に送る ように、あなたのマシンに指示します)を追加したければ、 次のコマンドを入力してください。 .Bd -literal -offset indent PPP ON awfulhak> add default HISADDR .Ed .Pp .Sq HISADDR という文字列は、相手側の IP アドレスを表します。 既存の経路のために失敗する場合には、 .Bd -literal -offset indent PPP ON awfulhak> add! default HISADDR .Ed .Pp を用いることで既存の経路を上書きできます。 -ここで、(ping, telnet, ftp のような) ネットワークアプリケーションを -別のウィンドウで使用可能です。 +このコマンドは、実際に接続を作成する前に実行可能です。 +新しい IP アドレスを接続時に交渉する場合、これに従って +.Nm +がデフォルト経路を更新します。 +.Pp +ここで、(ping, telnet, ftp のような) ネットワークアプリケーションを、 +あなたのマシンの別のウィンドウまたは端末で使用可能です。 +現在の端末を再利用したい場合、 +.Nm +をバックグラウンドモードにするために、 +標準のシェルのサスペンドとバックグラウンドコマンド (通常 +.Dq ^Z +の後に +.Dq bg ) +を使用可能です。 +.Pp 使用可能コマンドの詳細は -.Em PPP コマンドリスト +.Sx PPP コマンドリスト の節を参照してください。 .Sh 自動ダイヤル 自動ダイヤルを行うためには、ダイヤルとログインのチャットスクリプトを 用意しなければなりません。定義の例は -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample を見てください ( .Pa /etc/ppp/ppp.conf の書式は非常に簡単です)。 各行は単一のコメント、インクルード、ラベル、コマンドのいずれかを含みます。 .Bl -bullet .It .Pq Dq # 文字で始まる行は、コメントとして扱われます。 コメント行と認識した場合、先行する空白は無視されます。 .It インクルードは語 .Sq !include から始まる行です。 1 つの引数 - インクルードするファイル - を持つ必要があります。 古いバージョンの .Nm との互換性のために、 .Dq !include ~/.ppp.conf を使用したいかもしれません。 .It ラベルは行頭から始まり、最後にコロン .Pq Dq \&: が続かなければなりません。 .It コマンド行は、最初の桁に空白かタブを含む必要があります。 .El .Pp .Pa /etc/ppp/ppp.conf ファイルには少なくとも .Dq default セクションが存在する必要があります。 このセクションは常に実行されます。 このファイルには 1 つ以上のセクションが含まれます。 セクション名は用途に応じて付けます。例えば、 .Dq MyISP はあなたの ISP を表したり、 .Dq ppp-in は入力の .Nm 構成を表したります。 .Nm ppp を立ち上げる際に、接続先のラベル名を指定可能です。 .Dq default ラベルに関係づけられたコマンドが実行されてから、 接続先ラベルに関連づけられたコマンドが実行されます。 .Nm を引数無しで起動した場合、 .Dq default だけは実行されます。load コマンドを使用して、 .Pa /etc/ppp/ppp.conf のセクションを手動でロード可能です: .Bd -literal -offset indent PPP ON awfulhak> load MyISP .Ed .Pp ひとたび接続が確立したなら、プロンプトの .Sq ppp は .Sq PPP に変わります: .Bd -literal -offset indent # ppp MyISP \&... ppp ON awfulhak> dial Ppp ON awfulhak> PPp ON awfulhak> PPP ON awfulhak> .Ed .Pp Ppp プロンプトは .Nm が認証フェースに入ったことを示します。PPp プロンプトは .Nm がネットワークフェーズに入ったことを示します。PPP プロンプトは .Nm がネットワーク層プロトコルの交渉に成功し、使用可能状態にあることを示します。 .Pp もし .Pa /etc/ppp/ppp.linkup が利用可能ならば、 .Em PPP 接続が確立された時に、その内容が実行されます。 接続が確立された後のバックグラウンドでのスクリプト実行については、 提供されている -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample (使用可能な置換文字列については、後述の .Dq shell と .Dq bg を参照してください) の .Dq pmdemand の例を参照してください。 同様に、接続が閉じられると、 .Pa /etc/ppp/ppp.linkdown ファイルの内容が実行されます。 これらのファイルのフォーマットは .Pa /etc/ppp/ppp.conf と同じです。 .Pp 以前のバージョンの .Nm では、デフォルト経路のような経路は .Pa ppp.linkup ファイルで追加し直す必要がありました。 現在では .Nm は、 .Dv HISADDR もしくは .Dv MYADDR が変化したときに、自動的に .Dv HISADDR もしくは .Dv MYADDR 文字列を含むすべての経路を更新する .Sq スティッキー経路 をサポートします。 .Sh バックグラウンドダイヤル .Nm を使って非対話的に接続を確立したい場合 (例えば .Xr crontab 5 エントリや .Xr at 1 ジョブから使うような場合) には、 .Fl background オプションを使います。 .Fl background が指定された場合、 .Nm はすぐに接続を確立しようとします。 複数の電話番号が指定された場合には、各電話番号が 1 回づつ試されます。 これらに失敗すると、 .Nm は即座に終了し、0 でない終了コードを返します。 接続に成功すると .Nm はデーモンになり、呼び出し側に終了コード 0 を返します。 デーモンは、リモートシステムが接続を終了した場合、 もしくは .Dv TERM シグナルを受け取った場合に、自動的に終了します。 .Sh ダイヤルオンデマンド デマンドダイヤル機能は .Fl auto または .Fl ddial オプションにて有効にされます。この場合にも .Pa /etc/ppp/ppp.conf で定義された接続先のラベルを指定しなければなりません。 これには、リモート接続先の IP アドレスを指定するための .Dq set ifaddr コマンドも書かれていなければなりません ( -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample を参照してください)。 .Bd -literal -offset indent # ppp -auto pmdemand .Ed .Pp .Fl auto または .Fl ddial が指定された時に .Nm はデーモンとして動作しますが、 .Pa /etc/ppp/ppp.conf 中で .Dq set server コマンドを使うことで、設定を確認したり変更したりすることができます。 .Po たとえば、 .Dq set server +3000 mypasswd とすると .Pc 次のように診断ポートを通じて接続することができます。 .Bd -literal -offset indent -# pppctl 3000 (tun0 を仮定 - ``set server'' の記述を参照) +# pppctl 3000 (tun0 を仮定) Password: PPP ON awfulhak> show who tcp (127.0.0.1:1028) * .Ed .Pp .Dq show who コマンドは現在 .Nm 自身に接続しているユーザの一覧を表示します。診断ソケットが閉じられる、 もしくは異なるソケットに変更された場合、すべての接続は即座に終了します。 .Pp .Fl auto モードにて 送信パケットが検出された時、 .Nm は (チャットスクリプトに基づいて) ダイヤルを行い、 通信相手に接続しようとします。 .Fl ddial モードでは回線がダウンしていることが確認された場合にはいつでも ダイヤルが行われます。 接続に失敗したら、デフォルトの動作では 30 秒間待ってから、 別の送信パケットが検出された時に接続しようとします。 -この動作は次の方法で変更できます。 -.Bd -literal -offset indent -set redial seconds|random[.nseconds|random] [dial_attempts] -.Ed .Pp -.Sq seconds +この動作は +.Dq set redial +コマンドで変更できます。 +.Pp +.No set redial Ar secs Ns Xo +.Oo + Ns Ar inc Ns +.Op - Ns Ar max Ns +.Oc Op . Ns Ar next +.Op Ar attempts +.Xc +.Pp +.Bl -tag -width attempts -compact +.It Ar secs は、再び接続しようとするまでの秒数です。 -引数が -.Sq random -の場合には、待ち時間を 0 秒から 30 秒の間でランダムに選びます。 -.Sq nseconds +引数がリテラル文字列 +.Sq Li random +の場合には、待ち時間を 1 秒以上から 30 秒以下の間でランダムに選びます。 +.It Ar inc +は秒数であり、 +新規にダイヤルするときに +.Ar secs +に加えられます。 +このタイムアウト値が +.Ar secs +に戻るのは、接続が成功裏に確立した後だけです。 +.Ar inc +のデフォルト値は 0 です。 +.It Ar maxinc +は、 +.Nm +が +.Ar secs +を増加させる最大回数です。 +.Ar maxinc +のデフォルト値は 10 です。 +.It Ar next は電話番号リストの中の次の番号をダイヤルする前に待つ秒数です。( .Dq set phone コマンドを参照してください)。これのデフォルトは 3 秒です。 -繰り返しますが、引数が -.Sq random -の場合には、待ち時間を 0 秒から 30 秒の間でランダムに選びます。 -.Sq dial_attempts +繰り返しますが、引数がリテラル文字列 +.Sq Li random +の場合には、待ち時間を 1 秒以上 30 秒以下の間でランダムに選びます。 +.It Ar attempts は、受け取った個々の送信パケットに対して、何回接続を試みるのかを示す 数字です。 -このパラメータが省略された場合には、以前の値がそのまま使われます。 -.Sq dial_attempts -に 0 が指定された場合には、 -.Nm -は接続できるまでダイヤルを続けます。 +.It Ar attempts +に 0 を指定すると、接続されるまで試みを続けます。 .Bd -literal -offset indent set redial 10.3 4 .Ed .Pp は個々の送信パケットに対して 4 回接続を試み、 番号間の待ち時間が 3 秒で、すべての番号を試した後に 10 秒待つことを表します。 複数の電話番号が指定されている場合でも、トータルのダイヤル回数は 4 回のままです。 (それぞれの番号を 4 回ダイヤルするのではありません)。 +.Pp +代りに、 +.Pp +.Bd -literal -offset indent +set redial 10+10-5.3 20 +.Ed +.Pp +は、 +.Nm +に接続を 20 回試みさせます。最初の試みの後は、 +.Nm +は 10 秒待ちます。 +次の試みの後は 20 秒待ちということを、 +6 番目の試みの後では 1 分待つところまで行います。 +次の 14 回の停止は、同じ 1 分間となります。 +.Nm +が接続し、切断した後、再度接続に失敗した場合、 +タイムアウト値は再度 10 秒から開始します。 +.Pp リンクの両端が .Nm -のデマンドダイヤルモードを利用している場合は、 +の +.Fl auto +ダイヤルモードを利用している場合は、 ダイヤル間隔を変更しておくのが良いでしょう。 もし、リンクの両端が同じタイムアウト時間に設定されていて、 リンクが切れて両方に送信待ちのパケットがあった場合、 両方が同時に相手を呼び出しあうことになってしまいます。 場所によっては、シリアルリンクに信頼性がなく、 切れるべきでない時にキャリアが失われるかもしれません。 セッションの途中で予期せずキャリアが失われた場合、 .Nm にリダイヤルさせることができます。 .Bd -literal -offset indent set reconnect timeout ntries .Ed .Pp このコマンドは、キャリアが失われた時に .Ar timeout 秒の間隔を置いて .Ar ntries 回まで接続を再確立するよう .Nm に指示します。例えば、 .Bd -literal -offset indent set reconnect 3 5 .Ed .Pp は、予期せぬキャリア喪失の際に .Ar 3 秒待ってから再接続を試みるように .Nm に指示します。これは .Nm があきらめる前に .Ar 5 回まで行われます。 ntries のデフォルト値は 0 (再接続しない) です。 このオプションを使用する際には注意が必要です。 もしローカル側のタイムアウトがリモート側よりもわずかに長いと、 リモート側がタイムアウトにより回線を切断した場合に、 再接続機能が (指定した回数まで) 起動されてしまいます。 注: この文脈においては、多くの LQR を喪失するとキャリア喪失を引き起こし、 ひいては再接続を引き起こします。 .Fl background フラグが指定された場合、接続が行えるまで すべての電話番号が最大 1 回ダイヤルされます。 .Dq set redial コマンドにて、リダイヤル期間の後に、 再接続回数を指定します。 リダイヤル値が指定した電話番号数より少ない場合、 指定した電話番号で使用されないものが出来ます。 プログラムを終了させるには、次のように入力してください。 .Bd -literal -offset indent PPP ON awfulhak> close ppp ON awfulhak> quit all .Ed .Pp .Dq quit コマンドは .Xr pppctl 8 もしくは .Xr telnet 1 による接続を終了しますが、 プログラム自身は終了させません。 .Nm も終了させたい場合には、 .Dq quit all を実行してください。 .Sh PPP 接続の受け入れ (方法その 1) .Em PPP 接続要求を受け入れるには、次の手順にしたがってください。 .Bl -enum .It モデムと、 (必要であれば) .Pa /etc/rc.serial が正しく設定されていることを確認します。 .Bl -bullet -compact .It フロー制御にはハードウェアハンドシェイク (CTS/RTS) を使います。 .It モデムはエコーバックを行わず (ATE0) 、コマンドの結果も報告しない (ATQ1) ように設定されていなければなりません。 .El .Pp .It モデムが接続されているポートで .Xr getty 8 が起動されるように .Pa /etc/ttys を編集します。 例えば、次のように設定すれば良いでしょう: .Pp .Dl ttyd1 "/usr/libexec/getty std.38400" dialup on secure .Pp .Xr getty 8 を起動するために .Xr init 8 プロセスに .Dv HUP シグナルを送るのを 忘れないでください: .Pp .Dl # kill -HUP 1 .It .Pa /usr/local/bin/ppplogin ファイルを次のような内容で作成します: .Bd -literal -offset indent #!/bin/sh exec /usr/sbin/ppp -direct incoming .Ed .Pp ダイレクトモード .Pq Fl direct では、 .Nm は標準入力と標準出力を使って動作します。クライアント動作の .Nm と同様に、 .Xr pppctl 8 を使用することで、構成された診断ポートに接続可能です。 .Pp ここで .Pa /etc/ppp/ppp.conf 中の .Ar incoming セクションが設定されていなければなりません。 .Pp .Ar incoming セクションに適当な .Dq allow users コマンドがあることを確かめておいてください。 .It 受け入れるユーザのアカウントを用意してください。 .Bd -literal ppp:xxxx:66:66:PPP Login User:/home/ppp:/usr/local/bin/ppplogin .Ed .Pp 詳細は .Xr adduser 8 と .Xr vipw 8 のマニュアル項目を参照してください。 .Dq accept dns および .Dq set nbns コマンドを使うことで IPCP によるドメインネームサーバと NetBIOS ネームサーバの 交渉を有効にすることが可能です。 下記の記述を参照してください。 .El .Pp .Sh PPP 接続の受け入れ (方法その 2) この方法は、 .Xr login 1 ではなく .Nm ppp で接続の認証を行うという点が異なります。 .Bl -enum .It .Pa /etc/gettytab の default セクションに .Dq pp ケーパビリティを指定することで ppp を自動的に認識するように 設定してください。 .Bd -literal default:\\ :pp=/usr/local/bin/ppplogin:\\ ..... .Ed .It 上記の方法その 1 の最初の 3 手順と同じように、 シリアルデバイスを設定し、 .Xr getty 8 を有効にして、 .Pa /usr/local/bin/ppplogin を作成してください。 .It .Pa /etc/ppp/ppp.conf の .Sq incoming ラベル (もしくは .Pa ppplogin が用いるラベルならなんでも構いません) 下に .Dq enable chap か .Dq enable pap .Pq もしくはその両方 を加えてください。 .It .Pa /etc/ppp/ppp.secret に、受け入れるユーザそれぞれについて、エントリを作成してください。 .Bd -literal Pfredxxxx Pgeorgeyyyy .Ed .El .Pp これで、 .Xr getty 8 は (HDLC フレームヘッダを認識することで) ppp 接続を検出すると、すぐに .Dq /usr/local/bin/ppplogin を実行します。 .Pp 上記のように PAP もしくは CHAP を有効にすることは .Em 必須 です。そうしなければ、あらゆる人があなたのマシンにパスワード .Em なしに ppp セッションを確立することを許可し、 あらゆる種類の潜在的な攻撃に対して門戸を開いていることになります。 .Sh 内向き接続の認証 通常、接続の受信側は相手が相手自身を認証することを要求します。 これは通常 .Xr login 1 にて行われますが、代りに PAP か CHAP を使用可能です。 2 つのうちで CHAP の方がより安全ですが、 クライアントによってはサポートしていないものがあります。 どちらを使いたいか決めたら、 .Sq enable chap または .Sq enable pap を .Pa ppp.conf の適切なセクションに追加してください。 .Pp その後、 .Pa /etc/ppp/ppp.secret ファイルの設定を行う必要があります。 このファイルは、クライアントになりうるマシンごとに 1 行を含みます。 -各行は 4 つまでのフィールドからなります: -.Bd -literal -offset indent -name key [hisaddr [label]] -.Ed +各行は 5 つまでのフィールドからなります: +.Pp +.Ar name Ar key Oo +.Ar hisaddr Op Ar label Op Ar callback-number +.Oc .Pp .Ar name と .Ar key -は期待されるクライアントを指定します。 +は期待されるクライアントのユーザ名とパスワードを指定します。 .Ar key が .Dq \&* で PAP が使用される場合、 .Nm は認証時にパスワードデータベース .Pq Xr passwd 5 を検索します。 .Pa ppp.secret の如何なる -.Ar name No / Ar key +.Ar name Ns No / Ar key の組み合わせにおいても適切でない返答をクライアントが与える場合、 認証は失敗します。 .Pp 認証に成功したならば、 .Pq 指定時には .Ar hisaddr を IP 番号交渉時に使用します。詳細は .Dq set ifaddr コマンドを参照してください。 .Pp 認証に成功し .Ar label が指定された場合、現在のシステムラベルは .Ar label にマッチするように修正されます。 このことはファイル .Pa ppp.linkup と .Pa ppp.linkdown の後続のパーズに影響があります。 +.Pp +認証に成功し +.Ar callback-number +が指定され +.Dq set callback +が +.Pa ppp.conf +で指定された場合、クライアントは指定された番号でコールバックされます。 +CBCP が使用される場合、 +.Dq set cbcp +コマンドに渡すのと同様の形式で、 +.Ar callback-number +にもまた番号のリストまたは +.Dq \&* +を含むことが可能です。 +この値は、 +.Nm +で後続する CBCP フェーズで使用します。 .Sh PPP オーバ TCP (別名: トンネリング) シリアルリンク上以外の .Nm の使用方法として、 device にホストとポートを指定することにより、 TCP 接続を使用することが可能です: .Pp .Dl set device ui-gate:6669 .Pp シリアルデバイスをオープンする代りに、 .Nm は指定されたマシンの指定されたソケットへの TCP 接続をオープンします。 .Nm は telnet プロトコルを使用しないこと、 telnet サーバと交渉できないことに注意を払うべきです。 受信マシン (ui-gate) 上に、 この ppp 接続を受信するポートを設定する必要があります。まず .Pa /etc/services を更新して、サービスを定義します: .Pp .Dl ppp-in 6669/tcp # Incoming PPP connections over tcp .Pp そして .Pa /etc/inetd.conf を更新して、このポートへの受信接続をどのように扱うかを .Xr inetd 8 に指示します: .Pp .Dl ppp-in stream tcp nowait root /usr/sbin/ppp ppp -direct ppp-in .Pp .Pa /etc/inetd.conf を更新した後には、 .Xr inetd 8 に .Dv HUP シグナルを送るのをお忘れなく。 ここではラベル名 .Dq ppp-in を使用します。 ui-gate (受信側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含みます: .Bd -literal -offset indent ppp-in: set timeout 0 set ifaddr 10.0.4.1 10.0.4.2 add 10.0.1.0/24 10.0.4.2 .Ed .Pp セキュリティのために PAP もしくは CHAP の設定をしたいかもしれません。 PAP を有効にするには次の行を追加します: .Bd -literal -offset indent enable PAP .Ed .Pp また、次のエントリを .Pa /etc/ppp/ppp.secret に作成する必要があります: .Bd -literal -offset indent MyAuthName MyAuthPasswd .Ed .Pp .Ar MyAuthPasswd が .Pq Dq * の場合には、パスワードは .Xr passwd 5 データベースから検索されます。 .Pp awfulhak (起動側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含む必要があります: .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in set dial set timeout 30 set log Phase Chat Connect hdlc LCP IPCP CCP tun set ifaddr 10.0.4.2 10.0.4.1 add 10.0.2.0/24 10.0.4.1 .Ed .Pp PAP を有効にしようとしている場合、次の設定も必要です: .Bd -literal -offset indent set authname MyAuthName set authkey MyAuthKey .Ed .Pp 我々は、 ui-gate に 10.0.4.1 のアドレスを割り当て、 awfulhak に 10.0.4.2 のアドレスを割り当てようとしています。 接続をオープンするためには、次の内容をタイプするだけで良いです。 .Pp .Dl awfulhak # ppp -background ui-gate .Pp 結果として、 awfulhak にはネットワーク 10.0.2.0/24 への新たな「経路」が、 ui-gate にはネットワーク 10.0.1.0/24 への新たな「経路」が、 TCP 接続経由でそれぞれ作成されます。 ネットワークは実質的にブリッジされます - 下位レベルの TCP 接続はパブリックなネットワーク (例えばインターネット) を またがっても良いです。 また 2 つのゲートウェイ間では ppp トラフィックは 概念的に TCP ストリーム中でカプセル化されます (パケットがパケットに対応するわけではありません)。 この機構の大きな欠点は、同時に 2 つの「配送保証」機構が存在することです - この 2 つとは、下位レベルの TCP ストリームと .Em PPP リンク上で使用されるプロトコルであり、おそらくまた TCP でしょう。 パケット喪失が起ると、両者はそれぞれの方法で喪失した パケットを再送しようと するでしょう。 .Sh パケットエイリアシング .Fl alias コマンドラインオプションにより、 パケットエイリアシングが有効になります。 これにより、 .Nm ホストがローカルエリアネットワークの他のコンピュータに対して マスカレードゲートウェイとして動作するようになります。 送信される IP パケットは、まるで .Nm ホストから来たかのようにエイリアスされ、 受信パケットは、それがローカルエリアネットワークの正しいマシンに 送られるようにエイリアスが戻されます。 パケットエイリアシングにより、 未登録でプライベートなサブネット上のコンピュータを 外部から見えないようにしつつ、 インターネットへアクセス可能とします。 一般に、 .Nm が正しく動作していることの確認は、 まず最初にパケットエイリアシングを禁止して行います。 次に .Fl alias オプションを有効にして、 .Nm ホストの上で (ウェブブラウザや .Xr telnet 1 , .Xr ftp 1 , .Xr ping 8 , .Xr traceroute 8 などの) ネットワークアプリケーションの動作を確認します。 最後に、LAN 上の別のコンピュータの上で同様なアプリケーションの 動作を確認することになります。 .Nm ホストではネットワークアプリケーションが正しく動作するのに、 LAN 上の別のコンピュータでは動かないのであれば、マスカレードソフトウェアは 正しく動いているけれども、ホストが IP パケットをフォワーディングしないか、 ひょっとするとパケットが送られて来ていないかのどちらかです。 .Pa /etc/rc.conf で IP フォワーディングが有効にされていることと、 他のコンピュータで .Nm ホストがその LAN のゲートウェイとして 指定されていることを確認してください。 .Sh パケットのフィルタリング この実装では、パケットのフィルタリングがサポートされています。 .Em in フィルタ、 .Em out フィルタ、 .Em dial フィルタ、そして .Em alive フィルタの 4 種類のフィルタがあります。 ここでは基本的なことについて書くことにします。 .Bl -bullet .It フィルタ定義は次のような構文になっています。 .Pp set filter .Ar name .Ar rule-no .Ar action -.Op Ar src_addr Ns Op / Ns Ar width +.Oo +.Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width -[ -.Ar proto -.Op src Op Ar cmp No Ar port -.Op dst Op Ar cmp No Ar port +.Oc +.Oo Ar proto Op src Ar cmp port +.Op dst Ar cmp port .Op estab .Op syn .Op finrst -] +.Oc .Bl -enum .It .Ar name は .Sq in , .Sq out , .Sq dial , .Sq alive のいずれかです。 .It .Ar rule-no は .Sq 0 から .Sq 19 までの数値で、ルール番号を指定します。 ルールは .Ar rule-no の番号順に指定されます。 ただしルール .Sq 0 が指定されている場合のみです。 .It .Ar action は .Sq permit , .Sq deny のいずれかです。 もし、あるパケットがルールに一致した場合、 結びつけられた action が直ちに実行されます。 .It .Op Ar src_addr Ns Op / Ns Ar width と .Op Ar dst_addr Ns Op / Ns Ar width は始点と終点の IP アドレスです。 .Op / Ns Ar width が指定された場合には、それによって適切なネットマスクのビット値を与え、 アドレスの範囲を指定することができます。 .It .Ar proto は .Sq icmp , .Sq udp , .Sq tcp のうちのいずれか 1 つです。 .It .Ar cmp は .Sq \< , .Sq \&eq , .Sq \> のうちいずれか 1 つです。それぞれ、より小さい、等しい、 より大きいを意味します。 .Ar port はポート番号で指定するか、 .Pa /etc/services のサービス名で指定することができます。 .It .Sq estab , .Sq syn , .Sq finrst フラグは .Ar proto が .Sq tcp に設定されているときにのみ許可され、それぞれ TH_ACK、TH_SYN、および TH_FIN もしくは TH_RST という TCP フラグを表わします。 .El .Pp .It 各フィルタはルール 0 から始まり、40 個までのルールをもつことができます。 規則のルールは、ルール 0 が定義されていなければ、有効にはなりません。 すなわち、デフォルトではすべてが通されます。 .It パケットにマッチするルールが無い場合は、パケットは破棄 (ブロック) されます。 .It すべての規則を消去するには、 .Dq set filter Ar name No -1 を使ってください。 .El .Pp -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample . を参照してください。 .Sh アイドルタイマの設定 アイドルタイマを調べたり/設定するためには、それぞれ .Dq show bundle と .Dq set timeout コマンドを使ってください: .Bd -literal -offset indent ppp ON awfulhak> set timeout 600 .Ed .Pp タイムアウト時間は秒数で指定します。デフォルト値は timeout が 180 秒 .Pp 3 分 です。 アイドルタイマ機能を使わないようにするためには、 次のコマンドを利用してください。 .Bd -literal -offset indent ppp ON awfulhak> set timeout 0 .Ed .Pp .Fl ddial と .Fl dedicated モードではアイドルタイムアウトは無視されます。 .Fl auto モードでは、アイドルタイムアウトが発生すると .Nm プログラムは実行したままで .Em PPP セッションを終了します。別の引金となるパケットがきた時に リンクを再び確立しようとします。 .Sh Predictor-1 および DEFLATE 圧縮 .Nm は Predictor type 1 圧縮および deflate 圧縮をサポートしています。 デフォルトでは、 .Nm は、接続相手が同意 .Pq あるいは要求 した場合に、 この機能を使おうと (もしくは受け入れようと) します。 .Nm は deflate プロトコルを優先します。 これらの機能を使用したくない時には .Dq disable と .Dq deny のコマンドを参照してください。 .Pp .Dq disable deflate か .Dq deny deflate の一方を使用することにより、 方向ごとに異ったアルゴリズムを使用することができます。 .Pq 接続相手が両方のプロトコルをサポートしていると仮定しています。 .Pp デフォルトでは、DEFLATE について交渉するときには .Nm はウィンドウサイズとして 15 を使います。この動作を変更したい場合には .Dq set deflate コマンドを参照してください。 .Pp デフォルトでは無効にされ受け付けませんが、DEFLATE24 と呼ばれる特殊な アルゴリズムを使用することもできます。これは CCP ID 24 を 交渉に使う点を除いては DEFLATE と完全に同じものです。 これを使用することで .Nm は .Nm pppd バージョン 2.3.* と DEFLATE 交渉を成功させることができます。 .Sh IP アドレスの制御 .Nm は IP アドレスの交渉のために IPCP を使います。接続の両側は、自分が 使おうとするアドレスを提示し、要求された IP アドレスが受け入れ可能な ものであれば、相手に ACK (肯定応答) を返します。 受け入れることができなければ、別の IP アドレスの使用を促すために .Nm は相手に NAK (否定応答) を返します。 接続の両側が受け取った要求に同意し (ACK を送っ) た時、 IPCP はオープン状態にセットされ、ネットワーク層での接続が確立されます。 IPCP の動作を制御するために、この実装はローカルとリモートの IP アドレスを定義するための .Dq set ifaddr コマンドを持っています。 .Bd -literal -offset indent -set ifaddr [src_addr [dst_addr [netmask [trigger_addr]]]] +.No set ifaddr Oo Ar src_addr Ns +.Op / Ns Ar \&nn +.Oo Ar dst_addr Ns Op / Ns Ar \&nn +.Oo Ar netmask +.Op Ar trigger_addr +.Oc +.Oc +.Oc .Ed .Pp ここで、 .Sq src_addr はローカル側で使おうと思っている IP アドレスで、 .Sq dst_addr はリモート側が使用すべき IP アドレスです。 .Sq netmask は使用すべきネットマスクです。 .Sq src_addr のデフォルトは現在の .Xr hostname 1 のもの、 .Sq dst_addr のデフォルトは 0.0.0.0 であり、 .Sq netmask のデフォルトは .Sq src_addr に適したマスク値です。 .Sq netmask はデフォルトより小さくすることのみ可能です。 ほとんどのカーネルが POINTOPOINT インタフェースのネットマスクを 無視するので、便利な値は 255.255.255.255 でしょう。 .Pp 誤った .Em PPP の実装には、接続交渉のために、 .Sq src_addr ではなく特別な IP アドレスを使用しなければならないものがあります。 この場合、 .Sq trigger_addr で指定した IP アドレスが使用されます。 相手がこの提案された番号に同意しない限り、経路表には影響しません。 .Bd -literal -offset indent set ifaddr 192.244.177.38 192.244.177.2 255.255.255.255 0.0.0.0 .Ed .Pp 上の例の意味は次の通りです: .Pp .Bl -bullet -compact .It 自分の IP アドレスとしてまず 0.0.0.0 を提案しますが、アドレス 192.244.177.38 のみは受け付けます。 .It 相手側のアドレスとして 192.244.177.2 を使うように要求し, 192.244.177.2 以外のどんなアドレスを使うことも許可しません。 相手側が別の IP アドレスを要求してきた時は、いつでも 192.244.177.2 を提案します。 .It 経路表のネットマスク値は 0xffffffff に設定されます。 .El .Pp これは、両側が既に決まった IP アドレスを持っている場合には うまくいきますが、多くの場合、一方がすべての IP アドレスを制御する -サーバとして動作しており、もう一方はその方針に従わなくてはなりません。 -より柔軟な動作をさせるために、`ifaddr' 変数の IP アドレス指定を -もっと緩やかにすることが可能です: +サーバとして動作しており、もう一方はその方針に従います。 +より柔軟な動作をさせるために、 +.Dq set ifaddr +コマンドで IP アドレス指定をもっと緩やかにすることが可能です: .Pp .Dl set ifaddr 192.244.177.38/24 192.244.177.2/20 .Pp -スラッシュ (/) に続く数字は、この IP アドレスで意味のあるビットの数を +スラッシュ +.Pq Dq / +に続く数字は、この IP アドレスで意味のあるビットの数を 表現しています。上の例は次のことを示しています。 .Pp .Bl -bullet -compact .It 可能なら自分のアドレスとして 192.244.177.38 を使おうとしますが、 192.244.177.0 から 192.244.177.255 の間の任意の IP アドレスも受け入れます。 .It 相手のアドレスとして 192.244.177.2 を使うことを希望しますが、 192.244.176.0 から 192.244.191.255 の間の任意の IP アドレスも許可します。 .It すでにお気づきと思いますが、 192.244.177.2 は 192.244.177.2/32 と書くことと 等価です。 .It 例外として、0 は 0.0.0.0/0 と等価であり、希望する IP アドレスは 特に無く、リモート接続先の選択に従うことを意味します。 0 を使用した場合は、接続が確立するまで、経路表のエントリは まったく設定されません。 .It 192.244.177.2/0 は、どんな IP アドレスでも受け入れる/許可することを 意味しますが、最初に 192.244.177.2 を使うように提案します。 .El .Pp .Sh インターネットサービスプロバイダと接続する プロバイダに接続する際には、次のステップを踏む必要があるでしょう: .Bl -enum .It .Dq set phone コマンドを使って、ダイヤルスクリプトにプロバイダの電話番号を記述します。 ダイヤルやリダイヤルに使用する電話番号は、 -パイプ (|) またはコロン (:) で区切って -複数指定することができます。例えば、次のようになります。 +パイプ +.Pq Dq \&| +またはコロン +.Pq Dq \&: +で区切って複数指定することができます。例えば、次のようになります。 +.Pq Dq \&: : .Bd -literal -offset indent -set phone "111[|222]...[:333[|444]...]..." +.No set phone Ar telno Ns Xo +.Oo \&| Ns Ar backupnumber +.Oc Ns ... Ns Oo : Ns Ar nextnumber +.Oc Ns ... +.Xc .Ed .Pp 最初のパイプで区切られたリストの番号は、 直前の番号でダイヤルもしくはログインスクリプトが失敗した場合のみ使用されます。 コロンで区切られた番号は、直前の番号の使用によりなにが起ったのかにかかわらず、 この順番で使用されます。例えば: .Bd -literal -offset indent set phone "1234567|2345678:3456789|4567890" .Ed .Pp この場合、まず 1234567 にダイヤルしてみます。 ダイヤルもしくはログインスクリプトに失敗したら、 次は 2345678 を使用します。 しかしこれはダイヤルもしくはログインスクリプトに失敗したとき *のみ* です。 このダイヤルの後、3456789 が使用されます。 4567890 は 345689 でダイヤルもしくはログインスクリプトに失敗したときのみ 使用されます。 2345678 のログインスクリプトが失敗したとしても、次の番号は 3456789 です。 必要な数だけ、パイプとコロンを使用可能です (しかし、通常はパイプのみかコロンのみであり両方の使用はないでしょう)。 次の番号へのリダイヤルまでのタイムアウトは、すべての番号にて使用されます。 リストが終了すると、 通常のリダイヤル期間だけ待ち、 最初から再開します。 .Dq set dial コマンドの \\\\T 文字列は選択された番号で置きかえられます。 (以降を参照してください)。 .It リダイヤルに関する設定は、 .Dq set redial で行います。 例えば回線の調子が悪かったり、 (最近では それほど多くないでしょうが) プロバイダがいつも話中だったりすると、 次のように設定したくなるかもしれません: .Bd -literal -offset indent set redial 10 4 .Ed .Pp これは最初の番号にリダイヤルを行う前に 10 秒待って、 4 回までダイヤルしてみるという意味になります。 .It .Dq set dial と .Dq set login コマンドを使ってログイン手続きを記述します。 .Dq set dial コマンドはモデムと通信してプロバイダへのリンクを確立するのに使われます。 例えば、次のようになります: .Bd -literal -offset indent set dial "ABORT BUSY ABORT NO\\\\sCARRIER TIMEOUT 4 \\"\\" \e ATZ OK-ATZ-OK ATDT\\\\T TIMEOUT 60 CONNECT" .Ed .Pp このモデム「チャット」文字列の意味は次の通りです。 .Bl -bullet .It \&"BUSY" または "NO CARRIER" を受信した場合には処理を中止します。 .It タイムアウトを 4 秒にセットします。 .It 文字列の受信待ちは行いません。 .It ATZ を送信します。 .It OK の受信待ちを行います。もし 4 秒以内に受信できなければ、 もう 1 度 ATZ を送信し、OK の受信待ちを行います。 .It ATDTxxxxxxx を送信します。xxxxxxx は 上記の電話番号リストの中の、次にダイヤルする番号です。 .It タイムアウトを 60 にセットします。 .It 文字列 CONNECT の受信待ちを行います。 .El .Pp 一旦接続が確立されると、ログインスクリプトが実行されます。 このスクリプトはダイヤルスクリプトと同じスタイルで書かれますが、 -パスワードがログされないように注意してください: +パスワードが記録されないように注意してください: .Bd -literal -offset indent set authkey MySecret set login "TIMEOUT 15 login:-\\\\r-login: awfulhak \e word: \\\\P ocol: PPP HELLO" .Ed .Pp このログイン「チャット」文字列の意味は次の通りです。 .Bl -bullet .It タイムアウトを 15 秒にセットします。 .It "login:" の受信待ちを行います。もし受信できなければ 復改文字を送信して、再び "login:" の受信待ちを行います。 .It "awfulhak" を送信します。 .It "word:" ("Password:" プロンプトの末尾) の受信待ちを行います。 .It .Ar authkey に現在設定されている値を送信します。 .It "ocol:" ("Protocol:" プロンプトの末尾) の受信待ちを行います。 .It "PPP" を送信します。 .It "HELLO" の受信待ちを行います。 .El .Pp .Dq set authkey -( +コマンドのログは特別な方法でとられます。 .Ar command -ログ使用時には) コマンドのログは特別な方法でとられ、( -.Sq ******** -とログされますので) 実際のパスワードが危険にさらされることはありません。 +または .Ar chat -ログ使用時には、実際のパスワードの代りに '\\P' とログされます。 +のログが有効な時は、実際のパスワードは記録されません。 +代りに +.Sq ******** Ns +が記録されます。 .Pp ログインスクリプトはプロバイダによって大きく違うものになるでしょう。 始めてそれを設定するときには .Em チャットログを有効化 することで、あなたのスクリプトが予定通りに動いているかを 調べることができます。 .It シリアル回線と通信速度を指定するためには -.Dq set line +.Dq set device と .Dq set speed を使います。例えば次のようになります。 .Bd -literal -offset indent -set line /dev/cuaa0 +set device /dev/cuaa0 set speed 115200 .Ed .Pp FreeBSD では cuaa0 が 1 つめのシリアルポートになります。 OpenBSD で .Nm を実行している場合には cua00 が 1 つめです。 あなたのモデムが 28800 かそれ以上のビットレートで通信することが できるなら、シリアルポートの速度には 115200 を指定しておくべきでしょう。 一般に、シリアルポートの速度はモデムの速度の約 4 倍にしておきます。 .It .Dq set ifaddr コマンドで IP アドレスを定義します。 .Bl -bullet .It プロバイダがどの IP アドレスを使っているのか知っている場合には、 それをリモートアドレス (dst_addr) として使ってください。 知らない場合には、10.0.0.2/0 か何かを使ってください (以降を参照してください)。 .It 特定の IP アドレスをプロバイダから割り当てられている場合は、 それをローカルアドレス (src_addr) として使ってください。 .It プロバイダが IP アドレスを動的に割り当てる場合は、適当に控えめで 緩やかに記述した IP アドレスをローカルアドレスに選んでください。 10.0.0.1/0 が適切でしょう。 / に続く数値は、このアドレスのうち何ビットを重視しているかを示します。 もしもクラス C のネットワーク 1.2.3.0 上のアドレスを使うことを 主張したいのなら、1.2.3.1/24 と指定することができます。 .It プロバイダがあなたが提示した最初の IP 番号を受け付ける場合、 第 3, 4 の引数に .Dq 0.0.0.0 を指定してください。 これによりプロバイダが番号を割り当てます。 (3 つめの引数は、 .Sq src_addr に対してデフォルトのマスクよりも制約が緩いため、無視されます。) .El .Pp 自分の IP アドレスもプロバイダの IP アドレスも 知らない場合には、次の例のようにするとよいでしょう。 .Bd -literal -offset indent set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0 .Ed .Pp .It ほとんどの場合、プロバイダはデフォルトルータでもあるでしょう。 この場合、次の行を .Pa /etc/ppp/ppp.conf に追加します。 .Bd -literal -offset indent add default HISADDR .Ed .Pp これは、 .Nm 接続先のアドレスが何であっても .Pq この例では 10.0.0.2 デフォルト経路として追加するように指示します。 この経路は .Sq スティッキー です。これは .Dv HISADDR の値が変わると、経路もそれに従って自動的に更新されるという意味です。 .Pp 以前のバージョンの .Nm では .Pa /etc/ppp/ppp.linkup ファイルにこれと似たエントリが必要でした。 .Sq スティッキー経路 の出現により、これはもはや必要ではなくなりました。 .It プロバイダが PAP/CHAP による認証を要求している場合は、 .Pa /etc/ppp/ppp.conf ファイルに次の行を追加してください: .Bd -literal -offset indent set authname MyName set authkey MyPassword .Ed .Pp デフォルトではどちらも受け付けられますので、ISP が何を要求しても大丈夫です。 .Pp PAP もしくは CHAP を使用する場合、ログインスクリプトはほとんどの場合、 必要とされないことを記述しておくべきでしょう。 .It 次のような行を加え、ISP にネームサーバアドレスを確認してください。 .Bd -literal -offset indent enable dns .Pp .Ed ローカル DNS を走らせている場合には、これを .Em やらない でください。 .Nm は単純に .Pa /etc/resolv.conf に nameserver 行を入れることで、ローカル DNS の使用を 出し抜いてしまうからです。 .El .Pp 現実の例を見たい場合には、 -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample と -.Pa /etc/ppp/ppp.linkup.sample +.Pa /usr/share/examples/ppp/ppp.linkup.sample を参照してください。 ラベル pmdemand は、ほとんどのプロバイダで使用できるでしょう。 .Sh ログ機能 .Nm は次のログ情報を、 .Xr syslog 3 経由で、もしくはスクリーンに出力することができます: .Pp .Bl -tag -width XXXXXXXXX -offset XXX -compact .It Li Async 非同期レベルパケットの 16 進ダンプ。 .It Li CBCP CBCP (CallBack Control Protocol) ログの生成。 .It Li CCP CCP パケットトレースの生成。 .It Li Chat .Sq dial , .Sq login , .Sq hangup のチャットスクリプトのトレースログの生成。 .It Li Command コマンド実行のログ。 .It Li Connect 文字列 "CONNECT" を含むチャット行のログ。 .It Li Debug デバッグ情報のログ。 .It Li HDLC HDLC パケットの 16 進ダンプ。 .It Li ID0 ユーザ ID 0 で実行された全関数呼び出しを詳細に記録。 .It Li IPCP IPCP パケットトレースの生成。 .It Li LCP LCP パケットトレースの生成。 .It Li LQM LQR レポートの生成。 .It Li Phase フェーズ遷移ログの出力。 .It Li TCP/IP 全 TCP/IP パケットのダンプ。 .It Li Timer タイマ操作のログ。 .It Li TUN ログの各行に tun デバイスを含めます .It Li Warning 端末デバイスへの出力。端末が存在しない場合は、 .Dv LOG_WARNING を使用してログファイルに送ります。 .It Li Error 端末デバイスとログファイルへの出力で、 .Dv LOG_ERROR を使用します。 .It Li Alert ログファイルへの出力で、 .Dv LOG_ALERT を使用します。 .El .Pp .Dq set log コマンドで、ログの出力レベルを設定することができます。 また、複数のレベルを単一コマンドラインにて指定することも可能です。 デフォルトは、 .Dq set log Phase です。 .Pp スクリーンに直接ログを表示することも可能です。 文法は同じで、語 .Dq local が .Dq set log の直後に付くことだけが違います。 デフォルトは .Dq set log local (つまり、マスクされない警告、エラーと注意のみ出力) です。 .Pp .Dq set log Op local -への最初の引数が '+' か '-' の文字で始まる場合、 -現在のログレベルを消去せずに修正します。例えば: +への最初の引数が +.Sq + +か +.Sq - +の文字で始まる場合、現在のログレベルを消去せずに修正します。例えば: .Bd -literal -offset indent PPP ON awfulhak> set log phase PPP ON awfulhak> show log Log: Phase Warning Error Alert Local: Warning Error Alert PPP ON awfulhak> set log +tcp/ip -warning PPP ON awfulhak> set log local +command PPP ON awfulhak> show log Log: Phase TCP/IP Warning Error Alert Local: Command Warning Error Alert .Ed .Pp レベル Warning, Error, Alert のメッセージログは .Dq set log Op local では制御できません。 .Pp .Ar Warning -レベルは特別で、ローカルに表示可能な場合にはログされません。 +レベルは特別で、ローカルに表示可能な場合には記録されません。 .Sh シグナルハンドリング .Nm は次のシグナルを扱います: .Bl -tag -width XX .It INT このシグナルを受信すると、現在の接続がもしあればそれを終了します。 .Fl auto もしくは .Fl ddial のモードではない場合、 .Nm は終了します。 .It HUP, TERM, QUIT .Nm を終了させます。 .It USR2 .Nm に全サーバソケットを閉じさせ、すべての既存の診断ポートへの接続を 取り下げます。 .El .Pp .Sh マルチリンク PPP .Em PPP 相手に接続するのに複数の物理的なリンクを利用したいなら、 接続相手も .Em マルチリンク PPP プロトコルを理解する必要があります。 仕様の詳細は RFC 1990 を参照してください。 .Pp 接続先は、 .Dq 終点の選択 とその .Dq 認証 ID の組み合わせによって識別されます。 これらの一方、もしくは両方を指定することができます。 最低でも片方は指定しておくことが推奨されます。 そうでないと、すべてのリンクが実際に同一のプログラムに接続されていることを 確認する方法がなくなり、 混乱してロックアップを引き起こすことがあります。 ローカルには、これらの識別変数は .Dq set enddisc と .Dq set authname コマンドを用いることで指定されます。先立って接続相手と .Sq authname .Pq と Sq authkey について合意しておく必要があります。 .Pp マルチリンクの能力は .Dq set mrru コマンド (set maximum reconstructed receive unit) を用いることで 有効になります。一度マルチリンクが有効になれば、 .Nm は接続相手とマルチリンク接続の交渉を行います。 .Pp デフォルトでは .Po .Sq deflink と呼ばれる .Pc ただ 1 つの .Sq リンク のみが有効です。さらにリンクを作成するには .Dq clone コマンドが使われます。このコマンドは既存のリンクを複製します。 それは次の点を除いてすべての性質が同じものです: .Bl -enum .It 新しいリンクは .Dq clone コマンドラインで指定された独自の名前を持ちます。 .It 新しいリンクは .Sq interactive リンクです。そのモードは次の .Dq set mode コマンドで変更することができます。 .It 新しいリンクは .Sq closed の状態にあります。 .El .Pp すべての有効なリンクのまとめは、 .Dq show links コマンドを用いて見ることができます。 .Pp 一度リンクが作成されると、コマンドの使用方法が変わります。 すべてのリンク固有のコマンドの前には、 .Dq link Ar name プレフィックスをつけて、 コマンドを適用するリンクを指定する必要があります。 .Nm は十分賢いので、 利用可能なリンクが 1 つだけの場合には、 .Dq link Ar name プレフィックスは不要です。 .Pp コマンドの中には依然としてリンクの指定なしに使用できるものがあり、それは .Sq バンドル レベルの操作を行います。たとえば、2 つ以上のリンクが存在するとき .Dq show ccp はマルチリンクレベルの CPP 設定と統計を表示し .Dq link deflink show ccp は .Dq deflink のリンクレベルの同じ情報を表示します。 .Pp これらの情報を用いて、次の設定を用いることができます: .Pp .Bd -literal -offset indent mp: set timeout 0 set log phase chat set device /dev/cuaa0 /dev/cuaa1 /dev/cuaa2 set phone "123456789" set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\\" ATZ \e OK-AT-OK \\\\dATDT\\\\T TIMEOUT 45 CONNECT" set login set ifaddr 10.0.0.1/0 10.0.0.2/0 set authname ppp set authkey ppppassword set mrru 1500 clone 1,2,3 link deflink remove .Ed .Pp すべての複製が設定の最後で行われていることに注意してください。 一般にはリンクは最初に設定され、そして複製されます。 あなたが常にすべてのリンクがアップ状態であることを望む場合には、 設定の最後に次の行を追加することができます。 .Pp .Bd -literal -offset indent link 1,2,3 set mode ddial .Ed .Pp リンクが必要に応じてダイヤルされることを望む場合には、次のコマンドを 使うことができます。 .Pp .Bd -literal -offset indent link * set mode auto .Ed .Pp 上記の .Dq set device 行を取り除き、 .Dq clone コマンドに続けて次の内容を指定することで、 リンクを特定の名前に結びつけることもできます: .Pp .Bd -literal -offset indent link 1 set device /dev/cuaa0 link 2 set device /dev/cuaa1 link 3 set device /dev/cuaa2 .Ed .Pp どのコマンドが ( .Dq link コマンドを使用した) コンテキスト (文脈) を要求し、 どのコマンドがコンテキストをオプションとし、 そしてどのコマンドがコンテキストを一切とらないかを調べるには、 .Dq help コマンドを使用します。 .Pp .Nm が接続相手と .Em マルチリンク モードで交渉をすると、 .Nm はローカルドメインソケットを .Pa /var/run ディレクトリに作成します。このソケットは、 リンク情報 (実際のリンクファイル記述子も含む) を、異なる .Nm の間で受け渡しするために使われます。 この機能によって、 .Nm はシリアル回線の初期制御を行う必要なしに .Xr getty 8 から、もしくは直接 .Pa /etc/gettydefs から ( .Sq pp= ケーパビリティを用いて) 実行することが可能となっています。 ひとたび .Nm がマルチリンクモードの交渉を行うと、 .Nm は自分がオープンした リンクをすでに実行されている任意の他のプロセスに渡すことができます。 すでに実行されているプロセスがない場合、 .Nm はマスタとして振る舞い、ソケットを作成し、新たな接続を待ちます。 .Sh PPP コマンドリスト この節では利用可能コマンドとその効果をリストします。 .Nm ppp セッションで対話的に使用することも、 設定ファイルで指定することも、 .Xr pppctl 8 もしくは .Xr telnet 1 セッションで指定することも可能です。 .Bl -tag -width XX .It accept|deny|enable|disable Ar option.... これらのディレクティブは 最初の接続においてどのように相手と交渉するかを .Nm に指示します。各 .Dq option は、accept/deny および enable/disable のデフォルトを持ちます。 .Dq accept は相手がこのオプションを要求したら、ACK を送ることを意味します。 .Dq deny は相手がこのオプションを要求したら、NAK を送ることを意味します。 .Dq enable はこのオプションを当方が要求することを意味します。 .Dq disable はこのオプションを当方が要求しないことを意味します。 .Pp .Dq option は次のいずれかです: .Bl -tag -width XX .It acfcomp デフォルト: enable かつ accept。 ACFComp はアドレスおよびコントロールフィールド圧縮 (Address and Control Field Compression) を意味します。 LCP パケット以外は非常に良く似たフィールドを持ちますので、 簡単に圧縮可能です。 -.It chap +.It chap Ns Op \&05 デフォルト: disable かつ accept。 CHAP はチャレンジ交換認証プロトコル (Challenge Handshake Authentication Protocol) を意味します。 CHAP もしくは PAP (後述) のどちらか一方のみ交渉可能です。 CHAP では、認証者は「チャレンジ」メッセージを相手に送ります。 相手は一方向ハッシュ関数を使用して「チャレンジ」を暗号化し、 結果を送り返します。 認証者は同じことを行い結果を比較します。 この機構の利点は、接続を介してパスワードを送らないことです。 接続が最初に確立する時にチャレンジが行われます。 更なるチャレンジが行われるかもしれません。 相手の認証を行いたい場合は、 .Dq enable chap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを .Pa /etc/ppp/ppp.secret に書く必要があります。 .Pp クライアントとして CHAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 CHAP はデフォルトで accept されます。 .Em PPP の実装によっては、チャレンジの暗号化に MD5 ではなく "MS-CHAP" を使用するものがあります。 MS-CHAP は MD4 と DES の組み合わせです。もし .Nm が DES ライブラリの存在するマシン上で構築された場合 MS-CHAP 認証要求に応答しますが、MS-CHAP 認証を要求することは 決してありません。 .It deflate デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に deflate 圧縮を使用するか否かを決定します。 使用されるアルゴリズムは .Xr gzip 1 プログラムが使用するものと同じです。 注: .Xr pppd 8 - 多くのオペレーティングシステムで使用可能な .Em PPP の実装 - との .Ar deflate 能力についての交渉には問題があります。 .Nm pppd (バージョン 2.3.1) が .Ar deflate 圧縮の交渉を行おうとする CCP コンフィギュレーションタイプは、 .Pa rfc1979 に規定されたタイプ .Em 26 ではなくタイプ .Em 24 であり、誤っています。 タイプ .Ar 24 は実際には .Pa rfc1975 では .Dq PPP Magna-link Variable Resource Compression と指定されています! .Nm は .Nm pppd と交渉する能力がありますが、 .Dq deflate24 が .Ar enable かつ .Ar accept されている場合のみです。 .It deflate24 デフォルト: disable かつ deny。 これは .Ar deflate のバリエーションで、 .Xr pppd 8 プログラムとの交渉を許可します。 詳細は上記の .Ar deflate セクションを参照してください。 これは .Pa rfc1975 に反するため、デフォルトでは disable となっています。 .It dns デフォルト: disable かつ deny。 このオプションは DNS 交渉を許可します。 .Pp .Dq enable にすることにより、 .Nm は接続相手が .Pa /etc/resolv.conf ファイルのエントリを確認することを要求します。 もし接続相手が当方の要求に否定応答をした場合 (新しい IP アドレスを 提案したら)、 .Pa /etc/resolv.conf ファイルは更新され、新しいエントリを確認するように要求を送ります。 .Pp .Dq accept にすることにより、 .Nm は接続相手からの DNS 検索要求を拒否せずに、返答します。 .Dq set dns コマンドの使用によって上書きされていない場合には、応答は .Pa /etc/resolv.conf から採られます。 +.It LANMan|chap80lm +デフォルト: disable かつ accept。 +この認証プロトコルの使用は勧められません。 +単一の CHAP タイプ (0x80) を装って、 +2 つの異った機構 (LANMan と NT) を実装することにより、 +部分的に認証プロトコルを侵害しているからです。 +.Dq LANMan +は単純な DES 暗号化機構を使用するものであり、 +CHAP 代替としては最低の安全性のものです (それでも PAP よりは安全です)。 +.Pp +更なる詳細は後述の +.Dq MSChap +の記述を参照してください。 .It lqr デフォルト: disable かつ accept。 このオプションはリンク品質要求 (Link Quality Request) を送信する、 もしくは受け入れるかどうかを決定します。 LQR は、モデムのキャリア検出を使用せずに、リンクダウンを .Nm に決定させるプロトコルです。 LQR が enable になっていると、 .Nm は LCP 要求の一部として .Em QUALPROTO オプション (後述の .Dq set lqrperiod を参照) を送ります。 接続相手が同意した場合、両端は同意した間隔で LQR パケットを交換し、 LQM ロギングを有効にすることで、詳細なリンク品質を監視することが 可能になります。 接続相手が同意しなかった場合、ppp は代りに ECHO LQR 要求を 送ります。これらのパケットは興味ある情報を何も渡しませんが、 .Em 必ず 接続相手に応答しなければなりません。 .Pp LQR, ECHO LQR のいずれを用いるにせよ、 .Nm は 5 つのパケットを送ったが確認応答が無い場合、6 つ目のパケットを送らずに 回線を切断します。 メッセージを .Em PHASE レベルで記録し、回線切断の原因が接続相手にあるものとして、適当な .Dq reconnect 値を使用します。 +.It MSChap|chap80nt +デフォルト: disable かつ accept。 +この認証プロトコルの使用は勧められません。 +単一の CHAP タイプ (0x80) を装って、 +2 つの異った機構 (LANMan と NT) を実装することにより、 +部分的に認証プロトコルを侵害しているからです。 +標準の CHAP (タイプ 0x05) に非常に良く似ていますが、 +チャレンジを固定 8 バイト長で発行し、 +標準の MD5 機構ではなく +MD4 と DES を組み合わせてチャレンジを暗号化するところが違います。 +LANman 用の CHAP タイプ 0x80 もまたサポートされています - +詳細は +.Dq enable LANMan +を参照してください。 +.Pp +.Dq LANMan +と +.Dq NT +の両方が CHAP タイプ 0x80 を使用しますので、両方を +.Dq enable +にして認証者として動作するときには、 +相手が誤った方のプロトコルを使用して応答した場合には、 +.Nm +は最大 3 回相手に再チャレンジします。 +これにより、相手が両方のプロトコルを使用する機会を与えます。 +.Pp +逆に、両プロトコルを +.Dq enable +にして +.Nm +が被認証者となる場合、チャレンジに答えるたびに使用プロトコルを交換します。 +.Pp +注釈: LANMan のみが enable にされた場合、 +.Xr pppd 8 +(バージョン 2.3.5) は被認証者としては誤った動作を行います。 +NT と LANMan の両方の応答を行いますが、 +NT の応答のみ使用すべきことも指示してしまうのです。 .It pap デフォルト: disable かつ accept。 PAP はパスワード認証プロトコル (Password Authentication Protocol) を 意味します。 CHAP (前述) もしくは PAP のどちらか一方のみ交渉可能です。 PAP では、ID とパスワードが相手に送られ続け、 認証されるか接続が終了されるまでこれが続きます。 これは比較的良くないセキュリティ機構です。 接続が最初に確立した時のみ実行可能です。 相手の認証を行いたい場合は、 .Dq enable pap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを .Pa /etc/ppp.secret に書く必要があります (ただし、後述の .Dq passwdauth +と +.Dq set radius オプションを参照)。 .Pp クライアントとして PAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 PAP はデフォルトで accept されます。 .It pred1 デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に Predictor 1 圧縮を使用するかどうかを決定します。 .It protocomp デフォルト: enable かつ accept。 このオプションは PFC (プロトコルフィールド圧縮) の交渉を行うために使用されます。 この機構により、 プロトコルフィールド数が 2 オクテットから 1 オクテットに減ります。 .It shortseq デフォルト: enable かつ accept。 このオプションは .Nm がマルチリンクモードの交渉時に .Pq 12 ビットの 短いシーケンス番号を要求し、そして受け入れるかどうかを決定します。 これは、当方の MMRU が設定されたときのみ (マルチリンクが有効になっているときのみ) 適用されます。 .It vjcomp デフォルト: enable かつ accept。 このオプションは Van Jacobson ヘッダ圧縮を使用するかどうかを決定します。 .El .Pp 次に示すオプションは、実際には相手と交渉しません。 それゆえ accept および deny は意味を持ちません。 .Bl -tag -width 20 .It idcheck デフォルト: enable。 低レベルな LCP, CCP, IPCP 設定トラフィックを交換するときに、 すべての応答の識別子フィールドはその要求の識別子フィールドと 同一であることが予定されています。デフォルトでは .Nm は予定された識別子フィールドを持たないすべての応答パケットを 捨て、それぞれのログレベルで報告します。もし .Ar idcheck が disable になっている場合、 .Nm は識別子フィールドを無視します。 .It loopback デフォルト: enable。 .Ar loopback が enable の場合、 .Nm は自動的に .Em PPP インタフェースと同じ終点アドレス宛に送出されたパケットを ループバックします。 disable の場合、 .Nm がパケットを送ると、おそらく他の終点からの ICMP リダイレクトとなります。 インタフェースがデフォルト経路であるため、 ループバック経路を必要とすることを避けたい場合、 このオプションを enable にすると便利です。 .It passwdauth デフォルト: disable。 このオプションを enable にすることにより、 PAP 認証コードが呼び出し側を認証する時に、 .Pa /etc/ppp/ppp.secret ファイル中でみつからない場合、パスワードデータベース ( .Xr passwd 5 参照) を使用します。 .Pa /etc/ppp/ppp.secret は常に、最初に調べられます。 .Xr passwd 5 からパスワードを調べ、かつそのクライアントに対して IP アドレスもしくは ラベルを指定したい場合には、 .Pa /etc/ppp/ppp.secret ファイル中のクライアントのパスワードとして .Dq \&* を用いてください。 .It proxy デフォルト: disable。 このオプションを enable にすることにより、 .Nm に相手のために代理 ARP をさせます。 +.Dv HISADDR +と +.Dv HISADDR +がいるローカルネットワークの +.Dv MAC +アドレスを使用して、 +.Nm +が ARP 表に単一エントリを作成することを意味します。 +.Dv HISADDR +が LAN からのアドレスではない場合、代理エントリは作成できません。 .It proxyall デフォルト: disable。 このオプションを enable にすることにより、 .Nm に代理 ARP エントリを追加させます。 追加されるエントリは、 tun インタフェースによってルーティングされる すべてのクラス C もしくはそれ以下のサブネットの中の、全 IP アドレスです。 +.Pp +代理 arp エントリは、 +.Dq add +コマンドによって追加されたスティッキー経路に対してのみ作成されます。( +.Dq set ifaddr +コマンドによって作成された) +インタフェースアドレス自身に対しては、代理 arp エントリは作成されません。 .It sroutes デフォルト: enable。 .Dq add コマンドが .Dv HISADDR もしくは .Dv MYADDR という値とともに用いられると、エントリは .Sq スティック経路 リストに格納されます。 .Dv HISADDR もしくは .Dv MYADDR が変更される度に、このリストが経路表に適用されます。 .Pp このオプションを disable にすると、 スティッキー経路が適用されなくなります。 .Sq スティック経路 リストは依然として保守されます。 .It throughput デフォルト: enable。 このオプションを有効にすると、 .Nm はスループット統計を収集します。 ずれ動く 5 秒間のウィンドウにおいて入出力が検査され、 現在、最良時、総計の数値が保持されます。 このデータは関連する .Em PPP 層が終了するときに出力され、また .Dq show コマンドで表示することで得られます。スループット統計は .Dq IPCP と .Dq modem のレベルで利用可能です。 .It utmp デフォルト: enable。 通常ユーザが PAP もしくは CHAP で認証された時で、 .Nm が .Fl direct モードで実行されている時は、このユーザのエントリが utmp ファイルおよび wtmp ファイルに作成されます。 このオプションを disable にすると、 .Nm は utmp および wtmp のエントリを作成しません。 通常、 ユーザがログインしかつ認証することを要求する場合のみ必要です。 .It iface-alias デフォルト: .Fl alias が指定された場合 enable。 このオプションは、 インタフェースのアドレスを交換するのではなく、 インタフェースに新規アドレスを追加するように、 .Nm に指示します。 IP エイリアシングが有効な場合のみ .Pq Dq alias enable yes 、本オプションを enable にできます。 .Pp 本オプションを enable にすると、 .Nm は古いインタフェースアドレスのトラフィックを IP エイリアスエンジン .Pq Xr libalias 5 参照 を通すようになり、( .Fl auto モードでは) 最初に PPP リンクを立ち上げたプロセスが正しく接続できるようにします。 .Pp .Dq alias enable off として IP エイリアシングを disable すると、 .Sq iface-alias も disable します。 .El .Pp -.It add[!] Ar dest[/nn] [mask] gateway +.It add Ns Xo +.Op \&! +.Ar dest Ns Op / Ns Ar nn +.Op Ar mask +.Op Ar gateway +.Xc .Ar dest は宛先 IP アドレスです。 ネットマスクは .Ar /nn によってビット数で指定するか、もしくは .Ar mask を用いて IP 番号で指定します。 .Ar 0 0 ならびにマスクなしの .Ar 0 はデフォルト経路を意味します。 .Ar 0 の代りにシンボル名 .Ar default を使うことが可能です。 .Ar gateway は、 .Ar dest マシン/ネットワークに至る、次のホップのゲートウェイです。 詳細は .Xr route 8 コマンドを参照してください。 .Pp 宛先にシンボル名 .Sq MYADDR と .Sq HISADDR を使用可能であり、 .Ar gateway には .Sq HISADDR を使用可能です。 .Sq MYADDR はインタフェースアドレスに置き換えられ、 .Sq HISADDR はインタフェースの宛先 (相手の) アドレスに置き換えられます。 .Pp .Ar add! コマンド .Po .Dq \&! に注意 .Pc 使用時には、経路が存在する場合には .Sq route change コマンド (詳細は .Xr route 8 参照) にて経路を更新します。 .Pp .Dq HISADDR もしくは .Dq MYADDR を含む経路は .Sq スティッキー と見なされます。これらはリスト (リストを見るには .Dq show ipcp コマンドを使用します) に格納され、 .Dv HISADDR もしくは .Dv MYADDR の値が変更される度に、経路表の関連するエントリが更新されます。 この機能は .Dq disable sroutes を使用することで無効にできます。 -.It allow Ar command Op Ar args +.It allow user Ns Xo +.Op s +.Ar logname Ns No ... +.Xc このコマンドは .Nm と設定ファイルへのアクセスを制御します。 ユーザレベルでのアクセスは可能であり、 設定ファイルのラベルと .Nm の実行モードに依存します。 例えば、ユーザ .Sq fred のみがラベル .Sq fredlabel に .Fl background モードでアクセスできるように、 .Nm を構成したいかもしれません。 .Pp ユーザ ID 0 はこれらのコマンドの対象外です。 .Bl -tag -width XX .It allow user[s] Ar logname... デフォルトでは、ユーザ ID 0 のみが .Nm へのアクセスを許されています。 このコマンドが指定されると、 .Dq allow users が記載されているセクションに列挙されているユーザのアクセスが可能となります。 .Sq default セクションは 常に最初にチェックされます (スタートアップ時に常にロードされる唯一の セクションです)。後続する .Dq allow users コマンドは、先行するコマンドに優先します。 あるラベル以外のすべてにアクセスを許すことが可能であり、 そのためにはデフォルトユーザを .Sq default セクションで指定し、新しいユーザリストをこのあるラベルに指定します。 .Pp ユーザ .Sq * が指定されると、全ユーザにアクセスが許されます。 -.It allow mode[s] Ar modelist... +.It allow mode Ns Xo +.Op s +.Ar mode Ns No ... +.Xc デフォルトでは全 .Nm モードが使用可能です。 このコマンドが使用されると、 -このコマンドが指定されたラベルのロードに許されるアクセスモードが制限されます。 +このコマンドが指定されたラベルのロードに許されるアクセス +.Ar mode +が制限されます。 .Dq allow users コマンドと同様、 各 .Dq allow modes コマンドは先行するコマンドに優先し、 .Sq default セクションは常に最初にチェックされます。 .Pp 使用可能なモードは次の通りです: .Sq interactive , .Sq auto , .Sq direct , .Sq dedicated , .Sq ddial , .Sq background , .Sq * 。 .Pp マルチリンクモードで動作するときには、 現在存在する回線モードを許可するセクションをロード可能です。 .El .Pp .It alias Ar command Op Ar args このコマンドは .Nm 組込みのエイリアシング (マスカレーディング) 機能を 制御するために使用します。 あなたのシステムでエイリアシングが有効になると (コンパイル時に削除できます)、 次のコマンドが使用可能となります: .Bl -tag -width XX -.It alias enable [yes|no] +.It alias enable Op yes|no エイリアシングを有効もしくは無効にします。 .Fl alias コマンドラインフラグは .Dq alias enable yes と同じ意味です。 -.It alias port Op Ar proto targetIP:targetPORT [aliasIP:]aliasPORT +.It alias addr Op Ar addr_local addr_alias +このコマンドには、 +.Ar addr_alias +のデータを +.Ar addr_local +へリダイレクトします。 +少数の実 IP アドレスを持ち、 +それらをゲートウェイの後の特定のマシンにマップしたい場合に有用です。 +.It alias deny_incoming Op yes|no +yes に設定すると、 +ファイアウォールとほぼ同様にパケットを落とすことにより、 +このコマンドは全入力接続を拒否します。 +.It alias help|? +このコマンドは、使用可能な alias コマンドのまとめを表示します。 +.It alias log Op yes|no +このオプションは、alias の様々な統計と情報がファイル +.Pa /var/log/alias.log +に記録されるようにします。 +.It alias port Xo +.Op Ar proto +.Ar targetIP Ns No \&: Ns Ar targetPORT +.Op Ar aliasIP Ns No \&: Ns +.Ar aliasPORT +.Xc このコマンドにより、 マシン .Ar aliasIP の .Ar aliasPORT へ到着する接続を、 .Ar targetIP の .Ar targetPORT へリダイレクトします。 +.Ar aliasIP +のデフォルトは、現在のインタフェースアドレスです。 .Ar proto は .Sq tcp もしくは .Sq udp のいずれかで、指定したプロトコルの接続のみマッチします。 あなたのゲートウェイの後のマシンでインターネット電話等を実行したい場合に、 このオプションは有用です。 -.It alias addr Op Ar addr_local addr_alias -このコマンドにより、 -.Ar addr_alias -へのデータを -.Ar addr_local -へリダイレクトします。 -少数の実 IP アドレスを持っていて、これらをあなたのゲートウェイの後の -特定のマシンにマップしたい場合に有用です。 -.It alias deny_incoming [yes|no] -yes に設定した場合、ファイアウォールがパケットを落すのと同様に、 -すべての入力の接続を拒否します。 -.It alias help|? -このコマンドにより、 -使用可能なエイリアスコマンドのまとめを表示します。 -.It alias log [yes|no] -このオプションを指定することにより、 -種々のエイリアシングの統計と情報を、ファイル -.Pa /var/log/alias.log -にログします。 -.It alias same_ports [yes|no] +.It "alias pptp" Op Ar addr +すべての +.Em G Ns No eneral +.Em R Ns No outing +.Em E Ns No encapsulated +.Pq Dv IPPROTO_GRE +パケットを、ローカルインタフェースアドレスではなく +.Ar addr +を使用することにより、 +.Nm +にエイリアスさせます。 +これは、マシンの内部ネットワーク上で +.Em P Ns No oint +to +.Em P Ns No oint +.Em T Ns No unneling +.Em P Ns No rotocol +の使用を許します。 +.Pp +.Ar addr +を指定しないと、 +.Dv PPTP +エイリアスは無効になります。 +.It "alias proxy cmd" Ar arg Ns No ... +このコマンドは、 +.Nm +に特定の接続に対する代理をさせ、 +これらの接続を指定したサーバにリダイレクトします。 +使用可能なコマンドについての詳細は +.Xr libalias 3 +の +.Fn PacketAliasProxyRule +の記述を参照してください。 +.It alias same_ports Op yes|no 有効になると、 エイリアスライブラリが出力パケットのポート番号を変更しようとすることを 止めさせます。 RPC や LPD といった、 ウェルノウンポート (well known port) からの接続を要求する プロトコルをサポートするのに有用です。 -.It alias use_sockets [yes|no] +.It alias use_sockets Op yes|no 有効になると、 エイリアスライブラリにソケットを作成させ、 正しい ftp データ入力や IRC 接続を保証できるようになります。 -.It alias unregistered_only [yes|no] +.It alias unregistered_only Op yes|no 登録されていない送信元アドレスの出力パケットのみを、変更します。 RFC1918 によると、登録されていない送信元アドレスは 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 です。 .El .Pp これらのコマンドはソース配布物の .Pa README.alias ファイル中でも議論されています。 .Pp -.It [!]bg Ar command +.It Op \&! Ns Xo +.No bg Ar command +.Xc 指定した .Ar command を、次の語を置換した後に、バックグラウンドで実行します: .Bl -tag -width PEER_ENDDISC .It Li AUTHNAME これは、ローカルの .Ar authname の値と置き換えられます。後述の .Dq set authname コマンドを参照してください。 .It Li ENDDISC これは、ローカルの終点選択値と置き換えられます。 後述の .Dq set enddisc コマンドを参照してください。 .It Li HISADDR これは、相手の IP 番号と置き換えられます。 .It Li INTERFACE これは、使用中のインタフェース名と置き換えられます。 .It Li LABEL これは、最後に使用したラベル名と置き換えられます。 ラベルは、 .Nm のコマンドラインから .Dq load または .Dq dial のコマンドから指定するか、 .Pa ppp.secret ファイルから指定可能です。 .It Li MYADDR これは、ローカルインタフェースに割り当てられた IP 番号と置き換えられます。 .It Li PEER_ENDDISC これは、相手の終点選択番号と置き換えられます。 .It Li PROCESSID これは、現在のプロセス ID と置き換えられます。 .It Li USER これは、PAP もしくは CHAP で認証されたユーザ名と置き換えられます。 通常、この変数は -direct モードでのみ割り当てられます。 この値は、utmp ロギングが有効になっているかどうかに関わらず、利用可能です。 .El .Pp これらの置換は .Dq set proctitle コマンドによっても実行されます。 .Pp コマンド実行中に .Nm を停止させたい場合は、 .Dq shell コマンドを使用してください。 .It clear modem|ipcp Op current|overall|peak... .Dq modem もしくは .Dq ipcp 階層で、指定されたスループット値をクリアします。 .Dq modem を指定する場合にはコンテキストが与えられなければなりません (後述の .Dq link コマンドを参照)。 第 2 引数が与えられない場合、すべての値がクリアされます。 -.It clone Ar name[,name]... +.It clone Ar name Ns Xo +.Op \&, Ns Ar name Ns +.No ... +.Xc 指定されたリンクを複製し、引数の .Ar name に関連づけた新しいリンクを作成します。 このコマンドは、リンクが 1 つしかない場合 (この場合にはそのリンクがデフォルトになります) を除いて後述の .Dq link コマンドから使用する必要があります。 リンクは下記の .Dq remove コマンドで削除できます。 .Pp デフォルトのリンク名は .Dq deflink です。 -.It close Op lcp|ccp[!] +.It close Op lcp|ccp Ns Op \&! 引数が与えられないと、適切なプロトコル層がダウンし、リンクが閉じられます。 .Dq lcp が指定されると LCP 層がダウンしますが、 .Nm をオフラインにはしません。例えば .Dq slirp のようなものを使用すれば、 .Dq term .Pq 後述 を使用して相手のマシンと会話できます。 .Dq ccp が指定されると適切な圧縮層が閉じられます。 .Dq \&! が使用されると、圧縮層はクローズ状態のままとなります。 使用されない場合には、STOPPED 状態へ再度入り、 相手が更なる CCP 交渉を開始するのを待ちます。 なにが起きようとも、ユーザを .Nm から切り離すことはありませんし、 .Nm を終了させることもありません。 後述の .Dq quit を参照してください。 -.It delete[!] Ar dest +.It delete Ns Xo +.Op \&! +.Ar dest +.Xc このコマンドは指定した .Ar dest IP アドレスの経路を削除します。 .Ar dest に .Sq ALL が指定された場合、 現在のインタフェースの経路表の非直接エントリと .Sq スティッキー経路 がすべて削除されます。 .Ar dest に .Sq default が指定された場合、デフォルト経路が削除されます。 .Pp .Ar delete! コマンドが使用された場合 .Po 最後の .Dq \&! に注意 .Pc 、存在しない経路について .Nm は文句を言わなくなります。 .It dial|call Op Ar label 引数なしで使用された場合、このコマンドは .Dq open コマンドと同一です。 .Ar label が 1 つ以上指定された場合、最初に .Dq load が実行されます。 .It down Op Ar lcp|ccp 適切な階層をダウンさせますが、 綺麗な方法ではなく、下位層が使用不能になったように見えます。 オープン状態にある有限状態機械でこのコマンドを使用することは、 丁寧ではないとされています。 引数が与えられない場合、すべてのリンクが閉じられます (コンテキストが与えられない場合にはすべてのリンクが終了されます)。 .Sq lcp が指定された場合、 .Em LCP 層は終了されますが、モデムはオフラインに移行せず、 リンクも閉じられません。 .Sq ccp が指定された場合、 関連する圧縮層のみが終了されます。 .It help|? Op Ar command 利用可能なコマンドをリストします。 .Ar command を指定した場合、このコマンドの使用方法を表示します。 -.It iface Ar command Op args +.It iface add Ns Xo +.Op \&! +.Ar addr Ns Op / Ns Ar bits +.Op Ar peer +.Xc +.It iface add Ns Xo +.Op \&! +.Ar addr +.Ar mask +.Ar peer +.Xc このコマンドは、 .Nm ppp が使用するインタフェースを制御します。 .Ar command は次のいずれかです: .Bl -tag -width XX .It iface add[!] Ar addr[[/bits| mask] peer] 指定された .Ar addr mask peer の組み合わせをインタフェースに追加します。 .Ar mask を指定する代りに、 .Ar /bits を使用可能です .Pq addr との間に空白を入れてはなりません 。指定したアドレスが既に存在する場合、 .Dq \&! を使用していない限りコマンドは失敗します - この場合、 以前のインタフェースアドレスエントリは新しいもので置き換えられ、 ネットマスクと相手のアドレスの変更を許します。 .Pp .Ar addr のみが指定されると、 .Ar bits はデフォルト値 .Dq 32 になり、 .Ar peer はデフォルト値 .Dq 255.255.255.255 になります。 このアドレス (ブロードキャストアドレス) は、 相手のアドレスとして複数存在することを .Nm が唯一許すものです。 .It iface clear .Nm が OPENED 状態または .Fl auto モードの場合にこのコマンドを使用すると、 IPCP 交渉されたアドレス以外の全アドレスがインタフェースから削除されます。 .Nm が OPENED 状態でも .Fl auto モードでもない場合、全インタフェースアドレスが削除されます。 .Pp -.It iface delete[!]|rm[!] Ar addr +.It iface delete Ns Xo +.Op \&! Ns +.No |rm Ns Op \&! +.Ar addr +.Xc このコマンドは、指定した .Ar addr をインタフェースから削除します。 .Dq \&! が指定されると、現在そのアドレスがインタフェースに割り当てられていなくても、 エラーは報告されません (削除も行われません)。 .It iface show インタフェースの現在の状態と現在のアドレスを表示します。 .Dq ifconfig INTERFACE を実行することと、ほとんど同じです。 .It iface help Op Ar sub-command このコマンドを .Ar sub-command 無しで起動すると、利用可能な .Dq iface サブコマンドと、おのおのの短い書式を表示します。 .Ar sub-command 付きで起動すると、指定した sub-command の書式のみを表示します。 .El -.It [data]link Ar name[,name...] command Op Ar args +.It Op data Ns Xo +.No link +.Ar name Ns Op , Ns Ar name Ns +.No ... Ar command Op Ar args +.Xc コマンドが影響を与えるリンクを特定したい場合に、このコマンドを 任意の他のコマンドのプレフィックスとして使うことができます。 これはマルチリンクモードで .Dq clone コマンドを使って複数のリンクを作成した後でのみ適用されます。 .Pp .Ar name は存在するリンク名を指定します。 .Ar name がコンマ区切りのリストの場合には、 .Ar command はそれぞれのリンクに対して実行されます。 .Ar name が .Dq * の場合には、 .Ar command はすべてのリンクに対して実行されます。 -.It load Op Ar label ... +.It load Op Ar label Ns Xo +.No ... +.Xc .Pa ppp.conf ファイルから指定された .Dq label (複数指定可) をロードします。 .Dq label が指定されない場合、 .Dq default ラベルが仮定されます。 .It open Op lcp|ccp|ipcp これは .Dq close の反対のコマンドです。 .Dq open コマンドを引数なしで用いることは .Dq dial を引数なしで用いることと同一です。 すなわちすべての閉じられたリンクが、現在の設定を用いて起動されます ( .Dq set autoload コマンドに基づいた自動リンクの中には起動されないものもあります)。 .Pp LCP 層がすでにオープンされているときに .Dq lcp を指定すると、LCP は再度交渉されます。 したがって、種々の LCP オプションを変更したあとで .Dq open lcp コマンドを用いることで、変更を有効にすることができます。 LCP が再度交渉された後、 同意したあらゆる認証が実行されます。 .Pp .Dq ccp 引数が用いられると、関連する圧縮層がオープンされます。 すでにオープンされている場合には、再度交渉されます。 .Pp .Dq ipcp 引数が用いられると、リンクが通常通り起動されます。すでに IPCP が オープンされている場合には、IPCP は再度交渉され、 ネットワークインタフェースが再設定されます。 .Pp このようにして PPP の状態機械を再オープンするのは、 おそらく良い手段ではありません。 接続相手が正しく振る舞わない可能性があるためです。 しかしながら、強制的に CCP もしくは VJ 辞書をリセットする手段としては 便利です。 .It passwd Ar pass すべての .Nm コマンドセットにアクセスするために要求されるパスワードを指定します。 このパスワードは診断ポート ( .Dq set server コマンド参照) に接続するときに必要です。 .Ar pass は .Dq set server コマンドラインで指定します。 .Ar command ログが有効でも、値 .Ar pass -はログされず、文字列 +は記録されず、文字列 .Sq ******** -がログされます。 -.It quit|bye [all] +が記録されます。 +.It quit|bye Op all .Dq quit が制御接続もしくはコマンドファイルから実行されると、 ppp はすべての接続を閉じた後に終了します。その他の場合、 つまりユーザが診断ソケットから接続している場合には、 単にその接続が失われます。 .Pp .Ar all 引数が与えられた場合、 .Nm はコマンドがどこから発行されたかに関わらず、 すべての存在する接続を閉じて終了します。 .It remove|rm このコマンドは与えられたリンクを消去します。 これはマルチリンクモードでのみ有用です。リンクは消去する前に .Dv CLOSED 状態になっていなければなりません。 .It rename|mv Ar name このコマンドは与えられたリンクの名前を .Ar name に変更します。 .Ar name がすでに他のリンクで使用されている場合には、失敗します。 .Pp デフォルトリンクの名前は .Sq deflink です。これを .Sq modem , .Sq cuaa0 , .Sq USR のいずれかに変更すると、ログファイルの可読性が向上するかも知れません。 .It save このオプションは (まだ) 実装されていません。 -.It set[up] Ar var value +.It set Ns Xo +.No Op up +.Ar var value +.Xc このオプションは次に示す変数の設定のために使用します: .Bl -tag -width XX .It set accmap Ar hex-value ACCMap は非同期制御文字マップ (Asyncronous Control Character Map) を 意味します。 これはいつも相手と交渉され、デフォルト値は 16 進数で 00000000 です。 このプロトコルが必要なのは、 (XON/XOFF などの) 特定の文字を終点間で受渡すことに依存するハードウェアを 使用する場合です。 .Pp XON/XOFF については .Dq set accmap 000a0000 を使用します。 -.It set authkey|key Ar value +.It set Op auth Ns Xo +.No key Ar value +.Xc クライアントモードでの PAP または CHAP の交渉で使用される 認証キー (もしくはパスワード) を、指定した値に設定します。 -ダイヤルもしくはログインスクリプトの '\\P' シーケンス -で使用されるパスワードを指定しますが、 -実際のパスワードがログされることを防ぎます。 +ダイヤルまたはログインスクリプトの +.Sq \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\P +シーケンスで使用するパスワードもまた指定します。 +これにより実際のパスワードは記録されません。 .Ar command -ログが有効な場合、セキュリティの観点から、 +または +.Ar chat +のログが有効な場合、セキュリティの観点から、 .Ar value は .Sq ******** -としてログされます。 +として記録されます。 +.Pp +.Ar value +の最初の文字がエクスクラメーションマーク +.Pq Dq \& +の場合、 +.Nm +は残りの文字列を、 +.Dq authname +と +.Dq authkey +の値を確定するために実行すべきプログラムとして扱います。 +.Pp +.Dq \&! +を無視し、前述の +.Dq !bg +コマンドと同様に特殊な名前を同様に置換しながら、 +.Ar value +は実行すべきプログラムとしてパーズされます。 +プログラムを実行すると、 +.Nm +はこのプログラムに対して 3 行の入力を与えます。 +各行は改行文字で終了しています: +.Bl -bullet +.It +CHAP チャレンジに含めて送られるホスト名。 +.It +CHAP チャレンジに含めて送られるチャレンジ文字列。 +.It +ローカルに定義された +.Dq authname +。 +.El +.Pp +2 行の出力が期待されています: +.Bl -bullet +.It +CHAP 応答と共に送るべき +.Dq authname +。 +.It +チャレンジと要求 ID で暗号化した +.Dq authkey +であり、応答は CHAP 応答パケットに含めて送られます。 +.El +.Pp +.Nm +をこのように設定するとき、 +ホストチャレンジは ASCII の数値もしくは文字であることが期待されます。 +指定されたチャレンジに対する適切な秘密情報を、 +暗号化デバイスまたは Secure ID カードが計算することが求められています。 .It set authname Ar id クライアントモードでの PAP または CHAP の交渉で使用される 認証 ID を設定します。 .Pp -PAP もしくは CHAP を enable にして +CHAP を enable にして .Fl direct モードで利用すると、 .Ar id -は初期認証要求で用いられ、通常はローカルマシン名に設定されます。 -.It set autoload Ar max-duration max-load [min-duration min-load] +は初期認証チャレンジで用いられ、通常はローカルマシン名に設定されます。 +.It set autoload Xo +.Ar max-duration max-load Op Ar min-duration min-load +.Xc これらの設定はマルチリンクモードでのみ適用され、 デフォルト値はすべて 0 です。 1 つ以上の .Ar demand-dial .Po .Fl auto としても知られる .Pc モードのリンクが存在する場合、 .Nm が最初に tun デバイスからデータを読むときには最初のリンクのみが 有効になっています。 次の .Ar demand-dial リンクは、 .Ar max-duration 秒の間、送出キューに .Ar max-load 以上のパケットが存在した場合にのみ開かれます。 両方のデフォルト値が 0 であるため、 .Ar demand-dial リンクはデフォルトでは 1 つだけオープンされます。 .Pp 複数のリンクが開かれていて、少なくともその内の 1 つが .Ar demand-dial リンクである場合、 .Ar min-duration 秒の間、送出キューに最大 .Ar min-packets 未満のパケットしか存在しなかったときに閉じられます。 .Ar min-duration が 0 の場合には、タイマは無効になります。 デフォルトでは両方の値が 0 であるため、 .Ar demand-dial リンクはバンドルされたアイドルタイマが期限切れになるまで アクティブであり続けます。 -.It set callback [none|auth|cbcp|E.164 *|number[,number]...]... +.It set callback Ar option Ns No ... 引数が与えられない場合、コールバックは disable になります。 そうでない場合には、 .Nm -は与えられたプロトコルでコールバックを要求します +は与えられた +.Ar option +でコールバックを要求します (もしくは .Ar direct モードでは受け付けます)。 -クライアントモードで、要求の否定応答が返されると、 -.Nm -は他に選択肢がなくなるまで別の要求を出します。 -選択肢が尽きると -.Nm -は交渉を終了します。 +クライアントモードで、 +.Ar option +の否定応答が返されると、 +.Nm +は他に選択肢がなくなるまで別の +.Ar option +要求を出します ( +.Ar option +のひとつとして +.Dq none +を指定していた場合を除きます)。 サーバモードでは、 .Nm は与えられるプロトコルをなんでも受け付けますが、 クライアントがいずれかひとつを要求する .Em 必要があります 。コールバックをオプションにしたいのであれば、オプションとして .Ar none を指定する必要があります。 .Pp -オプションは下記の通りです (優先度順): +.Ar option +は下記の通りです (優先度順): .Pp .Bl -tag .It auth コールバック応答側は、認証に基づいてコールバック番号を 決定することが求められます。 .Nm がコールバック応答側である場合、番号は .Pa /etc/ppp/ppp.secret 中の接続先エントリの 5 番目のフィールドで指定されます。 .It cbcp Microsoft コールバック制御プロトコルが用いられます。後述の .Dq set cbcp を参照してください。 -.It E.164 *|number[,number]... +.It E.164 *| Ns Xo +.Ar number Ns Op , Ns Ar number Ns +.No ... +.Xc コールバック要求側が .Ar number を指定します。 .Nm がコールバック応答側である場合、 .Ar number は許可する番号をコンマで区切って並べたリスト、もしくは 任意の番号を許可するという意味の .Dq \&* とします。 .Nm がコールバック要求側である場合、1 つの数字だけを指定します。 .Pp .Dq \&* を用いる場合、このオプションはとても危険なものとなることに 注意してください。 というのは、悪意あるコールバック要求者が、最初の認証なしに 電話すべき番号として任意の (国際通話番号も可能です) 番号を 伝えることができるからです。 .It none 接続相手がコールバックをまったく望まない場合、 .Nm はそのことを受け入れ、接続を終了するのではなく コールバックせずに処理を続けます。 コールバックをオプションにしたいのであれば、これを指定する必要があります。 .El .Pp -.It set cbcp Op *|number[,number]... Op delay Op retry +.It set cbcp Oo Xo +.No *| Ns Ar number Ns No +.Oo +.No , Ns Ar number Ns +.Oc +.No ... +.Op Ar delay Op Ar retry +.Oc +.Xc 引数が与えられない場合、CBCP (Microsofts CallBack Control Protocol) は disable です。言い換えれば .Dq set callback コマンドで CBCP を設定すると .Nm が CBCP フェーズでコールバック要求を行わなくなります。 そうでない場合、 .Nm は与えられた電話番号 .Ar number を使おうとします。 .Pp サーバモード .Pq Fl direct では、 .Dq \&* を使わない限り .Nm はクライアントがこれらの番号の 1 つを使うことを主張します。 .Dq \&* を使った場合には、クライアントが番号を指定するものと想定します。 .Pp クライアントモードでは .Nm は与えられた番号 (そのうち接続相手と合意可能なもの) を使用しようとします。 .Dq \&* が指定された場合には、 .Nm 接続相手が番号を指定するものと想定します。 +.It set cd Ar seconds Ns Op \&! +通常、ログインスクリプト完了の 1 秒後に、 +.Nm +はキャリアの存在をチェックします。 +キャリアが設定されていないと、 +デバイスがキャリアをサポートしていない +(ほとんどのヌルモデムケーブルの場合がそうです) と +.Nm +は仮定し、この事実を記録して、キャリアのチェックを止めます。 +しかし、モデムによってはキャリアのアサートに時間がかかるものがあるので、 +リンクが落ちたときを +.Nm ppp +は検知できなくなります。 +.Ar seconds +は、ログインスクリプトが完了してから最初のキャリアチェックを行う前に、 +.Nm +が待つべき秒数を指定します。 +.Pp +.Ar seconds +の直後にエクスクラメーションマーク +.Pq Dq \&! +がある場合、 +.Nm +はキャリアを +.Em 要求 +します。 +最初のチェックでキャリアを検知しないと、リンクは切断されているとみなされます。 +.Pp +リンクが tty でない場合、キャリアの +.Em 必要性 +は無視されます。 .It set choked Op Ar timeout これは .Nm がすべての未送出パケットを破棄する前に 送出キュー詰まりを保持する秒数を設定します。 .Ar timeout が 0 以下もしくは .Ar timeout が指定されない場合、デフォルト値の .Em 120 秒 に設定されます。 .Pp 送出キュー詰まりは .Nm がローカルネットワークから特定の数の送出パケットを読み込んだが、 リンク失敗 (接続相手がビジーなど) のためにデータを送れない場合に 発生します。 .Nm はパケットを無限には読み込みません。代りに .Em 20 パケット (マルチリンクモードでは .Em 20 No + .Em nlinks No * .Em 2 パケット) まで読み込み、 .Ar timeout 秒経過するか、1 つ以上のパケットが送られるまで ネットワークインタフェースの読み込みを停止します。 .Pp .Ar timeout 秒が経過すると、すべての未送出パケットは破棄されます。 .It set ctsrts|crtscts on|off ハードウェアフロー制御をセットします。 デフォルトではハードウェアフロー制御は .Ar on です。 .It set deflate Ar out-winsize Op Ar in-winsize DEFLATE アルゴリズムの、 デフォルトの出力ウィンドウサイズと入力ウィンドウサイズを設定します。 .Ar out-winsize および .Ar in-winsize は、 .Em 8 から .Em 15 までの値をとる必要があります。 .Ar in-winsize が指定されると、 .Nm はこのウィンドウサイズの使用を強要し、相手が他の値を示しても受け入れません。 .It set dns Op Ar primary Op Ar secondary .Dq accept dns コマンドで使用される、DNS 上書きを設定します。 詳細については前述の .Dq accept コマンドの記述を参照してください。本コマンドは .Dq enable dns を使用して要求される IP 番号には影響を与えません。 -.It set device|line Ar value[,value...] +.It set device|line Xo +.Ar value Ns No ... +.Xc .Nm が使用するデバイスを、指定された .Dq value に設定します。 全シリアルデバイス名は .Pa /dev/ から始まることが仮定されています。 .Dq value が .Pa /dev/ から始まらない場合、エクスクラメーションマーク .Pq Dq \&! から始めるか、 .Dq host:port の形式である必要があります。 .Pp エクスクラメーションマークで始まる場合、 デバイス名の残りはプログラム名として扱われ、 そのデバイスがオープンされるときにそのプログラムが実行されます。 標準入出力およびエラーは .Nm にフィードバックされ、それらが通常デバイスであるかのように読み書きされます。 .Pp .Dq host:port の組が与えられる場合、 .Nm は、指定された .Dq host の指定された .Dq port と接続しようとします。 詳細は上述の .Em PPP オーバ TCP の節を参照してください。 .Pp 複数の .Dq value を指定した場合、 .Nm は成功するか全デバイスについて実行し終るまで、順番にオープンを試みます。 .It set dial Ar chat-script 相手へダイヤルする際に使用されるチャットスクリプトを指定します。 後述の .Dq set login コマンドも参照してください。 チャットスクリプトのフォーマットの詳細については、 .Xr chat 8 と設定ファイルの例を参照してください。 次の特殊な .Sq value をチャットスクリプトに指定可能です: .Bd -unfilled -offset indent .It \\\\\\\\\\\\\\\\c .Sq 送信 文字列の最後の文字として使用した場合、 改行を追加してはならないことを意味します。 .It \\\\\\\\\\\\\\\\d チャットスクリプトがこのシーケンスに出会うと、2 秒待ちます。 .It \\\\\\\\\\\\\\\\p チャットスクリプトがこのシーケンスに出会うと、1/4 秒待ちます。 .It \\\\\\\\\\\\\\\\n 改行文字と置き換えられます。 .It \\\\\\\\\\\\\\\\r 復改文字と置き換えられます。 .It \\\\\\\\\\\\\\\\s 空白文字と置き換えられます。 .It \\\\\\\\\\\\\\\\t タブ文字と置き換えられます。 .It \\\\\\\\\\\\\\\\T 現在の電話番号と置き換えられます (後述の .Dq set phone 参照)。 .It \\\\\\\\\\\\\\\\P 現在の .Ar authkey 値と置き換えられます (前述の .Dq set authkey 参照)。 .It \\\\\\\\\\\\\\\\U 現在の .Ar authname 値と置き換えられます (前述の .Dq set authname 参照)。 .Ed .Pp 2 つのパーザがこれらのエスケープシーケンスを検査することに注意してください。 .Sq チャットのパーザ にエスケープ文字を見せるには、 .Sq コマンドパーザ からエスケープする必要があります。 つまり、2 つのエスケープを使用する必要があります。例えば次のようにします: .Bd -literal -offset indent set dial "... ATDT\\\\T CONNECT" .Ed .Pp チャットスクリプトから外部コマンドを実行することもできます。 そうするためには、 受信待ち文字列または送信文字列の最初の文字をエクスクラメーションマーク .Pq Dq \&! にします。 コマンドが実行されると、標準入力と標準出力がモデムデバイス ( .Dq set device 参照) に向けられ、標準エラー出力が .Nm に読まれて受信待ち文字列もしくは送信文字列に置き換えられます。 .Nm が対話モードで実行されている場合、ファイルデスクリプタ 3 は .Pa /dev/tty に接続されます。 .Pp 例えば (読み易さのために折り返しています); .Bd -literal -offset indent set login "TIMEOUT 5 \\"\\" \\"\\" login:--login: ppp \e word: ppp \\"!sh \\\\\\\\-c \\\\\\"echo \\\\\\\\-n label: >&2\\\\\\"\\" \e \\"!/bin/echo in\\" HELLO" .Ed .Pp は次のチャットシーケンスになります (ダイヤル前の .Sq set log local chat コマンドによる出力): .Bd -literal -offset indent Dial attempt 1 of 1 dial OK! Chat: Expecting: Chat: Sending: Chat: Expecting: login:--login: Chat: Wait for (5): login: Chat: Sending: ppp Chat: Expecting: word: Chat: Wait for (5): word: Chat: Sending: ppp Chat: Expecting: !sh \\-c "echo \\-n label: >&2" Chat: Exec: sh -c "echo -n label: >&2" Chat: Wait for (5): !sh \\-c "echo \\-n label: >&2" --> label: Chat: Exec: /bin/echo in Chat: Sending: Chat: Expecting: HELLO Chat: Wait for (5): HELLO login OK! .Ed .Pp 複数レベルのネストについて、 エスケープ文字の使用方法に (再度) 注意してください。 ここでは、4 つのパーザが動作してます。 1 番目は、オリジナルの行をパーズし、3 つの引数として読みます。 2 番目は、第 3 引数を 11 個の引数として読みます。 ここで、 .Dq \&- 記号がエスケープされていることが重要です。 そうでなければパーザは、 受信待ち-送信-受信待ちのシーケンスとして見てしまいます。 .Dq \&! 文字を見付けると、実行パーザは最初のコマンドを 3 つの引数として読み、 .Xr sh 1 自身が .Fl c 以降の引数を展開します。 我々は出力をモデムに送り返したいので、 1 番目の例では出力をファイルデスクリプタ 2 (stderr) にリダイレクトして .Nm -自身に送信およびログさせ、 +自身に送信および記録させ、 2 番目の例では単に stdout に出力して直接モデムに出力させます。 .Pp もちろん全体を、組み込みのものではなく外部の .Dq chat コマンドに実行させることが可能です。 良い代替方法については .Xr chat 8 を参照してください。 +.Pp +実行される外部コマンドは、 +.Dq !bg +コマンドと同様に、特殊語の展開対象となります。 .It set enddisc Op label|IP|MAC|magic|psn value このコマンドは、ローカル終点の選択値を設定します。 LCP 交渉の前に設定されると、 .Nm は LCP 終点選択値オプションを使用して、相手に情報を送ります。 次の選択値を設定可能です。 .Bd -unfilled -offset indent .It Li label 現在のラベルが使用されます。 .It Li IP 当方のローカル IP 番号を使用します。 LCP は IPCP より前に交渉されますので、 IPCP 層が後からこの値を変更することが可能です。 その場合、手動でリセットしない限り、終点の選択値は古い値のままとなります。 .It Li MAC 前述の .Ar IP オプションに似ていますが、 ローカル IP 番号に関係する MAC アドレスが使用される点が異なります。 ローカル IP 番号がどのイーサネットインタフェースにも存在しない場合、 本コマンドは失敗します。 .Pp ローカル IP 番号のデフォルトは、 マシンホスト名がなんであれ、その名前になりますので、通常 .Dq set enddisc mac を .Dq set ifaddr コマンドよりも先に実行します。 .It Li magic 20 桁の乱数が使用されます。 .It Li psn Ar value 指定された .Ar value が使用されます。 .Ar value は、絶対的な公衆スイッチネットワーク番号の先頭に 国コードを付けたものであるべきです。 .Ed .Pp 引数が与えられない場合、終点の選択値はリセットされます。 .It set escape Ar value... このオプションは前述の .Dq set accmap オプションに似ています。 -リンクを経由する時に「エスケープ」される文字を指定するために使用します。 -.It set filter dial|alive|in|out rule-no permit|deny Ar "[src_addr/width] [dst_addr/width] [proto [src [lt|eq|gt port]] [dst [lt|eq|gt port]] [estab] [syn] [finrst]]" +リンクを経由する時に +.Sq エスケープ +される文字を指定するために使用します。 +.It set filter dial|alive|in|out Ar rule-no Xo +.No permit|deny +.Oo Ar src_addr Ns Op / Ns Ar width +.Op Ar dst_addr Ns Op / Ns Ar width +.Oc Oo tcp|udp|icmp Op src lt|eq|gt Ar port +.Op dst lt|eq|gt Ar port +.Op estab +.Op syn +.Op finrst +.Oc +.Xc .Nm は 4 つのフィルタセットをサポートします。 .Em alive フィルタは接続を活性状態に保つパケットを指定します - アイドルタイマをリセットします。 .Em dial フィルタは、 .Fl auto モード時に .Nm にダイヤルさせるパケットを指定します。 .Em in フィルタは、マシンに入力可能なパケットを指定します。 .Em out フィルタは、マシンから出力可能なパケットを指定します。 .Pp フィルタリングは、 エイリアスエンジンが行う IP 変更の前に適用されます。 デフォルトでは、全フィルタセットが全パケットの通過を許可します。 ルールは .Ar rule-no に従って順番に処理されます。 各セットに対し 40 までのルールを指定可能です。 指定されるセットにおけるどのルールにもマッチしないパケットは破棄されます。 .Em in と .Em out のフィルタでは、パケットをドロップすることを意味します。 .Em alive フィルタでは、アイドルタイマをリセットしないことを意味します。 .Em dial フィルタではダイヤルさせることにはならないことを意味します。 ダイヤルを引き起こさないパケットは、 キューされるのではなく、捨てられることに注意してください。 -上述のパケットのフィルタリングの節を参照してください。 +上述の +.Sx パケットのフィルタリング +の節を参照してください。 .It set hangup Ar chat-script モデムを閉じる前にこれをリセットする時に使用する、 チャットスクリプトを指定します。 通常は不要であるべきですが、 閉じる時に自己を正しくリセットできないデバイスに対して使用できます。 .It set help|? Op Ar command 利用可能な set コマンドのまとめを表示するか、 .Ar command が指定されると、コマンドの使用方法を表示します。 -.It set ifaddr Ar [myaddr [hisaddr [netmask [triggeraddr]]]] +.It set ifaddr Oo Ar myaddr Ns +.Op / Ns Ar \&nn +.Oo Ar hisaddr Ns Op / Ns Ar \&nn +.Oo Ar netmask +.Op Ar triggeraddr +.Oc Oc +.Oc このコマンドは、IPCP 交渉の間使用される IP アドレスを指定します。 アドレスのフォーマットは次の通りです。 .Pp -.Dl a.b.c.d/n +.Dl a.b.c.d/nn .Pp ここで -.Ar a.b.c.d +.Dq a.b.c.d は希望する IP アドレスであり、 -.Ar n +.Ar nn はこのうち何ビットが有効であるかを示します。 -.Ar /n +.No / Ns Ar nn が省略された場合、デフォルトの -.Ar /32 +.Dq /32 になります。 ただし IP アドレスが 0.0.0.0 である場合には、マスクのデフォルトは -.Ar /0 +.Dq /0 です。 .Pp .Ar hisaddr に IP 番号の範囲として -.Pp -.Dl a.b.c.d[-d.e.f.g][,h.i.j.k[-l,m,n,o]]... +.Bd -literal -offset indent +.Ar \&IP Ns Oo \&- Ns Ar \&IP Ns Xo +.Oc Oo , Ns Ar \&IP Ns +.Op \&- Ns Ar \&IP Ns +.Oc No ... +.Xc +.Ed .Pp のフォーマットを指定できます。例えば: .Pp .Dl set ifaddr 10.0.0.1 10.0.1.2-10.0.1.10,10.0.1.20 .Pp は -.Ar 10.0.0.1 +.Dq 10.0.0.1 のみをローカル IP 番号として交渉しますが、指定された 10 個の IP 番号から 相手に割り当てを行います。 相手がこれらの番号のうちの 1 つを要求し、この番号が未使用な場合には、 .Nm は相手の要求を認めます。 相手がリンクを再確立して前回割り当てていた IP 番号を使用したい場合に有用です (既存の TCP 接続を保存します)。 .Pp 相手が要求した IP 番号が範囲外もしくは使用中の場合、 .Nm は範囲内の未使用 IP 番号をランダムに指示します。 .Pp .Ar triggeraddr が指定された場合、この値が .Ar myaddr の代りに IPCP 交渉で使用されます。 ただし、 .Ar myaddr の範囲のアドレスのみ受け入れられます。 これが有用なのは、相手が -.Ar 0.0.0.0 +.Dq 0.0.0.0 を要求しない限り IP アドレスを割り当てようとしない .Dv PPP 実装と交渉するときです。 .Pp .Fl auto モードでは設定ファイルの .Dq set ifaddr 行を読んだ直後に .Nm がインタフェースを構成することに注意してください。 他のモードではこれらの値は IPCP 交渉で使用され、 IPCP 層がアップするまでこれらのインタフェースは構成されません。 .Pp .Po PAP か CHAP が .Dq enable である場合 .Pc クライアントが自己証明をした後では、 .Ar HISADDR 引数は .Pa ppp.secret ファイルの第 3 引数で上書きされうることに注意してください。 -.Em 内向き接続の認証 +.Sx 内向き接続の認証 の節を参照してください。 .Pp どの場合でも、インタフェースが既に構成されている場合には、 .Nm はインタフェースの IP 番号を保存して、 既にバインドされているソケットが正しいままであるようにします。 -.It set ccpretry Ar period -.It set chapretry Ar period -.It set ipcpretry Ar period -.It set lcpretry Ar period -.It set papretry Ar period +.It set ccpretry|ccpretries Oo Ar timeout +.Op Ar reqtries Op Ar trmtries +.Oc +.It set chapretry|chapretries Oo Ar timeout +.Op Ar reqtries +.Oc +.It set ipcpretry|ipcpretries Oo Ar timeout +.Op Ar reqtries Op Ar trmtries +.Oc +.It set lcpretry|lcpretries Oo Ar timeout +.Op Ar reqtries Op Ar trmtries +.Oc +.It set papretry|papretries Oo Ar timeout +.Op Ar reqtries +.Oc これらのコマンドは .Nm が有限状態機械 (Finite State Machine; FSM) に要求パケットを送る前に 待つ秒数を指定します。 -.Ar period +.Ar timeout のデフォルトは、全 FSM において 3 秒です (ほとんどの場合十分です)。 -.It set log [local] [+|-] Ns Ar value... +.Pp +.Ar reqtries +を指定すると、 +相手から応答を受信しなくても諦めるまでに設定要求を作成する回数を、 +.Nm +に指示します。 +デフォルトの試行回数は、CCP, LCP, IPCP の場合 5 回であり、 +PAP と CHAP の場合 3 回です。 +.Pp +.Ar trmtries +を指定すると、 +相手の応答を待つことを諦めるまでに終了要求を作成する回数を、 +.Nm +に指示します。 +デフォルトの試行回数は 3 回です。 +認証プロトコルは終了されませんので、 +PAP や CHAP に対して指定することは不正です。 +.Pp +合意できない相手との交渉を避けるために、 +どのような交渉セッションであっても諦めたり層をクローズする前には、 +.Nm +は最大で +.Ar reqtries +の設定値の 3 倍までのみ送信します。 +.It set log Xo +.Op local +.Op +|- Ns +.Ar value Ns No ... +.Xc このコマンドにより現在のログレベルを修正できます。 詳細はログ機能の節を参照してください。 .It set login chat-script この .Ar chat-script はダイヤルスクリプトを補います。 もし両方が指定された場合、ダイヤルスクリプトの後で、 ログインスクリプトが実行されます。 ダイヤルスクリプト中で使用可能なエスケープシーケンスはここでも使用可能です。 .It set lqrperiod Ar frequency このコマンドは、 .Em LQR または .Em ECHO LQR のパケットが送信される頻度 .Ar frequency を秒で指定します。デフォルトは 30 秒です。 相手に LQR 要求を送りたい場合には、 .Dq enable lqr コマンドもまた使用する必要があります。 .It set mode Ar interactive|auto|ddial|background 指定したリンクにおけるモード .Sq mode を変更できます。通常マルチリンクモードでのみ有用ですが、 単一リンクモードでも使用可能です。 .Pp .Sq direct または .Sq dedicated のリンクを変更することはできません。 .Pp 注釈: コマンド .Dq set mode auto を発行し、IP エイリアシングが enable にされていた場合、後で .Dq enable iface-alias を行うと便利です。 .Nm が必要なアドレス変換を行うようにすることにより、 相手が当方に新しい (動的な) IP アドレスを割り当てたとしても、 リンクがアップすると接続のトリガとなるプロセスが接続できるようにします。 .It set mrru Op Ar value このオプションを設定すると、 マルチリンクプロトコルまたは MP としても知られる、 マルチリンク PPP 交渉を有効にします。 MRRU (Maximum Reconstructed Receive Unit) の値にはデフォルトはありません。 引数を指定しないと、マルチリンクモードは無効にされます。 .It set mru Op Ar value デフォルトの MRU (最大受信単位; Maximum Receive Unit) は 1500 です。 この値を増加させた場合、相手は MTU を増加させても *かまいません*。 デフォルトの MRU より減らすことは意味がありません。 なぜなら、 .Em PPP プロトコルでは少なくとも 1500 オクテットのパケットを 受信できなければ *ならない* からです。 引数が指定されないと、1500 が仮定されます。 .It set mtu Op Ar value デフォルトの MTU は 1500 です。 交渉時に、(296 バイト未満でなければ) 相手が望むいかなる MRU および MRRU も受け付け可能です。 MTU が設定されると、 .Nm は .Ar value よりも小さい MRU/MRRU の値を受け付けなくなります。 交渉が完了すると、相手がより大きな MRU/MRRU を要求していたとしても、 インタフェースに対して MTU が割り当てられます。 当方のパケットサイズを制限するのに有用です (よりよくバンド幅を共有できるようになりますが、 ヘッダデータが増えるというコストがかかります)。 .Pp .Ar value を指定しないと、1500 または相手が要求した値が使用されます。 .It set nbns Op Ar x.x.x.x Op Ar y.y.y.y このオプションは、相手の要求によって返される Microsoft NetBIOS ネームサーバの値を設定します。 値を指定しないと、 .Nm はそのような要求を拒否するようになります。 .It set openmode active|passive Op Ar delay デフォルトでは、 .Ar openmode は常に、1 秒の .Ar delay をもって .Ar active となります。 この場合、 .Nm は回線が設定されてから 1 秒が経過したなら いつでも LCP/IPCP/CCP の交渉を開始します。 相手が交渉を開始するのを待ちたい場合は、値 .Dq passive を使用します。 直ちにもしくは 1 秒以上待ってから交渉を開始したい場合、 .Ar delay を秒単位で指定します。 .It set parity odd|even|none|mark 回線のパリティを設定できます。デフォルト値は .Ar none です。 -.It set phone Ar telno[|telno]...[:telno[|telno]...]... +.It set phone Ar telno Ns Xo +.Oo \&| Ns Ar backupnumber +.Oc Ns ... Ns Oo : Ns Ar nextnumber +.Oc Ns ... +.Xc ダイヤルおよびログインのチャットスクリプトで使用される \\\\T 文字列が 置き換えられる電話番号を指定できます。 -複数の電話番号をパイプ (|) もしくはコロン (:) で区切って指定可能です。 +複数の電話番号をパイプ +.Pq Dq \&| +もしくはコロン +.Pq Dq \&: +で区切って指定可能です。 +.Pp パイプの後の番号がダイヤルされるのは、 直前の番号へのダイヤルもしくはログインのスクリプトが失敗した場合のみです。 回線の切断の理由にかかわらず、 コロンで区切られた番号は順番に試行されます。 +.Pp 複数の番号を指定した場合、接続が確立するまで .Nm はこのルールに基づいてダイヤルします。 再試行の最大値は、後述の .Dq set redial で指定します。 .Fl background モードでは各番号は最大 1 回試行されます。 -.It set [proc]title Op Ar value +.It set Op proc Ns Xo +.No title Op Ar value +.Xc .Xr ps 1 が表示する現在のプロセスタイトルを、 .Ar value に従って変更します。 .Ar value が指定されないと、元のプロセスタイトルが回復されます。 シェルコマンドが行うすべての語置換 (前述の .Dq bg コマンドを参照してください) は、ここでも行われます。 .Pp プロセスタイトル中に USER が必要な場合、 .Dq set proctitle コマンドは .Pa ppp.linkup 中に登場する必要があることに注意してください。 .Pa ppp.conf が実行されているときには、分からないからです。 +.It set radius Op Ar config-file +このコマンドは RADIUS サポートを (組み込まれていれば) 有効にします。 +.Ar config-file +は、 +.Xr radius.conf 5 +に記述されている radius クライアント設定ファイルを参照します。 +PAP または CHAP が +.Dq enable +にされている場合、 +.Nm +は +.Em \&N Ns No etwork +.Em \&A Ns No ccess +.Em \&S Ns No erver +として振舞い、設定されている RADIUS サーバを使用して認証し、 +.Pa ppp.secret +ファイルやパスワードデータベースによる認証は行いません。 +.Pp +PAP と CHAP のいずれも有効になっていない場合、 +.Dq set radius +は効果がありません。 +.Pp +.Nm +は、RADIUS 応答中の、次の属性を使用します: +.Bl -tag -width XXX -offset XXX +.It RAD_FRAMED_IP_ADDRESS +相手の IP アドレスは指定された値に設定されました。 +.It RAD_FRAMED_IP_NETMASK +tun インタフェースのネットマスクは指定された値に設定されました。 +.It RAD_FRAMED_MTU +指定された MTU が LCP 交渉で合意された相手の MRU より小さい場合であり、 +*かつ* 設定された MTU のいずれよりも小さい場合 ( +.Dq set mru +コマンド参照)、 +tun インタフェースの MTU は指定した値に設定されます。 +.It RAD_FRAMED_COMPRESSION +受信した圧縮タイプが +.Dq 1 +の場合、 +.Dq disable vj +設定コマンドが指定されていたとしても、IPCP 交渉において +.Nm +は VJ 圧縮を要求します。 +.It RAD_FRAMED_ROUTE +受信した文字列は、 +.Ar dest Ns Op / Ns Ar bits +.Ar gw +.Op Ar metrics +という書式であると期待します。 +指定した metrics は無視されます。 +.Dv MYADDR +と +.Dv HISADDR +は、 +.Ar dest +と +.Ar gw +の正当な値として理解されます。 +.Dq default +を +.Ar dest +に使用可能であり、デフォルト経路を指定します。 +.Dq 0.0.0.0 +は、 +.Ar dest +に対する +.Dq default +と同じであると解釈され、 +.Ar gw +に対する +.Dv HISADDR +と同じであると解釈されます。 +.Pp +例えば、戻り値 +.Dq 1.2.3.4/24 0.0.0.0 1 2 -1 3 400 +は 1.2.3.0/24 ネットワークへは +.Dv HISADDR +を介するという経路表エントリになり、 +戻り値 +.Dq 0.0.0.0 0.0.0.0 +または +.Dq default HISADDR +は +.Dv HISADDR +行きのデフォルト経路になります。 +.Pp +すべての RADIUS の経路は、 +すべてのスティッキーな経路が適用された後で適用されます。 +これにより、RADIUS の経路が、設定済みの経路に優先します。 +これは、 +.Dv MYADDR +または +.Dv HISADDR +というキーワードを含まない RADIUS の経路にもあてはまります。 +.Pp +.El +RADIUS サーバから受信した値は、 +.Dq show bundle +を使用して見られます。 .It set reconnect Ar timeout ntries (CD の喪失もしくは LQR の失敗により) 予想外の回線切断となった場合、 指定した .Ar timeout の後に接続が再確立されます。 回線は最大 .Ar ntries 回、再接続されます。 .Ar ntries のデフォルトは 0 です。 .Ar timeout に .Ar random -を指定すると、0 から 30 秒の間の任意時間の停止となります。 +を指定すると、1 から 30 秒の間の任意時間の停止となります。 .It set recvpipe Op Ar value ルーティングテーブルの RECVPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 -.It set redial Ar seconds[.nseconds] [attempts] +.It set redial Ar secs Ns Xo +.Oo + Ns Ar inc Ns +.Op - Ns Ar max Ns +.Oc Op . Ns Ar next +.Op Ar attempts +.Xc .Nm に .Ar attempts 回のリダイヤルを指示できます。 1 より大きな数を指定した場合 (前述の .Ar set phone 参照)、 各番号にダイヤルする前に、 -.Ar nseconds +.Ar next だけ停止します。 最初の番号に戻ってダイヤル開始する前に -.Ar seconds -だけ停止します。 -.Dq random +.Ar secs +だけ停止します。リテラル値 +.Dq Li random を -.Ar seconds +.Ar secs および -.Ar nseconds -のところで使用でき、0 から 30 秒の間の任意時間の停止となります。 -.Pp +.Ar next +のところで使用でき、1 から 30 秒の間の任意時間の停止となります。 +.Pp +.Ar inc +が指定されると、 +.Nm +が新規番号を試すたびに、この値が +.Ar secs +に加えられます。 +.Ar secs +が増加されるのは、最大 +.Ar maxinc +回だけです。 +.Ar maxinc +のデフォルト値は 10 です。 .Ar attempts -が経過した後でもこの遅延は効果があるので、 +が経過した後でも +.Ar secs +の遅延は効果があるので、 すぐに手動でダイヤルしても何も起ってないように見えるかもしれません。 すぐにダイヤルする必要がある場合、 .Dq \&! を .Dq open キーワードの直後に付けます。 更なる詳細については、前述の .Dq open の記述を参照してください。 .It set sendpipe Op Ar value ルーティングテーブルの SENDPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It set server|socket Ar TcpPort|LocalName|none password Op Ar mask このコマンドは .Nm に指定したソケットもしくは .Sq 診断ポート にてコマンド接続の入力を listen するように指示します。 .Pp 語 .Ar none は .Nm に既に存在するソケットを閉じさせます。 .Pp ローカルドメインソケットを指定したい場合、 .Ar LocalName に絶対ファイル名を指定します。そうしないと、TCP ポートの名前もしくは番号 であると解釈されます。 ローカルドメインソケットに使用される 8 進 umask を指定する必要があります。 .Sq 0 から始まる 4 桁 8 進数で指定します。 umask の詳細については .Xr umask 2 を参照してください。TCP ポート名がどのように変換されるかについては .Xr services 5 を参照してください。 .Pp このソケットにクライアントが接続するときに使用されねばならないパスワードも 指定可能です ( 前述の .Dq passwd コマンドを使用します)。 パスワードが空文字列として指定される場合、 クライアントが接続するときにパスワードを必要とされません。 .Pp ローカルドメインソケットが指定される場合、ソケット名中の最初の .Dq %d シーケンスは現在のインタフェースユニット番号で置換されます。 複数接続のために同一のプロファイルを使用したい場合に便利です。 .Pp 同様の方法で TCP ソケットの前に .Dq + 文字を付けることができます。 この場合、現在のインタフェースユニット番号が、ポート番号に加算されます。 .Pp .Nm をサーバソケットと共に使用する場合、通信機構として .Xr pppctl 8 コマンドを使用することが好ましいです。 現在 .Xr telnet 1 も使用可能ですが、将来リンク暗号化が実装されるかもしれませんので、 .Xr telnet 1 に依存しないようにしてください。 .It set speed Ar value シリアルデバイスの速度を指定します。 -.It set stopped Ar [LCPseconds [CCPseconds]] +.It set stopped Op Ar LCPseconds Op Ar CCPseconds このオプションが指定されると、 指定した FSM (有限状態機械; Finite State Machine) が停止状態になってから .Dq seconds で指定した秒数だけ停止したのち、 .Nm はタイムアウトします。 このオプションは、 相手が終了要求を送り我々が終了確認応答を送ったにもかかわらず 実際には接続を閉じない場合に、有用かもしれません。また、 .Dq set openmode passive を使用した場合に相手が指定時間内に Configure Request を送らないことを タイムアウト検出する場合には、便利かもしれません。 .Dq set log +lcp +ccp を使用すると、 .Nm -は適切な状態遷移をログします。 +は適切な状態遷移を記録します。 .Pp デフォルト値は 0 であり、 停止状態による .Nm のタイムアウトは発生しません。 .Pp この値は openmode の遅延 (上述の .Dq set openmode 参照) より小さくなってはなりません。 .It set timeout Ar idleseconds このコマンドはアイドルタイマの値を指定します。 更なる詳細については -.Dq アイドルタイマの設定 +.Sx アイドルタイマの設定 というタイトルの節を参照してください。 .It set vj slotcomp on|off このコマンドは .Nm に VJ スロット圧縮を交渉するか否かを指示します。 デフォルトではスロット圧縮は .Ar on です。 .It set vj slots Ar nslots このコマンドは最初の .Ar slots 番号を指定します。 .Nm は VJ 圧縮が enable されている時には、 これを使用して相手と交渉をします (前述の .Sq enable コマンドを参照してください)。 デフォルト値は 16 です。 .Ar nslots は .Ar 4 以上 .Ar 16 以下の値です。 .El .Pp .It shell|! Op Ar command .Ar command が指定されない場合、 .Dv SHELL 環境変数で指定されるシェルが起動されます。 そうでなければ指定された .Ar command が実行されます。 語の置換は、前述の .Dq !bg コマンドと同様の方法で行われます。 .Pp 文字 ! を使用する場合、コマンドとの間に空白が必要です。 このコマンドはフォアグラウンドで実行されることに注意してください - .Nm はプロセスが終了するまでは実行を続けません。 バックグラウンドでコマンド処理を行いたい場合には、 .Dv bg コマンドを使用してください。 .It show Ar var このコマンドを使用して、次の内容を確認できます: .Bl -tag -width 20 .It show bundle 現在のバンドル設定を表示します。 .It show ccp 現在の CCP 圧縮統計を表示します。 .It show compress 現在の VJ 圧縮統計を表示します。 .It show escape 現在のエスケープ文字を表示します。 .It show filter Op Ar name 指定したフィルタの現在のルールをリストします。 .Ar name を指定しないと、全フィルタが表示されます。 .It show hdlc 現在の HDLC 統計を表示します。 .It show help|? 利用可能な show コマンドのまとめを表示します。 .It show iface 現在のインタフェース情報 .Po Dq iface show と同じです .Pc を表示します。 .It show ipcp 現在の IPCP 統計を表示します。 .It show lcp 現在の LCP 統計を表示します。 -.It show [data]link +.It show Op data Ns Xo +.No link +.Xc 高レベルリンク情報を表示します。 .It show links 利用可能な論理リンクのリストを表示します。 .It show log 現在のログ値を表示します。 .It show mem 現在のメモリ統計を表示します。 .It show modem 現在の下位レベルリンク情報を表示します。 .It show proto 現在のプロトコルの総計を表示します。 .It show route 現在の経路表を表示します。 .It show stopped 現在の stopped タイムアウト値を表示します。 .It show timer アクティブアラームタイマを表示します。 .It show version .Nm の現在のバージョン番号を表示します。 .El .Pp .It term 端末モードに移行します。 キーボードからタイプした文字はモデムに送られます。 モデムから読んだ文字はスクリーンに表示されます。 モデムの相手側に .Nm の相手が認識された時には、 .Nm は自動的にパケットモードを有効にし、コマンドモードに戻ります。 .El .Pp .Sh 更に詳細について .Bl -bullet .It 設定ファイルの例を読んでください。良い情報源です。 .It 何が利用できるかについては、 .Dq help , .Dq alias ? , .Dq enable ? , .Dq set ? , .Dq show ? コマンドを使って、オンライン情報を取得してください。 .It 次の URL に有用な情報があります: .Bl -bullet -compact .It http://www.FreeBSD.org/FAQ/userppp.html .It http://www.FreeBSD.org/handbook/userppp.html .El .Pp .El .Pp .Sh 関連ファイル .Nm は、4 つのファイル .Pa ppp.conf , .Pa ppp.linkup , .Pa ppp.linkdown , .Pa ppp.secret を参照します。 これらのファイルは .Pa /etc/ppp に置かれます。 .Bl -tag -width XX .It Pa /etc/ppp/ppp.conf システムのデフォルト設定ファイル。 .It Pa /etc/ppp/ppp.secret 各システム用の認証設定ファイル。 .It Pa /etc/ppp/ppp.linkup .Nm がネットワークレベルの接続を確立した時に実行されるファイル。 .It Pa /etc/ppp/ppp.linkdown .Nm がネットワークレベルの接続を閉じる時にチェックするファイル。 .It Pa /var/log/ppp.log ログとデバッグ情報のファイル。このファイル名は .Pa /etc/syslogd.conf にて指定されます。詳細は .Xr syslog.conf 5 を参照してください。 .It Pa /var/spool/lock/LCK..* tty ポートをロックするためのファイル。詳細は .Xr uucplock 3 を参照してください。 .It Pa /var/run/tunN.pid tunN デバイスに接続されている .Nm プログラムのプロセス ID (pid) 。 ここで .Sq N はデバイスの番号です。 .It Pa /var/run/ttyXX.if このポートで使われている tun インタフェース。 このファイルも .Fl background , .Fl auto , .Fl ddial のいずれかのモードの時のみ作成されます。 .It Pa /etc/services サービス名でポート番号が指定されている場合に、ポート番号を取得します。 .It Pa /var/run/ppp-authname-class-value マルチリンクモードでは、 相手の認証名称 .Pq Sq authname と相手の終点選択クラス .Pq Sq class と相手の終点選択値 .Pq Sq value を使用して、ローカルドメインソケットが生成されます。 終点選択値はバイナリ値であってもかまわないため、 実際のファイル名を判定するために 16 進数に変換されます。 .Pp このソケットは、別の .Nm のインスタンスとリンクを受け渡しを行うために使用します。 .El .Pp .Sh 関連項目 .Xr at 1 , .Xr ftp 1 , .Xr gzip 1 , .Xr hostname 1 , .Xr login 1 , .Xr tcpdump 1 , .Xr telnet 1 , +.Xr libalias 3 , .Xr syslog 3 , .Xr uucplock 3 , .Xr crontab 5 , .Xr group 5 , .Xr passwd 5 , +.Xr radius.conf 5 , .Xr resolv.conf 5 , .Xr syslog.conf 5 , .Xr adduser 8 , .Xr chat 8 , .Xr getty 8 , .Xr inetd 8 , .Xr init 8 , .Xr named 8 , .Xr ping 8 , .Xr pppctl 8 , .Xr pppd 8 , .Xr route 8 , .Xr syslogd 8 , .Xr traceroute 8 , .Xr vipw 8 .Sh 歴史 元のプログラムは Toshiharu OHNO (tony-o@iij.ad.jp) が作成し、 FreeBSD-2.0.5 に Atsushi Murai (amurai@spec.co.jp) が提出しました。 .Pp 1997 年中に Brian Somers (brian@Awfulhak.org) が本格的な修正をし、 11 月に OpenBSD に移植されました (2.2-RELEASE の直後です)。 .Pp 1998 年初頭にマルチリンク ppp サポートが追加されたときに、 ほとんどのコードを Brian Somers が書き直しました。 diff --git a/ja/man/man1/spppcontrol.1 b/ja/man/man8/spppcontrol.8 similarity index 97% copy from ja/man/man1/spppcontrol.1 copy to ja/man/man8/spppcontrol.8 index 7b3dcd43c4..ee34ee692f 100644 --- a/ja/man/man1/spppcontrol.1 +++ b/ja/man/man8/spppcontrol.8 @@ -1,234 +1,235 @@ .\" Copyright (C) 1997 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. .\" -.\" %Id: spppcontrol.1,v 1.3 1998/08/03 06:24:59 charnier Exp % -.\" jpman %Id: spppcontrol.1,v 1.3 1998/10/13 21:35:21 vanitas Stab % +.\" %Id: spppcontrol.8,v 1.4.2.1 1999/04/01 00:11:58 jdp Exp % .\" +.\" %Id: spppcontrol.1,v 1.3 1998/10/13 21:35:21 vanitas Stab % +.\" spppcontrol.8 was spppcontrol.1. .Dd October 11, 1997 .Os .Dt SPPPCONTROL 8 .Sh 名称 .Nm spppcontrol .Nd sppp インタフェースのパラメータの表示または設定 .Sh 書式 .Nm spppcontrol .Op Fl v .Ar ifname .Op Ar parameter Ns Op \&= Ns Ar value .Op Ar ... .Sh 解説 .Xr sppp 4 ドライバには、 .Xr ifconfig 8 にて調整可能な設定の他に、 多くの追加引数やオプションパラメータが必要となるかもしれません。 これらには、認証プロトコルのパラメータなどと、 他の調整可能なコンフィギュレーション変数があります。 .Nm ユーティリティは、現在の設定を表示したり、 これらのパラメータを必要に応じて調整するために使用可能です。 .Pp どのような用途においても、 .Nm 呼び出しにおいては、少なくともパラメータ .Ar ifname を指定して、インタフェースの名前を指定する必要があります。 このインタフェースに対して、設定がおこなわれるかまたは設定が表示されます。 .Xr ifconfig 8 または .Xr netstat 1 を使用して、どのインタフェースが使用可能かを確認してください。 .Pp 他にパラメータを指定しない場合、 .Nm は、 .Ar ifname の現在の設定を列挙 (list) して終了します。 報告される設定にはインタフェースの現在の PPP フェーズも含まれ、その名は .Em dead , .Em establish , .Em authenticate , .Em network , .Em terminate のうちの 1 つです。 認証プロトコルがインタフェースに対して設定されている場合、 使用するプロトコル名と、使用するまたは期待されるシステム名と、 そして認証プロトコルに対して使用可能なオプションがあればそれを表示します。 認証に使用する秘密情報 ( .Em キー とも呼ばれます) は、この機能が使用するシステムコールによって返されないため、 表示されません。 .Pp 追加のパラメータを指定する場合、スーパユーザの特権が必要になり、コマンドは .Ql 設定 (set) モードにて動作します。 オプション .Fl v が有効にならない限り、静かに動作します。 .Fl v を指定すると、他のすべての動作をおこなった後、 最後に上述のように設定を表示します。 インタフェースが現在 .Em dead フェーズ以外である場合、このモードを使用しようとしてもリジェクトされます。 インタフェースを強制的に .Em dead フェーズにするためには、 .Xr ifconfig 8 をパラメータ .Ql down 付きで呼び出せば良いことに注意してください。 .Pp 現在サポートされているパラメータには次のものがあります: .Bl -tag -offset indent -width indent .It Ar authproto Ns \&= Ns Em protoname 相手と自分の両方の認証プロトコルを .Em protoname に設定します。 プロトコル名は .Ql chap , .Ql pap , .Ql none のいずれかです。 最後の場合、 指定したインタフェースにおいて認証プロトコルは使用されなくなります。 この副作用として、 このインタフェースに関する認証関連の他のパラメータもまた消去されます (つまり、システム名と認証における秘密情報を忘れてしまいます)。 .It Ar myauthproto Ns \&= Ns Em protoname 上と同じですが、リンクの自分側にのみ作用します。 すわなち、 相手が認証者であり、かつ、 自分を認証してもらう必要がある場合に使用されるプロトコルです .It Ar hisauthproto Ns \&= Ns Em protoname 上と同じですが、リンクの相手側にのみ作用します。 .It Ar myauthname Ns \&= Ns Em name 認証プロトコルにおける自分のシステム名を設定します。 .It Ar hisauthname Ns \&= Ns Em name 認証プロトコルにおける相手のシステム名を設定します。 CHAP では、これはヒントとしてのみ使用され、 相手が違う名前を提供した場合には警告メッセージが表示されます。 PAP では、これは相手が相手自身であることを認めさせるときに使用すべき名前です (相手の秘密情報と関連があります)。 .It Ar myauthsecret Ns \&= Ns Em secret 認証フェーズにおいて使用する、自分の秘密情報 (キーとパスワード) を設定します。 CHAP では、これは相手のチャレンジに基づく 返答のハッシュ値を計算するために使用されます。 PAP では、これはシステム名とともにプレインテキストにて送信されます。 秘密情報にシェルのメタ文字 (や空白) を含む場合、 秘密情報をシェルからエスケープすることを忘れないようにしてください。 .It Ar myauthkey Ns \&= Ns Em secret 上と同様です。 .It Ar hisauthsecret Ns \&= Ns Em secret 上と同様ですが、 自分が認証者であり、かつ相手を認証する必要がある場合に使用されます。 .It Ar hisauthkey Ns \&= Ns Em secret 上と同様です。 .It Ar callin 相手から呼び出されるときにのみ、相手を認証する必要があり、 自分が呼び出す場合には不要であることを示します。 相手が対称的な認証プロトルを実装していない場合に、必要となります (例えば Ascend ルータ)。 .It Ar always .Ar callin の逆です。どちらが呼び出す場合でも、 常に相手を認証する必要があることを示します。 これがデフォルトであり、 .Ql list モードでは明示的に表示されません。 .It Ar norechallenge CHAP でのみ意味があります。 最初に CHAP 交換が成功したならば、相手に再チャレンジしません。 相手の実装が壊れていて、 接続が確立した後の再チャレンジを認識しない場合、対処として使用します。 .It Ar rechallenge CHAP において、接続がネットワークフェーズである間、 ランダムな間隔にて再チャレンジを送信します。 (現在、間隔は 300 からおよそ 800 秒です。) これがデフォルトであり、 .Ql list モードでは明示的に表示されません。 .El .Sh 使用例 .Bd -literal # spppcontrol bppp0 bppp0: phase=dead myauthproto=chap myauthname="uriah" hisauthproto=chap hisauthname="ifb-gw" norechallenge .Ed .Pp bppp0 の設定を表示します。 インタフェースは、現在 .Em dead フェーズ、つまり LCP 層はダウンしているため、通信できません。 接続の両端は CHAP プロトコルを使用し、 当方のシステム名は .Ql uriah であるとリモート側に対して告げ、 リモート側は .Ql ifb-gw という名前で認証されると期待されます。 最初の CHAP 交換が成功すると、更なる CHAP チャレンジは送信されません。 おそらく CHAP に関する双方の秘密情報があるでしょうが、それらは表示されません。 .Pp .Bd -literal # spppcontrol bppp0 \e authproto=chap \e myauthname=uriah myauthsecret='some secret' \e hisauthname=ifb-gw hisauthsecret='another' \e norechallenge .Ed .Pp インタフェースを前の例の状態にするために、このように .Nm を呼び出したかもしれません。 .Sh 関連項目 .Xr netstat 1 , .Xr sppp 4 , .Xr ifconfig 8 .Rs .%A B. Lloyd, W. Simpson .%T "PPP Authentication Protocols" .%O RFC 1334 .Re .Rs .%A W. Simpson, Editor .%T "The Point-to-Point Protocol (PPP)" .%O RFC 1661 .Re .Rs .%A W. Simpson .%T "PPP Challenge Handshake Authentication Protocol (CHAP)" .%O RFC 1994 .Re .Sh 歴史 .Nm ユーティリティは .Fx 3.0 に登場しました。 .Sh 作者 プログラムの記述を .ie t J\(:org Wunsch, .el Joerg Wunsch, Dresden がおこないました。 diff --git a/ja/man/man8/vinum.8 b/ja/man/man8/vinum.8 index 80bdd4df6b..c02c1b8072 100644 --- a/ja/man/man8/vinum.8 +++ b/ja/man/man8/vinum.8 @@ -1,1266 +1,2132 @@ .\" Hey, Emacs, edit this file in -*- nroff-fill -*- mode +.\"- +.\" Copyright (c) 1997, 1998 +.\" Nan Yang Computer Services Limited. All rights reserved. +.\" +.\" This software is distributed under the so-called ``Berkeley +.\" License'': +.\" +.\" 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 Nan Yang Computer +.\" Services Limited. +.\" 4. Neither the name of the Company 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 ``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 company 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. +.\" +.\" $Id: vinum.8,v 1.6 1999-04-26 14:34:52 kuriyama Exp $ .\" .\" jpman %Id: vinum.8,v 1.3 1999/01/05 15:15:53 horikawa Stab % .\" WORD: attach 結合 (する) -.Dd 15 January 1999 +.Dd 28 March 1999 .Dt vinum 8 -.Os FreeBSD .Sh 名称 .Nm vinum .Nd 論理ボリュームマネージャの制御プログラム .Sh 書式 .Nm .Op command .Op Fl options .Sh コマンド .Cd create +.Fl f .Ar description-file .in +1i .Ar description-file の記述に従ってボリュームを作成します。 .in .\" XXX remove this -.Cd attach Ar plex Ar volume +.Cd attach Ar plex Ar volume .Op Nm rename .Cd attach Ar subdisk Ar plex Ar [offset] .Op Nm rename .in +1i プレックスをボリュームに、またはサブディスクをプレックスに結合します。 .in .\" XXX remove this .Cd debug .in +1i ボリュームマネージャをカーネルデバッガに移行させます。 .in .Cd debug .Ar flags .in +1i デバッグフラグを設定します。 .in .Cd detach .Op Ar plex | subdisk .in +1i 結合されていたボリュームやプレックスから、プレックスやサブディスクを分離します。 .in .Cd info .Op Fl v .in +1i ボリュームマネージャの状態を表示します。 .in .Cd init .Op Fl v .in +1i .\" XXX -配下の全サブディスクに 0 を書き込んでそのプレックスを初期化します。 +下位の全サブディスクに 0 を書き込んでそのプレックスを初期化します。 .in .Cd label .Ar volume .in +1i ボリュームラベルを作成します。 .in .Cd list .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume | plex | subdisk .in +1i 指定したオブジェクトの情報を表示します。 .in .Cd l .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume | plex | subdisk .in +1i 指定したオブジェクトの情報を表示します ( .Cd list コマンドの別形式)。 .in .Cd ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .in +1i ドライブの情報を表示します。 .in .Cd ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op subdisk .in +1i サブディスクの情報を表示します。 .in .Cd lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op plex .in +1i プレックスの情報を表示します。 .in .Cd lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .in +1i ボリュームの情報を表示します。 .in +.Cd printconfig +.Pa file +.in +1i +現在の設定のコピーを +.Pa file +へ書き込みます。 +.in .Cd makedev .in +1i .Ar /dev/vinum にデバイスノードを再作成します。 .in .Cd quit .in +1i 対話モード時に、 .Nm プログラムを終了します。通常 .Ar EOF 文字を入力することにより実現できます。 .in .Cd read .Ar disk Op disk... .in +1i 指定したディスクから .Nm の設定を読み出します。 .in .Cd rename Op Fl r .Ar [ drive | subdisk | plex | volume ] .Ar newname .in +1i 指定したオブジェクトの名前を変更します。 .ig .XXX .in .Cd replace .Ar [ subdisk | plex ] .Ar newobject .in +1i オブジェクトを同一の他のオブジェクトと入れ換えます。XXX まだ実装されていません。 .. .in .Cd resetconfig .in +1i すべての .Nm の設定をリセットします。 .in .Cd resetstats .Op Fl r .Op volume | plex | subdisk .in +1i 指定したオブジェクトの統計情報をリセットします。指定がない場合はすべての オブジェクトが対象です。 .in -.Cd rm +.Cd rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .in +1i オブジェクトを削除します。 .in +.Cd saveconfig +.in +1i +.Nm +の設定をディスクへ保存します。 +.in .ig XXX .Cd set .Op Fl f .Ar state .Ar volume | plex | subdisk | disk .in +1i オブジェクトの状態を \fIstate\fP\| に設定します。 .in .. .Cd setdaemon .Op value .in +1i デーモンの設定を与えます。 .in .Cd start .Op volume | plex | subdisk .in +1i システムがオブジェクトへアクセスできるようにします。 .in .Cd stop .Op Fl f .Op volume | plex | subdisk .in +1i オブジェクトへのアクセスを終了させます。 +パラメータを指定しないと、 +.Nm +を停止させます。 .in .Sh 解説 .Nm は \fBVinum\fP\| 論理ボリュームマネージャと通信するための ユーティリティプログラムです。 ボリュームマネージャの詳細については .Xr vinum 4 を参照してください。 .Xr vinum 8 は対話形式と、単独のコマンドを実行する形式のいずれも実行可能になっています。 コマンドを伴わずに .Nm を起動すると対話形式になる一方、引数としてコマンドを指定するとそのコマンド だけを実行します。 対話モードでは、 .Nm はコマンドラインヒストリを保持します。 .Ss オプション .Nm のコマンドにはオプションを付加することができます。どのコマンドにも 下記オプションのどれでも指定することができますが、指定しても変化がない場合も あります。 その場合にはそのオプションは無視されます。例えば、 .Nm stop コマンドは .Fl v オプションと .Fl V オプションを無視します。 .Bl -hang .It Cd -v .Nm -v オプションはどのコマンドにも使えて、より詳細な情報を引き出します。 .It Cd -V .Nm -V オプションはどのコマンドにも使えて、 .Nm -v オプションが表示するものよりさらに詳細な情報を引き出します。 .It Cd -f .Nm -f オプションは安全性の確認を無効にします。細心の注意を払って 使用して下さい。 このオプションは緊急時にのみ使用するものです。例えば、 コマンド .Bd -unfilled -offset indent rm -f myvolume .Ed .Pp は .Nm myvolume がオープンされていたとしても削除します。以降、このボリュームに アクセスすると、ほぼ確実にパニックを起こします。 .It Cd -r .Nm -r -(``recursive: 再帰的'') オプションは表示系のコマンドで使い、 +.if t (``recursive: 再帰的'') +.if n ("recursive: 再帰的") +オプションは表示系のコマンドで使い、 指示したオブジェクト -だけでなく、配下のオブジェクトの情報も表示します。 +だけでなく、下位のオブジェクトの情報も表示します。 例えば、 .Nm lv コマンドとともに使われる場合、 .Nm -r オプションは対象のボリュームに属するプレックスとサブディスクの情報も表示します。 .It Cd -s .Nm -s オプションは表示系のコマンドで統計情報を表示するために使います。 .El .Pp .Ss コマンドの詳細 .Pp .Nm コマンドは以下の機能を実行します。 .Bl -hang .It Nm attach Ar plex Ar volume .Op Nm rename .if n .sp -1v .if t .sp -.6v .It Nm attach Ar subdisk Ar plex Ar [offset] .Op Nm rename .sp .Nm .Ar attach は指定されたプレックスやサブディスクをそれぞれボリュームやプレックスに 組み込みます。サブディスクに ついては、プレックス中の始点 (オフセット) を指定することができます。 指定がない場合、 サブディスクは有効な最初の位置に結合されます。空でないボリュームにプレックスが 結合されると、 .Nm はそのプレックスを再統合します。 .Pp .Nm rename キーワードが指定されると、 .Nm -はオブジェクトの (プレックスの場合には配下のサブディスクの) 名前を変更して +はオブジェクトの (プレックスの場合には下位のサブディスクの) 名前を変更して デフォルトの .Nm 命名規則に合わせます。 .Pp サブディスク結合に際しては、いくつか考慮すべきことがあります: .Bl -bullet .It サブディスクの結合対象は、通常、コンカチネート化プレックスのみです。 .It ストライプ化プレックスおよび RAID-5 プレックスにおいて サブディスクが失われた場合 (例えばドライブの故障後など)、 当該サブディスクを置き換えられるのは同じ大きさのサブディスクだけです。 別のサブディスクを結合することは、現在許されていません。 .It コンカチネート化プレックスに対しては、 .Ar offset パラメータが、プレックスの先頭からのブロック単位のオフセットを指定します。 ストライプ化プレックスおよび RAID-5 プレックスに対しては、 本パラメータは、サブディスクの最初のブロックのオフセットを指定します。 別の表現をするなら、オフセットは、 サブディスクの数値指定による位置とストライプの大きさとの積になります。 例えば、ブロックの大きさが 256k のプレックスでは、 最初のサブディスクはオフセット 0 に、2 番目のオフセットは 256k に、 3 番目は 512k に、などとなります。 この計算では、RAID-5 プレックスのパリティブロックは無視されます。 .El -.It Nm create Ar description-file +.It Nm create Fl f Ar description-file .sp .Nm .Ar create はどのオブジェクトの作成にも使われます。相互の関連性が比較的複雑で .Nm オブジェクトの作成には潜在的に危険があることを考慮して、この機能には対話的な インタフェースはありません。詳細は後述の設定ファイルの節を参照して下さい。 +.Pp +.Nm +の +.Ar create +機能は加法的であることに注意してください: +複数回実行すると、名前付けしていない全オブジェクトのコピーを、 +複数生成することになります。 +.Pp +通常 +.Nm create +は既存の +.Nm +ドライブの名前を変更しません。これは、誤って消去してしまうのを避けるためです。 +不要な +.Nm +ドライブを破棄する正しい方法は、 +.Nm resetconfig +コマンドで設定をリセットすることです。 +しかし、起動できない +.Nm +ドライブ上に新規データを生成する必要がある場合があります。 +この場合、 +.Nm create Fl f +を使用してください。 .It Nm debug .Pp .Nm .Ar debug はリモートカーネルデバッガに入るために使用します。これは .Nm が .Ar VINUMDEBUG オプション付きで作成されている場合にのみ実行可能です。 このオプションはカーネルデバッガから抜け出るまでオペレーティング システムの実行を停止させます。 リモートデバッグが設定されており、 カーネルデバッガへのリモートコネクションがないと、 デバッガから抜け出るためにはシステムをリセットしてリブート することが必要になります。 .It Nm debug .Ar flags .Pp 内部デバッグフラグのビットマスクを設定します。 本製品が改良されるにつれ、このビットマスクは警告無しに変更されるでしょう。 確認のために、ヘッダファイル .Pa sys/dev/vinumvar.h を見てください。 ビットマスクは次の値から構成されます: .Bl -hang .It DEBUG_ADDRESSES (1) .br リクエスト中のバッファ情報を表示します。 .It DEBUG_NUMOUTPUT (2) .br .Dv vp->v_numoutput の値を表示します。 .It DEBUG_RESID (4) .br .Fd complete_rqe においてデバッガに移行します。 .It DEBUG_LASTREQS (8) .br 最新のリクエストのリングバッファを保存します。 .It DEBUG_REVIVECONFLICT (16) .br 再生における衝突に関する情報を表示します。 +.It DEBUG_EOFINFO (32) +.br +ストライププレックスで EOF を返すとき、内部状態の情報を表示します。 +.It DEBUG_MEMFREE (64) +.br +最後にメモリアロケータが解放したメモリ領域に関する循環リストを管理します。 .It DEBUG_REMOTEGDB (256) .br .Nm debug コマンドが発行されたときに、リモート .Ic gdb に移行します。 .El -.It Nm detach Op Fl f +.It Nm detach Op Fl f .Ar plex .if n .sp -1v .if t .sp -.6v -.It Nm detach Op Fl f +.It Nm detach Op Fl f .Ar subdisk .sp .Nm .Ar detach は指定されたプレックスやサブディスクを、 結合されているボリュームやプレックスから 分離します。分離するとボリュームのデータが欠ける可能性のある 場合、この操作は .Fl f オプションを指定しない限り実行されません。 オブジェクトが上位のオブジェクトに従った名前になっている場合 (例えば、プレックス vol1.p7 に結合されているサブディスク vol1.p7.s0 の場合)、 -その名前は頭に ``ex-'' がついたものに変更されます +その名前は頭に +.if t ``ex-'' +.if n "ex-" +がついたものに変更されます (例えば ex-vol1.p7.s0 に変更されます)。 その後の処理で必要であれば、その名前から頭の部分が外されます。 .Pp ストライプ化プレックスおよび RAID-5 プレックスにおいては、 .Nm detach はサブディスク数を減らしません。 その代わり、サブディスクには存在しないという印が付けられ、後で .Nm attach コマンドを使用して交換可能となります。 .It Nm info .br .Nm .Ar info は .Nm のメモリ使用に関する情報を表示します。これは主にデバッグのためのものです。 .Fl v オプションを付けると、使用中のメモリ領域についての詳細な情報を表示します。 .Pp .Fl V オプションを付けると、 .Nm ドライバが扱った最大 64 個までの最近の I/O リクエストに関する情報を、 .Ar info は表示します。 この情報は、デバッグフラグ 8 が設定されているときのみ収集されます。 書式は次のようになります: .Pp .Bd -literal vinum -> info -V Flags: 0x200 1 opens Total of 38 blocks malloced, total memory: 16460 Maximum allocs: 56, malloc table at 0xf0f72dbc Time Event Buf Dev Offset Bytes SD SDoff Doffset Goffset 14:40:00.637758 1VS Write 0xf2361f40 0x5b03 0x10 16384 14:40:00.639280 2LR Write 0xf2361f40 0x5b03 0x10 16384 14:40:00.639294 3RQ Read 0xf2361f40 0x427 0x104109 8192 19 0 0 0 14:40:00.639455 3RQ Read 0xf2361f40 0x417 0xd2109 8192 17 0 0 0 14:40:00.639529 3RQ Read 0xf2361f40 0x40f 0x6e109 8192 16 0 0 0 14:40:00.652978 4DN Read 0xf2361f40 0x427 0x104109 8192 19 0 0 0 14:40:00.667040 4DN Read 0xf2361f40 0x40f 0x6e109 8192 16 0 0 0 14:40:00.668556 4DN Read 0xf2361f40 0x417 0xd2109 8192 17 0 0 0 14:40:00.669777 6RP Write 0xf2361f40 0x427 0x104109 8192 19 0 0 0 14:40:00.685547 4DN Write 0xf2361f40 0x427 0x104109 8192 19 0 0 0 .Ed .Pp .Ar Buf フィールドは、ユーザバッファヘッダのアドレスを常に含みます。 ユーザリクエストに関連付けられるリクエスト (複数可) を識別するために 使用できますが、100% 信頼できるものというわけではありません: 理論的には、シーケンス中の 2 個のリクエストが同じバッファヘッダを使い得ますが、 これは一般的ではありません。 リクエストの先頭は、イベント .Ar 1VS で識別可能です。 前記の例では、複数のリクエストが単一のユーザリクエストに含まれています。 .Pp .Ar Event フィールドは、 リクエストチェーン中のイベントシーケンスに関連する情報を含みます。 .Ar 1 から .Ar 6 までの数字はイベントの大まかなシーケンスを示し、 2 文字の省略形は位置のニーモニックです。 .Bl -hang .It 1VS (vinum の strategy) .Fd vinumstrategy の入口にある、ユーザリクエストに関する情報を表示します。 デバイス番号は .Nm デバイスであり、オフセットと長さはユーザパラメータです。 本ニーモニックは、常にリクエストシーケンスの先頭になります。 .It 2LR (リクエスト発行) 関数 .Fd launch_requests において低レベル .Nm リクエストを発行する直前の、ユーザリクエストを表示します。 パラメータは .Ar 1VS の情報と同じはずです。 .Pp ここから後のリクエストでは、利用可能である場合、 .Ar Dev は関連付けられたディスクパーティションのデバイス番号であり、 -.Ar Offset +.Ar Offset はパーティションの先頭からのオフセットであり、 .Ar SD は .Dv vinum_conf 中のサブディスクインデックスであり。 .Ar SDoff はサブディスクの先頭からのオフセットであり、 .Ar Doffset は関連付けられたデータリクエストのオフセットであり、 .Ar Goffset は関連付けられたグループリクエストのオフセットです。 .It 3RQ (リクエスト) 高レベルのリクエストを満たすために発行される、 いくつかありうる低レベル .Nm リクエストのうちのひとつを表示します。 この情報は、 .Fd launch_requests においても記録されます。 .It 4DN (完了) .Fd complete_rqe から呼ばれ、リクエストの完了を表示します。 この完了は、ステージ .Ar 4DN において .Fd launch_requests から発行されたリクエストか、またはステージ .Ar 5RD か .Ar 6RP の .Fd complete_raid5_write から発行されたリクエストにマッチするはずです。 .It 5RD (RAID-5 データ) .Fd complete_raid5_write から呼ばれ、 パリティ計算後に RAID-5 データストライプへ書き込まれたデータを表現します。 .It 6RP (RAID-5 パリティ) .Fd complete_raid5_write から呼ばれ、 パリティ計算後に RAID-5 パリティストライプへ書き込まれたデータを表現します。 .El .\" XXX .It Nm init Ar plex .Pp .Nm .Ar init は指定したプレックスのすべてのサブディスクに 0 を書き込んでプレックスを初期化 します。これはプレックス中のデータに矛盾のないことを確実にする唯一の方法です。 RAID-5 プレックスの使用前には、この初期化が必要です。 他の新規プレックスに対しても、この初期化を推奨します。 .Pp -.Nm +.Nm はプレックス中のすべてのサブディスクを並行して初期化します。 この操作には長い時間が かかるため、バックグラウンドで実行されます。 .Nm は初期化が完了するとコンソールメッセージを出力します。 .It Nm label .Ar volume .Pp .Nm label コマンドは、ボリュームに .Ar ufs 形式のボリュームラベルを書き込みます。これは適切に .Ar disklabel を呼び出すことに対しての、単純な代替方法です。 いくつかの .Ar ufs コマンドはラベルを入手するために正規の .Ar ioctl コールを使わず、依然としてラベルを捜してディスクの読み込みを行う ため、このコマンドは必要になります。 .Nm はボリュームのデータとは別にボリュームラベルを保持しているため、この コマンドは .Ar newfs 用には必要ありません。 このコマンドの価値は低下しています。 .Pp .It Nm list .Op Fl r .Op Fl V .Op volume | plex | subdisk .if n .sp -1v .if t .sp -.6v .It Nm l .Op Fl r .Op Fl V .Op volume | plex | subdisk .if n .sp -1v .if t .sp -.6v .It Nm ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .if n .sp -1v .if t .sp -.6v .It Nm ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op subdisk .if n .sp -1v .if t .sp -.6v .It Nm lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op plex .if n .sp -1v .if t .sp -.6v .It Nm lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .Pp .Ar list は指定したオブジェクトの情報を表示するために使われます。引数が省略されると .Nm が認識しているすべてのオブジェクトについての情報が表示されます。 .Ar l コマンドは .Ar list と同じものです。 .Pp .Fl r オプションはボリュームとプレックスに関連します。 -指定されると、そのオブジェクト配下のサブディスクと (ボリュームに対しては) +指定されると、そのオブジェクト下位のサブディスクと (ボリュームに対しては) プレックスの情報を再帰的に表示します。 .Ar lv , .Ar lp , .Ar ls , .Ar ld のコマンドは、それぞれボリューム、プレックス、サブディスク、そしてドライブの 情報だけを表示します。これはパラメータを指定しないで使う場合に特に有用です。 .Pp .Fl s オプションで .Nm は装置の統計情報を出力するようになり、 .Op Fl v (verbose: 饒舌な) オプションはいくらかの付加情報を出力させ、 そして .Op Fl V は数多くの付加情報を出力させます。 .It Nm makedev .br .Nm makedev コマンドは、ディレクトリ /dev/vinum を除去した上で、 現在の設定を反映するようなデバイスノードと共にこのディレクトリを再作成します。 本コマンドは、通常の場合に使用されることを意図していません。 非常時にのみ使用するために提供しています。 .Pp .It Nm quit 対話モードで実行中のときに、 .Nm プログラムを終了します。通常は、文字 .Ar EOF を入力することで実現できます。 +.It Nm printconfig Pa file +現在の設定のコピーを、 +.Nm +設定を再生成可能な書式で、 +.Pa file +に書き込みます。 +ディスク上に保存された設定とは違い、ドライブの定義を含みます。 .It Nm read .Ar disk Op disk... .Pp .Nm read コマンドは、指定したディスクを走査し、作成済の設定情報を含む .Nm パーティションを探します。 そして、最近更新されたものから過去に更新されたものの順番で、 設定を読み込みます。 .Nm は最新のすべての設定情報を各ディスクパーティションに保持しています。 このコマンドの -パラメータとして、構成の中の全パーティションを指定する必要があります。 -.Nm +パラメータとして、設定の中の全スライスを指定する必要があります。 +.Pp .Nm read -は非 Vinum パーティションの名前を受け付けますので、 +コマンドは、他の +.Nm +パーティションを持つシステム上で、 +.Nm +設定を選択的にロードすることを意図しています。 +システム上の全パーティションを起動したい場合、 +.Nm start +コマンドを使用する方が簡単です。 +.Pp +本コマンド実行時に .Nm -パーティションが存在するかもしれない全パーティションを、 -本コマンドに指定することができます +がエラーになると、 +ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 +これは、ディスク上の設定が、設定エラーを示す +(例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 +再度更新をオンにするには、 +.Nm setdaemon +と +.Nm saveconfig +のコマンドを使用してください。 +デーモンオプションマスクのビット 4 をリセットして、 +設定保存を再度有効にしてください。 .It Nm rename .Op Fl r .Ar [ drive | subdisk | plex | volume ] .Ar newname .Pp 指定したオブジェクトの名前を変更します。 .Fl r -オプションが指定されると、配下のオブジェクトがデフォルトの規則に従って命名され +オプションが指定されると、下位のオブジェクトがデフォルトの規則に従って命名され ます。プレックスの名前はボリューム名に .p\f(BInumber\fP を付加して作られ、 サブディスクの名前はプレックス名に .s\f(BInumber\fP を付加して作られます。 .It Nm replace .Ar [ subdisk | plex ] .Ar newobject .Pp 指定したオブジェクトを同一の他のオブジェクトで置き換えます。このコマンドはまだ 実装されていません。 .It Nm resetconfig .Pp .Nm resetconfig コマンドはシステム内の .Nm 設定を完全に削除します。設定を完全に消去したい場合にだけ使って下さい。 .Nm は確認を求めます。NO FUTURE (前途なし) という語句を以下の通りに入力する必要が あります。 .Bd -unfilled -offset indent # \f(CBvinum resetconfig\f(CW WARNING! This command will completely wipe out your vinum configuration. All data will be lost. If you really want to do this, enter the text NO FUTURE Enter text -> \f(BINO FUTURE\fP Vinum configuration obliterated (訳注: ここから上記テキストの翻訳です) 警告! このコマンドはあなたの vinum 設定を完全に消し去ります。 全データは失われます。本当にこれを実行したい場合は、語句 NO FUTURE を入力して下さい。 入力してください -> \f(BINO FUTURE\fP vinum の設定は削除されました。 (訳注: ここまで上記テキストの翻訳です) .Ed .ft R .Pp メッセージが示すように、どたん場のコマンドです。 既存の設定をもう見たくもないとき以外は、このコマンドを使わないでください。 .It Nm resetstats .Op Fl r .Op volume | plex | subdisk .Pp .Nm は各オブジェクトについて多数の統計カウンタを保持しています。詳細は ヘッダファイル .Fi vinumvar.h を参照して下さい。 .\" XXX 仕上がったらここに入れる これらのカウンタをリセットするためには .Nm resetstats コマンドを使って下さい。 .Fl r オプションも共に指定すると、 .Nm -は配下のオブジェクトのカウンタもリセットします。 -.It Nm rm +は下位のオブジェクトのカウンタもリセットします。 +.It Nm rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .Pp .Nm rm はオブジェクトを .Nm 設定から消去します。ひとたびオブジェクトが消去されるとそれを復旧する方法は ありません。通常 .Nm はオブジェクトを消去する前に数多くの一貫性確認を行います。 .Fl f オプションを指定すると、 .Nm はこの確認を省略し、オブジェクトを無条件に消去します。このオプションは細心の 注意を払って使用して下さい。ボリューム上のすべてのデータを失うことも あり得ます。 .Pp 通常、 .Nm -は配下にプレックスを持つボリュームや、配下にサブディスクを持つプレックスを +は下位にプレックスを持つボリュームや、下位にサブディスクを持つプレックスを 消去することを拒否します。 .Fl f フラグを指定すると、 .Nm は無条件にオブジェクトを消去します。または .Fl r -(recursive: 再帰的) フラグを使うことで、同様に配下のオブジェクトを +(recursive: 再帰的) フラグを使うことで、同様に下位のオブジェクトを 消去することができます。 .Fl r フラグを付けてボリュームを消去すると、プレックスとそれに属するサブディスクも 消去します。 +.It Nm saveconfig +.Pp +現在の設定をディスクに保存します。 +本コマンドの第一義は整備用です。 +例えば、起動時にエラーが発生した場合、更新は無効化されます。 +再度有効化しても、設定は自動的にはディスクへ保存されません。 +このコマンドを使用して設定を保存してください。 .ig .It Nm set .Op Fl f .Ar state .Ar volume | plex | subdisk | disk .Nm set は指定したオブジェクトに、妥当な状態 (下記「オブジェクト状態」参照) のひとつを セットします。 通常、 .Nm は変更を加える前に非常に多くの一貫性の調査を実行します。 .Fl f オプションを指定すると、 .Nm はこの調査を省略し、無条件に変更を行います。このオプションは大いに注意して 使って下さい。ボリューム上のすべてのデータを失うこともあり得ます。 .\"XXX .Nm このコマンドはまだ実装されていません。 .. .It Nm setdaemon .Op value .Pp .Nm setdaemon は .Nm デーモンの変数ビットマスクを設定します。 本コマンドは一時的なものであり、将来置き換えられます。 現在、ビットマスクにはビット 1 (全アクションを syslog へ記録する) と ビット 4 (設定を更新しない) があります。 オプションビット 4 はエラー回復時に有用かもしれません。 .It Nm start .Op volume | plex | subdisk .Pp .Nm start は 1 つまたはそれ以上の .Nm -オブジェクトを起動します。オブジェクト名を指定しないと、システムが +オブジェクトを起動します ( +.Ar up +状態に移行させます)。 +.Pp +オブジェクト名を指定しないと、システムが .Nm ドライブであると知っているディスクを、 .Nm は走査します。その後、 .Nm read コマンドのところに書いてあるように、設定を読み込みます。 .Nm ドライブにはそのドライブ中のデータについてのすべての情報を持つヘッダが 入っており、その情報としてはプレックスとボリュームを表現するために必要な 他のドライブの名前を含んでいます。 .Pp +本コマンド実行時に +.Nm +がエラーになると、 +ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 +これは、ディスク上の設定が、設定エラーを示す +(例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 +再度更新をオンにするには、 +.Nm setdaemon +と +.Nm saveconfig +のコマンドを使用してください。 +デーモンオプションマスクのビット 4 をリセットして、 +設定保存を再度有効にしてください。 +.Pp オブジェクト名が指定されると、 .Nm -はそれらを開始します。 +はそれらを起動します。 +通常、この操作はサブディスクに対してのみ行います。 +動作はオブジェクトの現在の状態に依存します: +.Bl -bullet +.It +オブジェクトが既に +.Ar up +状態の場合、 +.Nm +はなにもしません。 +.It +オブジェクトがサブディスクであり、 +.Ar down +または +.Ar reborn +の状態の場合、 +.Nm +は +.Ar up +状態に変更します。 +.It +オブジェクトがサブディスクであり、 +.Ar empty +状態の場合、変更はサブディスクに依存します。 +サブディスクがプレックスの一部であり +このプレックスが他のプレックスを含むボリュームの一部である場合、 +.Nm +はサブディスクを +.Ar reviving +状態にし、データをボリュームからコピーしようとします。 +操作完了時に、サブディスクは +.Ar up +状態に設定されます。 +サブディスクがプレックスの一部であり +このプレックスが他のプレックスを含まないボリュームの一部である場合、 +またはサブディスクがプレックスの一部ではない場合、 +.Nm +は即時にサブディスクを +.Ar up +状態にします。 +.It +オブジェクトがサブディスクであり、 +.Ar reviving +状態である場合、 +.Nm +は +.Ar revive +操作をオフラインにて継続します。 +操作完了時に、サブディスクは +.Ar up +状態に設定されます。 +.El +.Pp +サブディスクが +.Ar up +状態になると、 +.Nm +は自動的に、 +サブディスクが属す可能性のあるプレックスとボリュームの状態をチェックし、 +これらの状態を適切に更新します。 +.Pp +オブジェクトがボリュームまたはプレックスの場合、 +.Nm start +は現在のところ効果がありません: +下位のサブディスクの (ボリュームの場合にはこれに加えてプレックスの) 状態を +チェックし、これに従ってオブジェクトの状態を設定します。 +将来のバージョンでは、本操作はサブディスクに影響を与えるようになります。 .Pp マルチプレックスボリュームの中の 1 つのプレックスを起動するには、 ボリューム中の他のプレックスからデータをコピーする必要があります。 これにはしばしば長い時間がかかるため、バックグラウンドで実行されます。 .It Nm stop .Op Fl f .Op volume | plex | subdisk .Pp +パラメータを指定しないと、 .Nm stop -は、指定したオブジェクトと配下のオブジェクトに対するアクセスを抑止します。 -オブジェクトを設定から削除することはありません。 -.Nm start +は +.Nm +kld を削除し、 +.Xr vinum 8 +を停止します。 +活動状態のオブジェクトが存在しない場合のみ、行うことが可能です。 +特に、 +.Fl f +フラグはこの要求に優先しません。 +このコマンドが動作するのは、 +.Nm +が kld としてロードされている場合のみです。 +静的に構成されたドライバをアンロードすることはできないからです。 +.Nm +が静的に構成されている場合、 +.Nm +.Nm stop +は失敗します。 +.Pp +オブジェクト名が指定されると、 +.Nm stop +はそのオブジェクトへのアクセスを無効化します。 +オブジェクトに下位オブジェクトがある場合、 +それらのサブオブジェクトは既に非活動状態 (stop また error) となっているか、 +.Fl r +と +.Fl f +のフラグが指定されていることが必要です。 +このコマンドは、オブジェクトを設定から取り除きません。 +.Nm start コマンドの後で再度アクセスができるようになります。 .Pp デフォルトでは .Nm -は動作中のオブジェクトは削除しません。例えば、動作中のボリュームに結合 -されているプレックスは削除できないし、オープン中のボリュームは削除できません。 +は動作中のオブジェクトは停止しません。例えば、動作中のボリュームに結合 +されているプレックスは停止できないし、オープン中のボリュームは停止できません。 .Fl f オプションは .Nm にこの確認を省略して無条件に削除するよう指示します。このオプションは 大いに注意し、よく理解した上で使って下さい。もし間違って使うとひどい データ破壊を起こすことがあります。 .El .Ss 設定ファイル .Nm では、 .Nm create コマンドに渡すすべての引数は設定ファイルに入っている必要があります。 設定ファイルのエントリは、ボリュームやプレックスやサブディスクを定義します。 エントリは 1 行に 1 つということ以外には決まった書式はありません。 .Pp 設定ファイルのいくつかの引数では、大きさ (長さ、ストライプ長) を指定します。 これらの長さは、バイト単位でも、512バイトのセクタ数 (\f(CWb\fRを後ろにつける) でも、キロバイト単位 (\f(CWk\fRをつける) でも、メガバイト単位(\f(CWm\fRを つける)でも、またはギガバイト単位 (\f(CWg\fRをつける) でも指定することが できます。これらの数はそれぞれ 2**10、2**20、2**30を表しています。例えば、 \f(CW16777216\fR バイトという値は \f(CW16m\fR とも \f(CW16384k\fR とも \f(CW32768b\fR とも記述することができます。 .Pp 設定ファイルには以下のエントリを記述することができます。 .Pp .Bl -hang -width 4n .It Nm volume -.Ar name +.Ar name .Op options .Pp .Ar name という名前でボリュームを定義します。 .Pp オプションには次のものがあります。 .Pp .Bl -hang -width 18n .It Nm plex Ar plexname 指定したプレックスをボリュームに追加します。 .Ar plexname が .Ar * として指定されると、 .Nm は設定ファイル中のボリューム定義の後で、次の妥当なエントリとなり得るプレックス の定義を捜します。 .It Nm readpol Ar policy ボリュームの .Ar read policy (読み込み方針) を定義します。 .Ar policy は .Nm round か .Nm prefer Ar plexname のどちらかです。 .Nm は読み込み要求を、ただ 1 つのプレックスによって満たします。 .Ar round 読み込み方針は、読み込みを別々のプレックスから \fIラウンドロビン\fR\| 方式で 行うように指定します。 .Ar prefer 読み込み方針では、指定したプレックスから毎回読み込みを行います。 .It Nm setupstate +.Pp マルチプレックスボリュームを作成する際に、すべてのプレックスの内容に一貫性が あると仮定します。通常こうなることはないため、正式には .Nm init コマンドを使って、最初に一貫性のある状態にする必要があります。しかし ストライプ化プレックスとコンカチネート化プレックスの場合には、普通は一貫性が ないままでも問題にはなりません。ボリュームをファイルシステムや スワップパーティションとして使う場合にはディスク上の以前の内容は どうでもよいため、それは無視されます。この危険を受け入れる場合には、 このキーワードを使って下さい。 設定ファイル中でボリュームの直後で定義されるプレックスに対してのみ 適用されます。 後でプレックスをボリュームに追加する場合には、 これらのプレックスを統合する必要があります。 .Pp RAID-5 プレックスには .Nm init を使うことが \fI必要\fP\| なことに注意して下さい。さもないと 1 つのサブディスクに障害が起きた時、大きくデータが破壊されます。 .fi .El .It Nm plex Op options .Pp -プレックスを定義します。ボリュームとは異なり、名前は不要です。 +プレックスを定義します。ボリュームとは違い、名前は不要です。 オプションには次のものを指定可能です: .Pp .Bl -hang -width 18n .It Nm name Ar plexname プレックスの名前を指定します。プレックスやサブディスクに名前をつける場合には .Ar name キーワードが必要になることに注意して下さい。 .sp .It Nm org Ar organization Op stripesize .Pp プレックスの編成を指定します。 .Ar organization は .Ar concat か .Ar striped か .Ar raid5 のいずれかです。 .Ar striped と -.Ar raid5 +.Ar raid5 のプレックスに対しては .Ar stripesize 引数を指定する必要がありますが、 .Ar concat のプレックスに対しては省略する必要があります。 .Ar striped タイプについては各ストライプの幅を指定します。 .Ar raid5 については、グループの大きさを指定します。 グループとはプレックスの一部分であり、 同じサブディスクに入っているすべてのデータのパリティが入っています。 それはプレックスの大きさの約数である必要があり (つまり、プレックスの大きさをストライプの大きさで割ったものは 整数である必要があり)、 ディスクセクタ長 (512バイト) の倍数である必要があります。 .sp 最適な性能のためには、ストライプの大きさは少なくとも 128kB であるべきです。 これより小さくすると、 個々のリクエストが複数のディスクに対して割り当てられることにより、 I/O のアクティビティが非常に増加します。 -この割り当てに起因する並行性の増加は、レイテンシを増加させません。 -ストライプの大きさの目安は、256kB から 512 kB の間です。 +本マッピングによる並行転送数増加に起因する性能向上は、 +レイテンシ増加に起因する性能劣化を引き起しません。 +ストライプの大きさの目安は、256 kB から 512 kB の間です。 .Pp ストライプ化プレックスは最低 2 つのサブディスクを持つ必要がありますし (そうでないとコンカチネート化プレックスになります)、 それぞれは同じ大きさである必要があります。 RAID-5 プレックスは最低 3 つのサブディスクを持つ必要があり、 それぞれは同じ大きさである必要があります。 実際には RAID-5 プレックスは最低 5 つのサブディスクから構成されるべきです。 .Pp .It Nm volume Ar volume プレックスを、指定したボリュームに追加します。 .Nm volume キーワードが指定されないと、プレックスは設定ファイル中の最後に記述された ボリュームに追加されます。 .sp .It Nm sd Ar sdname Ar offset 指定したサブディスクをプレックスの .Ar offset の位置に追加します。 .br .fi .El .It Nm subdisk Op options .Pp サブディスクを定義します。オプションには次のものを指定可能です: .Pp .Bl -hang -width 18n .nf .sp .It Nm name Ar name サブディスクの名前を指定します。これは必ずしも指定する必要は ありません\(em 上記の「オブジェクトの命名」を参照してください。 サブディスクに名前をつける場合には .Ar name キーワードを指定する必要があることに注意して下さい。 .sp .It Nm plexoffset Ar offset プレックス内のサブディスクの始点を指定します。指定がないと、 .Nm はすでにサブディスクがあればその直後の領域を割り当て、なければ プレックスの先頭から割り当てます。 .sp .It Nm driveoffset Ar offset ドライブ内のサブディスクの始点を指定します。指定がないと、 .Nm はドライブ中で最初の .Ar length バイト連続の空き領域を割り当てます。 .sp .It Nm length Ar length サブディスクの大きさを指定します。このキーワードは必須です。 デフォルト値はありません。 +値 0 を指定すると、 +.if t ``ドライブ上で最大限利用可能な連続空き領域を使用'' +.if n "ドライブ上で最大限利用可能な連続空き領域を使用" +という意味になります。 +ドライブが空の場合、サブディスクとしてドライブ全体を使用することを意味します。 .Nm length は .Nm len と短縮することもできます。 .sp .It Nm plex Ar plex サブディスクが属すプレックスを指定します。デフォルトでは、サブディスクは 最後に記述されたプレックスに属します。 .sp .It Nm drive Ar drive サブディスクが乗るドライブを指定します。デフォルトでは最後に記述された ドライブ上に位置します。 .br .fi .El .It Nm drive Ar name Op options .Pp ドライブを定義します。オプションには次のものを指定可能です: .Pp .Bl -hang -width 18n .It Nm device Ar devicename ドライブが乗るデバイスを指定します。 .El .El .Sh 設定ファイル例 .Bd -literal # vinum 設定ファイル例 # # ドライブ drive drive1 device /dev/da1h drive drive2 device /dev/da2h drive drive3 device /dev/da3h drive drive4 device /dev/da4h drive drive5 device /dev/da5h drive drive6 device /dev/da6h # 1 つのストライプ化プレックスをもつボリューム volume tinyvol plex org striped 512b sd length 64m drive drive2 sd length 64m drive drive4 volume stripe plex org striped 512b sd length 512m drive drive2 sd length 512m drive drive4 # 2 つのプレックス volume concat plex org concat sd length 100m drive drive2 sd length 50m drive drive4 plex org concat sd length 150m drive drive4 # 1 つのストライプ化プレックスと 1 つのコンカチネート化プレックスを持つボリューム volume strcon plex org striped 512b sd length 100m drive drive2 sd length 100m drive drive4 plex org concat sd length 150m drive drive2 sd length 50m drive drive4 # 1 つの RAID-5 プレックスと 1 つのストライプ化プレックスを持つボリューム # RAID-5 ボリュームの方が 1 つのサブディスク分だけ大きいことに注意 volume vol5 plex org striped 64k sd length 1000m drive drive2 sd length 1000m drive drive4 plex org raid5 32k sd length 500m drive drive1 sd length 500m drive drive2 sd length 500m drive drive3 sd length 500m drive drive4 sd length 500m drive drive5 .Ed .Ss ドライブレイアウト上の考慮点 現在、 .Nm ドライブは BSD ディスクパーティションです。それは ファイルシステムの上書きを避けるために -.Ar unused +.Ar vinum タイプである必要があります。 +互換性のために、現在の .Nm -の後のバージョンではこれは -.Ar vinum -タイプに変更される予定です。 +はパーティションタイプ +.Ar unused +を受け付けますが、次のリリースではこの種類のパーティションは許しません。 +タイプ +.Ar unused +であるパーティションから設定を読み出すと、 +.Nm +は警告メッセージを表示します。 .Nm disklabel .Ar -e を使用して、パーティションタイプ定義を編集してください。 次の表示は、 .Nm disklabel が示す典型的なパーティションレイアウトです: .Bd -literal 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 344064 4.2BSD 0 0 0 # (Cyl. 240*- 297*) b: 262144 81920 swap # (Cyl. 57*- 240*) c: 4226725 0 unused 0 0 # (Cyl. 0 - 2955*) e: 81920 0 4.2BSD 0 0 0 # (Cyl. 0 - 57*) f: 1900000 425984 4.2BSD 0 0 0 # (Cyl. 297*- 1626*) - g: 1900741 2325984 unused 0 0 0 # (Cyl. 1626*- 2955*) + g: 1900741 2325984 vinum 0 0 0 # (Cyl. 1626*- 2955*) .Ed .sp この例では、パーティション .Nm g を .Nm パーティションとして使用可能です。パーティション .Nm a , .Nm e , .Nm f は、 .Nm UFS ファイルシステムまたは .Nm ccd パーティションとして使用可能です。パーティション .Nm b はスワップパーティションであり、パーティション .Nm c はディスク全体を表現するため他の用途に使用できません。 .Pp .Nm は各パーティションの先頭から 265 セクタを設定情報に使用するため、 サブディスクの最大の大きさはドライブよりも 265 セクタ小さくなります。 +.Sh VINUM 設定法 +本節では、 +.Nm +システムの実装方法に関する、現実的なアドバイスを行います。 +.Ss データを何処に置くか +まず決定が必要な選択は、データを何処に置くかです。 +.Nm +専用のディスクパーティションが必要です。 +前述した、ドライブレイアウト上の考慮点にある使用例を参照してください。 +.Xr disklabel 8 +がパーティションタイプ +.Nm +を理解しないバージョンである場合を除き、パーティションタイプ +.Nm +を選択してください。 +.Xr disklabel 8 +が理解しない場合には、これを更新するまで、パーティションタイプ +.Nm unused +を使用する必要があります。 +真のパーティション名 (例えば +.Pa /dev/da0s1g ) +ではなく、互換パーティション名 (例えば +.Pa /dev/da0g ) +を使用してください。 +現在のところ、 +.Nm start +コマンドには互換パーティションのみを +.Nm +は使用しますので、問題を避けることが可能となっています。 +.Ss ボリュームのデザイン +.Nm +ボリュームの設定方法は、あなたの意図に依存します。 +次のように多くの可能性があります: +.Bl -enum +.It +多くの小さなディスクを結合して、 +適切な大きさのファイルシステムを作成したいと考えるかもしれません。 +例えば、小さなディスクを 5 個持っていて、 +全空間を単一ボリュームとして使用したい場合、次のような設定ファイルを書きます: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +drive d4 device /dev/da5e +drive d5 device /dev/da6e +volume bigger + plex org concat + sd length 0 drive d1 + sd length 0 drive d2 + sd length 0 drive d3 + sd length 0 drive d4 + sd length 0 drive d5 +.Ed +.Pp +この場合、サブディスクの長さを 0 と指定します。 +これは、 +.if t ``ドライブ上にある空き空間のうち、最大領域を使用する'' +.if n "ドライブ上にある空き空間のうち、最大領域を使用する" +ことを意味します。 +指定するサブディスクが、ドライブ上の唯一のサブディスクである場合、 +このサブディスクは使用可能な空間全体を使用します。 +.It +ディスク故障に対する追加の回復力 (レジリエンス; resilience) を +.Nm +に与えたい場合を考えます。 +選択肢としては、 +.if t ``ミラーリング'' +.if n "ミラーリング" +とも呼ばれる RAID-1 か、 +.if t ``パリティ'' +.if n "パリティ" +とも呼ばれる RAID-5 があります。 +.Pp +ミラーリングの設定のためには、 +単一ボリュームの中に複数のプレックスを作成する必要があります。 +例えば、 2 GB のミラー化ボリュームを作成するには、 +次のような設定ファイルを作成します: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +volume mirror + plex org concat + sd length 2g drive d1 + plex org concat + sd length 2g drive d2 +.Ed +.Pp +ミラー化ドライブを作成するときには、 +各プレックスからのデータが、 +違う物理ディスク上にあることを保証することが重要です。 +これにより、単一ドライブ故障においても、 +.Nm +はボリュームの完全なアドレス空間にアクセス可能となります。 +各プレックスが、 +完全なボリュームと同じだけのデータを必要とすることに注意してください: +この例では、ボリュームは 2 GB の大きさですが、各プレックス (と各サブディスク) +は 2 GB を必要としますので、全体のディスクストレージ要求は 4 GB となります。 +.Pp +RAID-5 の設定をするには、タイプ +.Ar raid5 +の単一プレックスを作成します。 +例えば、回復力を持つ 2 GB に相当するボリュームを作成するには、 +次のような設定ファイルを使用します: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +drive d4 device /dev/da5e +drive d5 device /dev/da6e +volume raid + plex org raid5 512k + sd length 512m drive d1 + sd length 512m drive d2 + sd length 512m drive d3 + sd length 512m drive d4 + sd length 512m drive d5 +.Ed +.Pp +RAID-5 プレックスは、最低 3 個のサブディスクを必要とします。 +これらのうち 1 個には、パリティ情報を格納するので、 +データストレージとしては使用しません。 +より多くのディスクを使用すると、 +より多くの割合のディスクストレージを、 +データストレージとして使用可能となります。 +この例では、総ストレージ使用量は 2.5 GB です。 +これに対し、ミラー設定での総ストレージ使用量は 4 GB です。 +最小の 3 個のディスクだけを使用する場合、 +情報格納のために次のように 3 GB を必要とします: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +volume raid + plex org raid5 512k + sd length 1g drive d1 + sd length 1g drive d2 + sd length 1g drive d3 +.Ed +.Pp +ミラー化ドライブを作成するときには、 +各サブディスクからのデータが、 +違う物理ディスク上にあることを保証することが重要です。 +これにより、単一ドライブ故障においても、 +.Nm +はボリュームの完全なアドレス空間にアクセス可能となります。 +.It +また、 +.Nm +の設定により、 +ファイルシステムへのアクセスの並行性を増したいと考えるかもしれません。 +多くの場合、単一のファイルシステムへのアクセスは、 +ディスク速度により制限されます。 +ボリュームを複数のディスクに分散することにより、 +複数アクセス環境でのスループットを増すことが可能です。 +この技術は、単一アクセス環境では、 +ほとんど効果がないかまったく効果がありません。 +.Nm +は +.if t ``ストライピング'' +.if n "ストライピング" +または RAID-0 とも呼ばれる技術を使用し、アクセスの並行性を増します。 +RAID-0 という名称は誤解を生じさせるものです: +なぜなら、ストライピングは冗長性も更なる信頼性も提供しないからです。 +実際、信頼性は低下します。 +なぜなら、単一ディスクの故障はボリュームを使用不可とし、 +多くのディスクを使うほどこれらのうち 1 個が故障する確率は増加するからです。 +.Pp +ストライピングの実装のためには、 +.Ar striped +(ストライプ化) プレックスを使用します: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +drive d4 device /dev/da5e +volume raid + plex org striped 512k + sd length 512m drive d1 + sd length 512m drive d2 + sd length 512m drive d3 + sd length 512m drive d4 +.Ed +.Pp +ストライプ化プレックスの最低サブディスク数は 2 個です。 +多くのディスクを使用するほど、性能が向上します。 +.It +両方の最良点を得ることにより、回復力と性能の両方を得ることを考えます。 +これは、RAID-10 (RAID-1 と RAID-0 の組み合わせ) と呼ばれることがあります。 +この名称もまた誤解を生じさせるものです。 +.Nm +では、次のような設定ファイルを使用可能です: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +drive d4 device /dev/da5e +volume raid + plex org striped 512k + sd length 512m drive d1 + sd length 512m drive d2 + sd length 512m drive d3 + sd length 512m drive d4 + plex org striped 512k + sd length 512m drive d4 + sd length 512m drive d3 + sd length 512m drive d2 + sd length 512m drive d1 +.Ed +.Pp +ここでは、プレックスはストライプ化され、性能を向上しています。 +そして、このようなプレックスが 2 個あり、回復力を向上しています。 +この例で、2 番目のプレックスのサブディスクの順番が、 +1 番目のプレックスの逆になっていることに注意してください。 +これは性能のためであり、後で議論します。 +.El +.Ss ボリュームの作成 +ひとたび設定ファイルを作成した後は、 +.Nm +を起動し、ボリュームを作成します。 +この例では、設定ファイルは +.Pa configfile +です: +.Bd -literal + # vinum create -v configfile + 1: drive d1 device /dev/da2e + 2: drive d2 device /dev/da3e + 3: volume mirror + 4: plex org concat + 5: sd length 2g drive d1 + 6: plex org concat + 7: sd length 2g drive d2 + Configuration summary + + Drives: 2 (4 configured) + Volumes: 1 (4 configured) + Plexes: 2 (8 configured) + Subdisks: 2 (16 configured) + + Drive d1: Device /dev/da2e + Created on vinum.lemis.com at Tue Mar 23 12:30:31 1999 + Config last updated Tue Mar 23 14:30:32 1999 + Size: 60105216000 bytes (57320 MB) + Used: 2147619328 bytes (2048 MB) + Available: 57957596672 bytes (55272 MB) + State: up + Last error: none + Drive d2: Device /dev/da3e + Created on vinum.lemis.com at Tue Mar 23 12:30:32 1999 + Config last updated Tue Mar 23 14:30:33 1999 + Size: 60105216000 bytes (57320 MB) + Used: 2147619328 bytes (2048 MB) + Available: 57957596672 bytes (55272 MB) + State: up + Last error: none + + Volume mirror: Size: 2147483648 bytes (2048 MB) + State: up + Flags: + 2 plexes + Read policy: round robin + + Plex mirror.p0: Size: 2147483648 bytes (2048 MB) + Subdisks: 1 + State: up + Organization: concat + Part of volume mirror + Plex mirror.p1: Size: 2147483648 bytes (2048 MB) + Subdisks: 1 + State: up + Organization: concat + Part of volume mirror + + Subdisk mirror.p0.s0: + Size: 2147483648 bytes (2048 MB) + State: up + Plex mirror.p0 at offset 0 + + Subdisk mirror.p1.s0: + Size: 2147483648 bytes (2048 MB) + State: up + Plex mirror.p1 at offset 0 +.Ed +.Pp +.Fl v +フラグは、設定に従ってファイルをリストするよう、 +.Nm +に指示します。その後、 +.Nm list Fl v +コマンドと同じ書式で、現在の設定をリストします。 +.Ss より多くのボリュームを作成する +ひとたび +.Nm +ボリュームを作成した後は、 +.Nm +はこれらの情報を内部の設定ファイルにて管理します。 +再度作成する必要はありません。 +特に、 +.Nm create +コマンドを再実行すると、追加のオブジェクトを作ることになります: +.Bd -literal +.if t .ps -2 + # vinum create sampleconfig + Configuration summary + + Drives: 2 (4 configured) + Volumes: 1 (4 configured) + Plexes: 4 (8 configured) + Subdisks: 4 (16 configured) + + D d1 State: up Device /dev/da2e Avail: 53224/57320 MB (92%) + D d2 State: up Device /dev/da3e Avail: 53224/57320 MB (92%) + + V mirror State: up Plexes: 4 Size: 2048 MB + + P mirror.p0 C State: up Subdisks: 1 Size: 2048 MB + P mirror.p1 C State: up Subdisks: 1 Size: 2048 MB + P mirror.p2 C State: up Subdisks: 1 Size: 2048 MB + P mirror.p3 C State: up Subdisks: 1 Size: 2048 MB + + S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB +.if t .ps +.Ed +.Pp +この例では (今回は +.Fl f +フラグを付けています)、 +.Nm create +の再実行により 4 個の新規プレックスを作成し、 +それぞれが新規サブディスクを持ちます。 +他のボリュームを追加したい場合、これらのための新規設定ファイルを作成します。 +.Nm +が既に知っているドライブを参照する必要はありません。 +例えば、ボリューム +.Pa raid +を 4 個のディスク +.Pa /dev/da1e , +.Pa /dev/da2e , +.Pa /dev/da3e , +.Pa /dev/da4e +上に作成するには、他の 2 個についてのみ記述するだけで良いです: +.Bd -literal + drive d3 device /dev/da1e + drive d4 device /dev/da4e + volume raid + plex org raid5 512k + sd size 2g drive d1 + sd size 2g drive d2 + sd size 2g drive d3 + sd size 2g drive d4 +.Ed +.Pp +この設定ファイルでは、次のようになります: +.Bd -literal + # vinum create newconfig + Configuration summary + + Drives: 4 (4 configured) + Volumes: 2 (4 configured) + Plexes: 5 (8 configured) + Subdisks: 8 (16 configured) + + D d1 State: up Device /dev/da2e Avail: 51176/57320 MB (89%) + D d2 State: up Device /dev/da3e Avail: 53220/57320 MB (89%) + D d3 State: up Device /dev/da1e Avail: 53224/57320 MB (92%) + D d4 State: up Device /dev/da4e Avail: 53224/57320 MB (92%) + + V mirror State: down Plexes: 4 Size: 2048 MB + V raid State: down Plexes: 1 Size: 6144 MB + + P mirror.p0 C State: init Subdisks: 1 Size: 2048 MB + P mirror.p1 C State: init Subdisks: 1 Size: 2048 MB + P mirror.p2 C State: init Subdisks: 1 Size: 2048 MB + P mirror.p3 C State: init Subdisks: 1 Size: 2048 MB + P raid.p0 R5 State: init Subdisks: 4 Size: 6144 MB + + S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB + S raid.p0.s0 State: empty PO: 0 B Size: 2048 MB + S raid.p0.s1 State: empty PO: 512 kB Size: 2048 MB + S raid.p0.s2 State: empty PO: 1024 kB Size: 2048 MB + S raid.p0.s3 State: empty PO: 1536 kB Size: 2048 MB +.Ed +.Pp +RAID-5 プレックスの大きさに注意してください: +6 GB しかありませんが、 +これを構成するためにディスク空間を 8 GB 使用しています。 +これは、サブディスク 1 個分相当をパリティデータ格納に使用しているからです。 +.Ss Vinum の再起動 +システムのリブート時に、 +.Nm start +コマンドで +.Nm +を起動します: +.Bd -literal + # vinum start +.Ed +.Pp +これにより、システム中の全 +.Nm +ドライブが起動します。 +なんらかの理由で一部のドライブのみを起動したい場合、 +.Nm read +コマンドを使用してください。 +.Ss 性能関連 +最高性能の RAID アレイ設定に関する、多くの誤った考えが存在しています。 +特に、ほとんどのシステムで使用しているストライプの大きさは、小さ過ぎます。 +以降の議論は、 +.Nm vinum +だけでなく、全 RAID システムにあてはまります。 +.Pp +FreeBSD のブロック I/O システムは、.5 kB から 60 kB までの要求を発行します; +.\" mix = workload mix ? +典型的なミックスでは、ほぼ 8 kB です。 +どんなストライピングシステムにおいても、 +ある要求が 2 個の物理要求に分割されることを避けることはできませんし、 +より悪くするならばより多くに分割されてしまいます。 +これにより、甚大な性能劣化となります: +ディスクあたりの転送時間の削減は、 +より大きなオーダで増加するレイテンシによって相殺されてしまいます。 +.Pp +最近のディスクの大きさと FreeBSD のブロック I/O システムでは、 +ストライプの大きさを 256 kB から 512 kB にすると、 +適度に少数な要求に分割されることを期待できます; +正しい RAID の実装では、 +大きなディスクでのストライプの大きさを 2 または 4 MB に増さない +明確な理由はありません。 +.Pp +複数アクセスシステムでの転送のインパクトを考えるためのもっとも容易な方法は、 +潜在的なボトルネック、すなわちディスクサブシステムの観点から見ることです: +つまり、転送に要するディスク時間の総計はいくらか?です。 +ほとんどすべてがキャッシュされているので、 +要求と完了との時間的な関係はそれほど重要ではありません: +重要なパラメータは、要求がディスクを活動状態にする総時間であり、 +この間ディスクは他の転送ができなくなります。 +この結果、転送が同時に発生しても違う時に発生しても、 +実際には問題とはなりません。 +実際的には、我々が見ている時間は、レイテンシの総和 (位置決定時間と回転遅延、 +言い替えるとデータがディスクヘッド下に来るまでの時間) と総転送時間です。 +同じ速度のディスクへの転送においては、 +転送時間は転送の大きさの合計のみに依存します。 +.Pp +24 kB の典型的なニュースの記事やウェブページを考えると、 +これは 1 回の I/O で読み込めます。 +ディスクが転送レート 6 MB/s で平均位置決定時間 8 ms であり、 +ファイルシステムを 4 kB ブロックであるとします。 +24 kB ですから、断片化を考慮する必要はなく、 +ファイルは 4 kB 境界から開始します。 +必要な転送回数はブロック開始位置に依存します: +式は (S + F - 1) / S となり、 +S はファイルシステムブロック数でのストライプの大きさ、 +F はファイルシステムブロック数でのファイルの大きさです。 +.Pp +.Bl -enum +.It +ストライプの大きさは 4 kB。転送回数は 6 回。 +サブシステムの負荷: レイテンシ 48 ms、転送 2 ms、合計 50 ms。 +.It +ストライプの大きさは 8 kB。転送回数は 3.5 回。 +サブシステムの負荷: レイテンシ 28 ms、転送 2 ms、合計 30 ms。 +.It +ストライプの大きさは 16 kB。転送回数は 2.25 回。 +サブシステムの負荷: レイテンシ 18 ms、転送 2 ms、合計 20 ms。 +.It +ストライプの大きさは 256 kB。平均転送回数は 1.08 回。 +サブシステムの負荷: レイテンシ 8.6 ms、転送 2 ms、合計 10.6 ms。 +.It +ストライプの大きさは 4 MB。平均転送回数は 1.0009 回。 +サブシステムの負荷: レイテンシ 8.01 ms、転送 2 ms、合計 10.01 ms。 +.El +.Pp +ハードウェア RAID システムによっては、 +大きなストライプでは問題があるものがあるようです: +このようなシステムでは完全なストライプを常にディスクとの間で転送するようで、 +大きなストライプは性能に逆効果となります。 +.Nm +ではこの問題の被害を受けません: +すべてのディスク転送を最適化し、不要なデータを転送しないからです。 +.Pp +良く知られたベンチマークプログラムで真の複数アクセス状態 +(100 を越える同時ユーザ) をテストするものはないので、 +この主張の正しさを証明することは困難であることに注意してください。 +.Pp +これらのことを考えると、次の事項が +.Nm +ボリュームの性能に影響します: +.Bl -bullet +.It +ストライピングは、複数アクセスのみの性能を向上します。 +各要求が違うディスク上にある確率が増加するからです。 +.It +複数ドライブにまたがるコンカチネート化 UFS ファイルシステムもまた、 +複数ファイルアクセスの性能を向上します。 +UFS は、ファイルシステムをシリンダグループに分割し、 +ファイルを単一のシリンダグループに置こうとするからです。 +一般的に、ストライピングほどは効果がありません。 +.It +ミラーリングは、読み込み複数アクセスの性能を向上可能です。 +デフォルトでは +.Nm +は、連続する複数の読み込みを、 +連続する複数のプレックスに対して発行するからです。 +.It +ミラーリングは、複数アクセスか単一アクセスかに関わらず、 +すべての書き込みの性能を劣化させます。 +両方のプレックスに対し、データを書き込む必要があるからです。 +これが、前述のミラーリング設定におけるサブディスクのレイアウトの説明です: +各プレックス中の対応するサブディスクが別の物理ディスクにある場合、 +書き込みコマンドは並列に発行可能です。 +しかし、同じ物理ディスクにある場合、逐次的に実行されてしまいます。 +.It +RAID-5 の読み込みは、 +ストライプ化の読み込みと本質的に同じ考慮すべき点があります。 +ただし、ストライプ化プレックスがミラー化ボリュームの一部である場合を除きます。 +この場合、ミラー化ボリュームの方が性能が良くなります。 +.It +RAID-5 の書き込みは、ストライプ化の書き込みの約 25% の速度です: +書き込みを行うには、 +.Nm +はまずデータブロックと対応するパリティブロックを読み込み、 +いくばくかの計算を行い、 +パリティブロックとデータブロックを書き戻す必要がありますので、 +ストライプ化プレックスに対する書き込みの 4 倍の転送回数となります。 +一方、これはミラーリングのコストにより相殺されますので、 +単一 RAID-5 プレックスのボリュームへの書き込みは、 +2 個のストライプ化プレックスからなる正しく設定されたボリュームへの +書き込み速度の半分となります。 +.It +.Nm +の設定が変わると +(例えば、オブジェクトの追加や削除、またはオブジェクトの状態変更)、 +.Nm +は 128 kB までの更新された設定を各ドライブに書き込みます。 +ドライブ数が増加すると、この時間が長くなります。 +.El +.Ss Vinum ボリューム上にファイルシステムを作成する +.Nm +ボリューム上にファイルシステムを作成する前に +.Nm disklabel +を実行する必要はありません。 +raw デバイスに対して +.Nm newfs +だけを実行してください。 +.Fl v +オプションを使用して、 +デバイスがパーティションに分割されないようにしてください。 +例えば、ボリューム +.Pa mirror +上にファイルシステムを作成するには、次のコマンドを入力します: +.Bd -literal -offset 4n +# newfs -v /dev/vinum/rmirror +.Ed +.Pp +.Pa rmirror +という名前が raw デバイスを参照していることに注意してください。 +.Sh その他のことがら +.Nm +の設定に関係する数個のその他のことがらがあります: +.Bl -bullet +.It +複数のドライブを単一ディスク上に作成しても、利益はありません。 +各ドライブは 131.5 kB のデータをラベルと設定情報に使用し、 +設定変更時に性能が劣化します。 +適切な大きさのサブディスクを使用してください。 +.It +コンカチネート化 +.Nm +プレックスの大きさを増すことはできますが、 +現在のところストライプ化プレックスと RAID-5 プレックスでは増せません。 +現在のところ既存の UFS ファイルシステムの大きさを増すこともできません。 +プレックスおよびファイルシステムを拡張可能とする計画はあります。 +.El .Sh 分かりにくい仕様 (GOTCHAS) 次の事柄はバグではありませんし、存在する理由があるのですが、 混乱を引き起こすものです。 各項目は適切な節において議論されています。 .Bl -enum .It .Nm はデバイスを UFS パーティション上には作成するよう要求されると、 ``wrong partition type'' というエラーメッセージを返します。 パーティションタイプは、現在のところ、``unused'' である必要があります。 .It 複数のプレックスからなるボリューム作成時に、 -.Nm +.Nm はプレックスを自動的には初期化しません。 これは、内容については分からなくても、 これらの間には確かに一貫性がないということを意味しています。 その結果デフォルトでは、 新規作成されたプレックスのうち最初のものを除いたすべての状態を、 .Nm は .Ar 古い (stale) 状態に設定します。 .sp 実際上は、プレックス作成時にその内容に多大な興味を持つ人はいないので、 他のボリュームマネージャはどんなときでも .Ar 起動 (up) に設定して騙します。 .Nm は、新規作成されたプレックスが .Ar 起動 (up) 状態であることを保証するために、2 つの方法を提供します: .Bl -bullet .It プレックスを作成し、それらを -.Nm vinum init -で初期化します。 +.Nm vinum start +で同期します。 .It キーワード .Ar setupstate 付きでボリューム (プレックスではありません) を作成します。 このキーワードは、矛盾が存在しても無視してプレックスの状態を .Ar 起動 (up) 状態にするように、 .Nm に指示します。 .El .It 現在 .Nm がサポートしているコマンドには、実際には不要なものがあります。 私には理解できない理由があるのでしょうが、 .Nm label および .Nm resetconfig のコマンドを使おうとするユーザをしばしば見掛けます。特に .Nm resetconfig は、あらゆる種類の恐しいメッセージを表示するにもかかわらずです。 正当な理由無しに、これらのコマンドを使わないでください。 .It 状態遷移には非常に分り難いものがあります。 事実、これがバグであるのか仕様であるのかは明かではありません。 .Ar reborn -サブディスクなどの、奇妙な状態になったオブジェクトを開始できない場合には、 +サブディスクなどの、奇妙な状態になったオブジェクトを起動できない場合には、 .Nm stop または .Nm stop Ar -f のコマンドを使用して、まず .Ar stopped 状態に遷移させてください。 -これが上手くいけば、オブジェクトを開始できるはずです。 +これが上手くいけば、オブジェクトを起動できるはずです。 簡単な方法では上手くいかなくて、これが唯一の回復手段である場合、 その状況を報告してください。 .It カーネルモジュールを .Ar -DVINUMDEBUG オプション付きで構築した場合、 .Nm vinum(8) もまた .Ar -DVINUMDEBUG オプション付きで構築する必要があります。 なぜなら、両方のコンポーネントで使用されるデータオブジェクトに、 大きさが本オプションに依存しているものがあるからです。 前記のようにしないと、 .Ar Invalid argument というメッセージを表示してコマンドは失敗し、 次のようなコンソールメッセージが記録されます: .Pp .Bd -literal vinumioctl: invalid ioctl from process 247 (vinum): c0e44642 .Ed .Pp 古いバージョンの kld やユーザランドプログラムを使うと、 このエラーが発生することがあります。 +.It +.Nm +ドライブは UNIX ディスクパーティションであり、パーティションタイプ +.Ar vinum +を使用します。 +これは、パーティションタイプが +.Ar 4.2BSD +となる +.Nm ccd +とは違います。 +この ccd の動作は、自分の足元をすくうことになります: +.Nm ccd +では、容易にファイルシステムを上書きできてしまいます。 +.Nm +ではそのようなことは許しません。 +.Pp +同様の理由で、 +.Nm vinum Ar start +コマンドは、パーティション +.Ar c +上のドライブを受け付けません。 +パーティション +.Ar c +は、ディスク全体を表現するためにシステムが使用し、タイプ +.Ar unused +である必要があります。 +ここには明確な矛盾があるので、 +.Ar c +パーティションを使用しないことにより +.Nm +は問題を解決しています。 +.It +.Nm vinum Ar read +コマンドの文法は、吐き気を催すものです。 +これが唯一の +.Nm vinum +起動のためのコマンドでしたが、今の好ましい方法は +.Nm vinum Ar start +です。 +.Nm vinum Ar read +は整備のみに使用すべきです。 +文法が変更されたので、引き数が +.Pa /dev/da0 +のようなディスクスライスであり +.Pa /dev/da0e +のようなパーティションではないことに注意してください。 .El .\"XXX.Sh BUGS .Sh 関連ファイル .Ar /dev/vinum - .Nm オブジェクトのデバイスノードがあるディレクトリ .br .Ar /dev/vinum/control - .Nm vinum の制御デバイスがあるディレクトリ .br .Ar /dev/vinum/plex - .Nm プレックスのデバイスノードがあるディレクトリ .br .Ar /dev/vinum/sd - .Nm サブディスクのデバイスノードがあるディレクトリ .Sh 関連項目 .Xr vinum 4 , .Xr disklabel 8 , -.Nm http://www.lemis.com/vinum.html , -.Nm http://www.lemis.com/vinum-debugging.html . +.Xr newfs 8 , +.Pa http://www.lemis.com/vinum.html , +.Pa http://www.lemis.com/vinum-debugging.html . .Sh 作者 -Greg Lehey +Greg Lehey .Pa .Sh 歴史 .Nm コマンドは FreeBSD 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/addftinfo.1 b/ja_JP.eucJP/man/man1/addftinfo.1 index 10fb7f17f4..5478110bca 100644 --- a/ja_JP.eucJP/man/man1/addftinfo.1 +++ b/ja_JP.eucJP/man/man1/addftinfo.1 @@ -1,93 +1,93 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: addftinfo.1,v 1.2 1997/05/13 16:07:12 horikawa Stab % -.TH ADDFTINFO 1 "8 September 1996" "Groff Version 1.10" +.TH ADDFTINFO 1 "8 September 1996" "Groff Version 1.11" .SH 名称 addftinfo \- troff 用のフォントファイルに groff で用いるための情報を付加する .SH 書式 .B addftinfo [ .BI \- param\ value\fR.\|.\|. ] .I res .I unitwidth .I font .SH 解説 .B addftinfo は troff フォントファイルを読み、groff -システムで用いられるフォントメトリック情報を付加します。情報が付加されたフォントファイル -は標準出力に書き出されます。 +システムで用いられるフォントメトリック情報を付加します。 +情報が付加されたフォントファイルは標準出力に書き出されます。 追加される情報は、フォント自体のパラメトリックな情報と、伝統的な troff の文字名のつけかたに関する仮定から推定されます。 この情報は、主に文字の高さや深さです。引数の .I res と .I unitwidth は DESC ファイルの対応するパラメータと一致するべきです; .I font はフォントの名前です。 .I font が .B I で終わる場合はイタリック体であると仮定されます。 .SH オプション 各オプションは、高さや深さなどを得るために用いられるパラメータのうちの 1 つを 変更します。フォントファイル内の現行の数量のように、各 .I value はポイントの大きさが .I unitwidth であるフォントについて .I res あたりのインチ数で表現します。 .I param には、以下のなかから 1 つを選びます: .TP .B x-height x などのような、背の低い小文字の高さ。 .TP .B fig-height -図の高さ ( 十進の数値 ) +図の高さ (10 進の数値) .TP .B asc-height b, d, l などのような、背の高い文字の高さ。 .TP .B body-height 括弧などの文字の高さ。 .TP .B cap-height A のような大文字の高さ。 .TP .B comma-depth ``,'' の深さ。 .TP .B desc-depth p, q, y などのような、ベースラインよりも下に出た文字の深さ。 .TP .B body-depth 括弧などの文字の深さ。 .LP .B addftinfo は、指定しなかったパラメータの値を推測するために、指定してある パラメータの値を用いることはしません。パラメータが指定されない場合は デフォルトの値が用いられます。デフォルトの値は、 Times フォントの手頃な値を選びます。 .SH 関連項目 .BR groff_font (5), .BR groff (1), .BR groff_char (7) diff --git a/ja_JP.eucJP/man/man1/doscmd.1 b/ja_JP.eucJP/man/man1/doscmd.1 new file mode 100644 index 0000000000..3c0c73bf9d --- /dev/null +++ b/ja_JP.eucJP/man/man1/doscmd.1 @@ -0,0 +1,730 @@ +.\" +.\" Copyright (c) 1992, 1993, 1996 +.\" Berkeley Software Design, 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. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by Berkeley Software +.\" Design, Inc. +.\" +.\" THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``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 Berkeley Software Design, Inc. 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. +.\" +.\" BSDI doscmd.1,v 2.3 1996/04/08 19:32:29 bostic Exp +.\" +.\" jpman %Id: doscmd.1,v 1.3 1998/10/13 21:31:33 vanitas Stab % +.\" WORD: raw file ロウファイル (mknod.8 によると character special file) +.\" WORD: cooked device 加工されたデバイス (mknod.8 によると block special) +.Dd January 30, 1995 +.Dt DOSCMD 1 +.Os +.Sh 名称 +.Nm doscmd +.Nd リアルモード DOS プログラムのサブセットを実行する +.Sh 書式 +.Nm doscmd +.Fl 23AbDEfHIMOPRrtVvXxYz +.Fl c Ar file +.Fl d Ar file +.Fl i Ar port Ns Xo +.Op : Ns Ar cnt +.Xc +.Fl o Ar port Ns Xo +.Op : Ns Ar cnt +.Xc +.Fl S Ar int +.Fl U Ar int +.Op Ar cmd [args ...] +.Sh 解説 +.Nm +は、DOS のサブセットをエミュレートして単一コマンド +.Ar cmd +.Ar args +を実行することができますし、 +PC をエミュレートして DOS をブートすることもできます。 +DOS をブートする場合には、より多様な DOS アプリケーションを +実行することができます。 +MS-DOS 6.2 以降は +.Nm doscmd +ではうまく扱えないようです。 +DOS をブートするには、 +.Fl b +フラグを指定するか、 +.Ar cmd +引数を省略してください。 +.Fl b +を指定すると、 +.Ar cmd +と +.Ar args +は無視されます。 +.Pp +.Nm +は DOS のサブセットを提供するだけですが、 +多くのプログラムを実行するには十分です。 +コンパイラ、アセンブラ、リンカローダといったプログラムも実行できますが、 +これらに限定するものではありません。 +.Pp +次に示す多様なフラグを +.Nm +に指定可能です: +.Bl -tag -width indent +.It Fl 2 +DOS プログラムからの +.Nm doscmd +エミュレータへのすべてのトラップのデバッグトレースを有効にします。 +カーネルによって扱われるためにトレースされないトラップがあることに +注意してください。 +.It Fl 3 +割り込みベクタの変更や論理ドライブへのパスの初期化といった、 +いくつかの下位レベル機能のデバッグを有効にします。 +.\" +.\" +.\" +.It Fl A +エミュレータを通過するすべての割り込みのトレースを有効にします。 +.Fl S +オプションを、255 個すべての割り込みの値とともに指定する場合と同じです。 +.\" +.\" +.\" +.It Fl b +DOS をエミュレートする代りに DOS をブートします。 +.\" +.\" +.\" +.It Fl c Ar file +画面へのすべての出力を捕まえて、 +.Ar file +へ出力します。 +画面の直接の書き込みは捕まえられないことに注意してください。 +.\" +.\" +.\" +.It Fl C +MS-DOS の呼び出しエミュレーションと戻り値をリストします。 +.\" +.\" +.\" +.It Fl D +ディスクとファイルの操作に関するデバッグを有効にします。 +.\" +.\" +.\" +.It Fl d Ar file +デバッグ出力を、標準エラー出力の代りに +.Ar file +へ送ります。 +.\" +.\" +.\" +.It Fl E +exec ルーチンのデバッグを有効にします。 +.\" +.\" +.\" +.It Fl H +中途半端に実装された呼び出しのトレースを有効にします。 +.\" +.\" +.\" +.It Fl I +すべての割り込みのトレースを有効にします。 +.Fl A +とほとんど同じですが、有効になるトレースは少しだけ少ないです。 +.\" +.\" +.\" +.It Fl i Ar port Ns Xo +.Op : Ns Ar cnt +.Xc +入出力ポート +.Ar port +からのすべての入力要求のトレースを有効にします。 +もし +.Ar cnt +が与えられると、 +.Ar port +から +.Ar port+cnt Ns No -1 +までをトレースします。 +.\" +.\" +.\" +.It Fl M +メモリ操作のデバッグを有効にします。 +.\" +.\" +.\" +.It Fl O +デバッグ出力を、標準エラー出力の代りに、標準出力へ出力します。 +.\" +.\" +.\" +.It Fl o Ar port Ns Xo +.Op : Ns Ar cnt +.Xc +入出力ポート +.Ar port +からのすべての出力要求のトレースを有効にします。 +もし +.Ar cnt +が与えられると、 +.Ar port +から +.Ar port+cnt Ns No -1 +までをトレースします。 +.\" +.\" +.\" +.It Fl P +入出力ポート呼び出し (例えば +.Li inb , +.Li outb +など) のトレースを有効にします。 +.\" +.\" +.\" +.It Fl R +ファイルリダイレクトコードのデバッグを有効にします。 +.\" +.\" +.\" +.It Fl r +生のキーボード入力と表示を使用します。 を押すと、 +doscmd は終了します。VGA グラフィックスが使えるようになります。 +.\" +.\" +.\" +.It Fl S Ar int +割り込み +.Ar int +のトレースを有効にします。 +.\" +.\" +.\" +.It Fl t +命令レベルのトレースを試みます。 +トレースを混乱させる命令があります。 +.Li +を押すとトレースモードの有効と無効とを切り替えます。 +.\" +.\" +.\" +.It Fl U Ar int +割り込み +.Ar int +のトレースを無効にします。 +.Fl A +や +.Fl I +の後で使用すると便利です。 +.\" +.\" +.\" +.It Fl V +未知の割り込みを報告する際、レジスタダンプも含めます。 +.\" +.\" +.\" +.It Fl v +.Fl AH +と同じです。 +.\" +.\" +.\" +.It Fl X +XMS 操作のデバッグを有効にします。 +.\" +.\" +.\" +.It Fl x +X11 のウィンドウを表示出力のためにオープンします。 +他の方法では利用できない様々な割り込みを有効にします。 +.Fl b +を指定しても、指定しなくても、使用可能です。 +.\" +.\" +.\" +.It Fl Y +EMS 操作のデバッグを有効にします。 +.\" +.\" +.\" +.It Fl z +DOS プログラムにジャンプする直前に +.Nm +を停止させます。 +.Nm +を開発する以外の用途はほとんどありません。 +.El +.Pp +起動時に、 +.Nm +はコンフィギュレーションファイルを読もうとします。 +まず、カレントディレクトリのファイル +.Cm .doscmdrc +を試します。もし見付からない場合、 +.Cm $HOME +を検索します。それでもなお見付からない場合、ファイル +.Cm /etc/doscmdrc +を使用します。 +.Pp +コンフィギュレーションファイルでは、コメントは \fB#\fP 文字から開始します。 +また、空行は無視されます。 +非空行は、環境変数またはデバイスを設定するコマンドです。 +空白の前に \fB=\fP がある行は、環境変数への代入であると扱われ、 +DOS の環境に追加されます。 +その他の行は次のいずれかです。 +.Bl -tag -width XXXXX +.\" +.\" +.\" +.It Cm boot Op Cm A: | C: +ブートするデバイスを設定します。 +デフォルトでは、 +.Cm A: +が定義されていれば最初に試され、もしそれが失敗すると、 +.Cm C: +が試されます。 +.\" +.\" +.\" +.It Cm assign Xo +.Op Cm A-Z : +.Op Fl ro +.Ar path +.Xc +.Nm BSD/OS +のディレクトリ +.Ar path +を、指定したドライブに割り当てます。 +.Fl ro +フラグを指定すると、読み取り専用ファイルシステムになります。 +DOS ブート時には、 +.Pa /usr/libdata/doscmd/redir.com +バイナリが実行されるまでは、これらの割り当ては実行されません。 +.\" +.\" +.\" +.It Cm assign Xo +.Cm lpt Ns Op Cm 0-4 : +.Op Cm direct +.Ar path +.Op Ar timeout +.Xc +指定したプリンタを +.Ar path +に割り当てようとします。 +.Ar timeout +が指定された場合、 +その期間 (秒数) 活動がない場合に、プリンタをフラッシュすべきことを示します。 +デフォルトは 30 秒です。 +.Ar path +が本物のプリンタを参照している場合には、 +.Cm direct +オプションを指定してください。 +.\" +.\" +.\" +.It Cm assign Xo +.Op Cm A: | B: +.Op Fl ro +.Ar path +.Ar density +.Xc +.It Cm assign Xo +.Cm flop Ns Op Cm 01 +.Op Fl ro +.Ar path +.Ar density +.Xc +ファイル +.Ar path +を、次に利用可能なフロッピまたは指定したフロッピに割り当てます。 +.Fl ro +が指定されると、フロッピは読み取り専用になります。 +.Ar density +は次のいずれかです: +.sp +.Bl -tag -compact -width 1440x +.It 180 +9 ヘッド 40 トラック片面フロッピ +.It 360 +9 ヘッド 40 トラック両面フロッピ +.It 720 +9 ヘッド 80 トラック両面フロッピ +.It 1200 +15 ヘッド 80 トラック両面フロッピ +.It 1440 +18 ヘッド 80 トラック両面フロッピ +.It 2880 +36 ヘッド 80 トラック両面フロッピ +.El +.\" +.\" +.\" +.It Cm assign Xo +.Op Cm C-Z : +.Op Fl ro +.Ar path +.Op Ar type | cyl head sec +.Op Ar fdisk_tab +.Xc +.It Cm assign Xo +.Cm hard Ns Op Cm 01 +.Op Fl ro +.Ar path +.Op Ar type | cyl head sec +.Op Ar fdisk_tab +.Xc +ファイル +.Ar path +を、次に利用可能なハードディスクまたは指定したハードディスクに割り当てます。 +ディスクのジオメトリは、シリンダ数 +.Ar cyl +とヘッド数 +.Ar head +とトラックあたりのセクタ数 +.Ar sec +で直接指定することもできますし、標準タイプから 1 つを +.Ar type +(後述) で指定することもできます。 +オプションの +.Ar fdisk_tab +引数は、このディスクの最初のセクタとして使用するファイルを指定します。 +.Ar path +がディスクの一部のみを参照する場合に、 +偽の fdisk テーブルを挿入するために使用できます。 +.\" +.\" +.\" +.It Cm assign Xo +.Cm com Ns Op Cm 1-4 : +.Ar path +.Ar port +.Ar irq +.Xc +.Ar path +で指定した tty または pty を、 +指定した com ポートとして使用するように割り当てます。 +ベースアドレスは +.Ar port +でエミュレートされ、割り込みは +.Ar irq +で指定されます。 +このコードは軽くテストしただけなので、向かない用途があるかもしれません。 +.\" +.\" +.\" +.It Cm "setver command version" +doscmd が DOS をエミュレートする場合、 +.Cm command +という名前のプログラムから呼ばれた時に、DOS バージョンとして +.Cm version +を報告するようにします。 +.Cm version +のフォーマットは、後述の +.Cm MS_VERSION +変数と同じです。 +.El +.Pp +.Cm C: +は、まだ割り当てられていない場合には、ルートディレクトリ (/) に割り当てられ、 +.Cm C: +のカレントディレクトリは、現在のカレントディレクトリに設定されます。 +これはすなわち、 +.sp + doscmd ../foo +.sp +のように起動しても、動作しないことを意味することに注意してください。 +なぜなら +.Cm C: +ディレクトリはカレントパスで開始するからです。 +また、次の環境変数も、未設定の場合には設定されます: + +.nf +.Cm "COMSPEC=C:\eCOMMAND.COM +.Cm "PATH=C:\e +.Cm "PROMPT=DOS> +.fi + +.Cm PATH +変数は +.Ar cmd +を検索する際にも使用されます。 +DOS のように、まず +.Ar cmd.com +が検索され、それから +.Ar cmd.exe +が検索されます。 +.Sh コンフィギュレーション変数 +.Pp +doscmd の内部変数であり、実際の DOS の環境では設定されない変数が、 +.Cm .doscmdrc +ファイル中にいくつかあります。 +それらを以下に示します: +.Bl -tag -width MS_VERSION +.It Cm MS_VERSION +この変数の値は、 +.Nm +が報告を行なう DOS のバージョンを決定するために使用されます。 +.Nm +は、動作を変えずに、報告方法だけを変えることに注意してください。 +デフォルトでは、この値は +.Cm 410 +であり、 +.Nm "MS-DOS +バージョン +.Nm 4.1 +に対応します。 +バージョン 3.2 (以前の +.Nm +のデフォルトでした) に変更するには、値 +.Cm 320 +を使用してください。 +.El +.Sh ファイル変換 +.Nm +は +.Nm BSD/OS +のファイル名を +.Nm DOS +のファイル名に変換する際、すべて大文字に変換し、無効な文字を除去します。 +ASCII ファイルを、DOS の世界で好まれる +.Cm +形式へ変換するということはありません。 +ASCII ファイルを変換するには、プログラム +.Xr bsd2dos 1 +を使用してください。 +.bp +.Sh ディスクタイプ +.TS H +expand, box; +r | r | r | r | r. +タイプ シリンダ ヘッド セクタ サイズ += +01 306 4 17 10MB +02 615 4 17 20MB +03 615 6 17 30MB +04 940 8 17 62MB +05 940 6 17 46MB +_ +06 615 4 17 20MB +07 462 8 17 30MB +08 733 5 17 30MB +09 900 15 17 112MB +10 820 3 17 20MB +_ +11 855 5 17 35MB +12 855 7 17 49MB +13 306 8 17 20MB +14 733 7 17 42MB +15 976 15 17 121MB +_ +16 612 4 17 20MB +17 977 5 17 40MB +18 977 7 17 56MB +19 1024 7 17 59MB +20 733 5 17 30MB +_ +21 733 7 17 42MB +22 733 5 17 30MB +23 306 4 17 10MB +24 925 7 17 53MB +25 925 9 17 69MB +_ +26 754 7 17 43MB +27 754 11 17 68MB +28 699 7 17 40MB +29 823 10 17 68MB +30 918 7 17 53MB +_ +31 1024 11 17 93MB +32 1024 15 17 127MB +33 1024 5 17 42MB +34 612 2 17 10MB +35 1024 9 17 76MB +_ +36 1024 8 17 68MB +37 615 8 17 40MB +38 987 3 17 24MB +39 987 7 17 57MB +40 820 6 17 40MB +_ +41 977 5 17 40MB +42 981 5 17 40MB +43 830 7 17 48MB +44 830 10 17 68MB +45 917 15 17 114MB +_ +46 1224 15 17 152MB +.TE +.bp +.Sh 擬似ディスクへの DOS のインストール +.Pp +doscmd の擬似ハードディスクに DOS をインストールするには、 +次のようにします: +.Bl -tag -width XXXX +.It 1 +少なくとも次の記述を含む +.Pa .doscmdrc +を作成します: +.Bd -literal -offset indent +assign A: /dev/rfd0_1440_3.5 1440 +assign A: /dev/rfd0_720_3.5 720 +assign hard boot_drive 80 2 2 +.Ed +.Pp +A: ドライブに対応するロウファイル (訳注: キャラクタスペシャルファイル) を、 +システムに応じて修正する必要があるかもしれません。 +この例では、HD ドライブを最初に試し、DD ドライブを次に試します +(訳注: HD = High Density; 高密度、DD = Double Density; 倍密度)。 +.\" HD = Hard Disk と思ってしまうと混乱するので、訳注を追加したい。 +.\" HD = High Density, DD = Double Density +.\" 1998/09/20 by horikawa@jp.FreeBSD.org +.Pp +ここでは、 +ロウデバイスやロウファイルのみを使用する必要があることに注意してください。 +加工された (cooked) デバイス (訳注: ブロックスペシャルファイル) +を使用しないこと! +(おそらくハードディスクは大丈夫でしょうが、フロッピは確実に駄目です) +.Pp +.Li boot_drive +は、ブート可能なイメージを格納するファイルの名前です。 +.Li 80 2 2 +という 3 つの数字は、 +ドライブが 80 個のシリンダと 2 個のヘッドとトラックあたり 2 個のセクタを +持つことを示します。 +これは、MS-DOS 5.0 を +.Pa config.sys +と +.Pa autoexec.bat +のファイルと共にインストールすることが可能な、最小のドライブです。 +.Pp +もっと大きなブートドライブを作成したいかもしれません。 +.Pp +ファイル +.Pa boot_drive +は存在する必要がありますので、touch コマンドで作成してください。 +.It 2 +MS-DOS をブート可能で fdisk, format, sys コマンドを含むフロッピディスクを、 +A: ドライブに挿入してください。 +ファイル redir.com もフロッピにコピーしてください。 +この際、msdos ファイルシステム型でフロッピをマウントするか、mtools +を使用してください +(例えば +.Li mwrite redir.com a: +とします)。 +.It 3 +doscmd を実行してください。 +.It 4 +> プロンプトにて、 +.Li fdisk +とタイプします。 +.It 5 +.Li Create DOS partition or Logical Drive +を選択します。 +.It 6 +.Li Create Primary DOS Partition +を選択します。 +.It 7 +大きさを指定します (典型的にはドライブ全体です。それでも非常に小さいものです。) +.It 8 +.Li +を何度か押して、FDISK を終了します。 +.It 9 +doscmd が実行中断するでしょうから、 +そうなった場合、doscmd を再度実行します。 +.It 10 +> プロンプトにて、 +.Li format c: +とタイプし、指示に従います。 +.It 11 +> プロンプトにて、 +.Li sys c: +とタイプします。 +.It 12 +doscmd を終了します。 +.It 13 +ドライブからフロッピを取り除くか、 +.Bd -literal -offset indent +boot C: +.Ed +という行をあなたの +.Pa .doscmdrc +に加えてください。 +.It 14 +新しいディスクから DOS を動かします。 +config.sys と autoexec.bat の両ファイルが欲しいでしょうから、 +まず最初は次のようにします: +.Bd -literal -offset indent +> copy con: config.sys +LASTDRIVE=Z +^Z +> copy con: autoexec.bat +@echo off +redir.com +^Z +.Ed +.It 15 +doscmd を終了します。 +.It 16 +FreeBSD ディスクを組み込む魔法のプログラム +.Li redir +を自動的に呼び出す、ブート可能な擬似ディスクが完成しました。 +FreeBSD ディスクを使用するためには、次の行をあなたの .doscmdrc に追加します: +.Bd -literal -offset indent +assign D: /usr/dos +assign P: -ro /usr/prb +.Ed +名前の問題により、 +アクセスできないファイルがあるかもしれないことに注意してください。 +.El +.Sh 診断 +.Pp +実装されていない割り込みに出会うと、 +.Nm +は次のようなメッセージを表示し終了します: +.sp + Unknown interrupt 21 function 99 +.sp +.Pp +.Nm +.Fl x +スイッチ指定時に、 +.Ic X11 support not compiled in +というメッセージが表示された場合、環境変数 +.Ev X11BASE +を X Window System をインストールした場所 (通常 +.Pa /usr/X11R6 +) に設定し、ソースディレクトリ (通常 +.Pa /usr/src/usr.bin/doscmd +) で +.Ic make install +とタイプすることで、本機能を有効にすることができます。 +このように動作するためには、 +X プログラマキットがインストールしてある必要があります。 +.Sh 作者 +.An Pace Willisson , +.An Paul Borman +.Sh 歴史 +.Nm doscmd +は BSD/386 に初めて登場しました。 diff --git a/ja_JP.eucJP/man/man1/eqn.1 b/ja_JP.eucJP/man/man1/eqn.1 index b9063fbd07..9cb239f19f 100644 --- a/ja_JP.eucJP/man/man1/eqn.1 +++ b/ja_JP.eucJP/man/man1/eqn.1 @@ -1,852 +1,837 @@ .\" %Id: eqn.1,v 1.3 1993/08/02 17:42:44 mycroft Exp % -*- nroff -*- .\" jpman %Id: eqn.1,v 1.3 1997/07/26 21:33:56 horikawa Stab % .ie \n(.V<\n(.v .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .\" The BSD man macros can't handle " in arguments to font change macros, .\" so use \(ts instead of ". .tr \(ts" -.TH EQN 1 "15 January 1995" "Groff Version 1.09" +.TH EQN 1 "7 September 1996" "Groff Version 1.11" .SH 名称 eqn \- troff 用の数式フォーマッタ .SH 書式 .B eqn [ .B \-rvCNR ] [ .BI \-d cc ] [ .BI \-T name ] [ .BI \-M dir ] [ .BI \-f F ] [ .BI \-s n ] [ .BI \-p n ] [ .BI \-m n ] [ .IR files \|.\|.\|. ] .SH 解説 本マニュアルでは、groff ドキュメントフォーマットシステムの一部である GNU バージョンの .B eqn について記述します。 .B eqn は、 .B troff -への入力ファイルに埋め込まれている数式に関する記述をコン -パイルし、 +への入力ファイルに埋め込まれている数式に関する記述をコンパイルし、 .B troff が解釈できる命令列に変換します。通常、 .B groff に .B \-e オプ ションを指定することで、本プログラムは実行されます。文法は UNIX の eqn -ととても似かよっています。GNU eqn の出力は UNIX の troff で処理するこ -とができないので、GNU troff を用いる必要があります。コマンドラインにファ -イル名が指定されなかった場合は、標準入力から読み込みます。ファイルネー -ムとして +ととても似かよっています。GNU eqn の出力は UNIX の troff で処理できないので、 +GNU troff を用いる必要があります。コマンドラインに +ファイル名が指定されなかった場合は、標準入力から読み込みます。 +ファイル名として .B \- を指定した場合も標準入力から読み込みます。 .LP .B eqn は .B /usr/share/tmac/eqnrc -を検索し、もし存在すれば入力ファイルの処 -理に先がけて読み込みを行います。 +を検索し、もし存在すれば入力ファイルの処理に先がけて読み込みを行います。 .B \-R -オプションを使うことにより、この動作 -を禁止することができます。 +オプションを使うことにより、この動作を禁止できます。 .LP GNU eqn は neqn の機能のすべてを提供するものではありません。低解像度の -タイプライタのような機器を(単純な入力に対しては十分であるのですが)サポー -トしません。 +タイプライタのような機器を (単純な入力に対しては十分であるのですが) +サポートしません。 .SH オプション .TP .B \-C -直後にスペースや改行ではない文字が続く +直後に空白文字や改行ではない文字が続く .B .EQ と .B .EN を解釈します。 .TP .B \-N 区切り文字から次の区切り文字までの間に改行がくることを禁止します。誤って 閉じる方の 区切り文字をつけ忘れた場合も、以降の処理が正しく行われる可能性が高くなりま す。 .TP .B \-v バージョン番号を表示します。 .TP .B \-r -サイズを一つだけ縮小します。 +サイズを 1 つだけ縮小します。 .TP .BI \-m n 最低のポイントサイズを .I n とします。 .B eqn は下付き、上付き文字を .I n より小さなサイズにしません。 .TP .BI \-T name .I name で指定された機器用の出力を行います。実際は、 .I name と いう値 1 のマクロが定義されるだけです。普通は .B eqnrc でこの定義されたマ -クロによって出力機器にふさわしい設定がなされます。デフォルトの出力機器 -は +クロによって出力機器にふさわしい設定がなされます。デフォルトの出力機器は .B ps です。 .TP .BI \-M dir デフォルトのディレクトリ .B /usr/share/tmac -よりも先に指定したディ -レクトリ +よりも先に指定したディレクトリ .I dir の eqnrc を探します。 .TP .B \-R .B eqnrc ファイルを読み込みません。 .TP .BI \-f F .BI gfont\ F コマンドと等価です。 .TP .BI \-s n .BI gsize\ n -コマンドと等価です。このオプションは使うべきではありま -せん。 -eqn -は、通常、数式が登場した位置のポイントサイズに数式のサイズをあ -わせます。 +コマンドと等価です。このオプションは使うべきではありません。 +eqn は、通常、数式が登場した位置のポイントサイズに数式のサイズをあわせます。 .TP .BI \-p n 上付き、下付き文字が隣接するテキストより .I n ポイント小さくなるようにし ます。このオプションは使うべきではありません。通常 eqn -は隣接するテキ -ストの 70% のサイズになるように調節します。 +は隣接するテキストの 70% のサイズになるように調節します。 .SH 使用法 -ここでは、GNU eqnとUnix eqnの違いのみを解説します。 +ここでは、GNU eqn と Unix eqn の違いのみを解説します。 .LP -GNU eqnの新しい特徴のほとんどは、\*(tx -に基づいています。 -以下には、いくつかの\*(tx と GNU eqn の違いを記述してあります。 -もし、あなたが\*(tx -を知らないならば、無視した方が安全でしょう。 +GNU eqn の新しい特徴のほとんどは、\*(tx に基づいています。 +以下には、いくつかの \*(tx と GNU eqn の違いを記述してあります。 +もし、あなたが \*(tx を知らないならば、無視した方が安全でしょう。 .SS 自動スペーシング .LP .B eqn は、数式の中の部分それぞれに対して型を与えて、その型を用いて数式 の中の部分の間の間隔をそろえます。 利用できる型には以下のものがあります。 .TP \w'punctuation'u+2n ordinary 1や .IR x のような通常の文字 .TP operator .ds Su \s+5\(*S\s0 .if \n(.g .if !c\(*S .ds Su 積算記号 \*(Su のような大きな演算記号 .TP binary -+ のような、2項演算子 ++ のような、2 項演算子 .TP relation = のような関係記号 .TP opening ( のような括弧開始記号 .TP closing )のような括弧終了記号 .TP punctuation , のような句読点記号 .TP inner 括弧内部に含まれた部分式 .TP suppress オートマチックスペーシングによる位置補正を抑制する .LP -式の中の項の型は、以下に示す二つの方法のどちらかで指定されます。 +式の中の項の型は、以下に示す 2 つの方法のどちらかで指定されます。 .TP .BI type\ t\ e 式の中の項で .I e を含むものを、型 .IR t であると指定します。 .I t は、上述の型の中から指定します。 たとえば、 .B times は .RS .IP .B type "binary" \e(mu .RE .IP と定義されます。 -マクロ展開を防ぐためにクォーティングする以外は、型の名前はクォー -トする必要はありません。 +マクロ展開を防ぐためにクォーティングする以外は、 +型の名前はクォートする必要はありません。 .TP .BI chartype\ t\ text クォートされていない文字のグループは、個々の文字に分割され、 それぞれの文字の型が検索されます。 この変更で、各文字について、それぞれ格納されている文字の型が変更されます。 この指定方法では、 .I text にある文字は、型 .IR t を持つようになります。例えば .RS .IP .B chartype "punctuation" .,;: .RE .IP という指定は、 .B .,;: という文字が、それぞれに句読点記号型を持つことを指定 します。 -以後、式の中にこれらの文字が出現した場合は、句読点記号として処理 -されます。 +以後、式の中にこれらの文字が出現した場合は、句読点記号として処理されます。 型 .I t は、 .B letter や .BR digit という指定も可能です。この場合 .B chartype は、文字のフォントの型を変更します。 詳細は、フォントサブセクションを見て下さい。 .SS 新しいプリミティブ .TP .IB e1\ smallover\ e2 これは .BR over と似ています; .B smallover は .I e1 および .IR e2 のサイズを小さくします; また .I e1 および .I e2 と分数の線との間の垂直幅も小さくなります。 .B over プリミティブは \*(tx のディスプレイスタイルの .B \eover プリミティブに対応します; .B smallover は非ディスプレイスタイルの .B \eover に対応します。 .TP .BI vcenter\ e .I e -を数式軸(math axis)にあわせて垂直方向にセンタリングします。 +を数式軸 (math axis) にあわせて垂直方向にセンタリングします。 数式軸は垂直位置であり、 これにあわせて + や - といった文字はセンタリングされます; また分数の線の垂直位置にもなります。 例えば、 .B sum はこのように定義されています。 .RS .IP .B { type "operator" vcenter size +5 \e(*S } .RE .TP .IB e1\ accent\ e2 .I e2 を .IR e1 上のアクセントとします。 .I e2 は小文字のレターに対して適正な高さにあると仮定します; .I e2 は、 .I e1 が小文字のレターよりも文字の高さが高かったり低かったりする場合には、 必要に応じて下方に移動されます。 例えば .B hat はこのように定義されています。 .RS .IP .B accent { "^" } .RE .IP .BR dotdot , .BR dot , .BR tilde , .BR vec , .B dyad も .B accent プリミティブを用いて定義されています。 .TP .IB e1\ uaccent\ e2 .I e2 を .IR e1 下のアクセントとします。 .I e2 は下に突き出ていない小文字に対して適正な高さにあると仮定します; .I e2 は、 .I e1 が下に突き出している場合、下方に移動されます。 .B utilde は .B uaccent を使用して定義されており、 ベースライン下の tilde アクセントとなります。 .TP .BI split\ \(ts text \(ts 単なる .RS .IP .I text .RE .IP と同じ効果ですが、 .I text -はクオートされているためマクロ展開の対象となりません; +はクォートされているためマクロ展開の対象となりません; .I text は個々の文字に分割され、それぞれの文字の間に空白が調整されます。 .TP .BI nosplit\ text .RS .IP .BI \(ts text \(ts .RE .IP と同じですが、 .I text -はクオートされていないためマクロ展開の対象となります; +はクォートされていないためマクロ展開の対象となります; .I text は個々の文字に分割されず、それぞれの文字の間の空白も調整されません。 .TP .IB e\ opprime .B prime の変形であり、 .IR e のオペレータとして作用します。 .BR A\ opprime\ sub\ 1 のような場合、 opprinme は .B prime とは異なる結果となります: .B opprime では .B 1 は prime 文字の真下に挿入され、 .B A の下付き文字となります (数式版組の形式のように)。 一方、 .B prime では .B 1 は prime 文字の下付き文字となります。 .B opprime が前に付くという事は、 .B bar と .BR under が前に付くのと同じ事ですが、 後者は .BR accent , .BR uaccent 以外の他の全ての文字よりも高くなります。 -クオートされていないテキスト中では、 -最初の文字ではない +クォートされていないテキスト中では、最初の文字ではない .B ' は .BR opprime として扱われます。 .TP .BI special\ text\ e .BR troff (1) マクロ .IR text を使用して、 .I e から新しいオブジェクトを生成します。 -マクロが呼び出されると、 -文字列 +マクロが呼び出されると、文字列 .B 0s は .IR e の出力を保持します。 また数字レジスタ .BR 0w , .BR 0h , .BR 0d , .BR 0skern , .BR 0skew はそれぞれ .IR e の幅、高さ、深さ、下付き文字のカーニング、スキューを保持します (オブジェクトの .I "subscript kern" とは、オブジェクト中の下付き文字がどの程度挿入されるかを表します; オブジェクトの .I skew とは、オブジェクト上のアクセントが オブジェクトの中央から右側に向けてどの程度離れて配置されるかを表します)。 マクロは .B 0s を修正することにより、 現在位置における望ましい結果を出力し、 このオブジェクトの幅の分だけ現在の水平位置を増加させます。 数字レジスタは、結果に対応するように修正されている必要があります。 .RS .LP 例えば、数式を `打ち消す' 構造を、斜め線を数式上に描く事によって 実現する場合を考えて見ましょう。 .IP .nf .ft B .ne 6+\n(.Vu \&.EQ define cancel 'special Ca' \&.EN \&.de Ca \&.ds 0s \eZ'\e\e*(0s'\ev'\e\en(0du'\eD'l \e\en(0wu -\e\en(0hu-\e\en(0du'\ev'\e\en(0hu' \&.. .ft .fi .LP 以上の結果から、式 .I e を .BI cancel\ {\ e\ } によって打ち消すことができます。 .LP 次はより複雑な構造により、式の周りに箱を描きます: .IP .nf .ft B .ne 11+\n(.Vu \&.EQ define box 'special Bx' \&.EN \&.de Bx \&.ds 0s \eZ'\eh'1n'\e\e*(0s'\e \eZ'\ev'\e\en(0du+1n'\eD'l \e\en(0wu+2n 0'\eD'l 0 -\e\en(0hu-\e\en(0du-2n'\e \eD'l -\e\en(0wu-2n 0'\eD'l 0 \e\en(0hu+\e\en(0du+2n''\eh'\e\en(0wu+2n' \&.nr 0w +2n \&.nr 0d +1n \&.nr 0h +1n \&.. .ft .fi .RE .SS カスタマイズ 数式の外見は多くのパラメータにより制御します。 これらのパラメータは .B set コマンドで設定します。 .TP .BI set\ p\ n パラメータ .I p を値 .I n に設定します; .I n は整数です。 例えば、 .RS .IP .B set x_height 45 .RE .IP は、 .B eqn に対して x の高さは 0.45 ems であると指示します。 .RS .LP パラメータを以下に示します。 -特に記述が無い場合は、値は em の100分の1を意味します。 +特に記述が無い場合は、値は em の 100 分の 1 を意味します。 以下の記述は定義的ではなく説明的になるように意図しています。 .TP \w'\fBdefault_rule_thickness'u+2n .B minimum_size .B eqn はこれよりも小さいポイントサイズのセッティングを行いません。 値はポイントで指定します。 .TP .B fat_offset .B fat プリミティブは数式をボールドにするために、 数式のコピーを 2 回重ね打ちします。 重ね打ちする時にずらす水平幅がこの値です。 .TP .B over_hang 分数の線の長さは、 -分子もしくは分母の広い方の幅にこの値を2倍した長さを加えた長さとなります; -言い替えると、分子と分母は少なくともこの値だけオーバーハングします。 +分子もしくは分母の広い方の幅にこの値を 2 倍した長さを加えた長さとなります; +言い替えると、分子と分母は少なくともこの値だけオーバハングします。 .TP .B accent_width .B bar か .B under が単一文字に対して適用された場合、 線の長さはこの値となります。 通常、 .B bar および .B under は適用対象のオブジェクトの幅に等しい長さの線を生成します; しかし単一文字の場合、 これでは大抵の場合線が長すぎるように見えてしまいます。 .TP .B delimiter_factor .B left および .B right プリミティブにより生成される伸長性のあるデリミタは高さと深さを持ちます。 デリミタが括っている部分式が軸に対して最大限伸長する長さの -2000分の1を単位とするこのパラメータで表した値は、 +2000 分の 1 を単位とするこのパラメータで表した値は、 デリミタの高さと深さの最低値を与えます。 .TP .B delimiter_shortfall .B left および .B right プリミティブにより生成される伸長性のあるデリミタは高さと深さを持ちます。 デリミタが括っている部分式が軸に対して最大限伸長する長さの -2000分の1を単位とするこのパラメータで表した値は、 +2000 分の 1 を単位とするこのパラメータで表した値は、 デリミタの高さと深さの差の最低値となります。 .TP .B null_delimiter_space 分数の前後にこれだけの水平空白が挿入されます。 .TP .B script_space 下付き文字、上付き文字の幅がこれだけ増やされます。 .TP .B thin_space 句読点記号の後にこれだけの空白が自動的に挿入されます。 .TP .B medium_space -2項演算子の前後にこれだけの空白が自動的に挿入されます。 +2 項演算子の前後にこれだけの空白が自動的に挿入されます。 .TP .B thick_space 関係演算子の前後にこれだけの空白が自動的に挿入されます。 .TP .B x_height x のように上に突き出た部分の無いレターの高さ。 .TP .B axis_height \(pl や \(mi といった 文字のセンタ位置がベースラインに対してどれくらい高いかを表します。 使用しているフォントに対して適切な値を使用する事が重要です。 .TP .B default_rule_thickness .B \e(ru 文字の太さ、 .B \eD エスケープシーケンスにより生成される水平線の太さを指定します。 .TP .B num1 .B over コマンドは分子を最低この値だけ上に移動します。 .TP .B num2 .B smallover コマンドは分子を最低この値だけ上に移動します。 .TP .B denom1 .B over コマンドは分母を最低この値だけ下に移動します。 .TP .B denom2 .B smallover コマンドは分母を最低この値だけ下に移動します。 .TP .B sup1 通常上付き文字は最低この値だけ上に移動します。 .TP .B sup2 上付き文字中もしくは上限中の上付き文字、もしくは .B smallover における分子は、 最低この値だけ上に移動します。 この値は通常 sup1 より小さいです。 .TP .B sup3 分母中もしくは平方根中の上付き文字、もしくは下付き文字もしくは下限は、 最低この値だけ上に移動します。 通常 sup2 より小さいです。 .TP .B sub1 通常下付き文字は最低この値だけ下に移動します。 .TP .B sub2 下付き文字と上付き文字の両方がある場合、 下付き文字は最低この値だけ下に移動します。 .TP .B sup_drop 上付き文字のベースラインは、上付き文字がセットされるオブジェクトの上部 に対して、この値よりも下になることはありません。 .TP .B sub_drop 下付き文字のベースラインは、下付き文字がセットされるオブジェクトの下部 に対して、少なくともこの値よりも下になります。 .TP .B big_op_spacing1 上限のベースラインは、上限がセットされるオブジェクトの上部 に対して少なくともこの値よりも上になります。 .TP .B big_op_spacing2 下限のベースラインは、下限がセットされるオブジェクトの下部 に対して少なくともこの値よりも下になります。 .TP .B big_op_spacing3 上限の下部は、上限がセットされるオブジェクトの上部 に対して少なくともこの値よりも上になります。 .TP .B big_op_spacing4 下限の上部は、下限がセットされるオブジェクトの下部 に対して少なくともこの値よりも下になります。 .TP .B big_op_spacing5 これで指定される空白が上限上および下限下に付加されます。 .TP .B baseline_sep 列ベクトルまたは行列の各行のベースラインがどれだけ離れているかを指定します。 大抵の場合、この値は .B num1 と .BR denom1 の和に等しいです。 .TP .B shift_down 列ベクトルまたは行列の 一番上のベースラインおよび一番下のベースラインの中間点が、 軸からどれだけ下がっているかを指定します。 大抵の場合、この値は .BR axis_height に等しいです。 .TP .B column_sep 行列の列間に加えられる空白の長さを指定します。 .TP .B matrix_side_sep 行列の両端に加えられる空白の長さを指定します。 .TP .B draw_lines この値が非0の場合、線を引く場合に .B \eD エスケープシーケンスを使用し、 .B \el エスケープシーケンスと .B \e(ru 文字は使用しなくなります。 .TP .B body_height この値を式の高さが越えた分だけ、 当該式を含む行の前の空白に加えられます ( .BR \ex を使用します)。 デフォルト値は 85 です。 .TP .B body_depth この値を式の深さが越えた分だけ、 当該式を含む行の後の空白に加えられます ( .BR \ex を使用します)。 デフォルト値は 35 です。 .TP .B nroff この値が非 0 の場合には、 .B ndefine は .B define のように振舞い、 .B tdefine は無視されます。 この値が 0 の場合は .B tdefine は .B define のように振舞い、 .B ndefine は無視されます。 デフォルト値は 0 です (典型的には .B eqnrc ファイルによって、 .B ascii と .B latin1 デバイスの場合、この値は 1 に変更されます)。 .LP これらのパラメータの役割に関するより正確な記述は .IR The\ \*(txbook の Appendix H に記載されています。 .RE .SS マクロ マクロは引数を取ることができます。 -マクロが引数付きで呼ばれた場合、 -マクロボディでは、 +マクロが引数付きで呼ばれた場合、マクロボディでは、 .BI $ n ただし .I n は 1 から 9 は、 .IR n 番目の 引数に置き換えられます; 引数が .I n より少ない場合、無と置き換えられます。 左括弧を含む語で、左括弧より前の語の部分が .B define コマンドで定義されている語は、 引数付きのマクロ呼び出しとして認識されます; 左括弧に続く複数の文字は、対応する右括弧の範囲まで、 コンマで区切られた引数として扱われます; ネストした括弧内のコンマでは引数は区切られません。 .TP .BI sdefine\ name\ X\ anything\ X .B define コマンドに似ていますが、 引数付きで呼ばれた場合 .I name は認識されません。 .TP .BI include\ \(ts file \(ts .IR file の内容を組み込みます。 .I file 中の行で、 .B .EQ もしくは .B .EN で始まる行は無視されます。 .TP .BI ifdef\ name\ X\ anything\ X .I name が .B define で定義されている場合 (または .I name が出力デバイスであるために自動的に定義されている場合)、 .IR anything を処理します; そうでない場合は .IR anything を無視します。 .I X は .IR anything に含まれない文字であれば何でも構いません。 .SS フォント .B eqn は通常少なくとも 2 つのフォントを式のセットに使用します: すなわち、レターにはイタリックを、 その他にはローマンを使用します。 既存の .B gfont コマンドは、 イタリックフォントとして使用されるフォントを変更します。 デフォルト値は .BR I です。 ローマンフォントとして使用されるフォントは 新しい .B grfont コマンドで変更します。 .TP .BI grfont\ f ローマンフォントを .IR f に設定します。 .LP .B italic プリミティブは .BR gfont によってセットされた現在のイタリックフォントを使用します; .B roman プリミティブは .BR grfont によってセットされた現在のローマンフォントを使用します。 また .B gbfont コマンドという新しいコマンドもあり、 .B bold プリミティブで使用されるフォントを変更します。 式中でフォントを変更するのに .BR roman , .BR italic , .B bold プリミティブしか使用しない場合、 全ての式中のフォントを変更するのには .BR gfont , .BR grfont , .B gbfont コマンドを使用するだけで済みます。 .LP -どの文字をレター(イタリックでセットされるもの)として扱うのかを、 +どの文字をレター (イタリックでセットされるもの) として扱うのかを、 既に示した .B chartype コマンドで指定できます。 .B letter タイプは文字をイタリックタイプでセットされるようにします。 .B digit タイプは文字をローマンタイプでセットされるようにします、 .SH 関連ファイル .Tp \w'\fB/usr/share/tmac/eqnrc'u+2n .B /usr/share/tmac/eqnrc 初期化ファイル .SH バグ 文中に出現する式は、行の先頭での文字サイズに設定されます。 .SH 関連項目 .BR groff (1), .BR troff (1), .BR groff_font (5), .I The\ \*(txbook diff --git a/ja_JP.eucJP/man/man1/getopt.1 b/ja_JP.eucJP/man/man1/getopt.1 index 5159317c39..df7278260b 100644 --- a/ja_JP.eucJP/man/man1/getopt.1 +++ b/ja_JP.eucJP/man/man1/getopt.1 @@ -1,105 +1,130 @@ -.Dd June 21, 1993 .\" jpman %Id: getopt.1,v 1.3 1997/06/19 14:12:53 take Stab % +.Dd April 3, 1999 .Dt GETOPT 1 .Os .Sh 名称 .Nm getopt .Nd コマンドラインオプションの解釈を行う .Sh 書式 -.Nm set \-\- \`getopt Ar optstring $*\` +.Nm args=\`getopt Ar optstring $*\` +; errcode=$?; set \-\- $args .Sh 解説 .Nm getopt は、シェルプロシジャによって簡単に解釈できるようにコマンドライン上の オプションを切り分けます。そして、正しいオプションであるかを確かめます。 .Ar optstring は、認識されるオプション文字の文字列です ( .Xr getopt 3 -を参照 )。 +を参照)。 オプション文字のあとにコロン (``:'') がある場合、そのオプションは、 -( 空白文字で区切られているかもしれない ) 引数を持つことになります。 +(空白文字で区切られているかもしれない) 引数を持つことになります。 特別なオプション .Ql \-\- は、オプションの終りを区別するために使われます。 .Nm getopt は、オプションの最後に引数として .Ql \-\- を配置します。または、それが陽に使われた時はそれを終りと認識します。 シェル変数 (\fB$1 $2\fR ...) は、個々のオプションが .Ql \- に続くように再設定されます。そして、それ自身をシェル変数にします。 各オプション引数は、同様にそれ用のシェル変数に入れられます。 .Sh 使用例 以下のコードの断片は、 引数無しの .Fl a, .Fl b オプションと、 引数ありの .Fl o オプションを取ろうとしているコマンドのために、どのようにして 引数を処理するのかを示しています。 .Pp .Bd -literal -offset indent -set \-\- \`getopt abo: $*\` -if test $? != 0 +args=\`getopt abo: $*\` +# \`getopt abo: "$@"\` を使ってはなりません。 +# 以下の set コマンドとは異ったように、引き数を解釈してしまうためです。 +if [ $? != 0 ] then echo 'Usage: ...' exit 2 fi +set \-\- $args +# set コマンドを、バッククォートした getopt と共に、直接使用できません。 +# getopt の終了コードが set のもので隠されてしまうからです。 +# set の終了コードは 0 と定義されています。 for i do case "$i" in \-a|\-b) - flag=$i; shift;; + echo flag $i set; sflags="${i#-}$sflags"; + shift;; \-o) - oarg=$2; shift; shift;; + echo oarg is "'"$2"'"; oarg="$2"; shift; + shift;; \-\-) shift; break;; esac done +echo single-char flags: "'"$sflags"'" +echo oarg is "'"$oarg"'" .Ed .Pp -このコードは、以下の ( コマンド指定の ) 例のどれでも同じように +このコードは、以下の (コマンド指定の) 例のどれでも同じように 受け入れます。 .\"(訳注)「コマンド指定の」は、訳者が勝手に挿入している。 .\" 2.2.1R 対象(1997/04/27) Takeshi MUTOH .Pp .Bd -literal -offset indent cmd \-aoarg file file cmd \-a \-o arg file file cmd \-oarg -a file file cmd \-a \-oarg \-\- file file +.Pp .Ed .Sh 関連項目 .Xr sh 1 , .Xr getopt 3 .Sh 診断 .Nm getopt は、 .Ar optstring 中に含まれていないオプション文字に出会った時に、 -標準エラー出力にエラーメッセージを表示します。 +標準エラー出力にエラーメッセージを表示し、0 より大きな状態で終了します。 .Sh 歴史 -Bell Labs のマニュアルによると、 Henry Spencer によって書かれました。 +Bell Labs のマニュアルによると、Henry Spencer によって書かれました。 振舞いは、Bell Labs 版と同じであると信じています。 +使用例は +.Fx +バージョン 3.2 と 4.0 で変更しました。 .Sh バグ .Xr getopt 3 が持っているバグは、そのまま持っています。 .Pp 空白文字やシェルのメタキャラクタを含んだ引数は、一般に元のまま 残りません。 これは直すのは簡単に思われますが、そうではありません。 +.Nm getopt +や本マニュアルの使用例を直そうとする人は、 +.Fx +中のこのファイルの履歴を確認すべきです。 .Pp 不正なオプションに対するエラーメッセージは、 .Nm getopt を実行するシェルプロシジャから返すのではなく、 .Nm getopt から返されます。 これも直すのは困難です。 .Pp シェルオプションの値を分離すること無く、引数を指定するための .Nm set コマンドを使うためのとっても良い方法は、シェルのバージョンを 変えることです。 +.Pp +引き数を部分的に正しく解釈するために、 +各シェルスクリプトは +(前記使用例のような) 複雑なコードを持つ必要があります。 +より良い getopt 的ツールは、複雑な部分の大半をツールの中に移動し、 +クライアントのシェルスクリプトを単純にするものでしょう。 diff --git a/ja_JP.eucJP/man/man1/grodvi.1 b/ja_JP.eucJP/man/man1/grodvi.1 index 874ff2e4d6..68b9dfd5fe 100644 --- a/ja_JP.eucJP/man/man1/grodvi.1 +++ b/ja_JP.eucJP/man/man1/grodvi.1 @@ -1,175 +1,175 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: grodvi.1,v 1.2 1997/05/13 16:10:18 horikawa Stab % .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GRODVI 1 "7 September 1996" "Groff Version 1.10" +.TH GRODVI 1 "7 September 1996" "Groff Version 1.11" .SH 名称 grodvi \- groff の出力を TeX の dvi 形式に変換する .SH 書式 .B grodvi [ .B \-dv ] [ .BI \-w n ] [ .BI \-F dir ] [ .IR files \|.\|.\|. ] .SH 解説 .B grodvi は \*(tx のdvi形式を出力する .B groff のドライバで、通常 .BR groff\ \-Tdvi と実行されます。 これは .BR troff\ \-Tdvi を実行するので、マクロ .BR /usr/share/tmac/tmac.dvi も読み込まれますし、入力が .B eqn によって前処理されていれば .BR /usr/share/groff_font/devdvi/eqnchar も読み込まれます。 .LP .B grodvi によって生成された dvi ファイルは、正しく設計された どのような dvi ドライバででも表示できます。troff の基本的な 描画機能は、tpic バージョン 2 の特殊機能(special)を用いて実装されています。 dvi ドライバがこれらをサポートしていない場合は、 .B \eD コマンドは何も出力しません。 .LP troff のものに加え、描画コマンドとして次のものが利用可能です: .TP .BI \eD'R\ dh\ dv ' 現在の位置と、現在の位置 .RI +( dh , dv ) とを対角とする罫線(黒く塗りつぶした矩形)を描きます。描いた後の 現在位置は、対角点となります。これは dvi ファイル内に 罫線を出力するため、他の .B \eD コマンドと異なり、たとえドライバが tpic の特殊機能に対応して いなくとも印刷することができます。 .LP .BI \eX' anything ' という groff のコマンドは、 \*(tx で .BI \especial{ anything } と記述した時と同様の dvi ファイル中コマンドに変換されます。 .I anything に改行が入っていてはいけません。 .LP .B grodvi の用いるフォントファイルは、 .BR tfmtodit (1) によって tfm ファイルから作成できます。 フォント記述ファイルには以下のような追加情報が 含まれていなければなりません: .Tp \w'\fBinternalname'u+2n .BI internalname\ name .IR name は (拡張子 .B tfm を除いた) tfm ファイル名です。 .TP .BI checksum\ n .IR n は tfm ファイルのチェックサムです。 .TP .BI designsize\ n .IR n は tfm ファイルのデザインサイズです。 .LP これらは .B tfmtodit によって自動生成されます。 .LP .B troff では、エスケープシーケンス .B \eN で指定することによって、対応する位置にある tfm ファイル内の文字を参照できます。 このようにして tfm ファイルの全ての文字を参照可能です。 .SH オプション .TP .B \-d 描画コマンドを実現するのに tpic 特殊機能を使いません。 水平・垂直な直線は罫線で実現されますが、他の描画コマンドは 無視されます。 .TP .B \-v バージョン番号を表示します。 .TP .BI \-w n デフォルトの線の太さを M の横幅(em)の1000分の .I n にします。 .TP .BI \-F dir フォントやデバイス記述ファイルを .IB dir /devdvi というディレクトリから探すようにします。 .SH 関連ファイル .TP .B /usr/share/groff_font/devdvi/DESC デバイス記述ファイルです。 .TP .B /usr/share/groff_font/devdvi/ F .IR F というフォントに対する記述ファイルです。 .TP .B /usr/share/tmac/tmac.dvi .BR grodvi と共に使われるマクロです。 .SH バグ .B grodvi によって生成される dvi ファイルは、 \*(tx によって生成されるものとは解像度が異なっています(1インチにつき57816単位)。 このため、dvi ファイルに指定されている解像度を参照せずに \*(tx で使われている解像度を想定しているような、正しく設計されていない ドライバは、grodvi ではうまく動作しません。 .LP 箱状の表に対して .B -d オプションを使った場合、時に水平・垂直な直線が 1 ピクセル 突き出てしまうことがあります。これは \*(tx の指定する方法で 罫線の縦横の長さを丸めているためです。 .SH 関連項目 .BR tfmtodit (1), .BR groff (1), .BR troff (1), .BR eqn (1), .BR groff_out (5), .BR groff_font (5), .BR groff_char (7) diff --git a/ja_JP.eucJP/man/man1/groff.1 b/ja_JP.eucJP/man/man1/groff.1 index 82cae6ef00..67344a90c8 100644 --- a/ja_JP.eucJP/man/man1/groff.1 +++ b/ja_JP.eucJP/man/man1/groff.1 @@ -1,412 +1,415 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: groff.1,v 1.2 1997/05/13 16:13:14 horikawa Stab % .de TQ .br .ns .TP \\$1 .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GROFF 1 "8 September 1996" "Groff Version 1.10" +.TH GROFF 1 "18 March 1999" "Groff Version 1.11" .SH 名称 groff \- groff ドキュメントフォーマットシステムのフロントエンド .SH 書式 .B groff [ .B \-tpeszaivhblCENRSVXZ ] [ .BI \-w name ] [ .BI \-W name ] [ .BI \-m name ] [ .BI \-F dir ] [ .BI \-T dev ] [ .BI \-f fam ] [ .BI \-M dir ] [ .BI \-d cs ] [ .BI \-r cn ] [ .BI \-n num ] [ .BI \-o list ] [ .BI \-P arg ] [ .IR files \|.\|.\|.\| ] .SH 解説 .B groff は、groff ドキュメントフォーマットシステムのフロントエンドプログラムです。通常 .B groff は .B troff を実行し、その出力を指定されたデバイスで扱うための 後処理プログラムを実行します。利用可能なデバイスは以下のとおりです: .TP .B ps PostScript プリンタやプレビュア .TP .B dvi TeX の dvi フォーマット .TP .B X75 75 dpi の X11 プレビュア .TP .B X100 100 dpi の X11 プレビュア .TP .B ascii タイプライタに似た特性を持つデバイス .TP .B latin1 ISO Latin-1 文字集合を利用するタイプライタに似た特性を持つデバイス +.TP +.B lj4 +HP LaserJet4 互換 (または他の PCL5 互換) プリンタ .TP .B koi8-r ロシア語 KOI8-R 文字集合を利用するタイプライタに似た特性を持つデバイス .LP 指定されたデバイス用の後処理を行うプログラムは、デバイス記述ファイルの .B postpro コマンドにより指定されています。これは .B \-X オプションにより変更できます。 .LP デフォルトのデバイスは .B ps です。 .BR pic , .BR eqn , .BR tbl , .BR refer , .B soelim の任意の前処理を行わせることもできます。 .LP 引数を伴わないオプションは .B \- のあとにまとめて続けることができます。 ファイル名のかわりに用いられる .B \- は標準入力を意味します。 .LP .B grog コマンドを用いてドキュメントを正しくフォーマットするための .B groff コマンドを調べることができます。 .SH オプション .TP .B \-h ヘルプメッセージを表示します。 .TP .B \-e .B eqn を使って前処理を行います。 .TP .B \-t .B tbl を使って前処理を行います。 .TP .B \-p .B pic を使って前処理を行います。 .TP .B \-s .B soelim を使って前処理を行います。 .TP .B \-R .B refer を使って前処理を行います。 .B refer に引数を渡す機構は用意されていません。 .B refer のほとんどのオプションは、ファイル中に記述することができる等価なコマンドを 備えているからです。詳しくは .BR refer (1) のマニュアルを参照してください。 .TP .B \-v .B groff から起動されるプログラムのバージョン番号を表示します。 .TP .B \-V 実行しないで、 .B groff で実行される処理内容を標準出力に表示します。 .TP .B \-z .B troff からの出力を捨てます。エラーメッセージのみが表示されます。 .TP .B \-Z .B troff からの出力を後処理しません。通常 .B groff は、自動的に適当な後処理プログラムを起動します。 .TP .BI \-P arg 後処理プログラムに .I arg を引数として渡します。別々の引数は別々の .B \-P オプションで指定する必要があります。 .B groff は、 .I arg の前に .B \- をつけてコマンドに渡したりしないことに注意してください。 .TP .B \-l プリンタへ出力します。印字出力に用いられるコマンドは、デバイス 記述ファイルの .B print コマンドによって指定されます。 .TP .BI \-L arg .I arg をプリンタスプーラプログラムに渡します。別々の引数は、別々の .B \-L オプションで指定する必要があります。 .B groff は、 .I arg の前に .B \- をつけてコマンドに渡したりしないことに注意してください。 .TP .BI \-T dev デバイス .I dev 用に出力します。デフォルトのデバイスは .B ps です。 .TP .B \-X 通常の後処理プログラムのかわりに、 .B gxditview を起動してプレビューします。 .B groff は .B gxditview に .B -printCommand オプションを渡します。このオプションは .B groff に .B -l オプション指定時に実行される .B Print アクションを実行させます。 .B \-Tps 以外が指定されている場合は、よい結果が得られません。 .TP .B \-N .B eqn の区切り文字間に改行が入ることを禁止します。 .B eqn の .B \-N オプションと同様です。 .TP .B \-S より安全なモード。 .B \-S オプションを .B pic に渡し、 .B troff にて .B \%\-msafer マクロを使用します。 .TP .B \-a .TQ .B \-b .TQ .B \-i .TQ .B \-C .TQ .B \-E .TQ .BI \-w name .TQ .BI \-W name .TQ .BI \-m name .TQ .BI \-o list .TQ .BI \-d cs .TQ .BI \-r cn .TQ .BI \-F dir .TQ .BI \-M dir .TQ .BI \-f fam .TQ .BI \-n num これらのオプションの詳細は、 .BR troff (1) に記述してあります。 .SH 環境変数 .TP .SM .B GROFF_COMMAND_PREFIX もしこの変数が .I X に設定されていると、 .B groff は .B troff のかわりに .IB X troff を起動します。これは、 .BR tbl , .BR pic , .BR eqn , .BR refer , .B soelim にも同様に影響します。 .BR gropos , .BR grodvi , .BR grotty , .B gxditview には影響しません。 .TP .SM .B GROFF_TMAC_PATH マクロファイルを検索すべきディレクトリのリスト(リストの区切りはコロンです) .TP .SM .B GROFF_TYPESETTER デフォルトのデバイス .TP .SM .B GROFF_FONT_PATH .BI dev name という名前のディレクトリを検索するディレクトリのリスト(リストの区切りはコロンです) .TP .SM .B PATH .B groff から起動されるプログラムが存在するパス .TP .SM .B GROFF_TMPDIR 一時的なファイルが作成されるディレクトリ。もし、 .SM GRROFF_TMPDIR が設定さ れておらず、 .B .SM TMPDIR が設定されているなら、 .SM TMPDIR で示されるディレクトリ に一時ファイルが生成されます。さもなければ、一時ファイルは .B /tmp に作られます。 .BR grops (1) と .BR refer (1) が一時ファイルを作成する可能性があります。 .SH 関連ファイル .Tp \w'\fB/usr/share/groff_font/dev\fIname\fB/DESC'u+3n .BI /usr/share/groff_font/dev name /DESC デバイス .IR name のデバイス記述ファイル .TP .BI /usr/share/groff_font/dev name / F デバイス .I name のためのフォント .I F を記述したフォントファイル .SH 作者 James Clark .SH バグ バグレポートは、bug-groff@prep.ai.mit.edu. までお願いします。 レポートの際にはバグを再現できる完全な例題を添付し、あなたの利 用している groff のバージョンを添えて下さい。 .SH COPYRIGHT Copyright (C) 1989, 1990, 1991, 1992 Free Software Foundation, Inc. .LP groff はフリーソフトウェアです。Free Software Foundation から 出版されている the GNU General Public License の ver 2.0 かそ れ以降に基づく限り再配布したり、変更することが可能です。 .LP groff は使い易いツールとして配布されることを望まれていますが、 どのような保証もありません。それが商業的であってもある特定の目 的に対するだけであっても保証はありません。詳しくは GNU の General Public License を参照して下さい。 .LP あなた は groff のコピーを GNU General Public License と共に受 けとっているはずです。その COPYING を参照して下さい。そうでな い場合には、 Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA まで御連絡下さい。 .SH 入手性 最新の groff はたいてい prep.ai.mit.edu の pub/gnu ディレクト リに置かれており、anonymous ftp で入手できます。 .SH 関連項目 .\" .BR grog (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1), .BR soelim (1) , .BR refer (1), .BR grops (1), .BR grodvi (1), .BR grotty (1), .\" .BR gxditview (1), .BR groff_font (5), .BR groff_out (5), .BR groff_ms (7), .BR me (7), .BR groff_char (7), .BR msafer (7) diff --git a/ja_JP.eucJP/man/man1/grolj4.1 b/ja_JP.eucJP/man/man1/grolj4.1 index 35a7b7f4a9..b26a0381a6 100644 --- a/ja_JP.eucJP/man/man1/grolj4.1 +++ b/ja_JP.eucJP/man/man1/grolj4.1 @@ -1,111 +1,111 @@ .ig \"-*- nroff -*- Copyright (C) 1994, 1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: grolj4.1,v 1.3 1997/10/28 10:11:56 ryo2 Stab % .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GROLJ4 1 "7 September 1996" "Groff Version 1.10" +.TH GROLJ4 1 "7 September 1996" "Groff Version 1.11" .SH 名称 grolj4 \- HP Laserjet 4 ファミリ用 groff ドライバ .SH 書式 .B grolj4 [ .B \-lv ] [ .BI \-c n ] [ .BI \-p paper_size ] [ .BI \-w n ] [ .BI \-F dir ] [ .IR files \|.\|.\|. ] .SH 解説 .B grolj4 は .B groff のドライバであり、HP Laserjet 4 プリンタに適した PCL5 フォーマットの出力 を生成します。 .LP troff のものに加え、描画コマンドとして次のものが利用可能です: .TP .BI \eD'R\ dh\ dv ' 現在の位置と、現在の位置 .RI +( dh , dv ) とを対角とする罫線(黒く塗りつぶした矩形)を描きます。描いた後の 現在位置は、対角点となります。 これは PCL の矩形塗りつぶしコマンドを生成します。 他デバイスの .B \eD コマンドと異なり HPGL/2 をサポートしないプリンタ上で動作します。 .SH オプション .TP .BI \-c n 各ページを .I n 回印刷します。 .TP .B \-l ランドスケープにて文書を印刷します。 .TP .BI \-p size 用紙サイズを .I size にします。これは letter, legal, executive, a4, com10, monarch, c5, b5, dl のいずれかである 必要があります。 .TP .B \-v バージョン番号を表示します。 .TP .BI \-w n デフォルトの線の太さを M の横幅 (em)の1000 分の .I n にします。 .TP .BI \-F dir フォントやデバイス記述ファイルを .IB dir /devlj4 というディレクトリから探すようにします。 .SH 関連ファイル .TP .B /usr/share/groff_font/devlj4/DESC デバイス記述ファイルです。 .TP .B /usr/share/groff_font/devlj4/ F .I F というフォントに対する記述ファイルです。 .TP .B /usr/share/tmac/tmac.lj4 .B grolj4 と共に使われるマクロです。 .SH バグ 些細なものです。 .SH 関連項目 .BR groff (1), .BR troff (1), .BR eqn (1), .BR groff_out (5), .BR groff_font (5), .BR groff_char (7), diff --git a/ja_JP.eucJP/man/man1/grops.1 b/ja_JP.eucJP/man/man1/grops.1 index ac49f523ad..74420bb4e1 100644 --- a/ja_JP.eucJP/man/man1/grops.1 +++ b/ja_JP.eucJP/man/man1/grops.1 @@ -1,796 +1,796 @@ .\" jpman %Id: grops.1,v 1.2 1997/06/15 11:25:35 horikawa Stab % .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GROPS 1 "8 September 1996" "Groff Version 1.10" +.TH GROPS 1 "8 September 1996" "Groff Version 1.11" .SH 名称 grops \- groff 用 PostScript ドライバ .SH 書式 .B grops [ .B \-glmv ] [ .BI \-b n ] [ .BI \-c n ] [ .BI \-w n ] [ .BI \-F dir ] [ .IR files \|.\|.\|. ] .SH 解説 .B grops は GNU .B troff の出力を PostScript に変換します。 通常 .B grops は groff コマンドを .B \-Tps オプション付きで起動した時に起動されます。 .if 'ps'ps' (groff のデフォルトです。) ファイルを指定しないと、 .B grops は標準入力を読みます。 ファイル名 .B \- を指定しても、 .B grops は標準入力を読みます。 PostScript 出力は標準出力に書きます。 .B grops を .B groff から起動する場合、 .B groff .B \-P により、オプションを .B grops に渡せます。 .SH オプション .TP .BI \-b n 不良なスプーラとプレビュアのための対処をします。 通常、 .B grops は Document Structuring Conventions version 3.0 を満たす出力を生成します。 値 .I n は、不良プログラムが受理可能な出力を .B grops が行うように制御します。 値 0 は grops に何も対処しないようにさせます。 .B %%BeginDocumentSetup と .B %%EndDocumentSetup のコメントを生成してはならない場合 1 を加えます; 初期バージョンの TranScript は .B %%EndProlog コメントと最初の .B %%Page コメントとの間で混乱させられましたので、これが必要です。 インクルードされたファイルで .B %! から始まる行を取り除かねばならない時には 2 を加えます; Sun の pageview プレビュアで必要です。 インクルードされたファイルから .BR %%Page , .BR %%Trailer , .B %%EndProlog コメントを取り除かねばならない時には 4 を加えます; .B %%BeginDocument と .B %%EndDocument のコメントを理解しないスプーラに対して必要です。 PostScript 出力の最初の行が .B %!PS-Adobe-3.0 ではなく .B %!PS-Adobe-2.0 でなければならない時には 8 を加えます; Sun の Newsprint をページ逆順を要求するプリンタと共に使用する時に必要です。 デフォルト値は .RS .IP .BI broken\ n .LP コマンドを DESC ファイルに記述することで指定可能です。 そうでない場合はデフォルト値は 0 です。 .RE .TP .BI \-c n 各ページを .I n 部ずつ印刷します。 .TP .BI \-g ページ長を予測します。 ページ長を予測する PostScript コードを生成します。 イメージ領域が垂直位置でページの中心に有る時のみ、予測は正しいはずです。 このオプションにより、変更無しで letter (8.5\(mu11) と A4 の両方に印刷可能な文書を生成可能です。 .TP .B \-l 文書をランドスケープ形式にて印刷します。 .TP .B \-m 文書に対し手動フィードを有効にします。 .TP .BI \-F dir ディレクトリ .IB dir /dev name からフォントとデバイス記述ファイルを探します; .I name はデバイス名であり、通常 .B ps です。 .TP .BI \-w n 線の太さを M の横幅 (em) の 1000 分の .I n にて描画します。 .TP .B \-v バージョン番号を表示します。 .SH 使用法 .BR R , .BR I , .BR B , .B BI と呼ばれるスタイルがフォント位置 1 から 4 までにマウントされます。 フォントはファミリ .BR A , .BR BM , .BR C , .BR H , .BR HN , .BR N , .BR P , .B T にまとめられ、これらのスタイル中にメンバを持ちます: .de FT .if '\\*(.T'ps' .ft \\$1 .. .TP .B AR .FT AR AvantGarde-Book .FT .TP .B AI .FT AI AvantGarde-BookOblique .FT .TP .B AB .FT AB AvantGarde-Demi .FT .TP .B ABI .FT ABI AvantGarde-DemiOblique .FT .TP .B BMR .FT BMR Bookman-Light .FT .TP .B BMI .FT BMI Bookman-LightItalic .FT .TP .B BMB .FT BMB Bookman-Demi .FT .TP .B BMBI .FT BMBI Bookman-DemiItalic .FT .TP .B CR .FT CR Courier .FT .TP .B CI .FT CI Courier-Oblique .FT .TP .B CB .FT CB Courier-Bold .FT .TP .B CBI .FT CBI Courier-BoldOblique .FT .TP .B HR .FT HR Helvetica .FT .TP .B HI .FT HI Helvetica-Oblique .FT .TP .B HB .FT HB Helvetica-Bold .FT .TP .B HBI .FT HBI Helvetica-BoldOblique .FT .TP .B HNR .FT HNR Helvetica-Narrow .FT .TP .B HNI .FT HNI Helvetica-Narrow-Oblique .FT .TP .B HNB .FT HNB Helvetica-Narrow-Bold .FT .TP .B HNBI .FT HNBI Helvetica-Narrow-BoldOblique .FT .TP .B NR .FT NR NewCenturySchlbk-Roman .FT .TP .B NI .FT NI NewCenturySchlbk-Italic .FT .TP .B NB .FT NB NewCenturySchlbk-Bold .FT .TP .B NBI .FT NBI NewCenturySchlbk-BoldItalic .FT .TP .B PR .FT PR Palatino-Roman .FT .TP .B PI .FT PI Palatino-Italic .FT .TP .B PB .FT PB Palatino-Bold .FT .TP .B PBI .FT PBI Palatino-BoldItalic .FT .TP .B TR .FT TR Times-Roman .FT .TP .B TI .FT TI Times-Italic .FT .TP .B TB .FT TB Times-Bold .FT .TP .B TBI .FT TBI Times-BoldItalic .FT .LP ファミリのメンバではない以下のフォントもあります: .TP .B ZCMI .FT ZCMI ZapfChancery-MediumItalic .FT .LP .B SS および .B S と呼ばれる特別なフォントも有ります。 Zapf Dingbats は .BR ZD として、逆バージョンの ZapfDingbats (シンボルが逆向き) は .B ZDR として使用可能です; これらのフォントのほとんどの文字は名前が無いので、 .B \eN にてアクセスせねばなりません。 .LP .B grops は .B \eX エスケープシーケンスにより生成された様々な X コマンドを理解します; .B grops は .B ps: タグから始まるコマンドのみを翻訳します: .TP .BI \eX'ps:\ exec\ code ' .I code 中の任意の PostScript コマンドを実行します。 .I code 実行前に PostScript の現在位置は .B \eX の位置に設定されます。 原点はページの左上になり、y 座標はページを下ると増加します。 プロシジャ .B u は、groff の単位を有効な座標系のものに変更するように定義されます。 例えば、 .RS .IP .B \&.nr x 1i .br .B \eX'ps: exec \enx u 0 rlineto stroke' .br .RE .IP は 1 インチ長の水平線を描画します。 .I code はグラフィックステートを変更し得ますが、ページの終端までしか継続しません。 .B def と .B mdef により指定される定義を含む辞書は、辞書スタックの頭に有るでしょう。 あなたのコードがこの辞書に定義を付加するなら、 .BI \eX'ps\ mdef \ n '\fR を使用して、そのための空間を割り当てる必要が有ります。 定義はページの終りまでしか継続しません。 .B \eY エスケープシーケンスをマクロを名付ける引数と共に使うと、 .I code を複数行に渡らせることが出来ます。 例えば、 .RS .IP .nf .ft B \&.nr x 1i \&.de y \&ps: exec \&\enx u 0 rlineto \&stroke \&.. \&\eYy .fi .ft R .LP は 1 インチ長の水平線を描画する別の方法です。 .RE .TP .BI \eX'ps:\ file\ name ' .B exec コマンドと同様ですが、コードをファイル .I name から読みます。 .TP .BI \eX'ps:\ def\ code ' .I code の PostScript 定義をプロログ部に置きます。 .B \eX コマンドに対し最大 1 定義までです。 長い定義は複数の .B \eX コマンドに渡り分割できます; 全ての .I code 引数は、改行で区切られ、単純に連結されます。 定義は、 .B exec コマンド実行時に辞書スタックに自動的にプッシュされる辞書に置かれます。 .B \eY エスケープシーケンスをマクロを名付ける引数と共に使うと、 .I code を複数行に渡らせることが出来ます。 .TP .BI \eX'ps:\ mdef\ n\ code ' .B def と同様ですが、 .I code は .I n 個まで定義を保持し得ます。 .B grops は何個の定義を .I code が含むのかを知る必要が有るので、これらを含む適切な大きさの PostScript 辞書 を生成できます。 .TP .BI \eX'ps:\ import\ file\ llx\ lly\ urx\ ury\ width\ \fR[\fP\ height\ \fR]\fP ' PostScript グラフィックスを .I file からインポートします。 引数 .IR llx , .IR lly , .IR urx , .I ury は、デフォルトの PostScript 座標系における グラフィックのバウンディングボックスを与えます; すべて整数である必要が有ります; .I llx と .I lly はグラフィックの左下の x y 座標です; .I urx と .I ury はグラフィックの右上の x y 座標です; .I width と .I height は整数であり、groff の単位でグラフィックの幅と高さを与えます。 グラフィックは延び縮みして、この幅と高さになり、 グラフィックの左下角は .B \eX コマンドにて関連づけられた場所に位置します。 引数 height を省略すると、x y 方向が同等に縮尺され、 指定した幅になります。 .B \eX コマンドの内容は .B troff が解釈しないことに注意して下さい; グラフィックのための垂直方向の空白は自動的に付加されず、 .I width と .I height の引数にスケーリングインジケータを付加することは許されません。 PostScript ファイルが Adobe Document Structuring Conventions から成り、 .B %%BoundingBox コメントを含む場合、 .B sy リクエストによる .B psbb コマンド実行により、groff 中でバウンディングボックスを自動的に取得可能です。 .RS .LP .B \-mps マクロ ( .B grops が groff コマンドから起動された時には自動的にロードされます) は、 画像を容易にインポート出来るようにする .B PSPIC マクロをインクルードします。 フォーマットは以下です。 .IP \&\fB.PSPIC\fP [ \fB\-L\fP | \fB-R\fP | \fB\-I\fP \fIn\fP ]\ \" \fI\|file\fP [ \fIwidth\fP [ \fIheight\fP ]] .LP .I file は画像を含むファイル名; .I width と .I height は要求する画像の横幅と高さです。 引数 .I width と .I height にはスケーリングインジケータを付けても構いません; デフォルトのスケーリングインジケータは .B i です。 このマクロは、 画像の幅が .I width 以下および 画像の高さが .I height 以下の範囲において、画像を x y 方向同等で縮尺します。 デフォルトで、画像は水平的に中心に置かれます。 .BI \-L および .BI \-R はそれぞれ画像を左寄せおよび右寄せします。 .B \-I オプションは、画像を .I n だけインデントします。 .RE .TP .B \eX'ps:\ invis' .br .ns .TP .B \eX'ps:\ endinvis' これらの .B \eX コマンドにて囲まれたテキストと描画コマンドは出力を生成しません。 このコマンドは、 .B troff の出力を .B grops で処理する前に見るために有ります; プレビュアがある文字または構造を表示できない時、 これらの .B \eX コマンドで囲むことにより、 代わりの文字または構造をプレビュー用に使えます。 .RS .LP 例えば、標準の X11 フォントには含まれませんので、 .B gxditview は .B \e(em 文字を正しく表示できません; この問題は以下のリクエストを実行することにより解決できます。 .IP .ft B .nf \&.char \e(em \eX'ps: invis'\e \eZ'\ev'-.25m'\eh'.05m'\eD'l .9m 0'\eh'.05m''\e \eX'ps: endinvis'\e(em .ft .fi .LP この場合、 .B gxditview は .B \e(em 文字を表示できず線を引きますが、 .B grops は .B \e(em 文字を印刷し線を無視します。 .RE .LP .B grops への入力は .B troff (1) の出力形式である必要が有ります。 これは .B groff_out (5) に記載してあります。 また、使用するデバイスに関するデバイス及びフォントの記述ファイルは 仕様に合致する必要が有ります。 .B ps デバイスに対して提供されているデバイス及びフォントの記述ファイルは 完全にこの仕様に合致します。 .BR afmtodit (1) を使って AFM ファイルからフォントファイルを生成可能です。 解像度は、整数値かつ .B sizescale の 72 倍の倍数である必要が有ります。 .B ps デバイスは解像度 72000 および sizescale 1000 を使用します。 デバイス記述ファイルはコマンド .IP .BI paperlength\ n .LP を含む必要が有ります。これは生成される出力が、ページ長 .I n マシン単位に適していることを意味します。 各フォント記述ファイルはコマンド .IP .BI internalname\ psname .LP を含む必要が有ります。これは PostScript におけるフォント名が .I psname であることを意味します。 また、コマンド .IP .BI encoding\ enc_file .LP を含む場合も有ります。これは PostScript フォントが .I enc_file に記載されたエンコード方式で再度エンコードする必要が有ることを意味します; このファイルは以下の形式の行のシーケンスから成ります: .IP .I pschar code .LP ここで .I pschar は PostScript における文字名であり、 .I code はエンコードにおける位置を 10 進整数で表したものです。 フォントファイルにおいて与えられる各文字のコードは、 エンコードファイルにおける文字のコードに対応するか、 もしくは PostScript フォントが再度エンコードされていない場合は デフォルトエンコードにおけるコードに対応する必要が有ります。 このコードを .B \eN エスケープシーケンスと共に .B troff 中で使うことにより文字を選択可能です。 これは、文字が groff での名前を持たなくても可能です。 フォントファイル中の全ての文字は PostScript フォント中に存在することが 必要であり、 フォントファイル中で与えられる幅は PostScript フォントで使用される幅に マッチする必要が有ります。 .B grops は、groff における名前が .B space である文字をブランク (ページ上に何も印を付けない) であるとしています; これにより、効率の良い小さな PostScript 出力が得られます。 .LP .B grops は文書印刷に必要なダウンロード可能なフォントを自動的にインクルードします。 要求時に .B grops にインクルードされるダウンロード可能な全てのフォントは .B /usr/share/groff_font/devps/download に列挙する必要が有ります; これは以下の形式の複数の行から成ります。 .IP .I font filename .LP ここで .I font はフォントの PostScript における名前であり、 .I filename はフォントを含むファイルの名前です; .B # から始まる行と空行は無視されます; フィールドはタブもしくは空白により区切ります; .I filename の検索は、groff のフォントメトリックファイルの検索と同じ方式で行われます。 .B download ファイル自身も同じ方式で検索されます。 .LP ダウンロード可能なフォントもしくはインポートされた文書を含むファイルが Adobe Document Structuring Conventions を満たす場合、 .B grops はファイル中のコメントを十分解釈し、出力もこれを満たすようにします。 また、 .B download ファイルに列挙された必要なフォントリソースおよびファイルリソースを提供します。 また、リソース間の依存関係を扱うことも可能です。 例えば、ダウンロード可能な Garamond フォントおよび ダウンロード可能な Garamond-Outline フォントが有り、 後者が前者に依存すると仮定すると (概して、後者は前者のフォント辞書をコピーして PaintType を変更したものと 定義されます)、PostScript 文書中で Garamond が Garamond-Outline より前に 現れる必要が有ります。 .B grops がこれを自動的に扱うためには、 Garamond-Outline 用のダウンロード可能なフォントファイルが Garamond に依存することを Document Structuring Conventions を使用して示します。 例えば以下のように始めることで示します。 .IP .B %!PS-Adobe-3.0 Resource-Font .br .B %%DocumentNeededResources: font Garamond .br .B %%EndComments .br .B %%IncludeResource: font Garamond .LP この場合、Garamond と Garamond-Outline を .B download ファイルに列挙する必要が有ります。 ダウンロード可能なフォントは、自身の名前を .B %%DocumentSuppliedResources コメントに含んではなりません。 .LP .B grops は .B %%DocumentFonts コメントを解釈しません。 .BR %%DocumentNeededResources , .BR %%DocumentSuppliedResources , .BR %%IncludeResource , .BR %%BeginResource , .BR %%EndResource コメント (もしくは古い .BR %%DocumentNeededFonts , .BR %%DocumentSuppliedFonts , .BR %%IncludeFont , .BR %%BeginFont , .BR %%EndFont コメント) は使用されます。 .SH 関連ファイル .Tp \w'\fB/usr/share/groff_font/devps/download'u+2n .B /usr/share/groff_font/devps/DESC デバイス記述ファイル。 .TP .BI /usr/share/groff_font/devps/ F フォント .I F のフォント記述ファイル。 .TP .B /usr/share/groff_font/devps/download ダウンロード可能なフォントのリスト。 .TP .B /usr/share/groff_font/devps/text.enc テキストフォント用のエンコード方法。 .TP .B /usr/share/tmac/tmac.ps .B grops が使用するマクロ; .B troffrc により自動的にロードされます。 .TP .B /usr/share/tmac/tmac.pspic .B PSPIC マクロの定義。 .B tmac.ps から自動的にロードされます。 .TP .B /usr/share/tmac/tmac.psold 古い PostScript プリンタには存在しない文字の使用を禁止するマクロ; .B tmac.ps から自動的にロードされます。 .TP .B /usr/share/tmac/tmac.psnew .B tmac.psold の効果を打ち消すマクロ。 .TP .BI /tmp/grops XXXXXX 一時ファイル。 .SH "関連項目" .\" .BR afmtodit (1), .BR groff (1), .BR troff (1), .BR psbb (1), .BR groff_out (5), .BR groff_font (5), .BR groff_char (7) diff --git a/ja_JP.eucJP/man/man1/grotty.1 b/ja_JP.eucJP/man/man1/grotty.1 index 24b7cb966a..d2f1dc9c67 100644 --- a/ja_JP.eucJP/man/man1/grotty.1 +++ b/ja_JP.eucJP/man/man1/grotty.1 @@ -1,198 +1,198 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: grotty.1,v 1.2 1997/05/13 16:15:38 horikawa Stab % -.TH GROTTY 1 "8 September 1996" "Groff Version 1.10" +.TH GROTTY 1 "8 September 1996" "Groff Version 1.11" .SH 名称 grotty \- タイプライタ型デバイスのための groff ドライバ .SH 書式 .B grotty [ .B \-hfbuodBUv ] [ .BI \-F dir ] [ .IR files \|.\|.\|. ] .SH 解説 .B grotty は、GNU .B troff の出力をタイプライタ型デバイスのために変換します。通常 .B grotty は、 .B groff に .BR \-Tascii , .BR \-Tkoi8-r , .B \-Tlatin1 のいずれかのオプションを指定することにより起動されます。 ファイル名を指定しない場合は標準入力を読み込みます。 ファイル名として .B \- を指定した場合も標準入力を読み込みます。 出力は標準出力に書き出されます。 .LP 通常 .B grotty は、ボールド文字 .I c を .RI ` c .SM BACKSPACE .IR c ' というシーケンスで、 イタリック文字 .I c を .RB ` _ .SM BACKSPACE .IR c ' というシーケンスで出力します。 これらのシーケンスは、 .BR ul (1) を通すことにより、端末で表示することができるようになります。 .BR more (1) や .BR less (1) のようなページャも、これらのシーケンスを表示することができます。 .BR less (1) を使って表示する場合は .B \-B または .B \-U オプションを、 .BR more (1) を使って表示する場合は .B \-b オプションを使用してください。 .B grotty は逆改行を出力しないので、 .BR col (1) を通す必要はありません。 .LP フォント記述ファイルには、以下のコマンドを含めることができます。 .IP .BI internalname\ n .LP ここで、 .I n は 10 進数の整数です。もし .I n の 01 ビットがセットされているなら、そのフォントは イタリックフォントとして扱われます。 02 ビットがセットされているなら、ボールドフォントとして扱われます。 フォント記述のコードフィールドは、出力時に用いられる文字を指定します。 このコードは、 .B troff の .B \eN エスケープシーケンスでも使用されます。 .SH オプション .TP .BI \-F dir フォントとデバイス記述ファイルを .IB dir /dev name ディレクトリから探します。 .I name はデバイス名で、通常は .BR ascii , .BR koi8-r , .B latin1 のいずれかです。 .TP .B \-h 出力に水平タブを使用します。水平タブは 8 桁ごとに設定されているものとします。 .TP .B \-f フォームフィードを使用します。 最終行に出力するものがないページの最後にフォームフィードが出力されます。 .TP .B \-b ボールド文字を出力するのに二重打ちを使わないようにします。 .TP .B \-u イタリック文字を出力するのにアンダーラインを使用しないようにします。 .TP .B \-B ボールドイタリック文字をただの二重打ちで出力します。 .TP .B \-U ボールドイタリック文字をただのアンダーラインで出力します。 .TP .B \-o ボールドとアンダーライン以外に二重打ちを用いないようにします。 .TP .B \-d すべての .B \eD コマンドを無視します。このオプションを指定しないと、 .B grotty は .B \eD'l\|.\|.\|.' コマンドのうち引数のどちらかが 0 (すなわち水平あるいは垂直線の描画) であるものを、文字 .BR \- , .BR \&| , .B \&+ を用いて描画します。 .TP .B \-v バージョン番号を表示します。 .SH 関連ファイル .TP .B /usr/share/groff_font/dev\fIname\fB/DESC .B name デバイス記述ファイル .TP .B /usr/share/groff_font/dev\fIname\fB/F .B name デバイスにおけるフォント .I F 用のフォント記述ファイル .TP .B /usr/share/tmac/tmac.tty .B grotty で用いるマクロ .TP .B /usr/share/tmac/tmac.tty-char そのままでは .B grotty に表示できない文字の表示方法の定義 .SH バグ .LP .B grotty は、単純なドキュメントの作成を意図して作られています。 .LP 水平や鉛直方向への小さな移動 (半改行など、1文字、1行より小さな位置決め) を サポートしていません。 .LP 水平線、鉛直線以外の .B \eD コマンドはサポートされていません。 .LP 1 行目よりも上に位置する文字(すなわち垂直方向の座標が 0 である文字)は 出力されません。 .SH 関連項目 .BR groff (1), .BR troff (1), .BR groff_out (5), .BR groff_font (5), .BR groff_char (7), .BR ul (1), .BR more (1) diff --git a/ja_JP.eucJP/man/man1/gtar.1 b/ja_JP.eucJP/man/man1/gtar.1 index bbb1f7a7df..8d9b0c17eb 100644 --- a/ja_JP.eucJP/man/man1/gtar.1 +++ b/ja_JP.eucJP/man/man1/gtar.1 @@ -1,494 +1,502 @@ .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- .\" See /usr/src/gnu/COPYING for conditions of redistribution .\" .\" Written by John F. Woods .\" Updated by Robert Eckardt .\" -.\" %Id: tar.1,v 1.18 1998/09/22 09:55:09 roberto Exp % -.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab % +.\" %Id: tar.1,v 1.18.2.1 1999/03/29 11:26:35 obrien Exp % .\" +.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab % .Dd 25 August 1997 .Os FreeBSD .Dt TAR 1 .Sh 名称 .Nm tar .Nd テープアーカイバ; "tar" アーカイブファイルの操作 .Sh 書式 .Nm tar .Op [-] Ns Ar bundled-options .Op Ar gnu-style-flags .Op Ar tarfile .Op Ar blocksize .Op Ar exclude-file .Op Ar filenames .Op Fl C Ar directory-name .Sh 解説 .Nm は、歴史的な理由により .Dq tape archiver を省略して名付けられました。 .Nm プログラムは、 .Ar tarfile と呼ばれる .Dq tar フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、 またアーカイブからファイルを抽出したりします。 tarfile は通常磁気テープを指しますが、フロッピディスケットや 通常のファイルでも構いません。 .Pp 通常、 .Nm コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、 -その前に ダッシュ(-)をつけてもつけなくてもいいようになっています。 -単語には、次の機能文字のうちちょうど 1 つを含んでいなければなりません: +その前に ダッシュ (-) を付けても付けなくてもいいようになっています。 +単語には、次の機能文字のうち丁度 1 つを含んでいる必要があります: .Cm A , .Cm c , .Cm d , .Cm r , .Cm t , .Cm u , .Cm x , -これらはそれぞれ 追加 (append) 、作成 (create) 、差分 (difference) 、 -置換 (replace) 、リスト表示 (table of contents) 、更新 (update) 、 -そして抽出 (extract) を意味しています (下記に詳細があります) 。 +これらはそれぞれ、 +追加 (append)、作成 (create)、差分 (difference)、置換 (replace)、 +リスト表示 (table of contents)、更新 (update)、抽出 (extract) +を意味しています (下記に詳細があります)。 これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に 含めることができます。それらのいくつかは、コマンド単語内と同じ順で コマンドライン引数を要求します (使用例の節を参照) 。 機能文字と機能変更文字は、GNU 形式の引数で指定することもできます -(2 つのダッシュを最初につけ、1 つのコマンド単語ごとに機能文字か -機能変更文字を 1 つだけ指定する) 。 +(2 つのダッシュを最初に付け、1 つのコマンド単語ごとに機能文字か +機能変更文字を 1 つだけ指定する)。 アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために コマンドライン指定するファイル名には、 シェルのパターンマッチ文字列を使用することができます。 .Sh 機能 -以下の機能のいずれか1つだけを必ず指定しなければなりません。 +以下の機能のいずれか 1 つだけを必ず指定する必要があります。 .Pp .Bl -tag -width "--concatenate" -compact .It Fl A .It Fl -catenate .It Fl "-concatenate" -指定された(tar アーカイブ形式の)ファイルを tar アーカイブの末尾 +指定された (tar アーカイブ形式の) ファイルを tar アーカイブの末尾 に追加します。(追加する前の古い end-of-archive ブロックは削除さ れます。) -これは、指定されたファイルがアーカイブの中の1ファイルとなるので +これは、指定されたファイルがアーカイブの中の 1 ファイルとなるので はなく、指定したファイルの中に含まれているファイルを、最初に指定 したアーカイブに追加するという効果を持ちます。 .Em 注: このオプションは tarfile を再書き込みする必要があるため、1/4 インチカートリッジテープでは動作しません。 .It Fl c .It Fl -create 新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定 されたファイルをアーカイブに書き込みます。 .It Fl d .It Fl -diff .It Fl -compare アーカイブの中のファイルと、それに相当するファイルシステム内の ファイルとの違いを調査します。 .It Fl -delete 指定されたファイルをアーカイブから削除します。(1/4 インチテープ では動作しません。) .It Fl r .It Fl -append アーカイブの末尾にファイルを追加します。(1/4 インチテープでは 動作しません。) .It Fl t .It Fl -list アーカイブ内容のリスト表示をします。もし引数としてファイル名が 指定されていれば、そのファイルだけがリスト表示されます。そうでなけ れば、アーカイブに含まれるすべてのファイルリストが表示されます。 .It Fl u .It Fl -update 指定したファイルのうち、アーカイブ内のファイルよりもディスク上の ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ では動作しません。 .It Fl x .It Fl -extract .It Fl -get アーカイブからファイルを抽出します。可能ならば、所有者、 変更時刻、ファイル属性はリストアされます。もし .Ar file 引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。 もし .Ar filename 引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと -ディレクトリ内のファイルが抽出されます。(ディレクトリ内のす -べてのディレクトリについても同様に抽出されます。) -もしアーカイブ内に、相当する同じファイルが複数含まれていれば(上記の +ディレクトリ内のファイルが抽出されます。(ディレクトリ内の +すべてのディレクトリについても同様に抽出されます。) +もしアーカイブ内に、相当する同じファイルが複数含まれていれば (上記の .Fl -append コマンドを参照)、最後に含まれているものが他のすべてのファイルを 上書きする形で抽出されます。 .Sh オプション .Nm の他のオプションは、組み合わせて使用することができます。 -1文字オプションは、コマンド単語の中で指定することができます。 +1 文字オプションは、コマンド単語の中で指定することができます。 引数を与えるべきオプションの場合、オプションに続けて引数を指定し -ます。1文字オプションであれば、これに続くコマンドライン引数を +ます。1 文字オプションであれば、これに続くコマンドライン引数を 使用します (以下の .Sx 使用例 を参照してください。) .Pp .Bl -tag -width "--preserve-permissions" -compact .It Fl -help .Nm のすべてのコマンドオプションについて一覧と解説を表示します。 .It Fl -atime-preserve テープに書かれている、ファイルのアクセス時刻をリストアします。 -(inodeの変更時刻が変更されることに注意してください!) +(inode の変更時刻が変更されることに注意してください!) .It Fl b .It Fl -block-size Ar number 読み書きするブロックサイズを .Ar number * 512-byte ブロック に設定します。 .It Fl B .It Fl -read-full-blocks 短い読みだしブロックを、完全なブロックに再組み立てします。 (4.2BSD パイプの読み込み用。) .It Fl C Ar directory .It Fl -directory Ar directory 残りの引数を処理する前に .Ar directory へ移動します。 .It Fl -checkpoint アーカイブを読み書きする間に読み書きしたバッファの数を表示します。 .It Fl f Ar [hostname:]file .It Fl -file Ar [hostname:]file 指定された .Ar file (デフォルトは /dev/rsa0) を読み書きします。 もし .Ar hostname が指定されていれば、 .Nm は .Xr rmt 8 を使って、リモートマシン上の .Ar file を読み書きします。"-" はファイル名として使用されることもありますが、 これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。 .It Fl -force-local コロンがある時でさえ、アーカイブファイルはローカルのものとします。 .It Fl F Ar file .It Fl -info-script Ar file .It Fl -new-volume-script Ar file それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の .Fl M 指定が行なわれます。) .It Fl -fast-read ワイルドカードで指定されていないすべての抽出ターゲットが アーカイブ内に見つかったら、その時点で終了します。 .It Fl G .It Fl -incremental 古い GNU-format インクリメンタルバックアップファイルを作成/リスト/ 抽出します。 .It Fl g Ar file .It Fl -listed-incremental Ar file 新しい GNU-format インクリメンタルバックアップファイルを作成/リスト/ 抽出します。 .It Fl h .It Fl -dereference シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが 指しているデータを書き込みます。 .It Fl i .It Fl -ignore-zeros -アーカイブの中のゼロブロック(通常、End-Of-File を意味する)を無視します。 +アーカイブの中のゼロブロック (通常、End-Of-File を意味する) を無視します。 .It Fl -ignore-failed-read ファイルが読めなくても、非 0 のステータスで exit しません。 .It Fl k .It Fl -keep-old-files ディスク上に既にあるファイルを保持します。つまり、アーカイブから 抽出するファイルは、ディスク上のファイルへ上書きしません。 .It Fl K Ar file .It Fl -starting-file Ar file アーカイブの中の .Ar file -から(抽出、リストなどを)始めます。 +から (抽出、リストなどを) 始めます。 .It Fl l .It Fl -one-file-system あるファイルシステム内にあるファイルだけでアーカイブを作成します。 (他ファイルシステムへのマウントポイントを跨ぎません。) .It Fl L Ar number .It Fl -tape-length Ar number .Ar number * 1024 バイト書き込んだ後でテープの交換を要求します。 .It Fl m .It Fl -modification-time ファイルの変更時刻を抽出しません。 .It Fl M .It Fl -multi-volume マルチボリュームアーカイブを作成/リスト/抽出します。 .It Fl n .It Fl -norecurse 作成時に再帰的にサブディレクトリを走査しません。 .It Fl -volno-file Ar file ボリューム番号付きのファイル名です。 .It Fl N Ar date .It Fl -after-date Ar date .It Fl -newer Ar date 作成時間が .Ar date より新しいファイルだけを抽出します。 .It Fl -newer-mtime Ar date 変更時間が .Ar date より新しいファイルだけを抽出します。 .It Fl o .It Fl -old-archive .It Fl -portability POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。 .It Fl O .It Fl -to-stdout ファイルを標準出力に抽出します。 .It Fl p .It Fl -same-permissions .It Fl -preserve-permissions 保護情報を完全に抽出します。 .It Fl -preserve .Fl p s の指定と同じ効果を持ちます。 .It Fl P .It Fl -absolute-paths ファイル名から先頭の `/' をとりません。 .It Fl R .It Fl -record-number メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。 .It Fl -remove-files アーカイブに追加したファイルを、追加後に削除します。 .It Fl s .It Fl -same-order .It Fl -preserve-order アーカイブ内から抽出するファイルを、指定された順のままにします。 .It Fl -show-omitted-dirs アーカイブ作成中に除外されたディレクトリを表示します。 .It Fl S .It Fl -sparse 「少ない」ファイルを効率的に扱うようにします。 .It Fl T Ar file .It Fl -files-from Ar file .Ar file -から抽出もしくは作成するファイル名を得ます。(1行1ファイル名。) +から抽出もしくは作成するファイル名を得ます。(1 行 1 ファイル名。) .It Fl -null -nullで終わっている名前を考慮し、 +null で終わっている名前を考慮し、 .Fl T の振舞を変更します。 これは .Fl C 指定を無効にします。 .It Fl -totals .Fl -create -によって書かれたトータルバイト数を表示します。 +によって書かれた総バイト数を表示します。 .It Fl v .It Fl -verbose .Fl -create でアーカイブに書くファイルや .Fl -extract でアーカイブから 取り出すファイル名をリスト表示します。 ファイルの保護情報をファイル名とともに表示させるには、 .Fl -list を使います。 .It Fl V Ar volume-name .It Fl -label Ar volume-name 指定された .Ar volume-name を持ったアーカイブを作成します。 .It Fl -version .Nm プログラムのバージョン番号を表示します。 .It Fl w .It Fl -interactive .It Fl -confirmation すべての動作に対して、確認を求めるようになります。 .It Fl W .It Fl -verify アーカイブを書き込んだ後、ベリファイを試みます。 .It Fl -exclude Ar pattern .Ar pattern にマッチするファイルを除外します。 (抽出しません。追加しません。リスト表示しません。) .It Fl X Ar file .It Fl -exclude-from Ar file .Ar file に一覧されているファイルを除外します。 +.It Fl y +.It Fl -bzip2 +.It Fl -bunzip2 +アーカイブを +.Xr bzip2 1 +でフィルタリングします。 .It Fl Z .It Fl -compress .It Fl -uncompress アーカイブを .Xr compress 1 でフィルタリングします。 .It Fl z .It Fl -gzip .It Fl -gunzip アーカイブを .Xr gzip 1 でフィルタリングします。 .It Fl -use-compress-program Ar program アーカイブを .Ar program でフィルタリングします。 (これは、 .Fl d が指定されたときは ``decompress'' を意味しなければなりません。) .It Fl -block-compress テープもしくはフロッピのために、圧縮プログラムの出力をブロック 化します。(そうしないと、ブロック長がおかしくなり、デバイスドライバは そのブロックを拒絶するでしょう。) .It Fl [0-7][lmh] テープドライブと密度を指定します。 .It Fl -unlink ファイルを作成する前に、いったん削除します。 .El .Sh 使用例 "bert" と "ernie" というファイルを含む、 ブロックサイズが 20 ブロックのアーカイブを、 テープドライブ /dev/rsa0 に作るには、 .Pp .Dl tar cfb /dev/rsa0 20 bert ernie .Pp もしくは .Pp .Dl tar\ --create\ --file\ /dev/rsa0\ --block-size\ 20\ bert\ ernie .Pp と入力します。 .Fl f および .Fl b フラグは両方とも引数を必要としていることに注意してください。 この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから 取得されます。 .Pp /dev/rsa0 はデフォルトのデバイスであり、20 はデフォルトのブロック サイズですので、上記の例は次のように単純化できます。 .Pp .Dl tar c bert ernie .Pp "backup.tar" というアーカイブから、すべての C ソース及びヘッダを 抽出するには、次のようにタイプします。 .Pp .Dl tar xf backup.tar '*.[ch]' .Pp -シェルがカレントディレクトリ内のファイル名に展開しないよう、パタ -ーンをクォートしなければならないことに注意してください。(当然、 +シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを +クォートしなければならないことに注意してください。(当然、 シェルはアーカイブ内のファイル一覧にアクセスすることはできません。) .Pp ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください: .Bd -literal tar cf - -C srcdir . | tar xpf - -C destdir .Ed .Pp ディスケットに、gzip を使った圧縮アーカイブを作成するには、次の ようなコマンドラインを使うといいでしょう。 .Pp .Dl tar --block-compress -z -c -v -f /dev/rfd1a -b 36 tar/ .Pp -まとめ指定フラグと --スタイルのフラグを混在させることができない +まとめ指定フラグと -- スタイルのフラグを混在させることができない ことに注意してください。次のようにタイプしなければならないわけで -はなく、上記のような書き方で1文字フラグを使うことができます。 +はなく、上記のような書き方で 1 文字フラグを使うことができます。 .Pp .Dl tar --block-compress --gzip --verbose --file /dev/rfd1a --block-size 20 tar / .Pp 上のようにして作成したディスクの内容は、次のようにすればリスト表 示できます。 .Pp .Dl tar tvfbz /dev/rfd1a 36 .Pp 2 つの tar アーカイブを 1 つのアーカイブにまとめるには、 .Pp .Dl tar Af archive1.tar archive2.tar .Pp を使います。こうすると、archive2.tar に含まれているファイルが archive1.tar の末尾に追加されます。(単純に .Pp .Dl cat archive2.tar >> archive1.tar .Pp とタイプしてもうまくいかないことに注意してください。なぜなら、 tar アーカイブの末尾には end-of-file ブロックがあるからです。) .Pp srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた 全てのファイルをアーカイブするためには、以下の形式を使って下さい。 .Dl tar\ -c\ -f\ backup.tar\ --newer-mtime\ 'Feb\ 9\ 13:15\ 1997'\ srcdir/ .Pp 他の時間指定形式としては、'02/09/97 13:15', \&'1997-02-09 13:15', '13:15 9 Feb 1997', '9 Feb 1997 13:15', \&'Feb. 9, 1997 1:15pm', '09-Feb', '3 weeks ago', 'May first Sunday' があります。 正しいタイムゾーンを指定するためには、 `13:15 CEST' や `13:15+200' を使用して下さい。 .Sh 環境変数 .Nm プログラムは、以下の環境変数を参照します。 .Bl -tag -width "POSIXLY_CORRECT" .It POSIXLY_CORRECT 通常、 .Nm はファイル指定の中に混ざったフラグを処理します。 この環境変数を設定すると、 .Nm は最初のフラグ以外の引数を見つける とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様 に合わせた動作を行なうようになります。 .It SHELL インタラクティブモードにおいて、サブシェルの起動が要求されたとき、 SHELL 変数が設定されていればそれが、設定されていなければ "/bin/sh" が使用されます。 .It TAPE tar のデフォルトのテープドライブを変更します。(これは、さらに .Fl f フラグによって変更することができます。) .El .Sh 関連ファイル .Bl -tag -width "/dev/rsa0" .It Pa /dev/rsa0 デフォルトのテープドライブ .El .\" This next request is for sections 1, 6, 7 & 8 only .\" (command return values (to shell) and fprintf/stderr type diagnostics) .\" .Sh 診断 .Sh 関連項目 +.Xr bzip2 1 , .Xr compress 1 , .Xr gzip 1 , .Xr pax 1 , .Xr ft 8 , .Xr rmt 8 .\" .Sh 規格 .Sh 歴史 .Nm フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に 原点があります。 この .Nm の実装は GNU 実装であり、John Gilmore によって書かれた パブリックドメイン tar が元になっています。 .Sh 作者 次の人を含む、大変多くの人々。[ソースの中の ChangeLog ファイルに記 述されている人々] .An John Gilmore (オリジナルのパブリックドメイン版の作者), .An Jay Fenlason (最初の GNU 作者), .An Joy Kendall , .An Jim Kingdon , .An David J. MacKenzie , .An Michael I Bushnell , .An Noah Friedman そして バグフィックスや追加を貢献してくれた無数の人々。 このマニュアルページは NetBSD 1.0 release から、 .Bx Free グループが 取り込んだものです。 .Sh バグ 特徴的な .Fl C オプションの動作は、伝統的な tar プログラムのそれとは異なるので、 あまり頼りにはできません。 .Pp .Fl A コマンドで任意の数の tar アーカイブを結合できればいいのですが、 それはできません。これをやろうとしても、 2 つ目以降のアーカイブの end-of-archive ブロックが削除されずに残ってしまいます。 diff --git a/ja_JP.eucJP/man/man1/indxbib.1 b/ja_JP.eucJP/man/man1/indxbib.1 index d55ede48e3..6975cf73ac 100644 --- a/ja_JP.eucJP/man/man1/indxbib.1 +++ b/ja_JP.eucJP/man/man1/indxbib.1 @@ -1,204 +1,204 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: indxbib.1,v 1.2 1997/03/29 04:27:19 horikawa Stab % -.TH INDXBIB 1 "7 September 1996" "Groff Version 1.10" +.TH INDXBIB 1 "7 September 1996" "Groff Version 1.11" .SH 名称 indxbib \- 文献目録データベース用の逆引きインデックスの作成 .SH 書式 .nr a \n(.j .ad l .nr i \n(.i .in +\w'\fBindxbib 'u .ti \niu .B indxbib .de OP .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" .el .RB "[\ " "\\$1" "\ ]" .. .OP \-vw .OP \-c file .OP \-d dir .OP \-f file .OP \-h n .OP \-i string .OP \-k n .OP \-l n .OP \-n n .OP \-o file .OP \-t n .RI [\ filename \|.\|.\|.\ ] .ad \na .SH 解説 .B indxbib は、 .IR filename \|.\|.\|. で指定される文献目録データベースの逆引きインデックスを作成します。逆引きインデックスは .BR refer (1) 、 .BR lookbib (1) 、 .BR lkbib (1) で利用されます。このインデックスのファイル名は .IB filename .i となります(インデックスはいったんテンポラリファイルに書き込まれ、この 名前にリネームされます)。 .B \-f オプションを使い、また .B \-o オプションの指定もファイル名の指定もしなかった場合には、インデックスファイルは .BR Ind.i という名前となります。 .LP 文献目録データベースは、空行によってレコードに分けられています。 レコード内では、各フィールドは、行頭にある .B % の文字で始まります。フィールドは、 .B % に続いた一文字の名前を持ちます。 .LP .BR \-c 、 .BR \-n 、 .BR \-l 、および .B \-t のオプションによって指定された値は、インデックスの中に格納されます。 インデックスを検索する時には、ユーザが指定する検索キーは、これらのオプションに 従って、捨てられたり切りつめられてしまいます。 しかし、インデックスを検索して見付かったレコードが、実際にユーザが指定した検索キーを 含んでいる、ということを確かめる場合には、検索キーには そのような修正は行われません。 これは、 ユーザが指定した検索キーのうち少なくとも1つが (-l オプション等によって捨てられることなく) インデックスに登録されており、 かつ検索キーのうちの少なくとも(-t オプションによって)切りつめられた部分を インデックスのユーザが指定できるならば、 これらのオプションがインデックス作成時に使われたかどうか、ユーザは気にする必要が ない、ということを意味します。 .B \-i オプションによって指定された値もインデックス内に保存され、 インデックスを使った検索に適合するレコードがキーに適合するか否かを検証する時に使用します。 .\" うーんこんな訳でいいのかなぁ...ちょっと自信なし... .SH オプション .TP .B \-v バージョン番号を表示します。 .TP .B \-w ファイル全体に対してインデックスを作成します。 各々のファイルが、別々のレコードとなります。 .TP .BI \-c file .BR /usr/share/dict/eign の代わりに、 .I file から共通語の一覧を読み込みます。 .TP .BI \-d dir インデックスに格納する現在の作業ディレクトリのパスとして .BR pwd (1) で表示されるパスの代わりに .I dir を使います。 通常、 .I dir は BR pwd (1) で表示されるディレクトリを差すシンボリックリンクとします。 .TP .BI \-f file インデックスを作るファイルを .IR file から読み込みます。 .I file が .BR \- の場合には、ファイルは標準入力から読み込まれます。 .B \-f オプションは1つまでしか使用できません。 .TP .BI \-i string フィールド名が .IR string に含まれているフィールドの内容についてのインデックスは作成しません。 .I string の初期値は .BR XYZ です。 .TP .BI \-h n ハッシュテーブルのサイズとして .I n 以上の素数を用います。 .I n を大きくすると検索は速くなりますが、インデックスは大きくなり、また .B indxbib はより多くのメモリを消費するようになります。 .I n の初期値は997です。 .TP .BI \-k n 入力レコードに対する検索キーの数を、最大で .I n 個にします。 .I n の初期値は100です。 .TP .BI \-l n .IR n 文字未満の検索キーを捨てます。 .I n の初期値は3です。 .TP .BI \-n n .I n 個の共通語を、ありふれたものから順に捨てます。 .I n の初期値は100です。 .TP .BI \-o basename インデックスの名前を .IB basename .i\fR とします。 .TP .BI \-t n 検索キーを .IR n 文字で切り捨てます。 .I n の初期値は6です。 .SH 関連ファイル .TP \w'\fBindxbib\fIXXXXXX'u+2n .IB filename .i インデックスです。 .TP .B Ind.i デフォルトのインデックス名です。 .TP .B /usr/share/dict/eign 共通語の一覧です。 .TP .BI indxbib XXXXXX テンポラリファイルです。 .SH 関連項目 .BR refer (1), .BR lkbib (1), .BR lookbib (1) diff --git a/ja_JP.eucJP/man/man1/intro.1 b/ja_JP.eucJP/man/man1/intro.1 index ceaac94e6b..938cab3c73 100644 --- a/ja_JP.eucJP/man/man1/intro.1 +++ b/ja_JP.eucJP/man/man1/intro.1 @@ -1,98 +1,98 @@ .\" 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. .\" .\" @(#)intro.1 8.2 (Berkeley) 12/30/93 -.\" %Id: intro.1,v 1.12 1998/12/20 06:30:05 bde Exp % -.\" jpman %Id: intro.1,v 1.2 1997/05/17 15:58:13 horikawa Stab % +.\" %Id: intro.1,v 1.12.2.1 1999/03/20 04:06:47 billf Exp % .\" +.\" jpman %Id: intro.1,v 1.2 1997/05/17 15:58:13 horikawa Stab % .Dd December 30, 1993 .Dt INTRO 1 .Os .Sh 名称 .Nm intro .Nd 通常コマンド (ツールとユーティリティ) の手引 .Sh 解説 マニュアルのセクション1は、 .Bx ユーザ環境を構成するコマンドのほとんどについて書かれています。 セクション1に含まれるコマンドを以下にいくつか列挙します。 .de OP .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" .el .RB "[\ " "\\$1" "\ ]" .. .Pp テキストエディタ .Pp コマンドシェルインタープリタ .Pp 検索およびソートツール .Pp ファイル操作コマンド .Pp システム状態参照コマンド .Pp 遠隔ファイルコピーコマンド .Pp メールコマンド .Pp コンパイラおよびコンパイラ関連ツール .Pp 整形出力ツール .Pp ラインプリンタコマンド .Pp .Pp すべてのコマンドは終了 (exit) 時にステータス値をセットするので、 その値を調べることで コマンドが正常に終了したかどうかを判断することができるようになって います。 exit 値とそれが意味するものは、個々のマニュアルに明記されていま す。伝統的に、値 0 はコマンドが完全に成功したことを表します。 .Sh 関連項目 .Xr apropos 1 , .Xr man 1 , -.Xr security 1 , +.Xr security 7 , .Xr intro 2 , .Xr intro 3 , .Xr intro 4 , .Xr intro 5 , .Xr intro 6 , .Xr intro 7 , .Xr intro 8 , .Xr intro 9 .Pp .%T "UNIX User's Manual Supplementary Documents" の中のチュートリアル .Sh 歴史 .Nm マニュアルは .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/limits.1 b/ja_JP.eucJP/man/man1/limits.1 index 3ed5796de2..cbc95d822e 100644 --- a/ja_JP.eucJP/man/man1/limits.1 +++ b/ja_JP.eucJP/man/man1/limits.1 @@ -1,297 +1,306 @@ .\" Copyright (c) 1996 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" 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. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %Id: limits.1,v 1.8 1998/06/04 21:05:58 steve Exp % -.\" jpman %Id: limits.1,v 1.3 1997/06/23 15:04:52 horikawa Stab % +.\" %Id: limits.1,v 1.8.2.1 1999/04/13 02:33:59 ghelmer Exp % .\" +.\" jpman %Id: limits.1,v 1.3 1997/06/23 15:04:52 horikawa Stab % .Dd January 15, 1996 .Dt LIMITS 1 .Os FreeBSD .Sh 名称 .Nm limits .Nd リソースの制限値の設定および表示 .Sh 書式 .Nm limits .Op Fl C Ar class .Op Fl SHB .Op Fl ea .Op Fl cdflmnstu Op val .Nm limits .Op Fl C Ar class .Op Fl SHB .Op Fl cdflmnstu Op val .Op Fl E .Op Ar name=value ... .Op Ar command .Nm limits .Op Fl U Ar user .Op Fl SHB .Op Fl ea .Op Fl cdflmnstu Op val .Nm limits .Op Fl U Ar user .Op Fl SHB .Op Fl cdflmnstu Op val .Op Fl E .Op Ar name=value ... .Op Ar command .Sh 解説 .Nm limits はカーネルのリソース制限の表示および設定を行ないます。また、 .Xr env 1 のように環境変数を設定して、プログラムを選択したリソースで動作させるこ ともできます。 .Nm limits コマンドは以下の 3 通りの使い方ができます: .Pp .Bl -hang -width indent .It Nm limits Op Ar limitflags .Op Ar name=value .Ar command .Pp この使い方では .Ar limitflags にしたがって制限をセットし、オプションで .Ar name=value のペアで与えられた環境変数をセットし、指定されたコマンドを実行します。 .It Nm limits Op Ar limitflags .Pp この使い方ではリソースの設定の値は実際には設定せずに、設定値を .Ar limitflags にしたがって決定し、標準出力に出力します。 デフォルトでは、呼び出しプロセスにおいて有効な 現在のカーネルのリソースの設定値を出力します。 .Fl C Ar class や .Fl U Ar user フラグを使って、ログイン能力データベース .Xr login.conf 5 で設定されている、ログインクラスのリソース制限エントリによって変更され る現在のリソース設定を表示することもできます。 .It Nm limits Fl e Op Ar limitflags .Pp この使い方では .Ar limitflags にしたがってリソースの設定値を決定しますが、実際には設定は行ないません。 前の使い方のように、これらの設定値を標準出力しますが、 シェルをコールするのに都合の良いように .Em eval の形式で出力します。 コールされるシェルは、親プロセスの .Pa /proc ファイルシステム中のエントリを調べて決定されます。 もし、シェルが判明すると (すなわち sh, csh, bash, tcsh, ksh, pdksh, rc のいずれか)、 .Nm limits は 'limit' もしくは 'ulimit' コマンドをそのシェルが解釈できるフォーマットで 出力します。シェル名が決定できなかった場合は、 .Pa /bin/sh によって使われる 'ulimit' 形式で出力します。 .Pp これはスクリプトで制限を設定したり、 デーモンや他のバックグランドタスクを リソースを制限して起動したりする場合に非常に便利な機能です。 また、ログインクラスデータベースを設定し中央データベースを保守することにより、 最大使用リソースをグローバルに設定することができるという利点があります。 .Pp .Nm limits は通常 シェルスクリプト中では次のようにバッククォーテーションに囲み評価するよ うにして使われます。 .Pp .Dl eval `limits -e -C daemon` .Pp これで .Nm limits の出力が評価され、現在のシェルで設定されます。 .El .Pp 上記の中で指定された limitflags の値には以下のオプションのうちの 1 つ以上のものが含まれます: .Pp .Bl -tag -width "-d [limit]" .It Fl C Ar class 現在のリソースの値をもとに、ログインクラス "class" で適用される リソースエントリによって変更したものを使います。 .It Fl U Ar user 現在のリソースの値をもとに、"user" が属するログインクラスに適用される リソースエントリによって変更したものを使います。 user がどのクラスにも属していない場合、"default" クラスが存在すればそ のリソース能力が使用され、もしそのユーザがスーパユーザアカウントであれ ば、"root" クラスが使用されます。 .It Fl S リソースの "soft" (もしくは現在の) 制限を表示もしくは設定します。 このスイッチに続いて指定される制限の設定は、 .Fl H や .Fl B フラグでオーバライドしない限り、soft リミットに対する設定となります。 .It Fl H リソースの "hard" (もしくは最大の) 制限を表示もしくは設定します。 このスイッチに続いて指定される制限の設定は、 .Fl S や .Fl B フラグでオーバライドしない限り、hard リミットに対する設定となります。 .It Fl B リソースの "soft" (現在の) および "hard" (最大の) 制限を表示もしくは設 定します。 このスイッチに続いて指定される制限の設定は、 .Fl S や .Fl H フラグでオーバライドしない限り、soft リミットおよび hard リミットの 両者に対する設定となります。 .It Fl e 出力を "eval mode" (評価モード) の書式にします。 これは表示モードでのみ有効であり、コマンドを実行するときには使えません。 出力に使用される正確なシンタックスは .Nm limits が起動されたシェルのタイプに依存します。 .It Fl c Op Ar limit .Em coredumsize のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。 値に 0 を指定するとコアダンプしないようになります。 .It Fl d Op Ar limit .Em datasize のリソースの制限を選択もしくは設定 ( 'limit' が指定された場合) します。 .It Fl f Op Ar limit .Em filesize のリソースの制限を選択もしくは設定します。 .It Fl l Op Ar limit .Em memorylocked のリソースの制限を選択もしくは設定します。 .It Fl m Op Ar limit .Em memoryuse のサイズの制限を選択もしくは設定します。 .It Fl n Op Ar limit .Em openfiles のリソースの制限を選択もしくは設定します。 +プロセスごとの最大オープンファイル数のシステムワイドの制限は、 +\&'sysctl kern.maxfilesperproc' コマンドで表示できます。 +システム全体で同時にオープンできるファイルの総数は、 +\&'sysctl kern.maxfilesperproc' コマンドで表示できる値に制限されます。 .It Fl s Op Ar limit .Em stacksize のリソースの制限を選択もしくは設定します。 .It Fl t Op Ar limit .Em cputime のリソースの制限を選択もしくは設定します。 .It Fl u Op Ar limit .Em maxproc のリソースの制限を選択もしくは設定します。 +UID ごとの最大プロセス数のシステムワイドの制限は、 +\&'sysctl kern.maxprocperuid' コマンドで表示できます。 +システム全体で同時に走行できるプロセスの総数は、 +\&'sysctl kern.maxproc' コマンドで表示できる値に制限されます。 .Pp 上記のフラグのセットにおける有効な 'limit' の値は、無限値 (もしくは カーネルにおいて定義されている最大値) を設定する場合は文字列 'infinity' もしくは 'inf' を指定し、それ以外の場合は接尾子つきの数字を指定しま す。サイズに関する値はデフォルトではバイトでの値となります。また以下の 接尾子の 1 つを付けることによってその単位となります。 .Pp .Bl -tag -offset indent -width "xxxx" -compact .It b 512 バイトブロック。 .It k キロバイト (1024 バイト)。 .It m メガバイト (1024*1024 バイト)。 .It g ギガバイト。 .It t テラバイト。 .El .Pp .Em cputime リソースについてはデフォルトでは秒による値となります。 また以下の接尾子を付加することにより、それぞれの単位で指定可能です。 有効な複数の単位指定を並べると、その和を指定したことになります: .Bl -tag -offset indent -width "xxxx" -compact .It s 秒。 .It m 分。 .It h 時間。 .It d 日。 .It w 週。 .It y 年 (365 日)。 .El .Pp .It Fl E .Sq Fl E オプションを使用すると .Nm limits は継承している環境を完全に無視します。 .It Fl a このオプションは特定のリソースの設定が指定されていても、 全てのリソースの設定を表示させます。 例えば、USENET ニュースシステムの立ち上げ時にコアダンプを無効にしたい が、'news' アカウントに適用されるその他の全てのリソースの設定を行ない たい場合は、次のように使います: .Pp .Dl eval `limits -U news -aBec 0` .Pp .Xr setrlimit 3 コールのように、スーパユーザのみが "hard" リソース制限を引き上げるこ とができます。 root 以外のユーザはそれを引き下げるか、リソースの "soft" リミットを hard リミットの範囲で変更することができます。 プログラムを実行する場合、 .Nm limits が hard リミットを引き上げようとすると、それは致命的エラーとして扱われ ます。 .El .Sh 診断 .Nm limits はユーザが何らかの方法で誤使用をすると EXIT_FAILURE で終了します。誤 使用には不正なオプションを使用した場合や、同時に設定と表示のオプション を指定した場合、または .Fl e がプログラムを起動する時に使われた場合などが含まれます。 表示モードもしくは評価モードにて実行されたとき、 .Nm limits は EXIT_SUCCESS の終了ステータスで終了します。 コマンドモードで実行されコマンドの実行が成功したときには、終了ステータスは 実行されたプログラムが返すものになります。 .Sh 関連項目 .Xr csh 1 , .Xr env 1 , .Xr limit 1 , .Xr sh 1 , .Xr getrlimit 2 , .Xr setrlimit 2 , .Xr login_cap 3 , -.Xr login.conf 5 +.Xr login.conf 5 , +.Xr sysctl 8 .Sh バグ 明らかな理由により、 .Nm limits は等号 (``='') がその名称に含まれるコマンドを扱うことができません。 .Pp 評価用の出力が選択された場合、シェルを正しく認識し、そのシェルにとって 出力が正しいシンタックスとなるためには、/proc ファイルシステムがインス トールされマウントされていなければなりません。 デフォルトの出力は /bin/sh にとって有効なものとなります。そのため、 /proc マウント前に .Nm limits を使用できるのは、標準の bourne シェルスクリプト中でのみとなります。 .Pp .Nm limits は出力や表示するリソースの設定が現在のユーザで有効であるかや、設定可能 であるかについては確認を行ないません。スーパユーザアカウントのみが hard リミットを引き上げることができます。与えられた値が大きすぎる場合は FreeBSD カーネルは何も出力せずにその制限値を指定された値より低く設定 します。 diff --git a/ja_JP.eucJP/man/man1/lkbib.1 b/ja_JP.eucJP/man/man1/lkbib.1 index f426f68d92..a47278d67f 100644 --- a/ja_JP.eucJP/man/man1/lkbib.1 +++ b/ja_JP.eucJP/man/man1/lkbib.1 @@ -1,105 +1,105 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .ds g \" empty .ds G \" empty .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .\" jpman %Id: lkbib.1,v 1.2 1997/05/13 16:17:15 horikawa Stab % -.TH LKBIB 1 "7 September 1996" "Groff Version 1.10" +.TH LKBIB 1 "7 September 1996" "Groff Version 1.11" .SH 名称 lkbib \- 文献目録データベースを検索する .SH 書式 .B lkbib [ .B \-v ] [ .BI \-i fields ] [ .BI \-p filename ] [ .BI \-t n ] .IR key \|.\|.\|. .SH 解説 .B lkbib は、 .IR key \|.\|.\|. で指定されたキーを用いて文献目録データベースを検索し、 参考文献の形式で標準出力に出力します。 .B lkbib はまず .B -p オプションで指定された すべてのデータベースを検索し、それからデフォルトのデータベースを検索します。 デフォルトのデータベースには、環境変数 .SB REFER が設定されていればそれが、設定されていなければ .B /usr/share/dict/papers/Ind が用いられます。指定したデータベースファイル名 .I filename に対応したインデックスファイル .IB filename .i ( .BR indxbib (1) により作成される ) が存在すれば、それが検索されます。インデックスは、 複数のデータベースを網羅している可能性があります。 .SH オプション .TP .B \-v バージョン番号を表示します。 .TP .BI \-p filename .I filename を検索します。複数の .B \-p オプションの指定が可能です。 .TP .BI \-i string インデックスを持たないファイルを検索する場合、 .I string に含まれる名前のフィールドの内容を無視します。 .TP .BI \-t n キーの先頭 .I n 文字が指定されればよいものとして扱います。 .I n の初期値は 6 です。 .SH 環境変数 .TP \w'\fBREFER'u+2n .SB REFER デフォルトデータベース .SH 関連ファイル .Tp \w'\fB/usr/share/dict/papers/Ind'u+2n .B /usr/share/dict/papers/Ind 環境変数 .SB REFER が設定されていない場合のデフォルトのデータベース名。 .IB filename .i インデックスファイル。 .SH 関連項目 .BR refer (1), .BR lookbib (1), .BR indxbib (1) diff --git a/ja_JP.eucJP/man/man1/lookbib.1 b/ja_JP.eucJP/man/man1/lookbib.1 index 55b3776987..fcc1963cb2 100644 --- a/ja_JP.eucJP/man/man1/lookbib.1 +++ b/ja_JP.eucJP/man/man1/lookbib.1 @@ -1,76 +1,76 @@ .\" -*- nroff -*- .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. -.TH LOOKBIB 1 "7 September 1996" "Groff Version 1.10" +.TH LOOKBIB 1 "7 September 1996" "Groff Version 1.11" .\" jpman %Id: lookbib.1,v 1.2 1997/04/24 00:31:25 mutoh Stab % .SH 名称 lookbib \- 文献目録データベースを検索する .SH 書式 .B lookbib [ .B \-v ] [ .BI \-i string ] [ .BI \-t n ] .IR filename \|.\|.\|. .SH 解説 .B lookbib は、(標準入力が端末であれば)標準エラー出力にプロンプトを表示して キーワードの集合を標準入力から読み込み、 .IR filename \|.\|.\|. で指定されたデータベースからそれらのキーワードを含む参照文を検索して、 発見した結果を標準出力に出力するという一連の動作を、 入力がなくなるまで繰り返します。検索するそれぞれの .I filename に対して、もし .IB filename .i という名前で .BR indxbib (1) が作成したインデックスがあれば、 .I filename のかわりにそのインデックスを検索します。インデックスは、 複数のデータベースを網羅している可能性があります。 .SH オプション .TP .B \-v バージョン番号を表示します。 .TP .BI \-i string インデックスを持たないファイルを検索する場合、 .I string に含まれる名前のフィールドの内容を無視します。 .TP .BI \-t n キーの先頭 .I n 文字が指定されればよいものとして扱います。 .I n の初期値は 6 です。 .SH 関連ファイル .TP \w'\fIfilename\fB.i'u+2n .IB filename .i インデックスファイル .SH 関連項目 .BR refer (1), .BR lkbib (1), .BR indxbib (1) diff --git a/ja_JP.eucJP/man/man1/neqn.1 b/ja_JP.eucJP/man/man1/neqn.1 index e270319888..f2f65530f1 100644 --- a/ja_JP.eucJP/man/man1/neqn.1 +++ b/ja_JP.eucJP/man/man1/neqn.1 @@ -1,13 +1,13 @@ -.TH NEQN 1 "14 September 1997" "Groff Version 1.10" +.TH NEQN 1 "14 September 1997" "Groff Version 1.11" .SH 名称 neqn \- 数式を ASCII 形式で出力する .SH 書式 .B neqn [eqn options] .SH 解説 .B neqn プログラムは、実際は .B eqn(1) コマンドに ASCII 出力デバイスを指定して起動する単なるシェルスクリプトです。 .SH 関連項目 .BR eqn (1) diff --git a/ja_JP.eucJP/man/man1/nroff.1 b/ja_JP.eucJP/man/man1/nroff.1 index f943eaa870..516333b34d 100644 --- a/ja_JP.eucJP/man/man1/nroff.1 +++ b/ja_JP.eucJP/man/man1/nroff.1 @@ -1,84 +1,84 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: nroff.1,v 1.2 1997/05/13 16:18:02 horikawa Stab % -.TH NROFF 1 "8 September 1996" "Groff Version 1.10" +.TH NROFF 1 "8 September 1996" "Groff Version 1.11" .SH 名称 nroff \- groff による nroff コマンドのエミュレート .SH 書式 .B nroff [ .B \-h ] [ .B \-i ] [ .BI \-m name ] [ .BI \-n num ] [ .BI \-o list ] [ .BI \-r cn ] [ .BI \-T name ] [ .I file\|.\|.\|. ] .SH 解説 .B nroff は、groff を用いて .B nroff をエミュレートするスクリプトです。 .B \-T オプションに .B ascii と .B latin1 と .B koi8-r 以外を指定しても無視されます。 .B \-h オプション は .B grotty への .B \-h オプションと等価です。 .BR \-i , .BR \-n , .BR \-m , .BR \-o , .B \-r オプションは .BR troff (1) に説明されている効果を持ちます。 .BR \-e , .BR \-q , .B \-s オプションは無視され、エラーメッセージも表示されません。 .SH 関連項目 .BR groff (1), .BR troff (1), .BR grotty (1) diff --git a/ja_JP.eucJP/man/man1/pfbtops.1 b/ja_JP.eucJP/man/man1/pfbtops.1 index 7145bfe502..5598d2aaf2 100644 --- a/ja_JP.eucJP/man/man1/pfbtops.1 +++ b/ja_JP.eucJP/man/man1/pfbtops.1 @@ -1,47 +1,47 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: pfbtops.1,v 1.2 1997/05/13 16:18:42 horikawa Stab % -.TH PFBTOPS 1 "7 September 1996" "Groff Version 1.10" +.TH PFBTOPS 1 "7 September 1996" "Groff Version 1.11" .SH 名称 pfbtops \- .pfb フォーマットの PostScript フォントを ASCII フォーマットに変換する .SH 書式 .B pfbtops [ .I pfb_file ] .SH 解説 .B pfbtops は、 .B .pfb フォーマットの PostScript フォントを ASCII フォーマットに変換します。 .I pfb_file が省略された場合、標準入力から pfb ファイルを読み込みます。 ASCII フォーマットの PostScript フォントは標準出力に出力されます。 MS-DOS における PostScript フォントは普通 .B pfb フォーマットで供給されます。 .LP 変換後の ASCII フォーマットの PostScript フォントは groff で使用することができます。groff で用いる前に .B /usr/share/groff_font/devps/download に登録する必要があります。 .SH 関連項目 .BR grops (1) diff --git a/ja_JP.eucJP/man/man1/pic.1 b/ja_JP.eucJP/man/man1/pic.1 index bc32f07313..e31a046543 100644 --- a/ja_JP.eucJP/man/man1/pic.1 +++ b/ja_JP.eucJP/man/man1/pic.1 @@ -1,747 +1,747 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: pic.1,v 1.2 1997/03/29 07:11:03 horikawa Stab % .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .ie \n(.g .ds ic \/ .el .ds ic \^ .\" The BSD man macros can't handle " in arguments to font change macros, .\" so use \(ts instead of ". .tr \(ts" -.TH PIC 1 "7 September 1996" "Groff Version 1.10" +.TH PIC 1 "7 September 1996" "Groff Version 1.11" .SH 名称 pic \- troff と TeX で用いるピクチャコンパイラ .SH 書式 .B pic [ .B \-nvC ] [ .I filename \&.\|.\|. ] .br .B pic .B \-t [ .B \-cvzC ] [ .I filename \&.\|.\|. ] .SH 解説 .LP 本マニュアルでは、groff ドキュメントフォーマットシステムの一部である GNU バージョンの .B pic について記述します。 .B pic は、 .B troff か \*(tx の入力ファイルに埋め込まれたピクチャの記述を .B troff か \*(tx が解釈できるコマンドに変換します。 ピクチャは .B .PS で始まる行から開始され、 .B .PE で始まる行で終了します。 .B .PS と .B .PE に狭まれた領域以外は、変更せずに素通しします。 .LP .B .PS と .B .PE マクロの適切な定義はユーザに任されています。使用している マクロパッケージが適当な定義を提供しない場合(たとえば、古いバージョンの \-ms マクロの場合)、 .B \-mpic マクロから取り出すことができます。 \-mpic マクロではピクチャ は中央寄せになります。 .SH オプション .LP 引数を伴わないオプションは .B \- のあとにまとめて続けることができます。 特別なオプション .B \-\^\- は、オプションの最後を意味します。ファイル名のかわ りに用いられる .B \- は、標準入力を意味します。 .TP .B \-C .B .PS や .B .PE のあとに空白や改行以外の文字がきても、それを .B .PS や .B .PE であると解釈します。 .TP .B \-S より安全なモード; .B sh コマンドを実行しません。 信用できない入力を処理する場合に便利です。 .TP .B \-n groff の troff に対する独自拡張を用いません。後処理に独自拡張を解釈 できないものを用いるときに、このオプションを指定します。拡張については、 .BR groff_out (5) に記述されています。 .B \-n オプションはまた、troff モードにお いて、点を打つために長さ 0 の直線を使わないようにします。 .TP .B \-t \*(tx モードです。 .TP .B \-c より .B tpic との互換性が高い処理を行います。本オプションは自動的に -t オプションも設定します。 .B \e で始まる行が透過的に出力されることがなくなり ます。 .B . で始まる行は先頭の .B . を .B \e に置き換えます。 .B .ps で始まる行は、特 別な扱いを受けます。すなわち、整数のオプションを続けることができ、それ は直線の太さ(ペンのサイズ)を 1000 分の 1 インチで示します。オプションが 省略された場合は、直 前の直線の太さに戻します。直線の太さの初期値は 1000 分の 8 インチです。 このように指定された直線の太さは、 .B thickness 属性、または、 .B linethick 変数によって負でない値が設定されていない場合にのみ有効です。 .TP .B \-v バージョン番号を表示します。 .TP .B \-z \*(tx モードにおいて、長さ 0 の直線を用いて点を描画します。 .LP 他のバージョンの pic でサポートされている以下のオプションは無視されます。 .TP .B \-D すべての直線を .B \eD エスケープシーケンスにより描画します。 .B pic は、つねに この動作を行います。 .TP .BI \-T \ dev .B troff のデバイス .I dev のための出力を行います。 .B pic が .B troff に出 力する内容はデバイス非依存なので、本オプションは不要です。 .SH 使用法 本節では GNU pic とオリジナルバージョンの pic との違いのみを説明します。 これらの違いの多くは新しいバージョンの Unix pic にもあてはまります。 .SS \*(tx モード .LP \*(tx モードは .B \-t オプションにて有効になります。 \*(tx モードでは、各ピクチャのために .B \egraph から呼び出される vbox を、pic は定義します。 例えば以下のようにして、自分自身で vbox を表示する必要が有ります。 .RS .LP .B \ecenterline{\ebox\egraph} .RE .LP 実際、vbox は高さが 0 ですから、この表現ではピクチャの上の空間が ピクチャの下の空間よりも若干大きくなります。 .RS .LP .B \ecenterline{\eraise 1em\ebox\egraph} .RE .LP はこの問題を避けます。 .LP \*(tx ドライバで .B tpic スペシャルバージョン 2 をサポートするものを使用する必要が有ります。 .LP .B \e で始まる行は透過的に通されます; 単一の .B % が行末に追加され、望まれない空白が出るのを防ぎます。 この機能を使用して、安全にフォントを変更したり .B \ebaselineskip の値を変更できます。 この方法以外で実行すると、望ましくない結果となるでしょう; 各自のリスクで実行して下さい。 ピリオドで始まる行は特別には扱われません。 .SS コマンド .TP \fBfor\fR \fIvariable\fR \fB=\fR \fIexpr1\fR \fBto\fR \fIexpr2\fR \ [\fBby\fR [\fB*\fR]\fIexpr3\fR] \fBdo\fR \fIX\fR \fIbody\fR \fIX\fR .I variable を .IR expr1 に設定します。 .I variable の値が .IR expr2 以下の間、 .I body を実行して .I variable を .IR expr3 だけ増加させます; もし .B by が指定されない場合、 .I variable の増分は 1 です。 もし .I expr3 の前に .B * が指定された場合、 .I variable には .IR expr3 が掛けられます。 .I X は .IR body に存在しない任意の文字を使用して構いません。 .TP \fBif\fR \fIexpr\fR \fBthen\fR \fIX\fR \fIif-true\fR \fIX\fR \ [\fBelse\fR \fIY\fR \fIif-false\fR \fIY\fR] .IR expr を評価します; もし非 0 ならば、 .IR if-true を実行します、 そうでないなら .IR if-false を実行します。 .I X は .IR if-true に存在しない任意の文字であり、 .I Y は .IR if-false に存在しない任意の文字です。 .TP \fBprint\fR \fIarg\fR\|.\|.\|. 引数を結合し、標準エラー出力に 1 行で出力します。 各 .I arg は式、位置、テキストのいずれかである必要が有ります。 デバッグに有効です。 .TP \fBcommand\fR \fIarg\fR\|.\|.\|. 引数を結合し、troff または \*(tx に 1 行として渡します。 各 .I arg は式、位置、テキストのいずれかである必要が有ります。 これは .B . や .BR \e で始まる行と同様の効果が有りますが、 値や変数をそのまま通します。 .TP \fBsh\fR \fIX\fR \fIcommand\fR \fIX\fR .I command をシェルに渡します。 .I X は .IR command 中に存在しない任意の文字です。 .TP \fBcopy\fR \fB"\fIfilename\fB"\fR .I filename をファイルのこの位置に埋め込みます。 .TP \fBcopy\fR [\fB"\fIfilename\fB"\fR] \fBthru\fR \fIX\fR \fIbody\fR \fIX\fR \ [\fBuntil\fR \fB"\fIword\*(ic\fB"\fR] .ns .TP \fBcopy\fR [\fB"\fIfilename\fB"\fR] \fBthru\fR \fImacro\fR \ [\fBuntil\fR \fB"\fIword\*(ic\fB"\fR] この構造は .I body を .IR filename の各行に対して 1 度づつ実行します。 行は空白で区切られた語に分割され、 .IR body 中の .BI $ i ただし .I i は 1 から 9 までは、 行の .IR i 番目の語に置換されます。 .I filename が指定されない場合、行は現在の行から .BR .PE の行までが使用されます。 .B until 節が指定されると、 行の最初の語が .IR word の行までが読み込まれます; その行は捨てられます。 .I X は .IR body に含まれない任意の文字です。 例えば .RS .IP .ft B .nf \&.PS copy thru % circle at ($1,$2) % until "END" 1 2 3 4 5 6 END box \&.PE .ft .fi .RE .IP は以下等価です。 .RS .IP .ft B .nf \&.PS circle at (1,2) circle at (3,4) circle at (5,6) box \&.PE .ft .fi .RE .IP 各行に対して実行されるコマンドは、 .BR thru の引数としてマクロ名を与えることで、 すでに定義されているマクロをとりうる。 .LP .B reset .br .ns .TP \fBreset\fI variable1\fB,\fI variable2 .\^.\^. 既定義の変数 .IR variable1 , .I variable2 \&.\^.\^. をデフォルト値にリセットします。 引数が指定されない場合、すべての既定義の変数はデフォルト値にリセットされます。 また .B scale に値を定義すると、寸法を管理する全ての既定義の変数は、 それらのデフォルト値に新しい scale を掛けたものになります。 .TP \fBplot\fR \fIexpr\fR [\fB"\fItext\*(ic\fB"\fR] これはテキストオブジェクトであり、 .I text をフォーマットとして .IR expr を引数として sprintf を用いて構成します。 .I text が省略された場合にはフォーマット文字列 .B "\(ts%g\(ts" が使用されます。 通常のテキストオブジェクトと同様属性を指定できます。 適切なフォーマット文字列を指定するように非常に気を付ける必要が有ります; pic は文字列に関して非常に限られたチェックしか行いません。 この仕様は、 .BR sprintf のことを考慮して批判されています。 .TP .IB variable := expr これは .B = と同じですが、 .I variable が既に定義されていなければならず、 .I variable が変更される場合は、これが定義された最内側ブロックでなければなりません。 (これに対して .B = は、variable がまだ定義されていない場合には現在のブロックにおいて定義し、 現在のブロックに置いて値を変更します。) .LP .IP .IR X\ anything\ X .LP という形式に対しては .IP .BI {\ anything\ } .LP も許されます。 この場合、 .I anything には .B { と .BR } がバランスして登場する必要が有ります。 文字列に .I X が含まれる場合、 .B { と .BR } のバランスが悪い場合に対応します。 .SS 式 式の文法が少し拡張されました: .LP .IB x\ ^\ y (指数) .br .BI sin( x ) .br .BI cos( x ) .br .BI atan2( y , \ x ) .br .BI log( x ) (base 10) .br .BI exp( x ) (base 10, ie 10\v'-.4m'\fIx\*(ic\fR\v'.4m') .br .BI sqrt( x ) .br .BI int( x ) .br .B rand() (0 から 1 までの乱数を返す) .br .BI rand( x ) (1 から .IR x までの乱数を返す; 勧められません) .br .BI max( e1 , \ e2 ) .br .BI min( e1 , \ e2 ) .br .BI ! e .br \fIe1\fB && \fIe2\fR .br \fIe1\fB || \fIe2\fR .br \fIe1\fB == \fIe2\fR .br \fIe1\fB != \fIe2\fR .br \fIe1\fB >= \fIe2\fR .br \fIe1\fB > \fIe2\fR .br \fIe1\fB <= \fIe2\fR .br \fIe1\fB < \fIe2\fR .br \fB"\fIstr1\*(ic\fB" == "\fIstr2\*(ic\fB"\fR .br \fB"\fIstr1\*(ic\fB" != "\fIstr2\*(ic\fB"\fR .br .LP 曖昧さを避けるために、 文字列の比較式はあるコンテキストにおいては括弧で括られる必要が有ります .SS その他の変更 .LP 単なる式 .IR expr は属性として受理可能です; これは .IR dir\ expr と同じであり、 .I dir は現在の方向です。 例えば .IP .B line 2i .LP は 2 インチの長さの線を現在の方向へ描きます。 .LP ピクチャの最大の幅と高さは変数 .BR maxpswid , .B maxpsht により指定されます。 初期値は 8.5 および 11 です。 .LP 数を表すのに科学技術的表記が可能です。 例えば .RS .B x = 5e\-2 .RE .LP テキストの属性は組み合わせることが可能です。 例えば .RS .B "foo" above ljust .RE は正しいです。 .LP ブロックが検査される深さには制限は有りません。 例えば .RS .B [A: [B: [C: box ]]] with .A.B.C.sw at 1,2 .br .B circle at last [\^].A.B.C .RE は受理可能です。 .LP 円弧はコンパスポイントを持ち、円弧が部分となるような円から決定されます。 .LP 円と円弧は点線や破線で書くことが出来ます。 \*(tx モードではスプラインを点線や破線で書くことが出来ます。 .LP ボックスの角を丸くできます。 .B rad 属性は、角を構成する 1/4 円の半径を指定します。 .BR rad , .B diam 属性が与えられない場合、 .B boxrad が半径として使用されます。 初期値では .B boxrad は値 0 です。 角の丸いボックスは点線や破線で書くことが出来ます。 .LP .B .PS 行は 2 番目の引数としてピクチャの最大の高さを指定できます。 幅として 0 が指定された場合には、 ピクチャのスケーリングファクタの計算においては幅は無視されます。 GNU pic は常に水平方向と垂直方向ともに同じ縮尺で スケーリングしていることに注意して下さい。 これは 高さが指定された場合に水平方向と垂直方向を同じ縮尺でスケーリングしない .SM DWB 2.0 pic と異なります。 .LP テキストオブジェクトはそれぞれに関連づけられた見えないボックスを持っています。 テキストオブジェクトのコンパスポイントはこのボックスによって決定されます。 オブジェクトに関連づけられた暗示的な動きもこのボックスによって決定されます。 このボックスの寸法は width, height 属性から定まります; もし width 属性が与えられていない場合は幅は .BR textwid となります; もし height 属性が与えられていない場合は高さは .BR textht となります。 初期値では .BR textwid , .B textht は値 0 です。 .LP クオートされされたテキストが使用される場合、 .IP .BI sprintf(\(ts format \(ts,\ arg ,\fR.\|.\|.\fB) .LP という形式の式を使用可能です; これは引数を .IR format に従い整形したものを出力します。 .I format は .BR printf (3) に記述されている文字列であり、 与えられる数及び引数に適切なものである必要が有ります。 .BR e , .BR f , .BR g , .B % フォーマット文字のみ使用可能です。 .LP オブジェクトを描画する時に使用する線の太さは .B linethick 変数で制御可能です。 これは線の太さをポイントで指定します。 負の値はデフォルトの太さを使用することを意味します: \*(tx 出力モードでは、8 ミリインチを使用することを意味します; \*(tx 出力モードで .B -c オプション使用時には、線の太さには .B .ps 行で指定されるものを使用ことを意味します; troff 出力モードでは、ポイントサイズに比例する太さを使用することを意味します。 値 0 ではデバイスがサポートするもっとも細い線で描画します。 初期値は -1 です。 また、 .BR thick [ ness ] 属性が有ります。 例えば .RS .LP .B circle thickness 1.5 .RE .LP は 1.5 ポイントの太さの円を描画します。 線の太さは .B scale 変数の値の影響も .B .PS 行における高さの影響も受けません。 .LP ボックス(角の丸いボックスを含みます)、 円、楕円は塗りつぶすことが可能であり、 属性 .BR fill [ ed ] で指定します。 これは値が 0 から 1 の式をオプションで引数として取ります; 0 は白で塗りつぶし、1 は黒で塗りつぶし、その間の値では 適切な灰色で塗りつぶします。 1 より大きい値も使用可能です: この場合、現在のテキスト及び線に使用している灰色で塗りつぶします。 通常これは黒ですが、出力デバイスが変更する機構を持っているかも知れません。 引数を取らない場合、 .B fillval 変数の値が使用されます。 初期値では 0.5 です。 invisible 属性はオブジェクトの塗りつぶしには影響しません。 塗りつぶされたオブジェクトに関連づけられたテキストは、 塗りつぶし後に追加されます。 このため、塗りつぶしによってテキストが隠されることは有りません。 .LP 変数 .B arrowhead が非 0 でありかつ \*(tx モードが有効もしくは .B \-x オプションが与えられている場合には、 矢印の頭を実線の三角形で描画します。 初期値では .B arrowhead は 1 です。 .LP pic の troff 出力はデバイス独立です。 それゆえ .B \-T オプションは冗長です。 全ての数値はインチとして扱われます; 数値は troff マシン単位としては解釈されません。 .LP オブジェクトは .B aligned 属性を取りえます。 これは後処理が .BR grops で実行される場合のみ機能します。 オブジェクトに関連づけられたテキストで .B aligned 属性を持つものは全て オブジェクトの中央において回転されます。 それゆえ、オブジェクトの始点から終点への方向にあわせられます。 この属性は始点と終点が同じオブジェクトに関しては効果が有りません。 .LP .IB n th と言う表現が許されている場所では .BI ` expr 'th という表現も許されます。 .B 'th は単一のトークンであることに注意して下さい: .B ' と .BR th の間には空白を入れてはなりません。 使用例は以下です。 .IP .B .nf for i = 1 to 4 do { line from `i'th box.nw to `i+1'th box.se } .fi .SH 関連ファイル .Tp \w'\fB/usr/share/tmac/tmac.pic'u+3n .B /usr/share/tmac/tmac.pic .B PS と .B PE マクロの定義の例です。 .SH 関連項目 .BR troff (1), .BR groff_out (5), .BR tex (1) .br Tpic: Pic for \*(tx .br AT&T Bell Laboratories, Computing Science Technical Report No.\ 116, PIC \(em A Graphics Language for Typesetting. (This can be obtained by sending a mail message to netlib@research.att.com with a body of `send\ 116\ from\ research/cstr'.) .SH バグ .LP .B groff にとって不正な文字(例えば .SM ASCII code 0 や 8 進で 013〜037、 0200〜0237)は \*(tx モードであっても拒否されます。 .LP .B fillval の解釈は 10th edition Unix と互換性がありません。 10th edition Unix は 0 を黒、1 を白と解釈します。 .\" Kazuo HORIKAWA .\" USAGE 訳出 (Dec 27, 1996) diff --git a/ja_JP.eucJP/man/man1/psbb.1 b/ja_JP.eucJP/man/man1/psbb.1 index b984478c27..f51c2c5b57 100644 --- a/ja_JP.eucJP/man/man1/psbb.1 +++ b/ja_JP.eucJP/man/man1/psbb.1 @@ -1,39 +1,39 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. -.TH PSBB 1 "7 September 1996" "Groff Version 1.10" +.TH PSBB 1 "7 September 1996" "Groff Version 1.11" .\" jpman %Id: psbb.1,v 1.2 1997/05/20 01:24:45 mutoh Stab % .SH 名称 psbb \- PostScript 文書のバウンディングボックスを表示する .SH 書式 .B psbb .I file .SH 解説 psbb は、 Document Structuring convention に従った PostScript ファイルを読み込み、 .B "%%BoundingBox" コメントを探します。 もし見つかれば、以下の形式の行を標準出力に出力し、終了ステータス 0 を返します。 .IP .I llx lly urx ury .LP もしそのような行が見つからないか、形式が不正な場合はその旨メッセージを 出力し、0 以外の終了ステータスを返します。 .SH 関連項目 .BR grops (1) diff --git a/ja_JP.eucJP/man/man1/psroff.1 b/ja_JP.eucJP/man/man1/psroff.1 index 0b828eb755..e90fbb001d 100644 --- a/ja_JP.eucJP/man/man1/psroff.1 +++ b/ja_JP.eucJP/man/man1/psroff.1 @@ -1,16 +1,16 @@ -.TH PSROFF 1 "15 September 1997" "Groff Version 1.10" +.TH PSROFF 1 "15 September 1997" "Groff Version 1.11" .SH 名称 psroff \- troff 出力を PostScript プリンタに送る .SH 書式 .B psroff [groff options] [files ...] .SH 解説 .B psroff プログラムは、実際は troff ファイル .I files を PostScript プリンタに印字するための .B groff(1) コマンドを呼び出す単なるシェルスクリプトです。 .SH .SH 関連項目 .B groff(1), lpr(1), environ(7) diff --git a/ja_JP.eucJP/man/man1/refer.1 b/ja_JP.eucJP/man/man1/refer.1 index 25b0cccca2..121a366017 100644 --- a/ja_JP.eucJP/man/man1/refer.1 +++ b/ja_JP.eucJP/man/man1/refer.1 @@ -1,1257 +1,1257 @@ .ig \"-*- nroff -*- .\" jpman %Id: refer.1,v 1.2 1997/07/17 03:09:58 mihara Stab % Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .de TQ .br .ns .TP \\$1 .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .\" The BSD man macros can't handle " in arguments to font change macros, .\" so use \(ts instead of ". .tr \(ts" -.TH REFER 1 "7 September 1996" "Groff Version 1.10" +.TH REFER 1 "7 September 1996" "Groff Version 1.11" .SH 名称 refer \- groff のための参考文献目録プリプロセッサ .SH 書式 .nr a \n(.j .ad l .nr i \n(.i .in +\w'\fBrefer 'u .ti \niu .B refer .de OP .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" .el .RB "[\ " "\\$1" "\ ]" .. .OP \-benvCPRS .OP \-a n .OP \-c fields .OP \-f n .OP \-i fields .OP \-k field .OP \-l m,n .OP \-p filename .OP \-s fields .OP \-t n .OP \-B field.macro .RI [\ filename \|.\|.\|.\ ] .br .ad \na .SH 解説 本ファイルでは groff ドキュメントフォーマッティングシステムの一部である GNU バージョンの .B refer について記述します。 .B refer は .B .[ と .B .] で囲まれた引用として解釈される行と、 .B .R1 と .B .R2 で囲まれた引用の処理方法を記述したコマンドとして解釈される行を除き、 .IR filename \|.\|.\|. の内容を標準出力にコピーします。 .LP 各々の引用では参考文献を指定します。 -引用では、ある参考文献にのみ含まれるキーワードの集合を与えることによっ -て、その参考文献を図書目録データベースから指定することができます。 +引用では、ある参考文献にのみ含まれるキーワードの集合を与えることによって、 +その参考文献を図書目録データベースから指定できます。 また、引用の中でデータベースレコードを指定することによっても参考文献を -指定することができます。 +指定できます。 これらの方法を組み合わせることも可能です。 .LP 各々の引用において .B refer -はテキストの中にマークを作成することができます。 +はテキストの中にマークを作成できます。 このマークは色々な方法でテキストや他のラベルから区別されるいくつかのラ ベルから構成されます。 各引用における参考文献をマクロパッケージを使ってフォーマットして出力す るための .B groff コマンドを出力することもできます。 そのためには .B refer の出力は適切なマクロパッケージを使って処理されなければなりません。 .B \-ms と .B \-me はいずれも適切なマクロです。 引用の参考文献をフォーマットするコマンドを引用の直後に出力することも、 参考文献を蓄積して後でコマンドを出力することもできます。 -参考文献を蓄積した時、同じ参考文献が複数から引用されている場合には、参 -考文献は 1 つにまとめてフォーマットされます。 +参考文献を蓄積した時、同じ参考文献が複数から引用されている場合には、 +参考文献は 1 つにまとめてフォーマットされます。 .LP GNU refer の新しい機能として .B .R1 と .B .R2 の間の行はコマンドとして解釈されます。 この機能を使用して作成されたドキュメントは、ドキュメントの先頭に .RS .LP .nf .ft B \&.de R1 \&.ig R2 \&.. .ft .fi .RE -の行を追加することにより UNIX refer でも処理することができます。 +の行を追加することにより UNIX refer でも処理できます。 この指定によって .B troff は .B .R1 と .B .R2 の間をすべて無視します。 このオプションによっていくつかのコマンドと同等の効果を得ることができ ます。 これらのオプションは主に Unix refer との互換性のためにサポートされてい るものです。 通常はコマンドを使った方が便利です。 .LP .B refer は .B refer の出力を読むコマンドによって生成されるメッセージの中のファイル名と行番 号が正しくなるように .B .lf 行を生成します。 入力が .B soelim (1) のようなコマンドによって前処理されている場合でも、メッセージ中のファイ ル名と行番号と生成される .B .lf 行が正確になるように .B .lf で始まる行も解釈します。 .SH オプション .LP ほとんどのオプションには同等なコマンドがあります。 (これらのコマンドについては .B コマンド セクションの説明を参照して下さい。) .TP .B \-b .B no-label-in-text; no-label-in-reference .TP .B \-e .B accumulate .TP .B \-n .B no-default-database .TP .B \-C .B compatible .TP .B \-P .B move-punctuation .TP .B \-S .B label "(A.n|Q) ', ' (D.y|D)"; bracket-label " (" ) "; " .TP .BI \-a n .B reverse .BI A n .TP .BI \-c fields .B capitalize .I fields .TP .BI \-f n .B label .BI % n .TP .BI \-i fields .B search-ignore .I fields .TP .B \-k .B label .B L\(ti%a .TP .BI \-k field .B label .IB field \(ti%a .TP .B \-l .B label .BI A.nD.y%a .TP .BI \-l m .B label .BI A.n+ m D.y%a .TP .BI \-l, n .B label .BI A.nD.y\- n %a .TP .BI \-l m , n .B label .BI A.n+ m D.y\- n %a .TP .BI \-p filename .B database .I filename .TP .BI \-s spec .B sort .I spec .TP .BI \-t n .B search-truncate .I n .LP これらのオプションは以下のコマンドと同等です。ただし、通常の方法のか わりにコマンド行で指定されるファイル名が .B bibliography コマンドへの引数であるように処理されます。 .TP .B \-B .B annotate X AP; no-label-in-reference .TP .BI \-B field . macro .B annotate .I field .IB macro ; .B no-label-in-reference .LP 以下のオプションには同等なコマンドはありません。 .TP .B \-v バージョン番号を表示します。 .TP .B \-R .B .R1 / .R2 で始まる行を認識しません。 .SH 使用法 .SS 図書目録データベース 図書目録データベースは 1 行以上の空白行で区切られたレコードからなるテ キストファイルです。 各レコードではフィールドは .B % で始まる行で開始します。 各フィールドには .B % に続く 1 文字の名称があります。 フィールドの名称には大文字か小文字のみを使うのが最良の方法です。 フィールドの名称の後には正確に 1 つのスペースが続かなければなりませ ん。 空のフィールドは無視されます。 各フィールドの慣例的な意味は次の通りです。 .TP .B A 作者の名前。 名前の末尾に .B Jr. のような肩書が含まれる場合はコンマでラストネームと区切られていなければ なりません。 .B A フィールドは複数回現れても構いません。 出現する順番は意味を持ちます。 .B A フィールドか .B Q フィールドは常に指定するのが良いでしょう。 .TP .B B ある本の一部である記事において、その本のタイトルです。 .TP .B C 出版社の所在地 (都市) です。 .TP .B D 出版された日付です。 出版年に略称を使用してはいけません。 もし出版月を指定する場合は数字による月ではなく、月名を使わなければなり ませんが、最初の 3 文字を指定すれば十分です。 .B D フィールドは常に指定するのが良いでしょう。 ただし、出版の日付が分からなければ .B in press や .B unknown のような値を使うこともできます。 .TP .B E ある本の一部である記事において、その本の編集者の名前です。 出版作業が著者のない編集だけのものであった場合、編集者の名前を .B A フィールドで指定し、 .B ,\ (ed) または .B ,\ (eds) を最後の著者の後に指定しなければなりません。 .TP .B G 米国政府注文番号です。 .TP .B I 出版者 (発行人) です。 .TP .B J 定期刊行物の記事における、その刊行物の名称です。 .TP .B K 検索に使われるキーワードです。 .TP .B L ラベルです。 .TP .B N 定期刊行物の発行番号です。 .TP .B O その他の情報です。 これは通常参考文献の末尾に印刷されます。 .TP .B P ページ番号です。 ページ番号の範囲は .I m \- n\fR で指定できます。 .TP .B Q 著者が個人でない場合の著者の名称です。 これは .B A フィールドがない場合にのみ使用されます。 .B Q フィールドは 1 つのみ使うことができます。 .TP .B R 技術報告書番号です。 .TP .B S シリーズの名称です。 .TP .B T タイトルです。 本や定期刊行物中の記事ではこれは記事のタイトルとなります。 .TP .B V 定期刊行物もしくは本のボリューム番号です。 .TP .B X 注釈です。 .LP .B A と .B E を除くすべてのフィールドで、あるレコードに複数の特定のフィールドがある 場合、最後のフィールドのみが使用されます。 .LP アクセント文字列はアクセントをつける文字に引き続いて指定されなければな りません。これは .B AM マクロは .B \-ms マクロとともに使用しなければならないことを意味します。 アクセント文字列は引用符で囲んではいけません。 また、 .B \e は 2 つでなく 1 つのみ使って下さい。 .SS 引用 引用のフォーマットは .RS .BI .[ opening-text .br .I flags keywords .br .I fields .br .BI .] closing-text .RE となります。 .LP .I opening-text と .I closing-text と .I flags のコンポーネントは省略可能です。 .I keywords か .I fields のいずれか 1 つのコンポーネントを指定する必要があります。 .LP .I keywords コンポーネントは .I keywords に含まれる全ての単語を含む参考文献を文献データベースから検索するために 指定します。 もし複数の参考文献が見つかった場合はエラーとなります。 .LP .I fields コンポーネントは参考文献の中で指定されるものを置き換えるか付け加えるた めの追加フィールドを指定します。 参考文献が蓄積される設定で、 .I keywords コンポーネントが空でなければ、追加フィールドはある特定の参考文献が引用 されている最初の部分においてのみ指定されなければならず、その参考文献を 引用している全ての部分に適用されます。 .LP .I opening-text と .I closing-text コンポーネントは .B bracket-label コマンドにおいて指定される文字列の代わりにラベルを囲むために使われる文 字列を指定します。 これらのいずれもが空でなければ、 .B bracket-label コマンドで指定されている文字列は使われません。 この処理は .B [ と .B ] フラグを使って置き換えることができます。 これらのコンポーネントの前と後につくスペースは意味を持つことに注意し て下さい。 .LP .I flags コンポーネントはここでの引用の扱いを変更するためのアルファベット以外の 文字のリストです。 Unix refer はこれらのフラグをキーワードの一部として処理しますが、それ らはアルファベットでないため無視します。 以下のフラグが現在認識されるものです。 .TP .B # これは .B short-label コマンドによって指定されるラベルを .B label コマンドで指定されるものの代わりに使用することを指示します。 もしショートラベルが指定されなければ、通常のラベルが使用されます。 普通はショートラベルは auther-date ラベルに使用され、日付とおそらくは 曖昧さが取り除かれた文字から構成されます。ここで、 .B # はラベルの数字によるタイプを示唆するものと考えられます。 .TP .B [ .B bracket-label コマンドの中で指定される最初の文字列が .I opening-text の前に置かれます。 .TP .B ] .B bracket-label コマンドの中で指定される 2 番目の文字列が .I closing-text の後に置かれます。 .LP .I opening-text と .I closing-text の中に括弧を含めるのではなく、 .B [ と .B ] フラグを使うことの 1 つの利点は .B bracket-label コマンドで変更するだけでドキュメントの中で使っている括弧のスタイルを変 更できることです。 もう 1 つの利点として、これらのフラグを使うことによって引用のソートとマー ジを禁止する必要がないことがあげられます。 .LP もしラベルがテキスト中に挿入されるべきものであれば、それは .B .[ 行の前の行に挿入されます。 そのような行がない場合には .B .[ の前に余分の行が挿入されて警告が表示されます。 .LP 複数の参考文献に対する引用を作成する特別の表記法はありません。 ただ引用を 1 つの参考文献につき 1 つずつ連続して使用します。 引用の間には何も入れないで下さい。 全ての引用に対するラベルは最初の引用の前の行に付加されます。 ラベルはまたソートしたり、マージしたりすることもできます。 ラベルの表記法 .B <> とコマンド .B sort-adjacent-labels と .B abbreviate-label-ranges の説明を参照して下さい。 ラベルは引用に空でない .I opening-text か .I closing-text がある時にはマージされません。 しかし、 .I opening-text が伴わず .B [ フラグを使った引用がその直後に続く、 .I closing-text を伴わない .B ] フラグを使った引用のラベルは最初の引用の .I opening-text か次の引用の .I closing-text が空でない場合においても、ソートとマージを行なうことができます。 (もしこれを行ないたくない場合は、最初の引用で .I closing-text を .B \e& としてください。) .SS コマンド コマンドは .B .R1 で始まる行と .B .R2 の間に指定されます。 これらの行は .B \-R オプションを使うことによって認識されないようにできます。 .B .R1 行が認識された時、すべての蓄積されている参考文献は消去されます。 .B .R1 行と .B .R2 行およびこれらの間に指定されたものはすべて出力されません。 .LP コマンドは改行か .B ; によって区切られます。 .B # からその行の最後まではコメントとなります (しかし、改行自身は改行としてあつかわれます)。 各コマンドはワードに分割されます。 ワードはスペースかタブによって区切られます。 .B \(ts で始まるワードは次の .B \(ts (ただしもう 1 つの .B \(ts が直後にないもの) までがワードとして扱われます。 もし、次の .B \(ts がない場合にはその行の最後までがワードとなります。 .B \(ts で始まるワード中の .B \(ts のペアはひとつの .B \(ts として扱われます。 .B \(ts の中では .B # と .B ; は認識されません。 行は末尾に .B \e -をつけることによって継続することができます。 +をつけることによって継続できます。 ただし .B # の後の場合は継続されません。 .LP .ds n \fR* \*n でマークされた各コマンド .I name には .I name の効果を打ち消す否定コマンド .BI no- name があります。 例えば、 .B no-sort コマンドは参考文献をソートしないことを指定します。 否定コマンドは引数を取りません。 .LP 以下の説明で各引数はひとつのワードとなります。 .I field はフィールドの名前となる 1 文字の小文字または大文字です。 .I fields はそのような文字のシーケンスです。 .I m と .I n は非負の数字です。 .I string は任意の文字列です。 .I filename はファイル名です。 .Tp \w'\fBabbreviate-label-ranges'u+2n .BI abbreviate\*n\ fields\ string1\ string2\ string3\ string4 .I fields のファーストネームを短縮形にします。 頭文字ともう 1 つの頭文字の間には .I string1 が挿入されます。 ラストネームとの間には .I string2 が挿入され、その他のもの ( .B von や .B de のようなもの) との間には .I string3 が挿入されます。これらのストリングのデフォルトはピリオドにスペースが続 いたものとなります。 ハイフンで区切られたファーストネームの中で、名前の最初の部分の頭文字は .I string4 (デフォルトはピリオド) によってハイフンと分離されます。 省略形に起因する曖昧さについては特に考慮していません。 名前はソートする前およびラベルが構築される前に省略形にされます。 .TP .BI abbreviate-label-ranges\*n\ string 連続した参考文献を参照する 3 つ以上の隣接するラベルは、最初のラベル .I string 最後のラベルの順からなる 1 つのラベルに省略されます。 これは主に数字ラベルにおいて便利です。 .I string が省略された場合のデフォルトは .B \- です。 .TP .B accumulate\*n 各参考文献を出現するたびに書き出すのではなく、参考文献を蓄積していきます。 蓄積された参考文献はすべての入力ファイルが処理され .B .R1 行が認識された後に、 .RS .IP .B .[ .br .B $LIST$ .br .B .] .LP の形式の参照が指定された時に書き出されます。 .RE .TP .BI annotate\*n\ field\ string .I field は注釈です。注釈は参考文献の最後に .RS .IP .BI . string .LP の行の後にパラグラフとして印刷されます。 .I macro が省略されるとデフォルトの .B AP となります。もし、 .I field も省略されるとデフォルトの .B X となります。 注釈になれるフィールドは 1 つのみです。 .RE .TP .BI articles\ string \fR\|.\|.\|. .IR string \|.\|.\|. は定冠詞もしくは不定冠詞であり、ソートされる時にはフィールド .B T の最初では無視されなければなりません。 初期状態では .B the と .B a と .B an が冠詞として認識されます。 .TP .BI bibliography\ filename \fR\|.\|.\|. 図書目録データベース .IR filename \|.\|.\|. に含まれる全ての参考文献を書き出します。 .TP .BI bracket-label\ string1\ string2\ string3 テキスト中で、各ラベルを .I string1 と .I string2 で囲みます。 .I string2 の直後に .I string1 が現れた場合は .I string3 に置き換えられます。 デフォルトでは .RS .IP .B bracket-label \e*([. \e*(.] ", " .LP となります。 .RE .TP .BI capitalize\ fields .I fields を大文字とそれに続く小文字に変換します。 .TP .B compatible\*n スペースや改行以外の文字が次に続く場合でも .B .R1 と .B .R2 を認識します。 .TP .BI database\ filename \fR\|.\|.\|. 図書目録データベース .IR filename \|.\|.\|. を検索します。 各々の .I filename について、もし .BR indxbib (1) によって生成されたインデックス .IB filename .i が存在すれば、それが代わりに検索されます。各インデックスは複数のデータ -ベースをカバーすることができます。 +ベースをカバーできます。 .TP .BI date-as-label\*n\ string .I string はラベルを構成した後にフィールド .B D を置き換える文字列を指定するラベル式です。 ラベル式の説明については .B "ラベル式" の項を参照して下さい。 このコマンドは参考文献リストの中で明示的なラベルは使いたくないが、何ら かの方法で日付を修飾することによって曖昧さを取り除きたい場合に便利です。 通常、テキスト中で使用されているラベルは作者と日付の組み合わせになります。 ほとんどの場合、 .B no-label-in-reference コマンドも使う必要があります。 例えば、 .RS .IP .B date-as-label D.+yD.y%a*D.-y .LP は参考文献中のフィールド .B D の年の部分に曖昧さを取り除く文字を追加します。 .RE .TP .B default-database\*n デフォルトのデータベースを検索します。 これはデフォルトの動作であり、このコマンドの否定バージョンが有用です。 .B refer は検索を行なう必要が最初に出てきた場合、デフォルトのデータベースを 検索するべきかどうかを決定します。 そのため .B no-default-database コマンドを有効とするためには、それ以前に指定しておく必要があります。 .TP .BI discard\*n\ fields 参考文献が読み込まれた時、 .I fields を無効とします。 .I fields の文字列の定義は出力されません。 初期状態では .I fields は .B XYZ となっています。 .TP .BI et-al\*n\ string\ m\ n ラベル式における式 .B @ の評価での .B et al の使い方を制御します。 著者のシーケンスを明確にするために必要な著者の数を .I u 、著者の合計が .I t とすると、最後の .IR t \|\-\| u の著者が .I string によって置換され、 .IR t \|\-\| u が .I m より小さくなく、 .I t が .I n より小さくないようになります。 デフォルトでは .RS .IP .B et-al " et al" 2 3 .LP となります。 .RE .TP .BI include\ filename .I filename をインクルードし、その内容をコマンドとして解釈します。 .TP .BI join-authors\ string1\ string2\ string3 これはどのように作者を連結するかを指定します。 ちょうど 2 人の作者がある場合、 .I string1 によって連結されます。 2 人より多い作者がある場合、最後の 2 人を除いた作者は .I string2 で連結され、最後の 2 人の作者は .I string3 で連結されます。 もし .I string3 が省略されると、デフォルトは .I string1 となります。 もし .I string2 も省略されると、デフォルトは .I string1 となります。 例えば、 .RS .IP .B join-authors " and " ", " ", and " .LP は作者の連結をデフォルトの方法に戻します。 .RE .TP .B label-in-reference\*n 参考文献を出力する時に、文字列 .B [F を参考文献のラベルに定義します。 これはデフォルトの動作です。このコマンドの否定バージョンが有用です。 .TP .B label-in-text\*n 各参考文献においてテキスト中のラベルを出力します。 ラベルは .B bracket-label コマンドに記述されているようにそれを囲むテキストと分離されます。 これはデフォルトの動作です。このコマンドの否定バージョンが有用です。 .TP .BI label\ string .I string はどのように各参考文献にラベルをつけるかを記述するラベル式となります。 .TP .BI separate-label-second-parts\ string 2つの部分からなるラベルをマージする時、2 番目のラベルの 2 番目の部分を .I string で最初のラベルと分離します。 ラベル式については .B <> のラベル式の説明を参照して下さい。 .TP .B move-punctuation\*n テキストにおいてラベルの後の行末の句読点を移動します。 ラベルに肩文字の数字を使っていなければ、このコマンドを使うといいでしょ う。 .TP .BI reverse\*n\ string 名前が .I string 中にあるフィールドを逆にします。 各フィールド名の後にはいくつのフィールドが逆にされるかを示す数が指定さ れます。 フィールドにこの数が指定されなければ、そのフィールドは全て逆になります。 .TP .BI search-ignore\*n\ fields インデックスが存在しないデータベースでキーを検索している際に、 .I fields の内容を無視します。 初期状態ではフィールド .B XYZ が無視されます。 .TP .BI search-truncate\*n\ n キーの最初の .I n 文字が与えられることのみを要求します。 実際にデータベース中で与えられたキーを検索する時には .I n とキーの長さの大きい方の長さに切られます。 初期状態では .I n は 6 です。 .TP .BI short-label\*n\ string .I string はラベルのもう 1 つの (通常は短縮形の) スタイルを指定するラベル式です。 これは .B # フラグが引用で与えられている時に使われます。 author-date スタイルのラベルを使う時、作者は文脈から明らかに識別できる ことがあり、ラベルでは作者を省略したいことがあります。 通常、 .B short-label コマンドは日付と (多分) 明確な文字のみを含むラベルを指定するために使用 されます。 .TP .BI sort\*n\ string .B string に従って参考文献をソートします。 参考文献は自動的に累積されます。 .I string はフィールド名のリストであり、各フィールド名にはソートに使われる名前に いくつのフィールドがあるかを示す数字が続きます。 .B + を名前のついた全てのフィールドを使うことを示すために使うことができます。 また、 .B . を参考文献が (一時的な) ラベルを使ってソートされることを示すために使う こともできます。 ( .B ラベル式 のセクションで一時的なラベルの概念について説明しています。) .TP .B sort-adjacent-labels\*n 参考文献リスト中での位置に従って、テキスト中の隣接しているラベルをソー トします。 このコマンドは通常は .B abbreviate-label-ranges コマンドが与えられている時か、ラベル式に .B <> 式が含まれている時に使用するべきです。 これは参考文献が累積されていないと影響がありません。 .SS ラベル式 .LP -ラベル式は通常もしくは一時的に評価することができます。 +ラベル式は通常もしくは一時的に評価できます。 通常評価の結果は出力に使われます。 一時的評価の結果は .I 一時的ラベル と呼ばれ、通常評価でラベルを明確にする必要がある情報を集めるために使わ れます。 .B date-as-label と .B short-label コマンドで指定されるラベル式は一時的には評価されません。 通常評価と一時的評価は .B @ と .B * と .B % の式を除いた全てのタイプの式で同じです。 以下の説明は特に指定された場合を除き通常評価に適用されます。 .TP .I field .TQ .I field\ n .I field の .I n 番めの部分です。 .I n が省略された場合はデフォルトは 1 となります。 .TP .BI ' string ' .I string 中の文字は文字通り解釈されます。 .TP .B @ 全ての作者を .B join-authors コマンドで指定された通りに連結します。 各々の作者名の全体が使用されます。 しかし参考文献が作者でソートされると (すなわち .B A+ で始まるソート仕様)、 作者のラストネームが代わりに使用され (これは曖昧さを持ち込みません)、 また作者の頭文字のシーケンスが全ての作者の代わりに使用されます (これも 曖昧さを持ち込みません)。 いくつかの参考文献の .IR i 番目 の作者にラストネームだけを使うのは他に参考文献がある時には曖昧であると 考えられます。すなわち参考文献の最初の .IR i \|-\|1 人の作者が同じで、 .IR i 番目 の作者は同じでないが、 .IR i 番目 の作者のラストネームが同じであるような場合です。 いくつかの参考文献の作者のシーケンスの適切な頭文字のサブシーケンスは、 適切な頭文字のサブシーケンスとしてのサブシーケンスをもつ作者の別のシー ケンスをとる参考文献がある場合には、曖昧であると考えられます。 作者の頭文字のサブシーケンスが使われる場合、残りの作者は .B et-al コマンドで指定された文字列で置き換えられます。 このコマンドは頭文字のシーケンスを使うことができる以前に満たされる追加 -の要求も指定することができます。 +の要求も指定できます。 .B @ は一時的に作者の正式の表現に評価され、ソートのために同等かどうかを比較 する作者は同じ表現となります。 .TP .BI % n .TQ .B %a .TQ .B %A .TQ .B %i .TQ .B %I 参考文献のシリアル番号は .B % が続く文字に従ってフォーマットされます。 参考文献のシリアル番号はこの参考文献として同じ一時的ラベルをもつ先に現 れた参考文献の番号に 1 を加えたものとなります。 これらの式は一時的に空の文字列に評価されます。 .TP .IB expr * この参考文献としての同じ一時的ラベルを持つもう 1 つの参考文献がある場合、 空の文字列でなければ .I expr となります。 これは一時的に評価され、空の文字列になります。 .TP .IB expr + n .TQ .IB expr \- n .I expr の最初 .RB ( + ) または末尾 .RB ( \- ) の .I n 文字の大文字か小文字か数字です。 troff の ( .B \e('a のような) 特別文字は 1 文字としてカウントされます。 アクセント文字列は保持されますが、合計にはカウントされません。 .TP .IB expr .l .I expr を小文字に変換したものです。 .TP .IB expr .u .I expr を大文字に変換したものです。 .TP .IB expr .c .I expr を大文字とそれに続く小文字に変換したものです。 .TP .IB expr .r .I expr をラストネームが最初に来るように逆にしたものです。 .TP .IB expr .a ファーストネームが略称になった .I expr です。 .B abbreviate コマンドによって指定されたフィールドはラベルが評価される前に略称にされ ます。 このため、 .B .a は参考文献の中ではなくラベルの中でのみフィールドを略称にしたい時のみ有 用です。 .TP .IB expr .y .I expr の年の部分です。 .TP .IB expr .+y .I expr の年の前の部分、もしくはそれが年を含んでいなければ .I expr の全体となります。 .TP .IB expr .\-y .I expr の年の後の部分、もしくは .I expr が年を含んでいなければ空の文字列となります。 .TP .IB expr .n .I expr のラストネームの部分となります。 .TP .IB expr1 \(ti expr2 .I expr1 となります。ただし、 .I expr1 の最後の文字が .B \- である場合は .I expr2 に置き換えられます。 .TP .I expr1\ expr2 .I expr1 と .I expr2 の結合です。 .TP .IB expr1 | expr2 .I expr1 が空でなければ .I expr1 となり、それ以外では .I expr2 となります。 .TP .IB expr1 & expr2 .I expr1 が空でなければ .I expr2 となり、それ以外では空の文字列となります。 .TP .IB expr1 ? expr2 : expr3 .I expr1 が空でなければ .I expr2 となりそれ以外では .I expr3 となります。 .TP .BI < expr > このラベルには 2 つの部分があり、 .I expr によって分離されています。 2 つの部分からなり、最初の部分が同じである 2 つの連続したラベルは最初 のラベルに次のラベルの 2 番目の部分を追加し、 .B separate-label-second-parts コマンド (初期値ではスペースが続くコンマ) によって指定された文字列によっ て分離することによってマージされます。その結果のラベルもまた 2 つの部 分からなるラベルとなり、最初の部分がマージ前の最初の部分となります。さ らに追加されるラベルはこれにマージされます。 最初の部分が空であっても差し支えありません。これは .B short-label コマンドで使う式で使うことができます。 .TP .BI ( expr ) .I expr と同様です。 グルーピングを行なうために使われます。 .LP 上述の式は順位 (高いものが最初) の順にリストされます。 .B & と .B | は同じ優先順位となります。 .SS マクロインタフェース 各参考文献はマクロ .B ]- の呼び出しで始まります。 文字列 .B [F は .B no-label-in-reference コマンドが与えられていないと、 この参考文献のラベルになるように定義されます。 その後一連の文字列の定義が続きます。 定義は各フィールドに 1 つずつで、 文字列 .BI [ X はフィールド .I X に対応します。 数値レジスタ .B [P はフィールド .B P がページの範囲を含んでいれば 1 にセットされます。 .B [T と .B [A と .B [O の数値レジスタは、 .B .?! の文字のいずれかで終るフィールド .B T と .B A と .B O に対応して 1 にセットされます。 数値レジスタ .B [E は文字列 .B [E が複数の名前を含んでいれば 1 にセットされます。 参考文献にはマクロ .B ][ への呼び出しが続きます。 このマクロの最初の引数には参考文献のタイプを表す数を与えます。 もし参考文献がフィールド .B J を含んでいると、タイプ 1 として分類されます。 またフィールド .B B を含んでいるとタイプ 3、フィールド .B G か .B R を含んでいるとタイプ 4、フィールド .B I を含んでいるとタイプ 2となり、これら以外ではタイプ 0 となります。 2 番目の引数はタイプ .BR other , .BR journal-article , .BR book , .B article-in-book もしくは .B tech-report のシンボル名です。 .B bibliography コマンドによって累積もしくは生成される参考文献のグループは .B ]< マクロの呼び出しに先行し、 .B ]> マクロの呼び出しが続きます。 .SH 関連ファイル .Tp \w'\fB/usr/share/dict/papers/Ind'u+2n .B /usr/share/dict/papers/Ind デフォルトのデータベースです。 .TP .IB file .i インデックスファイルです。 .SH "関連項目" .BR indxbib (1), .BR lookbib (1), .BR lkbib (1) .br .SH バグ ラベル表記法において .B <> 表記は .BI . char 表記の中では無視されます。 diff --git a/ja_JP.eucJP/man/man1/sh.1 b/ja_JP.eucJP/man/man1/sh.1 index cff084dddb..9328e91d74 100644 --- a/ja_JP.eucJP/man/man1/sh.1 +++ b/ja_JP.eucJP/man/man1/sh.1 @@ -1,1200 +1,1211 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Kenneth Almquist. .\" .\" 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: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" %Id: sh.1,v 1.23 1998/12/18 03:51:18 jkoshy Exp % +.\" %Id: sh.1,v 1.23.2.1 1999/04/12 15:46:02 cracauer Exp % .\" .\" jpman %Id: sh.1,v 1.2 1997/05/31 16:40:31 jsakai Stab % .\" Japanese Translation amended by Norihiro Kumagai, 3/29/96, .\" based on the version of NetBSD Japanese Man Project .\" This amended version is for the FreeBSD-jpman Project, convened .\" by Kazuo Horikawa. .\" .Dd May 5, 1995 .Dt SH 1 .Os BSD 4 .Sh 名称 .Nm sh -.Nd コマンドインタプリタ(シェル) +.Nd コマンドインタプリタ (シェル) .Sh 書式 .Nm -.Op Fl /+abCEefIimnpsuVvx +.Op Fl /+abCEefIimnpsTuVvx .Op Fl /+o Ar longname .Op Fl c Ar string .Op Ar arg ... .Sh 解説 .Nm はシステムの標準コマンドインタープリタです。 現在 .Nm は .St -p1003.2 のシェル規約に対応する途上にあります。 本バージョンのシェルは、見方によっては Korn shell と同様に 見える機能を多数持っていますが、 -Korn shell のクローンではありません(もし Korn shell クローンを望むなら、 +Korn shell のクローンではありません (もし Korn shell クローンを望むなら、 Gnu の bash を使いましょう)。 このシェルには、POSIX で規定された仕様といくつかの Berkeley 拡張のみが 取り入れられています。 本マニュアルは、shell のチュートリアルでは ありませんし、仕様を完全に記述するものでもありません。 .Ss 概要 シェルは、ファイルまたは端末から 1 行ずつ読み込み、それを解釈し、 コマンドを実行します。シェルはユーザがシステムにログインしたときに起動 -されるプログラムです(ただし、ユーザは chsh(1) +されるプログラムです (ただし、ユーザは chsh(1) コマンドによって他のシェルを選択することもできます)。 シェルは、制御構文を持つ言語であり、 データ記憶をはじめとして多様な機能を提供するマクロ機能、 ヒストリ、行編集機能も内蔵しています。 このシェルは対話的に使うときに便利な機能を多くとり入れており、 対話的に用いるときも非対話的に (シェルスクリプトとして) 用いるときも、 共通のインタプリタ言語を用いることができる利点があります。 すなわち、コマンド名をシェルに直接タイプする ことも、コマンド名をファイルに書いておいてそのファイルをシェルに 実行させることもできます。 .Ss 起動 引数が与えられず、かつシェルの標準入力が端末の場合 (または -i フラグが指定 された場合)、シェルは対話的に動作します。対話的シェルは、通常、コマンド 入力時にプロンプトを表示し、文法的なエラーとコマンドエラーを 異なった方法で処理します (後述します)。 起動時に、シェルは 0 番目の引数を検査します。もしそれが ダッシュ `-' で始まっているなら、シェルはログインシェルとして 動作します。ユーザがシステムにログインした場合は自動的にこの状況に なります。ログインシェルは、まず (以下の各ファイルが存在する場合)、 .Pa /etc/profile と .Pa .profile ファイルからコマンドを読み込みます。 シェル起動時に、もしくはログインシェルで .Pa .profile を実行中に環境変数 .Ev ENV が設定されているなら、シェルは、その次に環境変数 .Ev ENV で示されたファイルからコマンドを読み込みます。 つまり、ユーザはログイン時にのみ実行したいコマンドを .Pa .profile に書き、シェルが起動されるたびに実行したいコマンドを環境変数 .Ev ENV で示すファイルに書くことになります。 環境変数 .Ev ENV を設定するには、ユーザのホームディレクトリ下のファイル .Pa .profile に以下のように記述します。 .sp .Dl ENV=$HOME/.shinit; export ENV .sp ここで、 .Pa .shinit のかわりに好きな名前を指定することができます。 オプション以外にコマンドライン引数が指定された場合、シェルは最初の引数 を、コマンドを読み込むべきファイル (シェルスクリプト) の名前であると解釈し、 それ以後の引数はシェルの位置パラメータ ($1, $2, ...) に設定します。 それ以外の場合、シェルはコマンドを標準入力から読み込みます。 .Pp 古いバージョンの .Nm とは異なり、環境変数 .Ev ENV で指定したスクリプトが実行されるのは、対話的シェルの呼び出し時のみです。 これにより、いい加減に書かれた .Ev ENV スクリプトに起因する、簡単に食いものにされることが多い有名な セキュリティホールがふさがれたことになります。 .Ss 引数リスト処理 .Nm の 1 文字からなるオプションはそれぞれ対応する名前を持っており、 .Xr set 1 組み込みコマンド (後述) の引数として用いることができます。 これらの名前は、以下の説明で 1 文字オプションのすぐあとに書いてあります。 マイナス記号 .Dq - でオプションを指定することは、そのオプションを有効にすることを意味し、 プラス記号 .Dq + でオプションを指定することは、そのオプションを無効にすることを意味します。 .Dq -- または、単なる .Dq - はオプション処理を終了させ、 コマンドラインの残りの語を引数として解釈することを強制します。 .Bl -tag -width Ds .It Fl a Li allexport -値が代入された変数の全てをエクスポートします(未実装です)。 +値が代入された変数の全てをエクスポートします。 .It Fl b Li notify バックグラウンドジョブ実行の完了を、コマンドが実行中でも即座に報告しま -す(未実装です)。 +す (未実装です)。 .It Fl C Li noclobber すでに存在するファイルに対して .Dq > リダイレクトにより上書きしません (未実装です)。 .It Fl E Li emacs 組み込みの .Xr emacs 1 風のコマンド行編集機能を有効にします (それ以前に .Fl V オプションが指定された場合、それを無効にします)。 .It Fl e Li errexit 非対話的シェルで、テスト状態にないコマンドの実行に失敗した場合、 直ちにシェルを終了します。 コマンドは、if, elif, while, until 構文を 制御するのに用いられている場合に、テスト状態であるとみなされます。 また、 .Dq && や .Dq || の左辺値として用いられているコマンドも、テスト状態とみなされます。 .It Fl f Li noglob パス名展開を行ないません。 .It Fl I Li ignoreeof 対話的シェルの場合、入力の EOF を無視します。 .It Fl i Li interactive シェルが対話的に動作するように強制します。 .It Fl m Li monitor ジョブ制御を可能にします (対話的シェルの場合は自動的に設定されます)。 .It Fl n Li noexec 非対話的シェルの場合、コマンドを読み込みますが、そのコマンドの実行は しません。シェルスクリプトの文法を検査する場合に便利です。 .It Fl p Li privileged 特権モードを有効にします。 起動時に実効ユーザ ID あるいは実効グループ ID が、実ユーザ ID や実グルー プ ID と一致していなければ、このモードが有効になります。このモードを無 効化すると、実効ユーザ ID および実効グループ ID は、実ユーザ ID および 実グループ ID に設定されます。 対話的シェルでこのモードが有効になっていると、 .Pa /etc/profile の後で .Pa ~/.profile に代わり、 .Pa /etc/suid_profile を読み込みます。一方、環境変数 .Ev ENV の内容は無視されます。 + .It Fl s Li stdin コマンドを標準入力から読み込みます (引数でファイル名が指定されていない 場合には、このオプションが自動的に設定されます)。 シェルが実行されてから本オプションを( .Xr set 1 などによって)設定しても効果はありません。 +.It Fl T Li asynctraps +子を待つとき、即座にトラップを実行します。 +本オプションが設定されていないと、 +.St -p1003.2 +で指定されているように、子が終了した後にトラップが実行されます。 +この非標準オプションは、 +シグナルをブロックする子の周囲に保護シェルを置くために有用です。 +周囲のシェルは子を殺したり、 +次のように、制御を tty に戻して子だけを残したりできます: +.Bd -literal -offset indent +sh -T -c "trap 'exit 1' 2 ; some-blocking-program" +.Ed +.Pp .It Fl u Li nounset 値が設定されていない変数を展開しようとした場合、 標準エラー出力にエラーメッセージを出力し、 さらに非対話的シェルならば、ただちにシェルを終了します (未実装です)。 .It Fl V Li vi 組み込みの .Xr vi 1 風の行編集機能を有効にします (それ以前に .Fl E オプションが指定されていた場合、それは無効になります)。 .It Fl v Li verbose 入力を読み込むごとに標準エラー出力に書き出します。デバッグのときに便利です。 .It Fl x Li xtrace 各コマンドを実行する前に、そのコマンドを標準エラー出力に (各コマンドの 前に `+' を付加して) 書き出します。デバッグのときに便利です。 .It Fl c Ar string 文字列引数 string はシェルに渡され、入力として解釈されます。このオプショ ンは引数として文字列を一つだけ受け取ることに注意して下さい。ですから、複 数の単語からなる文字列は引用符で囲う必要があります。 .El .Ss 構文構造 シェルは、ファイルを行単位で読み込み、空白文字 (ブランクおよびタブ) や シェルにとって特別な意味を持つ特定の文字列 ( .Dq 演算子 -と呼ばれるもので -す) を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ +と呼ばれるものです) +を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ ダイレクト演算子の 2 種類があります (これらの意味については後述します)。 以下に、それらの一覧を示します。 .Bl -tag -width Ds .It No 制御演算子: & && ( ) ; ;; | || .No \en .It No リダイレクト演算子: -< > >| << >> <& >& <<- <> +< > >| << >> <& >& <<- .El -.Ss 引用(クォート) +.Ss 引用 (クォート) 引用は、特殊な意味を持つ文字や単語 (演算子、空白、キーワードなど) の意味 を打ち消すために用います。引用には、シングルクォート文字のペアを使う方法、 ダブルクォート文字のペアを使う方法、バックスラッシュ文字を使う方法 の 3 種類があります。 .Bl -tag -width Ds .It シングルクォート文字 -シングルクォートのペアで囲まれた文字は、すべてその文字そのまま(リテラ -ル)として扱われます (ただしシングルクォートは別です。シングルクォート +シングルクォートのペアで囲まれた文字は、すべてその文字そのまま (リテラル) +として扱われます (ただしシングルクォートは別です。シングルクォート で囲った文字列の中にシングルクォートを含めることはできません)。 .It ダブルクォート文字 -ダブルクォートのペアで囲まれた文字は、ドル記号文字($)、バッククォート -文字(`)、バックスラッシュ文字(\\) を除き、すべてリテラルとして扱われま -す。ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史 +ダブルクォートのペアで囲まれた文字は、ドル記号文字 ($)、バッククォート +文字 (`)、バックスラッシュ文字 (\\) を除き、すべてリテラルとして扱われます。 +ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史 的経緯によりすこし変わった扱いを受けます。つまり、直後に $, `, ", \\, 改行文字 が来るときにのみ、それらの文字がリテラルとして扱われます。そ れ以外の文字が来る場合、バックスラッシュ文字自体がリテラルとして扱われ ます。 .It バックスラッシュ バックスラッシュは、その後ろの 1 文字を、リテラルとして扱うように指示 します。ただし改行文字は別です。改行文字の直前のバックスラッシュは、行 の継続であるとみなされます。 .El .Ss 予約語 予約語はシェルにとって特別な意味を持つ単語で、行の先頭または制御演算子 の直後でのみ予約語として認識されます。以下に予約語の一覧を挙げます。 .Bd -literal -offset indent ! { } case do done elif else esac fi for if then until while .Ed .Ss エイリアス エイリアスは、名前とそれと対応する値が対になったもので、 組み込みコマンド .Xr alias 1 によって定義されます。 -シェルは、予約語が現れる可能性がある場所(上記を参照)で、 +シェルは、予約語が現れる可能性がある場所 (上記を参照) で、 ある単語に対して、それが予約語かどうかの検査を済ませたのち、 それがエイリアスに一致するかどうかを検査します。 もし一致したならば、入力行の中で、その単語をエイリアスの値に置き換えます。 たとえば、``lf'' という名前で ``ls -F'' という値を持つエイリアスが 存在したとすると、次の入力行 .Bd -literal -offset indent lf foobar .Ed .Pp は、以下のように置換されます。 .Bd -literal -offset indent ls -F foobar .Ed .Pp エイリアスは、初心者に対し、引数付きの関数を生成する面倒を求めることなく、 短いコマンドをつくり出す便利な方法を提供するものです。 しかし、構文的にあいまいなコードを作り出すことにもつながりかねません。 そのような使い方はお勧めできません。 .Ss コマンド シェルは、読み込んだ単語を、文法に従って解釈します。 本マニュアルでは文法については解説しません。 .St -p1003.2 の BNF 表記を参照してください。要するに、行を1行を読み込み、読み込んだ -行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語 +行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語 でない場合、シェルはその行を単純コマンドとして解釈します。それ以外の場 合、複合コマンドあるいは特殊構造であると解釈します。 .Ss 単純コマンド 単純コマンドを解釈する場合、シェルは以下のような動作をします。 .Bl -enum .It 単語の前にある ``name=value'' の形式の単語を取り除き、 単純コマンドの環境に代入します。 リダイレクト演算子とその引数 (後述) を取り除き、 あとで処理できるように保存します。 .It 残った単語を、「展開」の節で説明する方法で展開します。 展開後の最初の単語をコマンド名とみなし、コマンドの位置を探索します。 残りの単語はコマンドへの引数とみなされます。 処理の結果、コマンド名が残らなかった場合、手順 1) で 取り出した ``name=value'' の変数代入を、現在のシェルの環境に反映します。 .It 次節で説明する方法で、リダイレクトを行ないます。 .El .Ss リダイレクト リダイレクトは、コマンドがどこから入力するか、どこへ出力するかを 変更するときに用います。 一般には、リダイレクトでは、ファイルのオープン、クローズ、または ファイルへの参照の複写 (duplicate) を行います。 リダイレクトで用いられる全般的な形式は、以下のとおりです。 .sp .Dl [n] redir-op file .sp ここで、redir-op は前述したリダイレクト演算子のいずれかです。 これらの演算子をどのように利用するかの例をいくつか以下に挙げます。 .Bl -tag -width "1234567890" -offset indent .It [n]> file 標準出力 (またはファイル記述子 n への出力) をファイル file に書き出します。 .It [n]>| file 上と同様。ただし、-C オプションの効果を打ち消します。 .It [n]>> file 標準出力 (またはファイル記述子 n への出力) をファイル file に追加します。 .It [n]< file 標準入力 (またはファイル記述子 n からの入力) をファイル file から取ります。 .It [n1]<&n2 ファイル記述子 n2 を標準入力 (またはファイル記述子 n1) に複写します。 .It [n]<&- 標準入力 (またはファイル記述子 n) をクローズします。 .It [n1]>&n2 ファイル記述子 n2 を標準出力 (またはファイル記述子 n1) に複写します。 .It [n]>&- 標準出力 (またはファイル記述子 n) をクローズします。 -.It [n]<> file -標準入力 (あるいはファイル記述子 n) により、ファイル file を -読み書きするようにします。 .El .Pp 以下のリダイレクトは、しばしば``ヒア・ドキュメント(here-document)''と 呼ばれます。 .Bd -literal -offset indent [n]<< delimiter here-doc-text... delimiter .Ed .Pp シェルは、delimiter までの行を保存し、コマンドへの標準入力またはファイ -ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォー -ト) されていた場合、here-doc-text の内容をリテラルとして扱います。そ -うでない場合、パラメータ展開、コマンド置換、数値演算 (「展開」の節で説 -明します) を適用します。演算子が (``<<'' でなく) ``<<-'' の場合は、 +ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォート) +されていた場合、here-doc-text の内容をリテラルとして扱います。 +そうでない場合、パラメータ展開、コマンド置換、数値演算 (「展開」の節で +説明します) を適用します。演算子が (``<<'' でなく) ``<<-'' の場合は、 here-doc-text の各行の行頭のタブを取り除きます。 .Ss コマンド検索と実行 コマンドには、シェル関数、組み込みコマンド、通常プログラムの 3 種類があり、 コマンドを検索する際には、シェルは名前の検索をこの順序で行います。 それぞれのコマンドは異なる方法で実行されます。 .Pp シェル関数を実行するとき、$0 を除くすべての位置パラメータ ($1, $2,..) をシェル関数への引数として設定します。$0 は変更されません。シェル関数 の環境として指定された変数 (関数名の直前に ``name=value'' を置いて指定 されたもの) は、その関数に局所的な変数となり、指定された初期値が設定さ れます。そして、シェルは関数定義で与えられたコマンドを実行します。コマ ンドの実行が完了すると、位置パラメータを元の値に戻します。これは全て現 在のシェルの中で処理されます。 .Pp 組み込みコマンドは、新たなプロセスを作成せずにシェル内部で実行されます。 .Pp コマンドが関数でも組み込みコマンドでもない場合は、通常のプログラムとみなし (次節で説明するとおり) ファイルシステムの中でそのコマンドを検索します。 通常のプログラムを実行する場合、シェルは引数と 環境をプログラムに渡して、そのプログラムを実行します。 プログラムが通常の実行ファイル形式ではない場合 (つまり、 .Tn ASCII 表現で "#!" となる「マジックナンバ」でファイルが始まっておらず、 .Fn execve 2 が .Er ENOEXEC を返す場合)、 サブシェルの中でそのプログラムを解釈実行します。この場合、あたかも新たに シェルが起動されたかのような効果を得るために、子シェルは自分自身を 再初期化します。ただし、子プロセスは、親シェル中のハッシュされたコマンド 位置情報を憶えており、これは再初期化されません。 .Pp 本ドキュメントの古いバージョンや古いソースコードでは、ときおり、 マジックナンバのないシェルスクリプトのことを「シェル手続き」と呼んでいて、 まぎらわしい場合がありますので注意して下さい。 .Ss パス検索 コマンドを検索するとき、シェルは、まず、その名前のシェル関数があるかどうかを 調べます。次に、その名前の組み込みコマンドがあるかどうかを調べます。 組み込みコマンドでもない場合、以下のいずれかの処理が行われます: .Bl -enum .It コマンド名にスラッシュが含まれていれば、検索は行わず、 単にそのコマンドが実行されます。 .It 変数 .Ev PATH に含まれる各エントリに対して、順にそのコマンドを検索します。 変数 .Ev PATH -の値はコロン(``:'')で区切られたエントリの列でなければなりません。 +の値はコロン (``:'') で区切られたエントリの列でなければなりません。 各エントリは、それぞれディレクトリ名一つに対応します。 カレントディレクトリは、 空のディレクトリ名を指定することで暗黙的に、 あるいは 1 個のピリオドを指定することで明示的に 指示することができます。 .El .Ss コマンドの実行ステータス 各コマンドは終了ステータスを持ち、それにより他のシェルコマンドの動作に 影響を与えることができます。基本的な考え方として、終了ステータス 0 は 通常の終了または成功を示します。0 以外の終了ステータスは失敗、エラーを 意味します。各コマンドのマニュアルにそれぞれの終了ステータスがどのよう -な意味を持つかが記述されているはずです。組み込みコマンドと(実行された) +な意味を持つかが記述されているはずです。組み込みコマンドと (実行された) 関数も終了ステータスを返します。 .Pp -コマンドがシグナルにより終了(terminate)させられた場合、 +コマンドがシグナルにより終了 (terminate) させられた場合、 終了ステータスは 128 にシグナル番号を加えたものになります。 シグナル番号はヘッダファイル .Aq Pa sys/signal.h に定義されています。 -.Ss 複合コマンド(Complex Commands) +.Ss 複合コマンド (Complex Commands) 複合コマンドは、単純コマンドの組み合わせで作ります。 制御演算子または予約語と組み合わせることで、より大きな複合コマンドを生 成します。一般に、コマンドは以下のうちのいずれかです。 .Bl -item -offset indent .It 単純コマンド .It パイプライン .It -リストまたは合成リスト(compound-list) +リストまたは合成リスト (compound-list) .It -合成コマンド(compound command) +合成コマンド (compound command) .It 関数定義 .El .Pp 特に指定のない場合、コマンドの終了ステータスは最後に実行された 単純コマンドの終了ステータスとなります。 .Ss パイプライン パイプラインは、複数のコマンドを制御演算子 `|' によってつないだものです。 最後のコマンドを除くすべてのコマンドの標準出力は、次のコマンドの標準入力に 接続されます。 最後のコマンドの標準出力は、通常通り、シェルから受け継がれます。 .Pp パイプラインの形式は次のとおりです。 .Bd -literal -offset indent [!] command1 [ | command2 ...] .Ed .Pp command1 の標準出力は command2 の標準入力に接続されます。コマンドの標 準入出力がパイプラインによって割り当てられるのは、各コマンドに属する リダイレクト演算子で指定されたリダイレクトを処理する前のことだと考えて 下さい。 .Pp パイプラインがバックグラウンド (後述) でなければ、シェルはすべての コマンドが終了するのを待ちます。 .Pp パイプラインの直前に予約語 `!' が置かれなかった場合、終了ステータスは パイプラインの最後のコマンドの終了ステータスとなります。 `!' が前置された場合、終了ステータスはパイプラインの最後のコマンドの 終了ステータスの論理否定を取った値となります。 すなわち、最後のコマンドが 0 を返した場合、パイプラインの 終了ステータスは 1 に、最後のコマンドが 0 より大きな値を返した場合、 終了ステータスは 0 になります。 .Pp パイプラインによる標準入出力の接続はリダイレクトに先立って行われるため、 パイプラインの接続をリダイレクトによって修正することができます。たとえば、 .Bd -literal -offset indent $ command1 2>&1 | command2 .Ed .Pp は、command1 の標準出力と標準エラー出力の両方を command2 の標準入力に 接続します。 .Pp \&; または改行文字を終端として用いることにより、直前の AND-OR リスト (後述) を 順次実行します。& は、直前の AND-OR リストを非同期に実行します。 .Pp 注: 他のいくつかのシェルと異なり、パイプラインの各プロセスは 起動したシェルの子プロセスとなります (シェルの組み込みコマンドである ときは別です。その場合は現在のシェルで実行されます --- ただし 環境に対して行った操作は取り消されます)。 .Ss バックグラウンドコマンド -- & コマンドが制御演算子 & で終了している場合、シェルはそのコマンドを 非同期に実行します。すなわち、シェルはそのコマンドの終了を待たずに、 次のコマンドの実行を開始します。 .Pp コマンドをバックグラウンドで実行させるための形式は以下のとおりです。 .Bd -literal -offset indent command1 & [command2 & ...] .Ed .Pp シェルが対話的でない場合、非同期コマンドの標準入力には /dev/null が 接続されます。 .Ss リスト -- 一般的な話 リストは 0 個またはそれ以上のコマンドを改行文字、セミコロン文字、アン パーサント文字 (&) で区切った列です。リストは、これら 3 つの記号のいずれかで 終了させることもできます。リスト中のコマンドは並べられた順に実行 されます。もし、コマンドに続けてアンパーサント文字が置かれている場合、 シェルはそのコマンドを起動したあと、すぐに次のコマンドの処理を開始します。 その他の場合、そのコマンドの終了を待ってから次のコマンドの処理を開始します。 -.Ss 短絡リスト演算子(Short-Circuit List Operators) +.Ss 短絡リスト演算子 (Short-Circuit List Operators) ``&&'' と ``||'' は AND-OR リスト演算子です。 ``&&'' は最初のコマンド を実行し、もし最初のコマンドの終了ステータスが 0 ならば次のコマンドを 実行します。 ``||'' も同様ですが、最初のコマンドの終了ステータスが 0 でない場合に、次のコマンドを実行します。 ``&&'' と ``||'' の優先順位は 同じです。 .Ss 制御構造 -- if, while, for, case if コマンドの文法は以下のとおりです。 .Bd -literal -offset indent if list then list [ elif list then list ] ... [ else list ] fi .Ed .Pp while コマンドの文法は以下のとおりです。 .Bd -literal -offset indent while list do list done .Ed .Pp 最初のリストの終了ステータスが 0 であるかぎり、2 つのリストを繰り返し 実行します。until コマンドも同様に実行しますが、 単語 while の代わりに単語 until を使うことと、 最初のリストの終了ステータスが 0 になるまで、 2 つのリストを繰り返し実行することが異なります。 .Pp for コマンドの文法は以下のとおりです。 .Bd -literal -offset indent for variable in word... do list done .Ed .Pp 各 word は展開され、変数 variable に word を順に設定しながらリストを 繰り返し実行します。do と done は ``{'' と ``}'' で置き換えることができます。 .Pp break と continue コマンドの文法は以下のとおりです。 .Bd -literal -offset indent break [ num ] continue [ num ] .Ed .Pp break は内側から num 個の for ループまたは while ループを終了します。 continue は、 num 個目のループの次の繰り返しに制御を移します。 .\" 上の文、原文では以下のようになっているが、the *num* innermost loop が .\" 正しいと思われる。実際の sh の動作もそうなっているようだ。 .\" --- 97/05/31 sakai@jp.freebsd.org ↓ .\" Continue continues with the next iteration of the innermost loop. これらのコマンドは組み込みコマンドとして実装されています。 .Pp case コマンドの文法は以下のとおりです。 .Bd -literal -offset indent case word in pattern) list ;; ... esac .Ed .Pp pattern は、1 つあるいは複数のパターン (後述の「シェルパターン」を参照 のこと) を ``|'' で接続したものです。 .Ss 複数のコマンドのグループ化 コマンドは、以下のいずれかの方法によりグループ化することができます。 .Bd -literal -offset indent (list) .Ed .Pp または、 .Bd -literal -offset indent { list; } .Ed .Pp 最初の形式では、コマンドはサブシェル上で実行されます。 (list) のなかの組み込みコマンドは、現在のシェルには影響を与えません。 2 つめの形式では新たなシェルを fork しないので、やや効率が良くなります。 このようにして複数コマンドをグループ化することで、 あたかも単一プログラムであるかのように、それらの出力をまとめて リダイレクトすることができます。 .Bd -literal -offset indent { echo -n "hello"; echo " world"; } > greeting .Ed .Ss 関数 関数定義の構文は以下のとおりです。 .Bd -literal -offset indent name ( ) command .Ed .Pp 関数定義は実行可能文の一種です。実行されると、名前 name の関数 が定義され、終了ステータスとして 0 を返します。command は 通常、``{'' と ``}'' で囲まれたリストです。 .Pp local コマンドを用いて関数に局所的な変数を宣言することができます。 これは関数定義中の最初の文で行わなければなりません。構文は次のとおりです。 .Bd -literal -offset indent local [ variable | - ] ... .Ed .Pp local コマンドは、組み込みコマンドとして実装されています。 .Pp 変数を局所変数にする場合、関数を呼び出した環境に同じ名前の変数があれば、 新しい局所変数は値と export、readonly フラグを引き継ぎます。もし同じ名前の 変数がなければ、局所変数は初期値を持ちません。シェルは動的スコープ を用います。すなわち、関数 f に局所的な変数 x を作成し、関数 f から 関数 g を呼び出した場合、関数 g 内部での変数 x に対する操作は大域変数 x ではなく、関数 f で宣言された変数 x への操作となります。 .Pp 特殊パラメータのうち局所宣言できるのは ``-'' だけです。 ``-'' を 局所宣言すると、関数内で set コマンドを用いてシェルオプションを 変更しても、関数が終了するとそれらのオプションは元の値に戻ります。 .Pp return コマンドの文法は以下のとおりです。 .Bd -literal -offset indent return [ exitstatus ] .Ed .Pp return は現在実行中の関数を終了させます。return は組み込みコマンドとして 実装されています。 .Ss 変数とパラメータ シェルはパラメータの集合を管理しています。名前を持つパラメータを 変数と呼びます。シェルは、起動時にすべての環境変数をシェル変数に取り込みます。 新たな変数は、次の形式によって設定できます。 .Bd -literal -offset indent name=value .Ed .Pp ユーザが設定する変数は、アルファベット、数字、アンダースコア (_) のみ からなる名前を持つ必要があります。また、最初の文字が数字であっては いけません。 パラメータは、以下に示す数字または特殊記号により参照することもできます。 .Ss 位置パラメータ 位置パラメータは、数字 (n > 0) によって参照されるパラメータです。シェルは 位置パラメータの初期値としてシェルスクリプト名に続く引数を設定します。 組み込みコマンド .Xr set 1 により再設定や消去ができます。 .Ss 特殊パラメータ 特殊パラメータは、以下に挙げる特殊文字のいずれかにより参照される パラメータです。各パラメータの値の説明を各文字の後ろに示します。 .Bl -hang .It * 位置パラメータ 1,2,... に展開されます。ダブルクォート文字列内部で展開 される場合、展開結果は各位置パラメータの間を変数 IFS の先頭の文字 (IFS が設定されていない場合は空白文字) で区切った単一の文字列になります。 .It @ 位置パラメータ 1,2,... に展開されます。ダブルクォート引用の内部で展開 される場合、各位置パラメータは別々の引数となります。 もし、位置パラメータが設定されていない場合には、 @ の展開結果は 0 個の引数となります (ダブルクォート引用の内部であっても)。 すなわち、$1 が ``abc''、$2 が ``def ghi'' であった場合、"$@" は 次の 2 つの引数に展開されます。 .Bd -literal -offset indent "abc" "def ghi" .Ed .It # 位置パラメータの数に展開されます。 .It ? 最後に実行したパイプラインの終了ステータスに展開されます。 .It - -(ハイフン) 現在のオプションフラグ (1文字オプション名をつないだ文字列) +(ハイフン) 現在のオプションフラグ (1 文字オプション名をつないだ文字列) に展開されます。起動時に指定されたもの、組み込みコマンド set で指定した もの、シェルが暗黙に設定したもののすべてを含みます。 .It $ 起動されたシェルのプロセス ID に展開されます。 サブシェルも親シェルと同じ値を持ちます。 .It ! 現在のシェルが最後にバックグラウンドで実行したコマンドのプロセス ID に 展開されます。パイプラインの場合、パイプラインの最後のコマンドの プロセス ID になります。 .It 0 (ゼロ) シェルの名前またはシェルスクリプト名に展開されます。 .El .Ss 単語展開 本節では、単語に対して適用されるさまざまな展開について説明します。あとで 述べるように、すべての展開がすべての単語に対して適用されるわけではありません。 .Pp 単一の単語に対して適用されたチルダ展開、パラメータ展開、コマンド置換、 数式展開、クォート削除の結果は単一のフィールドになります。単一の単語が 複数のフィールドに分割される可能性があるのは、フィールド分割または パス名展開の場合だけです。この規則の唯一の例外は、ダブルクォート中の パラメータ @ の展開です (前述)。 .Pp 単語展開の順序は以下のとおりです。 .Bl -enum .It チルダ展開、パラメータ展開、コマンド置換、数式展開 (これらはすべて 同時に行われます) .It 変数 IFS の値が空でなければ、(1) の結果の各フィールドに対して フィールド分割が行われる .It パス名展開 (-f オプションが無効の場合) .It クォート削除 .El .Pp 文字 $ はパラメータ展開、コマンド置換、数式評価を行うきっかけになります。 .Ss チルダ展開 (ユーザのホームディレクトリ名への置換) 引用されていないチルダ文字 (~) で始まる単語は、チルダ展開の対象になります。 チルダ文字からスラッシュ文字または単語の終端までのすべての文字がユーザ名 とみなされ、そのユーザのホームディレクトリに置換されます。もしユーザ名が -省略された場合(たとえば ~/foobar)、チルダ文字は変数 HOME の値(現在のユーザ -のホームディレクトリ)に置換されます。 +省略された場合 (たとえば ~/foobar)、チルダ文字は変数 HOME の値 +(現在のユーザのホームディレクトリ) に置換されます。 .Ss パラメータ展開 パラメータ展開の形式は以下のとおりです。 .Bd -literal -offset indent ${expression} .Ed .Pp ここで、expression は対応した `}' までのすべての文字です。対応する`}' を調べる際に、バックスラッシュ文字によりエスケープされたり、クォート文字に 狭まれた `}' や、数式展開に埋め込まれている文字や、コマンド置換や変数展開中に ある文字は調べる対象になりません。 .Pp パラメータ展開の形式のうちもっとも単純なものは以下のとおりです。 .Bd -literal -offset indent ${parameter} .Ed .Pp そのパラメータに値が存在する場合、その値に置き換えられます。 .Pp -パラメータ名やシンボルを中括弧({})で囲んでも構いません。この中括弧は、 +パラメータ名やシンボルを中括弧 ({}) で囲んでも構いません。この中括弧は、 数字 2 文字以上からなる位置パラメータの場合や、パラメータ名の直後に パラメータ名の一部であるとみなし得る文字が続く場合を除き、 省略可能です。ダブルクォート引用中のパラメータ展開は以下 のようになります。 .Bl -enum .It パラメータ展開を行った結果の単語に対しては、パス名展開は適用されません。 .It パラメータが @ の場合を除き、フィールド分割は適用されません。 .El .Pp さらに、以下の形式を用いることにより、パラメータ展開の結果に修正を加える ことができます。 .Bl -tag -width Ds .It Li ${parameter:-word} デフォルト値への置換: パラメータ parameter が設定されていないか空の値 を持つ場合、word を展開した結果に置換されます。さもなければ、パラメー タ parameter の値に置換されます。 .It Li ${parameter:=word} デフォルト値の代入: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果が parameter に代入されます。最終的にパラメータ parameter の値 に置換されます。位置パラメータや特殊パラメータは、この方法で代入すること はできません。 .It Li ${parameter:?[word]} 空か設定されていないときにエラーとする: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果 (word が省略された場合にはパラメータが設定されていないことを表す デフォルトのメッセージ) が標準エラー出力に書き出され、 シェルは非 0 の終了ステータスで終了します。 それ以外の場合、パラメータ parameter の値に置換されます。対話的シェルの場合は 必ずしも終了しません。 .It Li ${parameter:+word} 代替値の使用: パラメータ parameter が設定されていないか空の値を持つ場合、空の値に 置換されます。さもなければ、word を展開した結果に置換されます。 .Pp 以上のパラメータ展開において、`:' を用いた場合はパラメータが設定されていない かまたは空の値であることが検査され、`:' を省略するとパラメータが 設定されていないことのみを検査します。 .It Li ${#parameter} -文字列の長さ: パラメータの値の(文字列としての)長さに置換されます。 +文字列の長さ: パラメータの値の (文字列としての) 長さに置換されます。 .Pp 以下の 4 通りのパラメータ展開は部分文字列切り出し処理を行います。各場合 において、パターンは正規表現ではなく、パターンマッチ記法 (シェルパターン -の項を参照) が用いられます。パラメータが` * 'または` @ 'の場合、展開の結果 +の項を参照) が用いられます。パラメータが ` * ' または ` @ ' の場合、展開の結果 がどうなるかは規定しません (unspecified)。 パラメータ展開全体をダブルクォートで囲んでも パターンは引用されません。中括弧のなかで引用することにより パターンを引用することができます。 .It Li ${parameter%word} 最短後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter%%word} 最長後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .It Li ${parameter#word} 最短前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter##word} 最長前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .El .Ss コマンド置換 コマンド置換により、コマンド名自身をコマンドの出力で置き換えることができます。 コマンド置換は、以下のように、コマンド command を囲った場合、 .Bd -literal -offset indent $(command) .Ed .Pp または(``バッククォート'' バージョン)、 .Bd -literal -offset indent `command` .Ed .Pp とした場合に行なわれます。 シェルは、コマンド command をサブシェルの環境で実行し、command が標準出力 に出力したものから最後の改行文字を削除した結果で置換します (最後以外の 改行は削除しません。ただし、フィールド分割の際に、IFS の値や引用のされかたに よっては、ここで残った改行文字が結局は空白に置換されることもあります)。 .Ss 数式展開 数式展開とは、数式を評価し、その値に置換する仕組みです。数式展開の形式は以下 のとおりです。 .Bd -literal -offset indent $((expression)) .Ed .Pp 数式 expression は、その中のダブルクォート文字が特別扱いを受けないという 点を除いては、ダブルクォート文字で囲まれている文字列と同様に扱われます。 シェルは expression 中のすべてのトークンにパラメータ展開、コマンド置換、 クォート削除を適用します。 .Pp 次にシェルはその結果を数式として扱い、その値に置換します。 .Ss 空白文字による分割 (フィールド分割) パラメータ展開、コマンド置換、数式展開のあと、シェルは展開結果を調べて、 ダブルクォートの外にある部分に対してフィールド分割を適用します。 その結果、複数のフィールドになる場合もあります。 .Pp シェルは、変数 IFS に設定されている文字それぞれ区切り文字とみなし、 パラメータ展開の結果、およびコマンド置換の結果をフィールドに分割します。 .Ss パス名展開 (ファイル名生成) -f フラグが設定されていなければ、フィールド分割が行われたあと、ファイル名生成 が行われます。各単語は、スラッシュで区切られたパターンの列であるとみなさ れます。パス名展開処理において、単語は、条件を満たすファイル すべてのファイル名の列で置換されます。この各ファイル名は、単語の 各パターン部分を、そのパターンに一致する文字列に置換することで 生成されるものです。 これには 2 つの制限があります: まず、パターンはスラッシュを含む文字列には 一致しません。次に、パターンは、そのパターンがピリオドで始まらないかぎり、 ピリオドで始まる文字列に一致しません。 次節では、パス名展開と .Xr case 1 コマンドで用いられるパターンについて説明します。 .Ss シェルパターン パターンは、通常の文字とメタキャラクタからなります。通常の文字は、 その文字そのものに一致します。 メタキャラクタは ``!''、 ``*''、 ``?''、 ``['' です。これらの文字を引用 すると、各々の特殊な意味を失います。コマンド置換や変数置換において、 ドル記号やバッククォート文字がダブルクォート文字の中にない場合には、 変数の値やコマンドの出力の中に、これらの特殊な文字が存在するかどうかが 調べられ、それらがあれば、メタキャラクタとして扱われます。 .Pp アスタリスク文字 (``*'') は、どのような文字列とも一致します。 クエスチョンマーク文字 (``?'') は、任意の文字 1 文字と一致します。 左大括弧 (``['') は文字クラスを開始します。 文字クラスの最後は右大括弧 (``]'') です。``]'' がない場合 は、``['' は文字そのものに一致し、文字クラスの開始とは見なされません。文字 クラスは大括弧内に出現するすべての文字に一致します。 マイナス記号を用いれば、文字の範囲を指定することができます。 文字クラスの最初にエクスクラメーションマーク (``!'') を置くことで、 文字クラスの意味を反転させることができます。 .Pp 文字クラスに文字 ``]'' を含めるには、 ``]'' を文字クラスの最初 (``!'' を 置く場合はそのあと) に置きます。 文字クラスにマイナス記号を含めるときも同様で、 リストの最初もしくは最後に置きます。 .Ss 組み込みコマンド 本節では、別プロセスでは実行できない処理を行なうために組み込まれている コマンドを列挙します。 さらに、効率を上げるために組み込まれているかもしれないコマンド (例えば .Xr printf 1 , .Xr echo 1 , .Xr test 1 , 等) もあわせて列挙します。 .Bl -tag -width Ds .It : 終了ステータス 0 (真) を返すヌルコマンドです。 .It \&. file 指定されたファイル file に記述されたコマンドがシェルに読み込まれ、 実行されます。 .Ar file に .Ql / 文字を含む場合、その通りに扱われます。 そうでなければ、シェルは .Ev PATH を使用して、ファイルを検索します。 .Ev PATH を使用しても見付からない場合、カレントディレクトリを検索します。 .It alias [ name[=string] ... ] name=string が指定されている場合、シェルは名前 ``name'' を持つ値 ``value'' のエイリアスを定義します。単に ``name'' だけが指定された場合、 エイリアス ``name'' の値が表示されます。引数が指定されない場合、定義さ れているすべてのエイリアスの名前と値を表示します (unalias も参照)。 .It bg [ job ] ... 指定されたジョブ (指定されなかった場合は現在のジョブ) を、 続けてバックグラウンドで実行させます。 .It command command arg ... 指定された組み込みコマンドを実行します (組み込みコマンドと同じ名前のシェル関数 がある場合に使います)。 .It cd [ directory ] 指定されたディレクトリに移動します (directory 無指定時は $HOME に移動します)。 cd コマンドの 環境に CDPATH 変数があるか、シェル変数 CDPATH が設定されていて、かつ 指定されたディレクトリ directory がスラッシュ文字から始まっていないなら、 CDPATH に列挙されたディレクトリ以下に 指定されたディレクトリ directory がないか検索されます。 CDPATH の形式は PATH と同様です。対話的シェルでは、ユーザ が指定したディレクトリと異なる場所に移動した場合、移動先のディレクトリ名 を表示します。これは、CDPATH の機構が動作した場合と、シンボリックリンクを 辿った場合に発生します。 .It eval string ... 指定されたすべての引数を空白で結合し、その結果を解析し直してから コマンドとして実行します。 .It exec [ command arg ... ] コマンドが省略されない場合、そのシェルプロセスは指定されたプログラムに 置き換えられます (command は、シェル組み込みコマンドや関数ではない、本物の プログラムでなければなりません)。exec コマンドにおけるリダイレクトは、 永久性を持つと見なされ、 exec コマンド完了後にも引き続き効力を持ちます。 .It exit [ exitstatus ] シェルを終了します。指定された exitstatus は、シェルの終了ステータスに なります。exitstatus が省略された場合、直前に実行したコマンドの 終了ステータスがシェルの終了ステータスとなります。 .It export name ... それ以後にシェルから実行されるコマンドの環境に、指定された名前の変数が 含まれるようにします (変数のエクスポート)。 変数のエクスポートを取り消す唯一の方法は、変数を unset することです。 以下のように記述することで、エクスポートすると 同時に変数の値を設定することができます。 .Bd -literal -offset indent export name=value .Ed .Pp 引数を指定しない場合、すべてのエクスポートされている名前と値が表示されます。 .It fc [-e editor] [first [last]] .It fc -l [-nr] [first [last]] .It fc -s [old=new] [first] fc は、対話的シェルにそれ以前に入力されたコマンドの内容を 表示、編集、再実行します。 .Bl -tag -width Ds .It -e editor 編集に際し、指定されたエディタ editor を使用します。 editor は変数 PATH を通して検索できるコマンド名です。 -e が指定されなかった場合は、変数 FCEDIT の値が 用いられます。FCEDIT が設定されていないか空に設定されている場合は EDITOR の値が用いられ、それも設定されていないか空ならば .Xr ed 1 が用いられます。 .It -l (ell) (小文字のエル) エディタを起動せずに、コマンド履歴の内容を一覧出力します。 パラメータ first と last で指定した範囲のコマンドが順に -(出力の順番は -r オプションの影響を受けます)出力されます。 +(出力の順番は -r オプションの影響を受けます) 出力されます。 各コマンドの出力の際にはコマンド番号が付加されます。 .It -n -l で一覧出力する際にコマンド番号を付加しません。 .It -r -l オプションでの一覧や、 編集時 (-l も -s も指定されなかった場合) の順序を反転します。 .It -s エディタを起動せずにコマンドを再実行します。 .It first .It last 一覧出力や編集の対象となるコマンドを選択します。アクセス可能なコマンド の数は変数 HISTSIZE の値で決まります。 first、last の値は以下のいずれかの形式で指定します。 .It [+]number 正の数で、コマンド番号を指定します。コマンド番号は -l オプションで表示させて 調べることができます。 .It -number 負の数で、指定された数だけ現在から遡ったコマンドを指定します。たとえば、 -1 は直前に実行されたコマンドを指定します。 .It string 文字列 string は、過去に実行されたコマンドのうち、 その文字列から始まる最新のものを指定します。 もし -s オプションが指定されて ``old=new'' が指定されていなければ、 -最初のオペランドにイコール記号(``='')を含めることはできません。 +最初のオペランドにイコール記号 (``='') を含めることはできません。 .El .\" 次の行の .Pp はもともとコメントアウトされていた .Pp fc コマンドの実行にあたり、以下の環境変数の影響を受けます。 .Bl -tag -width Ds .It Va FCEDIT 使用するエディタ名 .It Va HISTSIZE アクセス可能なコマンド数 .El .It fg [ job ] 指定されたジョブまたは現在のジョブをフォアグラウンドに移動します。 .It getopts optstring var POSIX に準拠した getopts コマンドです。 この getopts コマンドにより、以前の getopt コマンドの必要性は減少しました。 最初の引数は文字の列です。各文字の後ろにはコロンをつけることができ、 そのオプションが引数をとることを指示します。 指定された変数に、解析され見つかったオプションが設定されます。 見つかったオプションの次の引数のインデックスはシェル変数 OPTIND に格納されます。 あるオプションが引数をとる場合、その引数はシェル変数 OPTARG に置かれます。 有効でないオプションに出くわすと、変数 var には `?' がセットされます。 getopts はオプション群の末尾に到達すると偽の値 (1) を返します。 .It hash -rv command ... シェルは、コマンドの位置を保持するハッシュテーブルを維持管理しています。 hash コマンドに引数が指定されなかった場合、このテーブルの内容が出力されます。 最後に cd コマンドが実行されてから参照されていない項目には アスタリスク文字 (``*'') が表示されます。 この項目は無効になっているかもしれません。 .Pp 引数を指定した場合、hash コマンドは指定したコマンドをハッシュテーブル から削除し (command が関数ではない場合)、その後でそのコマンドを検索します。 -v オプションを指定した場合、発見したコマンドの位置を表示します。-r オプション を指定した場合、関数以外のすべてのエントリをハッシュテーブルから 削除します。 .It jobid [ job ] ジョブ job 中の各プロセスのプロセス ID を表示します。引数 job が 省略された場合、現在のジョブに対して処理を行います。 .It jobs バックグラウンドで走行中の、現在のシェルプロセスの子プロセスの 一覧を出力します。 .It pwd カレントディレクトリを表示します。組み込みコマンドの pwd は カレントディレクトリ名を覚えており、表示するときに再計算しないので、 組み込みコマンドの pwd は同名のプログラムとは異なった表示をする場合があります。 このため処理は高速ですが、カレントディレクトリ の名前を変更した場合でも、以前のディレクトリ名を表示し続けます。 .It Li "read [ -p prompt ] [ -e ] variable ... -p オプションが指定され、かつ標準入力が端末の場合、 prompt をプロンプトとして表示します。 そして標準入力から 1 行入力します。行端の改行文字を削除し、行を前述の 単語分割の方法に従って分割し、各単語を、valiable... で指定する各変数に 順に代入します。 もし、指定された変数の数より分割された単語の数が多ければ、最後の変数に 残りの単語すべて (IFS の文字を区切りにしてそれらも一緒に) が代入されます。 分割された単語の数より多くの変数が指定されていたなら、 余った変数には空文字列が設定されます。 .Pp -t オプションが指定され、かつ入力がなされる前にタイムアウトすると、 read コマンドは値を割当てずに戻ります。 タイムアウト値の後にはオプションで 's', 'm', 'h' のいずれかの一文字 を付けることが出来、それぞれ秒, 分, 時間を陽に指定します。 どれも指定しない場合には 's' であるものとします。 .Pp -e オプションを指定すると、入力中のバックスラッシュ文字を特別扱いします。 バックスラッシュ文字が改行文字の直前にある場合、 バックスラッシュ文字と改行文字は削除されます。 その他の文字の直前にバックスラッシュがある場合、バックスラッシュは削除され、 文字が IFS に含まれていても、IFS の文字でないかのように扱われます。 .It readonly name ... 指定された名前の変数を読み出し専用とし、あとで値を変更したり unset した りすることができないようにします。以下のように記述することで、 変数を読み出し専用と宣言するのと同時に値を設定することも可能です。 .Bd -literal -offset indent readonly name=value .Ed .Pp 引数が指定されない場合、読み出し専用になっている変数の名前の一覧が表示され ます。 .It Li "set [ { -options | +options | -- } ] arg ... set コマンドは 3 通りの異なった機能を持ちます。 .Bl -item .It 引数を指定しなかった場合、すべてのシェル変数の名前と値の一覧を表示します。 .It options が指定された場合、「引数リスト処理」の節で説明した方法で、 指定されたオプションフラグを設定あるいは解除します。 .It 第 3 の用法は、シェルの位置パラメータを変更する際に使用します。オプションの 設定を変更せずに位置パラメータのみを変更したい場合は set コマンドへの最初 の引数として ``--'' を指定します。arg が指定されない場合、 すべての位置パラメータはクリアされます (``shift $#'' を実行することと 等価です)。 .El .Pp .It setvar variable value 変数に値を代入します。(一般に、setvar を使うよりも variable=value と書くほう が望ましいといえます。setvar は、関数内で、パラメータとして渡された名前を持つ 変数に値を代入するためのものです。) .It shift [ n ] 位置パラメータを n 回シフトします。1 回のシフトにより、$2 の値が $1 に、$3 の 値が $2 に代入されます (以下同様)。また、$# の値は 1 減少します。 位置パラメータがない場合、shift は何もしません。 .It trap [ action ] signal ... シェルが指定されたシグナル signal を受けとったときに、action を解析し実行する ように設定します。シグナルはシグナル番号で指定します。action は空文字列に したり、省略したりすることができます。空文字列の場合、指定されたシグナルは 無視され、省略した場合は、指定したシグナルを受けとったときデフォルトの処理を 行ないます。シェルがサブシェルを起動するとき、trap で指定された (かつ 無視するように設定されていない) シグナルの動作をデフォルトの処理に戻します。 シェルが起動したときにすでに無視されるように設定されていたシグナルに対して trap コマンドを使用しても効果はありません。 .It type [name] ... 各 name をコマンドとして解釈し、コマンド検索の結果を出力します。出力さ れる結果は以下のものがあります。シェルのキーワード、エイリアス、シェル -の組み込みコマンド、コマンド、痕跡つきエイリアス(tracked alias)、最後に -not found (見つからず)があります。エイリアスについては、エイリアス展開 +の組み込みコマンド、コマンド、痕跡つきエイリアス (tracked alias)、最後に +not found (見つからず) があります。エイリアスについては、エイリアス展開 の結果が出力されます。コマンドと痕跡つきエイリアスについては、そのコマンドの 完全なパス名が印刷されます。 .It ulimit [ -HSacdflmnust ] [ limit ] リソースのリミット値 (リミット値については .Xr getrlimit 2 参照) を設定あるいは表示します。 ``limit'' が指定されている場合、指定されたリソースが設定されます。 それ以外の場合、現在のリソース設定値が表示されます。 .Pp ``-H'' が指定された場合、ハードリミットが設定ないし表示されます。 ハードリミット値を下げることは誰にでもできますが、 それを増やすことができるのはスーパユーザだけです。 オプション ``-S'' を指定した場合はソフトリミットになります。 リミット値を表示する場合、``-S'' か ``-H'' のいずれか一方だけしか 指定できません。 デフォルトでは、表示はソフトリミット、設定はハード/ソフトリミット両方です。 .Pp オプション ``-a'' を指定すると全リソースの設定値が表示されます。 この場合、パラメータ ``limit'' は指定できません。 .Pp この他のオプションは、表示あるいは設定するリソースの種類を指定するものです。 これらは互いに排他的です。 .Bl -tag -width Ds .It -c coredumpsize コアダンプファイルの最大サイズ。512 バイトのブロック単位。 .It -d datasize プロセスのデータセグメントの最大サイズ。キロバイト単位。 .It -f filesize ファイルの最大サイズ。512 バイトブロック単位。これがデフォルトです。 .It -l lockedmem プロセスがロックできるメモリサイズの最大値。キロバイト単位。 .It -m memoryuse プロセスの常駐セットサイズの最大値。キロバイト単位。 .It -n nofiles あるプロセスがオープンできるファイル記述子の最大数。 .It -s stacksize スタックセグメントサイズの最大値。キロバイト単位。 .It -t time 各プロセスで消費できる CPU 時間の最大値。秒単位。 .It -u userproc このユーザ ID で同時に走らせうる最大プロセス数。 .El .It umask [ mask ] umask の値 ( .Xr umask 2 を参照) を、指定された 8 進数の値に設定します。引数が 省略された場合、現在の umask の値が表示されます。 .It unalias [-a] [name] ``name'' が指定された場合、指定された名前のエイリアスを削除します。 ``-a'' オプションが指定された場合、すべてのエイリアスを削除します。 .It unset name ... 指定された変数または関数を unset し、エクスポートされていない状態にします。 指定された名前の変数も関数も存在する場合、変数と関数の両方が unset されます。 .It wait [ job ] 指定されたジョブ job が終了するのを待ち、ジョブ内の最後のプロセスの 終了ステータスを返します。引数が省略された場合、すべてのジョブが終了する まで待ち、終了ステータス 0 を返します。 .El .Ss コマンド行編集 .Nm が端末から対話的に実行されている場合、現在入力中のコマンドおよび コマンド履歴 (組み込みコマンド fc 参照) を vi モードのコマンド行編集機能 により編集することができます。 このモードでは、vi のマニュアルに示されているコマンドのサブセットを用います。 コマンド `set -o vi' により vi モードが開始され、vi の挿入モードに移行します。 vi モード中では、 挿入モードとコマンドモードの両方を自由に切り替えることが可能です。 vi モードは vi と同様であり、 キー によりコマンドモードに移行し、コマンドモードで キーを叩くことで、 行の内容がシェルに渡されます。 .Pp 同様に、コマンド `set -o emacs' により emacs 風のコマンド行編集機能の サブセットを使うことができるようになります。 .Sh 関連項目 .Xr expr 1 , .Xr test 1 .Sh 歴史 .Nm コマンドは、 .At V.1 で登場しました。 .\" -Amended by N.Kumagai 97.12.30 diff --git a/ja_JP.eucJP/man/man1/tar.1 b/ja_JP.eucJP/man/man1/tar.1 index bbb1f7a7df..8d9b0c17eb 100644 --- a/ja_JP.eucJP/man/man1/tar.1 +++ b/ja_JP.eucJP/man/man1/tar.1 @@ -1,494 +1,502 @@ .\" Copyright (c) 1991, 1992, 1993 Free Software Foundation -*- nroff -*- .\" See /usr/src/gnu/COPYING for conditions of redistribution .\" .\" Written by John F. Woods .\" Updated by Robert Eckardt .\" -.\" %Id: tar.1,v 1.18 1998/09/22 09:55:09 roberto Exp % -.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab % +.\" %Id: tar.1,v 1.18.2.1 1999/03/29 11:26:35 obrien Exp % .\" +.\" jpman %Id: tar.1,v 1.2 1997/06/24 07:09:44 bobson Stab % .Dd 25 August 1997 .Os FreeBSD .Dt TAR 1 .Sh 名称 .Nm tar .Nd テープアーカイバ; "tar" アーカイブファイルの操作 .Sh 書式 .Nm tar .Op [-] Ns Ar bundled-options .Op Ar gnu-style-flags .Op Ar tarfile .Op Ar blocksize .Op Ar exclude-file .Op Ar filenames .Op Fl C Ar directory-name .Sh 解説 .Nm は、歴史的な理由により .Dq tape archiver を省略して名付けられました。 .Nm プログラムは、 .Ar tarfile と呼ばれる .Dq tar フォーマットのアーカイブファイルを作成し、アーカイブにファイルを追加したり、 またアーカイブからファイルを抽出したりします。 tarfile は通常磁気テープを指しますが、フロッピディスケットや 通常のファイルでも構いません。 .Pp 通常、 .Nm コマンドラインの最初の引数は、機能文字および機能変更文字からなる単語であり、 -その前に ダッシュ(-)をつけてもつけなくてもいいようになっています。 -単語には、次の機能文字のうちちょうど 1 つを含んでいなければなりません: +その前に ダッシュ (-) を付けても付けなくてもいいようになっています。 +単語には、次の機能文字のうち丁度 1 つを含んでいる必要があります: .Cm A , .Cm c , .Cm d , .Cm r , .Cm t , .Cm u , .Cm x , -これらはそれぞれ 追加 (append) 、作成 (create) 、差分 (difference) 、 -置換 (replace) 、リスト表示 (table of contents) 、更新 (update) 、 -そして抽出 (extract) を意味しています (下記に詳細があります) 。 +これらはそれぞれ、 +追加 (append)、作成 (create)、差分 (difference)、置換 (replace)、 +リスト表示 (table of contents)、更新 (update)、抽出 (extract) +を意味しています (下記に詳細があります)。 これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語に 含めることができます。それらのいくつかは、コマンド単語内と同じ順で コマンドライン引数を要求します (使用例の節を参照) 。 機能文字と機能変更文字は、GNU 形式の引数で指定することもできます -(2 つのダッシュを最初につけ、1 つのコマンド単語ごとに機能文字か -機能変更文字を 1 つだけ指定する) 。 +(2 つのダッシュを最初に付け、1 つのコマンド単語ごとに機能文字か +機能変更文字を 1 つだけ指定する)。 アーカイブへの追加、アーカイブからの抽出、そしてリスト表示のために コマンドライン指定するファイル名には、 シェルのパターンマッチ文字列を使用することができます。 .Sh 機能 -以下の機能のいずれか1つだけを必ず指定しなければなりません。 +以下の機能のいずれか 1 つだけを必ず指定する必要があります。 .Pp .Bl -tag -width "--concatenate" -compact .It Fl A .It Fl -catenate .It Fl "-concatenate" -指定された(tar アーカイブ形式の)ファイルを tar アーカイブの末尾 +指定された (tar アーカイブ形式の) ファイルを tar アーカイブの末尾 に追加します。(追加する前の古い end-of-archive ブロックは削除さ れます。) -これは、指定されたファイルがアーカイブの中の1ファイルとなるので +これは、指定されたファイルがアーカイブの中の 1 ファイルとなるので はなく、指定したファイルの中に含まれているファイルを、最初に指定 したアーカイブに追加するという効果を持ちます。 .Em 注: このオプションは tarfile を再書き込みする必要があるため、1/4 インチカートリッジテープでは動作しません。 .It Fl c .It Fl -create 新しいアーカイブを作成して (もしくは古い内容を切り捨てて)、指定 されたファイルをアーカイブに書き込みます。 .It Fl d .It Fl -diff .It Fl -compare アーカイブの中のファイルと、それに相当するファイルシステム内の ファイルとの違いを調査します。 .It Fl -delete 指定されたファイルをアーカイブから削除します。(1/4 インチテープ では動作しません。) .It Fl r .It Fl -append アーカイブの末尾にファイルを追加します。(1/4 インチテープでは 動作しません。) .It Fl t .It Fl -list アーカイブ内容のリスト表示をします。もし引数としてファイル名が 指定されていれば、そのファイルだけがリスト表示されます。そうでなけ れば、アーカイブに含まれるすべてのファイルリストが表示されます。 .It Fl u .It Fl -update 指定したファイルのうち、アーカイブ内のファイルよりもディスク上の ファイルの変更時刻が新しいものだけを追加します。1/4 インチテープ では動作しません。 .It Fl x .It Fl -extract .It Fl -get アーカイブからファイルを抽出します。可能ならば、所有者、 変更時刻、ファイル属性はリストアされます。もし .Ar file 引数が指定されていなければ、アーカイブ内の全ファイルが抽出されます。 もし .Ar filename 引数がテープ上のディレクトリ名にマッチしていれば、そのディレクトリと -ディレクトリ内のファイルが抽出されます。(ディレクトリ内のす -べてのディレクトリについても同様に抽出されます。) -もしアーカイブ内に、相当する同じファイルが複数含まれていれば(上記の +ディレクトリ内のファイルが抽出されます。(ディレクトリ内の +すべてのディレクトリについても同様に抽出されます。) +もしアーカイブ内に、相当する同じファイルが複数含まれていれば (上記の .Fl -append コマンドを参照)、最後に含まれているものが他のすべてのファイルを 上書きする形で抽出されます。 .Sh オプション .Nm の他のオプションは、組み合わせて使用することができます。 -1文字オプションは、コマンド単語の中で指定することができます。 +1 文字オプションは、コマンド単語の中で指定することができます。 引数を与えるべきオプションの場合、オプションに続けて引数を指定し -ます。1文字オプションであれば、これに続くコマンドライン引数を +ます。1 文字オプションであれば、これに続くコマンドライン引数を 使用します (以下の .Sx 使用例 を参照してください。) .Pp .Bl -tag -width "--preserve-permissions" -compact .It Fl -help .Nm のすべてのコマンドオプションについて一覧と解説を表示します。 .It Fl -atime-preserve テープに書かれている、ファイルのアクセス時刻をリストアします。 -(inodeの変更時刻が変更されることに注意してください!) +(inode の変更時刻が変更されることに注意してください!) .It Fl b .It Fl -block-size Ar number 読み書きするブロックサイズを .Ar number * 512-byte ブロック に設定します。 .It Fl B .It Fl -read-full-blocks 短い読みだしブロックを、完全なブロックに再組み立てします。 (4.2BSD パイプの読み込み用。) .It Fl C Ar directory .It Fl -directory Ar directory 残りの引数を処理する前に .Ar directory へ移動します。 .It Fl -checkpoint アーカイブを読み書きする間に読み書きしたバッファの数を表示します。 .It Fl f Ar [hostname:]file .It Fl -file Ar [hostname:]file 指定された .Ar file (デフォルトは /dev/rsa0) を読み書きします。 もし .Ar hostname が指定されていれば、 .Nm は .Xr rmt 8 を使って、リモートマシン上の .Ar file を読み書きします。"-" はファイル名として使用されることもありますが、 これは標準入力から読み出したり、標準出力へ書き出したりするために使用されます。 .It Fl -force-local コロンがある時でさえ、アーカイブファイルはローカルのものとします。 .It Fl F Ar file .It Fl -info-script Ar file .It Fl -new-volume-script Ar file それぞれのアーカイブが終ると、スクリプトを実行します (暗黙の .Fl M 指定が行なわれます。) .It Fl -fast-read ワイルドカードで指定されていないすべての抽出ターゲットが アーカイブ内に見つかったら、その時点で終了します。 .It Fl G .It Fl -incremental 古い GNU-format インクリメンタルバックアップファイルを作成/リスト/ 抽出します。 .It Fl g Ar file .It Fl -listed-incremental Ar file 新しい GNU-format インクリメンタルバックアップファイルを作成/リスト/ 抽出します。 .It Fl h .It Fl -dereference シンボリックリンクをシンボリックのまま書き込みません。シンボリックリンクが 指しているデータを書き込みます。 .It Fl i .It Fl -ignore-zeros -アーカイブの中のゼロブロック(通常、End-Of-File を意味する)を無視します。 +アーカイブの中のゼロブロック (通常、End-Of-File を意味する) を無視します。 .It Fl -ignore-failed-read ファイルが読めなくても、非 0 のステータスで exit しません。 .It Fl k .It Fl -keep-old-files ディスク上に既にあるファイルを保持します。つまり、アーカイブから 抽出するファイルは、ディスク上のファイルへ上書きしません。 .It Fl K Ar file .It Fl -starting-file Ar file アーカイブの中の .Ar file -から(抽出、リストなどを)始めます。 +から (抽出、リストなどを) 始めます。 .It Fl l .It Fl -one-file-system あるファイルシステム内にあるファイルだけでアーカイブを作成します。 (他ファイルシステムへのマウントポイントを跨ぎません。) .It Fl L Ar number .It Fl -tape-length Ar number .Ar number * 1024 バイト書き込んだ後でテープの交換を要求します。 .It Fl m .It Fl -modification-time ファイルの変更時刻を抽出しません。 .It Fl M .It Fl -multi-volume マルチボリュームアーカイブを作成/リスト/抽出します。 .It Fl n .It Fl -norecurse 作成時に再帰的にサブディレクトリを走査しません。 .It Fl -volno-file Ar file ボリューム番号付きのファイル名です。 .It Fl N Ar date .It Fl -after-date Ar date .It Fl -newer Ar date 作成時間が .Ar date より新しいファイルだけを抽出します。 .It Fl -newer-mtime Ar date 変更時間が .Ar date より新しいファイルだけを抽出します。 .It Fl o .It Fl -old-archive .It Fl -portability POSIX フォーマットではなく、V7 フォーマットのアーカイブを作成します。 .It Fl O .It Fl -to-stdout ファイルを標準出力に抽出します。 .It Fl p .It Fl -same-permissions .It Fl -preserve-permissions 保護情報を完全に抽出します。 .It Fl -preserve .Fl p s の指定と同じ効果を持ちます。 .It Fl P .It Fl -absolute-paths ファイル名から先頭の `/' をとりません。 .It Fl R .It Fl -record-number メッセージ中にアーカイブ内のレコード番号を埋め込み表示します。 .It Fl -remove-files アーカイブに追加したファイルを、追加後に削除します。 .It Fl s .It Fl -same-order .It Fl -preserve-order アーカイブ内から抽出するファイルを、指定された順のままにします。 .It Fl -show-omitted-dirs アーカイブ作成中に除外されたディレクトリを表示します。 .It Fl S .It Fl -sparse 「少ない」ファイルを効率的に扱うようにします。 .It Fl T Ar file .It Fl -files-from Ar file .Ar file -から抽出もしくは作成するファイル名を得ます。(1行1ファイル名。) +から抽出もしくは作成するファイル名を得ます。(1 行 1 ファイル名。) .It Fl -null -nullで終わっている名前を考慮し、 +null で終わっている名前を考慮し、 .Fl T の振舞を変更します。 これは .Fl C 指定を無効にします。 .It Fl -totals .Fl -create -によって書かれたトータルバイト数を表示します。 +によって書かれた総バイト数を表示します。 .It Fl v .It Fl -verbose .Fl -create でアーカイブに書くファイルや .Fl -extract でアーカイブから 取り出すファイル名をリスト表示します。 ファイルの保護情報をファイル名とともに表示させるには、 .Fl -list を使います。 .It Fl V Ar volume-name .It Fl -label Ar volume-name 指定された .Ar volume-name を持ったアーカイブを作成します。 .It Fl -version .Nm プログラムのバージョン番号を表示します。 .It Fl w .It Fl -interactive .It Fl -confirmation すべての動作に対して、確認を求めるようになります。 .It Fl W .It Fl -verify アーカイブを書き込んだ後、ベリファイを試みます。 .It Fl -exclude Ar pattern .Ar pattern にマッチするファイルを除外します。 (抽出しません。追加しません。リスト表示しません。) .It Fl X Ar file .It Fl -exclude-from Ar file .Ar file に一覧されているファイルを除外します。 +.It Fl y +.It Fl -bzip2 +.It Fl -bunzip2 +アーカイブを +.Xr bzip2 1 +でフィルタリングします。 .It Fl Z .It Fl -compress .It Fl -uncompress アーカイブを .Xr compress 1 でフィルタリングします。 .It Fl z .It Fl -gzip .It Fl -gunzip アーカイブを .Xr gzip 1 でフィルタリングします。 .It Fl -use-compress-program Ar program アーカイブを .Ar program でフィルタリングします。 (これは、 .Fl d が指定されたときは ``decompress'' を意味しなければなりません。) .It Fl -block-compress テープもしくはフロッピのために、圧縮プログラムの出力をブロック 化します。(そうしないと、ブロック長がおかしくなり、デバイスドライバは そのブロックを拒絶するでしょう。) .It Fl [0-7][lmh] テープドライブと密度を指定します。 .It Fl -unlink ファイルを作成する前に、いったん削除します。 .El .Sh 使用例 "bert" と "ernie" というファイルを含む、 ブロックサイズが 20 ブロックのアーカイブを、 テープドライブ /dev/rsa0 に作るには、 .Pp .Dl tar cfb /dev/rsa0 20 bert ernie .Pp もしくは .Pp .Dl tar\ --create\ --file\ /dev/rsa0\ --block-size\ 20\ bert\ ernie .Pp と入力します。 .Fl f および .Fl b フラグは両方とも引数を必要としていることに注意してください。 この引数は、コマンド単語に書かれているのと同じ順序でコマンドラインから 取得されます。 .Pp /dev/rsa0 はデフォルトのデバイスであり、20 はデフォルトのブロック サイズですので、上記の例は次のように単純化できます。 .Pp .Dl tar c bert ernie .Pp "backup.tar" というアーカイブから、すべての C ソース及びヘッダを 抽出するには、次のようにタイプします。 .Pp .Dl tar xf backup.tar '*.[ch]' .Pp -シェルがカレントディレクトリ内のファイル名に展開しないよう、パタ -ーンをクォートしなければならないことに注意してください。(当然、 +シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを +クォートしなければならないことに注意してください。(当然、 シェルはアーカイブ内のファイル一覧にアクセスすることはできません。) .Pp ファイルを階層構造ごとコピーするには、このようにコマンドを使用してください: .Bd -literal tar cf - -C srcdir . | tar xpf - -C destdir .Ed .Pp ディスケットに、gzip を使った圧縮アーカイブを作成するには、次の ようなコマンドラインを使うといいでしょう。 .Pp .Dl tar --block-compress -z -c -v -f /dev/rfd1a -b 36 tar/ .Pp -まとめ指定フラグと --スタイルのフラグを混在させることができない +まとめ指定フラグと -- スタイルのフラグを混在させることができない ことに注意してください。次のようにタイプしなければならないわけで -はなく、上記のような書き方で1文字フラグを使うことができます。 +はなく、上記のような書き方で 1 文字フラグを使うことができます。 .Pp .Dl tar --block-compress --gzip --verbose --file /dev/rfd1a --block-size 20 tar / .Pp 上のようにして作成したディスクの内容は、次のようにすればリスト表 示できます。 .Pp .Dl tar tvfbz /dev/rfd1a 36 .Pp 2 つの tar アーカイブを 1 つのアーカイブにまとめるには、 .Pp .Dl tar Af archive1.tar archive2.tar .Pp を使います。こうすると、archive2.tar に含まれているファイルが archive1.tar の末尾に追加されます。(単純に .Pp .Dl cat archive2.tar >> archive1.tar .Pp とタイプしてもうまくいかないことに注意してください。なぜなら、 tar アーカイブの末尾には end-of-file ブロックがあるからです。) .Pp srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた 全てのファイルをアーカイブするためには、以下の形式を使って下さい。 .Dl tar\ -c\ -f\ backup.tar\ --newer-mtime\ 'Feb\ 9\ 13:15\ 1997'\ srcdir/ .Pp 他の時間指定形式としては、'02/09/97 13:15', \&'1997-02-09 13:15', '13:15 9 Feb 1997', '9 Feb 1997 13:15', \&'Feb. 9, 1997 1:15pm', '09-Feb', '3 weeks ago', 'May first Sunday' があります。 正しいタイムゾーンを指定するためには、 `13:15 CEST' や `13:15+200' を使用して下さい。 .Sh 環境変数 .Nm プログラムは、以下の環境変数を参照します。 .Bl -tag -width "POSIXLY_CORRECT" .It POSIXLY_CORRECT 通常、 .Nm はファイル指定の中に混ざったフラグを処理します。 この環境変数を設定すると、 .Nm は最初のフラグ以外の引数を見つける とそれ以降の引数に対してフラグ処理を行なわないという、POSIX 仕様 に合わせた動作を行なうようになります。 .It SHELL インタラクティブモードにおいて、サブシェルの起動が要求されたとき、 SHELL 変数が設定されていればそれが、設定されていなければ "/bin/sh" が使用されます。 .It TAPE tar のデフォルトのテープドライブを変更します。(これは、さらに .Fl f フラグによって変更することができます。) .El .Sh 関連ファイル .Bl -tag -width "/dev/rsa0" .It Pa /dev/rsa0 デフォルトのテープドライブ .El .\" This next request is for sections 1, 6, 7 & 8 only .\" (command return values (to shell) and fprintf/stderr type diagnostics) .\" .Sh 診断 .Sh 関連項目 +.Xr bzip2 1 , .Xr compress 1 , .Xr gzip 1 , .Xr pax 1 , .Xr ft 8 , .Xr rmt 8 .\" .Sh 規格 .Sh 歴史 .Nm フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に 原点があります。 この .Nm の実装は GNU 実装であり、John Gilmore によって書かれた パブリックドメイン tar が元になっています。 .Sh 作者 次の人を含む、大変多くの人々。[ソースの中の ChangeLog ファイルに記 述されている人々] .An John Gilmore (オリジナルのパブリックドメイン版の作者), .An Jay Fenlason (最初の GNU 作者), .An Joy Kendall , .An Jim Kingdon , .An David J. MacKenzie , .An Michael I Bushnell , .An Noah Friedman そして バグフィックスや追加を貢献してくれた無数の人々。 このマニュアルページは NetBSD 1.0 release から、 .Bx Free グループが 取り込んだものです。 .Sh バグ 特徴的な .Fl C オプションの動作は、伝統的な tar プログラムのそれとは異なるので、 あまり頼りにはできません。 .Pp .Fl A コマンドで任意の数の tar アーカイブを結合できればいいのですが、 それはできません。これをやろうとしても、 2 つ目以降のアーカイブの end-of-archive ブロックが削除されずに残ってしまいます。 diff --git a/ja_JP.eucJP/man/man1/tbl.1 b/ja_JP.eucJP/man/man1/tbl.1 index caa031ba17..eda844b893 100644 --- a/ja_JP.eucJP/man/man1/tbl.1 +++ b/ja_JP.eucJP/man/man1/tbl.1 @@ -1,178 +1,178 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: tbl.1,v 1.2 1997/05/15 15:23:39 horikawa Stab % -.TH TBL 1 "7 September 1996" "Groff Version 1.10" +.TH TBL 1 "7 September 1996" "Groff Version 1.11" .SH 名称 tbl \- troff のための表フォーマッタ .SH 書式 .B tbl [ .B \-Cv ] [ .IR files \|.\|.\|. ] .SH 解説 本マニュアルでは、groff ドキュメントフォーマットシステムの一部である GNU バージョンの .BR tbl について記述します。 .B tbl は、 .B troff ドキュメントに埋め込まれた表の記述を .BR troff が解釈できるコマンドに変換します。通常、 .B tbl は .B groff に .B \-t オプションを指定することにより起動されます。 .B tbl は Unix .B tbl と高い互換性を持ちますが、GNU .B tbl の出力は Unix .B troff で処理することはできません。それは GNU .B troff で処理する必要があります。 コマンドラインにファイル名が指定されなかった場合、 標準入力から読み込みます。 ファイル名として .B \- を指定した場合も標準入力から読み込みます。 .SH オプション .TP .B \-C .B .TS や .B .TE のあとに空白や改行以外の文字がきても、それを .B .TS や .B .TE であると解釈します。 .TP .B \-v バージョン番号を表示します。 .SH 使用法 ここでは GNU の .B tbl と Unix の .B tbl の違いだけ説明します。 .LP 通常 .B tbl は転換(diversion)を使用し、表内で望ましくないブレイクを抑止しようとします。 これは、独自に転換を使用しているマクロパッケージ、例えばフットノートが 使用された場合などに、干渉する場合があります。 .B nokeep オプションは .B tbl に、こういったブレイクを使用させないようにします。 .LP .B decimalpoint オプションはデフォルトのピリオドのかわりに小数点として認識される文字を 指定します。 これは .B tab オプションと同じように、括弧でくくられた一文字だけの引数をとります。 .LP .B f フォーマット修飾子の後には、 括弧でくくられた任意の長さのフォント名を指定することができます。 .LP 縦書きエントリをレンジの下部に整列させるという意味を持つ .B d フォーマット修飾子があります。 .LP 表のカラム数にもテキストブロックの数にも制限はありません。 カラム幅の決定については、最初の 200 行だけではなく、 すべての行が考慮されます。 表の継続 .RB ( .T& ) 行は最初の 200 行に制限されません。 .LP 数字と英字の項目を同じカラムに印字することもできます。 .LP 数字と英字の項目を水平方向にまたがらせることもできます。 .LP .B tbl は .B 3 で始まる名前のレジスタ、文字列、マクロ、転換名を使用します。 .B tbl を使う際には .B 3 で始まる名前の使用は避けるべきです。 .SH バグ 複数ページにまたがる枠付き表を表示する場合、それをサポートしている マクロパッケージと .BR .TS\ H / .TH を併用しなければなりません。 表の各ページの上部に表示されるべきヘッダが出ない場合、 そのフォーマットセクションの直後に .B .TH を置いて下さい。 複数ページの表を keep/release マクロで囲んだり、その他の方法で 迂回させないでください。 .LP 表中のテキストブロックは 1 ページに収まらなければなりません。 .LP .B bp リクエストは複数ページの表でページブレイクを強制するために 使用することはできません。 .B bp のかわりに .B BP を以下のように定義して使用して下さい。 .IP .B .de BP .br .B .ie '\e\en(.z'' .bp \e\e$1 .br .B .el \e!.BP \e\e$1 .br .B .. .br .LP 表中で直接 \ea を使用しても、リーダはうまく得られません。 これは正しい動作です: \ea は .B 解釈されない リーダです。 リーダを得るためには、本物のリーダを使います。 それには control A か以下を使用する必要があります: .IP .nf .ft B \&.ds a \ea \&.TS tab(;); lw(1i) l. A\e*a;B \&.TE .ft .fi .SH 関連項目 .BR groff (1), .BR troff (1) diff --git a/ja_JP.eucJP/man/man1/tfmtodit.1 b/ja_JP.eucJP/man/man1/tfmtodit.1 index 47c9978e29..0b8ab32edc 100644 --- a/ja_JP.eucJP/man/man1/tfmtodit.1 +++ b/ja_JP.eucJP/man/man1/tfmtodit.1 @@ -1,156 +1,156 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: tfmtodit.1,v 1.2 1997/03/29 11:46:40 horikawa Stab % .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH TFMTODIT 1 "7 September 1996" "Groff Version 1.10" +.TH TFMTODIT 1 "7 September 1996" "Groff Version 1.11" .SH 名称 tfmtodit \- groff \-Tdvi で用いるフォントファイルを作成する .SH 書式 .B tfmtodit [ .B \-sv ] [ .BI \-g gf_file ] [ .BI \-k skewchar ] .I tfm_file .I map_file .I font .SH 解説 .B tfmtodit は、 .B groff \-Tdvi\fR で用いるフォントファイルを作成します。 .I tfm_file は、フォント作成に用いる \*(tx のフォントメトリックファイル名です。 .I map_file は .B groff での文字名を記述したファイルです。このファイルは、以下 の形式を持ちます。 .IP .I n c1 c2 \fR.\|.\|. .LP .I n はフォント中での十進数で表した文字の位置、 .IR c1 , .IR c2 ,.\|.\|. は groff での文字名を示します。 tfm ファイルに存在するが、groff では名前を持たない文字は groff フォントファイルに名前のない文字として出力されます。 .I font は、出力する groff フォントファイル名です。 .LP 特殊なフォント(カレントフォントの中に文字が見つからない場合に 検索されるフォントのこと)に対しては .B \-s オプションを指定する必要があります。 特殊なフォントは DESC ファイルの .B fonts コマンドで列挙します。特殊なフォント以外は列挙する必要はありません。 .B troff がそのフォントを最初に使用したときに自動的にマウントできるからです。 .LP 数式を適切に処理するために、groff は tfm には含まれない フォントメトリック情報を必要とします。 \*(tx は数式用のイタリックフォントを使用しますが、groff では、 通常のイタリックフォントを数式にも使用するからです。 groff が必要とする情報は、Metafont の Computer Modern fonts に おける .B math_fit マクロの 2 つの引数によって与えることができます。 Metafont は通常、テキストフォント( .B math_fitting が false)の処理中、これらの引数を無視します。 .B cm.base を作成するときに以下の定義を .B cmbase のあとにロードすることによって、 テキストフォントのフォントメトリック情報を gf ファイル中に出力するように Metafont に指示できます。 .IP .nf .ft B def ignore_math_fit(expr left_adjustment,right_adjustment) = special "adjustment"; numspecial left_adjustment*16/designsize; numspecial right_adjustment*16/designsize; enddef; .fi .ft R .LP この変更された .B cm.base を使って作成された gf ファイルは .B \-g オプションで指定します。 .B \-g オプションは、 .I math_fitting が true に設定されたフォントに対しては使用してはいけません。 .SH オプション .TP .B \-v バージョン番号を表示します。 .TP .B \-s 特殊なフォントであることを指定します。フォントファイルに .B special コマンドを追加します。 .TP .BI \-k n フォント中の skewchar (斜めになった文字) の位置を指定します。 .I n は整数で、10 進数か、 .B 0 で始まる 8 進数か .B 0x で始まる 16 進数で指定します。本オプションで指定された文字が カーニング処理の 2 文字目にきた場合、 カーニングを行わないようになります。 .TP .BI \-g gf_file Metafont で生成された gf ファイル .I gf_file を指定します。 この gf ファイルは special コマンドと numspecial コマンドを含み、 追加のフォントメトリック情報を与えます。 .SH 関連ファイル .Tp \w'\fB/usr/share/groff_font/devdvi/DESC'u+2n .B /usr/share/groff_font/devdvi/DESC デバイス記述ファイル .TP .BI /usr/share/groff_font/devdvi/ F フォント F のためのフォント記述ファイル .SH 関連項目 .BR groff (1), .BR grodvi (1), .BR groff_font (5) diff --git a/ja_JP.eucJP/man/man1/time.1 b/ja_JP.eucJP/man/man1/time.1 index a4b4023ccc..ff11a224aa 100644 --- a/ja_JP.eucJP/man/man1/time.1 +++ b/ja_JP.eucJP/man/man1/time.1 @@ -1,102 +1,118 @@ .\" Copyright (c) 1980, 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. .\" .\" @(#)time.1 8.1 (Berkeley) 6/6/93 .\" jpman %Id: time.1,v 1.3 1997/07/27 12:00:02 horikawa Stab % .\" .Dd June 6, 1993 .Dt TIME 1 .Os BSD 4 .Sh 名称 .Nm time .Nd コマンドの実行時間の計測 .Sh 書式 .Nm -.Op Fl al +.Op Fl alp .Op Fl o Ar file .Ar command .Sh 解説 .Nm は タイマーを初期化して、シェルに .Ar command を実行させ、処理に要した時間を計測します。 .Ar command の実行を終えると、 -標準エラー出力に 実行開始から実際に経過した時間、 -システムのオーバヘッドに費された時間、 .Ar command -の実行に要した時間を秒単位で -出力します。 +の実行に要した時間、 +システムのオーバヘッドに費された時間を、(秒単位で) 標準エラー出力に出力します。 .Pp 使用可能なオプション: .Bl -tag -width Ds .It Fl a .Fl o が使用されている場合、上書きするのではなく、指定されたファイルに追加します。 .Fl o が使用されていない場合には、このオプションは効果ありません。 .It Fl l デフォルトの出力に加え、 .Em rusage 構造体の内容を表示します。 .It Fl o Ar file 出力を標準エラー出力ではなく .Ar file に対して行います。 .Ar file が存在し、 .Fl a フラグが指定されなかった場合、ファイルは上書きされます。 +.It Fl p +POSIX.2 に従った出力を、 +.Nm +にさせます (各時間が各行に表示されます)。 .El .Pp +ほとんどのシェル ( .Xr csh 1 -は独自の +を含みます) は独自の .Nm -をビルトインコマンドとして実装しています。 -シェルに -.Xr csh -を使用している場合、 +を組み込みコマンドとして実装しています。 +これらのシェルを使用している場合、 ここで説明されている .Nm を実行するときは .Pa /usr/bin/time とタイプして下さい。 +.Sh 診断 +.Ar command +を成功裏に時間計測できた場合、コマンドの終了状態が返されます。 +.Ar command +が異常終了した場合、警告メッセージが標準エラー出力に出力されます。 +.Ar command +が見付かったものの実行できなかった場合、終了状態は 126 になります。 +.Ar command +が見付からなかった場合、終了状態は 127 になります。 +.Nm +が他のエラーとなった場合、終了状態は 1 以上 125 以下となります。 .Sh 関連項目 .Xr csh 1 , .Xr getrusage 2 , .Xr wait 2 +.Sh 規格 +.Nm +ユーティリティは、 +ISO/IEC 9945-2:1993 (``POSIX'') に従っていると期待されています。 .Sh 歴史 .Nm は .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/troff.1 b/ja_JP.eucJP/man/man1/troff.1 index d4a5ed2c94..8e4a896a44 100644 --- a/ja_JP.eucJP/man/man1/troff.1 +++ b/ja_JP.eucJP/man/man1/troff.1 @@ -1,2022 +1,2022 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: troff.1,v 1.4 1997/07/26 21:50:12 horikawa Stab % .ie t .ds tx T\h'-.1667m'\v'.224m'E\v'-.224m'\h'-.125m'X .el .ds tx TeX .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. .\" The BSD man macros can't handle " in arguments to font change macros, .\" so use \(ts instead of ". .tr \(ts" -.TH TFMTODIT 1 "8 September 1996" "Groff Version 1.10" +.TH TFMTODIT 1 "8 September 1996" "Groff Version 1.11" .SH 名称 troff \- 文書をフォーマットする .SH 書式 .nr a \n(.j .ad l .nr i \n(.i .in +\w'\fBtroff 'u .ti \niu .B troff .de OP .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]" .el .RB "[\ " "\\$1" "\ ]" .. .OP \-abivzCER .OP \-w name .OP \-W name .OP \-d cs .OP \-f fam .OP \-m name .OP \-n num .OP \-o list .OP \-r cn .OP \-T name .OP \-F dir .OP \-M dir .RI "[\ " files\|.\|.\|. "\ ]" .br .ad \na .SH 解説 本マニュアルでは、groff ドキュメントフォーマットシステムの一部である GNU バージョンの .B troff について記述します。本コマンドは UNIX troff と 高い互換性を持ちます。通常 troff は groff コマンドから起動されます。 groff はまた、適切な前処理プログラムと後処理プログラムを適切なオプショ ンで、適切な順序で起動します。 .SH オプション .TP \w'\-dname=s'u+2n .B \-a .SM ASCII 文字のみの近似的な出力を行います。 .TP .B \-b 各警告とエラーメッセージに対するバックトレースを表示します。これは、 警告やエラーの原因を調べるのに有用です。出力される行番号は必ずしも正し くはありません。 .B as や .B am リクエストにより行番号を誤認する可能性がある からです。 .TP .B \-i 指定されたファイルをすべて処理したあとに、標準入力も読み込み、処理します。 .TP .B \-v バージョン番号を表示します。 .TP .BI \-w name .I name で指定した分類の警告を行います。指定できる .I name は、後述の警告のサブセクションを参照してください。 .B \-w オプションは複数指定できます。 .TP .BI \-W name .I name で指定した分類の警告を行いません。 .B \-W オプションは複数指定することが できます。 .TP .B \-E エラーメッセージを一切出力しません。 .TP .B \-z フォーマットした結果を出力しません。 .TP .B \-C 互換モードにします。 .TP .BI \-d cs .TQ .BI \-d name = s マクロ .I c または .I name を文字列 .I s と定義します。 .I c は 1 文字のマクロ名です。 .TP .BI \-f fam .I fam をデフォルトのフォントファミリとして使用します。 .TP .BI \-m name マクロファイル .BI tmac. name を読み込みます。通常、ディレクトリ .B /usr/share/tmac が検索されます。 .TP .B \-R .B troffrc を読みません。 .TP .BI \-n num 最初のページ番号を .I num とします。 .TP .BI \-o list .I list で指定したページのみを出力します。 .I list は、コンマで区切られ たページ範囲の列です。ページ範囲の指定方法は以下のとおりです: .I n は .I n ペー ジの出力、 .IB m \- n は .I m ページから .I n ページまでの出力、 .B \-n は .I n ページまでの 出力、 . IB n \- は .I n ページ以降の出力を意味します。 .B troff はリストの最後のページを印刷し終えると終了します。 .TP .BI \-r cn .TQ .BI \-r name = n 数値レジスタ .I c または .I name の値を .I n とします。 .I c は 1 文字の名前です。 .I n は troff で扱える数式です。 .TP .BI \-T name デバイス .I name 用の出力を生成します。デフォルトは ps です。 .TP .BI \-F dir フォントファイルと .B DESC ファイルを検索するのに、ディレクトリ .I dir 以下の .BI dev name .RI ( name は出力デバイス名) を探します。通常フォントは .B /usr/share/groff_font から検索されますが、本オプションで指定したディレ クトリのほうが先に検索されます。 .TP .BI \-M dir .B /usr/share/tmac の前に、指定したディレクトリ .I dir からマクロファイルを検索します。 .SH 使用法 ここでは Unix troff には無い機能のみを説明します。 .SS 長い名前 数値レジスタ、フォント、文字列/マクロ/転換、 特殊文字のそれぞれの名前の長さは任意です。 エスケープシーケンス中、すなわち 2 文字の名前 .BI ( xx を使用可能な場所で、 任意の長さの名前 .BI [ xxx ] を使用可能です。 .TP .BI \e[ xxx ] .IR xxx で呼ばれる特殊文字を表示します。 .TP .BI \ef[ xxx ] フォント .IR xxx を設定します。 .TP .BI \e*[ xxx ] 文字列 .IR xxx を挿入する。 .TP .BI \en[ xxx ] 数値レジスタ .IR xxx を挿入する。 .SS 分数のポイントサイズ .I スケールドポイントは 1/sizescale ポイントです。ここで sizescale は .B DESC ファイルで指定されます (デフォルト値は 1です)。 また、新しいスケールインジケータ .B z があります。 これは sizescale 倍する効果があります。 troff におけるリクエストおよびエスケープシーケンスは ポイントサイズを表す引数をスケールドポイント単位で表されているとして 解釈しますが、 このような引数の評価はデフォルトのスケールインジケータ .BR z にて行います。 このように取り扱われる引数には、 .B ps リクエストの引数、 .B cs リクエストの 3 番目の引数、 .B tkf リクエストの 2 番目および 4 番目の引数、 .B \eH エスケープシーケンスの引数、 .B \es エスケープシーケンスの変形で数値式を引数として取るものとがあります。 .LP .\" 例えばサイズスケールを 1000 とします; 例えば sizescale を 1000 とします; この場合スケールドポイントはミリポイントとなります; リクエスト .B .ps 10.25 は .B .ps 10.25z と同じですし、ポイントサイズは 10250 スケールドポイントに設定されます。 これは 10.25 ポイントと等しい値です。 .LP 数値レジスタ .B \en(.s はポイントサイズを 10 進数分数のポイント単位で返します。 新しい数値レジスタ .B \en[.ps] もあり、これはスケールドポイント単位でのポイントサイズを返します。 .LP デフォルトのスケールインジケータが .BR u , .B z のどちらでもない数式中で .B z スケールインジケータを使用するのは無意味でしょう。 .B troff はこのようなことを禁止します。 同様に、 .BR z がデフォルトのスケールインジケータであった数式において .BR z , .B u のどちらでもないスケールインジケータを使用するのは無意味でしょう。 .B troff はこのようなことを禁止します。 .LP また、新しいスケールインジケータ .B s があります。これはもとの値をスケールドポイントの単位数で逓倍します。 例えば、 .B \en[.ps]s は .B 1m と同じです。 .BI s, .B z スケールインジケータを混同しないようにして下さい。 .SS 数値式 .LP 括弧内の数式中に空白を含めることが許されます。 .LP .B M は em の 1/100 を意味します。 .TP .IB e1 >? e2 .I e1 と .I e2 とで小さくない方。 .TP .IB e1 .\" USAGE から Incompatibilities まで訳出 (Dec 23, 1996) .\" Norihiro Kumagai .\" 訳チェック (Jan 5, 1997) diff --git a/ja_JP.eucJP/man/man1/tsort.1 b/ja_JP.eucJP/man/man1/tsort.1 index 779b81c723..bfe21051b6 100644 --- a/ja_JP.eucJP/man/man1/tsort.1 +++ b/ja_JP.eucJP/man/man1/tsort.1 @@ -1,92 +1,92 @@ .\" Copyright (c) 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This manual is derived from one contributed to Berkeley by .\" Michael Rendell of Memorial University of Newfoundland. .\" .\" 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. .\" .\" @(#)tsort.1 8.3 (Berkeley) 4/1/94 .\" jpman %Id: tsort.1,v 1.3 1997/08/20 12:50:46 horikawa Stab % .\" .Dd April 1, 1994 .Dt TSORT 1 .Os .Sh 名称 .Nm tsort .Nd 有向グラフのトポロジカルソートを行う .Sh 書式 .Nm .Op Fl d .Op Fl l .Op Fl q .Op Ar file .Sh 解説 .Nm はグラフの有向アークを表現するノード名の対を列挙したもの入力とし、 トポロジカルな順序でノード名を標準出力に出力します。 入力は指定されたファイル .Ar file から、あるいは指定がない場合は標準入力から読み込みます。 .Pp 入力においてノード名は空白で区切ります。 -ノード対の数は偶数個でなければなりません。 +ノードの数は偶数個でなければなりません。 .Pp グラフ中のノードは 自分自身へのアークを持つノードとして記述することができます。 これはノードが他のノードと接続されていない場合に有用です。 .Pp グラフがサイクルを含んでいる(そのままではソートできない)場合、 サイクル上の 1 つのアークを無視してソートを続行します。 サイクルは標準エラー出力に報告されます。 .Pp オプションは以下の通り: .Bl -tag -width Ds .It Fl d デバッグ機能を有効にします。 .It Fl l 最長サイクルを検索して表示します。 かなり時間がかかる場合があります。 .It Fl q サイクルに関して詳しい情報を表示しません。 これは主としてライブラリ構築向けです。 その場合必ずしも最適な順序を求める必要はなく、 サイクルもしばしば含まれます。 .El .Sh 関連項目 .Xr ar 1 .Sh 歴史 .Nm コマンドは .At v7 で登場しました。 本 .Nm tsort コマンドとマニュアルは Memorial University of Newfoundland の Michael Rendell による Berkeley に提供されたコードをベースにしています。 diff --git a/ja_JP.eucJP/man/man1/uniq.1 b/ja_JP.eucJP/man/man1/uniq.1 index b7d8ffd57d..5c569651a1 100644 --- a/ja_JP.eucJP/man/man1/uniq.1 +++ b/ja_JP.eucJP/man/man1/uniq.1 @@ -1,132 +1,132 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" 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: @(#)uniq.1 8.1 (Berkeley) 6/6/93 -.\" %Id: uniq.1,v 1.3 1997/09/07 15:09:22 joerg Exp % -.\" jpman %Id: uniq.1,v 1.2 1997/03/29 11:56:16 horikawa Stab % +.\" %Id: uniq.1,v 1.3.2.1 1999/03/15 02:58:24 billf Exp % .\" +.\" jpman %Id: uniq.1,v 1.2 1997/03/29 11:56:16 horikawa Stab % .Dd June 6, 1993 .Dt UNIQ 1 .Os .Sh 名称 .Nm uniq .Nd ファイル内の重複行の報告または、フィルタ出力 .Sh 書式 .Nm .Op Fl c | Fl d | Fl u .Op Fl i .Op Fl f Ar fields .Op Fl s Ar chars .Oo .Ar input_file .Op Ar output_file .Oc .Sh 解説 .Nm ユーティリティは、標準入力を読み込み、隣り合う行同士を比較し、 重複した行を取り除いて標準出力へ書き込みます。 隣り合った行が同じ内容だったら 2 行目以降を出力しません。 同じ内容でも行が隣り合っていない場合は比較の対象になりませんので、 まずファイルをソートする事が必要になるかもしれません。 .Pp オプションとしては以下のものがあります: .Bl -tag -width Ds .It Fl c 各出力行の先頭に、行が入力中に続けて出現した回数を表示し、空白一つあけて その行の内容を表示します。 .It Fl d 重複した行のみを出力します。 .It Fl f Ar fields 比較する時に、各入力行の先頭から .Ar fields 個のフィールドを無視します。 フィールドとは、空白文字で区切られた、空白以外の文字からなる文字列です。 .Ar fields を指定するときは、最初のフィールドを 1 として数えます。 .It Fl s Ar chars 比較する時に、各入力行の先頭から .Ar chars 文字を無視します。 本オプションを .Fl f オプションと一緒に指定した場合は、 .Ar fields 個のフィールドに続く .Ar chars 文字が無視されます。 .Ar chars を指定するときは、最初の文字を 1 として数えます。 .It Fl u 入力の重複がなかった行のみを出力します。 .It Fl i 行の比較において大文字小文字を区別しません。 .\".It Fl Ns Ar n .\"(Deprecated; replaced by .\".Fl f ) . .\"Ignore the first n .\"fields on each input line when doing comparisons, .\"where n is a number. .\"A field is a string of non-blank .\"characters separated from adjacent fields .\"by blanks. .\".It Cm \&\(pl Ns Ar n .\"(Deprecated; replaced by .\".Fl s ) . .\"Ignore the first .\".Ar m .\"characters when doing comparisons, where .\".Ar m .\"is a .\"number. .El .Pp コマンドラインにさらに引数が指定されると、その最初の引数を入力ファイルの 名前として使用し、その次の引数を出力ファイルの名前として使用します。 .Pp .Nm ユーティリティは、成功した場合は 0 を、 エラーが発生した場合は 0 より大きな値を返します。 .Sh 互換性 古くからある .Cm \&\(pl Ns Ar number と .Fl Ns Ar number のオプションは時代遅れですが、この実装ではまだサポートしています。 .Sh 関連項目 .Xr sort 1 .Sh 規格 .Nm ユーティリティは、 .St -p1003.2 互換であるはずです。 diff --git a/ja_JP.eucJP/man/man1/vidcontrol.1 b/ja_JP.eucJP/man/man1/vidcontrol.1 index cd7a0af1aa..4dc7a0276a 100644 --- a/ja_JP.eucJP/man/man1/vidcontrol.1 +++ b/ja_JP.eucJP/man/man1/vidcontrol.1 @@ -1,159 +1,159 @@ .\" .\" vidcontrol - a utility for manipulating the syscons video driver .\" .\" 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. .\" .\" @(#)vidcontrol.1 -.\" %Id: vidcontrol.1,v 1.14 1998/09/23 10:00:15 yokota Exp % -.\" jpman %Id: vidcontrol.1,v 1.3 1997/08/04 01:31:25 mitchy Stab % +.\" %Id: vidcontrol.1,v 1.14.2.1 1999/04/08 13:53:31 ghelmer Exp % .\" +.\" jpman %Id: vidcontrol.1,v 1.3 1997/08/04 01:31:25 mitchy Stab % .Dd May 22, 1994 .Dt VIDCONTROL 1 .Os .Sh 名称 .Nm vidcontrol .Nd syscons 画面ドライバの操作ユーティリティ .Sh 書式 .Nm .Op Fl r Ar fg Ar bg .Op Fl b Ar color .Op Fl c Ar appearance .Op Fl d .Op Fl i Ar adapter|mode .Op Fl l Ar scrmap .Op Fl L .Op Fl m Ar on|off .Op Fl f Ar size Ar file .Op Fl s Ar number .Op Fl t Ar N|off .Op Fl x .Op mode .Op fgcol Op bgcol .Op show .Sh 解説 .Nm コマンドを用いて syscons 画面ドライバの様々なオプション、例えば、 -画面モード、色、カーソル、画面マップ(scrnmap)、 +画面モード、色、カーソル、画面マップ (scrnmap)、 フォント、スクリーンセーバタイムアウトを設定することができます。 .Pp 以下のコマンドラインオプションをサポートしています: .Bl -tag -width indent .It mode 新しいビデオモードを選択します。 現在サポートしているモードは次の通りです: .Ar 40x25 , .Ar 80x25 , .Ar 80x30 , .Ar 80x43 , .Ar 80x50 , .Ar 80x60 , .Ar 132x25 , .Ar 132x30 , .Ar 132x43 , .Ar 132x50 , .Ar 132x60 , .Ar VGA_40x25 , .Ar VGA_80x25 , .Ar VGA_80x50 , .Ar EGA_80x25 , .Ar EGA_80x43 , .Ar VESA_132x25 , .Ar VESA_132x30 , .Ar VESA_132x43 , .Ar VESA_132x50 , .Ar VESA_132x60 。 また、グラフィックモード .Ar VGA_320x200 , .Ar VGA_800x600 も選択できます。 前記の全モードを ビデオカードがサポートしているとは限らないことに注意してください。 また、 VESA ビデオモードもしくは 132 桁モードを使用する場合には、 -VESA BIOS サポートをカーネルにリンクするか LKM にてロードする必要があることにも +VESA BIOS サポートをカーネルにリンクするか KLD にてロードする必要があることにも 注意してください。 .It fgcol Op bgcol テキストを表示する際の色を変更します。 -前景色(例: "vidcontrol white")、あるいは -前景色および背景色(例: "vidcontrol yellow blue")を指定することにより +前景色 (例: "vidcontrol white")、あるいは +前景色および背景色 (例: "vidcontrol yellow blue") を指定することにより 変更できます。 .It show 指定したプラットフォームでサポートされている色を表示します。 .It Fl r Ar foreground Ar background 反転表示モードで用いる色を前景色 .Ar foreground および背景色 .Ar background に変更します。 .It Fl b Ar color ボーダ色を .Ar color -に設定します(VGA ハードウェアでのみサポートされています)。 +に設定します (VGA ハードウェアでのみサポートされています)。 .It Fl c Ar normal|blink|destructive カーソルの外観を変更します。 -カーソルは、反転ブロック(normal)、反転ブロックの点滅(blink)、 -あるいは古いハードウェアカーソル様のもの(destructive)のいずれかです。 +カーソルは、反転ブロック (normal)、反転ブロックの点滅 (blink)、 +あるいは古いハードウェアカーソル様のもの (destructive) のいずれかです。 後者は実際にはシミュレートしています。 .It Fl d 現在の画面出力マップを表示します。 .It Fl l Ar scrmap 画面出力マップをファイル .Ar scrmap から読み込んで設定します。 .It Fl L 画面出力マップをデフォルトに設定します。 .It Fl i Ar adapter 現在のビデオアダプタに関する情報を表示します。 .It Fl i Ar mode 現在のビデオハードウェアにて使用可能なビデオモードを表示します。 .It Fl m Ar on|off マウスポインタを .Ar on または .Ar off します。 -テキストモードでのカット&ペースト機能を利用するために moused デーモンと共に +テキストモードでのカット & ペースト機能を利用するために moused デーモンと共に 使用します。 .It Fl f Ar size Ar file サイズ .Ar size 用のフォントをファイル .Ar file から読み込みます。 現在のところ .Ar size には 8x8, 8x14, 8x16 のみが指定できます。 フォントファイルは uuencode された形式でも 生のバイナリフォーマットでも構いません。 .It Fl s Ar number 現在の vty を .Ar number に設定します。 .It Fl t Ar N|off スクリーンセーバのタイムアウト値を .Ar N -秒に設定、あるいはスクリーンセーバを無効( +秒に設定、あるいはスクリーンセーバを無効 ( .Ar off )にします。 .It Fl x 出力に 16 進数を用います。 .El .Sh 関連ファイル .Bl -tag -width /usr/share/syscons/scrnmaps -compact .It Pa /usr/share/syscons/fonts .It Pa /usr/share/syscons/scrnmaps .El .Sh 関連項目 .Xr kbdcontrol 1 , .Xr keyboard 4 , .Xr screen 4 , .Xr moused 8 .Sh 作者 .An Sen Schmidt Aq sos@FreeBSD.org diff --git a/ja_JP.eucJP/man/man1/whois.1 b/ja_JP.eucJP/man/man1/whois.1 index 52377f2c86..d5fbf76fb8 100644 --- a/ja_JP.eucJP/man/man1/whois.1 +++ b/ja_JP.eucJP/man/man1/whois.1 @@ -1,114 +1,130 @@ .\" Copyright (c) 1985, 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: @(#)whois.1 8.1 (Berkeley) 6/6/93 -.\" %Id: whois.1,v 1.4 1998/02/19 19:07:49 wollman Exp % -.\" jpman %Id: whois.1,v 1.3 1997/06/14 04:30:33 kubo Stab % +.\" %Id: whois.1,v 1.4.2.1 1999/03/17 03:20:46 billf Exp % .\" -.Dd February 19, 1998 +.\" jpman %Id: whois.1,v 1.3 1997/06/14 04:30:33 kubo Stab % +.Dd February 1, 1999 .Dt WHOIS 1 .Os BSD 4.3 .Sh 名称 .Nm whois .Nd インターネットのドメイン名とネットワーク番号のディレクトリサービス .Sh 書式 .Nm whois -.Op Fl adpr +.Op Fl adgprR .Op Fl h Ar host .Ar name ... .Sh 解説 .Nm はネットワークインフォメーションセンタ .Pq Tn NIC のデータベースのレコード検索を行ないます。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width Ds .It Fl a American Registry for Internet Numbers .Pq Tn ARIN データベースを使用します。 ここには、 .Tn APNIC および .Tn RIPE 以外がカバーする全世界の IP 番号があります。 .It Fl d -(US Military) Defense Data Network -.Pq Tn DDN +US Department of Defense データベースを使用します。 .Tn \&.MIL のサブドメインの連絡先があります。 +.It Fl g +US の軍以外の連邦政府データベースを使用します。 +.Tn \&.GOV +のサブドメインの連絡先があります。 .It Fl h Ar host デフォルトの NIC (whois.internic.net) に代えて、指定したホスト用います。 ホスト名もしくは IP 番号を指定可能です。 .It Fl p Asia/Pacific Network Information Center .Pq Tn APNIC データベースを使用します。 ここには、東アジア、オーストラリア、ニュージーランド、太平洋諸島の IP 番号があります。 .It Fl r R\(aaeseaux IP Europ\(aaeens .Pq Tn RIPE データベースを使用します。 -ここには、ヨーロッパのドメイン番号とドメインの連絡先情報があります。 +ここには、ヨーロッパのネットワーク番号とドメインの連絡先情報があります。 +.It Fl R +Russia Network Information Center +.Pq Tn RIPN +データベースを使用します。 +ここには、 +.Tn \&.RU +のネットワーク番号とドメインの連絡先情報があります。 .El .Pp .Nm コマンドに指定されたオペランドは空白をはさんで結合され、 指定された .Nm サーバに渡されます。 .Pp 特に .Ar name で指定されなければ、デフォルトでは データベース中のすべてのレコードのほとんどの フィールド (名前、通称 (nicknames)、ホスト名、ネットアドレス、その他) に ついて .Ar name に一致するものを探すという、広範囲な検索を実行します。 .Ar name オペランドの持つ特別な意味や 検索の進め方に関してさらに情報を得るには、 特別な名前 .Dq Ar help を .Ar name に指定して下さい。 .Sh 関連項目 -RFC 812: Nicname/Whois +.Rs +.%A Ken Harrenstien +.%A Vic White +.%T NICNAME/WHOIS +.%D 1 March 1982 +.%O RFC 812 +.Re .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/gettytab.5 b/ja_JP.eucJP/man/man5/gettytab.5 index 2449094d20..68498c216e 100644 --- a/ja_JP.eucJP/man/man5/gettytab.5 +++ b/ja_JP.eucJP/man/man5/gettytab.5 @@ -1,521 +1,521 @@ .\" 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. .\" .\" from: @(#)gettytab.5 8.4 (Berkeley) 4/19/94 -.\" %Id: gettytab.5,v 1.18 1998/06/10 12:34:25 phk Exp % +.\" %Id: gettytab.5,v 1.18.2.1 1999/04/07 05:35:25 peter Exp % .\" .\" jpman %Id: gettytab.5,v 1.3 1998/07/30 15:25:14 horikawa Stab % .\" " .\" WORD: terminal line 端末回線 .\" WORD: .Sh CAPABILITIES ケーパビリティ .\" WORD: erase 文字消去 .\" WORD: kill 行削除 .\" WORD: delay 遅延 .\" WORD: comma コンマ .\" WORD: banner バナー .\" WORD: answer chat script アンサーチャットスクリプト .\" WORD: screen 画面 [termcap.5 gettytab.5] .\" " .Dd April 19, 1994 .Dt GETTYTAB 5 .Os BSD 4.2 .\" turn off hyphenation .hym 999 .Sh 名称 .Nm gettytab .Nd 端末設定データベース .Sh 書式 .Nm gettytab .Sh 解説 .Nm ファイルは .Xr termcap 5 データベースを単純化したバージョンで、 端末回線を記述するのに用いられます。 冒頭に起動される端末ログインプロセス .Xr getty 8 は起動されるたびに .Nm ファイルにアクセスするので、 比較的簡単に端末の特性を再設定することができます。 データベースの各エントリは、それぞれ1個の端末クラスを記述するのに用いられます。 .Pp デフォルトの端末クラス .Em default が存在し、 他の全てのクラスに対するグローバルなデフォルト値を記述するのに 用いられます。 (言い替えれば、まず、 .Em default エントリを読み込み、その後で、必要なクラスのエントリを読み込み、 デフォルトの設定をクラス固有の設定で上書きします。) .Sh ケーパビリティ ファイルレイアウトの解説については、 .Xr termcap 5 を参照して下さい。 以下の .Em デフォルト 欄は、 使用する端末用のテーブルに値がなく、特別の .Em default テーブルにも値がない場合に用いられる値です。 .Bl -column 名称 文字列 /usr/bin/login .It Sy 名称 型 デフォルト 解説 .It "ac 文字列 unused モデム応答のための想定文字列-応答チャットスクリプト" +.It "al 文字列 unused プロンプトを出さずに自動ログインするユーザ" .It "ap bool 偽 端末はどのパリティでも受け付ける" .It "bk 文字列 0377 代用の行末文字 (入力ブレーク)" -.It "c0 数値 unused メッセージ書き出しのための tty コントロールフラグ群" -.It "c1 数値 unused ログイン名読み込みのための tty コントロールフラグ群" -.It "c2 数値 unused 端末を去るときのコントロールフラグ群" +.It "c0 数値 unused メッセージ書き出しのための tty 制御フラグ群" +.It "c1 数値 unused ログイン名読み込みのための tty 制御フラグ群" +.It "c2 数値 unused 端末を去るときの制御フラグ群" .It "ce bool 偽 crt 文字消去アルゴリズムを用いる" .It "ck bool 偽 crt 行削除アルゴリズムを用いる" .It "cl 文字列" Ta Dv NULL Ta .No "画面削除シーケンス" .It "co bool 偽 コンソール -" .Ql \en をログインプロンプトの後に追加する .It "ct 数値 10 ac/ic スクリプトのためのチャットタイムアウト" .It "dc 数値 0 チャットデバッグ用ビットマスク" -.It "de 数値 0 この秒数だけ待って、最初のプロンプトを描く前に入力をフラッシュする" +.It "de 数値 0 この秒数だけ待って、最初のプロンプトを書く前に入力をフラッシュする" .It "ds 文字列" Ta So Li ^Y Sc Ta .No "遅延されたサスペンド文字" .It "dx bool 偽 " .Dv DECCTLQ をセットする .It "ec bool 偽 echo を残す" .Tn OFF .It "ep bool 偽 端末は偶数パリティを用いる" .It "er 文字列" Ta So Li ^? Sc Ta .No "消去文字" .It "et 文字列" Ta So Li ^D Sc Ta .No "テキストの終り" .Pq Dv EOF 文字 .It "ev 文字列" Ta Dv NULL Ta .No "環境変数の初期設定" .It "f0 数値 unused メッセージ書き出しのための tty モードフラグ群" .It "f1 数値 unused ログイン名読み込みのための tty モードフラグ群" .It "f2 数値 unused 端末を去るときの tty モードフラグ群" .It "fl 文字列" Ta So Li ^O Sc Ta .No "出力フラッシュ文字" .It "hc bool 偽 " 最後のクローズのときに回線をハングアップ .Tn させない .It "he 文字列" Ta Dv NULL Ta .No "ホスト名編集文字列" .It "hn 文字列 hostname ホスト名" .It "ht bool 偽 端末に本物のタブが実装されている" .It "hw bool 偽 cts/rts によるハードウェアフロー制御を行う" .It "i0 数値 unused メッセージ書き出しのための tty 入力フラグ群" .It "i1 数値 unused ログイン名読み込みのための tty 入力フラグ群" .It "i2 数値 unused 端末を去るときの tty 入力フラグ群" .It "ic 文字列 unused モデム初期化のための、想定入力-出力チャットスクリプト" .It "if 文字列 unused プロンプトの前に、/etc/issue のように名前で指定したファイルを表示する" .It "ig bool 偽 ログイン名に含まれるガベージ文字を無視する" .It "im 文字列" Ta Dv NULL Ta .No "冒頭の (バナー) メッセージ" .It "in 文字列" Ta So Li ^C Sc Ta .No "割り込み文字" .It "is 数値 unused 入力スピード" .It "kl 文字列" Ta So Li ^U Sc Ta .No "行消去文字" .It "l0 数値 unused メッセージ書き出しのための tty ローカルフラグ群" .It "l1 数値 unused ログイン名読み込みのための tty ローカルフラグ群" .It "l2 数値 unused 端末を去るときの tty ローカルフラグ群" .It "lm 文字列 login: ログインプロンプト" .It "ln 文字列" Ta So Li ^V Sc Ta .No "次の文字がリテラル値であることを示す文字" .It "lo 文字列" Ta Pa /usr/bin/login Ta .No "名前を得たときに実行するプログラム" .It "mb bool 偽 キャリアに基づいたフロー制御を行う" .It "nl bool 偽 端末には改行文字がある (あるいは、あるはずである)" -.It "np bool 偽 端末はパリティを用いない (つまり 8bit 文字)" +.It "np bool 偽 端末はパリティを用いない (つまり 8 ビット文字)" .It "nx 文字列 default (速度の自動選択のための) 次のテーブル" .It "o0 数値 unused メッセージ書き出しのための tty 出力フラグ群" .It "o1 数値 unused ログイン名読み込みのための tty 出力フラグ群" .It "o2 数値 unused 端末を去るときの tty 出力フラグ群" .It "op bool 偽 端末は奇数パリティを用いる" .It "os 数値 unused 出力スピード" .It "pc 文字列" Ta So Li \e0 Sc Ta .No "パッド文字" .It "pe bool 偽 プリンタの (ハードコピー) 文字消去アルゴリズムを用いる" .It "pf 数値 0 最初のプロンプトと" 引き続くフラッシュの間の遅延 (秒数) .It "pp 文字列 unused PPP 認証プログラム" .It "ps bool 偽 回線は" .Tn MICOM ポートセレクタに接続されている .It "qu 文字列" Ta So Li \&^\e Sc Ta .No "終了文字" .It "rp 文字列" Ta So Li ^R Sc Ta .No "行の再タイプ文字" .It "rt 数値 unused ac 使用時の ring タイムアウト" .It "rw bool 偽 入力に raw モードを" .Tn 用いずに 、cbreak を用いる .It "sp 数値 unused (入力および出力の) 回線速度" .It "su 文字列" Ta So Li ^Z Sc Ta .No "サスペンド文字" .It "tc 文字列 none テーブルの続き" .It "to 数値 0 タイムアウト (秒数)" .It "tt 文字列" Ta Dv NULL Ta .No "端末の型 (環境変数用)" .It "ub bool 偽 (プロンプトなどの) バッファリングしない出力を行う" .It "we 文字列" Ta So Li ^W Sc Ta .No "単語消去文字" -.It xc bool 偽 コントロール文字を +.It xc bool 偽 制御文字を .Ql ^X の形で出力 .Tn しない .It "xf 文字列" Ta So Li ^S Sc Ta Dv XOFF (出力ストップ) 文字 .It "xn 文字列" Ta So Li ^Q Sc Ta Dv XON (出力開始) 文字 .It "Lo 文字列 C バナーメッセージでの \&%d のために用いるロケール" .El .Pp 以下のケーパビリティはもはや .Xr getty 8 によってサポートされていません。 .Bl -column 名称 文字列 /usr/bin/login .It "bd 数値 0 バックスペースでの遅延" .It "cb bool 偽 crt バックスペースモードを用いる" .It "cd 数値 0 復帰 (carriage return) での遅延" .It "fd 数値 0 フォームフィード (垂直移動) での遅延" .It "lc bool 偽 端末では小文字が使える" .It "nd 数値 0 改行 (ラインフィード) での遅延" .It "uc bool 偽 端末では大文字しか使えない" .El .Pp -回線速度が指定されていない場合、 getty が起動された時に設定されている速度は +回線速度が指定されていない場合、getty が起動された時に設定されている速度は 変更されません。 入力速度または出力速度を指定したときは、 指定した方向の回線速度のみが上書き更新されます。 .Pp メッセージの出力時、ログイン名の入力時、 getty が処理を済ませて端末を手放す時に用いる 端末モードの値は ブール型フラグの指定に基づいて決定されます。 もしこの決定が適切でないことが分かった場合、 これら3つのどれか (あるいはすべて) の値は、数値指定 .Em \&c0 , .Em \&c1 , .Em \&c2 , .Em \&i0 , .Em \&i1 , .Em \&i2 , .Em \&l0 , .Em \&l1 , .Em \&l2 , .Em \&o0 , .Em \&o1 , -または .Em \&o2 -のどれかで上書きされます。 +のいずれかで上書きされます。 これらの数値指定では、フラグの値 (通常は、0 を頭につけた 8 進数) そのものを指定することができます。 これらのフラグは termio の .Em c_cflag , .Em c_iflag , .Em c_lflag , および .Em c_oflag の各フィールドにそれぞれ対応します。 それらのセットの各々は、完全に指定しなければ有効になりません。 .Em \&f0 , .Em \&f1 , および .Em \&f2 -はTTYサブシステムの旧版の実装に対する後方互換性を意図した物です。 +は TTY サブシステムの旧版の実装に対する後方互換性を意図した物です。 これらのフラグには、sgttyb の .Em sg_flags -フィールドの (32ビット) 値の下位16ビットが含まれます。また、上位16ビットは +フィールドの (32 ビット) 値の下位 16 ビットが含まれます。また、上位 16 ビットは ローカルモードを収めるワードを表します。 .Pp もし .Xr getty 8 がナル文字 (回線ブレークを示すものと見なされます) を受け取った場合、 プログラムは .Em nx エントリに示されたテーブルを用いて再始動します。 もしこのエントリがなければ、今まで用いていたテーブルを再び用います。 .Pp 遅延はミリ秒単位で指定し、tty ドライバが使用可能な遅延のうち最も 近いものが用いられます。 より大きな確実性が必要な場合は、0 から 1, 2, 3 までの値の 遅延はドライバの特別な遅延アルゴリズムから選択するものと解釈されます。 .Pp .Em \&cl 画面消去文字列には、その前に必要な遅延時間をミリ秒単位の (10 進数) 数値で (termcap 風に) 書くことができます。 この遅延はパディング文字 .Em \&pc を繰り返して用いることによりシミュレートされます。 .Pp 初期化メッセージ .Em \&im ログインメッセージ .Em \&lm および初期化ファイル .Em \&if は、以下の文字の並びをどれでも含めることができます。これらは .Xr getty 8 が実行されている環境から得た情報に展開されます。 .Pp .Bl -tag -offset indent -width \&%xxxxxxxxxxxxxx .It \&%d 現在の日付と時間を、 .Em \&Lo 文字列で指定したロケールでの表記法 ( .Xr strftime 3 の \&%+ フォーマット) で表したもの。 .It \&%h マシンのホスト名。通常は .Xr gethostname 3 によってシステムから得ますが、テーブルの .Em \&hn エントリで指定して、この値を書き換えることができます。 どちらの場合でも、これは .Em \&he 文字列を用いて編集することができます。 .Em \&he 文字列の中にある 1 個の '@' は 実際のホスト名から最終的なホスト名に 1文字のコピーを引き起こします。 .Em \&he 文字列中の '#' は実際のホスト名の次の1文字をスキップさせます。 \&'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。 余分な '@' と '#' は無視されます。 .It \&%t tty の名前。 .It "\&%m, \&%r, \&%s, \&%v" それぞれ、 .Xr uname 3 が返す マシンの型、オペレーティングシステムのリリース、オペレーティングシステムの 名前、そしてカーネルのバージョンです。 .It \&%% -1個の +1 個の .Dq % 文字。 .El .Pp getty がログインプロセス (通常は .Dq Pa /usr/bin/login ですが、 .Em \&lo 文字列で指定されていればそれ)を実行するとき、このプロセスの環境には .Em \&tt 文字列 (が存在すれば) で指定した 端末の型が設定されます。 .Em \&ev 文字列は、プロセスの環境にデータを追加するために使用することができます。 これはコンマで区切られた文字列からなり、それぞれは、 .Em name=value という形式になっていると仮定されます。 .Pp もしタイムアウトとして、 .Em \&to に 0 以外の値を指定した場合、 指定された秒数経過した後に終了します。 すなわち、getty はログイン名を受け取って制御を .Xr login 1 に渡すか、または alarm シグナルを受け取って終了します。 これはダイヤルイン回線をハングアップするために有用です。 .Pp .Xr getty 8 からの出力は、 .Em \&op か .Em \&np が指定された場合を除いて、偶数パリティを用います。 .Em \&op 文字列と .Em \&ap を一緒に指定すると、 入力としてはパリティが何であっても許可し、出力としては奇数パリティを 生成します。 注意: これは、getty が実行されているときのみ適用され、端末ドライバの 制限によりここまで完全な実装ができないかもしれません。 .Xr getty 8 は .Dv RAW モードのときは入力文字のパリティ検査を行いません。 .Pp もし .Em \&pp 文字列が指定されていて、 PPP リンク確立シーケンスが認識されると、 getty は pp オプションで指定されているプログラムを起動します。 これは PPP 着信を取り扱うために用いることができます。 .Pp .Nm getty は以下の2つのケーパビリティを用いて利用できるチャットスクリプト機能を 提供します。これによって、 基本的なインテリジェントモデムをある程度取り扱えるようにします。 .Pp .Bl -tag -offset indent -width \&xxxxxxxx -compact .It ic モデムを初期化するチャットスクリプト。 .It ac コールに答えるチャットスクリプト。 .El .Pp チャットスクリプトは、受信を想定した文字列/送信する文字列の対の連なり からなります。チャット文字列が始まるとき、 .Nm getty は最初の文字列を待ち、その文字列を見つけたら 2 番目の文字列を送ります。 以後も同様に処理を進めます。 指定された文字列は 1 個以上のタブあるいはスペースで区切られています。 文字列には標準 ASCII 文字と、特別な「エスケープ」を含めることが -できます。エスケープは、バックスラッシュに続き1文字以上の文字が +できます。エスケープは、バックスラッシュに続き 1 文字以上の文字が 続いたもので、それは 以下のように解釈されます。 .Pp .Bl -tag -offset indent -width \&xxxxxxxx -compact .It \ea ベル文字。 .It \eb バックスペース。 .It \en 改行。 .It \ee エスケープ。 .It \ef フォームフィード。 .It \ep 0.5秒の一時停止。 .It \er 復帰文字。 .It \eS, \es 空白文字。 .It \et タブ。 .It \exNN 16 進数のバイト値。 .It \e0NNN 8 進数のバイト値。 .El .Pp .Ql \ep 文字列は送信文字列でのみ有効で、前の文字と次の文字を送る間に 0.5 秒の 一時停止を発生することに注意のこと。 16 進数値は最大で 16 進数 2 桁で、 8 進数値は最大で 8 進数 3 桁です。 .Pp .Em \&ic チャットシーケンスはモデムやそれに類似したデバイスを初期化するのに 用いられます。ヘイズ互換のコマンドセットを持つモデム用の初期化チャット スクリプトの典型例は、以下のようなものでしょう。 .Pp .Dl :ic="" ATE0Q0V1\er OK\er ATS0=0\er OK\er: .Pp このスクリプトは何も待たず (つまり常に成功し)、モデムが正しいモード (コマンドエコーを抑制し、応答を返す際に冗長モードで返す) に確実になるようなシーケンスを送り、それから自動応答を 切ります。 -終了する前に、 "OK" という反応を待ちます。 +終了する前に、"OK" という反応を待ちます。 この初期化シーケンスは、モデムの応答をチェックして モデムが正しく機能しているかを確かめるために 用いられます。 初期化スクリプトが完了するのに失敗した場合、 .Nm getty はこれを致命的な状態であると見なし、その結果として、 .Xr syslogd 8 を用いてログを残してから終了します。 .Pp 同様に、アンサーチャットスクリプトは (通常) "RING" に対して手動で電話に応答するために 用いることができます。 アンサースクリプトを指定して起動した場合、 .Nm getty はポートをノンブロッキングモードでオープンし、それ以前の余分な入力をすべて 消去し、ポートへのデータを待ちます。 何らかのデータが取得可能になるとすぐ、アンサーチャットスクリプトが 開始し、文字列がスキャンされ、アンサーチャットスクリプトに従って 応答します。 ヘイズ互換のモデムでは、スクリプトは通常以下のような感じのものになるでしょう。 .Pp .Dl :ac=RING\er ATA\er CONNECT: .Pp これは、"ATA" コマンドによってモデムに応答させ、続いて 入力をスキャンして文字列 "CONNECT" を探します。 もし .Em \&ct タイムアウトが生じる前にこの文字列を受け取った場合、 通常のログインシーケンスが開始されます。 .Pp .Em \&ct ケーパビリティはすべての送信文字列および想定される入力文字列 に適用されるタイムアウトの値を指定します。このタイムアウトは 文字列待ちを行うごと、および文字列送信を行うごとに設定されます。 少なくともリモートとローカルのモデムの間のコネクションが確立される -のにかかる時間 (通常およそ10秒) だけの長さは必要です。 +のにかかる時間 (通常およそ 10 秒) だけの長さは必要です。 .Pp ほとんどの情況で、コネクションが検出された後に 追加の入力のすべてをフラッシュしたいと思うものですが、 この目的には .Em \&de ケーパビリティを使うことができます。これは、 コネクションが確立された後で短時間の遅延をかけ、 その間に接続データがすべてモデムによって送られてしまうのと 同じ効果を持ちます。 .Pp .Sh 関連項目 .Xr login 1 , .Xr gethostname 3 , .Xr uname 3 , .Xr termcap 5 , .Xr getty 8 , .Xr telnetd 8 . .Sh バグ 特殊文字 (文字消去、行削除など) は .Xr login 1 によってシステムのデフォルトに再設定されてしまいます。 .Em 常に、 ログイン名としてタイプした '#' あるいは '^H' は1文字消去として -扱われ、 '@' は行消去として扱われます。 +扱われ、'@' は行消去として扱われます。 .Pp 遅延機能は実クロックです。 全般的に柔軟性がないという問題はさておき、遅延アルゴリズムのいくつかは 実装されていません。 端末ドライバが正常な遅延の設定をサポートしている必要があります。 .Pp .Em \&he ケーパビリティは全く知的ではありません。 .Pp 忌まわしい .Xr termcap 5 フォーマットより、もっと合理的なものを選ぶべきでした。 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man5/groff_font.5 b/ja_JP.eucJP/man/man5/groff_font.5 index af5110dcdf..56d03f27b2 100644 --- a/ja_JP.eucJP/man/man5/groff_font.5 +++ b/ja_JP.eucJP/man/man5/groff_font.5 @@ -1,370 +1,370 @@ .\" jpman %Id: groff_font.5,v 1.3 1998/08/09 15:05:21 ryo2 Stab % .\" FreeBSD jpman project 訳語表 .\" WORD: machine unit マシン単位 .\" WORD: scaled point スケールドポイント (troff.1 の記述にあわせた) .\" WORD: font position フォント位置 (troff.1 の記述にあわせた) .\" WORD: mount マウント .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .de TQ .br .ns .TP \\$1 .. .\" Like TP, but if specified indent is more than half .\" the current line-length - indent, use the default indent. .de Tp .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP .el .TP "\\$1" .. -.TH GROFF_FONT 5 "7 September 1996" "Groff Version 1.10" +.TH GROFF_FONT 5 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_font \- groff のデバイスとフォントを記述するファイルの書式 .SH 解説 groff のフォントの書式は ditroff のフォントの書式に対し、 ほぼスーパセットになっています。 ditroff のフォントの書式とは異なり、 関連したバイナリ書式はありません。 .I name というデバイス用のフォントファイルは .BI dev name というディレクトリに納められます。 ファイルには 2 つの種類があります: それは .B DESC と呼ばれるデバイス記述ファイルと、各フォント .I F ごとに存在する .IR F と呼ばれるフォントファイルです。 これらはテキストファイルであり、関連したバイナリ書式の ファイルはありません。 .SS DESC ファイルの書式 DESC ファイルは以下の形式の行を含むことができます: .TP .BI res\ n 1 インチあたりのマシン単位は .I n です。 .TP .BI hor\ n 水平解像度は .I n マシン単位です。 .TP .BI vert\ n 垂直解像度は .I n マシン単位です。 .TP .BI sizescale\ n ポイント数への倍率を指定します。デフォルトの値は 1 です。1 .I スケールドポイント は、1 .RI ポイント/ n と等しくなります。 .B unitwidth コマンドと .B sizes コマンドへの引数はスケールドポイントで指定されます。 .TP .BI unitwidth\ n ポイントサイズが .I n スケールドポイントのフォントに対して、 フォントファイル毎の数量をマシン単位で与えます。 .TP .B tcommand ポストプロセッサが .B t と .B u の出力コマンドを扱えることを表します。 .TP .BI sizes\ s1\ s2\|.\|.\|.\|sn\ 0 デバイスが .IR s1 , .IR s2 ,\|.\|.\|.\| sn スケールドポイントのフォントを持つことを表します。 大きさのリストは .BR 0 で終らなければなりません。 各 .BI s i は大きさの範囲 .IR m \- n でも指定できます。 リストは複数行にわたることも可能です。 .TP .BI styles\ S1\ S2\|.\|.\|.\|Sm 先頭 .I m 個のフォント位置が、スタイル .IR S1\|.\|.\|.\|Sm に関連づけられます。 .TP .BI fonts\ n\ F1\ F2\ F3\|.\|.\|.\|Fn フォント .I F1\|.\|.\|.\|Fn がフォント位置 .IR m +1,\|.\|.\|., m + n にマウントされます( .I m はスタイル数)。 このコマンドは複数行にわたることができます。 .B 0 というフォント名を指定すると、 対応するフォント位置にはフォントはマウントされません。 .TP .BI family\ fam デフォルトのフォントファミリは .IR fam です。 .TP .B charset この行とファイル内の以下に続く行はすべて無視されます。 これは下位互換性のために許されています。 .LP res, unitwidth, fonts, sizes の行は必須です。 他のコマンドは .B troff には無視されますが、デバイスに関する任意の情報を DESC ファイルに 入れておくためにポストプロセッサにより使われるかもしれません。 .SS フォントファイルの書式 フォントファイルには 2 つのセクションがあります。 最初のセクションは空白で区切られた単語が並んだ一連の行からなります。 行の最初の単語はキーで、以降の単語はそのキーに対する値となります。 .TP .BI name\ F フォントの名前は .IR F です。 .TP .BI spacewidth\ n 空白の通常の幅は .IR n です。 .TP .BI slant\ n フォントの文字が .I n 度傾斜していることを表します (正の値は進行方向を意味します)。 .TP .BI ligatures\ lig1\ lig2\|.\|.\|.\|lign\ \fR[ 0 \fR] 文字 .IR lig1 , .IR lig2 ,\|.\|.\|., lign は合字 (リガチャ; ligature) です。合字には .BR ff , .BR fi , .BR fl , .BR ffl が使用可能です。 下位互換性のために、合字のリストは .BR 0 で終ってもかまいません。 合字のリストは複数行にわたってはいけません。 .TP .B special フォントは .IR スペシャル です。これは現在のフォントに存在しない文字が要求された場合、 マウントされた全てのスペシャルフォントが検索されることを示しています。 .LP 他のコマンドは .B troff には無視されますが、フォントに関する任意の情報をフォントファイルに 入れておくためにポストプロセッサにより使われるかも知れません。 .LP 最初のセクションには .B # 文字ではじまるコメントを、行末まで入れることができます。 .LP 次のセクションには 1 つか 2 つのサブセクションが含まれます。 サブセクション .I charset は必須で、サブセクション .I kernpairs はオプションです。 これらのサブセクションは任意の順番で書くことができます。 各サブセクションは、サブセクション名のみからなる行から始まります。 .LP 単語 .B charset で charset サブセクションを開始します。 .B charset 行には一連の行が続きます。 各行は 1 文字の情報を与えます。 行は空白かタブにより区切られたいくつかのフィールドから成ります。 書式は .IP .I name metrics type code comment .LP で、 .I name は文字を識別します: .I name が単一の文字 .I c ならば、それは groff の入力文字 .I c を表します。 .BI \e c という形式で c が単一の文字なら、groff の入力文字 .BI \e c を表します。それ以外は groff の入力文字 .BI \e[ name ] を表します (2 文字の .I xx だとすると、 .BI \e( xx として入力されます) 。 groff は 8 ビット文字に対応していますが、いくつかのユーティリティでは 8 ビット文字を扱うのが困難です。 このような理由から、文字コードが .I n である単一の文字と等価な .BI char n という表記法が存在します。 例えば、 .B char163 は ISO Latin-1 で英国ポンド記号を表す文字コード 163 の文字と等価です。 .B \-\-\- という name は特別で、その文字に名前が無いことを示します。 そのような文字は .BR troff 中でエスケープシーケンス .B \eN によってのみ使われます。 .LP .I type フィールドは文字の種類を示します: .TP 1 は descender (ベースラインより下にはみ出した部分) を持つ 文字であることを表します。例えば p があてはまります。 .TP 2 は ascender (x の高さより上に出る部分) を持つ文字であることを表します。 例えば b があてはまります。 .TP 3 は ascender と descender の両方を持つ文字であることを表します。 例えば ( があてはまります。 .LP .I code フィールドはポストプロセッサが文字を印字するために使うコードを示します。 .B \eN というエスケープシーケンスを用いたこのコードを使って、groff に文字を 入力することもできます。 code はどんな整数でもかまいません。 .B 0 から始まると、8 進数として扱われ、 .B 0x や .B 0X で始まると 16 進数として扱われます。 .LP 行の code フィールド以降はすべて無視されます。 .LP .I metrics フィールドの形式はこのようになります: .IP .IR width [\fB, height [\fB, depth [\fB, italic_correction [\fB, \ left_italic_correction [\fB, subscript_correction ]]]]] .LP サブフィールド間には空白を入れてはいけません。 サブフィールドが存在しない場合は 0 として扱われます。 サブフィールドは全て 10 進数の整数で指定されます。 対応するバイナリフォーマットが存在しないので、 ditroff のようにこれらの値を .B char 型変数の範囲に合わせるという必要はありません。 サブフィールド .I width では文字の幅を指定します。 サブフィールド .I height では文字の高さを指定します (上が正)。 文字がベースラインよりも上にいかない場合、負の高さを持つとするのではなく 高さが 0 であるとします。 サブフィールド .I depth では文字の深さを指定します。これはベースラインから文字の一番下までの 長さです (下が正) 。 文字がベースラインより下に出ていない場合、負の深さを持つとするのではなく 深さが 0 であるとします。 サブフィールド .I italic_correction では直後にローマンフォントの文字が続く時に、文字の後に加えられる空白の 量を指定します。 サブフィールド .I left_italic_correction では直前にローマンフォントの文字がある時に、文字の前に加えられる空白の 量を指定します。 サブフィールド .I subscript_correction では添字 (subscript) を加える際に文字の後に加えられる空白の量を 指定します。 これはイタリック補正 (上記の italic_correction) よりは少なくなければ なりません。 .LP charset セクション内では、以下のような書式の行も可能です .IP .I name \fB" .LP これは .I name が前の行で言及した文字の別名であることを表します。 .LP kernpairs セクションは .B kernpairs という単語から始まります。このセクションは以下のような書式の 行からなります: .IP .I c1 c2 n .LP 文字 .I c1 が文字 .I c2 の次に現れる時には、それらの間の空白に .IR n を加えることを意味します。 kernpairs セクションのほとんどのエントリは .IR n に負の値を持つことになります。 .SH 関連ファイル .Tp \w'/usr/share/groff_font/devname/DESC'u+3n .BI /usr/share/groff_font/dev name /DESC デバイス .IR name 用のデバイス記述ファイル .TP .BI /usr/share/groff_font/dev name / F デバイス .IR name のフォント .I F 用のフォントファイル .SH 関連項目 .BR groff_out (5), .BR troff (1). diff --git a/ja_JP.eucJP/man/man5/groff_out.5 b/ja_JP.eucJP/man/man5/groff_out.5 index dfe9d9ec74..741ce343f8 100644 --- a/ja_JP.eucJP/man/man5/groff_out.5 +++ b/ja_JP.eucJP/man/man5/groff_out.5 @@ -1,226 +1,226 @@ '\" e .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" This man page must be preprocessed with eqn. .\" .\" jpman %Id: groff_out.5,v 1.3 1998/08/09 15:06:44 ryo2 Stab % .\" FreeBSD jpman project 訳語表 .\" WORD: scaled point スケールドポイント (troff.1, groff_font.5 参照) .\" WORD: special character 特殊文字 (troff.1 参照) .\" WORD: special font スペシャルフォント (troff.1 参照) .\" WORD: machine unit マシン単位 (pic.1, groff_font.5 参照) .\" WORD: print 印字 .ie \n(.g .ds ic \/ .el .ds ic \^ -.TH GROFF_OUT 5 "11 May 1998" "Groff Version 1.10" +.TH GROFF_OUT 5 "11 May 1998" "Groff Version 1.11" .SH 名称 groff_out \- groff の中間出力フォーマット .SH 解説 このマニュアルページは、GNU troff の出力フォーマットについて記述します。 GNU troff が使用する出力フォーマットは、 UNIX のデバイス非依存 troff が使用するものと似ています。 ここでは両者の差のみを記述します。 .LP .B s コマンドへの引数はスケールドポイントです (これは .IR ポイント/ n を意味します。 .I n は DESC ファイル中の .B sizescale コマンドへの引数です)。 .B x\ Height コマンドへの引数もまたスケールドポイントです。 .LP 最初の 3 つの出力コマンドは次のようになっていなければなりません: .IP .BI x\ T\ device .br .BI x\ res\ n\ h\ v .br .B x init .LP DESC ファイル中に .B tcommand 行が存在する場合には、troff は以下の 2 つのコマンドを使用します。 .TP .BI t xxx .I xxx は、任意の文字のシーケンスであり、空白または改行を終端とします; 最初の文字を現在位置で印字し、 現在の水平位置を最初の文字の幅だけ増加させます。 続けて、同じ処理を各文字に対して実行します。 文字の幅は、フォントファイルにおいて与えられたものを 現在のポイントサイズに応じて適切にスケーリングしてから、 水平解像度の倍数となるように丸めます。 特殊文字はこのコマンドでは印字できません。 .TP .BI u n\ xxx .B t コマンドと同様ですが、各文字の印字後に現在の水平位置に加えられるものが、 文字幅と .IR n の和である点が違います。 .LP 単一文字は 8 ビット目がセットされていてもかまわないことに注意してください。 これはフォント名や特殊文字名にもあてはまります。 .LP 文字名やフォント名は任意の長さが許されます; ドライバはこれらの長さが 2 文字のみであると仮定してはなりません。 .LP 文字を印字する時、その文字は常に現在のフォント中に存在します。 デバイス非依存 troff とは異なり、 ドライバがスペシャルフォントから文字を探す必要はありません。 .LP .B D 描画コマンドは拡張されています。 .B \-n オプション指定時には、GNU pic はこれらの拡張を使用しません。 .TP \fBDf \fIn\fR\*(ic\en オブジェクトの塗り潰しに使用する陰影を .IR n に設定します; ここで .I n は 0 から 1000 の範囲の整数である必要があり、0 は白の塗り潰しを、 1000 は黒の塗り潰しを、 そしてそれらの間の値は中間の陰影を意味します。 この設定は、円の塗り潰し、楕円の塗り潰し、多角形の塗り潰しにのみ適用されます。 デフォルトでは 1000 が使用されます。 塗り潰しオブジェクトが色を持つ場合、 その色でそのオブジェクトの下の全てのものを完全に隠します。 1000 より大きい値や 0 より小さい値も使用される可能性があります: これらの値を指定すると、 現在線やテキストで使用している陰影で塗り潰すことを意味します。 通常はこれは黒ですが、 ドライバによってはこれを変更する手段を提供するものがあります。 .TP \fBDC \fId\fR\*(ic\en 現在位置を最左端とする、半径 .I d の塗り潰された円を描画します。 .TP \fBDE \fIdx dy\fR\*(ic\en 現在位置を最左端とする、水平半径 .I dx 垂直半径 .I dy の塗り潰された楕円を描画します。 .EQ delim $$ .EN .TP \fBDp\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en $i = 1 ,..., n+1$ に対し、 .I i 番目の頂点を現在位置 $+ sum from j=1 to i-1 ( dx sub j , dy sub j )$ とする多角形を描画します。 今のところ、GNU pic のみがこのコマンドを使用し、三角形と矩形を生成します。 .TP \fBDP\fR $dx sub 1$ $dy sub 1$ $dx sub 2$ $dy sub 2$ $...$ $dx sub n$ $dy sub n$\en .B Dp と同様ですが、多角形の外形のみの描画でなく、塗り潰しも行います。 .TP \fBDt \fIn\fR\*(ic\en 現在の線の太さを .I n マシン単位に設定します。 伝統的に UNIX troff ドライバは、 現在のポイントサイズに比例する線の太さを使用します; .B Dt コマンドが指定されない場合や、 .B Dt コマンドに負の .IR n が指定された場合は、ドライバはこの方法を使用する必要があります。 .I n に 0 を指定すると、利用可能な最小の線の太さを選択します。 .LP これらのコマンドを実行した後、 現在位置をどのように変更するのかという問題が生じます。 GNU pic が生成するコードはこの問題に依存しませんので、 これはたいして重要ではありません。 .IP \fB\eD\(fm\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\(fm .LP の形式、ただし .I c は .BR c , .BR e , .BR l , .BR a , .BR ~ のいずれでもない描画コマンドが与えられた時、 UNIX troff は各 $x sub i$ を水平の単位で扱い、$y sub i$ を垂直の単位で扱い、 描画されるオブジェクトの幅は $sum from i=1 to n x sub i$ であり、 高さは $sum from i=1 to n y sub i$ であると仮定します。 (高さに関する仮定は、このような .B D コマンドを \ew エスケープシーケンス中で使用した後、 .B st レジスタおよび .B sb レジスタを検査することにより確認できます。) この規則は全てのオリジナルの描画コマンドにあてはまりますが、 .B De は例外です。 .BR Df , .B Dt コマンドや、影響は少ないですが .B DE コマンドにおいて、たとえ醜い結果となったとしても、 GNU troff もまた互換性のためにこの規則に従います。 それゆえ、 .IP \fBD\fIc\fR $x sub 1$ $y sub 1$ $x sub 2$ $y sub 2$ $...$ $x sub n$ $y sub n$\en .LP の形式の .B D コマンドを実行した後は、現在位置は $( sum from i=1 to n x sub i , sum from i=1 to n y sub i )$ だけ増えます。 .LP .B x\ X コマンドへの引数に改行を含めることを許すという、 継続に関する取り決めがあります: .B x\ X コマンドへの引数を出力する時、GNU troff は 引数中の .B + 文字付きの改行を辿ります (通常は改行で引数全体が終端されます); それゆえ、 .B x\ X コマンドを含む行の次行が .B + で開始する場合には、 .B x\ X コマンドを含む行の終端となっている改行は .B x\ X コマンドへの引数の一部として扱い、 .B + を無視し、行の .B + に続く部分を .B x\ X コマンドに続く行の部分として扱います。 .SH "関連項目" .BR groff_font (5) diff --git a/ja_JP.eucJP/man/man5/group.5 b/ja_JP.eucJP/man/man5/group.5 index e4175af70d..a429ea4717 100644 --- a/ja_JP.eucJP/man/man5/group.5 +++ b/ja_JP.eucJP/man/man5/group.5 @@ -1,165 +1,165 @@ .\" Copyright (c) 1980, 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. .\" .\" From: @(#)group.5 8.3 (Berkeley) 4/19/94 .\" %Id: group.5,v 1.13 1998/06/28 21:33:42 hoek Exp % .\" jpman %Id: group.5,v 1.3 1998/07/02 14:08:51 horikawa Stab % .\" .Dd September 29, 1994 .Dt GROUP 5 .Os .Sh 名称 .Nm group .Nd グループ許可ファイルのフォーマット .Sh 解説 .Aq Pa /etc/group ファイルは改行で区切られた .Tn ASCII レコードから成ります。1 レコードが 1 グループに対応し、コロン .Ql \&: で区切られた 4 つの欄から成ります。 これらの欄の意味は以下のとおりです: .Bl -tag -width password -offset indent -compact .It group そのグループの名前。 .It passwd グループの .Em 暗号化された パスワード。 .It gid そのグループの 10 進数 ID。 .It member グループメンバ。 .El .Pp 最初の非空白文字がポンドサイン (#) である行はコメントであり、無視されます。 -空白・タブ・改行のみからなる行は空行はであり、これも無視されます。 +空白・タブ・改行のみからなる行は空行であり、これも無視されます。 .Pp .Ar group 欄は、そのグループのメンバであるユーザにファイルアクセスを許可するために 用いる、グループの名前です。 .Ar gid 欄はそのグループ名に結び付けられた番号です。両者はファイルアクセスを制御 しますので、システム (またしばしば複数システムの 1 グループ) 中で一意的で ある必要があります。 .Ar passwd 欄はなくてもいい .Em 暗号化された パスワードです。この欄はめったに用いられるこ とはなく、通常ブランクにしておくよりもむしろアスタリスクが置かれます。 .Ar member 欄は .Ar group の権利を許可されたユーザの名前を含んでいます。メンバ名は空白や改行なし にコンマで区切られます。ユーザの .Pa /etc/passwd エントリ中にグループが指定されていれば自動的にそのグループに入ることに なりますので、 .Pa /etc/group ファイル中にそのユーザを追加する必要はありません。 .\" .Pp .\" When the system reads the file .\" .Pa /etc/group .\" the fields are read into the structure .\" .Fa group .\" declared in .\" .Aq Pa grp.h : .\" .Bd -literal -offset indent .\" struct group { .\" char *gr_name; /* group name */ .\" char *gr_passwd; /* group password */ .\" int gr_gid; /* group id */ .\" char **gr_mem; /* group members */ .\" }; .\" .Ed .Sh YP/NIS との相互作用 .Pa /etc/group ファイルは YP/NIS グループデータベースを有効にするように作成可能です。 C ライブラリ内部としては、 .Ar name 欄が 1 つのプラス符号 (`+') に続く 1 つのグループ名から成るエントリは、 その名前のグループに対する YP/NIS グループエントリで置き換えられます。 .Ar name 欄が引き続いてグループ名を持たない 1 つのプラス符号から成るエントリは、 YP/NIS の .Dq Li group.byname マップ全体で置き換えられます。 .Pp 何らかの理由で YP/NIS グループデータベースが有効になった場合、 少数のグループのみが有効であるときですら、全ての逆検索 (すなわち .Fn getgrgid ) ではデータベース全体を利用することになるでしょう。それ故、 .Fn getgrgid が返すグループ名が正しい前方マッピングを持つことは保証できません。 .Sh 制限 様々な制限事項が該当する機能のところで説明されています。 .Sx 関連項目 の節を参照してください。 古い実装においては、 1 つのグループは 200 以上のメンバを持つことはできず、 .Pa /etc/group の最大行長は 1024 文字でした。それより長い行は読み飛ばされました。 この制限は .Fx 3.0 でなくなりました。 静的にリンクされた古いバイナリ、古い共有ライブラリに依存する古いバイナリ、 互換モードにおける非 FreeBSD のバイナリには、まだこの制限があるかもしれません。 .Sh 関連ファイル .Bl -tag -width /etc/group -compact .It Pa /etc/group .El .Sh 関連項目 .Xr passwd 1 , .Xr setgroups 2 , .Xr crypt 3 , .Xr getgrent 3 , .Xr initgroups 3 , .Xr yp 4 , .Xr passwd 5 .Sh バグ .Xr passwd 1 コマンドは .Nm group パスワードを変更しません。 .Sh 歴史 .Nm ファイルフォーマットは .At v6 で現われました。 YP/NIS の機能は .Tn SunOS を手本に作られ、 .Tn FreeBSD 1.1 で初めて現われました。 コメントサポートは .Fx 3.0 で最初に現われました。 diff --git a/ja_JP.eucJP/man/man5/rc.conf.5 b/ja_JP.eucJP/man/man5/rc.conf.5 index 5274906109..917aa8db99 100644 --- a/ja_JP.eucJP/man/man5/rc.conf.5 +++ b/ja_JP.eucJP/man/man5/rc.conf.5 @@ -1,1024 +1,1028 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" .\" 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 ``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. .\" -.\" %Id: rc.conf.5,v 1.27 1999/01/14 09:13:00 jkh Exp % +.\" %Id: rc.conf.5,v 1.27.2.1 1999/03/24 17:24:32 brian Exp % .\" .\" jpman %Id: rc.conf.5,v 1.3 1998/06/26 09:39:58 jsakai Stab % .\" .Dd April 26, 1997 .Dt RC.CONF 5 .Os FreeBSD 2.2.2 .Sh 名称 .Nm rc.conf .Nd システム設定情報 .Pp .Nm rc.conf.local .Nd ローカルのシステム設定情報 .Sh 解説 .Nm rc.conf ファイルはローカルホスト名、全ての潜在的なネットワークインタフェースに 関する設定の詳細、システムの初期起動時に立ち上げるべき サービスに関する記述可能な情報を含んできます。初めてインストールする際に は、一般に .Nm rc.conf ファイルはシステムインストールユーティリティ .Pa /stand/sysinstall によって初期化されます。 .Pp .Nm rc.conf.local ファイルは rc.conf で設定された変数を変更するために使用します。 典型的には、システム管理者はディストリビューションに含まれる .Nm rc.conf を使用して、ローカルの変更/追加を .Nm rc.conf.local に対して適用します。 .Pp .Nm rc.conf[.local] の目的は、 コマンドの実行やシステム起動操作を直接行うことではありません。 それに代わり、 そこに見出される設定にしたがって内部操作を条件付きで制御する .Pa /etc 下のいろいろな類の起動スクリプトの一部をなしています。 .Pp 以下に示すのは .Nm ファイル中で設定可能な各変数について、 その名前と簡単な解説をリストしたものです。 .Bl -tag -width Ar .It Ar swapfile (文字列) .Ar NO にセットすると スワップファイルはインストールされません。 .Ar NO 以外の場合、その値は追加スワップ領域のために利用するファイルの 完全パス名として用いられます。 .It Ar apm_enable (ブール値) .Ar YES にセットすると .Xr apm 8 コマンドでの自動電源管理(Automatic Power Management)のサポートを有効に します。 .It Ar pccard_enable (ブール値) .Ar YES にセットすると起動時にPCCARDのサポートを有効にします。 .It Ar pccard_mem (文字列) PCCARDコントローラメモリアドレスをセットします。 .Ar DEFAULT とするとデフォルト値になります。 .It Ar pccard_ifconfig (文字列) 挿入または起動時に動的にifconfigされるべきイーサネットデバイス のリストです。 (例 .Ar "ed0 ed1 ep0 ..." ) .It Ar local_startup (文字列) 起動スクリプトファイルを検索するためのディレクトリのリストです。 .It Ar local_periodic (文字列) 定期的に実行するスクリプトを検索するディレクトリのリストです (3.0 のみ)。 .It Ar hostname (文字列) ネットワーク上でのあなたのホストの完全な形のドメイン名 (The Fully Qualified Domain Name) です。あなたがネットワークに接続されていない 場合でも、この変数は確実に何か意味のあるものに設定すべきです。 .It Ar nisdomainname (文字列) あなたのホストの NIS ドメイン名。NIS が動いてないときは .Ar NO とします。 .It Ar firewall_enable (ブール値) 起動時にロードされるファイアウォール規則を持ちたくないときには .Ar NO 、持ちたいときには .Ar YES をセットします。 .Ar YES にセットし、かつカーネルが IPFIREWALL 付きで作られなかった場合、 ipfw カーネルモジュールがロードされます。 .It Ar firewall_type (文字列) .Pa /etc/rc.firewall 中で選択されたファイアウォールのタイプまたはローカルファイアウォール規則 の組を含むファイルを名付けます。 .Pa /etc/rc.firewall 中では以下のものが選択可能です: ``open''- 無制限の IP アクセス; ``closed''- lo0 経由を除く全ての IP サービスを禁止; ``client''- ワークステーション向けの基本的な保護; ``simple''- LAN 向けの基本的な保護。 ファイル名が指定される場合には完全なパス名でなければなりません。 .It Ar firewall_quiet (ブール値) .Ar YES にセットすると起動時にコンソール上で ipfw 規則の表示を行ないません。 +.It Ar natd_program +(文字列) +.Xr natd 8 +のパス。 .It Ar natd_enable (ブール値) .Ar YES にセットすると natd を有効にします。 .Ar firewall_enable もまた .Ar YES にセットされ、 .Xr divert 4 ソケットがカーネルで有効にされている必要があります。 .It Ar natd_interface natd が実行されるパブリックインタフェースの名前です。 .Ar natd_enable が .Ar YES にセットされている場合には、これを設定する必要があります。 インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 .It Ar natd_flags 追加の natd フラグはここに記述する必要があります。 .Fl n または .Fl a のフラグは上記 .Ar natd_interface とともに自動的に引数として追加されます。 .It Ar tcp_extensions (ブール値) デフォルトでは .Ar YES です。これは RFC 1323 や 1644 で述べられているような ある TCP オプションを有効にします。 もしネットワークコネクションが不規則にハングアップしたり、 それに類する他の不具合がある場合には、これを .Ar NO にセットして様子をみてみるのもよいかもしれません。世間に出回っている ハードウェア/ソフトウェアの中には、これらのオプションでうまく動作しない ものがあることが知られています。 .It Ar network_interfaces (文字列) このホスト上で形成されるネットワークインタフェースのリストを 設定します。 たとえば、ループバックデバイス (標準) および SMC Elite Ultra NIC があるなら .Qq Ar "lo0 ed0" という 2 つのインタフェースを設定します。 .Em interface の各値に対して .No ifconfig_ Ns Em interface という変数が存在すると仮定されます。 1 つのインタフェースに複数の IP アドレスを登録したい場合は、 ここに IP エイリアスのエントリを追加することも可能です。 対象とするインタフェースが ed0 であると仮定すると、 .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" .Ed というようになります。 見つかった各 ifconfig__alias エントリについて、 その内容が .Xr ifconfig 8 に渡されます。最初にアクセスに失敗した時点で実行は中止されるので .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff" ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff" .Ed のようにすると、alias4 は追加され\fB ない\fR ことに注意してください。これは alias3 エントリを抜かしたことで検索が中止されるからです。 .It Ar syslogd_enable (ブール値) .Ar YES にセットすると .Xr syslogd 8 デーモンを起動します。 .It Ar syslogd_flags (文字列) syslogd_enable が .Ar YES の場合、これらは .Xr syslogd 8 に渡すフラグになります。 .It Ar inetd_enable (ブール値) .Ar YES にセットすると .Xr inetd 8 デーモンを起動します。 .It Ar inetd_flags (文字列)inetd_enable が .Ar YES の場合、これらは .Xr inetd 8 へ渡すフラグとなります。 .It Ar named_enable (ブール値) .Ar YES にセットすると .Xr named 8 デーモンを起動します。 .It Ar named_program (文字列) .Xr named 8 のパス。(デフォルトは .Pa /usr/sbin/named ) .It Ar named_flags (文字列) .Ar named_enable が .Ar YES の場合、これらは .Xr named 8 に渡すフラグとなります。 .It Ar kerberos_server_enable (ブール値) ブート時に Kerberos 認証サーバを起動したい場合は .Ar YES にセットします。 .It Ar kadmind_server_enable .Xr kadmind 8 (Kerberos 管理デーモン) を実行したい場合は .Ar YES とします。スレーブサーバ上では .Ar NO にセットします。 .It Ar kerberos_stash (文字列) .Ar YES なら (唯一 .Ar kerberos_server_enable が .Ar YES にセットされ、かつ .Xr kerberos 1 および .Xr kadmind 8 の両方を用いるときにのみ) 隠されたマスタキーのプロンプト入力を行なう代りに、 そのキーを用いるよう Kerberos サーバに指示します。 .It Ar rwhod_enable (ブール値) .Ar YES にセットするとブート時に .Xr rwhod 8 デーモンを起動します。 .It Ar rwhod_flags (文字列) .Ar rwhod_enable が .Ar YES にセットされている場合、これらは rwhod に渡すフラグになります。 .It Ar amd_enable (ブール値) .Ar YES にセットするとブート時に .Xr amd 8 デーモンを起動します。 .It Ar amd_flags (文字列) .Ar amd_enable が .Ar YES にセットされている場合、これらは amd に渡すフラグとなります。 詳しくは\fBinfo amd\fR コマンドを利用してください。 .It Ar update_motd (ブール値) .Ar YES にセットするとブート時に実行されているカーネルリリースを反映するように .Nm /etc/motd を更新します。 .Ar NO にセットすると .Nm は更新を行いません。 .It Ar nfs_client_enable (ブール値) .Ar YES にセットするとブート時に NFS クライアントデーモンを起動します。 .It Ar nfs_client_flags (文字列) .Ar nfs_client_enable が .Ar YES の場合、これらは .Xr nfsiod 8 デーモンに渡すフラグとなります。 .It Ar nfs_access_cache .Ar nfs_client_enable が .Ar YES の場合、この変数に .Ar 0 をセットして NFS ACCESS RPC キャッシングを無効化することができますし、 NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 2-10 秒の値を設定すると、 多くの NFS 操作のネットワークトラフィックを十分減らします。 .It Ar nfs_server_enable (ブール値) .Ar YES にセットするとブート時に NFS サーバデーモンを起動します。 .It Ar nfs_server_flags (文字列) .Ar nfs_server_enable が .Ar YES の場合、これらは .Xr nfsd 8 デーモンに渡すフラグとなります。 .It Ar weak_mountd_authentication (ブール値) .Ar YES にセットすると、権限付けられていないマウント要求を行なうために \fBPCNFSD\fR のようなサービスを許可します。 .It Ar nfs_reserved_port_only (ブール値) .Ar YES にセットすると、安全なポート上でのみ NFS サービスを提供します。 .It Ar rcp_lockd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.lockd 8 を起動します。 .It Ar rcp_statd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.statd 8 を起動します。 .It Ar portmap_enable (ブール値) .Ar YES の場合、ブート時に .Xr portmap 8 サービスを起動します。 .It Ar portmap_flags (文字列) .Ar portmap_enable が .Ar YES の場合、これらは .Xr portmap 8 デーモンに渡すフラグとなります。 .It Ar xtend_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xtend 8 デーモンを起動します。 .It Ar xtend_flags (文字列) .Ar xtend_enable が .Ar YES の場合、これらは .Xr xtend 8 デーモンに渡すフラグとなります。 .It Ar timed_enable (ブール値) .Ar YES なら、ブート時に .Xr timed 8 サービスを実行します。このコマンドは、全ホストについて一貫した .Qq "ネットワーク時間" が確立されなければならないマシンネットワークのためにあります。 これが有用である典型例は、 ファイルのタイムスタンプがネットワークワイドで一貫性をもつことが 期待されるような、大規模 NFS 環境です。 .It Ar timed_flags (文字列) .Ar timed_enable が .Ar YES の場合、これらは .Xr timed 8 サービスに渡すフラグとなります。 .It Ar ntpdate_enable (ブール値) .Ar YES にセットすると、システムスタートアップ時に ntpdate を実行します。 このコマンドは、ある標準的な参照先を元に、ただ .Ar 1 回 だけシステム時刻を同期させるためにあります。 また、システムを最初にインストールする際、 これを (知られているサービスのリストから) 最初にセットアップするオプションが .Pa /stand/sysinstall プログラムによって提供されます。 .It Ar ntpdate_program (文字列) .Xr ntpdate 8 のパス (デフォルトは .Pa /usr/sbin/ntpdate です)。 .It Ar ntpdate_flags (文字列) .Ar ntpdate_enable が .Ar YES の場合、これらは .Xr ntpdate 8 コマンドに渡すフラグとなります (典型的にはホスト名)。 .It Ar xntpd_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xntpd 8 コマンドが起動されます。 .It Ar xntpd_program (文字列) .Xr xntpd 8 のパス (デフォルトは .Pa /usr/sbin/xntpd です)。 .It Ar xntpd_flags (文字列) .Ar xntpd_enable が .Ar YES の場合、これらは .Xr xntpd 8 デーモンに渡すフラグとなります。 .It Ar nis_client_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypbind 8 サービスを起動します。 .It Ar nis_client_flags (文字列) .Ar nis_client_enable が .Ar YES の場合、これらは .Xr ypbind 8 サービスに渡すフラグとなります。 .It Ar nis_ypset_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypset 8 デーモンを起動します。 .It Ar nis_ypset_flags (文字列) .Ar nis_ypset_enable が .Ar YES の場合、これらは .Xr ypset 8 デーモンに渡すフラグとなります。 .It Ar nis_server_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypserv 8 デーモンを起動します。 .It Ar nis_server_flags (文字列) .Ar nis_server_enable が .Ar YES の場合、これらは .Xr ypserv 8 デーモンに渡すフラグとなります。 .It Ar nis_ypxfrd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypxfrd 8 デーモンを起動します。 .It Ar nis_ypxfrd_flags (文字列) .Ar nis_ypxfrd_enable が .Ar YES の場合、これらは .Xr ypxfrd 8 デーモンに渡すフラグとなります。 .It Ar nis_yppasswdd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr yppasswdd 8 デーモンを起動します。 .It Ar nis_yppasswdd_flags (文字列) .Ar nis_yppasswdd_enable が .Ar YES の場合、これらは .Xr yppasswdd 8 デーモンに渡すフラグとなります。 .It Ar defaultrouter (文字列) .Ar NO をセットしないと、このホスト名または IP アドレスへのデフォルトルートを 作成します (このルータがネームサーバへたどりつく必要がある 場合は IPアドレスを使用すること!)。 .It Ar static_routes (文字列) システムブート時に追加したいスタティックルートのリストを セットします。 .Ar NO 以外をセットした場合、その値を空白で区切った各要素について、 各 .Em element 毎に変数 .No route_ Ns em element が存在すると仮定され、その後、``route add'' 操作に渡されます。 .It Ar gateway_enable (ブール値) .Ar YES にセットすると、IP ルータとして動作する、 たとえばインタフェース間でパケットをフォワードするように ホストを設定します。 .It Ar router_enable (ブール値) .Ar YES にセットすると、 .Ar router および .Ar router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Ar router (文字列) .Ar router_enable が .Ar YES にセットされると、これが使用するルーティングデーモン名になります。 .It Ar router_flags (文字列) .Ar router_enable が .Ar YES にセットされると、これらがルーティングデーモンへ渡すフラグとなります。 .It Ar mrouted_enable (ブール値) .Ar YES にセットすると、マルチキャストルーティングデーモン .Xr mrouted 8 を起動します。 .It Ar mrouted_flags (文字列) .Ar mrouted_enable が .Ar YES の場合、これらはマルチキャストルーティングデーモンへ渡すフラグとなります。 .It Ar ipxgateway_enable (ブール値) .Ar YES にセットすると、IPX トラフィックのルーティングを有効にします。 .It Ar ipxrouted_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr ipxrouted 8 デーモンを起動します。 .It Ar ipxrouted_flags (文字列) .Ar ipxrouted_enable が .Ar YES の場合、これらは .Xr ipxrouted 8 デーモンへ渡すフラグとなります。 .It Ar arpproxy_all .Ar YES にセットするとグローバルプロキシ ARP を有効にします。 .It Ar forward_sourceroute これが .Ar YES にセットされ、更に .Ar gateway_enable もまた .Ar YES にセットされている場合、 送信元が経路指定したパケット (source routed packets) はフォワードされます。 .It Ar accept_sourceroute .Ar YES にセットすると、 システムは自分宛の送信元経路指定パケットを受け付けます。 .It Ar rarpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr rarpd 8 デーモンを起動します。 .It Ar rarpd_flags (文字列) .Ar rarpd_enable が .Ar YES の場合、これらは .Xr rarpd 8 デーモンへ渡すフラグとなります。 .It Ar atm_enable (bool) Set to .Ar YES システムブート時に ATM インタフェースの設定を有効にします。 次に説明する ATM 関連の変数に関し、 利用可能なコマンドパラメータの更なる詳細については、 .Xr atm 8 のマニュアルページを参照してください。 更なる詳細な設定情報に関しては、 .Pa /usr/share/examples/atm 中のファイルも参照してください。 .It Ar atm_netif_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 作成すべき ATM ネットワークインタフェースの 名前プレフィックスと数字を指定します。 値はコマンド .Dq atm set netif Va のパラメータとして渡されます。 .It Ar atm_sigmgr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 値はコマンド .Dq atm attach Va のパラメータとして渡されます。 .It Ar atm_prefix_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの NSAP プレフィックスを定義します。 .Em ILMI に設定すると、プレフィックスは自動的に .Xr ilmid 8 デーモンを介して設定されます。 そうでない場合、値はコマンド .Dq atm set prefix Va のパラメータとして渡されます。 .It Ar atm_macaddr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの MAC アドレスを定義します。 .Em NO に設定すると、ATM インタフェースカードに格納されている ハードウェア MAC アドレスが使用されます。 そうでない場合、値はコマンド .Dq atm set mac Va のパラメータとして渡されます。 .It Ar atm_arpserver_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ 利用可能です。 .Em local に設定すると、本ホストが ATMARP サーバになります。 値はコマンド .Dq atm set arpserver Va のパラメータとして渡されます。 .It Ar atm_scsparp_ (bool) .Em YES に設定すると、ネットワークインタフェース .Va に対する SCSP/ATMARP サービスが、 .Xr scspd 8 および .Xr atmarpd 8 を使用して開始されます。 本変数は .So .No atm_arpserver_ Ns Va .No Ns = Ns Qq local .Sc が定義されている場合にのみ利用可能です。 .It Ar atm_pvcs (文字列) システムブート時に追加したい ATM PVC のリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_pvc_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add pvc のパラメータとして渡されます。 .It Ar atm_arps (文字列) システムブート時に追加したい、 永続的な ATM ARP エントリのリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_arp_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add arp のパラメータとして渡されます。 .It Ar keymap (文字列) .Ar NO にセットするとキーマップはインストールされません。それ以外の場合、 ここで指定した .Ar value がキーマップファイル .Pa /usr/share/syscons/keymaps/.kbd をインストールするのに用いられます。 .It Ar keyrate (文字列) キーボードのリピートスピードです。以下のいずれかにセットします。 .Ar slow , .Ar normal , .Ar fast デフォルト値を希望する場合は .Ar NO とします。 .It Ar keychange (文字列) .Ar NO 以外にセットすると、その値でファンクションキーをプログラムしようとします。 指定できる値は単一の文字列で, .Qq Ar " [ ]..." という形式でないといけません。 .It Ar cursor (文字列) カーソルの動作を明示的に指定する場合は .Ar normal , .Ar blink , .Ar destructive のいずれかの値にセットします。デフォルト動作を選ぶには .Ar NO とします。 .It Ar scrnmap (文字列) .Ar NO にセットすると、スクリーンマップはインストールされません。 それ以外の場合には、ここで指定した .Ar value がスクリーンマップファイル .Pa /usr/share/syscons/scrnmaps/ をインストールするのに用いられます。 .It Ar font8x16 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x16 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x14 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x14 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x8 (文字列) .Ar NO にセットすると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar blanktime (整数) .Ar NO にセットすると、デフォルトのスクリーンブランク時間間隔が用いられます。 それ以外の場合は .Ar value 秒にセットされます。 .It Ar saver (文字列) .Ar NO 以外にセットすると、これが実際に使用する スクリーンセーバ (ブランク, 蛇, デーモンなど) となります。 .It Ar moused_enable (文字列) .Ar YES にセットすると、コンソール上でのカット/ペーストセレクション用に .Xr moused 8 デーモンが起動されます。 .It Ar moused_type (文字列) 利用したいマウスのプロトコルのタイプ。 .Ar moused_enable が .Ar YES の場合、この変数は必ず設定しなければなりません。 多くの場合、 .Xr moused 8 デーモンは適切なマウスタイプを自動的に検出することができます。 デーモンにマウスを検出させるには、この変数を .Ar auto にセットします。 自動検出が失敗する場合、以下のリストから 1 つを選びます。 .Bd -literal microsoft Microsoft マウス intellimouse Microsoft IntelliMouse mousesystems Mouse system 社製のマウス mmseries MM シリーズのマウス logitech Logitech 製のマウス busmouse バスマウス mouseman Logitech の MouseMan および TrackMan glidepoint ALPS 製の GlidePoint thinkingmouse Kensignton 製の ThinkingMouse ps/2 PS/2 マウス mmhittab MM の HitTablet x10mouseremote X10 MouseRemote .Ed お使いのマウスが上記のリストにない場合でも、 リスト中のいずれかと互換性があるかも知れません。 互換性に関する情報については .Xr moused 8 のマニュアルページを参照してください。 .Pp また、 この変数が有効であるときは、(Xサーバのような) 他の全てのマウスクライアントは 仮想マウスデバイス .Pa /dev/sysmouse を通してマウスにアクセスし、 それを sysmouse タイプのマウスとして構成すべきであると いうことにも注意すべきです。これは、 .Xr moused 8 使用時は、全てのマウスデータがこの単一の標準フォーマットに変換されるためです。 クライアントプログラムが sysmouse タイプを サポートしないなら次に望ましいタイプとして mousesystems を指定してください。 .It Ar moused_port (文字列) .Ar moused_enable が .Ar YES の場合、これはマウスが接続されている実際のポートになります。 たとえば、COM1 シリアルマウスに対しては .Pa /dev/cuaa0 、PS/2 マウスに対しては .Pa /dev/psm0 、バスマウスに対しては .Pa /dev/mse0 となります。 .It Ar moused_flags (文字列) .Ar moused_type がセットされている場合、これらは .Xr moused 8 デーモンに渡す追加のフラグとなります。 .It Ar cron_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr cron 8 デーモンを起動します。 .It Ar lpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr lpd 8 デーモンを起動します。 .It Ar lpd_flags (文字列) .Ar lpd_enable が .Ar YES の場合、これらは .Xr lpd 8 デーモンに渡すフラグとなります。 .It Ar sendmail_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr sendmail 8 デーモンを起動します。 .It Ar sendmail_flags (文字列) .Ar sendmail_enable が .Ar YES の場合、これらは .Xr sendmail 8 デーモンに渡すフラグとなります。 .It Ar savecore_enable (ブール値) .Ar YES にセットすると、クラッシュ後システムが復旧するとき、デバッグ用にカーネル のクラッシュダンプを保存します。クラッシュイメージは通常 .Pa /var/crash ディレクトリに格納されます。 .It Ar dumpdev (文字列) .Ar NO にセットしないと、カーネルクラッシュダンプ出力先を .Em value で指定したスワップデバイスに向けます。 .It Ar check_quotas (ブール値) .Xr quotacheck 8 コマンドによってユーザディスクのクォータチェックを有効にしたいなら、 .Ar YES にセットします。 .It Ar accounting_enable (ブール値) .Xr accton 8 ファシリティでシステムアカウンティングを有効にしたいなら .Ar YES にセットします。 .It Ar ibcs2_enable (ブール値) システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar linux_enable (ブール値) システムブート時に Linux/ELF バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar rand_irqs (文字列) 乱数生成用に監視する IRQ のリストをセットします ( .Xr rndcontrol 8 のマニュアル参照)。 .It Ar clear_tmp_enable (ブール値) 起動時に .Pa /tmp 下を消去したいなら .Ar YES をセットします。 .It Ar ldconfig_paths (文字列) .Xr ldconfig 8 で使用する共有ライブラリのパスのリストをセットします。注意: .Pa /usr/lib は常に先頭に追加されるので、このリストに指定する必要はありません。 .It Ar kern_securelevel_enable (ブール値) カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 .Ar YES にセットします。 .It Ar kern_securelevel (整数) スタートアップ時にセットされるカーネルセキュリティレベルです。 .Ar 値 として許される範囲は -1 (コンパイル時のデフォルト) から 2 (最も安全) です。 利用可能なセキュリティレベルとシステム操作への影響については、 .Xr init 8 を参照してください。 .Sh 関連項目 .Bl -tag -width /etc/rc.conf -compact .It Pa /etc/rc.conf .El .Pp .Bl -tag -width /etc/rc.conf.local -compact .It Pa /etc/rc.conf.local .El .Sh 関連項目 .Xr gdb 1 , .Xr info 1 , .Xr exports 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , .Xr atm 8 , .Xr cron 8 , .Xr gated 8 , .Xr ifconfig 8 , .Xr inetd 8 , .Xr lpd 8 , .Xr motd 5 , .Xr moused 8 , .Xr mrouted 8 , .Xr named 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr ntpdate 8 , .Xr pcnfsd 8 , .Xr portmap 8 , .Xr quotacheck 8 , .Xr rc 8 , .Xr rndcontrol 8 , .Xr route 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , .Xr rwhod 8 , .Xr sendmail 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr swapon 8 , .Xr tickadj 8 , .Xr timed 8 , .Xr vnconfig 8 , .Xr xntpd 8 , .Xr xtend 8 , .Xr ypbind 8 , .Xr ypserv 8 , .Xr ypset 8 .Sh 歴史 .Nm ファイルは .Fx 2.2.2 で登場しました。 .Sh 作者 .An Jordan K. Hubbard . diff --git a/ja_JP.eucJP/man/man7/groff_char.7 b/ja_JP.eucJP/man/man7/groff_char.7 index 6653e9c4e3..c7021757f4 100644 --- a/ja_JP.eucJP/man/man7/groff_char.7 +++ b/ja_JP.eucJP/man/man7/groff_char.7 @@ -1,572 +1,572 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: groff_char.7,v 1.3 1998/12/13 13:23:18 horikawa Stab % .\" .\" groff_char.7 の表記を尊重しました。 .\" JIS X 0212 の附属書 3 表 3「0208とJISX0221との対応表」を、 .\" 文字の名前の参考としてではなく、英単語と日本語の単語の対応の .\" 参考としました。 .\" Kazuo Horikawa 1998/12/06 .\" .\" For best results, print this with groff. .ds aq \(aq .ie !\n(.g .if '\(aq'' .ds aq \' .el \{\ . tr \(aq\(aq . if !c\(aq .ds aq \' .\} .if !\n(.g .ig .\" .Ac accented-char accent char .de Ac .char \\$1 \\$3\ \k[acc]\ \h'(u;-\w'\\$2'-\w'\\$3'/2+\\\\n[skw]+(\w'x'*0)-\\\\n[skw])'\ \v'(u;\w'x'*0+\\\\n[rst]+(\w'\\$3'*0)-\\\\n[rst])'\ \\$2\ \v'(u;\w'x'*0-\\\\n[rst]+(\w'\\$3'*0)+\\\\n[rst])'\ \h'|\\\\n[acc]u' .hcode \\$1\\$3 .. .Ac \(vc \(ah c .Ac \(vC \(ah C -.TH GROFF_CHAR 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_CHAR 7 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_char \- groff の文字名 .SH 解説 このマニュアルページは標準的な .B groff への入力文字を列挙しています。 このマニュアルページを印刷 (表示) するのに用いられるデバイスで 利用可能な文字のみが表示されます。 .I "Input code" 欄は単一の文字で入力することのできる文字において用いられ、 その文字の ISO Latin-1 コードが書かれています。 .I "PostScript name\" 欄には出力文字の一般的な PostScript 名が示されます。 .LP ISO Latin-1 のブレイク無しスペース (8 進数で 0240) は .BR \e (スペース) と等価です。 他の ISO Latin-1 の文字はすべて、次の例外を除いてそのまま表示されます: .B \` は ` として表示され、 .B \*(aq は ' として表示されます。対応する ISO Latin-1 文字は .B \e` と .BR \e(aq で得られます。 ISO Latin-1 の `ハイフン、負符号' (コード 45) はハイフンとして 表示されます; 負符号は .BR \e- で得られます。 ISO Latin-1 の `チルド' (コード 126) は ~ として表示されます; より大きいグリフは .BR \e(ti で得られます。 ISO Latin-1 の `サーカムフレクスアクセント' (コード 94) は ^ として表示されます; より大きいグリフは .BR \e(ha で得られます。 .sp 'nf .nr Sp 3n .ta \w'\fIOutput'u+\n(Spu +\w'\fIInput'u+\n(Spu +\w'\fIInput'u+\n(Spu \ +\w'periodcentered'u+\n(Spu .de C0 .C \\$1 "" \\$1 \\$2 "\\$3" .. .de C1 .C \e\\$1 "" \\\\\\$1 \\$2 "\\$3" .. .de C2 .C \e(\\$1 "" \\(\\$1 \\$2 "\\$3" .. .if !\n(.g .ig .de CD .C \[char\\$1] \\$1 \[char\\$1] \\$2 "\\$3" .. .do fspecial CR R .\" input-name decimal-code output-name ps-name description .if !\n(.g .ig .de C .if c\\$3 \{\ .ft CR .tr `\`'\*(aq .in 0 .di CH \&\\$1 .br .di .in .ft .ds CH \\*(CH\ .tr ``'' \&\\$3\t\\*(CH\t\\$2\t\\$4\t\\$5 .\} .. .if \n(.g .ig .de C .if !'\\$3'' \{\ .ft B .tr `\`'\*(aq .in 0 .di CH \&\\$1 .br .di .in .ft .ds CH \\*(CH\ .tr ``'' \&\\$3\t\\*(CH\t\\$2\t\\$4\t\\$5 .\} .. .wh \n(nlu+\n(.tu-\n(.Vu Fo .de Fo 'bp .He .. .de He .ft I Output Input Input PostScript Notes name code name .ft .LP 'nf .. .He .CD 33 exclam .CD 34 quotedbl .CD 35 numbersign .CD 36 dollar .CD 37 percent .CD 38 ampersand .CD 39 quoteright .CD 40 parenleft .CD 41 parenright .CD 42 asterisk .CD 43 plus .CD 44 comma .CD 45 hyphen .CD 46 period .CD 47 slash .CD 58 colon .CD 59 semicolon .CD 60 less .CD 61 equal .CD 62 greater .CD 63 question .CD 64 at .CD 91 bracketleft .CD 92 backslash .CD 93 bracketright .CD 94 circumflex "サーカムフレクスアクセント" .CD 95 underscore .CD 96 quoteleft .CD 123 braceleft .CD 124 bar .CD 125 braceright .CD 126 tilde "チルドアクセント" .CD 161 exclamdown .CD 162 cent .CD 163 sterling .CD 164 currency .CD 165 yen .CD 166 brokenbar .CD 167 section .CD 168 dieresis .CD 169 copyright .CD 170 ordfeminine .CD 171 guillemotleft .CD 172 logicalnot .CD 173 hyphen .CD 174 registered .CD 175 macron .CD 176 degree .CD 177 plusminus .CD 178 twosuperior .CD 179 threesuperior .CD 180 acute "アキュートアクセント" .CD 181 mu .CD 182 paragraph .CD 183 periodcentered .CD 184 cedilla .CD 185 onesuperior .CD 186 ordmasculine .CD 187 guillemotright .CD 188 onequarter .CD 189 onehalf .CD 190 threequarters .CD 191 questiondown .CD 192 Agrave .CD 193 Aacute .CD 194 Acircumflex .CD 195 Atilde .CD 196 Adieresis .CD 197 Aring .CD 198 AE .CD 199 Ccedilla .CD 200 Egrave .CD 201 Eacute .CD 202 Ecircumflex .CD 203 Edieresis .CD 204 Igrave .CD 205 Iacute .CD 206 Icircumflex .CD 207 Idieresis .CD 208 Eth .CD 209 Ntilde .CD 210 Ograve .CD 211 Oacute .CD 212 Ocircumflex .CD 213 Otilde .CD 214 Odieresis .CD 215 multiply .CD 216 Oslash .CD 217 Ugrave .CD 218 Uacute .CD 219 Ucircumflex .CD 220 Udieresis .CD 221 Yacute .CD 222 Thorn .CD 223 germandbls .CD 224 agrave .CD 225 aacute .CD 226 acircumflex .CD 227 atilde .CD 228 adieresis .CD 229 aring .CD 230 ae .CD 231 ccedilla .CD 232 egrave .CD 233 eacute .CD 234 ecircumflex .CD 235 edieresis .CD 236 igrave .CD 237 iacute .CD 238 icircumflex .CD 239 idieresis .CD 240 eth .CD 241 ntilde .CD 242 ograve .CD 243 oacute .CD 244 ocircumflex .CD 245 otilde .CD 246 odieresis .CD 247 divide .CD 248 oslash .CD 249 ugrave .CD 250 uacute .CD 251 ucircumflex .CD 252 udieresis .CD 253 yacute .CD 254 thorn .CD 255 ydieresis .C2 -D Eth "アイスランド語の大文字 eth" .C2 Sd eth "アイスランド語の小文字 eth" .C2 TP Thorn "アイスランド語の大文字 thorn" .C2 Tp thorn "アイスランド語の小文字 thorn" .C2 AE AE .C2 ae ae .C2 OE OE .C2 oe oe .C2 IJ IJ "オランダ語の IJ リゲチャ" .C2 ij ij "オランダ語の ij リゲチャ" .C2 ss germandbls .C2 'A Aacute .C2 'C Cacute .C2 'E Eacute .C2 'I Iacute .C2 'O Oacute .C2 'U Uacute .C2 'a aacute .C2 'c cacute .C2 'e eacute .C2 'i iacute .C2 'o oacute .C2 'u uacute .C2 :A Adieresis .C2 :E Edieresis .C2 :I Idieresis .C2 :O Odieresis .C2 :U Udieresis .C2 :Y Ydieresis .C2 :a adieresis .C2 :e edieresis .C2 :i idieresis .C2 :o odieresis .C2 :u udieresis .C2 :y ydieresis .C2 ^A Acircumflex .C2 ^E Ecircumflex .C2 ^I Icircumflex .C2 ^O Ocircumflex .C2 ^U Ucircumflex .C2 ^a acircumflex .C2 ^e ecircumflex .C2 ^i icircumflex .C2 ^o ocircumflex .C2 ^u ucircumflex .C2 `A Agrave .C2 `E Egrave .C2 `I Igrave .C2 `O Ograve .C2 `U Ugrave .C2 `a agrave .C2 `e egrave .C2 `i igrave .C2 `o ograve .C2 `u ugrave .C2 ~A Atilde .C2 ~N Ntilde .C2 ~O Otilde .C2 ~a atilde .C2 ~n ntilde .C2 ~o otilde .C2 vS Scaron .C2 vs scaron .C2 vZ Zcaron .C2 vz zcaron .C2 ,C Ccedilla .C2 ,c ccedilla .C2 /L Lslash "ポーランド語のスラッシュ付き L" .C2 /l lslash "ポーランド語のスラッシュ付き l" .C2 /O Oslash .C2 /o oslash .C2 oA Aring .C2 oa aring .C2 a" hungarumlaut "ハンガリー語のウムラウト" .C2 a- macron "マクロン、バーアクセント" .C2 a. dotaccent "ドットアクセント" .C2 a^ circumflex "サーカムフレクスアクセント" .C2 aa acute "アキュートアクセント" .C2 ga grave "グレーブアクセント" .C2 ab breve "ブリーブアクセント" .C2 ac cedilla "セディラアクセント" .C2 ad dieresis "ウムラウト、ダイエレシス" .C2 ah caron "h\('a\(vcek アクセント" .C2 ao ring "リングもしくはサークルアクセント" .C2 a~ tilde "チルドアクセント" .C2 ho ogonek "フックもしくはオゴネクアクセント" .C2 .i dotlessi "点のない i" .C2 .j dotlessj "点のない j" .C2 Cs currency "スカンジナビアの通貨記号" .C2 Do dollar .C2 Po sterling .C2 Ye yen .C2 Fn florin .C2 ct cent .C2 Fo guillemotleft .C2 Fc guillemotright .C2 fo guilsinglleft .C2 fc guilsinglright .C2 r! exclamdown .C2 r? questiondown .C2 ff ff "ff のリゲチャ" .C2 fi fi "fi のリゲチャ" .C2 fl fl "fl のリゲチャ" .C2 Fi ffi "ffi のリゲチャ" .C2 Fl ffl "ffl のリゲチャ" .C2 OK \& "チェックマーク、照合のしるし" .C2 Of ordfeminine .C2 Om ordmasculine .C2 S1 onesuperior .C2 S2 twosuperior .C2 S3 threesuperior .C2 <- arrowleft .C2 -> arrowright .C2 <> arrowboth "左右向き矢印" .C2 da arrowdown .C2 ua arrowup .C2 va \& "上下向き矢印" .C2 lA arrowdblleft .C2 rA arrowdblright .C2 hA arrowdblboth "左右向き二重矢印" .C2 dA arrowdbldown .C2 uA arrowdblup .C2 vA \& "上下向き二重矢印" .C2 ba bar .C2 bb brokenbar .C2 br br "従来の troff で利用された箱罫線" .C2 ru ru "ベースラインの罫線" .C2 ul ul "従来の troff で利用された下線" .C2 bv bv "太い縦棒" .C2 bs bell .C2 ci circle .C2 bu bullet .C2 co copyright .C2 rg registered .C2 tm trademark .C2 dd daggerdbl "ダブルダガーサイン" .C2 dg dagger .C2 ps paragraph .C2 sc section .C2 de degree .C2 em emdash "全角 (M の幅の) ダッシュ" .C2 en endash "半角 (n の幅の) ダッシュ" .C2 %0 perthousand "千分の一記号、パーミル" .C2 12 onehalf .C2 14 onequarter .C2 34 threequarters .C2 f/ fraction "除算の棒" .C2 fm minute "フィート記号、プライム" .C2 sd second .C2 ha asciicircum "\s-2ASCII\s+2 サーカムフレクス、ハット、キャレット" .C2 ti asciitilde "\s-2ASCII\s0 チルド、大きいチルド" .C2 hy hyphen .C2 lB bracketleft .C2 rB bracketright .C2 lC braceleft .C2 rC braceright .C2 la angleleft "始め山括弧" .C2 ra angleright "終り山括弧" .C2 lh handleft .C2 rh handright .C2 Bq quotedblbase "低い二重コンマ引用符" .C2 bq quotesinglbase "低い一重コンマ引用符" .C2 lq quotedblleft .C2 rq quotedblright .C2 oq quoteleft "一重開き引用符" .C2 aq quotesingle "アポストロフィ引用符" .C2 or bar .C2 at at .C1 - minus "現在のフォントの負符号" .C2 sh numbersign .C2 sl slash .C2 rs backslash .C2 sq square .C2 3d therefore .C2 tf therefore .C2 *A Alpha .C2 *B Beta .C2 *C Xi .C2 *D Delta .C2 *E Epsilon .C2 *F Phi .C2 *G Gamma .C2 *H Theta .C2 *I Iota .C2 *K Kappa .C2 *L Lambda .C2 *M Mu .C2 *N Nu .C2 *O Omicron .C2 *P Pi .C2 *Q Psi .C2 *R Rho .C2 *S Sigma .C2 *T Tau .C2 *U Upsilon .C2 *W Omega .C2 *X Chi .C2 *Y Eta .C2 *Z Zeta .C2 *a alpha .C2 *b beta .C2 *c xi .C2 *d delta .C2 *e epsilon .C2 *f phi .C2 +f phi1 "ファイ変形" .C2 *g gamma .C2 *h theta .C2 +h theta1 "シータ変形" .C2 *i iota .C2 *k kappa .C2 *l lambda .C2 *m mu .C2 *n nu .C2 *o omicron .C2 *p pi .C2 +p omega1 "パイ変形、オメガ風" .C2 *q psi .C2 *r rho .C2 *s sigma .C2 *t tau .C2 *u upsilon .C2 *w omega .C2 *x chi .C2 *y eta .C2 *z zeta .C2 ts sigma1 "語尾小文字σ" .C2 ~~ approxequal .C2 ~= approxequal .C2 != notequal .C2 ** asteriskmath .C2 -+ minusplus .C2 +- plusminus .C2 <= lessequal .C2 == equivalence .C2 =~ congruent .C2 >= greaterequal .C2 AN logicaland .C2 OR logicalor .C2 no logicalnot .C2 te existential "存在する、存在限定子" .C2 fa universal "すべての、普通限定子" .C2 Ah aleph .C2 Im Ifraktur "フラクトゥール(ドイツ字体) I, 虚数" .C2 Re Rfraktur "フラクトゥール(ドイツ字体) R, 実数" .C2 if infinity .C2 md dotmath .C2 mo element .C2 mu multiply .C2 nb notsubset .C2 nc notpropersuperset .C2 ne notequivalence .C2 nm notelement .C2 pl plusmath "特殊フォントの正符号" .C2 eq equalmath "特殊フォントの等号" .C2 pt proportional .C2 pp perpendicular .C2 sb propersubset .C2 sp propersuperset .C2 ib reflexsubset .C2 ip reflexsuperset .C2 ap similar .C2 pd partialdiff "偏微分記号" .C2 c* circlemultiply "円の中に積の記号" .C2 c+ circleplus "円の中に正符号" .C2 ca intersection "共通集合、キャップ" .C2 cu union "合併集合、カップ" .C2 di divide "除算記号" .C2 -h hbar .C2 gr gradient .C2 es emptyset .C2 CL club "クラブスート" .C2 SP spade "スペードスート" .C2 HE heart "ハートスート" .C2 DI diamond "ダイヤスート" .C2 CR carriagereturn "改行の記号" .C2 st suchthat .C2 /_ angle .C2 << "" "非常に小さい" .C2 >> "" "非常に大きい" .C2 wp weierstrass "ヴァイヤーシュトラースの p" .C2 lz lozenge .C2 an arrowhorizex "水平な矢印の延長" .ch Fo .SH "関連項目" .BR groff (1) .br .IR "An extension to the troff character set for Europe" , E.G. Keizer, K.J. Simonsen, J. Akkerhuis, EUUG Newsletter, Volume 9, No. 2, Summer 1989 diff --git a/ja_JP.eucJP/man/man7/groff_me.7 b/ja_JP.eucJP/man/man7/groff_me.7 index 535615ce2d..1e5d2dc687 100644 --- a/ja_JP.eucJP/man/man7/groff_me.7 +++ b/ja_JP.eucJP/man/man7/groff_me.7 @@ -1,274 +1,274 @@ .\" Copyright (c) 1980 The Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms are permitted .\" provided that the above copyright notice and this paragraph are .\" duplicated in all such forms and that any documentation, .\" advertising materials, and other materials related to such .\" distribution and use acknowledge that the software was developed .\" by the University of California, Berkeley. The name of the .\" University may not be used to endorse or promote products derived .\" from this software without specific prior written permission. .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" .\" @(#)me.7 6.4 (Berkeley) 4/13/90 .\" jpman %Id: groff_me.7,v 1.3 1998/12/29 13:44:38 oku Stab % .\" .\" Modified for groff by jjc@jclark.com .hc % -.TH GROFF_ME 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_ME 7 "7 September 1996" "Groff Version 1.11" .UC 3 .SH 名称 groff_me \- 論文を整形するための troff マクロ .SH 書式 .B "groff \-me" [ options ] file ... .br .B "troff \-me" [ options ] file ... .SH 解説 本マニュアルページは、 groff 文書整形システムの一部である GNU バージョン \-me マクロを解説します。 本バージョンは、GNU troff でも Unix troff でも使用可能です。 この .I troff マクロ定義パッケージは、 様々な書式の技術論文に対して、よくある形式の文書の整形機能を提供します。 .PP マクロリクエストの定義については後述します。 多くの .I troff リクエストは、本パッケージと組み合わせて使用すると危険ですが、 次のリクエストは、最初に .pp を使った後であれば問題なく使用する ことができます。 .nf .IP .ta \w'.sz +n 'u \&.bp 新しいページを開始する \&.br 出力行をここで分割する \&.sp n n 個の空白行を挿入する \&.ls n (行間) n=1 シングルスペース, n=2 ダブルスペース \&.na 右端を揃えない \&.ce n 次の n 行を中央揃えにする \&.ul n 次の n 行に下線を引く .fi .PP .I pic, .I eqn, .I refer, .I tbl といったプリプロセッサの出力を、入力として受け付けます。 .SH 関連ファイル /usr/share/tmac/tmac.e .SH 関連項目 .BR groff (1), .BR troff (1) .br \-me Reference Manual, Eric P. Allman .br Writing Papers with Groff Using \-me .tr &. .SH リクエスト 本リストは不完全です。 興味があるものの詳細については .I "The \-me Reference Manual" を参照してください。 .PP .ta \w'.eh \'x\'y\'z\' 'u +\w'初期値 'u +\w'行分割 'u .br .di x \ka .br .di .in \nau .ti 0 リクエスト 初期値 行分割 説明 .br .in \nau .ti 0 \&.(c - yes 中央揃えブロックの開始。 .ti 0 \&.(d - no 遅延テキストの開始。 .ti 0 \&.(f - no 脚注の開始。 .ti 0 \&.(l - yes リストの開始。 .ti 0 \&.(q - yes 大きな引用の開始。 .ti 0 \&.(x \fIx\fR - no .I x 番の索引項目の開始。 .ti 0 \&.(z - no フローティングキープの開始。 .ti 0 \&.)c - yes 中央揃えブロックの終了。 .ti 0 \&.)d - yes 遅延テキストの終了。 .ti 0 \&.)f - yes 脚注の終了。 .ti 0 \&.)l - yes リストの終了。 .ti 0 \&.)q - yes 大きな引用の終了。 .ti 0 \&.)x - yes 索引項目の終了。 .ti 0 \&.)z - yes フローティングキープの終了。 .ti 0 \&.++ \fIm H\fR - no 論文の節の定義。 .I m は論文の部分を定義します。 .B C (章)、 .B A (付録)、 .B P (序文、例えば、アブストラクト、目次など)、 .B B (参考文献)、 .B RC (各章において 1 ページ目から開始する章)、 .B RA (1 ページ目から開始する付録) のいずれかです。 .ti 0 \&.+c \fIT\fR - yes 章 (または付録等 .++ で設定したもの) の開始。 .I T は章のタイトルです。 .ti 0 \&.1c 1 yes 新しいページを 1 コラムで整形。 .ti 0 \&.2c 1 yes 2 コラムで整形。 .ti 0 \&.EN - yes .I eqn や .I neqn が生成した式の後の空白。 .ti 0 \&.EQ \fIx y\fR - yes 式の前に置くことにより、 行を分割して空白を加えます。式番号は .IR y です。 省略可能な引数 \fIx\fR は、 .I I の場合式のインデント (デフォルト) を、 .I L の場合式の左揃えを、 .I C の場合式の中央揃えを、それぞれ意味します。 .ti 0 \&.GE - yes \fIgremlin\fP ピクチャの終了。 .ti 0 \&.GS - yes \fIgremlin\fP ピクチャの開始。 .ti 0 \&.PE - yes \fIpic\fP ピクチャの終了。 .ti 0 \&.PS - yes \fIpic\fP ピクチャの開始。 .ti 0 \&.TE - yes 表の終了。 .ti 0 \&.TH - yes 表の先頭部分の終了。 .ti 0 \&.TS \fIx\fR - yes 表の開始; \fIx\fR が .I H の場合、表の先頭部分を繰り返し使用します。 .ti 0 \&.b \fIx\fR no no .I x をボールドで表示します; 引数が無い場合にはボールドに移行します。 .ti 0 \&.ba \fI+n\fR 0 yes ベースインデントを .I n だけ増加させます。 このインデントは (段落のような) 通常のテキストのインデントをセットするために使用されます。 .ti 0 \&.bc no yes 新しいコラムの開始。 .ti 0 \&.bi \fIx\fR no no .I x をボールドイタリックで表示 (フィルしない場合のみ)。 .ti 0 \&.bu - yes 小球 (bullet) が付いた段落の開始。 .ti 0 \&.bx \fIx\fR no no \fIx\fR を箱の中に表示 (フィルしない場合のみ)。 .ti 0 \&.ef \fI\'x\'y\'z\'\fR \'\'\'\' no 偶数フッタを x y z にします。 .ti 0 \&.eh \fI\'x\'y\'z\'\fR \'\'\'\' no 偶数ヘッダを x y z にします。 .ti 0 \&.fo \fI\'x\'y\'z\'\fR \'\'\'\' no フッタを x y z にします。 .ti 0 \&.hx - no 次のページのヘッダとフッタを抑制します。 .ti 0 \&.he \fI\'x\'y\'z\'\fR \'\'\'\' no ヘッダを x y z にします。 .ti 0 \&.hl - yes 水平線の描画。 .ti 0 \&.i \fIx\fR no no .I x をイタリックにします。 .I x が無い場合、後続のテキストをイタリックにします。 .ti 0 \&.ip \fIx y\fR no yes ハンギングタグ .IR x を伴う、インデントされた段落を開始します。 インデントは半角 (n の幅) .I y 個分です (デフォルトは 5)。 .ti 0 \&.lp yes yes 左揃えしたブロックの段落の開始。 .ti 0 \&.np 1 yes 数字の付いた段落の開始。 .ti 0 \&.of \fI\'x\'y\'z\'\fR \'\'\'\' no 奇数フッタを x y z にします。 .ti 0 \&.oh \fI\'x\'y\'z\'\fR \'\'\'\' no 奇数ヘッダを x y z にします。 .ti 0 \&.pd - yes 遅延テキストの表示。 .ti 0 \&.pp no yes 段落の開始。 最初の行はインデントされます。 .ti 0 \&.r yes no 後続のテキストをローマンにします。 .ti 0 \&.re - no タブをデフォルト値にリセットします。 .ti 0 \&.sh \fIn x\fR - yes 節の見出しが続きます。 フォントは自動的にボールドになります。 .I n は節のレベルであり、 .I x は節のタイトルです。 .ti 0 \&.sk no no 次のページを空白のままとします。 次の 1 ページのみに有効です。 .ti 0 \&.sm \fIx\fR - no .I x をより小さなポイントサイズでセットします。 .ti 0 \&.sz \fI+n\fR 10p no ポイントサイズを .I n ポイントだけ増加させます。 .ti 0 \&.tp no yes タイトルページの開始。 .ti 0 \&.u \fIx\fR - no 引数に下線を引きます (\fItroff\fR においても)。 (フィルしない場合のみ)。 .ti 0 \&.uh - yes .sh に似ていますが、番号を付けません。 .ti 0 \&.xp \fIx\fR - no .I x 番の索引項目の表示。 .SH 日本語訳 堀川和雄 diff --git a/ja_JP.eucJP/man/man7/groff_mm.7 b/ja_JP.eucJP/man/man7/groff_mm.7 index 13dbb44444..43574f5f2f 100644 --- a/ja_JP.eucJP/man/man7/groff_mm.7 +++ b/ja_JP.eucJP/man/man7/groff_mm.7 @@ -1,1877 +1,1877 @@ .ig \"-*- nroff -*- Copyright (C) 1991-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" %Id: groff_mm.man,v 1.27 1995/04/24 05:37:46 jh Exp % .\" jpman %Id: groff_mm.7,v 1.4 1999/01/20 17:21:55 kuma Stab % .\" .\" WORD: abstract アブストラクト .\" WORD: broken varable list 変則可変リスト .\" WORD: bullet list 黒丸リスト .\" WORD: diversion 転換 .\" WORD: exhibit エグジビット .\" WORD: front page 表題紙 .\" WORD: hanging indent ハンギングインデント .\" WORD: heading 見出し .\" WORD: justification 行末揃え .\" WORD: memorandum 覚書 .\" WORD: multiple columns 多段組 .\" WORD: nesting 入れ子 .\" WORD: overprint 重ね打ちする .\" WORD: released paper style 公開論文形式 .\" WORD: separate environment 隔離された環境 .\" WORD: static display スタティックディスプレイ .\" WORD: trap トラップ .\" WORD: variable item list 可変項目リスト .\" " .de T2 .ne 2v .ti -.5i \\$1 .sp -1 .. .de T3 .ne 2v .ti -.5i \fB\\$1\fP .br .. -.TH GROFF_MM 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_MM 7 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_mm \- groff mm マクロ .SH 書式 .B groff .B \-mm [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] .SH 解説 groff mm マクロは、DWB mm マクロと互換であるように設計されています。 しかし、以下のような制限があります: .TP .B \(bu ベル研の方言は実装されていません。 .TP .B \(bu マクロ OK 及び PM は実装されていません。 .TP .B \(bu groff mm は、カットマークをサポートしません。 .LP \fBmm\fP は、国際化されて設計されています。 そのため、各国語対応用の短いマクロファイルを書き換えて、 英語のテキストを好みの言語対応に置き換えることができます。 \fBmmse\fP を例として用いて下さい。 .LP 新しいマクロ: \fBAPP\fP, \fBAPPSK\fP, \fBB1\fP, \fBB2\fP, \fBBVL\fP, \fBCOVER\fP, \fBCOVEND\fP, \fBGETHN\fP, \fBGETPN\fP, \fBGETR\fP, \fBGETST\fP, \fBINITR\fP, \fBMC\fP, \fBMOVE\fP, \fBMULB\fP, \fBMULN\fP, \fBMULE\fP, \fBPGFORM\fP, \fBPGNH\fP, \fBSETR\fP, \fBTAB\fP, \fBVERBON\fP, \fBVERBOFF\fP .LP .\"########################################################################" .LP 大域変数の初期化後に \fBlocale\fP か \fIlang\fP\fB_locale\fP という ファイルを読み込みます。そのため、企業名などについてのマクロを ローカライズすることができます。 .sp このマニュアルでは、角括弧は省略可能な引数を表示するのに用いられます。 .sp 3 \fB数値レジスタと文字列変数\fP .br 多くのマクロを数値レジスタと文字列変数によって制御することが出来ます。 数値レジスタは、\fBnr\fP コマンドによって、代入が出来ます。 .br \fB\&.nr\fP \fIXXX\fP \fI[+-]n [i]\fP .br \fBXXX\fP はレジスタの名前です。 \fBn\fP は、代入されるべき値です。 そして、\fBi\fP は、自動増加に使われる増分値です。 もし現在値の増減が必要ならば、\fBn\fP には、 前に接頭辞として正符号や負符号をつけることが出来ます。 (自動増加や自動減少が行なわれるのは、 数値レジスタが正符号か負符号とともに用いられた時のことで、 \fB\en+[XXX]\fP か \fB\en-[XXX]\fP の様になります。) .sp 文字列変数は、\fBds\fP により定義されます。 .br \fB\&.ds\fP \fIYYY string\fP .br 文字列 \fIstring\fP としては、空白も含めて行末までの全部が割り当てられます。 \fIstring\fP の中の最初の空白は、二重引用符が前につけられなければなりません。 (テキストの中では、文字列変数は \fB\e*[YYY]\fP の様に使われます。) .sp \fB数値レジスタの特殊な形式\fP .br 数値レジスタというものは、形式が何も指定されなければ、 通常の数字で表示されます。 形式は \fBaf\fP によって設定出来ます: .br \fB\&.af\fP \fIR c\fP .br \fIR\fP はレジスタの名前で、\fIc\fP はその形式です。 .in +.5i .T2 \fB形式\fP \fB数の並び\fP .T2 1 0, 1, 2, 3, ... .T2 001 000, 001, 002, 003, ... .T2 i 0, i, ii, iii, iv, ... .T2 I 0, I, II, III, IV, ... .T2 a 0, a, b, c, ..., z, aa, ab, ... .T2 A 0, A, B, C, ..., Z, AA, AB, ... .in .LP \fBマクロ:\fP .TP .B "1C [1]" 1 段の段組処理を開始します。引数としての \fB1\fP はページ区切りを無効にします。 広い脚注を用いて下さい。 狭い脚注は重ね打ちになってしまうでしょう。 .TP .B 2C 2 段の段組処理を開始します。ページを 2 段のカラムに分割します。 これは、\fBMC\fP の特殊な場合になります。 関連項目は \fB1C\fP です。 .TP .B AE アブストラクトの終わり。 \&\fBAS\fP を参照して下さい。 .TP .B "AF [企業名]" 著者の帰属する企業。\fBAU\fP の前に呼び出さなければなりません。 関連項目は \fBCOVER\fP です。 .TP .B "AL [type [text-indent [1]]]" 自動番号付けリストを開始します。 項目は、1 から始められる番号を振付けられます。 引数の \fItype\fP は数字の型を制御します。 .in +.5i .T2 引数 数字の型 .T2 1 アラビア数字 (デフォルト) .T2 A 大文字 (A-Z) .T2 a 小文字 (a-z) .T2 I 大文字 ローマ数字 .T2 i 小文字 ローマ数字 .in \fItext-indent\fP はインデントを設定し、\fBLi\fP よりも優先されます。 3 番目の引数は、各項目の前に空行を出力することを禁止します。 .TP .B "APP name text" \fIname\fP という名前の付録を開始します。 \fIname\fP が "" である場合には、自動的に名前がつけられます。 名前が自動生成されるならば、付録は \fBA\fP から始まります。 数値変数の \fBAph\fP が非 0 であれば、新しいページに切り替えられ、 ヘッダも生成されます。 これが、デフォルトです。 付録は、常に「List of contents」の中に正しいページ番号とともに表示されます。 \fIAPPENDIX\fP という名前は、 文字列変数の \fBApp\fP に望みのテキストを代入すれば、 変えることが出来ます。 .TP .B "APPSK name pages text" \&\fB.APP\fP とほぼ同じです。異なるのは、\fIpages\fP だけ ページ番号が増加されることです。 これが使用されるのは、図表や、その他整形されていない文書が 付録に含まれる時です。 .TP .B "AS [arg [indent]]" アブストラクトの開始。 インデントは、「en (半角)」で指定されますが、単位付きの指定も可能です。 引数の \fIarg\fP は、アブストラクトが印字される場所を制御します。 .in +.5i .T2 arg 配置 .T2 0 公開論文形式 (\fBMT 4\fP) の場合には、 アブストラクトは第 1 ページと表紙に印字されます。 それ以外の場合には、表紙はなく、第 1 ページに印字されます。 .T2 1 アブストラクトは第 1 ページだけに印字されます (\fBMT 4\fP の場合のみ)。 .T2 2 アブストラクトは表紙だけに印字されます。 表紙の印字には、\fBCS\fP は必要ありません。 .in 外部へのレター形式 (\fBMT 5\fP) では、アブストラクトは全く印字されません。 \fIindent\fP は両側マージンのインデントを制御します。 指定されない時は、通常のテキストのインデントが用いられます。 .TP .B "AST [title]" アブストラクトの題目。 デフォルトでは、\fBABSTRACT\fP です。 アブストラクトのテキストの上にそのテキストを設定します。 .TP .B "AT title1 [title2 ...]" 著者の肩書。\fBAT\fP は、各々の \fBAU\fP のすぐ後に現れなければなりません。 肩書は、署名ブロックで名前の後に現れます。 .TP .B "AU name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]" 著者に関する情報。これは、覚書や論文の著者を明示し、表紙や他の同様の場所に 印字されます。 \fBAU\fP は \fBTL\fP の前に現れなければなりません。 著者情報には、イニシャル (initials)、所在地 (loc)、部局 (dept)、 電話内線番号 (ext)、部屋番号又は部屋の名前 (room)、そして 3 個までの 追加引数を含めることが出来ます。 .TP .B "AV [name [1]]" 承認署名。これは、署名と日付を伴う承認欄を生成します。 変数 \fBLetapp\fP を用いて文字列 \fBAPPROVED:\fP を変更することが出来ます。 また、文字列 \fBDate\fP は \fBLetdate\fP に入っています。 .TP .B "B [bold-text [prev-font-text [bold...]]]" ボールド体の開始。引数の数には、制限はありません。 すべての引数は、1 個の単語に結合されます。 第 1 番目の引数、第 3 番目の引数、などなどがボールド体で印字されます。 .TP .B B1 (ms マクロのような) ボックスの開始。テキストの周りにボックスを描きます。 テキストは 1 文字インデントされ、右マージンは 1 文字短くなります。 .TP .B B2 ボックスの終了。\fBB1\fP によって開始されたボックスを終了します。 .TP .B BE ページ底部のブロックの終了。\fBBS\fP を参照して下さい。 .TP .B "BI [bold-text [italic-text [bold-text [...]]]]" ボールド体とイタリック体。 引数の数には制限はありません。 \fBB\fP を参照して下さい。 .TP .B "BL [text-indent [1]]" 黒丸リストの開始。これは、黒丸記号と空白を各リスト項目の先頭部分に配置する リストを初期化します (\fBLI\fP を参照して下さい)。 \fItext-indent\fP は、数値レジスタ \fBPi\fP により設定されるリスト項目の デフォルトのインデントより優先されます。 第 3 番目の引数により、各項目前の空行の出力が禁止されます。 .TP .B "BR [bold-text [roman-text [bold-text [...]]]]" ボールド体とローマン体。 引数の数には、制限はありません。 .TP .B BS ページ底部のブロック開始。これは、テキストブロックの定義を開始します。 このブロックは各ページの底部に印字されます。 ブロックは、\fBBE\fP で終了します。 .TP .B BVL 変則可変項目リスト。 この変則可変項目リストには、定まった項目記号がありません。 その代わり、各 \fBLI\fP に項目記号が定義されていると仮定しています。 テキストは必ず、項目記号の後の次の行で始まります。 \fItext-indent\fP によって、テキストのインデントが設定されます。 そして、\fImark-indent\fP によって、現在のインデントから項目記号までの 距離が設定されます。 第 3 番目の引数は、各項目の前に空行を出力することを禁止します。 .TP .B "COVER [arg]" \&\fBCOVER\fP は表紙の定義を開始します。 重要なことは、\fB.COVER\fP がすべての通常のテキストより前に現れることです。 \&\fB.COVER\fP では、\fIarg\fP を使用して、 /usr/share/tmac/mm/\fIarg\fP.cov というファイル名を構成します。 このお陰で、無制限な型の表紙を創作することが可能です。 \fIms.cov\fP の目的としていることは、\fBms\fP の表紙に似せることです。 \&\fB.COVER\fP では、表紙の定義の最後に \fB.COVEND\fP があることが要求されます。 必ず、以下のような順番で表紙マクロを使用して下さい: .nf \&.COVER \&.TL \&.AF \&.AU \&.AT \&.AS \&.AE \&.COVEND .fi しかし、必ず必要なのは \fB.TL\fP と \fB.AU\fP だけです。 .TP .B COVEND これによって表紙の記述は終了し、表紙が印字されます。 このマクロは、表紙ファイルに定義されています。 .TP .B DE ディスプレイ終了。これは、\fBDS\fP 又は \fBDF\fP で始まったテキストブロック やディスプレイを終了させます。 .TP .B "DF [format [fill [rindent]]]" フローティングディスプレイを開始します (入れ子にはできません)。 フローティングディスプレイは、キューに保存され、入れられた順番で印字されます。 \fIformat\fP, \fIfill\fP, \fIrindent\fP は、\fBDS\fP の場合と同じです。 フローティングディスプレイは、2 個の数値レジスタ \fBDe\fP と \fBDf\fP とによって制御されます。 .sp \fBDe レジスタ\fP .in +.5i .T2 0 特別なことは何もありません。これがデフォルトです。 .T2 1 ディスプレイが印字された後で改ページが行われます。 その為、1 ページに唯 1 つのディスプレイが出力されます。 その後ろには、テキストは何も続きません。 .in .sp \fBDf レジスタ\fP .in +.5i .T2 0 (セクション - ページの番号付けが有効な時は) 各セクションの最後に、 そうでない時には文書の最後に、ディスプレイは印字されます。 .T2 1 充分な余地があれば、新しいディスプレイは現在のページに印字されます。 そのような余地がなければ、ディスプレイは文書の最後に印字されます。 .T2 2 1 つのディスプレイが、各ページの、又は (多段組のモードでは) 各カラムの一番上に印字されます。 .T2 3 もし充分な余地があるならば、1 つのディプレイを印字します。 余地がなければ、ディスプレイは次ページか次のカラムの一番上に印字されます。 .T2 4 新しいページまたはカラムに、入るだけのディスプレイを印字します。 もし \fBDe\fP が 0 でなければ、各ディスプレイの間に改ページが出力されます。 .T2 5 現在のページをディスプレイで満たします。 そして、残りは、新しいページまたはカラムから始めます。(これがデフォルトです)。 もし \fBDe\fP が 0 でなければ、各ディスプレイの間に改ページが出力されます。 .in .TP .B "DL [text-indent [1]]" ダッシュリストの開始。これは、各項目がダッシュの後に印字されるリスト を開始します。 \fItext-indent\fP は、数値レジスタの \fBPi\fP によって設定される、リスト項目の デフォルトのインデントを変更します。 第 3 引数は各項目の前に空行を印字することを禁止します。 第 2 引数は印字されるべきリスト項目の間の空行を抑止します。 \fBLI\fP を参照して下さい。 .TP .B "DS [format [fill [rindent]]]" スタティックディスプレイの開始。これは、\fBDE\fP に至るまでテキストの収集を 始めます。 テキストは、ページ長より長くならない限り同一のページに印字されます。 \fBDS\fP は入れ子にできます。入れ子の深さには限度はありません (合理的な程度に :-)。 .sp \fBformat\fP .in +.5i .ds x " .\" " .T2 """""" インデントしません。 .T2 none インデントしません。 .T2 L インデントしません。 .T2 I 数値レジスタ \fBSi\fP の値だけテキストをインデントします。 .T2 C 各行を中央揃えします。 .T2 CB ディスプレイ全体をブロックとして中央揃えします。 .T2 R 行を右揃えします。 .T2 RB ディスプレイ全体をブロックとして右揃えします。 .in .sp L, I, C, CB は 0, 1, 2, 3 とも指定できます。これは互換性の理由からです。 (この機能は使用しないで下さい。:-) .sp \fBfill\fP .in +.5i .T2 """""" 行詰め機能を無効にします。 .T2 none 行詰め機能を無効にします。 .T2 N 行詰め機能を無効にします。 .T2 F 行詰め機能を有効にします。 .in .sp N と F は 0 と 1 とも指定できます。 通常は空行がディスプレイの前と後に印字されます。 数値レジスタ \fBDs\fP に 0 を設定すればこれを抑止出来ます。 \fIrindent\fP を指定すれば、行の長さをその量だけ短く出来ます。 .TP .B "EC [title [override [flag [refname]]]]" 数式の題目。 数式に題目をつけます。 引数に \fIoverride\fP を指定すれば、数式番号を変更出来ます。 .sp \fBflag\fP .in +.5i .T2 none \fIoverride\fP は、番号の接頭辞となります。 .T2 0 \fIoverride\fP は、番号の接頭辞となります。 .T2 1 \fIoverride\fP は、番号の接尾辞となります。 .T2 2 番号は \fIoverride\fP に置き換えられます。 .in \&\fBEC\fP は数値レジスタの \fBEc\fP をカウンタとして使います。 番号の形式を変更する為に、\fB.af\fP を用いることが出来ます。 もし数値レジスタの \fBOf\fP が 1 であれば、題目の形式として番号の後にはドット の代わりにダッシュが使われます。 文字列変数の \fBLe\fP は、数式のリスト (List of Equations) の題目を 制御します。 これは、デフォルトでは \fILIST OF EQUATIONS\fP です。 数値レジスタの \fBLiec\fP は単語 \fIEquation\fP を含みます。 この文字列は番号の前に印字されます。 もし \fIrefname\fP が指定されている時には、数式番号が \fB.SETR\fP によって 保存されます。これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .TP .B "EF [arg]" 偶数ページのフッタ。これは偶数ページの通常のページフッタの すぐ上に印字されます。 \&\fBPF\fP を参照して下さい。 .TP .B "EH [arg]" 偶数ページのヘッダ。これは偶数ページの通常のページヘッダの すぐ下に印字されます。 \&\fBPH\fP を参照して下さい。 .TP .B EN 数式の終了。 \&\fBEQ\fP を参照して下さい。 .TP .B EOP ページ終了のユーザ定義マクロ。 フッタを通常通り印字する代わりにこのマクロが呼び出されます。 このマクロは何のトラップもアクティブではない状態の隔離された環境下で 実行されます。 \&\fBTP\fPを参照して下さい。 .sp \fBEOP に利用できる文字列変数\fP .in +.5i .T2 EOPf \&\fBPF\fP からの引数。 .T2 EOPef \&\fBEF\fP からの引数。 .T2 EOPof \&\fBOF\fP からの引数。 .in .TP .B "EQ [label]" 数式の開始。 \fBEQ\fP/\fBEN\fP は、\fBeqn\fP への入力として書かれた数式の区切り記号です。 \fBEQ\fP/\fBEN\fP は \fBDS\fP/\fBDE\fP ペアに囲まれていなければなりません。 しかし、\fBEQ\fP が \fBeqn\fP のオプションを設定するのに使用されているだけ ならば、その必要はありません。 数値レジスタの \fBEq\fP が 1 でなければ、\fIlabel\fP は数式の右マージンに 現れます。1 であれば、ラベルは左マージンに現れます。 .TP .B "EX [title [override [flag [refname]]]]" エグジビットの題目。 引数は \fBEC\fP と同じです。 \&\fBEX\fP は数値レジスタの \fBEx\fP をカウンタとして使用します。 文字列変数の \fBLx\fP は、エグジビットのリスト (List of Exhibits) の題名を 制御します。デフォルトでは \fILIST OF EXHIBITS\fP となります。 文字列変数の \fBLiex\fP は、\fIExhibit\fP という単語を含みます。 この単語は、番号の前に印字されます。 もし \fIrefname\fP が指定されたなら、その時はエグジビット番号は、 \&\fB.SETR\fP により保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .TP .B "FC [closing]" レターや覚書の正式な締めくくりとして \fIYours\ very\ truly,\fP を印字します。 引数でデフォルトの文字列を置き換えられます。 デフォルトは文字列変数の \fBLetfc\fP に保管されています。 .TP .B "FD [arg [1]]" 脚注のデフォルトの形式。 これは、ハイフネーション (hyphen)、右マージン揃え (adjust)、 脚注テキストのインデント (indent) を制御します。 また、ラベル揃え (ljust) も変更することが出来ます。 .sp .ne 14v .nf .ta .5i +.8i +.8i +.8i +.8i \fBarg hyphen adjust indent ljust\fP 0 no yes yes left 1 yes yes yes left 2 no no yes left 3 yes no yes left 4 no yes no left 5 yes yes no left 6 no no no left 7 yes no no left 8 no yes yes right 9 yes yes yes right 10 no no yes right 11 yes no yes right .sp .fi .DT 11 以上の引数は、引数 0 と見なされます。mm でのデフォルトは 10 です。 .TP .B FE 脚注の終了。 .TP .B "FG [title [override [flag [refname]]]]" 図の題名。 もし \fIrefname\fP が指定されていれば、図番号が \&\fB.SETR\fP によって保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .TP .B "FS [label]" 脚注の開始。 脚注は \fBFE\fP で閉じられます。 通常脚注は自動的に番号が付されます。 この番号は、文字列変数の \fBF\fP により利用出来ます。 ただ \fB\e*F\fP をテキストに加えて下さい。 また、\fIlabel\fP を引数として加えることで、 他の番号や名前を脚注に付けることが出来ます。 ディスプレイの中の脚注も今では可能です。 空行が、脚注同士を分離します。 行の高さは、数値レジスタの \fBFs\fP により制御されます。 デフォルト値は 1 です。 .TP .B "GETHN refname [varname]" これは、対応する \fBSETR\fP \fIrefname\fP が配置された場所の セクションヘッダ番号を挿入します。 これは、1 回目のパスでは、X.X.X. となっているでしょう。 \fBINITR\fP を参照して下さい。 もし varname が指定されているなら、\fBGETHN\fP により文字列変数の \&\fIvarname\fP にはセクションヘッダ番号が代入されます。 .TP .B "GETPN refname [varname]" これは、対応する \fBSETR\fP \fIrefname\fP が配置された場所の ページ番号を挿入します。 これは、1 回目のパスでは、9999 となっているでしょう。 \fBINITR\fP を参照して下さい。 もし varname が指定されているなら、\fBGETPN\fP により文字列変数の \&\fIvarname\fP にはページ番号が代入されます。 .TP .B "GETR refname" これは \fBGETHN\fP と \fBGETPN\fP をテキストの 「chapter」と「, page」とともに結合します。 文字列変数の \fIQrf\fP は参照用のテキストを保持しています: .ti +.5i \&.ds Qrf See chapter \e\e*[Qrfh], page \e\e*[Qrfp]. .br \fIQrf\fP は他の言語をサポートする為に変更出来ます。 文字列変数の \fIQrfh\fP と \fIQrfp\fP は \fBGETR\fP により設定され、 セクションヘッダ番号とページ番号が入っています。 .TP .B "GETST refname [varname]" これは、\fB.SETR\fP の第 2 引数により保存された文字列を挿入します。 これは、1 回目のパスでは、ダミー文字列になっているでしょう。 もし varname が指定されたなら、\fBGETST\fP により文字列変数の \fIvarname\fP には保存された文字列が代入されます。 \&\fBINITR\fP を参照して下さい。 .TP .B "H level [heading-text [heading-suffix]]" 番号付セクション見出し。 セクションヘッダには、1 から 7 迄のレベルを付けられます。 レベル 1 が、トップレベルです。 テキストは引数 \fIheading-text\fP に与えられます。 テキストに空白があるときには、二重引用符で括らなければなりません。 \fBheading-suffix\fP をセクションヘッダのテキスト中に付け加えられます。 しかし、これは目次には現れません。 通常、これは脚注マークや同様のものに用いられます。 \fIheading-suffix\fP の中では \fB\e*F\fP を使わないで下さい。 \fB\e*F\fP は機能しません。 手動のラベルを使わなければなりません。 \fBFS\fP を参照して下さい。 .sp \fBH\fP の直後に置かれた段落 \fBP\fP は、無視されます。 \fBH\fP によって、行送りとインデントの処理が行われます。 .sp \fB見出しの前のページ切替\fP .br 数値レジスタの \fBEj\fP は見出しの前のページ切替を制御します。 通常、レベル 1 の見出しは、その前に 2 行の空行が印字されます。 それより高次のレベルの見出しの前では 1 行になります。 数値レジスタの \fBEj\fP が 1 であれば、各第 1 レベルの見出しの前で 新しいページが排出されます。 レベルが \fBEj\fP の値以下の見出しすべてについて、ページが切り替えられます。 \fBEj\fP のデフォルト値は 0 です。 .sp \fB見出しの行区切りレベル\fP .br もし見出しレベルが数値レジスタ \fBHb\fP 以下ならば、 見出しの後で行区切りが起こります。 このレジスタのデフォルト値は 2 です。 .sp \fB見出しの空白行のレベル\fP .br もし見出しレベルが数値レジスタ \fBHs\fP 以下ならば、 空白行が見出しの後に挿入されます。 このレジスタのデフォルト値は 2 です。 .sp もしレベルが \fBHb\fP と \fBHs\fP の両方より大きければ、 テキストは同じ行で見出しの後に続きます。 .sp \fB見出しの後のインデント\fP .br 見出しの後のテキストのインデントは数値レジスタの \fBHi\fP によって制御 されます。 このレジスタのデフォルト値は 0 です。 .sp \fBHi\fP .in +.5i .T2 0 テキストは左揃えされます。 .T2 1 テキストのインデントは数値レジスタの \fBPt\fP の値に従います。 \fBP\fP を参照して下さい。 .T2 2 テキストは見出しの最初の単語に合わせて 1 列に並べられます。 .in .sp \fBセクション見出しの中央揃え\fP .br そのレベルが数値レジスタの \fBHc\fP 以下で、かつ \fBHb\fP 又は \fBHs\fP 以下の見出しはすべて、中央揃えされます。 .sp \fB見出しのフォントの管理\fP .br 各見出しレベルでのフォントは文字列変数の \fBHF\fP を用いて管理されています。 この変数には各レベルでのフォント番号又はフォント名が入れられています。 デフォルトでは \fB2\ 2\ 2\ 2\ 2\ 2\ 2\fP (すべての見出しでイタリック体) です。 これをまた \fBI\ I\ I\ I\ I\ I\ I\fP の様にも書くことが出来ます。 省略された値はすべて 1 であると推定されます。 .sp \fBポイントサイズの管理\fP .br 各見出しのポイントサイズは、フォントが \fBHF\fP により管理されるのと同様な 方法で、文字列変数の \fBHP\fP により管理されます。 値 0 は、デフォルトのポイントサイズを選びます。 デフォルト値は \fB0\ 0\ 0\ 0\ 0\ 0\ 0\fP です。 ポイントサイズのみが変わるのであって、垂直サイズではないことに気をつけて下さい。 垂直サイズはユーザにより指定されるマクロ \fBHX\fP や \fBHZ\fP によって 管理出来ます。 .sp \fB見出しカウンタ\fP .br \fBH1\fP から \fBH7\fP 迄の名前をつけられた 7 個の数値レジスタには 各見出しレベルのカウンタが入れられています。 それらの値はアラビア数字を使って印字されます。 これらは、マクロの \fBHM\fP (下記参照) によって変えられます。 すべての記号は印字する前に結合されます。 これを避ける為には、数値レジスタの \fBHt\fP に 1 を代入して下さい。 これにより各見出しでは、現在の見出しのカウンタだけが印字されます。 .sp \fB自動の目次\fP .br その見出しレベルが数値レジスタ \fBCl\fP 以下の見出しは、 目次に印字する為に保存されます。 このレジスタのデフォルト値は 2 です。 .sp \fB見出しの特別な管理、ユーザ定義マクロ\fP .br これから記述するマクロは垂直行送り、フォント、または他の機能を細かく 制御するためにユーザが定義できるものです。 引数 \fIlevel\fP は \fBH\fP へのレベル引数です。 しかし、これは番号無し見出しでは 0 になります (\fBHU\fP を参照して下さい)。 引数 \fIrlevel\fP は実際のレベルです。 これは、番号無し見出しの為に数値レジスタ \fBHu\fP に代入されます。 引数 \fIheading-text\fP は、\fBH\fP や \fBHU\fP へのテキスト引数です。 .sp \fBHX\ \fP\fIlevel\ rlevel\ heading-text\fP .br \fBHX\fP は見出し印字の直前に呼び出されます。 以下のようなレジスタが \fBHX\fP に利用出来ます。 \fBHX\fP は\ \fB}0\fP, \fB}2\fP, \fB;3\fP を変更してもかまいません。 .in +.5i .T3 "文字列変数\ }0" もし \fIrlevel\fP が非 0 であれば、見出し記号と 2 個のスペースが入っています。 そうでなければ、空です。 .T3 "数値レジスタ\ ;0" 見出しの後のテキストの位置が入っています。 0 はテキストが見出しと同じ行に続くはずであることを意味しています。 1 はテキストの前で行区切りが生ずるはずであることを意味します。 2 は空白行が見出しとテキストを分離するはずであることを 意味します。 .T3 "文字列変数\ }2" 数値レジスタの \fB;0\fP が 0 であれば、このレジスタには 2 個のスペースが入ります。 これは見出しからテキストを分離するのに使われます。 もし \fB;0\fP が非 0 であれば、この文字列変数は空です。 .T3 "数値レジスタ\ ;3" これには見出しの後に必要とされる行送りが単位付きで入ります。 デフォルトは 2v です。 これらは番号付け (\fB}0\fP)、垂直行送り (\fB}2\fP)、そして 見出しの後に必要な行送りの様な事柄を変更するのに使用出来ます。 .in .sp \fBHY\ \fP\fIdlevel\ rlevel\ heading-text\fP .br \fBHY\fP はサイズとフォントの計算の後に呼び出されます。 インデントを変更するために使えるでしょう。 .sp \fBHZ\ \fP\fIdlevel\ rlevel\ heading-text\fP .br \fBHZ\fP は見出しの印字の後で、\fBH\fP 又は \fBHU\fP が終了する直前に、 呼ばれます。 これは、セクション見出しに従いページヘッダを変更する為に使うことが出来るでしょう。 .TP .B "HC [hyphenation-character]" ハイフネーション文字を設定します。 デフォルト文字は \e% です。 引数なしで呼ばれた時はデフォルトに再設定します。 ファイルの初めで数値レジスタ \fBHy\fP に 0 を設定すれば、 ハイフネーションを止められます。 .TP .B "HM [arg1 [arg2 [... [arg7]]]]" 見出し記号の型。 見出しカウンタを印字する為の記号の型を制御します。 デフォルトは、すべてのレベルで 1 です。 .sp \fB引数\fP .in +.5i .T2 1 アラビア数字 .T2 0001 ひとつ以上の 0 を先行したアラビア数字 .T2 A 大文字のアルファベット .T2 a 小文字のアルファベット .T2 I 大文字のローマ数字 .T2 i 小文字のローマ数字 .T2 \fI空\fP アラビア数字 .in .TP .B "HU heading-text" 番号無しセクションヘッダ。 数値レジスタ \fBHu\fP をレベルとして \fBHU\fP は \fBH\fP の様に振舞います。 \fBH\fP を参照して下さい。 .TP .B "HX dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 \fBH\fP を参照して下さい。 .TP .B "HY dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 \fBH\fP を参照して下さい。 .TP .B "HZ dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字した直後に呼ばれます。 \fBH\fP を参照して下さい。 .TP .B "I [italic-text [prev-font-text [italic-text [...]]]]" イタリック体です。 これは引数なしで呼ばれたならフォントをイタリック体に変更します。 引数が 1 個の場合には、これはその単語をイタリック体にします。 引数が 2 個の場合には、これは引数を連結し最初の単語にイタリック体を 設定し、2 番目に以前のままのフォントを設定します。 引数の数には制限はありません。 すべての引数は、連結されます。 .TP .B "IA [addressee-name [title]]" これはレター形式の受信人 (addressee) と受信人のアドレスの記述を 開始します。 いくつかの名前が空の \fBIA\fP/\fBIE\fP ペアにより指定できます。 しかし、アドレスは唯 1 つになります。 \fBLT\fP を参照して下さい。 .TP .B "IB [italic-text [bold-text [italic-text [...]]]]" イタリック体とボールド体。 偶数番目の引数がイタリック体で、奇数番目がボールド体で印字されます。 \fBI\fP を参照して下さい。 .TP .B IE \fPIA\fP の後でアドレス指定を終了します。 .TP .B "INITR filename" 参照用マクロの初期化。 参照はファイル \fIfilename.tmp\fP と \fIfilename.qrf\fP とに 書き込まれます。 これには、groff の 2 回のパスが必要とされます。 最初のパスでは参照を探し、2 回目のパスではそれらを取り込みます。 \fBINITR\fP は数回使用できます。 しかし、有効なのは最初に出現した \fBINITR\fP だけです。 関連項目は、\fBSETR\fP, \fBGETPN\fP, \fBGETHN\fP です。 .TP .B "IR [italic-text [roman-text [italic-text [...]]]]" イタリック体とローマン体。 偶数番目の引数がイタリック体で、奇数番目がローマン体で印字されます。 \fBI\fP を参照して下さい。 .TP .B "LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]" リスト開始マクロ。 これはすべてのリストに使用される共通のマクロです。 引数 \fItext-indent\fP は現在のインデントからテキストをインデントする スペースの数です。 .sp \fIpad\fP と \fImark-indent\fP は項目記号を置く所を指定します。 項目記号は記号領域に配置されます。 \fImark-indent\fP はこの領域の前のスペースの数を設定します。 これは通常 0 です。 記号領域はテキストが始まる所で終ります。 それでもなお、テキストの開始は \fItext-indent\fP により決められます。 .sp もし \fIpad\fP が 0 ならば、項目記号は記号領域の中で左揃えされます。 もし\fIpad\fP が 0 より大きければ、その時は \fImark-indent\fP は無視されます。 そして項目記号はテキストに対しスペースで \fIpad\fP 個分前に配置されます。 この操作では、項目記号は右揃えされます。 .sp もし \fItype\fP が 0 であれば、リストはハンギングインデントになるか、又は 引数の \fImark\fP が与えられていたら、文字列の \fImark\fP が項目記号 となります。 .sp もし \fItype\fP が 0 より大きければ、自動的な番号付けが行われます。 更に \fImark\fP が空であれば、番号はアラビア数字となります。 この時、\fImark\fP には \fB1\fP, \fBA\fP, \fBa\fP, \fBI\fP, \fBi\fP のどれでも指定出来ます。 .sp \fItype\fP には項目記号を表示するため 6 通りの可能な方法の中から 1 つを選べます。 .br \fBtype\fP .in +.6i .T2 1 x. .T2 2 x) .T2 3 (x) .T2 4 [x] .T2 5 .T2 6 {x} .in .sp リストの各項目の前には \fILI-space\fP 行の空行が置かれます。 デフォルトは 1 です。 .sp \fBLB\fP 自体には \fILB-space\fP 行の空行が印字されます。 デフォルトは 0 です。 .TP .B "LC [list-level]" リスト状態情報のクリア。 これにより、アクティブなリストが \fIlist-level\fP レベル迄、 あるいは引数が指定されなかった場合には 0 レベル迄、すべて終了されます。 これはアクティブなリストをすべてクリアする為に \fBH\fP により使用されます。 .TP .B "LE [1]" リストの終了。 これは現在のリストを終了します。 \fBLE\fP はもし引数が指定されているなら、空行を印字します。 .TP .B "LI [mark [1]]" リスト項目。 これは、リストの各項目の最初に置かれます。 引数がないときは、\fBLI\fP は、現在のリスト形式で決められる項目記号 を印字します。 \fBLI\fP に引数を 1 つ指定すると、それが代わりの項目記号として使用されます。 \fBLI\fP に引数を 2 つ指定すれば、\fImark\fP は現在の項目記号の接頭辞と なります。 長さ 0 の \fImark\fP を指定した場合はハンギングインデントが生成されます。 .sp 通常はリスト項目の前に空行が印字されます。 この挙動は数値レジスタの \fBLs\fP を用いて制御出来ます。 \fBLs\fP 以下のすべてのリストレベルで先行する行送りが生成されます。 このレジスタのデフォルト値は 99 です。 (リストの入れ子は無制限です。:-) .sp インデントは数値レジスタの \fBLi\fP によって変えられます。 デフォルトは 6 です。 .sp すべてのリストはリスト初期化マクロの \fBLB\fP により始まります。 しかし、リストを使いやすくする為に予め定義されているリストの形式が 7 つあります。 これらの形式はすべて異なったデフォルト値で \fBLB\fP を呼び出します。 .in +.5i .T2 \fBAL\fP 自動増加番号リスト .T2 \fBML\fP 記号付きリスト .T2 \fBVL\fP 可変項目リスト .T2 \fBBL\fP 黒丸リスト .T2 \fBDL\fP ダッシュリスト .T2 \fBRL\fP 参照文献リスト .T2 \fBBVL\fP 変則可変リスト .in これらのリストについてはこのマニュアルのほかの所に記述してあります。 関連項目は \fBLB\fP です。 .TP .B "LT [arg]" 引数に基づいて 4 つの異なった形式の内の 1 つでレターを構成します。 関連項目は \fB内部\fP セクションです。 .in +.5i .T2 \fBarg 形式\fP .T2 BL ブロック形式。日付欄、返送先アドレス、著者のアドレスと結辞は行の中央から始まります。 他のすべての行は左マージンから始まります。 .T2 SB 半ブロック形式。ブロック形式と同様ですが、 各段落の最初の行が スペース 5 個分インデントされます。 .T2 FB 全ブロック形式。すべての行が左マージンから始まります。 .T2 SP 簡易形式。全ブロック形式とほぼ同じです。 主題と著者の身分がすべて大文字で印字されます。 .in .TP .B "LO type [arg]" レターのオプションを指定します (\fB.LT\fP を参照して下さい)。 以下に示すのは標準のオプションです。 .in +.5i .T2 CN 機密表記。 日付欄の下 2 行目に \fBRESTRICTED\fP を印字します。 引数で \fBRESTRICTED\fP を置き換えられます。 関連項目は文字列変数 \fBLetCN\fP です。 .T2 RN 参考文献表記。 \fBIn reference to:\fP と引数を日付欄の 2 行下に印字します。 関連項目は文字列変数 \fBLetRN\fP です。 .T2 AT 気付。\fBATTENTION:\fP と引数を内部アドレスの下に印字します。 関連項目は文字列変数 \fBLetAT\fP です。 .T2 SA 頭辞。\fBTo Whom It May Concern:\fP か、又はもし指定されていた時には引数を 印字します。 頭辞は内部アドレスの 2 行下に印字されます。 関連項目は \fBLetSA\fP です。 .T2 SJ 主題欄。 レター形式 \fBSP\fP 以外の場合には、主題として \fBSUBJECT:\fP を 接頭辞として付けた引数を内部アドレスの 2 行下に印字します。 レター形式 \fBSP\fP の場合には、主題は接頭辞なしで、すべて大文字で印字されます。 関連項目は文字列変数の \fBLetSJ\fP です。 .in .TP .B "MC column-size [column-separation] " 多段組の開始。\fB1C\fP で通常状態に戻ります。 \fBMC\fP により現在の行長に入るだけの数のカラムが作られます。 \fIcolumn-size\fP は各カラムの幅で、\fIcolumn-separation\fP はカラムの間の 間隔です。 デフォルトの間隔は column-size/15 です。 関連項目は \fB1C\fP です。 .TP .B "ML mark [text-indent [1]]" 記号付きリストの開始。 各リスト項目の前に引数の \fImark\fP が印字されます。 \fItext-indent\fP の指定により、インデントが設定され、 \fBLi\fP よりも優先されます。 第 3 引数により各項目の前の空行の印字が禁止されます。 .TP .B "MT [arg [addressee]]" 覚書形式。 引数 \fIarg\fP は \fI/usr/share/tmac/mm/*.MT\fP というファイル名の部分です。 覚書の形式としては、\fI"string"\fP を含んで 0 から 5 迄サポートされています。 \fIaddressee\fP は単に、AT&T のマクロで使われる変数を設定するだけです。 .br \fBarg\fP .in +.5i .T2 0 通常の覚書。形式は印字されません .T2 1 \fIMEMORANDUM FOR FILE\fP が印字される覚書。 .T2 2 \fIPROGRAMMER'S NOTES\fP が印字される覚書。 .T2 3 \fIENGINEER'S NOTES\fP が印字される覚書。 .T2 4 公開論文形式。 .T2 5 外部へのレター形式。 .in 関連項目は、もっと柔軟な表題紙 \fBCOVER\fP/\fBCOVEND\fP です。 .TP .B "MOVE y-pos [x-pos [line-length]]" ある位置へ移動し、ページオフセットが \fIx-pos\fP に設定されます。 もし \fIline-length\fP が指定されなかったときは、現在の行長と 新しいページオフセットの差が使われます。 正常状態に戻るには、引数なしの \fBPGFORM\fP を使って下さい。 .TP .B "MULB cw1 space1 [cw2 space2 [cw3 ...]]" 特殊多段組モードの開始。 各カラムの幅を指定しなければなりません。 また、カラム間の間隔も指定しなければなりません。 最後のカラムの後には間隔指定は必要ありません。 MULB により転換が開始し、MULE により転換が終了しカラムが印字されます。 幅と間隔の単位は「n」です。 しかし、MULB は「c」や「i」のような通常の単位指定をすべて受け付けます。 MULB は、隔離された環境下で機能します。 .TP .B "MULN" 次のカラムの開始。 これは、カラムを切り替える唯一の方法です。 .TP .B "MULE" 多段組モードの終了とカラムの印字。 .TP .B "nP [type]" 2 段階のヘッダレベルを持つ番号付き段落の印字。 \&\fB.P\fP を参照して下さい。 .TP .B "NS [arg [1]]" 異なる形式の注釈を印字します。 引数は予め定義された形式の注釈の中から選びます。 もし 2 番目の引数が利用可能であれば、引数が注釈全体になります。 もし引数が予め定義されたものの中になければ、このマクロは \&\fBCopy (\fP\fIarg\fP\fB) to\fP のように印字されます。 さらに標準の注釈を加えることも可能です。 文字列変数の \fBLetns\fP と \fBLetnsdef\fP を参照して下さい。 .nf .in +.5i .T2 \fBarg 注釈\fP .T2 \fIなし\fP Copy To .T2 """"" .\" " Copy To .T2 1 Copy To (with att.) to .T2 2 Copy To (without att.) to .T2 3 Att. .T2 4 Atts. .T2 5 Enc. .T2 6 Encs. .T2 7 Under separate cover .T2 8 Letter to .T2 9 Memorandum to .T2 10 Copy (with atts.) to .T2 11 Copy (without atts.) to .T2 12 Abstract Only to .T2 13 Complete Memorandum to .T2 14 CC .in .fi .TP .B "ND new-date" 新しい日付。 現在の日付を置き換えます。 もし \fInew-date\fP が空文字列であれば、日付は印字されません。 .TP .B "OF [arg]" 奇数ページフッタ。 通常のフッタのすぐ上に 1 行印字されます。 \fBEF\fP と \fBPF\fP を参照して下さい。 .TP .B "OH [arg]" 奇数ページヘッダ。 通常のヘッダのすぐ下に 1 行印字されます。 \fBEH\fP と \fBPH\fP を参照して下さい。 .TP .B OP 後続するテキストが奇数ページの一番上に印字されることを確認します。 もし現在奇数ページの一番上にいるなら、白紙ページの出力はしません。 .TP .B "P [type]" 新しい段落の開始。 引数なしの \fBP\fP は、段落の一番最初の行も左揃えしたテキストを生成します。 これは、\fItype\fP に 0 を指定するのと同じです。 もし引数が 1 であれば、\fBP\fP に続くテキストの最初の行は 数値レジスタ \fBPi\fP に設定された数のスペースだけインデントされます。 この値は通常 5 です。 .sp \&\fBP\fP への引数として 1 を指定する代わりに、数値レジスタ \fBPt\fP に 段落の形式を設定することも可能です。 0 と 1 を設定することは、その値を \fBP\fP に与えることと同じになります。 値 2 により、すべての段落がインデントされます。 ただし見出し、リスト、ディスプレイの後は例外です。 .sp 段落間の間隔は数値レジスタの \fBPs\fP により制御され、 デフォルトでは 1 です(1 行の空白行)。 .TP .B "PGFORM [linelength [pagelength [pageoffset [1]]]]" 行長やページ長、ページオフセットを設定します。 このマクロは、レターヘッドや他のものの様に、特別の形式を生成するために 使用出来ます。 これは、通常はファイル中の最初のコマンドですが、必須ではありません。 \&\fBPGFORM\fP を引数なしで使用すれば、 \&\fBMOVE\fP の後ですべてを再初期化することが出来ます。 4 番目の引数が指定されなければ、行区切りが生成されます。 このマクロは、新しい行長とページ長を設定する一方、 最初のページにページ番号を出力するのを避けるために使用できます。 .TP .B PGNH 次のページにヘッダが印字されません。 レターや他の特殊なテキストのヘッダを取り除くために使われます。 最初のページのページヘッダを禁止するためには、いかなるテキストよりも前に このマクロが使われなければなりません。 .TP .B PE ピクチャの終り。 \&\fBpic\fP コマンドの為のピクチャを終了します。 \&\fBpic\fP コマンドのマニュアルを参照して下さい。 .TP .B "PF [arg]" ページフッタ。 \&\fBPF\fP は各ページの一番下に印字される行を設定します。 通常は空です。 引数の指定に関しては \fBPH\fP を参照して下さい。 .TP .B "PH [arg]" ページヘッダ。 各ページの一番上に 1 行印字されます。 引数は「'left-part'center-part'right-part'」のように 指定されなければなりません。 ここで、left-part, center-part, right-part はそれぞれ左揃え、中央揃え、右揃え に印字されます。 文字 \fB%\fP は現在のページ番号に変更されます。 デフォルトのページヘッダは「''- % -''」で、ページ番号が 2 個のダッシュ記号に はさまれます。 .TP .B PS ピクチャの開始 (pic コマンドより)。 \&\fB@TMAC@pic\fP の為のピクチャを開始します。 マニュアルを参照して下さい。 .TP .B PX ページヘッダのユーザ定義による出口マクロ。 \&\fIno-space\fP モードでページヘッダの印字の直後に \fBPX\fP は呼び出されます。 .TP .B R ローマン体。 ローマンフォントに戻ります。 関連項目は \fBI\fP です。 .TP .B "RB [roman-text [bold-text [roman-text [...]]]]" ローマン体とボールド体。 偶数番目の引数はローマン体で印字されます。 奇数番目は、ボールド体で印字されます。 \fBI\fP を参照して下さい。 .TP .B "RD [prompt [diversion [string]]]" 標準入力から転換や文字列変数に読み込みます。 テキストは \fIdiversion\fP という名前の転換に保存されます。 テキストを取り出すには、空行にドットの後に転換の名前を書いて下さい。 もし \fIstring\fP が指定されたなら文字列変数 \fIstring\fP も定義されます。 \&\fIdiversion\fP や \fIprompt\fP は空 ("") にすることが出来ます。 .TP .B RF 参考文献の終了。 参考文献の定義を終了し、通常の処理に復帰します。 \&\fBRS\fP を参照して下さい。 .TP .B "RI [roman-text [italic-text [roman-text [...]]]]" 偶数番目の引数はローマン体で印字されます。 奇数番目はイタリック体で印字されます。 \&\fBI\fP を参照して下さい。 .TP .B "RL [text-indent [1]]" 参考文献リストの開始。 各項目の前に角括弧で挟まれた自動増加の番号を付けたリストを開始します。 \&\fItext-indent\fP によって、デフォルトのインデントを変更出来ます。 .TP .B "RP [arg1 [arg2]]" 参考文献ページを生成します。 もし参考文献ページが文書のどこかで必要とされているなら \fBRP\fP を用いることが出来ます。 もし \fBTC\fP が目次の生成に使われているなら、このマクロは必要ありません。 その時は参考文献ページは自動的に印字されます。 .sp もし \fIarg1\fP が 1 ならば参考文献カウンタは再初期化されません。 .sp 引数 \fIarg2\fP により \fBRP\fP に対しページ切替が行われるか否か を指定出来ます。 .br \fBarg2\fP .in +.5i .T2 0 参考文献ページは別のページに印字されます。 これがデフォルトです。 .T2 1 リストの後でページを切り替えません。 .T2 2 ページの前でページを切り替えません。 .T2 3 リストの前後でページを切り替えません。 .in 参考文献の項目は空行で分離されます。 数値レジスタの \fBLs\fP を 0 に設定すれば、この空行は抑止出来ます。 .sp 文字列変数の \fBRp\fP には参考文献ページの題名が入っています。 この題名は通常は \fIREFERENCES\fP に設定されています。 .TP .B "RS [string-name]" \&\fBRS\fP により自動番号付けの参考文献の定義が開始します。 文字列変数の \fB\e*(Rf\fP を参考文献記号があるべき所に配置し、 参考文献を参考文献記号の後の次の改行のところから \fBRS\fP/\fBRF\fP の間に挟んで書いて下さい。 参考文献番号は数値レジスタの \fB:R\fP に保存されています。 もし \fIstring-name\fP が指定されたら、その名前の文字列変数が 定義され、現在の参考文献記号が入れられます。 文字列変数はその後テキスト中で \fB\e*[\fIstring-name\fP]\fP により 参照することが出来ます。 .TP .B "S [size [spacing]]" ポイントサイズと垂直行送りを設定します。 もし引数のどれかが「P」に等しければ、そのときは以前の値が用いられます。 「C」は現在の値を表し、「D」はデフォルトの値を表します。 もし、「+」又は「-」が値の前に用いられているなら、現在の値に加算又は減算 が行われます。 .TP .B "SA [arg]" 右マージン行末揃えが設定されます。 通常、行末揃えは機能しています。 引数がないか、または \fB0\fP であれば、行末揃えは機能を止められます。 引数が \fB1\fP であれば、行末揃えは機能を働かせます。 .TP .B "SETR refname [string]" 現在のヘッダ番号とページ番号を refname として記憶します。 もし \fIstring\fP が定義されていれば、\fIstring\fP を保存します。 \fIstring\fP は \fB.GETST\fP によって取り出されます。 \fBINITR\fP を参照して下さい。 .TP .B "SG [arg [1]]" 署名欄。 正式な結辞の後に著者(達)の名前を印字します。 引数は参照データに加えられて、最初か最後の著者の箇所に印字されます。 参照データとは \fB.AU\fP により指定される 所在地、部局、及びイニシャルです。 このデータは、最初の著者か、そうでなければ最後の著者の箇所に印字されます。 著者(達)が \fB.WA\fP/\fB.WE\fP で指定されていれば、 何の参照データも印字されません。 \&\fBLetter 内部\fP セクションを参照して下さい。 .TP .B "SK [pages]" ページ送りします。 もし \fIpages\fP が \fB0\fP であるか省略されている場合には、既に印字位置が ページの一番上でなければ、次のページ迄ページ送りされます。 また、\fIpages\fP がこれら以外であれば、\fIpages\fP のページを ページ送りします。 .TP .B "SM string1 [string2 [string3]]" 文字列を小さくします。 もし \fIstring2\fP が指定されたときには、\fIstring1\fP は小さくなり、\fIstring2\fP は通常の大きさで \fIstring1\fP に結合されます。 引数が 3 個あるときには、すべての引数が結合され、 \fIstring2\fP だけが小さくなります。 .TP .B "SP [lines]" 垂直に行送りします。 \fIlines\fP には \fI3i\fP や \fI8v\fP の様に、何らかの単位を付けられます。 1 行にいくつかの \fBSP\fP を記述しても、それらの合計の行数ではなく、 それらのうちで最大の行数の行送りを生成します。 またページの最初のテキスト行までは \fBSP\fP は無視されます。 これを避けるには、\fBSP\fP の前に \fB\e&\fP を加えて下さい。 .TP .B TAB タブ位置を 5n 毎に再設定します。 通常はそれまでの任意のタブ設定位置を再設定するのに使用されます。 .TP .B "TB [title [override [flag [refname]]]]" 表の題目。 もし \fIrefname\fP が指定されれば、表番号が \&\fB.SETR\fP によって保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .TP .B "TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]" 目次。 通常このマクロは文書の最後の行に置かれます。 このマクロは、数値レジスタの \fBCl\fP によって制御されるレベルまでの 見出しで構成される目次を生成します。 \fBCl\fP は見出しの保存を制御するのであって、\fBTC\fP には 何の関わりもないことに注意して下さい。 \fIslevel\fP 以下のレベルの見出しにはそれらの前に \fIspacing\fP だけの空行が生成されます。 \fItlevel\fP 以下のレベルの見出しには右揃えした対応するページ番号が置かれます。 これらの見出しのテキストとページ番号はドットか空白によって分離されます。 もし \fItab\fP が 0 より大きければ、空白が用いられます。 そうでなければ、ドットが用いられます。 その他の見出しには見出しテキストの末尾にページ番号が直接置かれます (\fI右揃えしない\fP)。 .sp 引数の残りのものは、目次の前に中央揃えで印字されます。 .sp もし \fBTC\fP が多くて 4 個の引数を伴って呼び出されるならば、ユーザ定義の マクロ \fBTX\fP と \fBTY\fP が使われます。 \fBTX\fP は \fICONTENTS\fP の印字の前に呼び出されます。 そして \fBTY\fP は \fICONTENTS\fP を印字する代わりに呼び出されます。 .sp 文字列変数 \fBCi\fP を各見出しレベルのインデントを制御するために 設定できます。 インデントには \fB.ds\ Ci\ .25i\ .5i\ .75i\ 1i\ 1i\fP の様に 単位を付けなければなりません。 インデントは通常各レベルの見出しの最大長によって制御されます。 .sp すべてのテキストは再定義が出来ます。 新しい文字列変数の \fILifg\fP, \fILitb\fP, \fILiex\fP, \fILiec\fP, \fILicon\fP にはそれぞれ 「Figure」、「TABLE」、「Exhibit」、「Equation」及び「CONTENTS」 が入っています。 これらの変数は、他の言語に再定義できます。 .TP .B TE 表の終了。 \&\fBTS\fP を参照して下さい。 .TP .B "TH [N]" 表のヘッダ。 \&\fBTS\fP を参照して下さい。 \&\fBTH\fP により表のヘッダが終了します。 もしページ区切りが起こればこのヘッダはもう一度印字されます。 引数の \fIN\fP はまだ実装されていません。 .TP .B TL [charging-case number(s) [filing-case number(s)]] 覚書の題名の開始。 次の \fBAU\fP 迄のすべてのテキストが題名に含められます。 \&\fIcharging-case number\fP と \fIfiling-case number\fP は 表題紙を処理するために保存されます。 .TP .B TM [num1 [num2 [...]]] \&\fB.MT\fP で使われる技術覚書番号。 無制限な数の引数を指定できます。 .TP .B TP ユーザが定義するページ最上部のマクロです。 このマクロは通常のページヘッダの代わりに呼ばれます。 ヘッダに対して完全な制御が出来ます。 ヘッダとフッタは隔離された環境下で印字されることに注意して下さい。 ただし、行長は保持されています。 .TP .B "TS [H]" 表の開始。 これは \fB@TMAC@tbl\fP に対する表の指定の開始です。 \&\fB@TMAC@tbl\fP については別個のマニュアルを参照して下さい。 \&\fBTS\fP は、\fBTE\fP により終了します。 引数 \fIH\fP は \fBm@TMAC@m\fP に対し表にはヘッダがあることを指定します。 \&\fBTH\fP を参照して下さい。 .TP .B TX ユーザが定義する目次の出口マクロ。 このマクロは \fBTC\fP が単語 \fICONTENTS\fP を印字する直前に呼び出されます。 \&\fBTC\fP を参照して下さい。 .TP .B TY ユーザが定義する目次の出口マクロ (「CONTENTS」は印字しません)。 \&\fICONTENTS\fP を印字する代わりにこのマクロが呼び出されます。 \&\fBTC\fP を参照して下さい。 .TP .B VERBON [flag [pointsize [font]]] クーリエフォントを用いた逐語的な出力の開始。 通常プログラムの印字のためです。 すべての文字が等しい幅を持ちます。 ポイントサイズは第 2 引数により変更できます。 font 引数を指定すればクーリエの代わりに他のフォントを使うことが出来ます。 \fIflag\fP によりいくつかの特別な機能を制御します。 この引数は必要とする機能をすべて合計したものとなります。 .in +.5i .T2 値 説明 .T2 1 エスケープ文字 (\e) を無効にします。 通常、これは冗長出力の間は働いています。 .T2 2 冗長テキストの前に空行を付加します。 .T2 4 冗長テキストの後に空行を付加します。 .T2 8 冗長テキストに行番号を振って印字します。 これにより各行の先頭に数字幅のスペースが 4 個付加されます。 文字列変数の \fBVerbnm\fP でより微妙な調節が可能です。 この変数には、\fBtroff\fP コマンドの \fB.nm\fP に指定できる すべての引数が入ります。 通常は「1」が指定されています。 .T2 16 冗長テキストを 5 個の「n」だけインデントします。 これは数値変数の \fBVerbin\fP (単位付き) により管理されます。 .in .TP .B VERBOFF 逐語的出力を終了させます。 .TP .B "VL text-indent [mark-indent [1]]" 可変項目リストには決まった項目記号はありません。 代わりに、このマクロでは各 \fBLI\fP に項目記号が指定されている と仮定しています。 \fItext-indent\fP によりテキストへのインデントが設定されます。 そして \fImark-indent\fP により現在のインデント位置から項目記号までの 距離が設定されます。 第 3 引数は各項目の前に空行が印字されることを禁止します。 .TP .B "VM [top [bottom]]" 垂直マージン。 .TP .B "WA [writer-name [title]]" 著者と著者のアドレスの記述を開始します。 空の \fBWA\fP/\fBWE\fP ペアでいくつかの名前を指定出来ます。 しかしアドレスについては 1 つだけです。 .TP .B WE \&\fP.WA\fP の後でアドレスの指定を終了します。 .TP .B "WC [format]" 脚注とディスプレイの幅の調整。 .in +.5i .T2 N デフォルトのモードを設定します。 \&\fB-WF\fP, \fB-FF\fP, \fB-WD\fP 及び \fBFB\fP です。 .T2 WF 広い脚注です。2 段組モードでもやはり広い脚注です。 .T2 -WF 通常の脚注の幅です。段組モードに従います。 .T2 FF すべての脚注は最初に出現した脚注と同じ幅になります。 .T2 -FF 通常の脚注です。幅は \fBWF\fP と \fB-WF\fP に従います。 .T2 WD 広いディスプレイです。2 段組モードでもやはり広いディスプレイです。 .T2 -WD 通常のディスプレイの幅です。段組モードに従います。 .T2 FB フローティングディスプレイが現在のページに印字された時には 行区切りを生成します。 .T2 -FB フローティングディスプレイは行区切を生成しません。 .in .sp 3 .LP .\"########################################################################" .LP .B "mm で用いられている文字列変数:" .TP .B App 単語「APPENDIX」が入れてある文字列変数です。 .TP .B "EM" em ダッシュ文字列です。 .TP .B HF 見出し用のフォントの目録です。 通常は「2 2 2 2 2 2 2」です。 数字ではないフォント名も使用できます。 .TP .B HP 見出し用のポイントサイズの目録です。 通常は「0 0 0 0 0 0 0」です。 これは、「10 10 10 10 10 10 10」と同じです。 .TP .B Lifg \fIFigure\fP を入れている文字列変数です。 .TP .B Litb \fITABLE\fP を入れている文字列変数です。 .TP .B Liex \fIExhibit\fP を入れている文字列変数です。 .TP .B Liec \&\fIEquation\fP を入れている文字列変数です。 .TP .B Licon \&\fICONTENTS\fP を入れている文字列変数です。 .TP .B Lf 「LIST OF FIGURES」を入れています。 .TP .B Lt 「LIST OF TABLES」を入れています。 .TP .B Lx 「LIST OF EXHIBITS」を入れています。 .TP .B Le 「LIST OF EQUATIONS」を入れています。 .TP .B Letfc 「Yours very truly,」を入れています。 \&\fB.FC\fP で使用されます。 .TP .B Letapp 「APPROVED:」を入れています。 \&\fB.AV\fP で使用されます。 .TP .B Letdate 「Date」を入れています。 \&\fB.AV\fP で使用されます。 .TP .B LetCN 「CONFIDENTIAL」を入れています。 \&\fB.LO CN\fP で使用されます。 .TP .B LetSA 「To Whom It May Concern:」を入れています。 \&\fB.LO SA\fP で使用されます。 .TP .B LetAT 「ATTENTION:」を入れています。 \&\fB.LO AT\fP で使用されます。 .TP .B LetSJ 「SUBJECT:」を入れています。 \&\fB.LO SJ\fP で使用されます。 .TP .B LetRN 「In reference to:」を入れています。 \&\fB.LO RN\fP で使用されます。 .TP .B Letns これは \fB.NS\fP で使用されている色々な文字列を入れている配列です。 これらは実は、\fBLetns!\fP を接頭辞とするいくつかの文字列変数です。 もし \fB.NS\fP への引数が (訳注: 予め定義されているものの中に) 存在しなければ、 その引数は \fBLetns!copy\fP を接頭辞とし \fBLetns!to\fP を接尾辞 として \fB()\fP の間に挟まれます。 \fBcopy\fP の後と \fBto\fP の前の空白に注意して下さい。 .nf .ta 1.5i \fB変数名 値\fP Letns!0 Copy to Letns!1 Copy (with att.) to Letns!2 Copy (without att.) to Letns!3 Att. Letns!4 Atts. Letns!5 Enc. Letns!6 Encs. Letns!7 Under separate cover Letns!8 Letter to Letns!9 Memorandum to Letns!10 Copy (with atts.) to Letns!11 Copy (without atts.) to Letns!12 Abstract Only to Letns!13 Complete Memorandum to Letns!14 CC Letns!copy Copy " Letns!to " to .fi .TP .B Letnsdef \&\fB.NS\fP に何も引数が指定されていないときに使用される標準的な注釈を 定義します。 デフォルトは \fB0\fP です。 .TP .B "MO1 - MO12" \&\fIJanuary\fP から \fIDecember\fP 迄が入っている文字列変数です。 .TP .B Qrf 「See chapter \e\e*[Qrfh], page \e\en[Qrfp].」 が入っている文字列変数です。 .TP .B Rp 「REFERENCES」が入っています。 .TP .B Tm 商標記号 \e(tm が入っています。 .TP .B Verbnm \&\fB.VERBON\fP で使用されている \fB.nm\fP への引数です。 デフォルト: \fB1\fP。 .\"-----------------------------------" .LP .B "mm で使用されている数値変数:" .TP .B Aph もしこの数値変数が非 0 であれば、 各々の新しい付録について新しい付録ページに印字します。 もし \fBAph\fP が 0 であれば何も出力されません。 しかし、「目次」には付録の見出し項目が常に含まれます。 .TP .B Cl 目次の見出し項目レベル。範囲は [0:7] です。 もし見出しレベルが Cl 以下であれば、目次の見出し項目は保存されます。 デフォルトは 2 です。 .TP .B Cp もし、Cp が 0 であれば、LIST OF XXXX の間で改ページを行います。 デフォルトは 0 です。 .TP .B D デバッグフラグ。 値が正値であれば、様々な段階のデバッグリストを出力します。 値が 1 であれば整形についての進行情報を提供します。 デフォルトは 0 です。 .TP .B De フローティングディスプレイの後で改ページが出力されます。 範囲は [0:1] です。デフォルトは 0 です。 .TP .B Df フローティングキープの出力形式。 範囲は [0:5] です。デフォルトは 5 です。 .TP .B Ds もし 1 であれば、ディスプレイの前後で行送りします。 範囲は [0:1] です。デフォルトは 1 です。 .TP .B Ej 改ページ。デフォルトは 0 です。 .TP .B Eq 数式ラベルの行揃え。 0 なら左揃え、1 なら右揃え。デフォルトは 0 です。 .TP .B Fs 脚注の行送り。デフォルトは 1 です。 .TP .B "H1-H7" 見出しカウンタ。 .TP .B Hb 見出し行区切りのレベル。 範囲は [0:7] です。デフォルトは 2 です。 .TP .B Hc 見出し中央揃えのレベル。 範囲は [0:7] です。デフォルトは 0 です。 .TP .B Hi 見出しの一時的なインデント。 範囲は [0:2] です。デフォルトは 1 です。 .br 0\ ->\ 0 インデント、左マージン .br 1\ ->\ 右へインデント、.P 1 と同様 .br 2\ ->\ 先行する見出しのテキスト部分に合わせてインデント .TP .B Hps 見出しに先立つ行送りのレベルについての数値変数です。 もし見出しレベルが \fBHps\fP 以下ならば、 セクション見出しには 1 行ではなく 2 行が先行します。 デフォルトは第 1 レベルだけです。 行送りの実際の量は変数 \fBHps1\fP と \fBHps2\fP により制御されます。 .TP .B Hps1 見出しレベルが \fBHps\fP より大きい場合に \fB.H\fP に先行する行数です。 値には単位を付けます。通常は 0.5v です。 .TP .B Hps2 見出しレベルが \fBHps\fP 以下の場合に \fB.H\fP に先行する行数です。 値には単位を付けます。通常は 1v です。 .TP .B Hs 見出し行送りレベル。 範囲は [0:7] です。デフォルトは 2 です。 .TP .B Ht 見出し番号の形式。デフォルトは 0 です。 0 -> 複合番号 (1.1.1 ...) .br 1 -> 単一番号。 .TP .B Hu 番号無し見出しのレベル。デフォルトは 2 です。 .TP .B Hy 本文のハイフネーション。デフォルトは 1 です。 .br 0\ ->\ ハイフネーションしない。 .br 1\ ->\ 14 でハイフネーションをする。 .TP .B Letwam \fB.WA\fP/\fB.WE\fP で使われる返送先アドレスの最大行数。 デフォルトは 14 です。 .TP .B "Lf, Lt, Lx, Le" それぞれ、図のリスト、表のリスト、エグジビットのリスト、数式のリストの 印字の許可 (1)、又は禁止 (0) です。 デフォルトは、Lf=1, Lt=1, Lx=1, Le=0 です。 .TP .B Li \&.AL で使われるリストのインデントです。 デフォルトは 6 です。 .TP .B Ls リストの行送り。 もし現在のリストレベルが Ls より大きければ、 リストの周囲には行送りは生じません。 デフォルトは 99 です。 .TP .B Lsp 空行の大きさ。通常は 0.5v です。 しかし、もし \fBn\fP が設定されていれば (\fB.nroff\fP)、1v となります。 .TP .B N 番号付けの形式。範囲は [0:5] です。デフォルトは 0 です。 .br 0\ ==\ (デフォルト) すべてのページで通常のヘッダ。 .br 1\ ==\ 最初のページのフッタはヘッダに置き換えられます。 ヘッダ部分には何もありません。 .br 2\ ==\ 最初のページのページヘッダは取り除かれます。 .br 3\ ==\ 「セクション - ページ」の番号付けが有効になります。 .br 4\ ==\ 最初のページのページヘッダは取り除かれます。 .br 5\ ==\ 「セクション - ページ」と「セクション - 図」の番号付けが有効になります。 関連項目は数値レジスタの Sectf と Sectp です。 .TP .B Np 番号付きの段落です。デフォルトは 0 です。 .br 0\ ==\ 番号を振りません。 .br 1\ ==\ 第 1 レベルの見出しに番号を振ります。 .TP .B Of 図、表、エグジビット、数式の題目の形式です。 デフォルトは 0 です。 .br 0\ =\ ". " .br 1\ =\ " - " .TP .B P 現在のページ番号です。 「セクション - ページ」の番号付けが有効でなければ、 通常は % と同じです。 .TP .B Pi 段落のインデントです。 デフォルトは 5 です。 .TP .B Pgps ヘッダとフッタのポイントサイズが、現在の設定に従うべきか、 あるいはヘッダとフッタが定義されたときにだけ変更されるべきかを制御します。 .in +.5i .ti -.5i .T2 値 説明 .T2 0 \fB.PH\fP, \fB.PF\fP, \fB.OH\fP, \fP.EH\fP, \fB.OF\fP, \fB.OE\fP が実行された時だけ、ポイントサイズが現在の設定に変更されます。 .T2 1 ポイントサイズは \fB.S\fP のたびに変更されます。 これがデフォルトです。 .in .TP .B Ps 段落の行送り。デフォルトは 1 です。 .TP .B Pt 段落の形式です。デフォルトは 0 です。 .br 0\ ==\ 左揃え .br 1\ ==\ インデントする .P .br 2\ ==\ .H, .DE, .LE の後以外では、インデントする .P .TP .B Sectf 「セクション - 図」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。 .TP .B Sectp 「セクション - ページ番号」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。 .TP .B Si ディスプレイのインデントです。デフォルトは 5 です。 .TP .B Verbin \&\fB.VERBON\fP のインデントです。デフォルトは 5n です。 .TP .B .mgm 常に 1 です。 .LP .SH 内部 レターマクロではレターの形式により決まる種々の副マクロが使用されています。 副マクロの名前にはレターの形式が接尾辞として入っています。 そのため他のレターの形式の定義を、 その国のマクロファイル内や、局所的な追加として行うことが可能です。 \&\fB.LT\fP は数値変数の \fBPt\fP と \fBPi\fP を 0 と 5 に設定します。 新しいレター形式については、 以下の文字列変数とマクロを定義しなければなりません: .TP \fBlet@init_\fP\fItype\fP このマクロは \fB.LT\fP によって直接呼び出されます。 変数や他の要素を初期化することになっています。 .TP \fBlet@head_\fP\fItype\fP このマクロはレターヘッドを印字します。 通常のページヘッダの代わりに呼び出されます。 \fBlet@header\fP という別名を取り除くことになっています。 そうしなければ、この別名はすべてのページにおいて呼び出されてしまいます。 .TP \fBlet@sg_\fP\fItype\ name\ title\ n\ flag\ [arg1\ [arg2\ [...]]]\fP レターの場合だけ、\fB.SG\fP がこのマクロを呼び出します。 覚書にはそれ独自の処理機構があります。 \fIname\fP と \fItitle\fP は \fB.WA\fP/\fB.WB\fP によって指定されます。 \fIn\fP はカウンタで、1 から max までです。 そして \fIflag\fP は、\fIname\fP が最後の名前であれば真の値になります。 \&\fB.SG\fP に対する他の引数が追加されます。 .TP \fBlet@fc_\fP\fItype\ closing\fP このマクロは \fB.FC\fP によって呼び出され、正式な結辞を引数とします。 .LP \&\fB.LO\fP が包括的なオプションマクロとして実装されています。 \&\fB.LO\fP には \fBLet\fP\fItype\fP という名前の文字列変数が 定義されていることが必要とされます。 ここで、\fItype\fP はレターの形式です。 そのとき、\fB.LO\fP は引数を文字列変数 \fBlet*lo-\fP\fItype\fP に 割り当てます。 .LP .\".SH バグ .\" " .SH 作者 .ie t J\(:orgen H\(:agg, Lund, Sweden .el Jorgen Hagg, Lund, Sweden .SH 関連ファイル .TP .B /usr/share/tmac/tmac.m .TP .B /usr/share/tmac/mm/*.cov .TP .B /usr/share/tmac/mm/*.MT .TP .B /usr/share/tmac/mm/locale .SH 関連項目 .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br .BR mm (7) .BR mmse (7) .\" Translated by Tetsuro FURUYA , Dec., 1998. diff --git a/ja_JP.eucJP/man/man7/groff_mmse.7 b/ja_JP.eucJP/man/man7/groff_mmse.7 index 842ccd4d8d..3ce7717a6f 100644 --- a/ja_JP.eucJP/man/man7/groff_mmse.7 +++ b/ja_JP.eucJP/man/man7/groff_mmse.7 @@ -1,96 +1,96 @@ .\" -*- nroff -*- .\" %Id: groff_mmse.man,v 1.27 1995/04/24 05:37:46 jh Exp % .\" jpman %Id: groff_mmse.7,v 1.3 1998/11/21 12:55:00 horikawa Stab % .\" Skrivet av Joergen Haegg, Lund, Sverige .\" -.TH GROFF_MMSE 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_MMSE 7 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_mmse \- groff 用スウェーデン語版 mm マクロ .SH 書式 .B groff .B \-mmmse [ .IR flaggor .\|.\|. ] [ .IR filer .\|.\|. ] .SH 解説 .\"X DESCRIPTION .\"X mmse is a swedish flavor of mm. All internal texts are .\"X translated. An A4-page gets 13 cm long text lines, 3.5 cm .\"X left margin and 28.5 cm in height. There are support for .\"X swedish letter standard, both left and right adjusted text. .\"X .\"X The macro COVER can use se_ms as an argument which will .\"X produce a swedish front page. Look in groff_mm(7) for more .\"X details. \fBmmse\fP はスウェーデン語風の \fBmm\fP マクロです。すべての内部 テキストは翻訳されます。A4 ページでは、テキスト行の長さが 13 cm、 左マージンが 3.5 cm、高さが 28.5 cm です。スウェーデンのレター清書標準を、 右揃えと左揃えともにサポートしています。 .LP マクロ \fBCOVER\fP に引数 \fIse_ms\fP を使用することにより、 スウェーデン語のフロントページを生成することができます。詳細については \fBgroff_mm(7)\fP を参照して下さい。 .PP (訳注: 以下未訳) .SH 謝辞 Jorgen Hagg, Lund, Sweden 本和訳のために、解説部分の英訳をわざわざ用意下さいました。 .SH BREV Tillgangliga brevtyper: .TP .B ".LT SVV" Vansterstalld loptext med adressat i position T0 (vansterstallt). .TP .B ".LT SVH" Hoverstalld loptext med adressat i position T4 (passar forsterkuvert). .LP Foljande extra LO-variabler anvands. .TP .B ".LO DNAMN\fI namn\fP" Anger dokumentets namn. .TP .br .B ".LO MDAT\fI datum\fP" Mottagarens datum, anges under \fBErt datum:\fP (\fBLetMDAT\fP). .TP .br .B ".LO BIL\fI strang\fP" Anger bilaga, nummer eller strang med \fBBilaga\fP (\fBLetBIL\fP) som prefix. .TP .br .B ".LO KOMP\fI text\fP" Anger kompletteringsuppgift. .TP .br .B ".LO DBET\fI beteckning\fP" Anger dokumentbeteckning eller dokumentnummer. .TP .br .B ".LO BET\fI beteckning\fP" Anger beteckning (arendebeteckning i form av diarienummer eller liknande). .TP .br .B ".LO SIDOR\fI antal\fP" Anger totala antalet sidor och skrivs ut efter sidnumret inom parenteser. .LP Om makrot \fB.TP\fP ar definierat anropas det efter utskrift av brevhuvudet. Dar lagger man lampligen in postadress och annat som brevfot. .SH "SKRIVET AV" Jorgen Hagg, Lund, Sweden .SH FILER .B /usr/share/tmac/tmac.mmse .B /usr/share/tmac/mm/se_*.cov .SH "SE OCKSO" .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br .BR mmm (7) diff --git a/ja_JP.eucJP/man/man7/groff_ms.7 b/ja_JP.eucJP/man/man7/groff_ms.7 index 0224bd3926..f2b8046c71 100644 --- a/ja_JP.eucJP/man/man7/groff_ms.7 +++ b/ja_JP.eucJP/man/man7/groff_ms.7 @@ -1,252 +1,252 @@ .ig \"-*- nroff -*- Copyright (C) 1989-1995 Free Software Foundation, Inc. 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. 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. 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. .. .\" jpman %Id: groff_ms.7,v 1.3 1999/01/06 22:32:03 vanitas Stab % -.TH GROFF_MS 7 "7 September 1996" "Groff Version 1.10" +.TH GROFF_MS 7 "7 September 1996" "Groff Version 1.11" .SH 名称 groff_ms \- groff ms マクロ .SH 書式 .B groff .B \-ms [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] .SH 解説 このマニュアルページは GNU バージョンの ms マクロの解説をします。 このマクロは、groff 文書整形システムの一部分です。 この groff ms マクロは、4.3 .SM BSD Unix ms マクロの文書化された機能と互換であるように設計されています。 しかし、次のような制限があります: .IP \(bu groff ms の内部は Unix ms の内部とは同じではありません。 したがって、Unix ms の実装の細部に依存する書式については、 機能しないとしてももっともでしょう。 .IP \(bu タイプライタ様のデバイスには、サポートはありません。 .IP \(bu バークレイ方言、特に、 .B TM や .B CT マクロは、実装されていません。 .IP \(bu groff ms では、 .\" ページ間の カットマーク .\" (.CM マクロ etc.) は提供しません。 .IP \(bu 重複した行送りは許されません (代わりに、大きな垂直行送りを使用して下さい)。 .IP \(bu groff ms は、互換モードでは機能しません (例えば、 .B \-C オプションなど)。 .IP \(bu エラー処理の方針については、groff ms は、沈黙したままエラーを無視 したりせず、エラーを検出してレポートします。 .LP groff ms マクロは、GNU troff の多くの機能を利用しています。 したがって、これは他のいかなる troff によっても使用できません。 .LP ベル研の方言は、 .SM BSD ms マクロにも groff ms マクロのいずれにも実装されていません。 .LP ある Unix ms の文書には、数値レジスタの .B CW と .B GW とが、それぞれカラム幅とガター幅 .\" (マルチカラム間の幅) を制御する為に 使用できると述べられています。 しかし、ここでは事実はそうではありません。 これらの数値レジスタは、groff ms では使用できません。 .LP リセットを引き起こすマクロはインデントを設定します。 インデントを変更するマクロはインデントを増減するのではなく、 むしろインデントを絶対的に設定します。 このことによって、独自のマクロを追加定義している文書に 問題が生じるかも知れません。 これを解決するには、 .B in リクエストを用いずに、代わりに .B RS や .B RE マクロを用いて下さい。 .LP 数値レジスタの .B GS は、groff ms マクロによって 1 に設定されます。 しかし、この数値レジスタは Unix ms マクロでは使用されていません。 このレジスタの目的は、 Unix ms か groff ms かのどちらによってフォーマットされているのかを確定する 必要のある文書によって利用されることです。 .LP 脚注はキープやディスプレイの中で安全に使用できるように実装されています。 自動的に番号を割り振る脚注をフローティングキープの中で使うことは、推奨 できません。 .B \e** と 対応する .BR .FS との間にもう一つの .B \e** があるようにすると安全です。 その際には、次のようなことだけが要求されています。 つまり、各 .B .FS は対応する .B \e** の後に出現することと、 対応する .B \e** の置かれる順番と同じ順番で .B .FS が出現することです。 .LP 文字列の .B \e*{ や .B \e*} は、上付き文字を開始したり終了したりするのに使うことができます。 .LP いくつかの Unix V10 ms の機能が実装されています。 .BR B , .BR I や .B BI マクロでは、第 3 番目の引数がオプションとして指定できます。 この引数は、現在のフォントで最初の引数の直前に印字されます。 .B B と同じようなマクロ .B CW があります。 これは、定幅フォントにします。 .LP 次の文字列は、groff ms マクロを英語以外の言語に適合させるために 再定義することができます。 .LP .nf .ta \w'REFERENCES'u+2n 文字列 デフォルト値 .sp .3v REFERENCES References ABSTRACT ABSTRACT TOC Table of Contents MONTH1 January MONTH2 February MONTH3 March MONTH4 April MONTH5 May MONTH6 June MONTH7 July MONTH8 August MONTH9 September MONTH10 October MONTH11 November MONTH12 December .fi .LP フォントファミリは、リセットで文字列 .BR FAM から取られて置き直されます。 初期化時にこの文字列が未定義であった場合は、現在のフォントファミリが 設定されます。 脚注のポイントサイズ、垂直行送り幅、そして段落間の行送り幅は、 数値レジスタの .BR FPS , .BR FVS , や .B FPD から取り出されます。 初期化時に、これらは、それぞれ .BR \en(PS-2 , .BR \en[FPS]+2 , および .B \en(PD/2 に等しく設定されます。 しかし、これらのレジスタのいずれかでも初期化前に定義されていれば、 そのレジスタは、これらの値に設定されません。 ( .B .hy リクエストによって設定される)ハイフネーションフラグは、 .B HY レジスタから取られて設定されます。 これが初期化時に定義されていない場合には、 .B HY レジスタは 14 に設定されます。 .LP 右詰めのディスプレイは .B ".DS R" および .BR .RD を用いて利用可能です。 .LP 次のような慣行がマクロ、文字列そして数値レジスタの名前に行なわれています。 groff ms マクロを使用する文書に利用出来る外部名は大文字と数字だけから なります。 内部的には、マクロはモジュールに分割されます。 ある一つのモジュールの中だけで使用される名前は、 .IB mudule * name\fR という形をしています。 定義されているモジュールの外部で使用される名前は、 .IB module @ name\fR という形をしています。 ある特別の環境に関わる名前は、 .IB environment : name\fR という形をしています。 これらの名前は、 .B par モジュールの中でのみ使われ、 .I name には、モジュールは接頭辞としてつきません。 組み合わされた名前で配列を実装するのに使われるものは、 .IB array ! index\fR という形をしています。 以上より groff ms では以下の名前を予約しています: .IP \(bu .BR * を含んでいる名前。 .IP \(bu .BR @ を含んでいる名前。 .IP \(bu .BR : を含んでいる名前。 .IP \(bu 大文字と数字だけを含んでいる名前。 .SH 関連ファイル .B /usr/share/tmac/tmac.s .SH 関連項目 .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br .BR ms (7) .\" Translated by Tetsuro FURUYA on Nov 24, 1998. diff --git a/ja_JP.eucJP/man/man7/security.7 b/ja_JP.eucJP/man/man7/security.7 index 732cf741ef..56233c0056 100644 --- a/ja_JP.eucJP/man/man7/security.7 +++ b/ja_JP.eucJP/man/man7/security.7 @@ -1,642 +1,668 @@ .\" Copyright (c) 1998, Matthew Dillon. Terms and conditions are those of .\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in .\" the source tree. .\" -.\" %Id: security.7,v 1.4 1998/12/26 05:19:42 dillon Exp % -.\" jpman %Id: security.7,v 1.3 1999/02/11 11:18:48 vanitas Stab % +.\" %Id: security.7,v 1.4.2.1 1999/04/01 02:10:38 ghelmer Exp % .\" +.\" jpman %Id: security.7,v 1.3 1999/02/11 11:18:48 vanitas Stab % .Dd December 20, 1998 .Dt SECURITY 7 .Os .Sh 名称 .Nm security .Nd FreeBSD におけるセキュリティ入門 .Sh 解説 .Pp セキュリティは、システム管理者とともに始まり、システム管理者と ともに終る機能です。 .Bx システムは昔からすべてマルチユーザに対応しています。セキュリティの仕組みを 組み込んで維持することで、ユーザを .Sq 正直に し続ける仕事は、システム管理者の最も大きな責務の一つでしょう。マシンは、 管理者が設定しただけのセキュリティしか示しません。セキュリティに関する 問題は、むしろ、便利さを求める人間との競合問題です。一般に、 .Ux システムは莫大な数のプロセスを同時に実行させることができ、 それも、サーバとして動作するものが多いのです。つまり、外部の何者かが 接続してきて、サーバプロセスと会話することができるということなのです。 昨日まで使われていたミニコンピュータやメインフレームは、今日では デスクトップコンピュータが取って代わり、しかも、それらはネットワークで結ばれて インターネットと接続されるようになりました。これにより、セキュリティは 昔と比べてはるかに大きな問題となっています。 .Pp セキュリティに関する問題は、いくつかのカテゴリに分類することができます。 .Bl -enum -offset indent .It サービス不能攻撃 .It ユーザアカウントにかかる危険 .It アクセス可能なサーバを経由した root 権限にかかる危険 .It ユーザアカウントを通した root 権限にかかる危険 .El .Pp サービス不能攻撃とは、マシンから必要な資源を奪う行為です。 サービス不能攻撃は、普通は、そのマシンで実行されるサーバや ネットワークスタックを圧倒して、マシンをクラッシュさせたり、 さもなければマシンを使えなくしたりするような力任せの方法です。 サービス不能攻撃のいくつかは、 ネットワークスタックのバグを利用して、パケット一つでマシンを クラッシュさせようとします。後者は、 カーネルにバグ修正を施すことによってのみ修正することができます。 サーバプロセスに対する攻撃は、サーバのオプションを適切に指定して、 不利な状況にあるシステムにおいて、サーバプロセスが引き起こす負荷に限界を設けることで 修正することができます。これらに比べると、ネットワークへの力任せの攻撃への 対応はずっと難しくなります。たとえば、偽造パケットによる攻撃 .Pq spoof-packet attack は、インターネットからシステムを切り離す以外の方法で防ぐことは ほとんど不可能です。 .Pp ユーザアカウントを危険に晒してしまう問題は、サービス不能攻撃よりもずっとよくある 問題です。このご時勢でも、自分たちのマシンで標準の telnetd, rlogind, rshd, ftpd サーバを実行させているシステム管理者は多いのです。これらの サーバは、デフォルトでは、暗号化されたコネクション上で動作していません。 その結果、抱えているユーザ数が標準くらいであれば、リモートログイン -.Pq そのシステムにログインするには最も普通で便利な方法です +.Po +そのシステムにログインするには最も普通で便利な方法です +.Pc しているユーザのうち一人以上は、パスワードを覗き見られて しまうでしょう。 システム管理者が注意深い人ならば、たとえログインが成功していたとしても、 リモートアクセスログをときどき解析して、疑わしいソースアドレスを探すものです。 .Pp ひとたび攻撃者がユーザアカウントへのアクセス権を入手すると、攻撃者が root の権限を破る可能性があることを仮定するべきです。しかし、 セキュリティを十分維持し、手入れの行き届いたシステムにおいては、 あるユーザアカウントへのアクセスが可能となっても、攻撃者に必ずしも root へのアクセス権を与えるとは限らないのが現実です。この違いは重要です。 というのは、root へのアクセス権がなければ、一般的に、攻撃者は自分の 侵入の痕跡を隠蔽することができませんし、そのユーザのファイルを消して マシンをクラッシュさせることができるのがせいぜいで、他のユーザの ファイルには手出しできません。 .Pp システム管理者は、あるマシン上で root の権限を破る方法がいくつかあることを 心しておかねばなりません。攻撃者が root のパスワードを知ってしまうかも しれません。攻撃者が root の権限で実行されるサーバのバグを見つけ、 ネットワークからそのサーバへ接続して root の権限を破ることができるかも しれません。ひとたびユーザアカウントを破ると、ユーザアカウントから root の権限を破ることが可能であるというバグを持つ suid-root プログラムの 存在を、攻撃者は知っているかもしれません。 .Pp セキュリティを改善する方法は、常に、 .Sq タマネギの皮剥き のように 複数の層のアプローチで実装されます。これらは次のように分類できます。 .Bl -enum -offset indent .It root とスタッフのアカウントの安全性を高める。 .It root の安全性を高める - root 権限のサーバと suid/sgid バイナリ。 .It ユーザアカウントの安全性を高める。 .It パスワードファイルの安全性を高める。 .It カーネルのコア、raw デバイス、ファイルシステムの安全性を高める。 .It ファイルの完全性のチェック: バイナリ、設定ファイルなど。 .It 偏執狂的方法。 .El .Sh root アカウントとスタッフアカウントの安全性を高める .Pp root のアカウントの安全性を確保しないうちからスタッフのアカウントの安全性を うんぬんしてもしかたがありません。ほとんどのシステムでは、root アカウントに 割り当てたパスワードがひとつあります。まず最初にすべきことは、 このパスワードは .Sq いつでも 危険に晒されていると仮定することです。root アカウントの安全性を確保する ためには、ネットワーク越しに、あるいはどれか一般ユーザのアカウントから、 root のパスワードを使って root アカウントにログインすることが決して できないことを確認することです。正しいパスワードが与えられようが 与えられまいが、telnetd, rlogind, その他ログイン処理を行なうサーバ すべてで root でのログインを拒絶するように設定していないのであれば、 今すぐ必ず設定して下さい。直接 root でログインできるのは、 システムコンソールからだけにして下さい。ここで役に立つのが .Sq /etc/ttys ファイルです。ほとんどのシステムでは、デフォルトで安全ですが、 優れたシステム管理者は、設定がそうなっているか常にチェックを怠らない ものです。 .Pp システム管理者として、自分は root になれるようにしておかねばならないの はもちろんですから、穴をいくつか空けておきます。しかし、それらの穴を 動作させるには、さらに追加のパスワード認証が必要であるようにして おきます。root でアクセス可能とする方法の一つとして、 適切なスタッフアカウントを -.Pq /etc/group の +.Pq Pa /etc/group の wheel グループに加えることがあります。 wheel グループに置かれたスタッフメンバには、 .Sq su を使って root になることが許されます。スタッフメンバに、 パスワードファイルのエントリでそのまま wheel のアクセス権を 与えてはいけません。スタッフは、 .Sq staff かその類のグループに置き、その中で本当に root になる必要がある人 だけを wheel グループに加えるようにします。しかし、残念ながら、wheel の 仕組みだけだと、侵入者は、パスワードファイルを手に入れるとルート権限を 破ることができてしまいます。攻撃者が破る必要があるのは root のパスワード か、wheel グループにたまたま属するstaff アカウントのパスワードどれかひとつだけだからです。 wheel の仕組みは有益ですが、wheel グループがまったく存在しない状況と比べてそれほど 安全なわけではありません。 .Pp root アカウントの安全性を高める間接的な方法として、別のログインアクセス の方法を用いて、スタッフのアカウントの暗号化パスワードを\ * にして おくことで、スタッフのアカウントの安全性を高めるものがあります。この方法 だと、侵入者がパスワードファイルを盗むことができるかもしれませんが、 スタッフアカウントを破ることはできないでしょう。また、たとえ root が暗号化 パスワードをパスワードファイルに付けていたとしても、間接的には root アカウントも破ることができないでしょう。 スタッフメンバがスタッフアカウントでログインする際には、 .Xr kerberos 1 や .Xr ssh 1 .Po .Pa /usr/ports/security/ssh 参照 .Pc のような、公開鍵 / 秘密鍵の鍵の組を使う 安全性の高いログインの仕組みを使います。kerberos のような仕掛けを使う場合、 一般に、kerberos サーバを実行するマシンと自分のデスクトップ ワークステーションとの安全性を確保しなければなりません。ssh で 公開鍵 / 秘密鍵の組を使う場合、一般に、ログイン元マシン .Pq 通常は自分のワークステーション の安全性を確保しなければなりません。ここで、 .Xr ssh-keygen 1 で公開鍵 / 秘密鍵の組を生成する際、鍵の組をパスワードで防御することにより、 鍵の組への防御層を追加することもできます。スタッフアカウントの パスワードを\ * で外すことができると、管理者自身が設定 した安全性の高い方法でしかスタッフメンバがログインできないことも保証 できます。こうして、多くの侵入者が使う重大なセキュリティの穴 .Pq 安全性の低い無関係なマシンからネットワークを覗き見る方法 を塞ぐようなセッションを提供する、安全性の高い暗号化されたコ ネクションを使うことを、スタッフメンバ全員に強制することができ るのです。 .Pp より間接的なセキュリティの仕組みでは、制限の強いサーバから制限の弱い サーバへログインすることを前提としています。例えば、メインマシンで、 様々な種類のサーバを実行させている場合、ワークステーションではそれらの サーバを実行させてはなりません。ワークステーションを十分に 安全にしておくためには、実行するサーバの数を、一つもサーバ が実行されていないというくらいにまでできる限り減らすべきです。 また、パスワードで保護されたスクリーンセーバを走らせておくべきです。 ワークステーションへの物理的アクセスが与えられたとすると、もちろん 言うまでもなく、攻撃者は管理者が設定したいかなる種類のセキュリティ をもうち破ることができるのです。これは、管理者として必ず考えておか ねばならない問題ですが、システム破りの大多数は、ネットワーク経由で リモートから、ワークステーションやサーバへの物理的アクセス手段を持 たない人々によって行われるという事実もまた、念頭に置いておく必要 があります。 .Pp kerberos のような方法を使うことで、スタッフアカウントのパスワードの変更 もしくは停止を一箇所で行なうことと、スタッフメンバがアカウントを持つ すべてのマシンに即時にその効果を及ぼすことが可能となります。スタッフメンバの アカウントが危険に晒されたときに、すべてのマシンでスタッフメンバのパスワードを 即座に変更する能力を過小評価してはいけません。パスワードが分散されている状況では、 N 台のマシンでパスワードを変更すると、てんやわんやの事態を招く可能性が あります。kerberos を使用すると、パスワードの再発行に制限 .Pq re-passwording restriction を課することもできます。この機能を使うことにより、 ある kerberos チケットをしばらく経つとタイムアウトにすることが できるだけでなく、一定期間 .Pq 例えば、1 ヶ月に 1 回 経つと、ユーザに新しいパスワードを選ぶように要求することもできます。 .Sh root の安全性を高める - root 権限のサーバと suid/sgid バイナリ .Pp 用心深いシステム管理者は、自分に必要なサーバプロセスだけを過不足なく 実行させるものです。第三者製のサーバは、よくバグを持っていがちだと いうことに注意して下さい。例えば、古いバージョンの imapd や popper を実行させておくのは、全世界に共通の root の切符を与えてい るようなものです。 自分で注意深くチェックしていないサーバは、決して実行してはいけません。 root で実行させる必要のあるサーバはほとんどありません。例えば、ntalk, comsat, finger デーモンを、特別の「砂場 .Pq sandbox 」ユーザで実行させることができます。 .\"kuma hellofalot of trouble って何や? .\" hell of a lot of trouble みたいですね。;-) (金ん田 '99.02.11) 管理者が膨大な数の問題に直面していないのなら、この「砂場」は完璧では ありませんが、セキュリティに関するタマネギ的アプローチはここでも 成り立ちます。砂場で実行されているサーバプロセスを経由して侵入を 果たすことができたとしても、攻撃者はさらに砂場から外に脱出しなければ なりません。攻撃者が通過せねばならない層の数が増えれば増えるほど、 それだけ攻撃者が侵入に成功する確率が減ります。root の抜け穴は 歴史的に、基本システムサーバも含め、 root 権限で実行されるほとんどすべてのサーバプロセスで発見されています。 ユーザが sshd 経由でのみログインし、 telnetd, rshd, rlogind 経由でログインすること が決してないマシンを稼働させているのであれば、それらのサービスを停止させて下さい。 .Pp .Bx Free では、今では ntalkd, comsat, finger は砂場で実行させることが デフォルトになっています。次に砂場で実行させるべきプログラムの候補として、 .Xr named 8 があります。デフォルトの rc.conf ファイルには、named を砂場で実行する ために必要な引数がコメントアウトされた形式で含まれています。新しい システムをインストールしているか、それとも既存のシステムを アップグレードして使っているかに依存しますが、砂場として使用する 特別のユーザアカウントがインストールされていないかもしれません。 用心深いシステム管理者であれば、できるだけいつでも研究を怠らず、 サーバに砂場を仕込むものでしょう。 .Pp 通常、砂場で実行しないサーバが他にいくつかあります。sendmail, popper, imapd, ftpd などです。これらのうちいくつかのサーバには代わりとなるも のがありますが、 代わりのものをインストールするには、それだけ多くの仕事が必要になるので、 結局これらを喜んで入れてしまいます .Pq 便利さという要素がまたも勝利を収めるわけです 。 これらのサーバは、root 権限で実行せねばならいかもしれません。また、 これらのサーバ経由で生じる侵入 を検出するためには、他の仕組みに頼らなくてはならないかもしれません。 .Pp システムの root 権限の潜在的な穴で他に大きなものとして、システムに インストールされた suid-root/sgid バイナリがあります。 これらのバイナリは、rloginのように、 -/bin, /sbin, /usr/bin, /usr/sbin に -存在するものがほとんどです。100% 安全なものは存在しないとはいえ、システムデフォルトの +.Pa /bin , +.Pa /sbin , +.Pa /usr/bin , +.Pa /usr/sbin +に存在するものがほとんどです。 +100% 安全なものは存在しないとはいえ、システムデフォルトの siud/sgid バイナリは比較的安全といえます。それでもなお、root の穴が これらのバイナリにときおり発見されています。1998 年に Xlib で見つかった root の穴は、xterm .Pq 普通、suid 設定されています を攻撃可能にしていました。 安全である方がよいので、用心深いシステム管理者は残念に思いながらも、 スタッフのみが実行する必要がある suid バイナリは、スタッフのみが アクセス可能な特別なグループに含めるように制限を加え、 -誰も使わない suid バイナリは chmod 000 を実行して片付けてしまうで -しょう。 +誰も使わない suid バイナリは +.Pq chmod 000 を実行して +片付けてしまうでしょう。 ディスプレイを持たないサーバは、一般的に xterm のバイナリを必要としません。 sgid バイナリもほとんど同様の危険な存在になり得ます。 侵入者が kmem に sgid されたバイナリを破ることができた場合、 -その侵入者は /dev/kmem を読み出すことができるようになります。 +その侵入者は +.Pa /dev/kmem +を読み出すことができるようになります。 つまり、暗号化されたパスワードファイルを読み出すことができる ようになるので、パスワードを持つどのアカウントをも、 .Pq 潜在的な 危険に晒すことになります。 tty グループを破った侵入者は、ほとんどすべてのユーザの端末に書き込みが できます。talk-back 機能を持つ端末プログラムやエミュレータをユーザが実行 していると、 .Pq 結局、そのユーザとして実行される コマンドをユーザの端末にエコーさせるデータストリームを 侵入者が生成できる可能性があります。 .Sh ユーザアカウントの安全性を高める .Pp ユーザアカウントは、普通、安全性を高めることが最も困難です。 スタッフに対して、アテナイのドラコのような厳格なアクセス制限を課し、 スタッフのパスワードを\ * で外すことができるとはいえ、管理者が持ちうる 一般ユーザすべてのアカウントに対して同じことはできないかも知れません。 管理者が十分に統率をとることができるなら、管理者は勝利し、ユーザの アカウントの安全を適切に確保できるかもしれません。それが できないならば、よりいっそう気を配って一般ユーザのアカウントを 監視するよりほかありません。一般ユーザアカウントに対し ssh や kerberos を利用することには、いろいろと問題があります。 それでも、暗号化パスワードと比較すると、 はるかに良い解です。 .Sh パスワードファイルの安全性を高める .Pp できるだけ多くのパスワードを\ * で外し、それらのアカウントのアクセスには ssh や kerberos を使うようにすることが、唯一の確実な方法です。たとえ暗号化 パスワードファイル -.Pq /etc/spwd.db +.Pq Pa /etc/spwd.db が root でのみ読み出し可能だとしても、 侵入者がそのファイルの読み出しアクセス権限を得ることは可能かもしれません。たとえ root の書き込み権限が得られないにしてもです。 .Pp セキュリティスクリプトは常にパスワードファイルの変更をチェックし、報告 -するようにすべきです。 -.Pq 後述の「ファイルの完全性のチェック」を参照して下さい。 +するようにすべきです +.Po +後述の「ファイルの完全性のチェック」を参照して下さい +.Pc 。 .Sh カーネルのコア、raw デバイス、ファイルシステムの安全性を高める .Pp root の権限を破ると、攻撃者は何でもできますが、 もっと簡便なこともいくつかあります。例えば、最近のカーネルは、 組み込みのパケット覗き見デバイス .Pq packet sniffing device ドライバを備えているものがほとんどです。 .Bx Free では .Sq bpf デバイスと呼ばれています。侵入者は普通、危険に晒された マシンでパケット覗き見プログラムを実行させようと試みます。侵入者に わざわざそういう機能を提供する必要はないので、ほとんどのシステムで bpf -デバイスを組み込むべきではありません。しかし、不幸なことに、最近のカーネルのもう一つの特徴として、ローダブルカーネル -モジュール -.Pq Loadable Kernel Module:LKM -インタフェースと呼ばれる -機能があります。やる気まんまんの侵入者は、LKM を使って -自分独自の bpf もしくはその他覗き見デバイスを動作中のカーネルに -インストールすることができます。 -モジュールローダを使う必要がないのであれば、カーネル設定で -NO_LKM オプションを設定してこの機能を無効にして下さい。 +デバイスを組み込むべきではありません。 .Pp -bpf デバイスを外し、モジュールローダを無効にしても、/dev/mem と /dev/kmem +bpf デバイスを外し、モジュールローダを無効にしても、 +.Pa /dev/mem +と +.Pa /dev/kmem という悩みの種がまだ残っています。この問題に関しては、侵入者は raw -デバイスに書き込むこともできます。この問題を避けるため、システム管理者は +デバイスに書き込むこともできます。 +また、 +.Xr kldload 8 +という、別のカーネル機能があります。 +やる気まんまんの侵入者は、KLD モジュールを使って +自分独自の bpf もしくはその他覗き見デバイスを動作中のカーネルに +インストールすることができます。 +この問題を避けるため、システム管理者は カーネルをより高い安全レベル .Pq securelevel 、少なくとも安全レベル 1 で実行させる必要があります。 sysctl を使って kern.securelevel 変数に安全レベルを設定することが できます。ひとたび安全レベルに 1 を設定すると、 raw デバイスに対する書き込みアクセスは拒否され、例えば .Sq schg のような 特別な chflags フラグが効果を発揮します。これに加えて、 起動時において重要なバイナリ・ディレクトリ・スクリプトファイルなど、 安全レベルが設定されるまでの間に実行されるものすべてに対しても .Sq schg フラグを確実に on にしておく必要があります。この設定をやり過ぎても 構いませんが、より高い安全レベルで動作している場合、システムの アップグレードがはるかに困難になります。システムをより高い安全レベルで 実行させるようにするが、お天道さまの下にあるすべてのシステムファイルと ディレクトリに schg フラグを設定しないという妥協をする方法もあります。 .Sh ファイルの完全性のチェック: バイナリ、設定ファイルなど .Pp ことこの問題に至ると、システム管理者にできることは、 便利さという要素がその醜い頭を上げない程度に、 コアシステムの設定 / 制御ファイルを防御することだけです。 セキュリティのタマネギの最後の層はおそらく最も重要なもの、すなわち探知です。 .Pp システムファイルの完全性をチェックする唯一の正しい方法は、別の、より安全な システム経由で行なう方法だけです。 .Sq 安全 なシステムを準備することは比較的 -容易です。単にそのシステム上で、サービスを一切実行しないようにするだけです。安全なシステム +容易です。単にそのシステム上で、サービスを一切実行しないようにするだけです。 +安全なシステム を用いて、ssh 経由で他のシステムの root 空間にアクセスします。これは セキュリティの末端のように見えるかもしれません。しかし、管理者には信頼を どこかに置く必要があります。いきあたりばったりでサーバプロセスを 実行するような馬鹿げたことをしない限りは、安全度の高いマシンを構築する ことは本当に可能です。ここで .Sq 安全 という場合、物理アクセスに対する セキュリティをも含めて仮定していることはもちろんです。他のすべてのマシンに root のアクセス権限を持つ、安全なマシンがあれば、 「安全なマシンの上で」システムの他のマシンをチェックする セキュリティスクリプトを書くことができるようになります。 最も普通のチェック方法は、セキュリティスクリプトで、 まず、find と md5 のバイナリファイルをリモートマシンに .Xr scp 1 してから、 リモートシステムのすべてのファイル -.Pq もしくは、少なくとも /, /var, /usr パーティション! +.Po +もしくは、少なくとも +.Pa / , +.Pa /var , +.Pa /usr +パーティション! +.Pc に対して md5 を適用するシェルコマンドを ssh を使ってリモートマシンで実行するものです。 安全なマシンは、チェック結果をファイルにコピーし、前回のチェック結果との差分を取り .Pq または、安全なマシン自身が持っているバイナリと比較する 、その差分を 毎日のレポートとしてスタッフメンバひとりひとりにメールで送ります。 .Pp この種のチェックを行うもう一つの方法として、 他のマシンから主なファイルシステムを 安全なマシンにNFS export する方法があります。 このやり方はいくらかネットワークに負荷を掛けることになりますが、 侵入者がチェックを探知したり偽造したりすることは、 事実上不可能になります。 .Pp 優れたセキュリティスクリプトは、一般ユーザやスタッフメンバのアクセス制御 ファイル: .rhosts, .shosts, .ssh/authorized_keys など、MD5 での精細な チェックから洩れそうなファイルの変更もチェックするようにします。 .Pp 優れたセキュリティスクリプトは、すべてのファイルシステム上で suid/sgid バイナリのチェックを行い、前回のチェック結果もしくは何らかの 基準 .Pq 例えば、その基準を週 1 回作成する。 からの差分だけでなく、 それらバイナリの存在そのものを報告するものです。 .Sq nosuid オプションを fstab/mount で指定することで、あるファイルシステム上の suid/sgid バイナリの実行機能をオフにすることができますが、root によるこれら バイナリの実行をオフにすることはできません。さらに、root 権限を破った者は誰でも 自分自身で用意したバイナリをインストールすることだってできます。 しかしながら、ユーザのディスク空間を大量に持つ場合、 ユーザパーティション上で suid されたバイナリとデバイスを不許可に しておき -('nodev' オプション)、 +.Po +.Pq nodev +オプション +.Pc 、 そのパーティションをスキャンしないで済ませることも有益かもしれません。 それでも私ならば、ともかく、少なくとも週に 1 回はスキャンする でしょう。というのは、タマネギのこの層の目的は侵入を検知すること だからです。 .Pp プロセスアカウンティング .Po .Xr accton 1 参照 .Pc は、比較的オーバヘッドの低いオペレーティングシステムの機能で、 マシンに侵入されてしまった後の評価の仕組みとして使用することをお勧め します。 侵入を受けた後でも当該ファイルが無傷である場合に、 侵入者が実際にどのようにしてシステムの root を破ったかを 追跡するのに特に有益です。 .Pp 最後に、セキュリティスクリプトはログファイルを処理するようにし、 ログファイル自体もできるだけ安全性の高い方法で .Sq リモート syslog は極めて有益になり得ます 生成するようにすべきです。侵入者は自分の侵入の痕跡を覆い隠そう としますし、また、ログファイルはシステム管理者が最初の侵入の時 刻と方法を追跡してゆくために極めて重要です。 .Sh 偏執狂的方法 .Pp 多少偏執狂的になっても決して悪いことにはなりません。原則的に、 システム管理者は、便利さに影響を与えない範囲でいくつでもセキュリティ 機能を追加することができます。また、いくらか考慮した結果、便利さに 影響を与えるセキュリティ機能を追加することもできます。 .Sh サービス不能攻撃 (D.O.S. attack) についての特記事項 .Pp このセクションではサービス不能攻撃を扱います。サービス不能攻撃は、普通は、 パケット攻撃です。ネットワークを飽和させる最先端の偽造パケット .Pq spoofed packet 攻撃に対してシステム管理者が打てる手はそれほど多く ありませんが、一般的に、その種の攻撃によってサーバがダウン しないことを確実にすることで、被害をある限度に食い止める ことはできます。 .Bl -enum -offset indent .It サーバの fork の制限 .It 踏み台攻撃の制限 .Pq ICMP 応答攻撃、ping broadcast など .It カーネルの経路情報のキャッシュ .El .Pp 普通に見られるサービス不能攻撃に、fork するサーバプロセスに対する ものがあります。これは、サーバにプロセス・ファイル記述子・メモリを 食い尽くさせて、マシンを殺そうとするものです。 inetd .Po .Xr inetd 8 参照 .Pc には、この種の攻撃を制限するオプションがいくつかあります。マシンが ダウンすることを防止することは可能ですが、この種の攻撃によりサービスが 崩壊することを防止することは一般的に言ってできないことに注意する必要が あります。inetd のマニュアルページを注意深く読んで下さい。特に、 .Fl c , .Fl C , .Fl R オプションに注意して下さい。IP 偽造攻撃 .Pq spoofed-IP attack は inetd の .Fl C オプションの裏をかけるので、一般にオプションを 組み合わせて使用するべきであることに注意して下さい。スタンドアロンサーバ の中には、自分自身で fork を制限するパラメータを持っているものがあります。 .Pp sendmail には、 .Fl OMaxDaemonChildren オプションがあります。負荷には遅れがあるので、 sendmail の負荷に限界を設けるオプションを使うよりも、 このオプションを使う方がまともに動作する可能性ははるかに高いです。 sendmail の実行を開始する際に、 .Cm MaxDaemonChildren パラメータを設定するべきです。その値は、 通常見込まれる負荷を扱える程度に十分高いが、 それだけの数の sendmail を操作しようとすると マシンが卒倒してしまうほどには高くないような値に設定するべきです。 sendmail をキュー処理モード .Pq Fl ODeliveryMode=queued で実行することや、 sendmail デーモン .Pq Cm sendmail -bd をキュー処理用プロセス .Pq Cm sendmail -q15m と別に実行することも、用心深いことと言えます。それでもなおリアルタイムでの 配送を望むのであれば、 .Fl q1m のようにすることで、キュー処理をはるかに短い時間間隔で 行うことができます。いずれにしても、 .Cm MaxDaemonChildren オプションに 合理的な値を確実に指定して、sendmail がなだれをうって失敗することが ないようにして下さい。 .Pp syslogd は直接攻撃される可能性があるので、可能ならばいつでも .Fl s オプションを用いることを強く推奨します。これができないなら、 .Fl a オプションを使って下さい。 .Pp tcpwrapper の逆 identd などの接続返し .Pq connect-back を行うサービスに ついては十分注意を払うようにするべきです。これらは直接攻撃を受ける可能性が あります。こういう事情があるので、tcpwrapper の逆 ident 機能を使おうとは 思わないのが一般的です。 .Pp 境界ルータのところでファイアウォールを設けて、外部からのアクセスに対して 内部サービスを防御するという考えは実によいものです。この考えは、LAN の外部 からの飽和攻撃を防ぐことにあり、root ネットワークベースの root 権限への攻撃から内部サービスを防御することには、あまり考慮を払って いません。ファイアウォールは常に排他的に設定して下さい。つまり、 「ポート A, B, C, D と M から Z まで .Eo * 以外 .Ec * のすべてに防火壁を設ける」というふうにです。 このようにすることで、named .Pq ゾーンのプライマリである場合 , ntalkd, sendmail など、インターネットにアクセスを提供するサービス として特に指定するもの以外の、小さい番号のポートすべてをファイアウォールで 防御することができます。ファイアウォールをこの他のやり方、つまり 包含的もしくは受容的なファイアウォールとして設定しようとする場合、 .Sq close することを忘れてしまうサービスがいくつか出てきたり、新しい内部サービスを 追加したのにファイアウォールの更新を忘れたりする可能性がよく出てきます。 ファイアウォール上の大きい番号のポートを開けておいて、小さい番号のポートを 危険に晒すことなく受容的な動作を許すことができます。 .Bx Free では、net.inet.ip.portrange への sysctl -.Pq sysctl -a \&| fgrep portrange , +.Pq sysctl -a \&| fgrep portrange をいろいろ使用することで、 動的バインドに使用されるポート番号の範囲を制御できることを記憶にとどめて おいて下さい。これによりファイアウォールの設定の複雑性を緩和できます。 私は、ファイアウォールに通常のfirst/last の範囲として、 4000 から 5000 を、 高位ポートの範囲として、49152 から 65535 を使用しています。そして、 -.Pq いくつかのインターネットアクセス可能なポートをブロックから除外するのはもちろんですが +.Po +いくつかのインターネットアクセス可能なポートを +ブロックから除外するのはもちろんですが +.Pc 4000 より下のすべてをブロックしています。 .Pp また別のありふれたサービス不能攻撃として、踏み台攻撃 .Pq springboard attack と呼ばれるものがあります。これは、サーバが自分自身、ローカルネットワーク、 そして他のマシンを過負荷に追い込むような応答を生成させる方法でサーバを 攻撃します。この種の攻撃の中で最もありふれたものは、ICMP PING BROADCAST 攻撃があります。攻撃者は、実際に攻撃したいマシンのアドレスをソース アドレスに設定した ping パケットを偽造して、対象の LAN の ブロードキャストアドレスに向けてパケットを送信します。境界にあるルータが ブロードキャストアドレスに対する ping パケットを握り潰すように設定されていない 場合、LANは、詐称されたソースアドレスに向けて応答パケットを生成するはめになり、犠牲となるマシンが飽和するところまで行ってしまいます。攻撃者が同じトリックを 異なるネットワーク上のいくつものブロードキャスト アドレスに対して同時に使用した場合、とくにひどいことになります。 これまでに、120 メガビット以上のブロードキャスト攻撃が観測されています。 2 番目の踏み台攻撃は、ICMP エラー報告の仕掛けを狙うものです。ICMP エラー 応答を生成するパケットを生成することにより、攻撃者はサーバの 受信ネットワークを飽和させることができ、同時に、サーバが送信 ネットワークを ICMP 応答で飽和させるようにすることができます。 mbuf を消費し尽くさせることにより、この種の攻撃でサーバを クラッシュさせることも可能です。サーバの ICMP 応答生成が速過ぎて、 ICMP 応答の送信が追い付かない場合、とくにひどいことになります。 .Bx Free カーネルには、この種の攻撃の効果を抑制する ICMP_BANDLIM と 呼ばれる新しいコンパイルオプションがあります。 3つめの主要なクラスに属す踏み台攻撃は、udp echo サービスのような、 ある種の内部 inetd サービスに関連するものです。攻撃者は、単に ソースアドレスがサーバ A の echo ポートであり、ディスティネーション アドレスがサーバ B の echo ポートであるかのように UDP パケットを 偽造します。ここでサーバ A, B はともに自分の LAN に接続されています。 この 2 つのサーバは、この一つのパケットを両者の間で互いに相手に対して 打ち返しあいます。このようにしてパケットをいくつか注入するだけで、 攻撃者は両方のサーバと LAN を過負荷状態にすることができます。 同様の問題が内部 chargen ポートにも存在します。有能なシステム管理者は この手の inetd 内部テストサービスのすべてを無効にしておくものです。 .Pp 偽造パケット攻撃は、カーネルの経路情報キャッシュに過負荷を生じさせるために 用いられることもあります。net.inet.ip.rtexpire, rtminexpire, rtmaxcache の sysctl パラメータを参照して下さい。でたらめなソース IP を用いた この偽造パケット攻撃により、カーネルは、一時的なキャッシュ経路を 経路情報テーブルに生成します。これは .Sq netstat -rna \&| fgrep W3 で見ることができます。これらの経路は、普通は 1600 秒程度でタイムアウトに なります。カーネルがキャッシュ経路テーブルが大きくなり過ぎたことを 検知すると、カーネルは動的に rtexpire を減らしますが、rtminexpire より 小さくなるようには決して減らしません。ここに問題が 2 つあります。 (1) 負荷の軽いサーバが突然攻撃された場合、カーネルが十分素早く反応 できないこと。(2) カーネルが攻撃に耐え生き延びられるほど十分 rtminexpire が低く設定されていないこと。の2つです。 自分のサーバが T3 もしくはそれより 良質の回線でインターネットに接続されている場合、 .Xr sysctl 8 を用いて rtexpire と rtminexpire とを手動で上書きしておくことが思慮深いこと といえます。 -.Pq 自分のマシンをクラッシュさせたくないのであれば:-) +.Pq 自分のマシンをクラッシュさせたくないのであれば :-) どちらか一方でも 0 に は決してしないで下さい。両パラメータを 2 秒に設定すれば、 攻撃から経路情報テーブルを守るには十分でしょう。 .Sh 関連項目 .Pp .Xr accton 1 , .Xr chflags 1 , .Xr find 1 , .Xr kerberos 1 , .Xr md5 1 , .Xr ssh 1 , .Xr sshd 1 , .Xr syslogd 1 , .Xr xdm 1 , .Xr sysctl 8 .Sh 歴史 .Nm マニュアルページは、もともと .An Matthew Dillon によって書かれました。 最初に現れたのは、 -.Bx Free -3.0.1 +.Fx 3.1 で 1998 年 12 月のことです。 .\" translated by Norihiro Kumagai, 98-12-29 diff --git a/ja_JP.eucJP/man/man8/fsdb.8 b/ja_JP.eucJP/man/man8/fsdb.8 index f00ce01a7b..546c7c8142 100644 --- a/ja_JP.eucJP/man/man8/fsdb.8 +++ b/ja_JP.eucJP/man/man8/fsdb.8 @@ -1,261 +1,258 @@ .\" %NetBSD: fsdb.8,v 1.2 1995/10/08 23:18:08 thorpej Exp % .\" .\" Copyright (c) 1995 John T. Kohl .\" 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. 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. .\" -.\" %Id: fsdb.8,v 1.8 1998/06/15 07:12:18 charnier Exp % -.\" jpman %Id: fsdb.8,v 1.3 1997/06/23 15:01:41 horikawa Stab % +.\" %Id: fsdb.8,v 1.8.2.1 1999/04/13 02:44:04 ghelmer Exp % .\" +.\" jpman %Id: fsdb.8,v 1.3 1997/06/23 15:01:41 horikawa Stab % .Dd September 14, 1995 .Dt FSDB 8 .Os FreeBSD .Sh 名称 .Nm fsdb .Nd FFS デバッグ/編集ツール .Sh 書式 .Nm fsdb .Op Fl d .Op Fl f .Op Fl r .Ar fsname .Sh 解説 .Nm は .Ar fsname (通常は raw ディスクパーティション) を open し、そのファイルシステムの inode データを操作するためのコマンドを受け付けます。コマンドは .Ic "fsdb (inum X)>" のプロンプトに対して入力します。ここでの .Va X は現在選択されている i-number となります。最初に選択されている inode はファイルシステムのルート (i-number 2) となります。 コマンドプロセッサには -.Xr libedit 3 +.Xr editline 3 ライブラリを使用しており、コマンド行を編集することによってタイピングの 量を減らすことができます。 コマンドループから抜けて終了する時には、ファイルシステムのスーパブロック が dirty とマークされ、バッファリングされているブロックがあれば ファイルシステムに書き込まれます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl d デバッグ情報 (元は .Xr fsck 8 のコードに由来するもの) を出力します。 .It Fl f 歴史的な理由により残されているもので、特に意味は持ちません。 .It Fl r ファイルシステムを読み取り専用でオープンし、 書き込みを行うコマンドを抑止します。 .El .Sh コマンド 組み込みの -.Xr libedit 3 +.Xr editline 3 のコマンドの他に .Nm は以下のコマンドをサポートしています: .Pp .Bl -tag -width indent -compact .It Cm help 入力できるコマンドのリストを表示します。 .Pp .It Cm inode Ar i-number 新しい現在の inode として inode .Ar i-number を選択します。 .Pp .It Cm back 以前の inode に戻ります。 .Pp .It Cm clri 現在の inode をクリアします。 .Pp .It Cm lookup Ar name .It Cm cd Ar name .Ar name を現在のディレクトリの中で探し、その inode を現在の inode に設定します。 .Ar name はマルチコンポーネントの名前か、スラッシュで始めて検索をルートの inode から始めることを指定できます。パス名の中のコンポーネントが見 つからない場合、最後に有効であったディレクトリがアクティブな inode と して使われます。 .br このコマンドは開始する inode がディレクトリの場合のみ有効です。 .Pp .It Cm active .It Cm print アクティブな inode を表示します。 .Pp .It Cm uplink アクティブな inode のリンク数をインクリメントします。 .Pp .It Cm downlink アクティブな inode のリンク数をデクリメントします。 .Pp .It Cm linkcount Ar number アクティブな inode のリンク数を .Ar number に設定します。 .Pp .It Cm ls 現在の inode のディレクトリエントリをリストします。このコマンドは現在 の inode がディレクトリである場合のみ有効です。 .Pp .It Cm rm Ar name .It Cm del Ar name 現在のディレクトリ inode からエントリ .Ar name を取り除きます。このコマンドは現在の inode がディレクトリで ある場合のみ有効です。 .Pp .It Cm ln Ar ino Ar name 現在のディレクトリ inode に inode .Ar ino へのリンクを .Ar name の名前で作成します。このコマンドは現在の inode がディレクトリである場 合のみ有効です。 .Pp .It Cm chinum Ar dirslot Ar inum ディレクトリエントリ .Ar dirslot 中の i-number を .Ar inum に変更します。 .Pp .It Cm chname Ar dirslot Ar name ディレクトリエントリ .Ar dirslot 中の名前を .Ar name に変更します。 このコマンドではディレクトリエントリを拡張することはできません。名前が 現在存在するディレクトリスロットに収まる場合にのみ、エントリの名前の変 更が可能です。 .Pp .It Cm chtype Ar type 現在の inode のタイプを .Ar type に変更します。 .Ar type には .Em file , .Em dir , .Em socket , .Em fifo のいずれかが指定できます。 .Pp .It Cm chmod Ar mode 現在の inode のモードビットを .Ar mode に変更します。 このサブコマンドではファイルのタイプを変更することはできません。その場 合は .Ic chtype を使ってください。 .Pp .It Cm chflags Ar flags 現在の inode のファイルフラグを .Ar flags に変更します。 .Pp .It Cm chown Ar uid 現在の inode の所有者を .Ar uid に変更します。 .Pp .It Cm chgrp Ar gid 現在の inode のグループを .Ar gid に変更します。 .Pp .It Cm chgen Ar gen 現在の inode の世代番号 (generation number) を .Ar gen に変更します。 .Pp .It Cm mtime Ar time .It Cm ctime Ar time .It Cm atime Ar time それぞれ、現在の inode の修正時間、変更時間、アクセス時間を .Ar time に変更します。 .Ar time は .Em YYYYMMDDHHMMSS[.nsec] の形式でなければなりません。ここで、 .Em nsec はオプションで指定できるナノ秒の値となります。もし、ナノ秒が指定されて いないと、 .Va mtimensec , .Va ctimensec , .Va atimensec のそれぞれのフィールドにはゼロがセットされます。 .Pp .It Cm quit, Cm q, Cm exit, Em プログラムを終了します。 .El .Sh 関連項目 -.Xr libedit 3 , +.Xr editline 3 , .Xr fs 5 , .Xr clri 8 , .Xr fsck 8 .Sh バグ ``short'' のシンボリックリンクの操作は動作しません。(特に、 シンボリックリンクのタイプは変更しないでください。) .br モードはシンボル名ではなく数字で指定してください。 .br 多分 .Nm に実装されていないことで、もっとやりたいことが沢山あるでしょう。 -.br -.Xr libedit 3 -のリファレンスページはまだ書かれていません。 .Sh 歴史 .Nm は .Xr fsck 8 のソースコードを使ってファイルシステムの操作のコードのほとんどを実装し ています。 .Nm の残りの部分は、最初 .Bx Net において .An John T. Kohl によって書かれました。 .br .Bx Free への移植は .An Peter Wemm によって行われました。 .Sh 警告 このツールは最大限に注意を払って使って下さい。 .Xr fsck 8 を使っても修復できないほど FFS ファイルシステムを壊す恐れがあります。 diff --git a/ja_JP.eucJP/man/man8/ibcs2.8 b/ja_JP.eucJP/man/man8/ibcs2.8 index 570ca63472..55cd31b999 100644 --- a/ja_JP.eucJP/man/man8/ibcs2.8 +++ b/ja_JP.eucJP/man/man8/ibcs2.8 @@ -1,64 +1,64 @@ .\" .\" Copyright (c) 1995 Lyndon Nerenberg .\" .\" All rights reserved. .\" .\" This program is free software. .\" .\" 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" %Id: ibcs2.8,v 1.6.2.1 1999/02/15 08:46:22 fenner Exp % -.\" jpman %Id: ibcs2.8,v 1.3 1997/09/08 08:46:54 kuma Stab % +.\" %Id: ibcs2.8,v 1.6.2.2 1999/04/06 13:59:14 ghelmer Exp % .\" +.\" jpman %Id: ibcs2.8,v 1.3 1997/09/08 08:46:54 kuma Stab % .Dd November 27, 1995 .Dt IBCS2 8 .Os FreeBSD .Sh 名称 .Nm ibcs2 .Nd SCO および ISC バイナリのための iBCS2 ランタイムサポートをロードする .Sh 書式 .Nm ibcs2 .Sh 解説 .Nm ユーティリティは iBCS2 互換プログラムの カーネルランタイムサポートをロードします。 本ランタイムサポートの範囲は iBCS2 システムコールインタフェースの エミュレーションに限定されており、完全サポートには程遠いです。 COFF バイナリおよび共有ライブラリはサポートされていますが、 FreeBSD での配布には共有ライブラリは提供されていません。 .Sh 関連ファイル .Bl -tag -width /usr/share/examples/ibcs2/* -compact -.It Pa /lkm/ibcs2_mod.o -.It Pa /lkm/ibcs2_coff_mod.o +.It Pa /modules/ibcs2.ko +.It Pa /modules/ibcs2_coff.ko iBCS2 ローダブルカーネルモジュール。 .Pp .It Pa /usr/share/examples/ibcs2/* エミュレータ検査用のサンプルオブジェクトファイル。 .Sh 関連項目 -.Xr lkm 4 , -.Xr modload 8 +.\"no equivalent yet for kld:.Xr lkm 4 , +.Xr kldload 8 .Sh バグ エミュレータは全く不完全です。 .Pp 動的にリンクされたバイナリを実行するにあたり、 既存の SCO システムの共有ライブラリへのアクセスが不可欠です。 .Pp 使用にあたりソースコードを読むことが不可欠です。 diff --git a/ja_JP.eucJP/man/man8/ipfw.8 b/ja_JP.eucJP/man/man8/ipfw.8 index aece95ac9a..5db0e6ae78 100644 --- a/ja_JP.eucJP/man/man8/ipfw.8 +++ b/ja_JP.eucJP/man/man8/ipfw.8 @@ -1,597 +1,598 @@ .Dd July 20, 1996 .\" jpman %Id: ipfw.8,v 1.4 1997/05/19 17:19:51 horikawa Stab % .Dt IPFW 8 SMM .Os FreeBSD .Sh 名称 .Nm ipfw .Nd IPファイアウォール制御ユーティリィティ .Sh 書式 .Nm ipfw .Op Fl q .Oo .Fl p Ar preproc .Op Fl D Ar macro Ns Op Ns =value .Op Fl U Ar macro .Oc file .Nm ipfw .Oo .Fl f | .Fl q .Oc flush .Nm ipfw .Oo .Fl q .Oc zero .Op Ar number ... .Nm ipfw delete .Ar number ... .Nm ipfw .Op Fl aftN list .Op Ar number ... .Nm ipfw .Oo .Fl ftN .Oc show .Op Ar number ... .Nm ipfw .Oo .Fl q .Oc add .Op Ar number .Ar action .Op log .Ar proto from .Ar src to .Ar dst .Op via Ar name | ipno .Op Ar options .Sh 解説 書式の 1 行目のようにファイル名を指定した場合は、 .Ar file を 1 行ずつ、引数として読み込みます。 .Pp .Fl p Ar preproc を使用して、 .Ar file がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュから始まらない場合、 .Ev PATH を使用した通常の名前検索行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、本件に注意してください。 ひとたび .Fl p が指定されると、オプションの .Fl D と .Fl U の指定を続けることが可能となり、これらがプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp .Nm はパケットごとに、マッチするルールが見つかるまでルールリストを調べます。 各ルールにはパケット数とパケットサイズの 2 つのカウンタが用意されていて、 パケットがマッチするとカウンタ値は更新されます。 .Pp 全ルールは 1 から 65534 の範囲の行番号で順序付けられます。この番号によって ルールの並べ変えと削除を行ないます。 ルールのマッチングは昇順で行なわれ、最初にマッチしたものが適用されます。 複数のルールが同じ番号を共有することも可能です。この場合はルールが追加された 順序でマッチングが行なわれます。 .Pp 番号を指定せずにルールを追加した場合は、 既に定義されているルールの最大の番号に 100 を加えたものとなります。 ルールの番号が 65435 以上の場合は、新しいルールは同じ番号が与えられます。 。 .Pp delete 操作は .Ar number で指定された番号を持つ最初のルールを、もし有れば、削除します。 .Pp list 操作は現在のルール一覧を出力します。 .Pp show 操作は `ipfw -a list' と同じ結果を出力します。 .Pp zero 操作は .Ar number で指定された番号を持つルールのカウンタをクリアします。 .Pp flush 操作は全ルールを削除します。 .Pp 記号 `#' で始まる行および空行は無視されます。 .Pp どんな場合でも次のルールは存在します: .Bd -literal -offset center 65535 deny all from any to any .Ed .Pp 全パケットを拒否するのがデフォルトのポリシーです。 これを修正し、必要なルールを設定して下さい。 .Pp しかしながら、カーネルオプション .Dq IPFIREWALL_DEFAULT_TO_ACCEPT が有効な場合、ルールは次のようになります: .Bd -literal -offset center 65535 allow all from any to any .Ed .Pp このバリエーションでは全てが通過可能です。 このオプションを有効にしてよいのは特定の状況だけであり、 例えば通常は解放しており、 必要に応じてサービス拒否 (denial-of-service) フィルタとなる ファイアウォールシステムを使用する場合がこれに該当します。 .Pp オプションは以下のものが利用可能です。 .Bl -tag -width flag .It Fl a list 操作の時、カウンタの値を表示します。 show の項を参照のこと。 .It Fl f 操作を実行する際に確認メッセージを表示しません。 flush 操作も無条件に実行されます。 .Ar (注意) プロセスに tty が関連付けられていない場合には、 このオプションが指定されているものとして実行されます。 .It Fl q ルールを add, zero, flush する際に、メッセージの出力を抑制します ( .Fl f も含まれます)。 このオプションは、リモートログインセッションでルールを調整する際に、 (例えば sh /etc/rc.firewall のようにして)スクリプトの中から複数の ipfw コマンド を 実行する場合や、 多数の ipfw ルールを記述したファイルを用いる場合に 便利です。 flush 操作が通常の(冗舌な)状態(デフォルトのカーネルの設定) で実行されると、メッセージが出力されます。 ここで、すべてのルールは削除されるので、メッセージをログインセッションに 送ることができず、ログインセッションがクローズされてしまうので、 残りのルールセットは実行されません。 この状態を修復するにはコンソールへのアクセスが必要となります。 .It Fl t list 操作の時に、最後にマッチしたパケットのタイムスタンプを表示します。 .It Fl N IPアドレスとサービス名をリゾルブしてホスト名で表示します。 .El .Pp .Ar action : .Bl -hang -offset flag -width 1234567890123456 .It Ar allow マッチするパケットを通過させ、マッチングを終了します。 .Ar pass , .Ar permit , .Ar accept と同じです。 .It Ar deny マッチするパケットを破棄し、マッチングを終了します。 .Ar drop は .Ar deny と同じです。 .It Ar reject (パケットを送らないよう嘆願) マッチするパケットを破棄し、 ICMP の host unreachable を送信して、終了します。 .It Ar unreach code パケットを破棄し、ICMP の unreachable に .Ar code を付けて送信します。 .Ar code は、 0 から 256 までの数字、もしくは、以下に列挙する別名のいずれかです: .Ar net, .Ar host , .Ar protocol , .Ar port , .Ar needfrag , .Ar srcfail , .Ar net-unknown , .Ar host-unknown , .Ar isolated , .Ar net-prohib , .Ar host-prohib , .Ar tosnet , .Ar toshost , .Ar filter-prohib , .Ar host-precedence , .Ar precedence-cutoff 。送信後、終了します。 .It Ar reset TCP パケットのみに対応。 パケットを破棄し、TCP の (RST) を送信し、終了します。 .It Ar count マッチするパケットのカウンタを更新し、引続きマッチングを行ないます。 .It Ar divert port マッチするパケットを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、マッチングを終了します。 .It Ar tee port マッチするパケットのコピーを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、引続きマッチングを行ないます。 この機能は未実装です。 .It Ar fwd ipaddr Op ,port マッチしたパケットの次のホップを .Ar ipaddr に変更します。これはドット付き 4 つ組の IP アドレスでもホスト名でもよいです。 .Ar ipaddr が直接到達可能なアドレスではない場合、その IP に対して ローカルルーティングテーブルでみつかる経路を使用します。 .Ar ipaddr がローカルアドレスの場合、 リモートホストからこのシステムにパケットが到着すると、 そのパケットをローカルマシンの .Ar port に転換します。 その際、 ソケットのローカルアドレスは、 パケットの元々の宛先の IP アドレスのままとします。 これは透過的プロキシサーバのためにあります。 IP が ローカルアドレスではない場合、ポート番号は (指定されていても) 無視され、 ルールはシステムから出て行くパケットに対してのみ適用されます。 また、」 パケットローカルに生成された時にもアドレスをローカルポートにマップします。 検索はルールがマッチしたときに終了します。 ポート番号が与えられなかった場合、パケット中のポート番号が使用され、 外部マシンのポート Y へのパケットは ローカルポート Y へ転送されます。 カーネルは、 オプション IPFIREWALL_FORWARD 付きでコンパイルされている必要があります。 .It Ar skipto number .Ar number より小さな番号のルールを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、マッチングを継続します。 .El .Pp パケットが .Ar divert や .Ar tee のどちらかひとつ以上、もしくは両方の組み合わせの、複数のルールにマッチした場合、 最後のものを除き、無視します。 .Pp カーネルが .Dv IPFIREWALL_VERBOSE オプション付きでコンパイルされている場合に、``log'' が指定されているルールと マッチした時は、メッセージをコンソールに表示します。 もし、 .Dv IPFIREWALL_VERBOSE_LIMIT オプション付きでコンパイルされている場合、一連のルールに対し指定されたパケット 数を受信した後、メッセージの表示を中止します。 パケットのカウンタをクリアすれば再びメッセージを出力します。 .Pp コンソールへの表示とその制限数は、 .Xr sysctl 8 を通し、直接設定できます。 .Pp .Ar proto : .Bl -hang -offset flag -width 1234567890123456 .It Ar ip 全パケットがマッチします。別名 .Ar all も使えます。 .It Ar tcp TCP パケットのみマッチします。 .It Ar udp UDP パケットのみマッチします。 .It Ar icmp ICMP パケットのみマッチします。 .It Ar 指定されたプロトコルのパケットのみマッチします ( .Pa /etc/protocols のリストを参照の事) .El .Pp .Ar src と .Ar dst : .Pp .Bl -hang -offset flag .It Ar
.Op Ar ports .El .Pp .Em
は以下のように指定できます。 .Bl -hang -offset flag -width 1234567890123456 .It Ar ipno IP番号を 1.2.3.4 の形式で指定します。指定されたアドレスのみがマッチします。 .It Ar ipno/bits IP番号とネットマスクの幅を 1.2.3.4/24 の形式で指定します。 この場合は 1.2.3.0 から 1.2.3.255 のアドレスがマッチします。 .It Ar ipno:mask IP番号とネットマスクの幅を 1.2.3.4:255.255.240.0 の形式で指定します。 この場合は 1.2.0.0 から 1.2.15.255 のアドレスがマッチします。 .El .Pp アドレスの前に ``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 から取った)サービス名を使用できます。 port-port の書式で、最初の値に限り範囲指定できます。 列挙出来るポート数は .Pa /usr/src/sys/netinet/ip_fw.h で .Dv IP_FW_MAX_PORTS として定義されています。 .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 一つ以上のポート仕様を持つルールにはマッチしません。? 断片化されたパケットへのマッチングに関する詳細は .Ar frag オプションを参照してください。 .Pp マッチングのルールは、入ってくるパケットか、出ていくパケット、もしくはその両方 に対し適応されます。 .Ar in を指定すれば、入ってくるパケットのみにルールを適応します。 .Ar out を指定すれば、出ていくパケットのみに適応します。 .Pp 特定のインタフェースを通過するパケットには、 .Ar via を用いてインタフェースを指定します: .Bl -hang -offset flag -width 1234567890123456 .It Ar via ifX .Ar ifX を通過するパケットを指定します。 .It Ar via if* .Ar ifX を通過するパケットを指定します。X はいずれかのユニットの番号です。 .It Ar via any .Em いずれか のインタフェースを通過するパケットを指定します。 .It Ar via ipno IP アドレスが .Ar ipno のインタフェースを通過するパケットを指定します。 .El .Pp .Ar via を用いると、常時指定されたインタフェースがチェックされます。 .Ar recv や .Ar xmit を、 .Ar via の代わりに指定すると、 受信、もしくは送信インタフェースのみが(各々に)チェックされます。 両方を指定すれば、 受信と送信の両方のインタフェースを通るパケットを指定できます。 例 : .Pp .Dl "ipfw 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 via と共に .Ar xmit もしくは、 .Ar recv を指定する事はできません。 .Pp 個々のパケットは、受信用ないし送信用インタフェースを持たないかもしれません。 ローカルホストで発生したパケットには受信用のインタフェースはないし、 ローカルホスト内宛のパケットは、送信用インタフェースが有りません。 .Pp 追加用 .Ar options : .Bl -hang -offset flag -width 1234567890123456 .It frag パケットが断片(フラグメント)化されたデータグラムの一部で、かつデータグラムの 先頭の断片でない場合にマッチします。 .Ar frag を、 .Ar tcpflags や TCP/UDP ポート仕様と共に使用することはできません。 .It in ネットワークから受信したパケットのみマッチします。 .It out ネットワークへ送信するパケットのみマッチします。 .It ipoptions Ar spec IP ヘッダが、 .Ar spec に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 サポートされている IP オプションは .Ar ssrr (strict source route), .Ar lsrr (loose source route), .Ar rr (record packet route), .Ar ts (timestamp) です。 ``!'' によって、特定のオプションを含めないよう指定できます。 .It established RST または ACK ビットがセットされているパケットのみマッチします。 このビットがセットされることがあるのは TCP のパケットのみです。 .It setup SYN ビットがセットされ ACK がセットされていないパケットのみマッチします。 このビットがセットされることがあるのは TCP のパケットのみです。 .It tcpflags Ar spec TCP ヘッダが .Ar spec に指定されたコンマで区切られたフラグのリストを含む場合にのみマッチします。 サポートされているフラグは、 .Ar fin , .Ar syn , .Ar rst , .Ar psh , .Ar ack , .Ar urg です。 ``!'' によって、特定のフラグを含めないよう指定できます。 .Ar tcpflags 仕様を含むルールは非 0 のオフセットを持つ断片化されたパケットに マッチすることはありません。 断片化されたパケットに関するマッチについての詳細は .Ar frag オプションを参照してください。 .It icmptypes Ar types ICMP タイプが .Ar types で指定されたリスト中に存在する場合にのみ適用されるルールとなります。 リストはレンジの組み合わせでも、各タイプをコンマで区切ったものでもどちらでも かまいません。 .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点を述べます。 .Bl -bullet -hang -offset flag .It かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる のがよいでしょう。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 長所 ファイアウォールが常に破棄するパケットが 1 種類あります。 フラグメントオフセットが 1 のフラグメントパケットです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 .Pp -ネットワーク越しにログインしている場合、LKM 版の +ネットワーク越しにログインしている場合、KLD 版の .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset center -modload /lkm/ipfw_mod.o && \e +kldload /modules/ipfw.ko && \e ipfw add 32000 allow all from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset center ipfw flush .Ed .Pp とするのは良くありません。 .Pp システムセキュリティレベルが 3 以上に設定されている場合、 IP フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .Sh パケットの行き先変更 指定されたポートを見ているソケットは、そのポートへ行き先変更されたパケットを、 全部受けとります。 .Xr divert 4 を参照して下さい。ポートを見ているソケットがない場合やカーネルがパケットの行き 先変更をサポートするようにはコンパイルされていない場合、パケットは破棄されます 。 .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 23 .Pp 次のコマンドはネットワーク hackers からホスト my への全てのコネクションを 拒否します。 .Pp .Dl ipfw add deny all from 123.45.67.0/24 to my.host.org .Pp 次はカウントされている情報とタイムスタンプを見る例です .Pp .Dl ipfw -at l .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a l .Pp 次のルールは 192.168.2.0/24 からの全ての受信パケットを、5000番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 all from 192.168.2.0/24 to any in .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr divert 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 入ってきたパケットの断片(フラグメント)が .Ar divert によって行き先を変更されると、ソケットに配送される前に、組み立て直しをします。 それに対し、 .Ar tee を経由した断片(フラグメント)は、組み立て直しされません。 .Pp ポートの別名でダッシュ (-) を含むものは、リストの最初には書けません。 .Pp ``tee'' アクションは未実装です。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs . API は .An Daniel Boulet が BSDI 向けに記述したコードに基づいています。 .Sh 歴史 .Nm は、FreeBSD 2.0 で最初に現れました。 diff --git a/ja_JP.eucJP/man/man8/joy.8 b/ja_JP.eucJP/man/man8/joy.8 index 98c9f804cc..b6627cbeb5 100644 --- a/ja_JP.eucJP/man/man8/joy.8 +++ b/ja_JP.eucJP/man/man8/joy.8 @@ -1,46 +1,46 @@ .\" .\" Copyright (c) 1996 Jean-Marc Zucconi .\" 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" %Id: joy.8,v 1.4 1997/02/22 12:48:18 peter Exp % -.\" jpman %Id: joy.8,v 1.3 1997/07/22 16:48:04 horikawa Stab % +.\" %Id: joy.8,v 1.4.2.1 1999/04/06 13:55:20 ghelmer Exp % .\" +.\" jpman %Id: joy.8,v 1.3 1997/07/22 16:48:04 horikawa Stab % .Dd March 16, 1996 .Dt JOY 8 .Os FreeBSD .Sh 名称 .Nm joy .Nd ジョイスティックドライバのカーネルモジュールを読み込む。 .Sh 書式 .Nm joy .Sh 解説 .Nm は、ジョイスティックドライバのカーネルモジュールを読み込みます。 .Sh 関連ファイル -.Bl -tag -width /lkm/joy_mod.o -.It Pa /lkm/joy_mod.o +.Bl -tag -width /modules/joy.ko +.It Pa /modules/joy.ko ジョイスティックの読み込み可能カーネルモジュール .Sh 関連項目 .Xr joy 4 , -.Xr lkm 4 , -.Xr modload 8 +.\"no equivalent for kld's yet":.Xr lkm 4 , +.Xr kldload 8 diff --git a/ja_JP.eucJP/man/man8/linux.8 b/ja_JP.eucJP/man/man8/linux.8 index 0341effbf7..ebf498fdf5 100644 --- a/ja_JP.eucJP/man/man8/linux.8 +++ b/ja_JP.eucJP/man/man8/linux.8 @@ -1,45 +1,47 @@ .\" .\" Copyright (c) 1997 .\" The FreeBSD Project. 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 DEVELOPERS ``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 DEVELOPERS 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. .\" -.\" %Id: linux.8,v 1.3 1997/02/22 12:48:26 peter Exp % -.\" jpman %Id: linux.8,v 1.3 1997/07/22 16:50:43 horikawa Stab % +.\" %Id: linux.8,v 1.3.2.1 1999/04/06 13:51:38 ghelmer Exp % .\" +.\" jpman %Id: linux.8,v 1.3 1997/07/22 16:50:43 horikawa Stab % .Dd January 9, 1997 .Dt LINUX 8 .Os FreeBSD .Sh 名称 .Nm linux .Nd Linux エミュレータのカーネルモジュールを読み込む .Sh 書式 .Nm linux .Sh 解説 .Nm -は、 Linux エミュレータのカーネルモジュールを読み込みます。 +は、Linux エミュレータのカーネルモジュールを読み込みます。 .Sh 関連ファイル -.Bl -tag -width /lkm/linux_mod.o -.It Pa /lkm/linux_mod.o +.Bl -tag -width /modules/linux.ko +.It Pa /modules/linux.ko Linux エミュレータの読み込み可能カーネルモジュール .Sh 関連項目 -.Xr lkm 4 , -.Xr modload 8 +.\"Can't find equivalent for modules (n_hibma@freebsd.org):.Xr lkm 4 , +.Xr kldload 8 , +.Xr kldunload 8 , +.Xr kldstat 8 diff --git a/ja_JP.eucJP/man/man8/mount.8 b/ja_JP.eucJP/man/man8/mount.8 index b6b4abcbbb..e16da1da4a 100644 --- a/ja_JP.eucJP/man/man8/mount.8 +++ b/ja_JP.eucJP/man/man8/mount.8 @@ -1,383 +1,384 @@ .\" Copyright (c) 1980, 1989, 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. .\" .\" @(#)mount.8 8.8 (Berkeley) 6/16/94 -.\" %Id: mount.8,v 1.24 1998/10/16 00:06:56 des Exp % +.\" %Id: mount.8,v 1.24.2.1 1999/04/08 14:00:59 ghelmer Exp % .\" .\" jpman %Id: mount.8,v 1.2 1997/05/03 11:26:50 horikawa Stab % .\" .Dd June 16, 1994 .Dt MOUNT 8 .Os BSD 4 .Sh 名称 .Nm mount .Nd ファイルシステムをマウントする .Sh 書式 .Nm mount .Op Fl adfpruvw .Op Fl t Ar ufs | lfs | external_type .Nm mount .Op Fl dfpruvw .Ar special | node .Nm mount .Op Fl dfpruvw .Op Fl o Ar options .Op Fl t Ar ufs | lfs | external_type .Ar special node .Sh 解説 .Nm コマンドは .Xr mount 2 システムコールを使用して、 .Ar "スペシャルデバイス" かリモートノード (rhost:path) を ファイルシステムツリーの .Ar node へ接合します。 もし .Ar special または .Ar node が指定されなかった場合には、 .Xr fstab 5 ファイルから適切な情報を取得します。 .Pp システムは、現在マウントしているファイルシステムのリストを管理しています。 .Nm コマンドを引数を与えずに実行すると、このリストが表示されます。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl a .Xr fstab 5 に記述されているファイルシステムを すべてマウントします。 例外は、``noauto'' が指定されているもの、 .Fl t フラグにて除外されているもの (後述)、 既にマウントされているもの (ルートファイルシステムは伝統的なシングルユーザモードの動作を保つ ために除外されます) です。 通常、これはシステムの起動時に実行されます。 .It Fl d システムコールの実行以外のすべてのことを行ないます。 このオプションを .Fl v とともに指定することで、 .Nm コマンドが何をしようとしているのかを確認することができます。 .It Fl f ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 .It Fl o オプションは .Fl o の後にコンマで区切って指定します。 以下のオプションが指定できます: .Bl -tag -width indent .It async 指定したファイルシステムのすべての .Tn I/O を非同期に行います。 このフラグを指定することは非常に .Em 危険 ですので、 システムクラッシュ時にファイルシステムを 作り直す用意ができていないかぎりは使うべきではありません。 .It force .Fl f オプションと同じです。 ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 .It noatime ファイル読み取り時に、ファイルアクセス時刻を更新しません。 このオプションが便利なのは、 多くのファイルを持ち、(ほとんどの場合重要ではない) ファイルアクセス時刻 を更新するよりも性能が重要であるファイルシステムです。 このオプションは現在ローカルファイルシステムでのみサポートされています。 .It noauto mount が .Fl a フラグ付きで動作しているときに、このファイルシステムをスキップします。 .It noclusterr リード時のクラスタリングを無効にします。 .It noclusterw ライト時のクラスタリングを無効にします。 .It nodev ファイルシステム上のキャラクタスペシャルデバイスや ブロックスペシャルデバイスを解釈しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の スペシャルデバイスを含むファイルシステムを持っている場合に有用です。 .It noexec マウントしているファイルシステム上のバイナリの 実行を許可しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の バイナリを含むファイルシステムを持っている場合に有用です。 .It nosuid 実効ユーザ ID (set-user-ID) セット、 実効グループ ID (set-group-ID) セットビットの 効果をなくします。 注意: .Xr suidperl 1 のような suid/sgid ラッパが 誰でも使えるようにシステムにインストールされている場合には、価値がありません。 .It nosymfollow マウントされたファイルシステムにおいては、シンボリックリンクを追跡しません。 .It rdonly .Fl r と同じく、マウントするファイルシステムを読み込み専用とします (スーパユーザでも書き込みできなくなります)。 .It sync ファイルシステムのすべての .Tn I/O を同期的に行います。 .It suiddir マウントされたファイルシステムにおけるディレクトリに SUID ビットがセットされると、 新規ファイルの所有者をディレクトリの所有者に設定します。 新規ディレクトリは親ディレクトリのビットを継承します。 実行ビットはファイルから取り除かれ、root には与えられません。 .Pp この機能は PC ユーザに対して ftp, SAMBA, netatalk のサービスを行う ファイルサーバのためにデザインされました。 これはシェルユーザに対してセキュリティホールとなりますので、 特にホームディレクトリを持つシェルマシンでは使用すべきではありません。 このオプションが動作するためには、カーネルの SUIDDIR オプションが必要です。 UFS ファイルシステムのみがこのオプションをサポートします。 詳細は .Xr chmod 2 を参照してください。 .It update .Fl u と同じく、すでにマウントされているファイルシステムの状態を変化させることを 指示します。 .It union マウントポイント以下の名前空間に、マウントされたファイルシステムのルートと マウントポイントに元から存在するディレクトリの両方が見えるようにします。 名前を検索するときは、マウントしたファイルシステムが先に検索されます。 ファイルが存在しない ために検索が失敗した場合は、既存のディレクトリがアクセスされます。 ファイル等の作成は、すべて マウントしたファイルシステム上に対して行われます。 .El .Pp .Nm が内部で知っているファイルシステムタイプ .Pf ( Fl t オプションを参照) 以外の、ファイルシステムタイプに固有のオプションは、 コンマで区切って指定します。このオプションは、オプションの前に .Dq \&- (ダッシュ記号) をつけて区別します。値を持つオプションは、 -option=valueの形で指定します。 たとえば、 .Bd -literal -offset indent mount -t mfs -o nosuid,-N,-s=4000 /dev/dk0b /tmp .Ed .Pp では、 .Nm コマンドは以下と同じものを実行します: .Bd -literal -offset indent /sbin/mount_mfs -o nosuid -N -s 4000 /dev/dk0b /tmp .Ed .It Fl p マウント情報を fstab の形式で表示します。暗黙的に .Fl v オプションを指定します。 .It Fl r ファイルシステムをリードオンリーで マウントします (スーパユーザでも書き込みは行えません)。 これは、 .Fl o オプションで .Dq rdonly を指定するのと同じです。 .It Fl t Ar "ufs \\*(Ba lfs \\*(Ba external type" .Fl t のあとの引数にはファイルシステムタイプを指定します。 デフォルトは、 .Ar ufs です。 .Fl t オプションによって、 .Nm コマンドの操作が、指定した特定のタイプのファイルシステムに対してのみ 行われるように指示することができます。 2つ以上のタイプを指定するにはコンマで区切ります。 ファイルシステムリスト の先頭に .Dq no という文字をつけることに よって、 .Nm コマンドの操作の対象と .Em しない ファイルシステムタイプを指定することができます。 以下に例を示します: .Bd -literal -offset indent mount -a -t nonfs,mfs .Ed .Pp は、 .Tn NFS と .Tn MFS を除いた、すべてのファイルシステムをマウントします。 .Pp type を内部で解釈できない場合、 .Nm は .Pa /sbin/mount_ Ns Em XXX というプログラムを実行しようとします。 .Em XXX の部分が type になります。たとえば nfs ファイルシステムは、 .Pa /sbin/mount_nfs というプログラムによってマウント されます。 .Pp ほとんどのファイルシステム用モジュールは カーネル中にない場合、ファイルシステム別のマウントプログラム によって動的に読み込まれます。 そこでは .Xr vfsload 3 サブルーチンが使われます。 この機構には書き込み可能な作業領域が必要なため、 .Pa /tmp があるファイルシステムタイプのモジュールはカーネルに 組み込まれている必要があります。さらに .Pa /etc/fstab において、 .Pa /tmp や .Pa /usr/bin/ld があるファイルシステムは 動的に読み込まれるファイルシステムよりも前に 記述されていなければいけません。 .It Fl u .Fl u フラグは、すでにマウントしているファイルシステム の状態の変更を指示します。 ファイルシステムを読み込み専用から読み書き可能へ、またその逆へも変更することを 含めて、すでに説明したすべてのオプション .Pf ( Fl o オプション) の内容を変更することができます。 読み書き可能なファイルシステムを読み出し専用に変更する場合、 書き込みのためにオープンしているファイルがあるときには、 .Fl f オプションを指定しなければ変更に失敗します。 どのオプションを適用するかを決定する際、最初に .Xr fstab 5 のテーブル を参照し、適用します。その次に .Fl o オプションの引数を適用し、最後に .Fl r 、 .Fl w オプションが適用されます。 .It Fl v 詳細なメッセージを表示します。 .It Fl w ファイルシステムを読み書き可能とします。 .Pp .Tn NFS ファイルシステムに対して指定できるオプションは、 .Xr mount_nfs 8 のマニュアルに記述されています。 .Sh 関連ファイル .Bl -tag -width /etc/fstab -compact .It Pa /etc/fstab ファイルシステムテーブル .El .Sh 診断 多岐に渡りますが、ほぼ全てが自明です。 .Pp .Dl XXXXX filesystem is not available .Pp カーネルはそのファイルシステムタイプをサポートしていません。 ファイルシステムのサポートは、 静的 (カーネルコンパイル時) もしくは動的 ( -.Xr modload 8 +.Xr kldload 8 によってカーネルモジュールとしてロードされる) です。 通常、 .Nm もしくはそのサブプロセスは、 ファイルシステムモジュールが静的に組み込まれていない場合は、 .Xr vfsload 3 を使用して動的にそのファイルシステムモジュールをロードしようとします。 この場合上記エラーメッセージは、 モジュールをロードするパーミッションを持たないことも意味する場合があります。 .Sh 関連項目 .Xr mount 2 , .Xr vfsload 3 , .Xr fstab 5 , +.Xr kldload 8 , .Xr mount_cd9660 8 , .Xr mount_devfs 8 , .Xr mount_fdesc 8 , .Xr mount_kernfs 8 , .Xr mount_lfs 8 , .Xr mount_mfs 8 , .Xr mount_msdos 8 , .Xr mount_nfs 8 , .Xr mount_null 8 , .Xr mount_portal 8 , .Xr mount_procfs 8 , .Xr mount_umap 8 , .Xr mount_union 8 , .Xr umount 8 .Sh バグ 異常なファイルシステムをマウントすると、 システムクラッシュを引き起こすことがあります。 .Pp ``mount -u'' を使用して、 ファイルシステムの非同期動作と通常動作を切り替えたり、 読み書きアクセスと読み込み専用アクセスを切り替えたりすると、 致命的にファイルシステムを破壊することがあります。 .Sh 警告 マウントに成功した後にマウントされたファイルシステムから .Pa ".." がアクセス可能かどうかは、 元のマウントポイントのパーミッションが決定します。 全ユーザが双方向にマウントポイントを行き来可能とするために最低限必要な パーミッションは 0111 (全員が実行可能) です。 .Sh 歴史 .Nm コマンドは .At v1 から登場しています。 diff --git a/ja_JP.eucJP/man/man8/mountd.8 b/ja_JP.eucJP/man/man8/mountd.8 index 4ac827a655..7d6df815f1 100644 --- a/ja_JP.eucJP/man/man8/mountd.8 +++ b/ja_JP.eucJP/man/man8/mountd.8 @@ -1,157 +1,157 @@ .\" Copyright (c) 1989, 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. .\" .\" @(#)mountd.8 8.4 (Berkeley) 4/28/95 -.\" %Id: mountd.8,v 1.14 1998/10/15 13:37:35 mckay Exp % +.\" %Id: mountd.8,v 1.14.2.1 1999/04/08 14:04:30 ghelmer Exp % .\" .\" jpman %Id: mountd.8,v 1.3 1997/05/19 17:06:05 horikawa Stab % .\" .Dd April 28, 1995 .Dt MOUNTD 8 .Os .Sh 名称 .Nm mountd .Nd リモートの .Tn NFS マウント要求に対するサービスを行うデーモン .Sh 書式 .Nm mountd .Op Fl 2dlnr .Op Ar exportsfile .Sh 解説 .Nm は、他のクライアントマシンからの .Tn NFS マウント要求のためのサーバです。 .Nm は、 .Tn NFS サーバの仕様で示されているポート 番号でサービス要求を待ちます。詳細は RFC1094 .%T "Network File System Protocol Specification" の Appendix A と .%T "NFS: Network File System Version 3 Protocol Specification" の Appendix I を参照してください。 .Pp .Nm では、以下のオプションや引数を指定できます: .Bl -tag -width indent このサーバからファイルシステムをマウントするクライアントに対し、 管理者はバージョン 2 .Tn NFS プロトコルのみの使用を強制できます。 .It Fl d デバッグ情報を出力します。 .It Fl l 成功した .Nm 要求を記録します。 .It Fl n 非ルートからのマウント要求を許可します。 このオプションは、 クライアントが PC であるなど、それがどうしても必要な 場合にのみ使うようにしてください。 その場合、自動的に vfs.nfs.nfs_privport sysctl フラグがクリアされます。 このフラグはカーネルが NFS 要求を受け付けるのが、 予約されたポートからのみか否かを制御します。 .It Fl r 通常ファイルに対するマウント RPC 要求を許可します。 これは、マウントプロトコルの仕様によると危険なようですが、 いくつかのディスクレスワークステーションは、スワップファイルをマウント しようとしますし、それが通常ファイルであることを期待しています。 通常ファイルは .Pa /etc/exports で指定できないので、スワップが置かれようとしているファイルシステム全体 が、 .Fl alldirs フラグとともに公開されていなければなりません。 .It Ar exportsfile exports ファイルの置き場所を指定します。 .El .Pp 起動されると、 .Nm は .Xr mount 2 システムコールによって、公開するホストアドレスとオプションを カーネル内にロードします。 公開設定ファイルを変更した場合は、 .Nm に対して回線切断シグナルを送って 公開設定情報を再ロードする必要があります。 .Dv SIGHUP を送ったあと(例: kill \-s HUP `cat /var/run/mountd.pid` )、exports ファイルにエラーがあるかどうか、 .Nm の出力をチェックしてください。 .Pp 動作中のカーネルは .Tn NFS を組み込んでいないものであると判明した場合、 .Nm は、 .Xr vfsload 3 を用いる -.Xr modload 8 +.Xr kldload 8 コマンドを使って、 .Tn NFS を含むローダブルカーネルモジュールのロードを試みます。 これが失敗するか、 -.Tn NFS LKM -が使用できない場合は、 +.Tn NFS +KLD が使用できない場合は、 .Nm はエラー終了します。 .Sh 関連ファイル .Bl -tag -width /var/run/mountd.pid -compact .It Pa /etc/exports 公開設定ファイル(エキスポートファイル) .It Pa /var/run/mountd.pid 現在実行中の .Nm のプロセス id .Tn ID .It Pa /var/db/mountdtab 現在マウントされているリモートファイルシステムのリスト .El .Sh 関連項目 .Xr nfsstat 1 , .Xr exports 5 , -.Xr modload 8 , +.Xr kldload 8 , .Xr nfsd 8 , .Xr portmap 8 , .Xr showmount 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 から登場しています。 diff --git a/ja_JP.eucJP/man/man8/mrouted.8 b/ja_JP.eucJP/man/man8/mrouted.8 index 863e229ece..f41480c150 100644 --- a/ja_JP.eucJP/man/man8/mrouted.8 +++ b/ja_JP.eucJP/man/man8/mrouted.8 @@ -1,636 +1,635 @@ .\"COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University. -.\"%Id: mrouted.8,v 1.12 1999/01/20 07:55:51 fenner Exp % +.\"%Id: mrouted.8,v 1.12.2.1 1999/03/20 04:29:56 billf Exp % .\" jpman %Id: mrouted.8,v 1.3 1997/07/26 22:00:11 horikawa Stab % .Dd May 8, 1995 .Dt MROUTED 8 .Sh 名称 .Nm mrouted .Nd IP マルチキャストルーティングデーモン .Sh 書式 .Nm mrouted .Op Fl c Ar config_file .Op Fl d Op Ar debug_level .Op Fl p .Sh 解説 .Nm は、Distance-Vector Multicast Routing Protocol (DVMRP) の実装です。 DVMRP の以前のバージョンは RFC1075 で規定されています。 本コマンドは distance-vector routing protocol (RIP に似たプロトコルであり、RFC1058 に記述されています) を使うことで、ネットワークトポロジに関する情報を管理し、 そのプロトコルの上で、Reverse Path Multicasting と呼ばれる マルチキャストデータグラムフォワーディングアルゴリズムを実装しています。 .Pp .Nm は、マルチキャストデータグラムを、データグラムが生成されたサブネットを幹と して樹状に構成されるパス上に、パスの最短距離を通過するようにして送出します。 マルチキャストツリーは目的のグループを含むサブネットを越えないブロード キャストツリーと考えることができます。 したがって、データグラムはマルチキャストの受け手がいない枝には送出され ません。 さらに、マルチキャストデータグラムパケットの生存時間によっては、到達で きる範囲が限定される場合もあります。 .Pp IP マルチキャストをサポートしない (ユニキャスト) ルータを介したサブネット間で、 マルチキャストを実現するために、 .Nm の実装にはトンネリングのサポートも含まれます。トンネリングとは、 インターネットのあらゆるところにて稼働している マルチキャストルータ の組の間で仮想的なポイントツーポイントリンクを確立する技術です。 IP マルチキャストパケットは、トンネルを通過するところでカプセル化されます。 間にあるルータ及びサブネットにとっては、 カプセル化されたパケットは、 通常のユニキャストデータグラムに見えます。 トンネルの入口でカプセル化が行われ、トンネルの出口でカプセルが取り外されます。 パケットは、IP-in-IP プロトコル (IP プロトコル番号 4) を用いることでカプセル化を 行ないます。 古いバージョンの .Nm のトンネリングは、 IP ソースルーティングを用いたものですが、 これはルータによっては大きな負荷をかけることになります。 本バージョンでは、IP ソースルーティングを用いたトンネリングは サポートしません。 .Pp トンネリング機構の実装により、 .Nm は、 実際のインターネットとは独立の、 マルチキャストパケットのみを扱う広範囲の自立システムに跨る 仮想インターネットを構築できます。 この機能は、 普通の (ユニキャスト) ルータによるマルチキャストルーティングの 広範囲なサポートがなされるまで、 インターネットマルチキャスティングのみを実験的に サポートするように意図したものです。 .Nm は distance vector ルーティングプロトコルが持つ よく知られたスケーリングの問題の影響を被りますし、 階層的なマルチキャストルーティングを (まだ) サポートしていません。 .Pp .Nm はマルチキャストルーティングのみを扱いますので、同じ機械の上でユニキャ ストルーティングソフトが走っていてもいなくても構いません。 トンネリングを利用すれば、 .Nm はマルチキャストフォワーディングのためにひとつより多くの 物理的なサブネットにアクセスする必要がありません。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl c Ar config_file 別の設定コマンドファイルを指定します。 デフォルトは .Pa /etc/mrouted.conf です。 .It Fl d Op Ar debug_level .Fl d オプションが与えられないか、もしくは debug level として 0 が指定された 場合、 .Nm は起動された端末から切り離されます。それ以外の場合は、 .Nm は、起動された端末に残り、起動された端末からのシグナルを受け付けます。 debug level の指定の有無にかかわらず、 .Nm は常に警告メッセージやエラーメッセージを syslogd に対して送ります。 .Fl debug-level 引数は、次に示すものをコンマで区切ったリストです: .Bl -tag -width indent .It "packet" 送受信したすべてのパケットに関し、タイプ・ソース・宛先を表示します。 .It "pruning" 送受信した枝苅りに関し、更なる情報を表示します。 .It "routing" 送受信した経路更新パケットに関し、更なる情報を表示します。 .It "route_detail" 経路更新に関し、過度に詳細な程表示します。 大概の場合、情報が多すぎるでしょう。 .It "neighbors" 隣接ルータ発見に関し、情報を表示します。 .It "cache" カーネルのフォワーディングキャッシュに関し、挿入・削除・更新を表示します。 .It "timeout" タイムアウトと定期処理をデバッグします。 .It "interface" インタフェースとその設定に関し、情報を表示します。 .It "membership" 物理インタフェースにおけるグループメンバシップに関し、情報を表示します。 .It "traceroute" このルータを通過するマルチキャスト経路追跡要求に関し、情報を表示します。 .It "igmp" グループメンバシップおよび問い合わせ者選出を含む IGMP 操作を表示します。 .\" Display IGMP operation including group membership and querier election. .\" including 以降はこれで良いのか? .It "icmp" ICMP 操作を監視します。 .It "rsrr" RSRR 操作を監視します。 .El .Pp 起動にともない、 .Nm はそのプロセス ID を .Pa /var/run/mrouted.pid ファイルに 書き出します。 .Sh 初期設定 .Nm は、自動的にすべてのマルチキャスト可能なインタフェース、 つまり、IFF_MULTICAST フラグがセットされたインタフェース (ループバックインタフェースは除きます) に対して初期化を行い、別の DVMRP ルータ に直接接続可能なインタフェースを探索します。 デフォルトの設定を上書きする、あるいは別の マルチキャストルータ に対するトンネルリンクを付加するには、 .Pa /etc/mrouted.conf (もしくは .Fl c オプションによって指定されるファイル) を編集します。 .Pp ファイルの形式は自由です。すなわち、空白文字 (改行も含みます) は意味を 持ちません。 -.\" send-pr すること (.IR mrouted 's -> .Nm mrouted Ns 's) .Nm mrouted の操作全体またはデフォルト設定に適用されるコマンドから、ファイルは開始します。 .Bl -tag -width indent .It cache_lifetime Ar secs カーネル内の マルチキャストフォワーディングキャッシュ経路エントリの生存時間を、 秒で指定します。 カーネル内のマルチキャストフォワーディングキャッシュのエントリは、 .Ar secs 秒毎にチェックされ、ソースがアクティブな場合にはリフレッシュされ、 そうでない場合は削除されます。 この値を設定するときには注意してください。 小さな値を設定するとカーネルキャッシュは小さくなりますが、 定期的な送信者がいると キャッシュの「スラッシング」が起るという弊害がありますし、 大きな値を設定すると許容できない程カーネルキャッシュが大きくなります。 デフォルトは 300 (5 分) です。 .It prune_lifetime Ar secs 親に送った枝苅りの平均生存時間を、秒で指定します。 実際の生存時間は [.5\fIsecs\fP,1.5\fIsecs\fP] の範囲でランダムとなります。 デフォルトは 7200 (2 時間) です。 小さな値を設定するとこのルータおよび親ルータが保存する状態は少なくなりますが、 ブロードキャストの頻度が高くなるという弊害があります。 隣接ルータのリブート判定に DVMRP の世代 ID を使用しないルータがあります (例えば 3.3 以前の mrouted と、cisco の IOS の現在知られている全バージョン)。 リブートからの回復時間を短縮するために、 これらの隣接ルータに送信した枝苅りを保持する時間は短くすべきです。 このような状況で使用する場合、後述するように prune_lifetime キーワードをインタフェースに指定すると良いでしょう。 .It noflood .Nm は DVMRP 最適化を使用し、 各隣接ルータに対して個々にルーティングテーブルを持つことを避けます。 接続されている個々のサブネットに対し、 自己がフォワーダであると開始時に仮定することも、この最適化の一部です。 ちょうど今開始したルータと正しいフォワーダの両方が トラフィックをフォワードすることにより、 短期間 (およそ経路報告間隔 1 回分) 重複が生じることがあります。 この動作は noflood キーワードを指定することにより停止できます。 .Nm が自己をフォワーダであると仮定しなくなるためです。 noflood を指定すると、再開時におよそ経路報告間隔 1 回分、 ブラックホールを生じさせることがあります。 noflood キーワードは個々のインタフェースに指定可能です。 .It rexmit_prunes Ar [on|off] デフォルトでは、 .Nm は枝苅りを全ポイントツーポイントインタフェース (トンネル含む) に対して 再フォワードしますが、マルチアクセスインタフェースに対しては行いません。 本オプションを使用すると、全インタフェースに対してデフォルトをオン (またはオフ) にします。 rexmit_prunes キーワードもまた個々のインタフェースに指定可能です。 .It name Ar "boundary-name scoped-addr/mask-len" .Ar boundary-name を .Ar scoped-addr/mask-len で記述される境界に関連付け、設定ファイルにおいて、 インタフェース設定を読み易くし、繰り返しを減らします。 .El .Pp 設定ファイルの第 2 の部分は、空でも構いませんが、 物理インタフェースに適用されるオプションを記述します。 .Bl -tag -width indent .It phyint Ar "local-addr|ifname" phyint コマンド自身は何もしません。 単なる埋め草であり、この後にインタフェース固有のコマンドが続きます。 インタフェースのアドレスまたは名前を指定します。 .It disable 本インタフェースにおけるマルチキャストのフォワーディングを無効にします。 デフォルトでは、 .Nm はローカルに接続されたマルチキャスト可能なインタフェースをすべて発見し、 それらすべてに対してフォワードします。 .It netmask Ar netmask カーネルの netmask がサブネットを正確に反映していない場合 (例えば IP サブネット化の代りに代理 ARP 使用の場合)、 netmask コマンドを使用して実際の netmask を記述してください。 .It altnet Ar network/mask-len phyint が複数の IP からなるサブネットに接続されている場合、 altnet キーワードを使用してそれぞれのサブネットについて記述して下さい。 本コマンドを複数回使用して、複数のサブネットを記述可能です。 .It igmpv1 phyint 上に IGMPv1 ルータが存在する場合、 \fBigmpv1\fP キーワードを使用して .Nm を強制的に IGMPv1 モードにしてください。 phyint 上の全ルータは、同じバージョンの IGMP を使用する必要があります。 .It force_leaf このインタフェース上の他のルータを無視するように、 .Nm に強制します。 mrouted は、本インタフェース上では、 隣接ルータへプローブや経路報告を送りませんし、受け付けません。 .El .Pp 更に、後述する共通の vif コマンドを phyint に対してすべて使用可能です。 .Pp 設定ファイルの第 3 の部分は、これも空でも構いませんが、 このルータが持つ DVMRP トンネルの設定を記述します。 .Bl -tag -width indent .It tunnel Ar "local-addr|ifname" Ar "remote-addr|remote-hostname" このコマンドは、このホスト ( .Ar local-addr または .Ar ifname で記述されるインタフェース) とリモートホスト ( .Ar remote-addr または .Ar remote-hostname で識別されます) との間の DVMRP トンネルを確立します。 リモートのホスト名は、単一の IP アドレスにマップされる場合のみ使用可能です。 トンネルは、使用前に、両方のルータ上で構成されている必要があります。 リモートアドレスへのユニキャスト経路が、 .Ar "local-addr|ifname" で指定されるインタフェースから出て行くように気を付けてください。 .Nm が扱うパケットのソースアドレスを、 送出インタフェースのアドレスに 書き換えてしまう UNIX カーネルがあります。 安全第一のためには、静的なホスト単位の経路を使用してください。 .El .Pp 次の共通の vif コマンドを tunnel や phyint に対してすべて使用可能です。 .Bl -tag -width indent .It metric Ar m metric は、 指定したインタフェースもしくはトンネルでデータグラムを受信するための 「コスト」であり、経路選択に影響を与えるために使用します。 metric のデフォルト値は 1 です。metric は可能なかぎり小さくすべきです。 なぜなら、 DVMRP は metric の合計が 31 を越える経路を通ることができないからです。 .It advert_metric Ar m advert_metric は、 指定したインタフェースもしくはトンネルでデータグラムを送信するための 「コスト」であり、経路選択に影響を与えるために使用します。 advert_metric のデフォルト値は 0 です。 リンクの実際の metric は一端の metric ともう一端の advert_metric との和です。 .It threshold Ar t threshold は最小の IP の生存時間であり、 この要件を満たすマルチキャストデータグラムは 指定したインタフェースもしくはトンネルにフォワードされます。 このパラメータは、 マルチキャストデータグラムの到達範囲を定めるために使用します。 (フォワードされたパケットの TTL は threshold と比較されるだけで、 threshold だけ TTL を減らすというわけではありません。 すべてのマルチキャストルータは TTL を丁度 1 づつ減らします。) threshold のデフォルト値は 1 です。 特定のサブネットやトンネルへ接続される 全マルチキャストルータは、そのサブネットやトンネルに対し、 一般的にはすべて同じ metric と threshold を持つべきです。 .It rate_limit Ar r rate_limit オプションによって、 マルチキャストトラフィック用に何キロビット毎秒のバンド幅を割り当てるかを、 ネットワーク管理者は指定可能です。 デフォルト値は、0 (無制限) です。 .It boundary Ar "boundary-name|scoped-addr/mask-len" boundary オプションは、ある範囲のアドレスに対する管理上の境界として、 インタフェースを設定します。 この範囲のアドレスに属するパケットは範囲内のインタフェース にはフォワードされません。boundary オプションは名前もしくは境界にて指定します。 単一のインタフェースに対して本コマンドを複数回使用して、 複数の境界を記述可能です。 .It passive もう一端から何かが聞こえるまで、 このリンクまたはトンネルに対してパケットを送出しません。 要求時にダイヤルするリンク上のトンネルにおける「サーバ」側で 使用すると良いです。 「サーバ」側を passive とすることで、 もう一方から何かが聞こえるまで定期的なプローブをサーバは送りませんので、 リンクをアップ状態に保つということはありません。 トンネルの両端でこのオプションを指定すると、 トンネルはいつになっても使えないでしょう。 .It noflood 前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 .It prune_lifetime Ar secs 前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 .It rexmit_prunes Ar "[on|off]" 前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 枝苅りの再送信のデフォルトは、 ポイントツーポイントリンクとトンネルではオンであり、 マルチアクセスリンクではオフです。 .It allow_nonpruners デフォルトでは、枝苅りをサポートしないと主張する DVMRP 隣接ルータとは .Nm は仲間にはなりません。 本オプションを使用すると、本インタフェースにおいて、 このようなルータとも仲間となります。 .It notransit 経路フィルタリングの特殊ケースです。 \&"notransit" とマークされたインタフェースから学習された経路は、他の \&"notransit" とマークされたインタフェースにおいて広告されません。 単一のインタフェースのみを "notransit" とマークしても、意味はありません。 .It accept|deny Ar "(route/mask-len [exact])+" Op bidir .Li accept および .Li deny のコマンドにより、原始的な経路フィルタリングが可能となります。 .Li accept コマンドにより、設定されたインタフェースに関してリストされた経路のみ、 .Nm は受け付けます。 .Li deny コマンドにより、リストされた経路以外のすべての経路を、 .Nm は受け付けます。 ひとつのインタフェースには、 .Li accept または .Li deny のどちらかのみ使用可能です。 .Li accept と .Li deny のキーワードの後には、経路のリストが続きます。 経路の後にキーワード .Ar exact が続くと、その経路のみがマッチします。 指定しない場合には、その経路とより具体的な経路がマッチします。 例えば、 .Li deny 0/0 はすべての経路を拒否しますが、 .Li deny 0/0 exact はデフォルト経路のみ拒否します。 デフォルト経路は .Li default キーワードで指定することも可能です。 .Ar bidir キーワードは双方向の経路フィルタリングを可能にします。 フィルタは、出力および入力の両方の経路に適用されます。 .Ar bidir キーワードを指定しないと、 .Li accept および .Li deny のフィルタは、入力に対してのみ適用されます。 Poison reverse 経路は、フィルタにより取り除かれることはありません。 .El .Pp .Nm は 2 つ以上の有効な vif (仮想インタフェース) が無いときには実行を開始しません。 vif はマルチキャスト可能な物理インタフェースもしくはトンネルです。 すべての仮想インタフェースがトンネルの場合は警告が記録されます。 そのような .Nm の設定は、より多くの直接トンネルを指定した方が良いかもしれません (中間管理者を削除するという意味です)。 .Sh 設定例 次に示すのは大きな学校にある架空のマルチキャストルータでの例です。 .sp .nf # # mrouted.conf の例 # # 簡単に記述するため、境界に名前を付けます。 name LOCAL 239.255.0.0/16 name EE 239.254.0.0/16 # # le1 は compsci に対する我々のゲートウェイであり、 # ローカルグループはそちらにフォーワードしません。 phyint le1 boundary EE # # le2 は classroom ネット上の我々のインタフェースであり、 # 4 つの異なった長さのサブネットがあります。 # IP アドレスでもインタフェース名でも使えることに注意。 phyint 172.16.12.38 boundary EE altnet 172.16.15.0/26 altnet 172.16.15.128/26 altnet 172.16.48.0/24 # # atm0 は我々の ATM インタフェースであり、 # マルチキャストを正しくサポートしません。 phyint atm0 disable # # これは、別の EE サブネットに対する内部トンネルです。 # トンネルはイーサネット上にあるので、 # トンネルのデフォルトのレート制限を取り除きます。 tunnel 192.168.5.4 192.168.55.101 metric 1 threshold 1 rate_limit 0 # # これは外世界に対する我々のトンネルです。 # これらの境界には注意してくださいね、Eugene (訳注: ユージーン; 人名)。 tunnel 192.168.5.4 10.11.12.13 metric 1 threshold 32 boundary LOCAL boundary EE .fi .Sh シグナル .Nm は次のシグナルに反応します。 .Bl -tag -width indent .It HUP .Nm を再スタートします。 設定ファイルは再度読み込まれます。 .It INT 後かたづけをしてから実行終了します (たとえば、隣接するルータすべてにさよならのメッセージを送ります)。 .It TERM INT と同じです。 .It USR1 内部ルーティングテーブルを .Pa /var/tmp/mrouted.dump にダンプします。 .It USR2 内部キャッシュテーブルを .Pa /var/tmp/mrouted.cache にダンプします。 .It QUIT 内部ルーティングテーブルを stderr にダンプします。 ただし、 .Nm が 0 以外の debug level の時のみです。 .El .Pp シグナルを送る際の便宜のために、 .Nm は開始時に自身のプロセス ID を .Pa /var/run/mrouted.pid に書き出します。 .Sh 使用例 ルーティングテーブルは次のようになります: .nf .ft C Virtual Interface Table Vif Local-Address Metric Thresh Flags 0 36.2.0.8 subnet: 36.2/16 1 1 querier groups: 224.0.2.1 224.0.0.4 pkts in: 3456 pkts out: 2322323 1 36.11.0.1 subnet: 36.11/16 1 1 querier groups: 224.0.2.1 224.0.1.0 224.0.0.4 pkts in: 345 pkts out: 3456 2 36.2.0.8 tunnel: 36.8.0.77 3 1 peers: 36.8.0.77 (3.255) boundaries: 239.0.1/24 : 239.1.2/24 pkts in: 34545433 pkts out: 234342 3 36.2.0.8 tunnel: 36.6.8.23 3 16 Multicast Routing Table (1136 entries) Origin-Subnet From-Gateway Metric Tmr In-Vif Out-Vifs 36.2 1 45 0 1* 2 3* 36.8 36.8.0.77 4 15 2 0* 1* 3* 36.11 1 20 1 0* 2 3* . . . .fi .Pp この例では、4 つの vif が 2 つのサブネットと 2 つのトンネルにつながっています。 vif 3 がつながったトンネルは使われていません (peer アドレスが有りません)。 vif 0 と vif 1 がつながったサブネットには いくつかのグループが有ります。 トンネルにはグループは有りません。 この例の .Nm は、 \&"querier" フラグが示すように、 定期的なグループメンバシップの問い合わせを vif 0 および vif 1 サブネットにて 送出する責任が有ります。 境界のリストは当該インタフェースのアドレス範囲が示されます。 入力及び出力パケット数が各インタフェースに対して示されます。 .Pp マルチキャストデータグラムの起源となりうるサブネットに関連して 表示される情報は、 直前のホップのルータのアドレス(サブネットが直接接続されていない場合)、 起源までのパスの metric、 当該サブネットから最後に更新を受信してから経過した時間、 当該起源からのマルチキャストが入力される vif、 出力 vif 一覧です。 \&"*" は、 起源を根とするブロードキャストツリーの葉に、 当該出力 vif が接続していることを意味します。 宛先グループのメンバが当該葉にいる時のみ、 当該起源からのマルチキャストデータグラムを当該出力 vif からフォワードします。 .Pp .Nm はカーネル内のフォワーディングキャッシュテーブルも管理します。 エントリの生成及び削除は .Nm が行います。 .Pp キャッシュテーブルは次のようなものです: .nf .ft C Multicast Routing Cache Table (147 entries) Origin Mcast-group CTmr Age Ptmr IVif Forwvifs 13.2.116/22 224.2.127.255 3m 2m - 0 1 >13.2.116.19 >13.2.116.196 138.96.48/21 224.2.127.255 5m 2m - 0 1 >138.96.48.108 128.9.160/20 224.2.127.255 3m 2m - 0 1 >128.9.160.45 198.106.194/24 224.2.135.190 9m 28s 9m 0P >198.106.194.22 .fi .Pp 各エントリは起源のサブネット番号、マスク、宛先マルチキャストグループにて 区別します。 .Pp \&'CTmr' フィールドは当該エントリの生存時間を表します。 このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます (エントリはトラフィックが流れるとリフレッシュされます)。 \&'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。 キャッシュエントリはリフレッシュされるため、 当該エントリに関するトラフィックが続く限りルーティングエントリは生き残ります。 .Pp \&'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、 そうでないばあいには上流の枝刈がタイムアウトするまでの時間を表します。 .Pp \&'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif を表します。 各ルータは特定のソース及びグループに関し、 隣接するルータより受信する枝刈数の記録も管理します。 あるサブネットに関してマルチキャストツリーの下流の枝において マルチキャストグループのメンバが存在しない場合、 上流のルータに対して枝刈メッセージが送信されます。 この場合、vif 番号の後に \&"P" が付けられます。 .Pp \&'Forwvifs' フィールドは ソースグループに属するデータグラムがフォワードされる インタフェースを表します。 \&"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない ことを表します。 リストされないインタフェースは葉のサブネットであり、 特定のグループのメンバを当該サブネットに持ちません。 インタフェースにおける "b" の表示は、 当該インタフェースが境界インタフェースであることを表します。 すなわち、範囲内のアドレスのトラフィックは 当該インタフェースを介してフォワードされないことを意味します。 .Pp \&">" を最初の文字として表示する追加の行は、 当該サブネット上のソースを表します。 1 つのサブネット上に複数のソースが存在可能であることに注意して下さい。 \&"<" を最初の文字として表示する追加の行は、 このサブネットもしくはグループに関して、 下流の隣接ルータから受信した枝苅りを表示します。 .Sh 関連ファイル .Bl -tag -width /var/tmp/mrouted.cache -compact .It Pa /etc/mrouted.conf .It Pa /var/run/mrouted.pid .It Pa /var/tmp/mrouted.dump .It Pa /var/tmp/mrouted.cache .El .Sh 関連項目 .Xr map-mbone 8 , .Xr mrinfo 8 , .Xr mtrace 8 .Pp DVMRP は、 他のマルチキャスト経路制御アルゴリズムと共に、 ACM SIGCOMM '88 コンファレンスのプロシーディングに、 S. Deering が \&"Multicast Routing in Internetworks and Extended LANs" として記述しています。 .Sh 作者 .An Steve Deering , .An Ajit Thyagarajan , .An Bill Fenner diff --git a/ja_JP.eucJP/man/man8/natd.8 b/ja_JP.eucJP/man/man8/natd.8 index 14a907cd66..56380528a6 100644 --- a/ja_JP.eucJP/man/man8/natd.8 +++ b/ja_JP.eucJP/man/man8/natd.8 @@ -1,433 +1,462 @@ .\" manual page [] for natd 1.4 -.\" %Id: natd.8,v 1.15 1998/07/15 03:32:45 jkoshy Exp $% +.\" %Id: natd.8,v 1.16.2.1 1999/03/24 17:12:59 brian Exp % .\" jpman %Id% .Dd 15 April 1997 .Os FreeBSD .Dt NATD 8 .Sh 名称 .Nm natd .Nd ネットワークアドレス変換デーモン .Sh 書式 .Nm .Op Fl ldsmvu -.Op Fl permanent_link .Op Fl dynamic .Op Fl i Ar inport .Op Fl o Ar outport .Op Fl p Ar port .Op Fl a Ar address .Op Fl n Ar interface .Op Fl f Ar configfile .Nm .Op Fl log .Op Fl deny_incoming +.Op Fl log_denied .Op Fl use_sockets .Op Fl same_ports .Op Fl verbose +.Op Fl log_facility Ar facility_name .Op Fl unregistered_only -.Op Fl permanent_link .Op Fl dynamic .Op Fl inport Ar inport .Op Fl outport Ar outport .Op Fl port Ar port .Op Fl alias_address Ar address .Op Fl interface Ar interface .Op Fl config Ar configfile .Op Fl redirect_port Ar linkspec .Op Fl redirect_address Ar localIP publicIP +.Op Fl reverse +.Op Fl proxy_only +.Op Fl proxy_rule Ar proxyspec +.Op Fl pptpalias Ar localIP .Sh 解説 このプログラムは、FreeBSD における .Xr divert 4 ソケットと共に用いることによって、ネットワークアドレスの変換を 行います。 コマンドラインオプションのほとんどは、1 文字の短縮形か、長い表記が 利用できます。 見る人がはっきりと理解しやすいように、長い表記を使うことが 推奨されています。 .Pp .Nm natd は通常、デーモンとしてバックグラウンドで実行します。 .Nm はマシンに入ってくるパケット、またはマシンから出て行くパケットを -生(raw)のまま扱い、場合により IP パケットストリームに +生 (raw) のまま扱い、場合により IP パケットストリームに 再び送り出す前に手を加えます。 .Pp .Nm natd は他のホストへ向かうすべてのパケットについて、発信元 IP アドレスを 現在のマシンのものにする、という変換を行います。 このように変換された各パケットについて、変換内容を記録するために 内部テーブルエントリが作成されます。 発信元ポート番号も、パケットに適用したテーブルエントリを示すように 変更されます。 現在のホストの、対象となる IP アドレスを使ったパケットが受信されると、 この内部テーブルがチェックされます。 エントリが見つかると、パケットに正しい対象 IP アドレスとポート番号を 入れるのに利用されます。 .Pp 以下のコマンドラインオプションが利用できます。 .Bl -tag -width Fl .It Fl log | l 様々な alias の統計や情報をファイル .Pa /var/log/alias.log に記録します。このファイルは natd が起動されるたびに切りつめられます。 .It Fl deny_incoming | d 現在の IP アドレスへ向かうパケットのうち、内部変換テーブルに エントリの無いものを拒否します。 +.It Fl log_denied +拒否した入力パケットを syslog を介してログします +(log_facility を参照してください)。 + +.It Fl log_facility Ar facility_name +syslog を介して情報をログするときに、指定したログファシリティを使用します。 +ファシリティ名は +.Xr syslog.conf 5 +にある通りです。 + .It Fl use_sockets | s FTP data コネクションや IRC DCC send コネクションを確立するのに .Xr socket 2 を割り当てます。このオプションはよりシステムリソースを消費しますが、 ポート番号が衝突する場合でもコネクションが成功することを保証します。 .It Fl same_ports | m 出て行くパケットを変換する時に、できるだけポート番号を同じまま 保つようにします。このオプションにより、RPC のようなプロトコルが うまく働く可能性があがります。ポート番号を維持することができない時には、 暗黙のうちに通常と同じ方法で変換されます。 .It Fl verbose | v 起動時に .Xr fork 2 や .Xr daemon 3 を呼び出しません。よって、制御端末から切り離されずに、標準出力に すべてのパケット変換を表示します。このオプションはデバッグの目的に のみ用いるべきです。 .It Fl unregistered_only | u 登録されていない発信元アドレスを伴う出て行くパケットのみを変換します。 rfc 1918 によれば、登録されていない発信元アドレスは 10.0.0.0/8 と 172.16.0.0/12 と 192.168.0.0/16 となっています。 -.It Fl redirect_port Ar linkspec +.It Fl redirect_port Ar proto targetIP:targetPORT [aliasIP:]aliasPORT [remoteIP[:remotePORT]] 指定されたポートに入ってくるコネクションを別のホストとポートに -リダイレクトします。linkspec の書式は - - proto targetIP:targetPORT [aliasIP:]aliasPORT [remoteIP[:remotePORT]] - -のようになります。proto は tcp もしくは udp 、 targetIP は希望する -( リダイレクト先 ) 対象 IP アドレス、targetPORT は希望する対象ポート番号、 -aliasPORT は ( クライアントが ) 要求するポート番号、aliasIP は alias を -行うアドレスです。 +リダイレクトします。 +proto は tcp または udp、 +targetPORT は希望する対象ポート番号、 +aliasPORT は (クライアントが) 要求するポート番号、 +aliasIP は alias を行うアドレスです。 remoteIP と remotePORT は、必要な場合により正確なコネクションを 指定するのに利用できます。 例えば、 .Ar tcp inside1:telnet 6666 という引数は、このマシンのポート 6666 に向けられた tcp パケットが マシン inside1 の telnet ポートに送られることを示しています。 .It Fl redirect_address Ar localIP publicIP 公式な IP アドレスへのパケットの流れを、ローカルネットワーク内の マシンにリダイレクトします。この機能は "静的 NAT (static NAT)" と 呼ばれています。 静的 NAT はあなたの ISP が IP アドレスの小さなブロックをあなたに 割り当てた時に、単一のアドレスとして用いるのにも利用できます: redirect_address 10.0.0.8 0.0.0.0 上記のコマンドは入ってくすべてのパケットをマシン 10.0.0.8 に リダイレクトします。 下記のように、いくつかのアドレス alias が同一の公式アドレスを 示すように指定すると、 redirect_address 192.168.0.2 public_addr redirect_address 192.168.0.3 public_addr redirect_address 192.168.0.4 public_addr 入ってくるパケットの流れは最後に変換されたローカルアドレス (192.168.0.4) に向けられますが、最初の二つのアドレスの出て行く パケットの流れは指定された公式アドレスへの alias のままになります。 -.It Fl permanent_link Ar linkspec -内部 alias テーブルに恒久的なエントリを作成します。linkspec の書式は - - proto targetIP:targetPORT sourceIP:sourcePORT aliasPORT - -のようになります。proto は tcp もしくは udp 、 targetIP は希望する -( リダイレクト先 ) 対象 IP アドレス、 targetPORT は希望する対象 -ポート番号、 sourceIP と sourcePORT は入ってくるパケットにマッチする -もの、aliasPORT は ( クライアントが ) 要求するポート番号、となります。 -値 0 はワイルドカードとして扱われます。例えば、 - -.Ar tcp inside1:telnet outside1:0 6666 - -はマシン outside1 ( の任意のポート ) からこのマシンのポート 6666 に -向けられた tcp パケットが、マシン inside1 の telnet ポートに送られる -ことを示します。 - -新規に導入する場合は、代わりに redirect_port を使うようにしてください。 - .It Fl dynamic .Fl n オプションや .Fl interface オプションが用いられると、 .Nm は 指定された .Ar interface へルーティングする変換ソケットを監視します。 .\" (訳注) kuriyama@opt.phys.waseda.ac.jp (Nov 29 1997) .\" 上の訳はどうも意味が通らない。原文は以下の通り。誰か直して。 .\" .Nm .\" will monitor the routing socket for alterations to the .\" .Ar interface .\" passed. .\" (訳注2) kuriyama@opt.phys.waseda.ac.jp (Jan 4 1998) .\" ちょっと直してみたけどまだ不満。 インタフェースの IP アドレスが変化すると、 .Nm は alias アドレスを動的に変更します。 .It Fl i | inport Ar inport すべてのパケットをマシンに入ってくるものとして扱い、 .Ar inport から読み込み、 .Ar inport へ書き出します。 .It Fl o | outport Ar outport すべてのパケットをマシンから出て行くものとして扱い、 .Ar outport から読み込み、 .Ar outport へ書き出します。 .It Fl p | port Ar port .Xr divert 4 によって指定されたルールを用いてパケットを識別し、入ってくるパケットを .Ar port から読み、出て行くパケットを .Ar port へ書き出します。 .Ar port が数字でない場合、関数 .Xr getservbyname 3 を用いて .Pa /etc/services データベースが検索されます。 このフラグが指定されない時には、デフォルトとして natd という名前の divert ポートが用いられます。 .Pa /etc/services データベースのエントリの例としては以下のようになります: natd 8668/divert # Network Address Translation socket より詳しい説明は、 .Xr services 5 を参照してください。 .It Fl a | alias_address Ar address alias アドレスとして .Ar address を用います。このオプションが指定されない場合は、 .Fl n オプションか .Fl interface オプションが指定されなければなりません。 指定されたアドレスは、 公開されたネットワークインタフェースに割当てられたアドレスである 必要があります。 .Pp このアドレスのインタフェースを通って出る全データのソースアドレスは .Ar address に書換えられます。 外部からこのインタフェースに到着する全データは、 既に alias された外向け接続にマッチするかどうかチェックされます。 マッチする場合、パケットはそれぞれ変換されます。 マッチしない場合、 .Fl redirect_port と .Fl redirect_address の割り当てをチェックしそれぞれの動作を行います。 他の動作が行えない場合かつ .Fl deny_incoming が指定されていない場合、 パケットに指定された通りに パケットはローカルのマシンのポートに配送されます。 .It Fl n | interface Ar interface alias アドレスを決めるのに、 .Ar interface を用います。 .Ar interface に関連づけられた IP アドレスが変化する可能性がある場合には、 .Fl dynamic フラグも指定されるべきです。 .Pp 指定された .Ar interface は公開されたネットワークインタフェースである必要があります。 .It Fl f | config Ar configfile .Ar configfile から設定を読み込みます。 .Ar configfile はオプションのリストを含み、上記のコマンドラインフラグの長い表記と 同じ物が 1 行ずつ入ります。例えば、 alias_address 158.152.17.1 という行は alias アドレスに 158.152.17.1 を指定します。 設定ファイル内では、引数を持たないオプションは .Ar yes か .Ar no を伴って指定されます。例えば、 log yes は .Fl log と同じ意味になります。空行と '#' で始まる行は無視されます。 +.It Fl reverse +natd の逆操作です。 +出力トラフィックがローカルマシンにリダイレクトされ、 +natd が入力インタフェースで走行している (通常は出力インタフェースで走行します) +といった、透過プロキシを実行している状況で有用な場合があります。 + +.It Fl proxy_only +natd が透過プロキシのみを実行するよう強制します。 +通常のアドレス変換は実行されません。 + +.It Fl proxy_rule Ar [type encode_ip_hdr|encode_tcp_stream] port xxxx server a.b.c.d:yyyy +透過プロキシを有効にします。 +指定したポートのパケットでこのホストから他のホストへ向かうものは、 +指定したサーバのポートへリダイレクトされます。 +オプションとして、元の宛先アドレスがパケットにエンコードされます。 +.Dq encode_ip_hdr +は、この情報を IP オプションフィールドに置きます。 +.Dq encode_tcp_stream +は、このデータを TCP ストリームの先頭に挿入します。 + +.It Fl pptpalias Ar localIP +PPTP パケットが指定した localIP アドレスに行くことを許可します。 +PPTP は、VPN または安全な IP トンネル技術であり、 +最初に Microsoft が開発しました。 +暗号化したトラフィック用に、 +GRE (47) と呼ばれる古い IP カプセル化プロトコルを使用します。 +この natd オプションは、 +このプロトコルのすべてのトラフィックを単一の指定した IP アドレスに変換します。 +これにより、 +単一のクライアントまたは単一のサーバに対するサービスを natd が許可します。 +サーバを設定する場合、 +PPTP 設定の TCP トラフィックを許すことを忘れないでください。 +ファイアウォールリストが有効ならば、 +クライアントまたはサーバのために GRE (protocol 47) を許可する必要があります。 + .El .Sh NATD の実行 .Nm natd を走らせようとする前には以下の手順が必要となります: .Bl -enum .It バージョン 2.2 かそれ以上の FreeBSD を手に入れる。これより前の バージョンは .Xr divert 4 ソケットをサポートしていません。 .It 自分のカーネルを以下のオプションを付けて構築します: options IPFIREWALL options IPDIVERT 自分のカーネルを構築する方法については、ハンドブックに詳しい説明が あるのでそちらを参照してください。 .It あなたのマシンがゲートウェイとして働くようにします。これは .Pa /etc/rc.conf に gateway_enable=YES と指定するか、 sysctl -w net.inet.ip.forwarding=1 というコマンドを用いることで機能するようになります。 .It .Fl n フラグや .Fl interface フラグを使いたい場合は、そのインタフェースがすでに設定済みとなるように します。例えば、 .Ar interface として tun0 を指定しようとし、そのインタフェースで .Xr ppp 8 を使っている場合には、 .Nm natd を起動する前に .Nm ppp を起動するようにしなければなりません。 .It .Pa /etc/services にエントリ: natd 8668/divert # Network Address Translation socket を作成します。これは .Fl p フラグや .Fl port フラグのデフォルトの値となります。 .El .Pp .Nm の実行は至って簡単です。 natd -interface ed0 -という行でほとんどの場合充分です(正しいインタフェース名に置き換えて +という行でほとんどの場合充分です (正しいインタフェース名に置き換えて ください)。 .Nm が起動されたら、パケットの流れの方向が natd の方に変わる (divert される) ようにしなければなりません: .Bl -enum .It .Pa /etc/rc.firewall スクリプトをうまく調整する必要があります。防火壁 (firewall) に 興味が無ければ、以下のようにすれば良いでしょう: /sbin/ipfw -f flush /sbin/ipfw add divert natd all from any to any via ed0 /sbin/ipfw add pass all from any to any 2 番目の行はあなたのインタフェースに依ります (ed0 を適切に 変更してください)。 また、前項のように .Pa /etc/services に natd のエントリが入るように更新されていると仮定します。 本物の防火壁ルールを指定する場合、スクリプトの先頭で上記の 2 行目を 指定すると良いでしょう。 そうすることによって、防火壁により排除されてしまう前に、 .Nm がすべてのパケットを見ることができるようになります。 すべての divert ルールを除き、 .Nm により変換された各パケットには再び防火壁のルールが適用されます。 .It .Pa /etc/rc.conf で firewall_enable=YES と設定し、防火壁を作動させます。これはシステムの起動時のスクリプトに .Pa /etc/rc.firewall スクリプトを実行するように伝えます。 今すぐ再起動したくない場合には、コンソールから手で実行してください。 バックグラウンドで実行させるのでない限り、これは決して仮想セッションから 行ってはいけません。もし実行させてしまうと、flush が行われた後に あなたは締め出されてしまい、すべてのアクセスを永久に遮断するために この地点で .Pa /etc/rc.firewall の実行は止まってしまいます。スクリプトをバックグラウンドで実行すれば、 この災害を避けることができます。 .El .Sh 関連項目 .Xr getservbyname 2 , .Xr socket 2 , .Xr divert 4 , .Xr services 5 , .Xr ipfw 8 .Sh 作者 このプログラムは、多くの人々の細切れの努力の結果です: .An Archie Cobbs Aq archie@whistle.com (divert ソケット) .An Charles Mott Aq cmott@srv.net (パケットエイリアス) .An Eivind Eklund Aq perhaps@yes.no (IRC サポートとその他の追加) .An Ari Suutari Aq suutari@iki.fi (natd) +.An Dru Nelson Aq dnelson@redwoodsoft.com +(PPTP サポート) .An Brian Somers Aq brian@awfulhak.org (まとめ役) diff --git a/ja_JP.eucJP/man/man8/nfsd.8 b/ja_JP.eucJP/man/man8/nfsd.8 index 766673a273..6394d3e0c2 100644 --- a/ja_JP.eucJP/man/man8/nfsd.8 +++ b/ja_JP.eucJP/man/man8/nfsd.8 @@ -1,139 +1,139 @@ .\" Copyright (c) 1989, 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. .\" .\" @(#)nfsd.8 8.4 (Berkeley) 3/29/95 .\" jpman %Id: nfsd.8,v 1.2 1997/03/31 14:53:57 horikawa Stab % .\" .Dd March 29, 1995 .Dt NFSD 8 .Os .Sh 名称 .Nm nfsd .Nd リモートマシンに対して .Tn NFS サービスを行うデーモン .Pp .Sh 書式 .Nm nfsd .Op Fl rut .Op Fl n Ar num_servers .Pp .Sh 解説 .Nm nfsd は .Tn NFS サーバマシン上で実行され、クライアントからの .Tn NFS 要求に対するサービスを行います。サーバマシンとして動作させるには、 最低でも 1 つの .Nm nfsd が動作していなければなりません。 .Pp 何も指定されない場合は、 .Tn UDP トランスポートを用いるサーバが 4 つ起動されます。 .Pp 以下のオプションが利用可能です: .Bl -tag -width Ds .It Fl r 新たなサーバを生成せずに、 .Tn NFS サービスだけを .Xr portmap 8 に登録します。 このオプションは、portmap サーバが再起動したときに .Tn NFS サービスを再登録するために、 .Fl u や .Fl t オプションといっしょに使われます。 .It Fl n スタートさせるサーバの数を指定します。 .It Fl t .Tn TCP NFS クライアントに対するサービスを行います。 .It Fl u .Tn UDP NFS クライアントに対するサービスを行います。 .El .Pp 例えば、 .Dq Li "nfsd -u -t -n 6" は、 .Tn UDP と .Tn TCP トランスポートに対するサービスを行う 6 つのデーモンを生成します。 .Pp クライアントからの要求を最大限並列処理するのに十分な数のデーモンを実行 する必要があります。典型的には 4 個から 6 個です。 .Pp .Nm nfsd は、 .Tn NFS サーバの仕様で示されているポートで、サービス要求を待ちます。 この仕様に関しては、 .%T "NFS: Network File System Protocol Specification" , RFC1094, .%T "NFS: Network File System Version 3 Protocol Specification" を参照してください。 .Pp 動作中のカーネルに .Tn NFS がロードされていないことを検出すると、 .Nm nfsd は .Xr vfsload 3 を経由して -.Xr modload 8 +.Xr kldload 8 により、 .Tn NFS をサポートしたロード可能カーネルモジュールを読み込もうとします。 .Nm nfsd は、これに失敗した場合、もしくは .Tn NFS LKM が用意されていないときにはエラー終了します。 .Pp .Nm nfsd -は、成功した場合は0を、エラーが起きた場合は0より大きな値を返します。 +は、成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。 .Pp .Sh 関連項目 .Xr nfsstat 1 , .Xr nfssvc 2 , -.Xr modload 8 , +.Xr kldload 8 , .Xr mountd 8 , .Xr portmap 8 .Sh 歴史 .Nm nfsd ユーティリティは .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/nfsiod.8 b/ja_JP.eucJP/man/man8/nfsiod.8 index 9fe33703e0..460325247f 100644 --- a/ja_JP.eucJP/man/man8/nfsiod.8 +++ b/ja_JP.eucJP/man/man8/nfsiod.8 @@ -1,99 +1,99 @@ .\" Copyright (c) 1989, 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. .\" .\" From: @(#)nfsiod.8 8.2 (Berkeley) 2/22/94 -.\" %Id: nfsiod.8,v 1.6 1998/07/15 06:35:20 charnier Exp % -.\" jpman %Id: nfsiod.8,v 1.3 1997/08/10 18:33:51 horikawa Stab % +.\" %Id: nfsiod.8,v 1.6.2.1 1999/04/13 02:21:10 ghelmer Exp % .\" +.\" jpman %Id: nfsiod.8,v 1.3 1997/08/10 18:33:51 horikawa Stab % .Dd September 22, 1994 .Dt NFSIOD 8 .Os .Sh 名称 .Nm nfsiod .Nd ローカルな .Tn NFS のための非同期 I/O サーバ .Pp .Sh 書式 .Nm nfsiod .Op Fl n Ar num_servers .Pp .Sh 解説 .Nm は .Tn NFS クライアントマシン上で動作し、サーバに対する非同期 I/O 要求を処理します。 これによりパフォーマンスは向上しますが、 正しい動作のために必要とされているわけではありません。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl n Ar num_server サーバをいくつスタートさせるかを指定する。 .El .Pp 何も引数が指定されなければ、サーバは1つだけスタートします。 .Pp クライアントは、最大限並行処理を行うのに十分な数のデーモンを実行するべきです。 典型的には 4 つから 6 つです。 .Pp 動作中のカーネルに .Tn NFS サポートが含まれていないことを .Nm が検出した場合、 .Nm は -.Xr modload 8 +.Xr kldload 8 に含まれる .Xr vfsload 3 の機能を用いて、 .Tn NFS コードを含むローダブルカーネルモジュールをロードしようとします。 これが失敗した場合、または .Tn NFS -ローダブルカーネルモジュールが存在しない場合、 +KLD が存在しない場合、 .Nm はエラーを返して終了します。 .Pp .Nm は、成功すれば 0 を、エラーが起きると 0 より大きな値を返して終了します。 .Sh 関連項目 .Xr nfsstat 1 , .Xr nfssvc 2 , -.Xr modload 8 , +.Xr kldload 8 , .Xr mountd 8 , .Xr portmap 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/nslookup.8 b/ja_JP.eucJP/man/man8/nslookup.8 index 7cd5969894..352e4025f2 100644 --- a/ja_JP.eucJP/man/man8/nslookup.8 +++ b/ja_JP.eucJP/man/man8/nslookup.8 @@ -1,551 +1,552 @@ .\" .\" ++Copyright++ 1985, 1989 .\" - .\" Copyright (c) 1985, 1989 .\" 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. .\" - .\" Portions Copyright (c) 1993 by Digital Equipment Corporation. .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies, and that .\" the name of Digital Equipment Corporation not be used in advertising or .\" publicity pertaining to distribution of the document or software without .\" specific, written prior permission. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL .\" WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT .\" CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL .\" DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR .\" PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS .\" ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS .\" SOFTWARE. .\" - .\" --Copyright-- .\" .\" @(#)nslookup.8 5.3 (Berkeley) 6/24/90 .\" jpman %Id: nslookup.8,v 1.2 1997/04/30 00:39:04 mutoh Stab % .\" .Dd June 24, 1990 .Dt NSLOOKUP 8 .Os BSD 4 .Sh 名称 .Nm nslookup .Nd インターネットネームサーバに対話的に問い合わせる .Sh 書式 .Nm nslookup .Op Fl option Ar ... .Op Ar host-to-find | Fl Op Ar server .Sh 解説 .Ic nslookup はインターネットネームサーバに問い合わせを行います。 .Ic nslookup には対話モードと非対話モードの 2 つのモードがあります。 対話モードでは、 様々なホストやドメインの情報をネームサーバに対して問い合わせたり、 あるドメイン内のホスト一覧を表示することができます。 非対話モードでは、あるホストもしくはドメインの名前および 要求した情報のみが表示されます。 .Sh 引数 次の場合は対話モードに入ります。 .Bl -tag -width "a) " .It a) 引数が与えられなかったとき(デフォルトのネームサーバを利用します)。 .It b) 最初の引数がハイフン (-) であり、2 番目の引数がネームサーバの ホスト名もしくは IP アドレスであるとき。 .El .Pp 検索したいホストの名前もしくは IP アドレスが最初の引数として与えられた場合は、 非対話モードになります。 2 番目の引数はオプションで、ネームサーバのホスト名もしくは IP アドレスを 指定します。 .Pp .Dq Li set コマンドを使うオプションは、ホームディレクトリの .Pa .nslookuprc ファイルに 1 行に 1 つずつ書くことでも指定できます。 オプションはコマンドラインで指定することも可能です。その場合、 前にハイフンをつけ、引数より先に書きます。たとえば、デフォルトの問い合わせを ホスト情報に変更し、初期タイムアウトを 10 秒とするには、 .Bd -literal -offset indent nslookup -query=hinfo -timeout=10 .Ed とします。 .Sh 対話コマンド コマンドは control-C を入力することでいつでも中断できます。 終了するには、 control-D .Pq Dv EOF もしくは .Li exit を入力します。 コマンドラインの長さは 256 文字以下でなければなりません。 内部コマンドをホスト名として扱うには、 エスケープ文字 .Pq \e を頭につけます。 -.Sy 注意: 解釈できないコマンドはホスト名として扱われます。 +.Sy 注意: +解釈できないコマンドはホスト名として扱われます。 .Bl -tag -width "lserver" .It Ar host Op Ar server .Ar host についての情報を現在のデフォルトサーバ、もしくは .Ar server が指定されている場合はそのサーバに問い合わせます。 .Ar host が IP アドレスであり、問い合わせタイプが .Dv A もしくは .Dv PTR であるときは、ホスト名が返されます。 .Ar host が 名前であり、最後にピリオドがないときには、 その後ろにデフォルトのドメイン名が付加されます(この動作は、 .Ic set オプションの .Ic domain , srchlist , defname , search に依存します)。 .Pp 現在のドメインにないホストについて調べるときには、 名前の末尾にピリオドを付加します。 .It Ic server Ar domain .It Ic lserver Ar domain デフォルトサーバを .Ar domain に変更します。 .Ic lserver は .Ar domain についての情報を探すのに初期サーバを使い、 .Ic server は現在のデフォルトサーバを使います。 公式の答えが見つからないときには、答えを持つ可能性のある サーバ名が返されます。 .It Ic root デフォルトサーバをドメイン名空間のルートサーバに変更します。 現在のところホスト .Li ns.internic.net が使われます (このコマンドは .Dq Ic lserver ns.internic.net に同義です)。 ルートサーバ名は .Dq Ic set root コマンドで変更できます。 .It Xo Ic finger Op Ar name .Op Ic > Ar filename .Xc .It Xo Ic finger Op Ar name .Op Ic >> Ar filename .Xc 現在のホストにあるフィンガーサーバと接続します。 現在のホストは、以前の問い合わせが成功し、アドレス情報が 返されたときに定義されます( .Dq Ic set querytype=A 参照)。 .Ar name はオプションです。 .Ic > と .Ic >> は普通に出力をリダイレクトするのに使えます。 .It Xo Ic ls Op Ar option .Ar domain Op Ic > Ar filename .Xc .It Xo Ic ls Op Ar option .Ar domain Op Ic >> Ar filename .Xc .Ar domain について入手できる情報の一覧を出します。 オプションでファイル .Ar filename を作成あるいは .Ar filename に追加できます。 デフォルトの出力にはホスト名とその IP アドレスが含まれます。 .Ar option は下記のいずれかです。 .RS .Bl -tag -width "-a " .It Fl t Ar querytype 指定したタイプの全レコードの一覧を出力します(下記の .Ar querytype 参照)。 .It Fl a そのドメイン内での、各ホストのエイリアス一覧を出力します。 .Dq Fl t Dv CNAME と同義です。 .It Fl d そのドメインの全レコードの一覧を出力します。 .Dq Fl t Dv ANY と同義です。 .It Fl h そのドメインの CPU 及び OS 情報を出力します。 .Dq Fl t Dv HINFO と同義です。 .It Fl s そのドメイン内のホストの良く知られた (well-known) サービスの一覧を出力します。 .Dq Fl t Dv WKS と同義です。 .El .Pp 出力がファイルにリダイレクトされるときには、サーバから 50 レコードを 受け取るたびにハッシュマークが表示されます。 .It Ic view Ar filename 直前の .Ic ls コマンドの出力を並べ変え、 .Xr more 1 で出力します。 .It Ic help .It Ic ? コマンドの簡単な要約を表示します。 .It Ic exit プログラムを終了します。 .It Xo Ic set Ar keyword .Ns Op = Ns Ar value .Xc このコマンドは探索に影響するオプションを変更するのに使われます。 有効な keyword は以下の通りです。 .Bl -tag -width "class=v" .It Ic all よく使われる .Ic set のオプションの現在の値を表示します。 現在のデフォルトサーバとホストに関する情報も表示されます。 .It Ic class= Ns Ar value 問い合わせのクラスを次のいずれかに変更します。 .Bl -tag -width "HESIOD " .It Dv IN インターネットクラス。 .It Dv CHAOS chaos クラス。 .It Dv HESIOD MIT Athena Hesiod クラス。 .It Dv ANY 上記すべて。 .El .Pp クラスは情報のプロトコルグループを特定します。 .Pp (デフォルト = .Dv IN; 略記 = .Ic cl ) .It Xo Op Ic no .Ns Ic debug .Xc デバッグモードにします。サーバに送られるパケットとそれに 対する返答について、より多くの情報が表示されます。 .Pp (デフォルト = .Ic nodebug ; 略記 = .Xo Op Ic no .Ns Ic deb ) .Xc .It Xo Op Ic no .Ns Ic d2 .Xc 詳細なデバッグモードにします。 パケットごとに重要なすべてのフィールドが表示されます。 .Pp (デフォルト = .Ic nod2 ) .It Ic domain= Ns Ar name デフォルトドメイン名を .Ar name に変更します。 .Ic defname と .Ic search オプションの設定に応じて、 探索要求されるホスト名にデフォルトドメイン名が付加されます。 デフォルトドメイン名が 2 つ以上の要素から なるとき、ドメインサーチリストにはデフォルトドメインの親が含まれます。 たとえば、デフォルトドメイン名が CC.Berkeley.EDU であるとき、サーチリストは CC.Berkeley.EDU 及び Berkeley.EDU です。 異なるリストを指定するには、 .Dq Ic set srchlist コマンドを使います。 このリストを表示するには、 .Dq Ic set all コマンドを使います。 .Pp (デフォルト = .Xr hostname 1 から得た値, .Pa /etc/resolv.conf あるいは .Pa LOCALDOMAIN; 略記 = .Ic do ) .It Ic srchlist= Ns Ar name1/name2/... デフォルトドメイン名を .Ar name1 にし、ドメインサーチリストを .Ar name1 , name2 , etc. に変更します。スラッシュ (/) で区切って 最大 6 つまで指定可能です。 たとえば .Bd -literal -offset indent set srchlist=lcs.MIT.EDU/ai.MIT.EDU/MIT.EDU .Ed .Pp の場合、ドメインを lcs.MIT.EDU にし、サーチリストを上の 3 つの名前に 設定します。 このコマンドは、 .Dq Ic set domain コマンドによるデフォルトドメイン名と サーチリストを上書きします。 リストを表示するには、 .Dq Ic set all コマンドを使います。 .Pp (デフォルト = .Xr hostname 1 に基づく値, .Pa /etc/resolv.conf あるいは .Ev LOCALDOMAIN ; 略記 = .Ic srchl ) .It Xo Op Ic no .Ns Ic defname .Xc これが設定されると、単一要素からなる問い合わせ(すなわちピリオドのないもの) に対して、 指定したデフォルトドメイン名が付加されます。 .Pp (デフォルト = .Ic defname ; 略記 = .Xo Op Ic no .Ns Ic defname ) .Xc .It Xo Op Ic no .Ns Ic search .Xc 問い合わせ要求にピリオドが少なくとも 1 つ含まれているが ピリオドで終っては .Em いない 場合、 答えが受け取れるまで、ドメインサーチリスト内のドメイン名を 付加します。 .Pp (デフォルト = .Ic search ; 略記 = .Xo Op Ic no .Ns Ic sea ) .Xc .It Ic port= Ns Ar value デフォルトのネームサーバの TCP/UDP ポートを .Ar value に変更します。 .Pp (デフォルト = 53; 略記 = .Ic \&po ) .It Ic querytype= Ns Ar value .It Ic type= Ns Ar value 問い合わせる情報の種類を変更します。情報は次のうちのいずれかです。 .Bl -tag -width "HINFO " .It Dv A ホストの IP アドレス。 .It Dv CNAME 別名に対する正式名。 .It Dv HINFO ホストの CPU と OS の種類。 .It Dv MINFO メールボックスもしくは、メールリストに関する情報。 .It Dv MX メール交換ホスト。 .It Dv NS その名前空間内のネームサーバ。 .It Dv PTR 問い合わせが IP アドレスであればホスト名、そうでなければ それ以外の情報へのポインタ。 .It Dv SOA ドメインの .Dq 権威開始 (start-of-authority) 情報。 .It Dv TXT テキスト情報。 .It Dv UINFO ユーザ情報。 .It Dv WKS サポートする、よく知られたサービス。 .El .Pp 他のタイプ .Pq Dv ANY, AXFR, MB, MD, MF, NULL については、ドキュメント RFC-1035 に書かれています。 .Pp (デフォルト = .Dv A ; 略記 = .Ic q, ty ) .It Xo Op Ic no .Ns Ic recurse .Xc サーバが情報を持っていないときに、他のサーバに問い合わせるよう 指示します。 .Pp (デフォルト = .Ic recurse ; 略記 = .Xo Op Ic no .Ns Ic rec ) .Xc .It Ic retry= Ns Ar number リトライ回数を .Ar number 回とします。 要求に対する返答をある時間内 ( .Dq Ic set timeout で変更できる) に 受け取らなかったとき、タイムアウト期間は 2 倍にされ、 要求が再送されます。 retry の値は、あきらめるまでに要求を何回再送するかを決めます。 .Pp (デフォルト = 4, 略記 = .Ic ret ) .It Ic root= Ns Ar host ルートネームサーバ名を .Ar host に変更します。 これは .Dq Ic root コマンドに影響します。 .Pp (デフォルト = .Ic ns.internic.net ; 略記 = .Ic ro ) .It Ic timeout= Ns Ar number 返答を待つ初期タイムアウト間隔を .Ar number 秒に変更します。 リトライのたびにタイムアウト間隔は倍になります。 .Pp (デフォルト = 5 seconds; 略記 = .Ic ti ) .It Xo Op Ic no .Ns Ic vc .Xc サーバに要求を出すときに、常に仮想回路 (virtual circuit) を使います。 .Pp (デフォルト = .Ic novc ; 略記 = .Xo Op Ic no .Ns Ic v ) .Xc .It Xo Op Ic no .Ns Ic ignoretc .Xc パケットトランケーションエラーを無視します。 .Pp (デフォルト = .Ic noignoretc ; 略記 = .Xo Op Ic no .Ns Ic ig ) .Xc .El .El .Sh 診断 問い合わせが失敗した場合、エラーメッセージが表示されます。 エラーには次のようなものがあります。 .Bl -tag -width "Timed" .It Li Timed out サーバに対する要求を、( .Dq Ic set timeout= Ns Ar value で変更できる)ある時間 の間に( .Dq Ic set retry= Ns Ar value で変更できる)ある回数だけ リトライしましたが、応答しませんでした。 .It Li \&No response from server サーバマシンでネームサーバが動いていません。 .It Li \&No records ホスト名は正しいのですが、そのホストについて現在の問い合わせに 関する情報をサーバが持っていません。 問い合わせる情報は .Dq Ic set querytype コマンドで指定できます。 .It Li Non-existent domain そのホスト名もしくはドメイン名が存在しません。 .It Li Connection refused .It Li Network is unreachable 現在のところネームサーバもしくはフィンガーサーバに対して 接続できません。 このエラーは一般に .Ic ls と .Ic finger 要求に対して起こります。 .It Li Server failure ネームサーバが内部でデータベースの矛盾を発見したため 正しい答えが返せませんでした。 .It Li Refused ネームサーバが要求に対するサービスを拒否しました。 .It Li Format error ネームサーバは要求パケットが適切なフォーマットになっていないと 判断しました。 .Nm nslookup 内にエラーがあるのかもしれません。 .El .Sh 関連ファイル .Bl -tag -width "/usr/share/misc/nslookup.helpXXX" -compact .It Pa /etc/resolv.conf ドメイン名の初期値とネームサーバのアドレスを記述するファイルです。 .It Pa $HOME/.nslookuprc ユーザ用の初期化オプションを記述するファイルです。 .It Pa /usr/share/misc/nslookup.help コマンドの要約です。 .Sh 環境変数 .Bl -tag -width "HOSTALIASESXXXX" -compact .It Ev HOSTALIASES ホスト名のエイリアスを記述したファイル。 .It Ev LOCALDOMAIN デフォルトドメインを上書きします。 .Sh 関連項目 .Xr named 8 , .Xr resolver 3 , .Xr resolver 5 ; RFC-1034, .Dq Domain Names - Concepts and Facilities ; RFC-1035, .Dq Domain Names - Implementation and Specification .Sh 作者 Andrew Cherenson diff --git a/ja_JP.eucJP/man/man8/pciconf.8 b/ja_JP.eucJP/man/man8/pciconf.8 index 3f0050b36f..982b1b2d9c 100644 --- a/ja_JP.eucJP/man/man8/pciconf.8 +++ b/ja_JP.eucJP/man/man8/pciconf.8 @@ -1,196 +1,196 @@ -.\" %Id: pciconf.8,v 1.4 1998/11/12 00:22:30 ken Exp % +.\" %Id: pciconf.8,v 1.4.2.1 1999/04/06 14:06:17 ghelmer 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. .\" .Dd February 7, 1997 .Dt PCICONF 8 .Os FreeBSD .Sh 名称 .Nm pciconf .Nd PCI バスのための診断ユーティリティ .Sh 書式 .Nm pciconf Fl l .Nm pciconf Fl a Ar selector .Nm pciconf Fl r Ar selector .Op Fl b | Fl h .Ar reg .Nm pciconf 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 最初の欄は、デバイス名、ユニット番号、 .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 進数で表示します。 .Fl w オプションはデバイス .Ar selector のバイトオフセット .Ar reg の所のコンフィギュレーションスペースレジスタへ .Ar value を書き込みます。 この二つのオプションでは、 .Fl b フラグと .Fl h フラグで読み書きの大きさを指定できます。 .Fl b は 1 バイトの読み書きを行い、 .Fl h は 2 バイト (halfword) の読み書きを行います。 読み書きの大きさのデフォルトは 4 バイト (longword) です。 .Sh 関連項目 .Xr ioctl 2 , .\" .Xr pci 4 , -.Xr modload 8 +.Xr kldload 8 .Sh 歴史 .Nm コマンドは .Fx 2.2 で初めて登場しました。 .Fl a オプションは .Tn PCI -LKM サポートのために +KLD サポートのために .Fx 3.0 で追加されました。 .Sh 作者 .Nm は .An Stefan Esser と .An Garrett Wollman によって書かれました。 .Sh バグ .Fl b オプションと .Fl h オプションは .Nm の内部で実装されており、 .Fn ioctl に基づいているわけではありません。 .Pp root ではないユーザが .Fl a オプションと .Fl r オプションを使うことを許可することは有用かもしれませんが、 -LKM ドライバでデバイスを供給するために -.Nm modload +KLD ドライバでデバイスを供給するために +.Nm kldload を実行できるのは root だけでしょうし、 一部の粗悪な .Tn PCI チップではコンフィギュレーションスペースレジスタの 読み込みが故障を引き起こす場合があるのです。 diff --git a/ja_JP.eucJP/man/man8/ppp.8 b/ja_JP.eucJP/man/man8/ppp.8 index 412cbc8526..f546a5e6f1 100644 --- a/ja_JP.eucJP/man/man8/ppp.8 +++ b/ja_JP.eucJP/man/man8/ppp.8 @@ -1,4029 +1,4686 @@ -.\" %Id: ppp.8,v 1.142.2.2 1999/03/07 11:55:12 brian Exp % +.\" %Id: ppp.8,v 1.142.2.3 1999/03/24 18:03:12 brian Exp % .\" jpman %Id: ppp.8,v 1.4 1997/06/08 18:41:58 saeki Stab % .\" WORD: expect string 受信待ち文字列 (chat.8) .\" WORD: negotiation 交渉 .Dd 20 September 1995 .nr XX \w'\fC00' .Os FreeBSD .Dt PPP 8 .Sh 名称 .Nm ppp .Nd PPP (Point to Point Protocol) (別名 user-ppp) .Sh 書式 .Nm .Oo .Fl auto | .Fl background | .Fl ddial | .Fl direct | .Fl dedicated .Oc .Op Fl alias -.Op Ar system ... +.Op Ar system Ns +.No ... .Sh 解説 本プログラムは、ユーザプロセスとして動作する .Em PPP パッケージです。 .Em PPP は通常、( .Xr pppd 8 でそうなっているように) カーネルの一部として実装されますが、 そのため、デバッグや動作の変更が少々難しい場合があります。 それに対し、この実装ではトンネルデバイスドライバ (tun) を利用して、 ユーザプロセスで .Em PPP を実現しています。 .Sh 主な特徴 .Bl -diag .It 対話的なユーザインタフェースを提供 コマンドモードで利用する場合、ユーザがコマンドを 入力することで、簡単にリモートコンピュータとの接続の確立、 接続状態の確認、 接続の切断を行うことができます。 オプションとして、セキュリティ確保のために すべての機能をパスワードで保護することができます。 .It 手動と自動でのダイヤルをサポート 対話モードでは、直接モデムと通信できるように .Dq term コマンドが用意されています。 モデムがリモートホストと接続されて、 .Em PPP での通信が始まったら、 .Nm はそれを検出して自動的にパケットモードに移行します。 ひとたびリモートホストとの接続に必要なコマンドシーケンスがわかったら、 後々の接続を簡単にするため、必要なダイヤル手順やログイン手順を定義した チャットスクリプトを書くことができます。 .It オンデマンドでのダイヤルアップをサポート .Fl auto モード (自動モード) では .Nm はデーモンとして動作し、 .Em PPP リンクを通して送られるパケットを待ちうけます。 パケットを検出すると、デーモンが自動的にダイヤルを行って接続を確立します。 .Fl ddial モード (直接ダイヤルモード) でも ほぼ同様に、自動ダイヤルと接続の確立を行います。 しかしながらこのモードは、送るべきパケットが存在しない場合にも、 リンクが切れていることを検出するといつでもリモートへダイヤルするという点が auto モードと異なります。 このモードは、電話料金よりも常時接続されていることが重視される場合に有用です。 3 番目の .Fl dedicated モード (専用線モード) も利用可能です。 このモードは 2 つのマシン間の専用線を対象にしています。 専用線モードでは .Nm は自発的に動作を終了することはありません - 終了するには .Dq quit all コマンドを診断ソケットを介して送る必要があります。 .Dv SIGHUP は LCP の再交渉を強要し、 .Dv SIGTERM は終了を強要します。 .It クライアントコールバックをサポート .Nm は標準 LCP コールバックプロトコルならびに Microsoft コールバック制御プロトコル (ftp://ftp.microsoft.com/developr/rfc/cbcp.txt) を使用できます。 .It パケットエイリアシングをサポート パケットエイリアシング (別名: IP マスカレード) により、 未登録でプライベートなネットワーク上のコンピュータからも インターネットにアクセスすることが可能です。 .Em PPP ホストはマスカレードゲートウェイとして動作します。 送信パケットの IP アドレスと TCP や UDP のポート番号は どちらもエイリアスされ、返信パケットではエイリアスが元に戻されます。 .It バックグラウンド PPP 接続をサポート バックグラウンドモードでは、接続を確立するのに成功した場合に .Nm はデーモンになります。 それ以外の場合はエラーで終了します。 これにより、 接続が成功裏に確立した場合のみコマンドを実行するようなスクリプト をセットアップすることが出来ます。 .It サーバとしての PPP 接続をサポート ダイレクトモードでは、 .Nm は標準入力/標準出力からの .Em PPP 接続を受け入れるサーバとして動作させることができます。 -.It PAP と CHAP による認証をサポート +.It PAP と CHAP (rfc 1994) による認証をサポート PAP もしくは CHAP を用いることにより、Unix スタイルの .Xr login 1 手続きをスキップし、 .Em PPP プロトコルを代りに認証に使用することが可能です。 相手が Microsoft CHAP 認証を要求し、かつ .Nm が DES をサポートするようにコンパイルされている場合、適当な MD4/DES 応答がなされます。 +.It RADIUS (rfc 2138) 認証をサポート +PAP と CHAP の拡張である +.Em \&R Ns No emote +.Em \&A Ns No ccess +.Em \&D Ns No ial +.Em \&I Ns No n +.Em \&U Ns No ser +.Em \&S Ns No ervice +が、中央データベースまたは分散データベースに、 +ユーザごとの形式で様々な接続特性とともに認証情報を格納可能とします。 +コンパイル時に +.Pa libradius +が利用可能な場合、利用するように設定すると、 +.Nm +はこれを使用して +.Em RADIUS +要求を作成します。 .It 代理 arp (Proxy Arp) をサポート -.Em PPP -がサーバとして動作している時、その接続について代理 arp を行うよう -設定できます。 +.Nm +が相手のために 1 個以上の代理 arp エントリを作成するように、設定可能です。 +LAN 上の各マシンでの設定を行わずに、 +相手側から LAN へのルーティングを可能とします。 .It パケットのフィルタリングをサポート ユーザは 4 種類のフィルタを定義できます。 .Em in は受信パケットに対するフィルタです。 .Em out は送信パケットに対するフィルタです。 .Em dial はダイヤルを行うきっかけとなるパケットを定義するフィルタで、 .Em alive は接続を保持するためのパケットを定義するフィルタです。 .It トンネルドライバは bpf (Berkeley Packet Filter) をサポート .Em PPP リンクを流れるパケットを調べるために、 .Xr tcpdump 1 を使うことができます。 .It PPP オーバ TCP をサポート デバイス名が .Em host Ns No : Ns Em port 形式で指定された場合、 .Nm は通常のシリアルデバイスを使うのではなく、データ転送のための TCP 接続を開きます。 -.It IETF ドラフトの Predictor-1 と DEFLATE 圧縮をサポート +.It "IETF ドラフトの Predictor-1 (rfc 1978) と DEFLATE (rfc 1979) 圧縮をサポート .Nm は VJ 圧縮の他に Predictor-1 と DEFLATE 圧縮もサポートしています。 モデムは通常 (例えば v42.bis のような) 組み込みの圧縮機能を持っており、 その結果システムは .\"(訳注)「転送データレートよりも」をここにいれたいと考えています。 .\" 2.2.1R 対象(1997/04/02) Takeshi MUTOH より高いデータレートで通信できます。 これは一般には良いことですが、より高速のデータによってシリアル回線からの 割り込みが増加します。 システムはこの割り込みをモデムと通信して処理しなくてはならないため、 システムの負荷と遅延時間が増加することになります。 VJ 圧縮とは異なり、Predictor-1 と DEFLATE 圧縮はリンクを通る .Em すべての ネットワークトラフィックをあらかじめ圧縮しておくことで、オーバヘッドを 最小にします。 .It Microsoft の IPCP 拡張をサポート Microsoft の .Em PPP スタックを使用するクライアント (つまり Win95, WinNT) との間で ネームサーバのアドレスと NetBIOS ネームサーバのアドレスを 交渉することができます。 -.It マルチリンク PPP をサポート +.It マルチリンク PPP をサポート (rfc 1990) 接続先への複数の物理的な回線をオープンし、すべてのリンクの 帯域幅を合わせてより高いスループットを得ることができます。 .El .Sh パーミッション .Nm はユーザ .Dv root 、グループ .Dv network 、パーミッション -.Dv 4554 +.Dv 04554 でインストールされます。 デフォルトでは .Nm は、起動したユーザ ID が 0 でない場合には実行しません。 これは .Dq allow users コマンドを .Pa /etc/ppp/ppp.conf に記載することにより変更することが可能です。 通常ユーザとして実行する場合には、 .Nm はユーザ ID 0 に変わり、システムの経路表の変更と、 システムロックファイルの作成と、 ppp の設定ファイルの読み込みを行います。 すべての外部コマンド ("shell" や "!bg" で実行されます) は、 .Nm を起動したユーザ ID で実行されます。 ユーザ ID 0 にて正確になにが行われているのかに興味がある場合には、 ログ機能の .Sq ID0 を参照してください。 .Sh 始める前に 次のコマンドラインスイッチを .Nm ppp は理解します: .Bl -tag -width XXX -offset XXX .It Fl auto .Nm は tun インタフェースをオープンし、これを設定した後バックグラウンドになります。 出力データが tun インタフェース上で検出されるまでリンクはアップせず、 出力データが tun インタフェース上で検出されると .Nm はリンクをアップしようとします。 .Nm がリンクをアップしようとしている間に受信したパケット (最初のものを含みます) は、デフォルトで 2 分間キューにとどまります。 後述の .Dq set choked コマンドを参照してください。 .Pp コマンドラインには少なくとも 1 つの .Dq system を指定する必要があり (後述)、 インタフェース設定時に使用する相手の IP アドレスを指定する .Dq set ifaddr を、システムプロファイルで実行する必要があります。 通常、 .Dq 10.0.0.1/0 のようなものが適切です。例としては、 -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample の .Dq pmdemand システムを参照してください。 .It Fl background この場合、 .Nm は相手との接続をすぐに確立しようとします。 成功すると、 .Nm はバックグラウンドになり、親プロセスは終了コード 0 を返します。 失敗すると、 .Nm は非 0 の結果で終了します。 .It Fl direct これは入力接続を受け付けるために使用します。 .Nm -は ``set device'' 行を無視し、リンクにデスクリプタ 0 を使用します。 +は +.Dq set device +行を無視し、リンクにデスクリプタ 0 を使用します。 .Pp コールバックの設定を行うと、ダイヤルバック時に .Nm は .Dq set device 情報を使用します。 .It Fl dedicated このオプションは、専用線で接続されたマシンのためにデザインされています。 .Nm はデバイスを常にオープンに保ち、設定チャットスクリプトは一切使用しません。 .It Fl ddial .Fl auto モードと等価ですが、なんらかの理由でリンクが落ちた場合に .Nm が再度リンクをアップすることが違います。 .It Fl interactive これは no-op であり、前述のフラグがどれも指定されなかった場合の動作を行います。 .Nm はコマンドラインで指定されたシステムをロードし、対話プロンプトを提供します。 .It Fl alias このフラグは .Nm のモードを制御しません。 .Dq enable alias yes と等価です。さらに、 .Fl auto もまた指定されている場合、暗黙的に .Dq enable iface-alias が実行されます。 詳細については後述しているものを参照してください。 .Pp IP エイリアシングを有効にすると、 .Nm は、内部 LAN 上の全マシンに対する NAT もしくはマスカレーディングエンジンとして動作します。詳細は .Xr libalias 3 を参照してください。 .El .Pp さらに、1 つ以上の system をコマンドライン上に指定可能です。 .Sq system は .Pa /etc/ppp/ppp.conf の設定エントリです。起動時に .Nm は .Pa /etc/ppp/ppp.conf から .Dq default システムを読み込み、その後コマンドラインで指定した各 system を読み込みます。 .Pp .Fl auto , .Fl background , .Fl ddial , .Fl direct , .Fl dedicated , .Fl interactive のいずれか 1 つのスイッチのみ指定可能です。 .Nm の .Sq モード は、 .Dq set mode コマンド (後述) を使用することで後で変更可能です。 .Pp 以降、対話モードの使用方法について説明します。 .Pp 最初に .Nm を実行する時には、いくつかの初期設定を整える必要があります。 .Bl -bullet .It カーネルにトンネルデバイスが含まれていなければ なりません (GENERIC カーネルではデフォルトで 1 つ含まれます)。 もし含まれていない場合や複数の tun インタフェースが必要な場合、 次の行をカーネル設定ファイルに追加して、 カーネルを再構築する必要があります: .Pp .Dl pseudo-device tun N .Pp ここで .Ar N は .Em PPP 接続を行いたい最大の数です。 .It .Pa /dev ディレクトリにトンネルデバイスのエントリ .Pa /dev/tunN があるかどうかを調べてください。 ここで .Sq N は、0 から始まる tun デバイスの番号です。 もし無いようならば、"sh ./MAKEDEV tunN" を実行すれば作ることができます。 これにより 0 から .Ar N までの tun デバイスが作成されます。 .It あなたのシステムの .Pa /etc/group ファイルに .Dq network グループがあり、そのグループが .Nm を使うと想定されるすべてのユーザ名を含んでいることを確かめてください。 詳細は .Xr group 5 マニュアルページを参照してください。また、これらのユーザは .Pa /etc/ppp/ppp.conf ファイルで .Dq allow users コマンドを使用してアクセス権が与えられなければなりません。 .It ログファイルを作成します。 .Nm は .Xr syslog 3 -を使用して情報をログします。通常のログファイル名は +を使用して情報を記録します。通常のログファイル名は .Pa /var/log/ppp.log です。 このファイルに出力を行うためには、次の行を .Pa /etc/syslog.conf ファイルに記述してください: .Bd -literal -offset indent !ppp *.*/var/log/ppp.log .Ed .Pp .Nm の実行形式にリンクを作成することにより、複数の .Em PPP ログファイルを持つことが可能です: .Pp .Dl # cd /usr/sbin .Dl # ln ppp ppp0 .Pp として .Pa /etc/syslog.conf で .Bd -literal -offset indent !ppp0 *.*/var/log/ppp0.log .Ed .Pp とします。 .Pa /etc/syslog.conf を更新した後に、 .Xr syslogd 8 に .Dv HUP シグナルを送ることをお忘れなく。 .It 厳密には .Nm の操作とは関係ありませんが、リゾルバが正しく働くように設定した方が 良いでしょう。 これは .Pq Xr named 8 を用いて ローカルな DNS サーバを設定するか、もしくは .Pa /etc/resolv.conf ファイルに適切な .Sq name-server 行を加えることで行われます。 詳細は .Xr resolv.conf 5 のマニュアルを参照してください。 .Pp 他の方法として、もし接続先がサポートしている場合には .Nm が接続先にネームサーバのアドレスを尋ねて、自動的に .Pa /etc/resolv.conf を更新することができます。詳細は後述の .Dq enable dns コマンドを参照してください。 .El .Sh 手動ダイヤル 次の例では、あなたのマシン名が .Dv awfulhak であるとして説明します。 .Nm を引数無しで起動すると (前述の -.Em パーミッション +.Sx パーミッション 参照) 次のプロンプトが表示されます: .Bd -literal -offset indent ppp ON awfulhak> .Ed .Pp プロンプトの .Sq ON の部分は常に大文字であるべきです。ここが小文字の場合、 .Dq passwd コマンドを使用してパスワードを入力しなければならないことを意味します。 実行中の .Nm に接続し、 まだ正しいパスワードを入力していない場合にのみこのような状態になります。 .Pp -ここで、モデムのデバイス名、スピードやパリティの設定、 -CTS/RTS 信号を使うかどうか (デフォルトでは CTS/RTS が使用されます) を -指定して、開始可能です。もしハードウェアが CTS/RTS 信号を持っていない場合 -(これは PPP 可能な端末サーバに直接つなぐ場合に起こり得ます)、 -.Nm -はそのポートを通してどんな出力も送らず、来るはずのない信号を待ち続けます。 -したがって、直接接続で通信ができないような場合には、 -CTS/RTS を off にしてみてください: .Bd -literal -offset indent -ppp ON awfulhak> set line /dev/cuaa0 +ppp ON awfulhak> set device /dev/cuaa0 ppp ON awfulhak> set speed 38400 +.Ed +.Pp +通常ハードウェアフロー制御 (CTS/RTS) を使用します。 +しかし、特定の場合 +(特定の PPP 可能な端末サービスに直接接続している場合に起り得ます)、 +.Nm +が通信リンクにデータを書き込もうとしたときに、 +永遠に来ない CTS (送信時にクリア) シグナルを待つことにより +.Nm +がハングします。 +直通線で接続できない場合は、 +.Dq set ctsrts off +で CTS/RTS をオフにしてみてください。 +これが必要な場合、後述の +.Dq set accmap +の記述も参照してください - +.Dq set accmap 000a0000 +も必要かもしれません。 +.Pp +通常、パリティは +.Dq none +に設定します。これが +.Nm ppp +のデフォルトです。 +パリティはどちらかというと古風なエラーチェック機構であり、 +今となっては使用しません。 +最近のモデムは各自のエラーチェック機構を持っており、 +ほとんどのリンク層プロトコル ( +.Nm +はこれです) はより信頼できるチェック機構を使用します。 +パリティは相対的に大きなオーバヘッドを持ちますので +(トラフィックが 12.5% 増加します)、 +.Dv PPP +がオープンされると常に無効化 +.Pq set to Dq none +されます。 +しかし、ISP (インターネットサービスプロバイダ) によっては、 +特定のパリティ設定を接続時 ( +.Dv PPP +がオープンする前) に使用するものがあります。 +特に、Compuserve はログイン時に偶数パリティに固執しています: +.Bd -literal -offset indent ppp ON awfulhak> set parity even -ppp ON awfulhak> set ctsrts on +.Ed +.Pp +ここで、現在のモデム設定がどのようになっているか見られます: +.Bd -literal -offset indent ppp ON awfulhak> show modem -* モデム関連のパラメータが、ここに示されます * -ppp ON awfulhak> +Name: deflink + State: closed + Device: N/A + Link Type: interactive + Connect Count: 0 + Queued Packets: 0 + Phone Number: N/A + +Defaults: + Device List: /dev/cuaa0 + Characteristics: 38400bps, cs8, even parity, CTS/RTS on + +Connect time: 0 secs +0 octets in, 0 octets out +Overall 0 bytes/sec +ppp ON awfulhak> .Ed .Pp ここでは、直接モデムと通信するために term コマンドを使用可能です: .Bd -literal -offset indent ppp ON awfulhak> term at OK atdt123456 CONNECT -login: ppp -Password: +login: myispusername +Password: myisppassword Protocol: ppp .Ed .Pp 相手が .Em PPP で話しはじめると、 .Nm はそれを自動的に検出してコマンドモードに戻ります。 .Bd -literal -offset indent ppp ON awfulhak> # リンクは確立していません Ppp ON awfulhak> # 接続完了、LCP 完了 PPp ON awfulhak> # 認証完了 PPP ON awfulhak> # IP アドレス合意完了 .Ed .\" your end で「あなた側」 +.Pp このようにならない場合、接続先がこちらの開始交渉を -待っているか、入力パケットを -.Em PPP -パケットであると -.Nm ppp -が識別できない可能性があります。 -後者の場合、あなた側のパリティ設定の問題かもしれません。 +待っている可能性があります。 強制的に .Nm に接続先への PPP 設定パケットの送出を開始させるためには .Dq ~p -コマンドを使ってパケットモードに移行して下さい。 +コマンドを使い、端末モードを抜けてパケットモードに移行して下さい。 +.Pp +それでもログインプロンプトが得られない場合、 +Unix 的なログイン/パスワード認証ではなく、PAP または CHAP の認証を、 +相手は要求している可能性が非常に高いです。 +正しく設定するためには、プロンプトに戻り、 +認証用の名前とキーを設定し、再度接続します: +.Bd -literal -offset indent +~. +ppp ON awfulhak> set authname myispusername +ppp ON awfulhak> set authkey myisppassword +ppp ON awfulhak> term +at +OK +atdt123456 +CONNECT +.Ed +.Pp +ここで再度、交渉開始するように ppp に指定できます: +.Bd -literal -offset indent +~p +ppp ON awfulhak> # リンクは確立していません +Ppp ON awfulhak> # 接続完了、LCP 完了 +PPp ON awfulhak> # 認証完了 +PPP ON awfulhak> # IP アドレス合意完了 +.Ed .Pp これで接続されました! プロンプトの .Sq PPP が大文字に変化して、接続されたことを知らせます。もし 3 つの P の内 いくつかだけが大文字になっている場合には、すべての文字が大文字もしくは 小文字になるまで待ってください。もし小文字に戻った場合には、それは .Nm が接続先との交渉に成功しなかったことをを意味します。 -たいてい、その原因は PAP もしくは CHAP 認証の name や key が -正しくないことです。 -.Dq set log local phase -することが、この時点でのトラブルシューティングへの第一歩としては -良いでしょう。 +この時点での問題解決の第一歩としては、次のようにし、再挑戦します。 +.Bd -literal -offset indent +ppp ON awfulhak> set log local phase lcp ipcp +.Ed +.Pp 詳細は、下記の .Dq set log コマンドの説明を参照してください。 +この時点でも失敗する場合、 +ログを有効にして再挑戦することが非常に重要です。 +プロンプトの変化に注意し、あなたを助けてくれる人に報告することもまた重要です。 .Pp リンクが確立したら、show コマンドを使用することで、 どのように事態が進行しているのかが分ります: .Bd -literal -offset indent PPP ON awfulhak> show modem * モデム関連の情報がここに表示されます * PPP ON awfulhak> show ccp * CCP (圧縮) 関連の情報がここに表示されます * PPP ON awfulhak> show lcp * LCP (回線制御) 関連の情報がここに表示されます * PPP ON awfulhak> show ipcp * IPCP (IP) 関連の情報がここに表示されます * PPP ON awfulhak> show link * (高レベル) リンク関係の情報がここに表示されます * PPP ON awfulhak> show bundle * (高レベル) 論理接続関係の情報がここに表示されます * .Ed .Pp この時点で、マシンは接続先に対するホスト単位の経路 (host route) を持っています。 これはリンクの相手のホストとのみ接続可能であるという意味です。 デフォルト経路のエントリ (他の経路エントリを持たずに、全パケットを .Em PPP リンクの相手に送る ように、あなたのマシンに指示します)を追加したければ、 次のコマンドを入力してください。 .Bd -literal -offset indent PPP ON awfulhak> add default HISADDR .Ed .Pp .Sq HISADDR という文字列は、相手側の IP アドレスを表します。 既存の経路のために失敗する場合には、 .Bd -literal -offset indent PPP ON awfulhak> add! default HISADDR .Ed .Pp を用いることで既存の経路を上書きできます。 -ここで、(ping, telnet, ftp のような) ネットワークアプリケーションを -別のウィンドウで使用可能です。 +このコマンドは、実際に接続を作成する前に実行可能です。 +新しい IP アドレスを接続時に交渉する場合、これに従って +.Nm +がデフォルト経路を更新します。 +.Pp +ここで、(ping, telnet, ftp のような) ネットワークアプリケーションを、 +あなたのマシンの別のウィンドウまたは端末で使用可能です。 +現在の端末を再利用したい場合、 +.Nm +をバックグラウンドモードにするために、 +標準のシェルのサスペンドとバックグラウンドコマンド (通常 +.Dq ^Z +の後に +.Dq bg ) +を使用可能です。 +.Pp 使用可能コマンドの詳細は -.Em PPP コマンドリスト +.Sx PPP コマンドリスト の節を参照してください。 .Sh 自動ダイヤル 自動ダイヤルを行うためには、ダイヤルとログインのチャットスクリプトを 用意しなければなりません。定義の例は -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample を見てください ( .Pa /etc/ppp/ppp.conf の書式は非常に簡単です)。 各行は単一のコメント、インクルード、ラベル、コマンドのいずれかを含みます。 .Bl -bullet .It .Pq Dq # 文字で始まる行は、コメントとして扱われます。 コメント行と認識した場合、先行する空白は無視されます。 .It インクルードは語 .Sq !include から始まる行です。 1 つの引数 - インクルードするファイル - を持つ必要があります。 古いバージョンの .Nm との互換性のために、 .Dq !include ~/.ppp.conf を使用したいかもしれません。 .It ラベルは行頭から始まり、最後にコロン .Pq Dq \&: が続かなければなりません。 .It コマンド行は、最初の桁に空白かタブを含む必要があります。 .El .Pp .Pa /etc/ppp/ppp.conf ファイルには少なくとも .Dq default セクションが存在する必要があります。 このセクションは常に実行されます。 このファイルには 1 つ以上のセクションが含まれます。 セクション名は用途に応じて付けます。例えば、 .Dq MyISP はあなたの ISP を表したり、 .Dq ppp-in は入力の .Nm 構成を表したります。 .Nm ppp を立ち上げる際に、接続先のラベル名を指定可能です。 .Dq default ラベルに関係づけられたコマンドが実行されてから、 接続先ラベルに関連づけられたコマンドが実行されます。 .Nm を引数無しで起動した場合、 .Dq default だけは実行されます。load コマンドを使用して、 .Pa /etc/ppp/ppp.conf のセクションを手動でロード可能です: .Bd -literal -offset indent PPP ON awfulhak> load MyISP .Ed .Pp ひとたび接続が確立したなら、プロンプトの .Sq ppp は .Sq PPP に変わります: .Bd -literal -offset indent # ppp MyISP \&... ppp ON awfulhak> dial Ppp ON awfulhak> PPp ON awfulhak> PPP ON awfulhak> .Ed .Pp Ppp プロンプトは .Nm が認証フェースに入ったことを示します。PPp プロンプトは .Nm がネットワークフェーズに入ったことを示します。PPP プロンプトは .Nm がネットワーク層プロトコルの交渉に成功し、使用可能状態にあることを示します。 .Pp もし .Pa /etc/ppp/ppp.linkup が利用可能ならば、 .Em PPP 接続が確立された時に、その内容が実行されます。 接続が確立された後のバックグラウンドでのスクリプト実行については、 提供されている -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample (使用可能な置換文字列については、後述の .Dq shell と .Dq bg を参照してください) の .Dq pmdemand の例を参照してください。 同様に、接続が閉じられると、 .Pa /etc/ppp/ppp.linkdown ファイルの内容が実行されます。 これらのファイルのフォーマットは .Pa /etc/ppp/ppp.conf と同じです。 .Pp 以前のバージョンの .Nm では、デフォルト経路のような経路は .Pa ppp.linkup ファイルで追加し直す必要がありました。 現在では .Nm は、 .Dv HISADDR もしくは .Dv MYADDR が変化したときに、自動的に .Dv HISADDR もしくは .Dv MYADDR 文字列を含むすべての経路を更新する .Sq スティッキー経路 をサポートします。 .Sh バックグラウンドダイヤル .Nm を使って非対話的に接続を確立したい場合 (例えば .Xr crontab 5 エントリや .Xr at 1 ジョブから使うような場合) には、 .Fl background オプションを使います。 .Fl background が指定された場合、 .Nm はすぐに接続を確立しようとします。 複数の電話番号が指定された場合には、各電話番号が 1 回づつ試されます。 これらに失敗すると、 .Nm は即座に終了し、0 でない終了コードを返します。 接続に成功すると .Nm はデーモンになり、呼び出し側に終了コード 0 を返します。 デーモンは、リモートシステムが接続を終了した場合、 もしくは .Dv TERM シグナルを受け取った場合に、自動的に終了します。 .Sh ダイヤルオンデマンド デマンドダイヤル機能は .Fl auto または .Fl ddial オプションにて有効にされます。この場合にも .Pa /etc/ppp/ppp.conf で定義された接続先のラベルを指定しなければなりません。 これには、リモート接続先の IP アドレスを指定するための .Dq set ifaddr コマンドも書かれていなければなりません ( -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample を参照してください)。 .Bd -literal -offset indent # ppp -auto pmdemand .Ed .Pp .Fl auto または .Fl ddial が指定された時に .Nm はデーモンとして動作しますが、 .Pa /etc/ppp/ppp.conf 中で .Dq set server コマンドを使うことで、設定を確認したり変更したりすることができます。 .Po たとえば、 .Dq set server +3000 mypasswd とすると .Pc 次のように診断ポートを通じて接続することができます。 .Bd -literal -offset indent -# pppctl 3000 (tun0 を仮定 - ``set server'' の記述を参照) +# pppctl 3000 (tun0 を仮定) Password: PPP ON awfulhak> show who tcp (127.0.0.1:1028) * .Ed .Pp .Dq show who コマンドは現在 .Nm 自身に接続しているユーザの一覧を表示します。診断ソケットが閉じられる、 もしくは異なるソケットに変更された場合、すべての接続は即座に終了します。 .Pp .Fl auto モードにて 送信パケットが検出された時、 .Nm は (チャットスクリプトに基づいて) ダイヤルを行い、 通信相手に接続しようとします。 .Fl ddial モードでは回線がダウンしていることが確認された場合にはいつでも ダイヤルが行われます。 接続に失敗したら、デフォルトの動作では 30 秒間待ってから、 別の送信パケットが検出された時に接続しようとします。 -この動作は次の方法で変更できます。 -.Bd -literal -offset indent -set redial seconds|random[.nseconds|random] [dial_attempts] -.Ed .Pp -.Sq seconds +この動作は +.Dq set redial +コマンドで変更できます。 +.Pp +.No set redial Ar secs Ns Xo +.Oo + Ns Ar inc Ns +.Op - Ns Ar max Ns +.Oc Op . Ns Ar next +.Op Ar attempts +.Xc +.Pp +.Bl -tag -width attempts -compact +.It Ar secs は、再び接続しようとするまでの秒数です。 -引数が -.Sq random -の場合には、待ち時間を 0 秒から 30 秒の間でランダムに選びます。 -.Sq nseconds +引数がリテラル文字列 +.Sq Li random +の場合には、待ち時間を 1 秒以上から 30 秒以下の間でランダムに選びます。 +.It Ar inc +は秒数であり、 +新規にダイヤルするときに +.Ar secs +に加えられます。 +このタイムアウト値が +.Ar secs +に戻るのは、接続が成功裏に確立した後だけです。 +.Ar inc +のデフォルト値は 0 です。 +.It Ar maxinc +は、 +.Nm +が +.Ar secs +を増加させる最大回数です。 +.Ar maxinc +のデフォルト値は 10 です。 +.It Ar next は電話番号リストの中の次の番号をダイヤルする前に待つ秒数です。( .Dq set phone コマンドを参照してください)。これのデフォルトは 3 秒です。 -繰り返しますが、引数が -.Sq random -の場合には、待ち時間を 0 秒から 30 秒の間でランダムに選びます。 -.Sq dial_attempts +繰り返しますが、引数がリテラル文字列 +.Sq Li random +の場合には、待ち時間を 1 秒以上 30 秒以下の間でランダムに選びます。 +.It Ar attempts は、受け取った個々の送信パケットに対して、何回接続を試みるのかを示す 数字です。 -このパラメータが省略された場合には、以前の値がそのまま使われます。 -.Sq dial_attempts -に 0 が指定された場合には、 -.Nm -は接続できるまでダイヤルを続けます。 +.It Ar attempts +に 0 を指定すると、接続されるまで試みを続けます。 .Bd -literal -offset indent set redial 10.3 4 .Ed .Pp は個々の送信パケットに対して 4 回接続を試み、 番号間の待ち時間が 3 秒で、すべての番号を試した後に 10 秒待つことを表します。 複数の電話番号が指定されている場合でも、トータルのダイヤル回数は 4 回のままです。 (それぞれの番号を 4 回ダイヤルするのではありません)。 +.Pp +代りに、 +.Pp +.Bd -literal -offset indent +set redial 10+10-5.3 20 +.Ed +.Pp +は、 +.Nm +に接続を 20 回試みさせます。最初の試みの後は、 +.Nm +は 10 秒待ちます。 +次の試みの後は 20 秒待ちということを、 +6 番目の試みの後では 1 分待つところまで行います。 +次の 14 回の停止は、同じ 1 分間となります。 +.Nm +が接続し、切断した後、再度接続に失敗した場合、 +タイムアウト値は再度 10 秒から開始します。 +.Pp リンクの両端が .Nm -のデマンドダイヤルモードを利用している場合は、 +の +.Fl auto +ダイヤルモードを利用している場合は、 ダイヤル間隔を変更しておくのが良いでしょう。 もし、リンクの両端が同じタイムアウト時間に設定されていて、 リンクが切れて両方に送信待ちのパケットがあった場合、 両方が同時に相手を呼び出しあうことになってしまいます。 場所によっては、シリアルリンクに信頼性がなく、 切れるべきでない時にキャリアが失われるかもしれません。 セッションの途中で予期せずキャリアが失われた場合、 .Nm にリダイヤルさせることができます。 .Bd -literal -offset indent set reconnect timeout ntries .Ed .Pp このコマンドは、キャリアが失われた時に .Ar timeout 秒の間隔を置いて .Ar ntries 回まで接続を再確立するよう .Nm に指示します。例えば、 .Bd -literal -offset indent set reconnect 3 5 .Ed .Pp は、予期せぬキャリア喪失の際に .Ar 3 秒待ってから再接続を試みるように .Nm に指示します。これは .Nm があきらめる前に .Ar 5 回まで行われます。 ntries のデフォルト値は 0 (再接続しない) です。 このオプションを使用する際には注意が必要です。 もしローカル側のタイムアウトがリモート側よりもわずかに長いと、 リモート側がタイムアウトにより回線を切断した場合に、 再接続機能が (指定した回数まで) 起動されてしまいます。 注: この文脈においては、多くの LQR を喪失するとキャリア喪失を引き起こし、 ひいては再接続を引き起こします。 .Fl background フラグが指定された場合、接続が行えるまで すべての電話番号が最大 1 回ダイヤルされます。 .Dq set redial コマンドにて、リダイヤル期間の後に、 再接続回数を指定します。 リダイヤル値が指定した電話番号数より少ない場合、 指定した電話番号で使用されないものが出来ます。 プログラムを終了させるには、次のように入力してください。 .Bd -literal -offset indent PPP ON awfulhak> close ppp ON awfulhak> quit all .Ed .Pp .Dq quit コマンドは .Xr pppctl 8 もしくは .Xr telnet 1 による接続を終了しますが、 プログラム自身は終了させません。 .Nm も終了させたい場合には、 .Dq quit all を実行してください。 .Sh PPP 接続の受け入れ (方法その 1) .Em PPP 接続要求を受け入れるには、次の手順にしたがってください。 .Bl -enum .It モデムと、 (必要であれば) .Pa /etc/rc.serial が正しく設定されていることを確認します。 .Bl -bullet -compact .It フロー制御にはハードウェアハンドシェイク (CTS/RTS) を使います。 .It モデムはエコーバックを行わず (ATE0) 、コマンドの結果も報告しない (ATQ1) ように設定されていなければなりません。 .El .Pp .It モデムが接続されているポートで .Xr getty 8 が起動されるように .Pa /etc/ttys を編集します。 例えば、次のように設定すれば良いでしょう: .Pp .Dl ttyd1 "/usr/libexec/getty std.38400" dialup on secure .Pp .Xr getty 8 を起動するために .Xr init 8 プロセスに .Dv HUP シグナルを送るのを 忘れないでください: .Pp .Dl # kill -HUP 1 .It .Pa /usr/local/bin/ppplogin ファイルを次のような内容で作成します: .Bd -literal -offset indent #!/bin/sh exec /usr/sbin/ppp -direct incoming .Ed .Pp ダイレクトモード .Pq Fl direct では、 .Nm は標準入力と標準出力を使って動作します。クライアント動作の .Nm と同様に、 .Xr pppctl 8 を使用することで、構成された診断ポートに接続可能です。 .Pp ここで .Pa /etc/ppp/ppp.conf 中の .Ar incoming セクションが設定されていなければなりません。 .Pp .Ar incoming セクションに適当な .Dq allow users コマンドがあることを確かめておいてください。 .It 受け入れるユーザのアカウントを用意してください。 .Bd -literal ppp:xxxx:66:66:PPP Login User:/home/ppp:/usr/local/bin/ppplogin .Ed .Pp 詳細は .Xr adduser 8 と .Xr vipw 8 のマニュアル項目を参照してください。 .Dq accept dns および .Dq set nbns コマンドを使うことで IPCP によるドメインネームサーバと NetBIOS ネームサーバの 交渉を有効にすることが可能です。 下記の記述を参照してください。 .El .Pp .Sh PPP 接続の受け入れ (方法その 2) この方法は、 .Xr login 1 ではなく .Nm ppp で接続の認証を行うという点が異なります。 .Bl -enum .It .Pa /etc/gettytab の default セクションに .Dq pp ケーパビリティを指定することで ppp を自動的に認識するように 設定してください。 .Bd -literal default:\\ :pp=/usr/local/bin/ppplogin:\\ ..... .Ed .It 上記の方法その 1 の最初の 3 手順と同じように、 シリアルデバイスを設定し、 .Xr getty 8 を有効にして、 .Pa /usr/local/bin/ppplogin を作成してください。 .It .Pa /etc/ppp/ppp.conf の .Sq incoming ラベル (もしくは .Pa ppplogin が用いるラベルならなんでも構いません) 下に .Dq enable chap か .Dq enable pap .Pq もしくはその両方 を加えてください。 .It .Pa /etc/ppp/ppp.secret に、受け入れるユーザそれぞれについて、エントリを作成してください。 .Bd -literal Pfredxxxx Pgeorgeyyyy .Ed .El .Pp これで、 .Xr getty 8 は (HDLC フレームヘッダを認識することで) ppp 接続を検出すると、すぐに .Dq /usr/local/bin/ppplogin を実行します。 .Pp 上記のように PAP もしくは CHAP を有効にすることは .Em 必須 です。そうしなければ、あらゆる人があなたのマシンにパスワード .Em なしに ppp セッションを確立することを許可し、 あらゆる種類の潜在的な攻撃に対して門戸を開いていることになります。 .Sh 内向き接続の認証 通常、接続の受信側は相手が相手自身を認証することを要求します。 これは通常 .Xr login 1 にて行われますが、代りに PAP か CHAP を使用可能です。 2 つのうちで CHAP の方がより安全ですが、 クライアントによってはサポートしていないものがあります。 どちらを使いたいか決めたら、 .Sq enable chap または .Sq enable pap を .Pa ppp.conf の適切なセクションに追加してください。 .Pp その後、 .Pa /etc/ppp/ppp.secret ファイルの設定を行う必要があります。 このファイルは、クライアントになりうるマシンごとに 1 行を含みます。 -各行は 4 つまでのフィールドからなります: -.Bd -literal -offset indent -name key [hisaddr [label]] -.Ed +各行は 5 つまでのフィールドからなります: +.Pp +.Ar name Ar key Oo +.Ar hisaddr Op Ar label Op Ar callback-number +.Oc .Pp .Ar name と .Ar key -は期待されるクライアントを指定します。 +は期待されるクライアントのユーザ名とパスワードを指定します。 .Ar key が .Dq \&* で PAP が使用される場合、 .Nm は認証時にパスワードデータベース .Pq Xr passwd 5 を検索します。 .Pa ppp.secret の如何なる -.Ar name No / Ar key +.Ar name Ns No / Ar key の組み合わせにおいても適切でない返答をクライアントが与える場合、 認証は失敗します。 .Pp 認証に成功したならば、 .Pq 指定時には .Ar hisaddr を IP 番号交渉時に使用します。詳細は .Dq set ifaddr コマンドを参照してください。 .Pp 認証に成功し .Ar label が指定された場合、現在のシステムラベルは .Ar label にマッチするように修正されます。 このことはファイル .Pa ppp.linkup と .Pa ppp.linkdown の後続のパーズに影響があります。 +.Pp +認証に成功し +.Ar callback-number +が指定され +.Dq set callback +が +.Pa ppp.conf +で指定された場合、クライアントは指定された番号でコールバックされます。 +CBCP が使用される場合、 +.Dq set cbcp +コマンドに渡すのと同様の形式で、 +.Ar callback-number +にもまた番号のリストまたは +.Dq \&* +を含むことが可能です。 +この値は、 +.Nm +で後続する CBCP フェーズで使用します。 .Sh PPP オーバ TCP (別名: トンネリング) シリアルリンク上以外の .Nm の使用方法として、 device にホストとポートを指定することにより、 TCP 接続を使用することが可能です: .Pp .Dl set device ui-gate:6669 .Pp シリアルデバイスをオープンする代りに、 .Nm は指定されたマシンの指定されたソケットへの TCP 接続をオープンします。 .Nm は telnet プロトコルを使用しないこと、 telnet サーバと交渉できないことに注意を払うべきです。 受信マシン (ui-gate) 上に、 この ppp 接続を受信するポートを設定する必要があります。まず .Pa /etc/services を更新して、サービスを定義します: .Pp .Dl ppp-in 6669/tcp # Incoming PPP connections over tcp .Pp そして .Pa /etc/inetd.conf を更新して、このポートへの受信接続をどのように扱うかを .Xr inetd 8 に指示します: .Pp .Dl ppp-in stream tcp nowait root /usr/sbin/ppp ppp -direct ppp-in .Pp .Pa /etc/inetd.conf を更新した後には、 .Xr inetd 8 に .Dv HUP シグナルを送るのをお忘れなく。 ここではラベル名 .Dq ppp-in を使用します。 ui-gate (受信側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含みます: .Bd -literal -offset indent ppp-in: set timeout 0 set ifaddr 10.0.4.1 10.0.4.2 add 10.0.1.0/24 10.0.4.2 .Ed .Pp セキュリティのために PAP もしくは CHAP の設定をしたいかもしれません。 PAP を有効にするには次の行を追加します: .Bd -literal -offset indent enable PAP .Ed .Pp また、次のエントリを .Pa /etc/ppp/ppp.secret に作成する必要があります: .Bd -literal -offset indent MyAuthName MyAuthPasswd .Ed .Pp .Ar MyAuthPasswd が .Pq Dq * の場合には、パスワードは .Xr passwd 5 データベースから検索されます。 .Pp awfulhak (起動側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含む必要があります: .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in set dial set timeout 30 set log Phase Chat Connect hdlc LCP IPCP CCP tun set ifaddr 10.0.4.2 10.0.4.1 add 10.0.2.0/24 10.0.4.1 .Ed .Pp PAP を有効にしようとしている場合、次の設定も必要です: .Bd -literal -offset indent set authname MyAuthName set authkey MyAuthKey .Ed .Pp 我々は、 ui-gate に 10.0.4.1 のアドレスを割り当て、 awfulhak に 10.0.4.2 のアドレスを割り当てようとしています。 接続をオープンするためには、次の内容をタイプするだけで良いです。 .Pp .Dl awfulhak # ppp -background ui-gate .Pp 結果として、 awfulhak にはネットワーク 10.0.2.0/24 への新たな「経路」が、 ui-gate にはネットワーク 10.0.1.0/24 への新たな「経路」が、 TCP 接続経由でそれぞれ作成されます。 ネットワークは実質的にブリッジされます - 下位レベルの TCP 接続はパブリックなネットワーク (例えばインターネット) を またがっても良いです。 また 2 つのゲートウェイ間では ppp トラフィックは 概念的に TCP ストリーム中でカプセル化されます (パケットがパケットに対応するわけではありません)。 この機構の大きな欠点は、同時に 2 つの「配送保証」機構が存在することです - この 2 つとは、下位レベルの TCP ストリームと .Em PPP リンク上で使用されるプロトコルであり、おそらくまた TCP でしょう。 パケット喪失が起ると、両者はそれぞれの方法で喪失した パケットを再送しようと するでしょう。 .Sh パケットエイリアシング .Fl alias コマンドラインオプションにより、 パケットエイリアシングが有効になります。 これにより、 .Nm ホストがローカルエリアネットワークの他のコンピュータに対して マスカレードゲートウェイとして動作するようになります。 送信される IP パケットは、まるで .Nm ホストから来たかのようにエイリアスされ、 受信パケットは、それがローカルエリアネットワークの正しいマシンに 送られるようにエイリアスが戻されます。 パケットエイリアシングにより、 未登録でプライベートなサブネット上のコンピュータを 外部から見えないようにしつつ、 インターネットへアクセス可能とします。 一般に、 .Nm が正しく動作していることの確認は、 まず最初にパケットエイリアシングを禁止して行います。 次に .Fl alias オプションを有効にして、 .Nm ホストの上で (ウェブブラウザや .Xr telnet 1 , .Xr ftp 1 , .Xr ping 8 , .Xr traceroute 8 などの) ネットワークアプリケーションの動作を確認します。 最後に、LAN 上の別のコンピュータの上で同様なアプリケーションの 動作を確認することになります。 .Nm ホストではネットワークアプリケーションが正しく動作するのに、 LAN 上の別のコンピュータでは動かないのであれば、マスカレードソフトウェアは 正しく動いているけれども、ホストが IP パケットをフォワーディングしないか、 ひょっとするとパケットが送られて来ていないかのどちらかです。 .Pa /etc/rc.conf で IP フォワーディングが有効にされていることと、 他のコンピュータで .Nm ホストがその LAN のゲートウェイとして 指定されていることを確認してください。 .Sh パケットのフィルタリング この実装では、パケットのフィルタリングがサポートされています。 .Em in フィルタ、 .Em out フィルタ、 .Em dial フィルタ、そして .Em alive フィルタの 4 種類のフィルタがあります。 ここでは基本的なことについて書くことにします。 .Bl -bullet .It フィルタ定義は次のような構文になっています。 .Pp set filter .Ar name .Ar rule-no .Ar action -.Op Ar src_addr Ns Op / Ns Ar width +.Oo +.Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width -[ -.Ar proto -.Op src Op Ar cmp No Ar port -.Op dst Op Ar cmp No Ar port +.Oc +.Oo Ar proto Op src Ar cmp port +.Op dst Ar cmp port .Op estab .Op syn .Op finrst -] +.Oc .Bl -enum .It .Ar name は .Sq in , .Sq out , .Sq dial , .Sq alive のいずれかです。 .It .Ar rule-no は .Sq 0 から .Sq 19 までの数値で、ルール番号を指定します。 ルールは .Ar rule-no の番号順に指定されます。 ただしルール .Sq 0 が指定されている場合のみです。 .It .Ar action は .Sq permit , .Sq deny のいずれかです。 もし、あるパケットがルールに一致した場合、 結びつけられた action が直ちに実行されます。 .It .Op Ar src_addr Ns Op / Ns Ar width と .Op Ar dst_addr Ns Op / Ns Ar width は始点と終点の IP アドレスです。 .Op / Ns Ar width が指定された場合には、それによって適切なネットマスクのビット値を与え、 アドレスの範囲を指定することができます。 .It .Ar proto は .Sq icmp , .Sq udp , .Sq tcp のうちのいずれか 1 つです。 .It .Ar cmp は .Sq \< , .Sq \&eq , .Sq \> のうちいずれか 1 つです。それぞれ、より小さい、等しい、 より大きいを意味します。 .Ar port はポート番号で指定するか、 .Pa /etc/services のサービス名で指定することができます。 .It .Sq estab , .Sq syn , .Sq finrst フラグは .Ar proto が .Sq tcp に設定されているときにのみ許可され、それぞれ TH_ACK、TH_SYN、および TH_FIN もしくは TH_RST という TCP フラグを表わします。 .El .Pp .It 各フィルタはルール 0 から始まり、40 個までのルールをもつことができます。 規則のルールは、ルール 0 が定義されていなければ、有効にはなりません。 すなわち、デフォルトではすべてが通されます。 .It パケットにマッチするルールが無い場合は、パケットは破棄 (ブロック) されます。 .It すべての規則を消去するには、 .Dq set filter Ar name No -1 を使ってください。 .El .Pp -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample . を参照してください。 .Sh アイドルタイマの設定 アイドルタイマを調べたり/設定するためには、それぞれ .Dq show bundle と .Dq set timeout コマンドを使ってください: .Bd -literal -offset indent ppp ON awfulhak> set timeout 600 .Ed .Pp タイムアウト時間は秒数で指定します。デフォルト値は timeout が 180 秒 .Pp 3 分 です。 アイドルタイマ機能を使わないようにするためには、 次のコマンドを利用してください。 .Bd -literal -offset indent ppp ON awfulhak> set timeout 0 .Ed .Pp .Fl ddial と .Fl dedicated モードではアイドルタイムアウトは無視されます。 .Fl auto モードでは、アイドルタイムアウトが発生すると .Nm プログラムは実行したままで .Em PPP セッションを終了します。別の引金となるパケットがきた時に リンクを再び確立しようとします。 .Sh Predictor-1 および DEFLATE 圧縮 .Nm は Predictor type 1 圧縮および deflate 圧縮をサポートしています。 デフォルトでは、 .Nm は、接続相手が同意 .Pq あるいは要求 した場合に、 この機能を使おうと (もしくは受け入れようと) します。 .Nm は deflate プロトコルを優先します。 これらの機能を使用したくない時には .Dq disable と .Dq deny のコマンドを参照してください。 .Pp .Dq disable deflate か .Dq deny deflate の一方を使用することにより、 方向ごとに異ったアルゴリズムを使用することができます。 .Pq 接続相手が両方のプロトコルをサポートしていると仮定しています。 .Pp デフォルトでは、DEFLATE について交渉するときには .Nm はウィンドウサイズとして 15 を使います。この動作を変更したい場合には .Dq set deflate コマンドを参照してください。 .Pp デフォルトでは無効にされ受け付けませんが、DEFLATE24 と呼ばれる特殊な アルゴリズムを使用することもできます。これは CCP ID 24 を 交渉に使う点を除いては DEFLATE と完全に同じものです。 これを使用することで .Nm は .Nm pppd バージョン 2.3.* と DEFLATE 交渉を成功させることができます。 .Sh IP アドレスの制御 .Nm は IP アドレスの交渉のために IPCP を使います。接続の両側は、自分が 使おうとするアドレスを提示し、要求された IP アドレスが受け入れ可能な ものであれば、相手に ACK (肯定応答) を返します。 受け入れることができなければ、別の IP アドレスの使用を促すために .Nm は相手に NAK (否定応答) を返します。 接続の両側が受け取った要求に同意し (ACK を送っ) た時、 IPCP はオープン状態にセットされ、ネットワーク層での接続が確立されます。 IPCP の動作を制御するために、この実装はローカルとリモートの IP アドレスを定義するための .Dq set ifaddr コマンドを持っています。 .Bd -literal -offset indent -set ifaddr [src_addr [dst_addr [netmask [trigger_addr]]]] +.No set ifaddr Oo Ar src_addr Ns +.Op / Ns Ar \&nn +.Oo Ar dst_addr Ns Op / Ns Ar \&nn +.Oo Ar netmask +.Op Ar trigger_addr +.Oc +.Oc +.Oc .Ed .Pp ここで、 .Sq src_addr はローカル側で使おうと思っている IP アドレスで、 .Sq dst_addr はリモート側が使用すべき IP アドレスです。 .Sq netmask は使用すべきネットマスクです。 .Sq src_addr のデフォルトは現在の .Xr hostname 1 のもの、 .Sq dst_addr のデフォルトは 0.0.0.0 であり、 .Sq netmask のデフォルトは .Sq src_addr に適したマスク値です。 .Sq netmask はデフォルトより小さくすることのみ可能です。 ほとんどのカーネルが POINTOPOINT インタフェースのネットマスクを 無視するので、便利な値は 255.255.255.255 でしょう。 .Pp 誤った .Em PPP の実装には、接続交渉のために、 .Sq src_addr ではなく特別な IP アドレスを使用しなければならないものがあります。 この場合、 .Sq trigger_addr で指定した IP アドレスが使用されます。 相手がこの提案された番号に同意しない限り、経路表には影響しません。 .Bd -literal -offset indent set ifaddr 192.244.177.38 192.244.177.2 255.255.255.255 0.0.0.0 .Ed .Pp 上の例の意味は次の通りです: .Pp .Bl -bullet -compact .It 自分の IP アドレスとしてまず 0.0.0.0 を提案しますが、アドレス 192.244.177.38 のみは受け付けます。 .It 相手側のアドレスとして 192.244.177.2 を使うように要求し, 192.244.177.2 以外のどんなアドレスを使うことも許可しません。 相手側が別の IP アドレスを要求してきた時は、いつでも 192.244.177.2 を提案します。 .It 経路表のネットマスク値は 0xffffffff に設定されます。 .El .Pp これは、両側が既に決まった IP アドレスを持っている場合には うまくいきますが、多くの場合、一方がすべての IP アドレスを制御する -サーバとして動作しており、もう一方はその方針に従わなくてはなりません。 -より柔軟な動作をさせるために、`ifaddr' 変数の IP アドレス指定を -もっと緩やかにすることが可能です: +サーバとして動作しており、もう一方はその方針に従います。 +より柔軟な動作をさせるために、 +.Dq set ifaddr +コマンドで IP アドレス指定をもっと緩やかにすることが可能です: .Pp .Dl set ifaddr 192.244.177.38/24 192.244.177.2/20 .Pp -スラッシュ (/) に続く数字は、この IP アドレスで意味のあるビットの数を +スラッシュ +.Pq Dq / +に続く数字は、この IP アドレスで意味のあるビットの数を 表現しています。上の例は次のことを示しています。 .Pp .Bl -bullet -compact .It 可能なら自分のアドレスとして 192.244.177.38 を使おうとしますが、 192.244.177.0 から 192.244.177.255 の間の任意の IP アドレスも受け入れます。 .It 相手のアドレスとして 192.244.177.2 を使うことを希望しますが、 192.244.176.0 から 192.244.191.255 の間の任意の IP アドレスも許可します。 .It すでにお気づきと思いますが、 192.244.177.2 は 192.244.177.2/32 と書くことと 等価です。 .It 例外として、0 は 0.0.0.0/0 と等価であり、希望する IP アドレスは 特に無く、リモート接続先の選択に従うことを意味します。 0 を使用した場合は、接続が確立するまで、経路表のエントリは まったく設定されません。 .It 192.244.177.2/0 は、どんな IP アドレスでも受け入れる/許可することを 意味しますが、最初に 192.244.177.2 を使うように提案します。 .El .Pp .Sh インターネットサービスプロバイダと接続する プロバイダに接続する際には、次のステップを踏む必要があるでしょう: .Bl -enum .It .Dq set phone コマンドを使って、ダイヤルスクリプトにプロバイダの電話番号を記述します。 ダイヤルやリダイヤルに使用する電話番号は、 -パイプ (|) またはコロン (:) で区切って -複数指定することができます。例えば、次のようになります。 +パイプ +.Pq Dq \&| +またはコロン +.Pq Dq \&: +で区切って複数指定することができます。例えば、次のようになります。 +.Pq Dq \&: : .Bd -literal -offset indent -set phone "111[|222]...[:333[|444]...]..." +.No set phone Ar telno Ns Xo +.Oo \&| Ns Ar backupnumber +.Oc Ns ... Ns Oo : Ns Ar nextnumber +.Oc Ns ... +.Xc .Ed .Pp 最初のパイプで区切られたリストの番号は、 直前の番号でダイヤルもしくはログインスクリプトが失敗した場合のみ使用されます。 コロンで区切られた番号は、直前の番号の使用によりなにが起ったのかにかかわらず、 この順番で使用されます。例えば: .Bd -literal -offset indent set phone "1234567|2345678:3456789|4567890" .Ed .Pp この場合、まず 1234567 にダイヤルしてみます。 ダイヤルもしくはログインスクリプトに失敗したら、 次は 2345678 を使用します。 しかしこれはダイヤルもしくはログインスクリプトに失敗したとき *のみ* です。 このダイヤルの後、3456789 が使用されます。 4567890 は 345689 でダイヤルもしくはログインスクリプトに失敗したときのみ 使用されます。 2345678 のログインスクリプトが失敗したとしても、次の番号は 3456789 です。 必要な数だけ、パイプとコロンを使用可能です (しかし、通常はパイプのみかコロンのみであり両方の使用はないでしょう)。 次の番号へのリダイヤルまでのタイムアウトは、すべての番号にて使用されます。 リストが終了すると、 通常のリダイヤル期間だけ待ち、 最初から再開します。 .Dq set dial コマンドの \\\\T 文字列は選択された番号で置きかえられます。 (以降を参照してください)。 .It リダイヤルに関する設定は、 .Dq set redial で行います。 例えば回線の調子が悪かったり、 (最近では それほど多くないでしょうが) プロバイダがいつも話中だったりすると、 次のように設定したくなるかもしれません: .Bd -literal -offset indent set redial 10 4 .Ed .Pp これは最初の番号にリダイヤルを行う前に 10 秒待って、 4 回までダイヤルしてみるという意味になります。 .It .Dq set dial と .Dq set login コマンドを使ってログイン手続きを記述します。 .Dq set dial コマンドはモデムと通信してプロバイダへのリンクを確立するのに使われます。 例えば、次のようになります: .Bd -literal -offset indent set dial "ABORT BUSY ABORT NO\\\\sCARRIER TIMEOUT 4 \\"\\" \e ATZ OK-ATZ-OK ATDT\\\\T TIMEOUT 60 CONNECT" .Ed .Pp このモデム「チャット」文字列の意味は次の通りです。 .Bl -bullet .It \&"BUSY" または "NO CARRIER" を受信した場合には処理を中止します。 .It タイムアウトを 4 秒にセットします。 .It 文字列の受信待ちは行いません。 .It ATZ を送信します。 .It OK の受信待ちを行います。もし 4 秒以内に受信できなければ、 もう 1 度 ATZ を送信し、OK の受信待ちを行います。 .It ATDTxxxxxxx を送信します。xxxxxxx は 上記の電話番号リストの中の、次にダイヤルする番号です。 .It タイムアウトを 60 にセットします。 .It 文字列 CONNECT の受信待ちを行います。 .El .Pp 一旦接続が確立されると、ログインスクリプトが実行されます。 このスクリプトはダイヤルスクリプトと同じスタイルで書かれますが、 -パスワードがログされないように注意してください: +パスワードが記録されないように注意してください: .Bd -literal -offset indent set authkey MySecret set login "TIMEOUT 15 login:-\\\\r-login: awfulhak \e word: \\\\P ocol: PPP HELLO" .Ed .Pp このログイン「チャット」文字列の意味は次の通りです。 .Bl -bullet .It タイムアウトを 15 秒にセットします。 .It "login:" の受信待ちを行います。もし受信できなければ 復改文字を送信して、再び "login:" の受信待ちを行います。 .It "awfulhak" を送信します。 .It "word:" ("Password:" プロンプトの末尾) の受信待ちを行います。 .It .Ar authkey に現在設定されている値を送信します。 .It "ocol:" ("Protocol:" プロンプトの末尾) の受信待ちを行います。 .It "PPP" を送信します。 .It "HELLO" の受信待ちを行います。 .El .Pp .Dq set authkey -( +コマンドのログは特別な方法でとられます。 .Ar command -ログ使用時には) コマンドのログは特別な方法でとられ、( -.Sq ******** -とログされますので) 実際のパスワードが危険にさらされることはありません。 +または .Ar chat -ログ使用時には、実際のパスワードの代りに '\\P' とログされます。 +のログが有効な時は、実際のパスワードは記録されません。 +代りに +.Sq ******** Ns +が記録されます。 .Pp ログインスクリプトはプロバイダによって大きく違うものになるでしょう。 始めてそれを設定するときには .Em チャットログを有効化 することで、あなたのスクリプトが予定通りに動いているかを 調べることができます。 .It シリアル回線と通信速度を指定するためには -.Dq set line +.Dq set device と .Dq set speed を使います。例えば次のようになります。 .Bd -literal -offset indent -set line /dev/cuaa0 +set device /dev/cuaa0 set speed 115200 .Ed .Pp FreeBSD では cuaa0 が 1 つめのシリアルポートになります。 OpenBSD で .Nm を実行している場合には cua00 が 1 つめです。 あなたのモデムが 28800 かそれ以上のビットレートで通信することが できるなら、シリアルポートの速度には 115200 を指定しておくべきでしょう。 一般に、シリアルポートの速度はモデムの速度の約 4 倍にしておきます。 .It .Dq set ifaddr コマンドで IP アドレスを定義します。 .Bl -bullet .It プロバイダがどの IP アドレスを使っているのか知っている場合には、 それをリモートアドレス (dst_addr) として使ってください。 知らない場合には、10.0.0.2/0 か何かを使ってください (以降を参照してください)。 .It 特定の IP アドレスをプロバイダから割り当てられている場合は、 それをローカルアドレス (src_addr) として使ってください。 .It プロバイダが IP アドレスを動的に割り当てる場合は、適当に控えめで 緩やかに記述した IP アドレスをローカルアドレスに選んでください。 10.0.0.1/0 が適切でしょう。 / に続く数値は、このアドレスのうち何ビットを重視しているかを示します。 もしもクラス C のネットワーク 1.2.3.0 上のアドレスを使うことを 主張したいのなら、1.2.3.1/24 と指定することができます。 .It プロバイダがあなたが提示した最初の IP 番号を受け付ける場合、 第 3, 4 の引数に .Dq 0.0.0.0 を指定してください。 これによりプロバイダが番号を割り当てます。 (3 つめの引数は、 .Sq src_addr に対してデフォルトのマスクよりも制約が緩いため、無視されます。) .El .Pp 自分の IP アドレスもプロバイダの IP アドレスも 知らない場合には、次の例のようにするとよいでしょう。 .Bd -literal -offset indent set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0 .Ed .Pp .It ほとんどの場合、プロバイダはデフォルトルータでもあるでしょう。 この場合、次の行を .Pa /etc/ppp/ppp.conf に追加します。 .Bd -literal -offset indent add default HISADDR .Ed .Pp これは、 .Nm 接続先のアドレスが何であっても .Pq この例では 10.0.0.2 デフォルト経路として追加するように指示します。 この経路は .Sq スティッキー です。これは .Dv HISADDR の値が変わると、経路もそれに従って自動的に更新されるという意味です。 .Pp 以前のバージョンの .Nm では .Pa /etc/ppp/ppp.linkup ファイルにこれと似たエントリが必要でした。 .Sq スティッキー経路 の出現により、これはもはや必要ではなくなりました。 .It プロバイダが PAP/CHAP による認証を要求している場合は、 .Pa /etc/ppp/ppp.conf ファイルに次の行を追加してください: .Bd -literal -offset indent set authname MyName set authkey MyPassword .Ed .Pp デフォルトではどちらも受け付けられますので、ISP が何を要求しても大丈夫です。 .Pp PAP もしくは CHAP を使用する場合、ログインスクリプトはほとんどの場合、 必要とされないことを記述しておくべきでしょう。 .It 次のような行を加え、ISP にネームサーバアドレスを確認してください。 .Bd -literal -offset indent enable dns .Pp .Ed ローカル DNS を走らせている場合には、これを .Em やらない でください。 .Nm は単純に .Pa /etc/resolv.conf に nameserver 行を入れることで、ローカル DNS の使用を 出し抜いてしまうからです。 .El .Pp 現実の例を見たい場合には、 -.Pa /etc/ppp/ppp.conf.sample +.Pa /usr/share/examples/ppp/ppp.conf.sample と -.Pa /etc/ppp/ppp.linkup.sample +.Pa /usr/share/examples/ppp/ppp.linkup.sample を参照してください。 ラベル pmdemand は、ほとんどのプロバイダで使用できるでしょう。 .Sh ログ機能 .Nm は次のログ情報を、 .Xr syslog 3 経由で、もしくはスクリーンに出力することができます: .Pp .Bl -tag -width XXXXXXXXX -offset XXX -compact .It Li Async 非同期レベルパケットの 16 進ダンプ。 .It Li CBCP CBCP (CallBack Control Protocol) ログの生成。 .It Li CCP CCP パケットトレースの生成。 .It Li Chat .Sq dial , .Sq login , .Sq hangup のチャットスクリプトのトレースログの生成。 .It Li Command コマンド実行のログ。 .It Li Connect 文字列 "CONNECT" を含むチャット行のログ。 .It Li Debug デバッグ情報のログ。 .It Li HDLC HDLC パケットの 16 進ダンプ。 .It Li ID0 ユーザ ID 0 で実行された全関数呼び出しを詳細に記録。 .It Li IPCP IPCP パケットトレースの生成。 .It Li LCP LCP パケットトレースの生成。 .It Li LQM LQR レポートの生成。 .It Li Phase フェーズ遷移ログの出力。 .It Li TCP/IP 全 TCP/IP パケットのダンプ。 .It Li Timer タイマ操作のログ。 .It Li TUN ログの各行に tun デバイスを含めます .It Li Warning 端末デバイスへの出力。端末が存在しない場合は、 .Dv LOG_WARNING を使用してログファイルに送ります。 .It Li Error 端末デバイスとログファイルへの出力で、 .Dv LOG_ERROR を使用します。 .It Li Alert ログファイルへの出力で、 .Dv LOG_ALERT を使用します。 .El .Pp .Dq set log コマンドで、ログの出力レベルを設定することができます。 また、複数のレベルを単一コマンドラインにて指定することも可能です。 デフォルトは、 .Dq set log Phase です。 .Pp スクリーンに直接ログを表示することも可能です。 文法は同じで、語 .Dq local が .Dq set log の直後に付くことだけが違います。 デフォルトは .Dq set log local (つまり、マスクされない警告、エラーと注意のみ出力) です。 .Pp .Dq set log Op local -への最初の引数が '+' か '-' の文字で始まる場合、 -現在のログレベルを消去せずに修正します。例えば: +への最初の引数が +.Sq + +か +.Sq - +の文字で始まる場合、現在のログレベルを消去せずに修正します。例えば: .Bd -literal -offset indent PPP ON awfulhak> set log phase PPP ON awfulhak> show log Log: Phase Warning Error Alert Local: Warning Error Alert PPP ON awfulhak> set log +tcp/ip -warning PPP ON awfulhak> set log local +command PPP ON awfulhak> show log Log: Phase TCP/IP Warning Error Alert Local: Command Warning Error Alert .Ed .Pp レベル Warning, Error, Alert のメッセージログは .Dq set log Op local では制御できません。 .Pp .Ar Warning -レベルは特別で、ローカルに表示可能な場合にはログされません。 +レベルは特別で、ローカルに表示可能な場合には記録されません。 .Sh シグナルハンドリング .Nm は次のシグナルを扱います: .Bl -tag -width XX .It INT このシグナルを受信すると、現在の接続がもしあればそれを終了します。 .Fl auto もしくは .Fl ddial のモードではない場合、 .Nm は終了します。 .It HUP, TERM, QUIT .Nm を終了させます。 .It USR2 .Nm に全サーバソケットを閉じさせ、すべての既存の診断ポートへの接続を 取り下げます。 .El .Pp .Sh マルチリンク PPP .Em PPP 相手に接続するのに複数の物理的なリンクを利用したいなら、 接続相手も .Em マルチリンク PPP プロトコルを理解する必要があります。 仕様の詳細は RFC 1990 を参照してください。 .Pp 接続先は、 .Dq 終点の選択 とその .Dq 認証 ID の組み合わせによって識別されます。 これらの一方、もしくは両方を指定することができます。 最低でも片方は指定しておくことが推奨されます。 そうでないと、すべてのリンクが実際に同一のプログラムに接続されていることを 確認する方法がなくなり、 混乱してロックアップを引き起こすことがあります。 ローカルには、これらの識別変数は .Dq set enddisc と .Dq set authname コマンドを用いることで指定されます。先立って接続相手と .Sq authname .Pq と Sq authkey について合意しておく必要があります。 .Pp マルチリンクの能力は .Dq set mrru コマンド (set maximum reconstructed receive unit) を用いることで 有効になります。一度マルチリンクが有効になれば、 .Nm は接続相手とマルチリンク接続の交渉を行います。 .Pp デフォルトでは .Po .Sq deflink と呼ばれる .Pc ただ 1 つの .Sq リンク のみが有効です。さらにリンクを作成するには .Dq clone コマンドが使われます。このコマンドは既存のリンクを複製します。 それは次の点を除いてすべての性質が同じものです: .Bl -enum .It 新しいリンクは .Dq clone コマンドラインで指定された独自の名前を持ちます。 .It 新しいリンクは .Sq interactive リンクです。そのモードは次の .Dq set mode コマンドで変更することができます。 .It 新しいリンクは .Sq closed の状態にあります。 .El .Pp すべての有効なリンクのまとめは、 .Dq show links コマンドを用いて見ることができます。 .Pp 一度リンクが作成されると、コマンドの使用方法が変わります。 すべてのリンク固有のコマンドの前には、 .Dq link Ar name プレフィックスをつけて、 コマンドを適用するリンクを指定する必要があります。 .Nm は十分賢いので、 利用可能なリンクが 1 つだけの場合には、 .Dq link Ar name プレフィックスは不要です。 .Pp コマンドの中には依然としてリンクの指定なしに使用できるものがあり、それは .Sq バンドル レベルの操作を行います。たとえば、2 つ以上のリンクが存在するとき .Dq show ccp はマルチリンクレベルの CPP 設定と統計を表示し .Dq link deflink show ccp は .Dq deflink のリンクレベルの同じ情報を表示します。 .Pp これらの情報を用いて、次の設定を用いることができます: .Pp .Bd -literal -offset indent mp: set timeout 0 set log phase chat set device /dev/cuaa0 /dev/cuaa1 /dev/cuaa2 set phone "123456789" set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\\" ATZ \e OK-AT-OK \\\\dATDT\\\\T TIMEOUT 45 CONNECT" set login set ifaddr 10.0.0.1/0 10.0.0.2/0 set authname ppp set authkey ppppassword set mrru 1500 clone 1,2,3 link deflink remove .Ed .Pp すべての複製が設定の最後で行われていることに注意してください。 一般にはリンクは最初に設定され、そして複製されます。 あなたが常にすべてのリンクがアップ状態であることを望む場合には、 設定の最後に次の行を追加することができます。 .Pp .Bd -literal -offset indent link 1,2,3 set mode ddial .Ed .Pp リンクが必要に応じてダイヤルされることを望む場合には、次のコマンドを 使うことができます。 .Pp .Bd -literal -offset indent link * set mode auto .Ed .Pp 上記の .Dq set device 行を取り除き、 .Dq clone コマンドに続けて次の内容を指定することで、 リンクを特定の名前に結びつけることもできます: .Pp .Bd -literal -offset indent link 1 set device /dev/cuaa0 link 2 set device /dev/cuaa1 link 3 set device /dev/cuaa2 .Ed .Pp どのコマンドが ( .Dq link コマンドを使用した) コンテキスト (文脈) を要求し、 どのコマンドがコンテキストをオプションとし、 そしてどのコマンドがコンテキストを一切とらないかを調べるには、 .Dq help コマンドを使用します。 .Pp .Nm が接続相手と .Em マルチリンク モードで交渉をすると、 .Nm はローカルドメインソケットを .Pa /var/run ディレクトリに作成します。このソケットは、 リンク情報 (実際のリンクファイル記述子も含む) を、異なる .Nm の間で受け渡しするために使われます。 この機能によって、 .Nm はシリアル回線の初期制御を行う必要なしに .Xr getty 8 から、もしくは直接 .Pa /etc/gettydefs から ( .Sq pp= ケーパビリティを用いて) 実行することが可能となっています。 ひとたび .Nm がマルチリンクモードの交渉を行うと、 .Nm は自分がオープンした リンクをすでに実行されている任意の他のプロセスに渡すことができます。 すでに実行されているプロセスがない場合、 .Nm はマスタとして振る舞い、ソケットを作成し、新たな接続を待ちます。 .Sh PPP コマンドリスト この節では利用可能コマンドとその効果をリストします。 .Nm ppp セッションで対話的に使用することも、 設定ファイルで指定することも、 .Xr pppctl 8 もしくは .Xr telnet 1 セッションで指定することも可能です。 .Bl -tag -width XX .It accept|deny|enable|disable Ar option.... これらのディレクティブは 最初の接続においてどのように相手と交渉するかを .Nm に指示します。各 .Dq option は、accept/deny および enable/disable のデフォルトを持ちます。 .Dq accept は相手がこのオプションを要求したら、ACK を送ることを意味します。 .Dq deny は相手がこのオプションを要求したら、NAK を送ることを意味します。 .Dq enable はこのオプションを当方が要求することを意味します。 .Dq disable はこのオプションを当方が要求しないことを意味します。 .Pp .Dq option は次のいずれかです: .Bl -tag -width XX .It acfcomp デフォルト: enable かつ accept。 ACFComp はアドレスおよびコントロールフィールド圧縮 (Address and Control Field Compression) を意味します。 LCP パケット以外は非常に良く似たフィールドを持ちますので、 簡単に圧縮可能です。 -.It chap +.It chap Ns Op \&05 デフォルト: disable かつ accept。 CHAP はチャレンジ交換認証プロトコル (Challenge Handshake Authentication Protocol) を意味します。 CHAP もしくは PAP (後述) のどちらか一方のみ交渉可能です。 CHAP では、認証者は「チャレンジ」メッセージを相手に送ります。 相手は一方向ハッシュ関数を使用して「チャレンジ」を暗号化し、 結果を送り返します。 認証者は同じことを行い結果を比較します。 この機構の利点は、接続を介してパスワードを送らないことです。 接続が最初に確立する時にチャレンジが行われます。 更なるチャレンジが行われるかもしれません。 相手の認証を行いたい場合は、 .Dq enable chap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを .Pa /etc/ppp/ppp.secret に書く必要があります。 .Pp クライアントとして CHAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 CHAP はデフォルトで accept されます。 .Em PPP の実装によっては、チャレンジの暗号化に MD5 ではなく "MS-CHAP" を使用するものがあります。 MS-CHAP は MD4 と DES の組み合わせです。もし .Nm が DES ライブラリの存在するマシン上で構築された場合 MS-CHAP 認証要求に応答しますが、MS-CHAP 認証を要求することは 決してありません。 .It deflate デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に deflate 圧縮を使用するか否かを決定します。 使用されるアルゴリズムは .Xr gzip 1 プログラムが使用するものと同じです。 注: .Xr pppd 8 - 多くのオペレーティングシステムで使用可能な .Em PPP の実装 - との .Ar deflate 能力についての交渉には問題があります。 .Nm pppd (バージョン 2.3.1) が .Ar deflate 圧縮の交渉を行おうとする CCP コンフィギュレーションタイプは、 .Pa rfc1979 に規定されたタイプ .Em 26 ではなくタイプ .Em 24 であり、誤っています。 タイプ .Ar 24 は実際には .Pa rfc1975 では .Dq PPP Magna-link Variable Resource Compression と指定されています! .Nm は .Nm pppd と交渉する能力がありますが、 .Dq deflate24 が .Ar enable かつ .Ar accept されている場合のみです。 .It deflate24 デフォルト: disable かつ deny。 これは .Ar deflate のバリエーションで、 .Xr pppd 8 プログラムとの交渉を許可します。 詳細は上記の .Ar deflate セクションを参照してください。 これは .Pa rfc1975 に反するため、デフォルトでは disable となっています。 .It dns デフォルト: disable かつ deny。 このオプションは DNS 交渉を許可します。 .Pp .Dq enable にすることにより、 .Nm は接続相手が .Pa /etc/resolv.conf ファイルのエントリを確認することを要求します。 もし接続相手が当方の要求に否定応答をした場合 (新しい IP アドレスを 提案したら)、 .Pa /etc/resolv.conf ファイルは更新され、新しいエントリを確認するように要求を送ります。 .Pp .Dq accept にすることにより、 .Nm は接続相手からの DNS 検索要求を拒否せずに、返答します。 .Dq set dns コマンドの使用によって上書きされていない場合には、応答は .Pa /etc/resolv.conf から採られます。 +.It LANMan|chap80lm +デフォルト: disable かつ accept。 +この認証プロトコルの使用は勧められません。 +単一の CHAP タイプ (0x80) を装って、 +2 つの異った機構 (LANMan と NT) を実装することにより、 +部分的に認証プロトコルを侵害しているからです。 +.Dq LANMan +は単純な DES 暗号化機構を使用するものであり、 +CHAP 代替としては最低の安全性のものです (それでも PAP よりは安全です)。 +.Pp +更なる詳細は後述の +.Dq MSChap +の記述を参照してください。 .It lqr デフォルト: disable かつ accept。 このオプションはリンク品質要求 (Link Quality Request) を送信する、 もしくは受け入れるかどうかを決定します。 LQR は、モデムのキャリア検出を使用せずに、リンクダウンを .Nm に決定させるプロトコルです。 LQR が enable になっていると、 .Nm は LCP 要求の一部として .Em QUALPROTO オプション (後述の .Dq set lqrperiod を参照) を送ります。 接続相手が同意した場合、両端は同意した間隔で LQR パケットを交換し、 LQM ロギングを有効にすることで、詳細なリンク品質を監視することが 可能になります。 接続相手が同意しなかった場合、ppp は代りに ECHO LQR 要求を 送ります。これらのパケットは興味ある情報を何も渡しませんが、 .Em 必ず 接続相手に応答しなければなりません。 .Pp LQR, ECHO LQR のいずれを用いるにせよ、 .Nm は 5 つのパケットを送ったが確認応答が無い場合、6 つ目のパケットを送らずに 回線を切断します。 メッセージを .Em PHASE レベルで記録し、回線切断の原因が接続相手にあるものとして、適当な .Dq reconnect 値を使用します。 +.It MSChap|chap80nt +デフォルト: disable かつ accept。 +この認証プロトコルの使用は勧められません。 +単一の CHAP タイプ (0x80) を装って、 +2 つの異った機構 (LANMan と NT) を実装することにより、 +部分的に認証プロトコルを侵害しているからです。 +標準の CHAP (タイプ 0x05) に非常に良く似ていますが、 +チャレンジを固定 8 バイト長で発行し、 +標準の MD5 機構ではなく +MD4 と DES を組み合わせてチャレンジを暗号化するところが違います。 +LANman 用の CHAP タイプ 0x80 もまたサポートされています - +詳細は +.Dq enable LANMan +を参照してください。 +.Pp +.Dq LANMan +と +.Dq NT +の両方が CHAP タイプ 0x80 を使用しますので、両方を +.Dq enable +にして認証者として動作するときには、 +相手が誤った方のプロトコルを使用して応答した場合には、 +.Nm +は最大 3 回相手に再チャレンジします。 +これにより、相手が両方のプロトコルを使用する機会を与えます。 +.Pp +逆に、両プロトコルを +.Dq enable +にして +.Nm +が被認証者となる場合、チャレンジに答えるたびに使用プロトコルを交換します。 +.Pp +注釈: LANMan のみが enable にされた場合、 +.Xr pppd 8 +(バージョン 2.3.5) は被認証者としては誤った動作を行います。 +NT と LANMan の両方の応答を行いますが、 +NT の応答のみ使用すべきことも指示してしまうのです。 .It pap デフォルト: disable かつ accept。 PAP はパスワード認証プロトコル (Password Authentication Protocol) を 意味します。 CHAP (前述) もしくは PAP のどちらか一方のみ交渉可能です。 PAP では、ID とパスワードが相手に送られ続け、 認証されるか接続が終了されるまでこれが続きます。 これは比較的良くないセキュリティ機構です。 接続が最初に確立した時のみ実行可能です。 相手の認証を行いたい場合は、 .Dq enable pap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを .Pa /etc/ppp.secret に書く必要があります (ただし、後述の .Dq passwdauth +と +.Dq set radius オプションを参照)。 .Pp クライアントとして PAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 PAP はデフォルトで accept されます。 .It pred1 デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に Predictor 1 圧縮を使用するかどうかを決定します。 .It protocomp デフォルト: enable かつ accept。 このオプションは PFC (プロトコルフィールド圧縮) の交渉を行うために使用されます。 この機構により、 プロトコルフィールド数が 2 オクテットから 1 オクテットに減ります。 .It shortseq デフォルト: enable かつ accept。 このオプションは .Nm がマルチリンクモードの交渉時に .Pq 12 ビットの 短いシーケンス番号を要求し、そして受け入れるかどうかを決定します。 これは、当方の MMRU が設定されたときのみ (マルチリンクが有効になっているときのみ) 適用されます。 .It vjcomp デフォルト: enable かつ accept。 このオプションは Van Jacobson ヘッダ圧縮を使用するかどうかを決定します。 .El .Pp 次に示すオプションは、実際には相手と交渉しません。 それゆえ accept および deny は意味を持ちません。 .Bl -tag -width 20 .It idcheck デフォルト: enable。 低レベルな LCP, CCP, IPCP 設定トラフィックを交換するときに、 すべての応答の識別子フィールドはその要求の識別子フィールドと 同一であることが予定されています。デフォルトでは .Nm は予定された識別子フィールドを持たないすべての応答パケットを 捨て、それぞれのログレベルで報告します。もし .Ar idcheck が disable になっている場合、 .Nm は識別子フィールドを無視します。 .It loopback デフォルト: enable。 .Ar loopback が enable の場合、 .Nm は自動的に .Em PPP インタフェースと同じ終点アドレス宛に送出されたパケットを ループバックします。 disable の場合、 .Nm がパケットを送ると、おそらく他の終点からの ICMP リダイレクトとなります。 インタフェースがデフォルト経路であるため、 ループバック経路を必要とすることを避けたい場合、 このオプションを enable にすると便利です。 .It passwdauth デフォルト: disable。 このオプションを enable にすることにより、 PAP 認証コードが呼び出し側を認証する時に、 .Pa /etc/ppp/ppp.secret ファイル中でみつからない場合、パスワードデータベース ( .Xr passwd 5 参照) を使用します。 .Pa /etc/ppp/ppp.secret は常に、最初に調べられます。 .Xr passwd 5 からパスワードを調べ、かつそのクライアントに対して IP アドレスもしくは ラベルを指定したい場合には、 .Pa /etc/ppp/ppp.secret ファイル中のクライアントのパスワードとして .Dq \&* を用いてください。 .It proxy デフォルト: disable。 このオプションを enable にすることにより、 .Nm に相手のために代理 ARP をさせます。 +.Dv HISADDR +と +.Dv HISADDR +がいるローカルネットワークの +.Dv MAC +アドレスを使用して、 +.Nm +が ARP 表に単一エントリを作成することを意味します。 +.Dv HISADDR +が LAN からのアドレスではない場合、代理エントリは作成できません。 .It proxyall デフォルト: disable。 このオプションを enable にすることにより、 .Nm に代理 ARP エントリを追加させます。 追加されるエントリは、 tun インタフェースによってルーティングされる すべてのクラス C もしくはそれ以下のサブネットの中の、全 IP アドレスです。 +.Pp +代理 arp エントリは、 +.Dq add +コマンドによって追加されたスティッキー経路に対してのみ作成されます。( +.Dq set ifaddr +コマンドによって作成された) +インタフェースアドレス自身に対しては、代理 arp エントリは作成されません。 .It sroutes デフォルト: enable。 .Dq add コマンドが .Dv HISADDR もしくは .Dv MYADDR という値とともに用いられると、エントリは .Sq スティック経路 リストに格納されます。 .Dv HISADDR もしくは .Dv MYADDR が変更される度に、このリストが経路表に適用されます。 .Pp このオプションを disable にすると、 スティッキー経路が適用されなくなります。 .Sq スティック経路 リストは依然として保守されます。 .It throughput デフォルト: enable。 このオプションを有効にすると、 .Nm はスループット統計を収集します。 ずれ動く 5 秒間のウィンドウにおいて入出力が検査され、 現在、最良時、総計の数値が保持されます。 このデータは関連する .Em PPP 層が終了するときに出力され、また .Dq show コマンドで表示することで得られます。スループット統計は .Dq IPCP と .Dq modem のレベルで利用可能です。 .It utmp デフォルト: enable。 通常ユーザが PAP もしくは CHAP で認証された時で、 .Nm が .Fl direct モードで実行されている時は、このユーザのエントリが utmp ファイルおよび wtmp ファイルに作成されます。 このオプションを disable にすると、 .Nm は utmp および wtmp のエントリを作成しません。 通常、 ユーザがログインしかつ認証することを要求する場合のみ必要です。 .It iface-alias デフォルト: .Fl alias が指定された場合 enable。 このオプションは、 インタフェースのアドレスを交換するのではなく、 インタフェースに新規アドレスを追加するように、 .Nm に指示します。 IP エイリアシングが有効な場合のみ .Pq Dq alias enable yes 、本オプションを enable にできます。 .Pp 本オプションを enable にすると、 .Nm は古いインタフェースアドレスのトラフィックを IP エイリアスエンジン .Pq Xr libalias 5 参照 を通すようになり、( .Fl auto モードでは) 最初に PPP リンクを立ち上げたプロセスが正しく接続できるようにします。 .Pp .Dq alias enable off として IP エイリアシングを disable すると、 .Sq iface-alias も disable します。 .El .Pp -.It add[!] Ar dest[/nn] [mask] gateway +.It add Ns Xo +.Op \&! +.Ar dest Ns Op / Ns Ar nn +.Op Ar mask +.Op Ar gateway +.Xc .Ar dest は宛先 IP アドレスです。 ネットマスクは .Ar /nn によってビット数で指定するか、もしくは .Ar mask を用いて IP 番号で指定します。 .Ar 0 0 ならびにマスクなしの .Ar 0 はデフォルト経路を意味します。 .Ar 0 の代りにシンボル名 .Ar default を使うことが可能です。 .Ar gateway は、 .Ar dest マシン/ネットワークに至る、次のホップのゲートウェイです。 詳細は .Xr route 8 コマンドを参照してください。 .Pp 宛先にシンボル名 .Sq MYADDR と .Sq HISADDR を使用可能であり、 .Ar gateway には .Sq HISADDR を使用可能です。 .Sq MYADDR はインタフェースアドレスに置き換えられ、 .Sq HISADDR はインタフェースの宛先 (相手の) アドレスに置き換えられます。 .Pp .Ar add! コマンド .Po .Dq \&! に注意 .Pc 使用時には、経路が存在する場合には .Sq route change コマンド (詳細は .Xr route 8 参照) にて経路を更新します。 .Pp .Dq HISADDR もしくは .Dq MYADDR を含む経路は .Sq スティッキー と見なされます。これらはリスト (リストを見るには .Dq show ipcp コマンドを使用します) に格納され、 .Dv HISADDR もしくは .Dv MYADDR の値が変更される度に、経路表の関連するエントリが更新されます。 この機能は .Dq disable sroutes を使用することで無効にできます。 -.It allow Ar command Op Ar args +.It allow user Ns Xo +.Op s +.Ar logname Ns No ... +.Xc このコマンドは .Nm と設定ファイルへのアクセスを制御します。 ユーザレベルでのアクセスは可能であり、 設定ファイルのラベルと .Nm の実行モードに依存します。 例えば、ユーザ .Sq fred のみがラベル .Sq fredlabel に .Fl background モードでアクセスできるように、 .Nm を構成したいかもしれません。 .Pp ユーザ ID 0 はこれらのコマンドの対象外です。 .Bl -tag -width XX .It allow user[s] Ar logname... デフォルトでは、ユーザ ID 0 のみが .Nm へのアクセスを許されています。 このコマンドが指定されると、 .Dq allow users が記載されているセクションに列挙されているユーザのアクセスが可能となります。 .Sq default セクションは 常に最初にチェックされます (スタートアップ時に常にロードされる唯一の セクションです)。後続する .Dq allow users コマンドは、先行するコマンドに優先します。 あるラベル以外のすべてにアクセスを許すことが可能であり、 そのためにはデフォルトユーザを .Sq default セクションで指定し、新しいユーザリストをこのあるラベルに指定します。 .Pp ユーザ .Sq * が指定されると、全ユーザにアクセスが許されます。 -.It allow mode[s] Ar modelist... +.It allow mode Ns Xo +.Op s +.Ar mode Ns No ... +.Xc デフォルトでは全 .Nm モードが使用可能です。 このコマンドが使用されると、 -このコマンドが指定されたラベルのロードに許されるアクセスモードが制限されます。 +このコマンドが指定されたラベルのロードに許されるアクセス +.Ar mode +が制限されます。 .Dq allow users コマンドと同様、 各 .Dq allow modes コマンドは先行するコマンドに優先し、 .Sq default セクションは常に最初にチェックされます。 .Pp 使用可能なモードは次の通りです: .Sq interactive , .Sq auto , .Sq direct , .Sq dedicated , .Sq ddial , .Sq background , .Sq * 。 .Pp マルチリンクモードで動作するときには、 現在存在する回線モードを許可するセクションをロード可能です。 .El .Pp .It alias Ar command Op Ar args このコマンドは .Nm 組込みのエイリアシング (マスカレーディング) 機能を 制御するために使用します。 あなたのシステムでエイリアシングが有効になると (コンパイル時に削除できます)、 次のコマンドが使用可能となります: .Bl -tag -width XX -.It alias enable [yes|no] +.It alias enable Op yes|no エイリアシングを有効もしくは無効にします。 .Fl alias コマンドラインフラグは .Dq alias enable yes と同じ意味です。 -.It alias port Op Ar proto targetIP:targetPORT [aliasIP:]aliasPORT +.It alias addr Op Ar addr_local addr_alias +このコマンドには、 +.Ar addr_alias +のデータを +.Ar addr_local +へリダイレクトします。 +少数の実 IP アドレスを持ち、 +それらをゲートウェイの後の特定のマシンにマップしたい場合に有用です。 +.It alias deny_incoming Op yes|no +yes に設定すると、 +ファイアウォールとほぼ同様にパケットを落とすことにより、 +このコマンドは全入力接続を拒否します。 +.It alias help|? +このコマンドは、使用可能な alias コマンドのまとめを表示します。 +.It alias log Op yes|no +このオプションは、alias の様々な統計と情報がファイル +.Pa /var/log/alias.log +に記録されるようにします。 +.It alias port Xo +.Op Ar proto +.Ar targetIP Ns No \&: Ns Ar targetPORT +.Op Ar aliasIP Ns No \&: Ns +.Ar aliasPORT +.Xc このコマンドにより、 マシン .Ar aliasIP の .Ar aliasPORT へ到着する接続を、 .Ar targetIP の .Ar targetPORT へリダイレクトします。 +.Ar aliasIP +のデフォルトは、現在のインタフェースアドレスです。 .Ar proto は .Sq tcp もしくは .Sq udp のいずれかで、指定したプロトコルの接続のみマッチします。 あなたのゲートウェイの後のマシンでインターネット電話等を実行したい場合に、 このオプションは有用です。 -.It alias addr Op Ar addr_local addr_alias -このコマンドにより、 -.Ar addr_alias -へのデータを -.Ar addr_local -へリダイレクトします。 -少数の実 IP アドレスを持っていて、これらをあなたのゲートウェイの後の -特定のマシンにマップしたい場合に有用です。 -.It alias deny_incoming [yes|no] -yes に設定した場合、ファイアウォールがパケットを落すのと同様に、 -すべての入力の接続を拒否します。 -.It alias help|? -このコマンドにより、 -使用可能なエイリアスコマンドのまとめを表示します。 -.It alias log [yes|no] -このオプションを指定することにより、 -種々のエイリアシングの統計と情報を、ファイル -.Pa /var/log/alias.log -にログします。 -.It alias same_ports [yes|no] +.It "alias pptp" Op Ar addr +すべての +.Em G Ns No eneral +.Em R Ns No outing +.Em E Ns No encapsulated +.Pq Dv IPPROTO_GRE +パケットを、ローカルインタフェースアドレスではなく +.Ar addr +を使用することにより、 +.Nm +にエイリアスさせます。 +これは、マシンの内部ネットワーク上で +.Em P Ns No oint +to +.Em P Ns No oint +.Em T Ns No unneling +.Em P Ns No rotocol +の使用を許します。 +.Pp +.Ar addr +を指定しないと、 +.Dv PPTP +エイリアスは無効になります。 +.It "alias proxy cmd" Ar arg Ns No ... +このコマンドは、 +.Nm +に特定の接続に対する代理をさせ、 +これらの接続を指定したサーバにリダイレクトします。 +使用可能なコマンドについての詳細は +.Xr libalias 3 +の +.Fn PacketAliasProxyRule +の記述を参照してください。 +.It alias same_ports Op yes|no 有効になると、 エイリアスライブラリが出力パケットのポート番号を変更しようとすることを 止めさせます。 RPC や LPD といった、 ウェルノウンポート (well known port) からの接続を要求する プロトコルをサポートするのに有用です。 -.It alias use_sockets [yes|no] +.It alias use_sockets Op yes|no 有効になると、 エイリアスライブラリにソケットを作成させ、 正しい ftp データ入力や IRC 接続を保証できるようになります。 -.It alias unregistered_only [yes|no] +.It alias unregistered_only Op yes|no 登録されていない送信元アドレスの出力パケットのみを、変更します。 RFC1918 によると、登録されていない送信元アドレスは 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 です。 .El .Pp これらのコマンドはソース配布物の .Pa README.alias ファイル中でも議論されています。 .Pp -.It [!]bg Ar command +.It Op \&! Ns Xo +.No bg Ar command +.Xc 指定した .Ar command を、次の語を置換した後に、バックグラウンドで実行します: .Bl -tag -width PEER_ENDDISC .It Li AUTHNAME これは、ローカルの .Ar authname の値と置き換えられます。後述の .Dq set authname コマンドを参照してください。 .It Li ENDDISC これは、ローカルの終点選択値と置き換えられます。 後述の .Dq set enddisc コマンドを参照してください。 .It Li HISADDR これは、相手の IP 番号と置き換えられます。 .It Li INTERFACE これは、使用中のインタフェース名と置き換えられます。 .It Li LABEL これは、最後に使用したラベル名と置き換えられます。 ラベルは、 .Nm のコマンドラインから .Dq load または .Dq dial のコマンドから指定するか、 .Pa ppp.secret ファイルから指定可能です。 .It Li MYADDR これは、ローカルインタフェースに割り当てられた IP 番号と置き換えられます。 .It Li PEER_ENDDISC これは、相手の終点選択番号と置き換えられます。 .It Li PROCESSID これは、現在のプロセス ID と置き換えられます。 .It Li USER これは、PAP もしくは CHAP で認証されたユーザ名と置き換えられます。 通常、この変数は -direct モードでのみ割り当てられます。 この値は、utmp ロギングが有効になっているかどうかに関わらず、利用可能です。 .El .Pp これらの置換は .Dq set proctitle コマンドによっても実行されます。 .Pp コマンド実行中に .Nm を停止させたい場合は、 .Dq shell コマンドを使用してください。 .It clear modem|ipcp Op current|overall|peak... .Dq modem もしくは .Dq ipcp 階層で、指定されたスループット値をクリアします。 .Dq modem を指定する場合にはコンテキストが与えられなければなりません (後述の .Dq link コマンドを参照)。 第 2 引数が与えられない場合、すべての値がクリアされます。 -.It clone Ar name[,name]... +.It clone Ar name Ns Xo +.Op \&, Ns Ar name Ns +.No ... +.Xc 指定されたリンクを複製し、引数の .Ar name に関連づけた新しいリンクを作成します。 このコマンドは、リンクが 1 つしかない場合 (この場合にはそのリンクがデフォルトになります) を除いて後述の .Dq link コマンドから使用する必要があります。 リンクは下記の .Dq remove コマンドで削除できます。 .Pp デフォルトのリンク名は .Dq deflink です。 -.It close Op lcp|ccp[!] +.It close Op lcp|ccp Ns Op \&! 引数が与えられないと、適切なプロトコル層がダウンし、リンクが閉じられます。 .Dq lcp が指定されると LCP 層がダウンしますが、 .Nm をオフラインにはしません。例えば .Dq slirp のようなものを使用すれば、 .Dq term .Pq 後述 を使用して相手のマシンと会話できます。 .Dq ccp が指定されると適切な圧縮層が閉じられます。 .Dq \&! が使用されると、圧縮層はクローズ状態のままとなります。 使用されない場合には、STOPPED 状態へ再度入り、 相手が更なる CCP 交渉を開始するのを待ちます。 なにが起きようとも、ユーザを .Nm から切り離すことはありませんし、 .Nm を終了させることもありません。 後述の .Dq quit を参照してください。 -.It delete[!] Ar dest +.It delete Ns Xo +.Op \&! +.Ar dest +.Xc このコマンドは指定した .Ar dest IP アドレスの経路を削除します。 .Ar dest に .Sq ALL が指定された場合、 現在のインタフェースの経路表の非直接エントリと .Sq スティッキー経路 がすべて削除されます。 .Ar dest に .Sq default が指定された場合、デフォルト経路が削除されます。 .Pp .Ar delete! コマンドが使用された場合 .Po 最後の .Dq \&! に注意 .Pc 、存在しない経路について .Nm は文句を言わなくなります。 .It dial|call Op Ar label 引数なしで使用された場合、このコマンドは .Dq open コマンドと同一です。 .Ar label が 1 つ以上指定された場合、最初に .Dq load が実行されます。 .It down Op Ar lcp|ccp 適切な階層をダウンさせますが、 綺麗な方法ではなく、下位層が使用不能になったように見えます。 オープン状態にある有限状態機械でこのコマンドを使用することは、 丁寧ではないとされています。 引数が与えられない場合、すべてのリンクが閉じられます (コンテキストが与えられない場合にはすべてのリンクが終了されます)。 .Sq lcp が指定された場合、 .Em LCP 層は終了されますが、モデムはオフラインに移行せず、 リンクも閉じられません。 .Sq ccp が指定された場合、 関連する圧縮層のみが終了されます。 .It help|? Op Ar command 利用可能なコマンドをリストします。 .Ar command を指定した場合、このコマンドの使用方法を表示します。 -.It iface Ar command Op args +.It iface add Ns Xo +.Op \&! +.Ar addr Ns Op / Ns Ar bits +.Op Ar peer +.Xc +.It iface add Ns Xo +.Op \&! +.Ar addr +.Ar mask +.Ar peer +.Xc このコマンドは、 .Nm ppp が使用するインタフェースを制御します。 .Ar command は次のいずれかです: .Bl -tag -width XX .It iface add[!] Ar addr[[/bits| mask] peer] 指定された .Ar addr mask peer の組み合わせをインタフェースに追加します。 .Ar mask を指定する代りに、 .Ar /bits を使用可能です .Pq addr との間に空白を入れてはなりません 。指定したアドレスが既に存在する場合、 .Dq \&! を使用していない限りコマンドは失敗します - この場合、 以前のインタフェースアドレスエントリは新しいもので置き換えられ、 ネットマスクと相手のアドレスの変更を許します。 .Pp .Ar addr のみが指定されると、 .Ar bits はデフォルト値 .Dq 32 になり、 .Ar peer はデフォルト値 .Dq 255.255.255.255 になります。 このアドレス (ブロードキャストアドレス) は、 相手のアドレスとして複数存在することを .Nm が唯一許すものです。 .It iface clear .Nm が OPENED 状態または .Fl auto モードの場合にこのコマンドを使用すると、 IPCP 交渉されたアドレス以外の全アドレスがインタフェースから削除されます。 .Nm が OPENED 状態でも .Fl auto モードでもない場合、全インタフェースアドレスが削除されます。 .Pp -.It iface delete[!]|rm[!] Ar addr +.It iface delete Ns Xo +.Op \&! Ns +.No |rm Ns Op \&! +.Ar addr +.Xc このコマンドは、指定した .Ar addr をインタフェースから削除します。 .Dq \&! が指定されると、現在そのアドレスがインタフェースに割り当てられていなくても、 エラーは報告されません (削除も行われません)。 .It iface show インタフェースの現在の状態と現在のアドレスを表示します。 .Dq ifconfig INTERFACE を実行することと、ほとんど同じです。 .It iface help Op Ar sub-command このコマンドを .Ar sub-command 無しで起動すると、利用可能な .Dq iface サブコマンドと、おのおのの短い書式を表示します。 .Ar sub-command 付きで起動すると、指定した sub-command の書式のみを表示します。 .El -.It [data]link Ar name[,name...] command Op Ar args +.It Op data Ns Xo +.No link +.Ar name Ns Op , Ns Ar name Ns +.No ... Ar command Op Ar args +.Xc コマンドが影響を与えるリンクを特定したい場合に、このコマンドを 任意の他のコマンドのプレフィックスとして使うことができます。 これはマルチリンクモードで .Dq clone コマンドを使って複数のリンクを作成した後でのみ適用されます。 .Pp .Ar name は存在するリンク名を指定します。 .Ar name がコンマ区切りのリストの場合には、 .Ar command はそれぞれのリンクに対して実行されます。 .Ar name が .Dq * の場合には、 .Ar command はすべてのリンクに対して実行されます。 -.It load Op Ar label ... +.It load Op Ar label Ns Xo +.No ... +.Xc .Pa ppp.conf ファイルから指定された .Dq label (複数指定可) をロードします。 .Dq label が指定されない場合、 .Dq default ラベルが仮定されます。 .It open Op lcp|ccp|ipcp これは .Dq close の反対のコマンドです。 .Dq open コマンドを引数なしで用いることは .Dq dial を引数なしで用いることと同一です。 すなわちすべての閉じられたリンクが、現在の設定を用いて起動されます ( .Dq set autoload コマンドに基づいた自動リンクの中には起動されないものもあります)。 .Pp LCP 層がすでにオープンされているときに .Dq lcp を指定すると、LCP は再度交渉されます。 したがって、種々の LCP オプションを変更したあとで .Dq open lcp コマンドを用いることで、変更を有効にすることができます。 LCP が再度交渉された後、 同意したあらゆる認証が実行されます。 .Pp .Dq ccp 引数が用いられると、関連する圧縮層がオープンされます。 すでにオープンされている場合には、再度交渉されます。 .Pp .Dq ipcp 引数が用いられると、リンクが通常通り起動されます。すでに IPCP が オープンされている場合には、IPCP は再度交渉され、 ネットワークインタフェースが再設定されます。 .Pp このようにして PPP の状態機械を再オープンするのは、 おそらく良い手段ではありません。 接続相手が正しく振る舞わない可能性があるためです。 しかしながら、強制的に CCP もしくは VJ 辞書をリセットする手段としては 便利です。 .It passwd Ar pass すべての .Nm コマンドセットにアクセスするために要求されるパスワードを指定します。 このパスワードは診断ポート ( .Dq set server コマンド参照) に接続するときに必要です。 .Ar pass は .Dq set server コマンドラインで指定します。 .Ar command ログが有効でも、値 .Ar pass -はログされず、文字列 +は記録されず、文字列 .Sq ******** -がログされます。 -.It quit|bye [all] +が記録されます。 +.It quit|bye Op all .Dq quit が制御接続もしくはコマンドファイルから実行されると、 ppp はすべての接続を閉じた後に終了します。その他の場合、 つまりユーザが診断ソケットから接続している場合には、 単にその接続が失われます。 .Pp .Ar all 引数が与えられた場合、 .Nm はコマンドがどこから発行されたかに関わらず、 すべての存在する接続を閉じて終了します。 .It remove|rm このコマンドは与えられたリンクを消去します。 これはマルチリンクモードでのみ有用です。リンクは消去する前に .Dv CLOSED 状態になっていなければなりません。 .It rename|mv Ar name このコマンドは与えられたリンクの名前を .Ar name に変更します。 .Ar name がすでに他のリンクで使用されている場合には、失敗します。 .Pp デフォルトリンクの名前は .Sq deflink です。これを .Sq modem , .Sq cuaa0 , .Sq USR のいずれかに変更すると、ログファイルの可読性が向上するかも知れません。 .It save このオプションは (まだ) 実装されていません。 -.It set[up] Ar var value +.It set Ns Xo +.No Op up +.Ar var value +.Xc このオプションは次に示す変数の設定のために使用します: .Bl -tag -width XX .It set accmap Ar hex-value ACCMap は非同期制御文字マップ (Asyncronous Control Character Map) を 意味します。 これはいつも相手と交渉され、デフォルト値は 16 進数で 00000000 です。 このプロトコルが必要なのは、 (XON/XOFF などの) 特定の文字を終点間で受渡すことに依存するハードウェアを 使用する場合です。 .Pp XON/XOFF については .Dq set accmap 000a0000 を使用します。 -.It set authkey|key Ar value +.It set Op auth Ns Xo +.No key Ar value +.Xc クライアントモードでの PAP または CHAP の交渉で使用される 認証キー (もしくはパスワード) を、指定した値に設定します。 -ダイヤルもしくはログインスクリプトの '\\P' シーケンス -で使用されるパスワードを指定しますが、 -実際のパスワードがログされることを防ぎます。 +ダイヤルまたはログインスクリプトの +.Sq \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\P +シーケンスで使用するパスワードもまた指定します。 +これにより実際のパスワードは記録されません。 .Ar command -ログが有効な場合、セキュリティの観点から、 +または +.Ar chat +のログが有効な場合、セキュリティの観点から、 .Ar value は .Sq ******** -としてログされます。 +として記録されます。 +.Pp +.Ar value +の最初の文字がエクスクラメーションマーク +.Pq Dq \& +の場合、 +.Nm +は残りの文字列を、 +.Dq authname +と +.Dq authkey +の値を確定するために実行すべきプログラムとして扱います。 +.Pp +.Dq \&! +を無視し、前述の +.Dq !bg +コマンドと同様に特殊な名前を同様に置換しながら、 +.Ar value +は実行すべきプログラムとしてパーズされます。 +プログラムを実行すると、 +.Nm +はこのプログラムに対して 3 行の入力を与えます。 +各行は改行文字で終了しています: +.Bl -bullet +.It +CHAP チャレンジに含めて送られるホスト名。 +.It +CHAP チャレンジに含めて送られるチャレンジ文字列。 +.It +ローカルに定義された +.Dq authname +。 +.El +.Pp +2 行の出力が期待されています: +.Bl -bullet +.It +CHAP 応答と共に送るべき +.Dq authname +。 +.It +チャレンジと要求 ID で暗号化した +.Dq authkey +であり、応答は CHAP 応答パケットに含めて送られます。 +.El +.Pp +.Nm +をこのように設定するとき、 +ホストチャレンジは ASCII の数値もしくは文字であることが期待されます。 +指定されたチャレンジに対する適切な秘密情報を、 +暗号化デバイスまたは Secure ID カードが計算することが求められています。 .It set authname Ar id クライアントモードでの PAP または CHAP の交渉で使用される 認証 ID を設定します。 .Pp -PAP もしくは CHAP を enable にして +CHAP を enable にして .Fl direct モードで利用すると、 .Ar id -は初期認証要求で用いられ、通常はローカルマシン名に設定されます。 -.It set autoload Ar max-duration max-load [min-duration min-load] +は初期認証チャレンジで用いられ、通常はローカルマシン名に設定されます。 +.It set autoload Xo +.Ar max-duration max-load Op Ar min-duration min-load +.Xc これらの設定はマルチリンクモードでのみ適用され、 デフォルト値はすべて 0 です。 1 つ以上の .Ar demand-dial .Po .Fl auto としても知られる .Pc モードのリンクが存在する場合、 .Nm が最初に tun デバイスからデータを読むときには最初のリンクのみが 有効になっています。 次の .Ar demand-dial リンクは、 .Ar max-duration 秒の間、送出キューに .Ar max-load 以上のパケットが存在した場合にのみ開かれます。 両方のデフォルト値が 0 であるため、 .Ar demand-dial リンクはデフォルトでは 1 つだけオープンされます。 .Pp 複数のリンクが開かれていて、少なくともその内の 1 つが .Ar demand-dial リンクである場合、 .Ar min-duration 秒の間、送出キューに最大 .Ar min-packets 未満のパケットしか存在しなかったときに閉じられます。 .Ar min-duration が 0 の場合には、タイマは無効になります。 デフォルトでは両方の値が 0 であるため、 .Ar demand-dial リンクはバンドルされたアイドルタイマが期限切れになるまで アクティブであり続けます。 -.It set callback [none|auth|cbcp|E.164 *|number[,number]...]... +.It set callback Ar option Ns No ... 引数が与えられない場合、コールバックは disable になります。 そうでない場合には、 .Nm -は与えられたプロトコルでコールバックを要求します +は与えられた +.Ar option +でコールバックを要求します (もしくは .Ar direct モードでは受け付けます)。 -クライアントモードで、要求の否定応答が返されると、 -.Nm -は他に選択肢がなくなるまで別の要求を出します。 -選択肢が尽きると -.Nm -は交渉を終了します。 +クライアントモードで、 +.Ar option +の否定応答が返されると、 +.Nm +は他に選択肢がなくなるまで別の +.Ar option +要求を出します ( +.Ar option +のひとつとして +.Dq none +を指定していた場合を除きます)。 サーバモードでは、 .Nm は与えられるプロトコルをなんでも受け付けますが、 クライアントがいずれかひとつを要求する .Em 必要があります 。コールバックをオプションにしたいのであれば、オプションとして .Ar none を指定する必要があります。 .Pp -オプションは下記の通りです (優先度順): +.Ar option +は下記の通りです (優先度順): .Pp .Bl -tag .It auth コールバック応答側は、認証に基づいてコールバック番号を 決定することが求められます。 .Nm がコールバック応答側である場合、番号は .Pa /etc/ppp/ppp.secret 中の接続先エントリの 5 番目のフィールドで指定されます。 .It cbcp Microsoft コールバック制御プロトコルが用いられます。後述の .Dq set cbcp を参照してください。 -.It E.164 *|number[,number]... +.It E.164 *| Ns Xo +.Ar number Ns Op , Ns Ar number Ns +.No ... +.Xc コールバック要求側が .Ar number を指定します。 .Nm がコールバック応答側である場合、 .Ar number は許可する番号をコンマで区切って並べたリスト、もしくは 任意の番号を許可するという意味の .Dq \&* とします。 .Nm がコールバック要求側である場合、1 つの数字だけを指定します。 .Pp .Dq \&* を用いる場合、このオプションはとても危険なものとなることに 注意してください。 というのは、悪意あるコールバック要求者が、最初の認証なしに 電話すべき番号として任意の (国際通話番号も可能です) 番号を 伝えることができるからです。 .It none 接続相手がコールバックをまったく望まない場合、 .Nm はそのことを受け入れ、接続を終了するのではなく コールバックせずに処理を続けます。 コールバックをオプションにしたいのであれば、これを指定する必要があります。 .El .Pp -.It set cbcp Op *|number[,number]... Op delay Op retry +.It set cbcp Oo Xo +.No *| Ns Ar number Ns No +.Oo +.No , Ns Ar number Ns +.Oc +.No ... +.Op Ar delay Op Ar retry +.Oc +.Xc 引数が与えられない場合、CBCP (Microsofts CallBack Control Protocol) は disable です。言い換えれば .Dq set callback コマンドで CBCP を設定すると .Nm が CBCP フェーズでコールバック要求を行わなくなります。 そうでない場合、 .Nm は与えられた電話番号 .Ar number を使おうとします。 .Pp サーバモード .Pq Fl direct では、 .Dq \&* を使わない限り .Nm はクライアントがこれらの番号の 1 つを使うことを主張します。 .Dq \&* を使った場合には、クライアントが番号を指定するものと想定します。 .Pp クライアントモードでは .Nm は与えられた番号 (そのうち接続相手と合意可能なもの) を使用しようとします。 .Dq \&* が指定された場合には、 .Nm 接続相手が番号を指定するものと想定します。 +.It set cd Ar seconds Ns Op \&! +通常、ログインスクリプト完了の 1 秒後に、 +.Nm +はキャリアの存在をチェックします。 +キャリアが設定されていないと、 +デバイスがキャリアをサポートしていない +(ほとんどのヌルモデムケーブルの場合がそうです) と +.Nm +は仮定し、この事実を記録して、キャリアのチェックを止めます。 +しかし、モデムによってはキャリアのアサートに時間がかかるものがあるので、 +リンクが落ちたときを +.Nm ppp +は検知できなくなります。 +.Ar seconds +は、ログインスクリプトが完了してから最初のキャリアチェックを行う前に、 +.Nm +が待つべき秒数を指定します。 +.Pp +.Ar seconds +の直後にエクスクラメーションマーク +.Pq Dq \&! +がある場合、 +.Nm +はキャリアを +.Em 要求 +します。 +最初のチェックでキャリアを検知しないと、リンクは切断されているとみなされます。 +.Pp +リンクが tty でない場合、キャリアの +.Em 必要性 +は無視されます。 .It set choked Op Ar timeout これは .Nm がすべての未送出パケットを破棄する前に 送出キュー詰まりを保持する秒数を設定します。 .Ar timeout が 0 以下もしくは .Ar timeout が指定されない場合、デフォルト値の .Em 120 秒 に設定されます。 .Pp 送出キュー詰まりは .Nm がローカルネットワークから特定の数の送出パケットを読み込んだが、 リンク失敗 (接続相手がビジーなど) のためにデータを送れない場合に 発生します。 .Nm はパケットを無限には読み込みません。代りに .Em 20 パケット (マルチリンクモードでは .Em 20 No + .Em nlinks No * .Em 2 パケット) まで読み込み、 .Ar timeout 秒経過するか、1 つ以上のパケットが送られるまで ネットワークインタフェースの読み込みを停止します。 .Pp .Ar timeout 秒が経過すると、すべての未送出パケットは破棄されます。 .It set ctsrts|crtscts on|off ハードウェアフロー制御をセットします。 デフォルトではハードウェアフロー制御は .Ar on です。 .It set deflate Ar out-winsize Op Ar in-winsize DEFLATE アルゴリズムの、 デフォルトの出力ウィンドウサイズと入力ウィンドウサイズを設定します。 .Ar out-winsize および .Ar in-winsize は、 .Em 8 から .Em 15 までの値をとる必要があります。 .Ar in-winsize が指定されると、 .Nm はこのウィンドウサイズの使用を強要し、相手が他の値を示しても受け入れません。 .It set dns Op Ar primary Op Ar secondary .Dq accept dns コマンドで使用される、DNS 上書きを設定します。 詳細については前述の .Dq accept コマンドの記述を参照してください。本コマンドは .Dq enable dns を使用して要求される IP 番号には影響を与えません。 -.It set device|line Ar value[,value...] +.It set device|line Xo +.Ar value Ns No ... +.Xc .Nm が使用するデバイスを、指定された .Dq value に設定します。 全シリアルデバイス名は .Pa /dev/ から始まることが仮定されています。 .Dq value が .Pa /dev/ から始まらない場合、エクスクラメーションマーク .Pq Dq \&! から始めるか、 .Dq host:port の形式である必要があります。 .Pp エクスクラメーションマークで始まる場合、 デバイス名の残りはプログラム名として扱われ、 そのデバイスがオープンされるときにそのプログラムが実行されます。 標準入出力およびエラーは .Nm にフィードバックされ、それらが通常デバイスであるかのように読み書きされます。 .Pp .Dq host:port の組が与えられる場合、 .Nm は、指定された .Dq host の指定された .Dq port と接続しようとします。 詳細は上述の .Em PPP オーバ TCP の節を参照してください。 .Pp 複数の .Dq value を指定した場合、 .Nm は成功するか全デバイスについて実行し終るまで、順番にオープンを試みます。 .It set dial Ar chat-script 相手へダイヤルする際に使用されるチャットスクリプトを指定します。 後述の .Dq set login コマンドも参照してください。 チャットスクリプトのフォーマットの詳細については、 .Xr chat 8 と設定ファイルの例を参照してください。 次の特殊な .Sq value をチャットスクリプトに指定可能です: .Bd -unfilled -offset indent .It \\\\\\\\\\\\\\\\c .Sq 送信 文字列の最後の文字として使用した場合、 改行を追加してはならないことを意味します。 .It \\\\\\\\\\\\\\\\d チャットスクリプトがこのシーケンスに出会うと、2 秒待ちます。 .It \\\\\\\\\\\\\\\\p チャットスクリプトがこのシーケンスに出会うと、1/4 秒待ちます。 .It \\\\\\\\\\\\\\\\n 改行文字と置き換えられます。 .It \\\\\\\\\\\\\\\\r 復改文字と置き換えられます。 .It \\\\\\\\\\\\\\\\s 空白文字と置き換えられます。 .It \\\\\\\\\\\\\\\\t タブ文字と置き換えられます。 .It \\\\\\\\\\\\\\\\T 現在の電話番号と置き換えられます (後述の .Dq set phone 参照)。 .It \\\\\\\\\\\\\\\\P 現在の .Ar authkey 値と置き換えられます (前述の .Dq set authkey 参照)。 .It \\\\\\\\\\\\\\\\U 現在の .Ar authname 値と置き換えられます (前述の .Dq set authname 参照)。 .Ed .Pp 2 つのパーザがこれらのエスケープシーケンスを検査することに注意してください。 .Sq チャットのパーザ にエスケープ文字を見せるには、 .Sq コマンドパーザ からエスケープする必要があります。 つまり、2 つのエスケープを使用する必要があります。例えば次のようにします: .Bd -literal -offset indent set dial "... ATDT\\\\T CONNECT" .Ed .Pp チャットスクリプトから外部コマンドを実行することもできます。 そうするためには、 受信待ち文字列または送信文字列の最初の文字をエクスクラメーションマーク .Pq Dq \&! にします。 コマンドが実行されると、標準入力と標準出力がモデムデバイス ( .Dq set device 参照) に向けられ、標準エラー出力が .Nm に読まれて受信待ち文字列もしくは送信文字列に置き換えられます。 .Nm が対話モードで実行されている場合、ファイルデスクリプタ 3 は .Pa /dev/tty に接続されます。 .Pp 例えば (読み易さのために折り返しています); .Bd -literal -offset indent set login "TIMEOUT 5 \\"\\" \\"\\" login:--login: ppp \e word: ppp \\"!sh \\\\\\\\-c \\\\\\"echo \\\\\\\\-n label: >&2\\\\\\"\\" \e \\"!/bin/echo in\\" HELLO" .Ed .Pp は次のチャットシーケンスになります (ダイヤル前の .Sq set log local chat コマンドによる出力): .Bd -literal -offset indent Dial attempt 1 of 1 dial OK! Chat: Expecting: Chat: Sending: Chat: Expecting: login:--login: Chat: Wait for (5): login: Chat: Sending: ppp Chat: Expecting: word: Chat: Wait for (5): word: Chat: Sending: ppp Chat: Expecting: !sh \\-c "echo \\-n label: >&2" Chat: Exec: sh -c "echo -n label: >&2" Chat: Wait for (5): !sh \\-c "echo \\-n label: >&2" --> label: Chat: Exec: /bin/echo in Chat: Sending: Chat: Expecting: HELLO Chat: Wait for (5): HELLO login OK! .Ed .Pp 複数レベルのネストについて、 エスケープ文字の使用方法に (再度) 注意してください。 ここでは、4 つのパーザが動作してます。 1 番目は、オリジナルの行をパーズし、3 つの引数として読みます。 2 番目は、第 3 引数を 11 個の引数として読みます。 ここで、 .Dq \&- 記号がエスケープされていることが重要です。 そうでなければパーザは、 受信待ち-送信-受信待ちのシーケンスとして見てしまいます。 .Dq \&! 文字を見付けると、実行パーザは最初のコマンドを 3 つの引数として読み、 .Xr sh 1 自身が .Fl c 以降の引数を展開します。 我々は出力をモデムに送り返したいので、 1 番目の例では出力をファイルデスクリプタ 2 (stderr) にリダイレクトして .Nm -自身に送信およびログさせ、 +自身に送信および記録させ、 2 番目の例では単に stdout に出力して直接モデムに出力させます。 .Pp もちろん全体を、組み込みのものではなく外部の .Dq chat コマンドに実行させることが可能です。 良い代替方法については .Xr chat 8 を参照してください。 +.Pp +実行される外部コマンドは、 +.Dq !bg +コマンドと同様に、特殊語の展開対象となります。 .It set enddisc Op label|IP|MAC|magic|psn value このコマンドは、ローカル終点の選択値を設定します。 LCP 交渉の前に設定されると、 .Nm は LCP 終点選択値オプションを使用して、相手に情報を送ります。 次の選択値を設定可能です。 .Bd -unfilled -offset indent .It Li label 現在のラベルが使用されます。 .It Li IP 当方のローカル IP 番号を使用します。 LCP は IPCP より前に交渉されますので、 IPCP 層が後からこの値を変更することが可能です。 その場合、手動でリセットしない限り、終点の選択値は古い値のままとなります。 .It Li MAC 前述の .Ar IP オプションに似ていますが、 ローカル IP 番号に関係する MAC アドレスが使用される点が異なります。 ローカル IP 番号がどのイーサネットインタフェースにも存在しない場合、 本コマンドは失敗します。 .Pp ローカル IP 番号のデフォルトは、 マシンホスト名がなんであれ、その名前になりますので、通常 .Dq set enddisc mac を .Dq set ifaddr コマンドよりも先に実行します。 .It Li magic 20 桁の乱数が使用されます。 .It Li psn Ar value 指定された .Ar value が使用されます。 .Ar value は、絶対的な公衆スイッチネットワーク番号の先頭に 国コードを付けたものであるべきです。 .Ed .Pp 引数が与えられない場合、終点の選択値はリセットされます。 .It set escape Ar value... このオプションは前述の .Dq set accmap オプションに似ています。 -リンクを経由する時に「エスケープ」される文字を指定するために使用します。 -.It set filter dial|alive|in|out rule-no permit|deny Ar "[src_addr/width] [dst_addr/width] [proto [src [lt|eq|gt port]] [dst [lt|eq|gt port]] [estab] [syn] [finrst]]" +リンクを経由する時に +.Sq エスケープ +される文字を指定するために使用します。 +.It set filter dial|alive|in|out Ar rule-no Xo +.No permit|deny +.Oo Ar src_addr Ns Op / Ns Ar width +.Op Ar dst_addr Ns Op / Ns Ar width +.Oc Oo tcp|udp|icmp Op src lt|eq|gt Ar port +.Op dst lt|eq|gt Ar port +.Op estab +.Op syn +.Op finrst +.Oc +.Xc .Nm は 4 つのフィルタセットをサポートします。 .Em alive フィルタは接続を活性状態に保つパケットを指定します - アイドルタイマをリセットします。 .Em dial フィルタは、 .Fl auto モード時に .Nm にダイヤルさせるパケットを指定します。 .Em in フィルタは、マシンに入力可能なパケットを指定します。 .Em out フィルタは、マシンから出力可能なパケットを指定します。 .Pp フィルタリングは、 エイリアスエンジンが行う IP 変更の前に適用されます。 デフォルトでは、全フィルタセットが全パケットの通過を許可します。 ルールは .Ar rule-no に従って順番に処理されます。 各セットに対し 40 までのルールを指定可能です。 指定されるセットにおけるどのルールにもマッチしないパケットは破棄されます。 .Em in と .Em out のフィルタでは、パケットをドロップすることを意味します。 .Em alive フィルタでは、アイドルタイマをリセットしないことを意味します。 .Em dial フィルタではダイヤルさせることにはならないことを意味します。 ダイヤルを引き起こさないパケットは、 キューされるのではなく、捨てられることに注意してください。 -上述のパケットのフィルタリングの節を参照してください。 +上述の +.Sx パケットのフィルタリング +の節を参照してください。 .It set hangup Ar chat-script モデムを閉じる前にこれをリセットする時に使用する、 チャットスクリプトを指定します。 通常は不要であるべきですが、 閉じる時に自己を正しくリセットできないデバイスに対して使用できます。 .It set help|? Op Ar command 利用可能な set コマンドのまとめを表示するか、 .Ar command が指定されると、コマンドの使用方法を表示します。 -.It set ifaddr Ar [myaddr [hisaddr [netmask [triggeraddr]]]] +.It set ifaddr Oo Ar myaddr Ns +.Op / Ns Ar \&nn +.Oo Ar hisaddr Ns Op / Ns Ar \&nn +.Oo Ar netmask +.Op Ar triggeraddr +.Oc Oc +.Oc このコマンドは、IPCP 交渉の間使用される IP アドレスを指定します。 アドレスのフォーマットは次の通りです。 .Pp -.Dl a.b.c.d/n +.Dl a.b.c.d/nn .Pp ここで -.Ar a.b.c.d +.Dq a.b.c.d は希望する IP アドレスであり、 -.Ar n +.Ar nn はこのうち何ビットが有効であるかを示します。 -.Ar /n +.No / Ns Ar nn が省略された場合、デフォルトの -.Ar /32 +.Dq /32 になります。 ただし IP アドレスが 0.0.0.0 である場合には、マスクのデフォルトは -.Ar /0 +.Dq /0 です。 .Pp .Ar hisaddr に IP 番号の範囲として -.Pp -.Dl a.b.c.d[-d.e.f.g][,h.i.j.k[-l,m,n,o]]... +.Bd -literal -offset indent +.Ar \&IP Ns Oo \&- Ns Ar \&IP Ns Xo +.Oc Oo , Ns Ar \&IP Ns +.Op \&- Ns Ar \&IP Ns +.Oc No ... +.Xc +.Ed .Pp のフォーマットを指定できます。例えば: .Pp .Dl set ifaddr 10.0.0.1 10.0.1.2-10.0.1.10,10.0.1.20 .Pp は -.Ar 10.0.0.1 +.Dq 10.0.0.1 のみをローカル IP 番号として交渉しますが、指定された 10 個の IP 番号から 相手に割り当てを行います。 相手がこれらの番号のうちの 1 つを要求し、この番号が未使用な場合には、 .Nm は相手の要求を認めます。 相手がリンクを再確立して前回割り当てていた IP 番号を使用したい場合に有用です (既存の TCP 接続を保存します)。 .Pp 相手が要求した IP 番号が範囲外もしくは使用中の場合、 .Nm は範囲内の未使用 IP 番号をランダムに指示します。 .Pp .Ar triggeraddr が指定された場合、この値が .Ar myaddr の代りに IPCP 交渉で使用されます。 ただし、 .Ar myaddr の範囲のアドレスのみ受け入れられます。 これが有用なのは、相手が -.Ar 0.0.0.0 +.Dq 0.0.0.0 を要求しない限り IP アドレスを割り当てようとしない .Dv PPP 実装と交渉するときです。 .Pp .Fl auto モードでは設定ファイルの .Dq set ifaddr 行を読んだ直後に .Nm がインタフェースを構成することに注意してください。 他のモードではこれらの値は IPCP 交渉で使用され、 IPCP 層がアップするまでこれらのインタフェースは構成されません。 .Pp .Po PAP か CHAP が .Dq enable である場合 .Pc クライアントが自己証明をした後では、 .Ar HISADDR 引数は .Pa ppp.secret ファイルの第 3 引数で上書きされうることに注意してください。 -.Em 内向き接続の認証 +.Sx 内向き接続の認証 の節を参照してください。 .Pp どの場合でも、インタフェースが既に構成されている場合には、 .Nm はインタフェースの IP 番号を保存して、 既にバインドされているソケットが正しいままであるようにします。 -.It set ccpretry Ar period -.It set chapretry Ar period -.It set ipcpretry Ar period -.It set lcpretry Ar period -.It set papretry Ar period +.It set ccpretry|ccpretries Oo Ar timeout +.Op Ar reqtries Op Ar trmtries +.Oc +.It set chapretry|chapretries Oo Ar timeout +.Op Ar reqtries +.Oc +.It set ipcpretry|ipcpretries Oo Ar timeout +.Op Ar reqtries Op Ar trmtries +.Oc +.It set lcpretry|lcpretries Oo Ar timeout +.Op Ar reqtries Op Ar trmtries +.Oc +.It set papretry|papretries Oo Ar timeout +.Op Ar reqtries +.Oc これらのコマンドは .Nm が有限状態機械 (Finite State Machine; FSM) に要求パケットを送る前に 待つ秒数を指定します。 -.Ar period +.Ar timeout のデフォルトは、全 FSM において 3 秒です (ほとんどの場合十分です)。 -.It set log [local] [+|-] Ns Ar value... +.Pp +.Ar reqtries +を指定すると、 +相手から応答を受信しなくても諦めるまでに設定要求を作成する回数を、 +.Nm +に指示します。 +デフォルトの試行回数は、CCP, LCP, IPCP の場合 5 回であり、 +PAP と CHAP の場合 3 回です。 +.Pp +.Ar trmtries +を指定すると、 +相手の応答を待つことを諦めるまでに終了要求を作成する回数を、 +.Nm +に指示します。 +デフォルトの試行回数は 3 回です。 +認証プロトコルは終了されませんので、 +PAP や CHAP に対して指定することは不正です。 +.Pp +合意できない相手との交渉を避けるために、 +どのような交渉セッションであっても諦めたり層をクローズする前には、 +.Nm +は最大で +.Ar reqtries +の設定値の 3 倍までのみ送信します。 +.It set log Xo +.Op local +.Op +|- Ns +.Ar value Ns No ... +.Xc このコマンドにより現在のログレベルを修正できます。 詳細はログ機能の節を参照してください。 .It set login chat-script この .Ar chat-script はダイヤルスクリプトを補います。 もし両方が指定された場合、ダイヤルスクリプトの後で、 ログインスクリプトが実行されます。 ダイヤルスクリプト中で使用可能なエスケープシーケンスはここでも使用可能です。 .It set lqrperiod Ar frequency このコマンドは、 .Em LQR または .Em ECHO LQR のパケットが送信される頻度 .Ar frequency を秒で指定します。デフォルトは 30 秒です。 相手に LQR 要求を送りたい場合には、 .Dq enable lqr コマンドもまた使用する必要があります。 .It set mode Ar interactive|auto|ddial|background 指定したリンクにおけるモード .Sq mode を変更できます。通常マルチリンクモードでのみ有用ですが、 単一リンクモードでも使用可能です。 .Pp .Sq direct または .Sq dedicated のリンクを変更することはできません。 .Pp 注釈: コマンド .Dq set mode auto を発行し、IP エイリアシングが enable にされていた場合、後で .Dq enable iface-alias を行うと便利です。 .Nm が必要なアドレス変換を行うようにすることにより、 相手が当方に新しい (動的な) IP アドレスを割り当てたとしても、 リンクがアップすると接続のトリガとなるプロセスが接続できるようにします。 .It set mrru Op Ar value このオプションを設定すると、 マルチリンクプロトコルまたは MP としても知られる、 マルチリンク PPP 交渉を有効にします。 MRRU (Maximum Reconstructed Receive Unit) の値にはデフォルトはありません。 引数を指定しないと、マルチリンクモードは無効にされます。 .It set mru Op Ar value デフォルトの MRU (最大受信単位; Maximum Receive Unit) は 1500 です。 この値を増加させた場合、相手は MTU を増加させても *かまいません*。 デフォルトの MRU より減らすことは意味がありません。 なぜなら、 .Em PPP プロトコルでは少なくとも 1500 オクテットのパケットを 受信できなければ *ならない* からです。 引数が指定されないと、1500 が仮定されます。 .It set mtu Op Ar value デフォルトの MTU は 1500 です。 交渉時に、(296 バイト未満でなければ) 相手が望むいかなる MRU および MRRU も受け付け可能です。 MTU が設定されると、 .Nm は .Ar value よりも小さい MRU/MRRU の値を受け付けなくなります。 交渉が完了すると、相手がより大きな MRU/MRRU を要求していたとしても、 インタフェースに対して MTU が割り当てられます。 当方のパケットサイズを制限するのに有用です (よりよくバンド幅を共有できるようになりますが、 ヘッダデータが増えるというコストがかかります)。 .Pp .Ar value を指定しないと、1500 または相手が要求した値が使用されます。 .It set nbns Op Ar x.x.x.x Op Ar y.y.y.y このオプションは、相手の要求によって返される Microsoft NetBIOS ネームサーバの値を設定します。 値を指定しないと、 .Nm はそのような要求を拒否するようになります。 .It set openmode active|passive Op Ar delay デフォルトでは、 .Ar openmode は常に、1 秒の .Ar delay をもって .Ar active となります。 この場合、 .Nm は回線が設定されてから 1 秒が経過したなら いつでも LCP/IPCP/CCP の交渉を開始します。 相手が交渉を開始するのを待ちたい場合は、値 .Dq passive を使用します。 直ちにもしくは 1 秒以上待ってから交渉を開始したい場合、 .Ar delay を秒単位で指定します。 .It set parity odd|even|none|mark 回線のパリティを設定できます。デフォルト値は .Ar none です。 -.It set phone Ar telno[|telno]...[:telno[|telno]...]... +.It set phone Ar telno Ns Xo +.Oo \&| Ns Ar backupnumber +.Oc Ns ... Ns Oo : Ns Ar nextnumber +.Oc Ns ... +.Xc ダイヤルおよびログインのチャットスクリプトで使用される \\\\T 文字列が 置き換えられる電話番号を指定できます。 -複数の電話番号をパイプ (|) もしくはコロン (:) で区切って指定可能です。 +複数の電話番号をパイプ +.Pq Dq \&| +もしくはコロン +.Pq Dq \&: +で区切って指定可能です。 +.Pp パイプの後の番号がダイヤルされるのは、 直前の番号へのダイヤルもしくはログインのスクリプトが失敗した場合のみです。 回線の切断の理由にかかわらず、 コロンで区切られた番号は順番に試行されます。 +.Pp 複数の番号を指定した場合、接続が確立するまで .Nm はこのルールに基づいてダイヤルします。 再試行の最大値は、後述の .Dq set redial で指定します。 .Fl background モードでは各番号は最大 1 回試行されます。 -.It set [proc]title Op Ar value +.It set Op proc Ns Xo +.No title Op Ar value +.Xc .Xr ps 1 が表示する現在のプロセスタイトルを、 .Ar value に従って変更します。 .Ar value が指定されないと、元のプロセスタイトルが回復されます。 シェルコマンドが行うすべての語置換 (前述の .Dq bg コマンドを参照してください) は、ここでも行われます。 .Pp プロセスタイトル中に USER が必要な場合、 .Dq set proctitle コマンドは .Pa ppp.linkup 中に登場する必要があることに注意してください。 .Pa ppp.conf が実行されているときには、分からないからです。 +.It set radius Op Ar config-file +このコマンドは RADIUS サポートを (組み込まれていれば) 有効にします。 +.Ar config-file +は、 +.Xr radius.conf 5 +に記述されている radius クライアント設定ファイルを参照します。 +PAP または CHAP が +.Dq enable +にされている場合、 +.Nm +は +.Em \&N Ns No etwork +.Em \&A Ns No ccess +.Em \&S Ns No erver +として振舞い、設定されている RADIUS サーバを使用して認証し、 +.Pa ppp.secret +ファイルやパスワードデータベースによる認証は行いません。 +.Pp +PAP と CHAP のいずれも有効になっていない場合、 +.Dq set radius +は効果がありません。 +.Pp +.Nm +は、RADIUS 応答中の、次の属性を使用します: +.Bl -tag -width XXX -offset XXX +.It RAD_FRAMED_IP_ADDRESS +相手の IP アドレスは指定された値に設定されました。 +.It RAD_FRAMED_IP_NETMASK +tun インタフェースのネットマスクは指定された値に設定されました。 +.It RAD_FRAMED_MTU +指定された MTU が LCP 交渉で合意された相手の MRU より小さい場合であり、 +*かつ* 設定された MTU のいずれよりも小さい場合 ( +.Dq set mru +コマンド参照)、 +tun インタフェースの MTU は指定した値に設定されます。 +.It RAD_FRAMED_COMPRESSION +受信した圧縮タイプが +.Dq 1 +の場合、 +.Dq disable vj +設定コマンドが指定されていたとしても、IPCP 交渉において +.Nm +は VJ 圧縮を要求します。 +.It RAD_FRAMED_ROUTE +受信した文字列は、 +.Ar dest Ns Op / Ns Ar bits +.Ar gw +.Op Ar metrics +という書式であると期待します。 +指定した metrics は無視されます。 +.Dv MYADDR +と +.Dv HISADDR +は、 +.Ar dest +と +.Ar gw +の正当な値として理解されます。 +.Dq default +を +.Ar dest +に使用可能であり、デフォルト経路を指定します。 +.Dq 0.0.0.0 +は、 +.Ar dest +に対する +.Dq default +と同じであると解釈され、 +.Ar gw +に対する +.Dv HISADDR +と同じであると解釈されます。 +.Pp +例えば、戻り値 +.Dq 1.2.3.4/24 0.0.0.0 1 2 -1 3 400 +は 1.2.3.0/24 ネットワークへは +.Dv HISADDR +を介するという経路表エントリになり、 +戻り値 +.Dq 0.0.0.0 0.0.0.0 +または +.Dq default HISADDR +は +.Dv HISADDR +行きのデフォルト経路になります。 +.Pp +すべての RADIUS の経路は、 +すべてのスティッキーな経路が適用された後で適用されます。 +これにより、RADIUS の経路が、設定済みの経路に優先します。 +これは、 +.Dv MYADDR +または +.Dv HISADDR +というキーワードを含まない RADIUS の経路にもあてはまります。 +.Pp +.El +RADIUS サーバから受信した値は、 +.Dq show bundle +を使用して見られます。 .It set reconnect Ar timeout ntries (CD の喪失もしくは LQR の失敗により) 予想外の回線切断となった場合、 指定した .Ar timeout の後に接続が再確立されます。 回線は最大 .Ar ntries 回、再接続されます。 .Ar ntries のデフォルトは 0 です。 .Ar timeout に .Ar random -を指定すると、0 から 30 秒の間の任意時間の停止となります。 +を指定すると、1 から 30 秒の間の任意時間の停止となります。 .It set recvpipe Op Ar value ルーティングテーブルの RECVPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 -.It set redial Ar seconds[.nseconds] [attempts] +.It set redial Ar secs Ns Xo +.Oo + Ns Ar inc Ns +.Op - Ns Ar max Ns +.Oc Op . Ns Ar next +.Op Ar attempts +.Xc .Nm に .Ar attempts 回のリダイヤルを指示できます。 1 より大きな数を指定した場合 (前述の .Ar set phone 参照)、 各番号にダイヤルする前に、 -.Ar nseconds +.Ar next だけ停止します。 最初の番号に戻ってダイヤル開始する前に -.Ar seconds -だけ停止します。 -.Dq random +.Ar secs +だけ停止します。リテラル値 +.Dq Li random を -.Ar seconds +.Ar secs および -.Ar nseconds -のところで使用でき、0 から 30 秒の間の任意時間の停止となります。 -.Pp +.Ar next +のところで使用でき、1 から 30 秒の間の任意時間の停止となります。 +.Pp +.Ar inc +が指定されると、 +.Nm +が新規番号を試すたびに、この値が +.Ar secs +に加えられます。 +.Ar secs +が増加されるのは、最大 +.Ar maxinc +回だけです。 +.Ar maxinc +のデフォルト値は 10 です。 .Ar attempts -が経過した後でもこの遅延は効果があるので、 +が経過した後でも +.Ar secs +の遅延は効果があるので、 すぐに手動でダイヤルしても何も起ってないように見えるかもしれません。 すぐにダイヤルする必要がある場合、 .Dq \&! を .Dq open キーワードの直後に付けます。 更なる詳細については、前述の .Dq open の記述を参照してください。 .It set sendpipe Op Ar value ルーティングテーブルの SENDPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It set server|socket Ar TcpPort|LocalName|none password Op Ar mask このコマンドは .Nm に指定したソケットもしくは .Sq 診断ポート にてコマンド接続の入力を listen するように指示します。 .Pp 語 .Ar none は .Nm に既に存在するソケットを閉じさせます。 .Pp ローカルドメインソケットを指定したい場合、 .Ar LocalName に絶対ファイル名を指定します。そうしないと、TCP ポートの名前もしくは番号 であると解釈されます。 ローカルドメインソケットに使用される 8 進 umask を指定する必要があります。 .Sq 0 から始まる 4 桁 8 進数で指定します。 umask の詳細については .Xr umask 2 を参照してください。TCP ポート名がどのように変換されるかについては .Xr services 5 を参照してください。 .Pp このソケットにクライアントが接続するときに使用されねばならないパスワードも 指定可能です ( 前述の .Dq passwd コマンドを使用します)。 パスワードが空文字列として指定される場合、 クライアントが接続するときにパスワードを必要とされません。 .Pp ローカルドメインソケットが指定される場合、ソケット名中の最初の .Dq %d シーケンスは現在のインタフェースユニット番号で置換されます。 複数接続のために同一のプロファイルを使用したい場合に便利です。 .Pp 同様の方法で TCP ソケットの前に .Dq + 文字を付けることができます。 この場合、現在のインタフェースユニット番号が、ポート番号に加算されます。 .Pp .Nm をサーバソケットと共に使用する場合、通信機構として .Xr pppctl 8 コマンドを使用することが好ましいです。 現在 .Xr telnet 1 も使用可能ですが、将来リンク暗号化が実装されるかもしれませんので、 .Xr telnet 1 に依存しないようにしてください。 .It set speed Ar value シリアルデバイスの速度を指定します。 -.It set stopped Ar [LCPseconds [CCPseconds]] +.It set stopped Op Ar LCPseconds Op Ar CCPseconds このオプションが指定されると、 指定した FSM (有限状態機械; Finite State Machine) が停止状態になってから .Dq seconds で指定した秒数だけ停止したのち、 .Nm はタイムアウトします。 このオプションは、 相手が終了要求を送り我々が終了確認応答を送ったにもかかわらず 実際には接続を閉じない場合に、有用かもしれません。また、 .Dq set openmode passive を使用した場合に相手が指定時間内に Configure Request を送らないことを タイムアウト検出する場合には、便利かもしれません。 .Dq set log +lcp +ccp を使用すると、 .Nm -は適切な状態遷移をログします。 +は適切な状態遷移を記録します。 .Pp デフォルト値は 0 であり、 停止状態による .Nm のタイムアウトは発生しません。 .Pp この値は openmode の遅延 (上述の .Dq set openmode 参照) より小さくなってはなりません。 .It set timeout Ar idleseconds このコマンドはアイドルタイマの値を指定します。 更なる詳細については -.Dq アイドルタイマの設定 +.Sx アイドルタイマの設定 というタイトルの節を参照してください。 .It set vj slotcomp on|off このコマンドは .Nm に VJ スロット圧縮を交渉するか否かを指示します。 デフォルトではスロット圧縮は .Ar on です。 .It set vj slots Ar nslots このコマンドは最初の .Ar slots 番号を指定します。 .Nm は VJ 圧縮が enable されている時には、 これを使用して相手と交渉をします (前述の .Sq enable コマンドを参照してください)。 デフォルト値は 16 です。 .Ar nslots は .Ar 4 以上 .Ar 16 以下の値です。 .El .Pp .It shell|! Op Ar command .Ar command が指定されない場合、 .Dv SHELL 環境変数で指定されるシェルが起動されます。 そうでなければ指定された .Ar command が実行されます。 語の置換は、前述の .Dq !bg コマンドと同様の方法で行われます。 .Pp 文字 ! を使用する場合、コマンドとの間に空白が必要です。 このコマンドはフォアグラウンドで実行されることに注意してください - .Nm はプロセスが終了するまでは実行を続けません。 バックグラウンドでコマンド処理を行いたい場合には、 .Dv bg コマンドを使用してください。 .It show Ar var このコマンドを使用して、次の内容を確認できます: .Bl -tag -width 20 .It show bundle 現在のバンドル設定を表示します。 .It show ccp 現在の CCP 圧縮統計を表示します。 .It show compress 現在の VJ 圧縮統計を表示します。 .It show escape 現在のエスケープ文字を表示します。 .It show filter Op Ar name 指定したフィルタの現在のルールをリストします。 .Ar name を指定しないと、全フィルタが表示されます。 .It show hdlc 現在の HDLC 統計を表示します。 .It show help|? 利用可能な show コマンドのまとめを表示します。 .It show iface 現在のインタフェース情報 .Po Dq iface show と同じです .Pc を表示します。 .It show ipcp 現在の IPCP 統計を表示します。 .It show lcp 現在の LCP 統計を表示します。 -.It show [data]link +.It show Op data Ns Xo +.No link +.Xc 高レベルリンク情報を表示します。 .It show links 利用可能な論理リンクのリストを表示します。 .It show log 現在のログ値を表示します。 .It show mem 現在のメモリ統計を表示します。 .It show modem 現在の下位レベルリンク情報を表示します。 .It show proto 現在のプロトコルの総計を表示します。 .It show route 現在の経路表を表示します。 .It show stopped 現在の stopped タイムアウト値を表示します。 .It show timer アクティブアラームタイマを表示します。 .It show version .Nm の現在のバージョン番号を表示します。 .El .Pp .It term 端末モードに移行します。 キーボードからタイプした文字はモデムに送られます。 モデムから読んだ文字はスクリーンに表示されます。 モデムの相手側に .Nm の相手が認識された時には、 .Nm は自動的にパケットモードを有効にし、コマンドモードに戻ります。 .El .Pp .Sh 更に詳細について .Bl -bullet .It 設定ファイルの例を読んでください。良い情報源です。 .It 何が利用できるかについては、 .Dq help , .Dq alias ? , .Dq enable ? , .Dq set ? , .Dq show ? コマンドを使って、オンライン情報を取得してください。 .It 次の URL に有用な情報があります: .Bl -bullet -compact .It http://www.FreeBSD.org/FAQ/userppp.html .It http://www.FreeBSD.org/handbook/userppp.html .El .Pp .El .Pp .Sh 関連ファイル .Nm は、4 つのファイル .Pa ppp.conf , .Pa ppp.linkup , .Pa ppp.linkdown , .Pa ppp.secret を参照します。 これらのファイルは .Pa /etc/ppp に置かれます。 .Bl -tag -width XX .It Pa /etc/ppp/ppp.conf システムのデフォルト設定ファイル。 .It Pa /etc/ppp/ppp.secret 各システム用の認証設定ファイル。 .It Pa /etc/ppp/ppp.linkup .Nm がネットワークレベルの接続を確立した時に実行されるファイル。 .It Pa /etc/ppp/ppp.linkdown .Nm がネットワークレベルの接続を閉じる時にチェックするファイル。 .It Pa /var/log/ppp.log ログとデバッグ情報のファイル。このファイル名は .Pa /etc/syslogd.conf にて指定されます。詳細は .Xr syslog.conf 5 を参照してください。 .It Pa /var/spool/lock/LCK..* tty ポートをロックするためのファイル。詳細は .Xr uucplock 3 を参照してください。 .It Pa /var/run/tunN.pid tunN デバイスに接続されている .Nm プログラムのプロセス ID (pid) 。 ここで .Sq N はデバイスの番号です。 .It Pa /var/run/ttyXX.if このポートで使われている tun インタフェース。 このファイルも .Fl background , .Fl auto , .Fl ddial のいずれかのモードの時のみ作成されます。 .It Pa /etc/services サービス名でポート番号が指定されている場合に、ポート番号を取得します。 .It Pa /var/run/ppp-authname-class-value マルチリンクモードでは、 相手の認証名称 .Pq Sq authname と相手の終点選択クラス .Pq Sq class と相手の終点選択値 .Pq Sq value を使用して、ローカルドメインソケットが生成されます。 終点選択値はバイナリ値であってもかまわないため、 実際のファイル名を判定するために 16 進数に変換されます。 .Pp このソケットは、別の .Nm のインスタンスとリンクを受け渡しを行うために使用します。 .El .Pp .Sh 関連項目 .Xr at 1 , .Xr ftp 1 , .Xr gzip 1 , .Xr hostname 1 , .Xr login 1 , .Xr tcpdump 1 , .Xr telnet 1 , +.Xr libalias 3 , .Xr syslog 3 , .Xr uucplock 3 , .Xr crontab 5 , .Xr group 5 , .Xr passwd 5 , +.Xr radius.conf 5 , .Xr resolv.conf 5 , .Xr syslog.conf 5 , .Xr adduser 8 , .Xr chat 8 , .Xr getty 8 , .Xr inetd 8 , .Xr init 8 , .Xr named 8 , .Xr ping 8 , .Xr pppctl 8 , .Xr pppd 8 , .Xr route 8 , .Xr syslogd 8 , .Xr traceroute 8 , .Xr vipw 8 .Sh 歴史 元のプログラムは Toshiharu OHNO (tony-o@iij.ad.jp) が作成し、 FreeBSD-2.0.5 に Atsushi Murai (amurai@spec.co.jp) が提出しました。 .Pp 1997 年中に Brian Somers (brian@Awfulhak.org) が本格的な修正をし、 11 月に OpenBSD に移植されました (2.2-RELEASE の直後です)。 .Pp 1998 年初頭にマルチリンク ppp サポートが追加されたときに、 ほとんどのコードを Brian Somers が書き直しました。 diff --git a/ja/man/man1/spppcontrol.1 b/ja_JP.eucJP/man/man8/spppcontrol.8 similarity index 97% rename from ja/man/man1/spppcontrol.1 rename to ja_JP.eucJP/man/man8/spppcontrol.8 index 7b3dcd43c4..ee34ee692f 100644 --- a/ja/man/man1/spppcontrol.1 +++ b/ja_JP.eucJP/man/man8/spppcontrol.8 @@ -1,234 +1,235 @@ .\" Copyright (C) 1997 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. .\" -.\" %Id: spppcontrol.1,v 1.3 1998/08/03 06:24:59 charnier Exp % -.\" jpman %Id: spppcontrol.1,v 1.3 1998/10/13 21:35:21 vanitas Stab % +.\" %Id: spppcontrol.8,v 1.4.2.1 1999/04/01 00:11:58 jdp Exp % .\" +.\" %Id: spppcontrol.1,v 1.3 1998/10/13 21:35:21 vanitas Stab % +.\" spppcontrol.8 was spppcontrol.1. .Dd October 11, 1997 .Os .Dt SPPPCONTROL 8 .Sh 名称 .Nm spppcontrol .Nd sppp インタフェースのパラメータの表示または設定 .Sh 書式 .Nm spppcontrol .Op Fl v .Ar ifname .Op Ar parameter Ns Op \&= Ns Ar value .Op Ar ... .Sh 解説 .Xr sppp 4 ドライバには、 .Xr ifconfig 8 にて調整可能な設定の他に、 多くの追加引数やオプションパラメータが必要となるかもしれません。 これらには、認証プロトコルのパラメータなどと、 他の調整可能なコンフィギュレーション変数があります。 .Nm ユーティリティは、現在の設定を表示したり、 これらのパラメータを必要に応じて調整するために使用可能です。 .Pp どのような用途においても、 .Nm 呼び出しにおいては、少なくともパラメータ .Ar ifname を指定して、インタフェースの名前を指定する必要があります。 このインタフェースに対して、設定がおこなわれるかまたは設定が表示されます。 .Xr ifconfig 8 または .Xr netstat 1 を使用して、どのインタフェースが使用可能かを確認してください。 .Pp 他にパラメータを指定しない場合、 .Nm は、 .Ar ifname の現在の設定を列挙 (list) して終了します。 報告される設定にはインタフェースの現在の PPP フェーズも含まれ、その名は .Em dead , .Em establish , .Em authenticate , .Em network , .Em terminate のうちの 1 つです。 認証プロトコルがインタフェースに対して設定されている場合、 使用するプロトコル名と、使用するまたは期待されるシステム名と、 そして認証プロトコルに対して使用可能なオプションがあればそれを表示します。 認証に使用する秘密情報 ( .Em キー とも呼ばれます) は、この機能が使用するシステムコールによって返されないため、 表示されません。 .Pp 追加のパラメータを指定する場合、スーパユーザの特権が必要になり、コマンドは .Ql 設定 (set) モードにて動作します。 オプション .Fl v が有効にならない限り、静かに動作します。 .Fl v を指定すると、他のすべての動作をおこなった後、 最後に上述のように設定を表示します。 インタフェースが現在 .Em dead フェーズ以外である場合、このモードを使用しようとしてもリジェクトされます。 インタフェースを強制的に .Em dead フェーズにするためには、 .Xr ifconfig 8 をパラメータ .Ql down 付きで呼び出せば良いことに注意してください。 .Pp 現在サポートされているパラメータには次のものがあります: .Bl -tag -offset indent -width indent .It Ar authproto Ns \&= Ns Em protoname 相手と自分の両方の認証プロトコルを .Em protoname に設定します。 プロトコル名は .Ql chap , .Ql pap , .Ql none のいずれかです。 最後の場合、 指定したインタフェースにおいて認証プロトコルは使用されなくなります。 この副作用として、 このインタフェースに関する認証関連の他のパラメータもまた消去されます (つまり、システム名と認証における秘密情報を忘れてしまいます)。 .It Ar myauthproto Ns \&= Ns Em protoname 上と同じですが、リンクの自分側にのみ作用します。 すわなち、 相手が認証者であり、かつ、 自分を認証してもらう必要がある場合に使用されるプロトコルです .It Ar hisauthproto Ns \&= Ns Em protoname 上と同じですが、リンクの相手側にのみ作用します。 .It Ar myauthname Ns \&= Ns Em name 認証プロトコルにおける自分のシステム名を設定します。 .It Ar hisauthname Ns \&= Ns Em name 認証プロトコルにおける相手のシステム名を設定します。 CHAP では、これはヒントとしてのみ使用され、 相手が違う名前を提供した場合には警告メッセージが表示されます。 PAP では、これは相手が相手自身であることを認めさせるときに使用すべき名前です (相手の秘密情報と関連があります)。 .It Ar myauthsecret Ns \&= Ns Em secret 認証フェーズにおいて使用する、自分の秘密情報 (キーとパスワード) を設定します。 CHAP では、これは相手のチャレンジに基づく 返答のハッシュ値を計算するために使用されます。 PAP では、これはシステム名とともにプレインテキストにて送信されます。 秘密情報にシェルのメタ文字 (や空白) を含む場合、 秘密情報をシェルからエスケープすることを忘れないようにしてください。 .It Ar myauthkey Ns \&= Ns Em secret 上と同様です。 .It Ar hisauthsecret Ns \&= Ns Em secret 上と同様ですが、 自分が認証者であり、かつ相手を認証する必要がある場合に使用されます。 .It Ar hisauthkey Ns \&= Ns Em secret 上と同様です。 .It Ar callin 相手から呼び出されるときにのみ、相手を認証する必要があり、 自分が呼び出す場合には不要であることを示します。 相手が対称的な認証プロトルを実装していない場合に、必要となります (例えば Ascend ルータ)。 .It Ar always .Ar callin の逆です。どちらが呼び出す場合でも、 常に相手を認証する必要があることを示します。 これがデフォルトであり、 .Ql list モードでは明示的に表示されません。 .It Ar norechallenge CHAP でのみ意味があります。 最初に CHAP 交換が成功したならば、相手に再チャレンジしません。 相手の実装が壊れていて、 接続が確立した後の再チャレンジを認識しない場合、対処として使用します。 .It Ar rechallenge CHAP において、接続がネットワークフェーズである間、 ランダムな間隔にて再チャレンジを送信します。 (現在、間隔は 300 からおよそ 800 秒です。) これがデフォルトであり、 .Ql list モードでは明示的に表示されません。 .El .Sh 使用例 .Bd -literal # spppcontrol bppp0 bppp0: phase=dead myauthproto=chap myauthname="uriah" hisauthproto=chap hisauthname="ifb-gw" norechallenge .Ed .Pp bppp0 の設定を表示します。 インタフェースは、現在 .Em dead フェーズ、つまり LCP 層はダウンしているため、通信できません。 接続の両端は CHAP プロトコルを使用し、 当方のシステム名は .Ql uriah であるとリモート側に対して告げ、 リモート側は .Ql ifb-gw という名前で認証されると期待されます。 最初の CHAP 交換が成功すると、更なる CHAP チャレンジは送信されません。 おそらく CHAP に関する双方の秘密情報があるでしょうが、それらは表示されません。 .Pp .Bd -literal # spppcontrol bppp0 \e authproto=chap \e myauthname=uriah myauthsecret='some secret' \e hisauthname=ifb-gw hisauthsecret='another' \e norechallenge .Ed .Pp インタフェースを前の例の状態にするために、このように .Nm を呼び出したかもしれません。 .Sh 関連項目 .Xr netstat 1 , .Xr sppp 4 , .Xr ifconfig 8 .Rs .%A B. Lloyd, W. Simpson .%T "PPP Authentication Protocols" .%O RFC 1334 .Re .Rs .%A W. Simpson, Editor .%T "The Point-to-Point Protocol (PPP)" .%O RFC 1661 .Re .Rs .%A W. Simpson .%T "PPP Challenge Handshake Authentication Protocol (CHAP)" .%O RFC 1994 .Re .Sh 歴史 .Nm ユーティリティは .Fx 3.0 に登場しました。 .Sh 作者 プログラムの記述を .ie t J\(:org Wunsch, .el Joerg Wunsch, Dresden がおこないました。 diff --git a/ja_JP.eucJP/man/man8/vinum.8 b/ja_JP.eucJP/man/man8/vinum.8 index 80bdd4df6b..c02c1b8072 100644 --- a/ja_JP.eucJP/man/man8/vinum.8 +++ b/ja_JP.eucJP/man/man8/vinum.8 @@ -1,1266 +1,2132 @@ .\" Hey, Emacs, edit this file in -*- nroff-fill -*- mode +.\"- +.\" Copyright (c) 1997, 1998 +.\" Nan Yang Computer Services Limited. All rights reserved. +.\" +.\" This software is distributed under the so-called ``Berkeley +.\" License'': +.\" +.\" 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 Nan Yang Computer +.\" Services Limited. +.\" 4. Neither the name of the Company 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 ``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 company 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. +.\" +.\" $Id: vinum.8,v 1.6 1999-04-26 14:34:52 kuriyama Exp $ .\" .\" jpman %Id: vinum.8,v 1.3 1999/01/05 15:15:53 horikawa Stab % .\" WORD: attach 結合 (する) -.Dd 15 January 1999 +.Dd 28 March 1999 .Dt vinum 8 -.Os FreeBSD .Sh 名称 .Nm vinum .Nd 論理ボリュームマネージャの制御プログラム .Sh 書式 .Nm .Op command .Op Fl options .Sh コマンド .Cd create +.Fl f .Ar description-file .in +1i .Ar description-file の記述に従ってボリュームを作成します。 .in .\" XXX remove this -.Cd attach Ar plex Ar volume +.Cd attach Ar plex Ar volume .Op Nm rename .Cd attach Ar subdisk Ar plex Ar [offset] .Op Nm rename .in +1i プレックスをボリュームに、またはサブディスクをプレックスに結合します。 .in .\" XXX remove this .Cd debug .in +1i ボリュームマネージャをカーネルデバッガに移行させます。 .in .Cd debug .Ar flags .in +1i デバッグフラグを設定します。 .in .Cd detach .Op Ar plex | subdisk .in +1i 結合されていたボリュームやプレックスから、プレックスやサブディスクを分離します。 .in .Cd info .Op Fl v .in +1i ボリュームマネージャの状態を表示します。 .in .Cd init .Op Fl v .in +1i .\" XXX -配下の全サブディスクに 0 を書き込んでそのプレックスを初期化します。 +下位の全サブディスクに 0 を書き込んでそのプレックスを初期化します。 .in .Cd label .Ar volume .in +1i ボリュームラベルを作成します。 .in .Cd list .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume | plex | subdisk .in +1i 指定したオブジェクトの情報を表示します。 .in .Cd l .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume | plex | subdisk .in +1i 指定したオブジェクトの情報を表示します ( .Cd list コマンドの別形式)。 .in .Cd ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .in +1i ドライブの情報を表示します。 .in .Cd ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op subdisk .in +1i サブディスクの情報を表示します。 .in .Cd lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op plex .in +1i プレックスの情報を表示します。 .in .Cd lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .in +1i ボリュームの情報を表示します。 .in +.Cd printconfig +.Pa file +.in +1i +現在の設定のコピーを +.Pa file +へ書き込みます。 +.in .Cd makedev .in +1i .Ar /dev/vinum にデバイスノードを再作成します。 .in .Cd quit .in +1i 対話モード時に、 .Nm プログラムを終了します。通常 .Ar EOF 文字を入力することにより実現できます。 .in .Cd read .Ar disk Op disk... .in +1i 指定したディスクから .Nm の設定を読み出します。 .in .Cd rename Op Fl r .Ar [ drive | subdisk | plex | volume ] .Ar newname .in +1i 指定したオブジェクトの名前を変更します。 .ig .XXX .in .Cd replace .Ar [ subdisk | plex ] .Ar newobject .in +1i オブジェクトを同一の他のオブジェクトと入れ換えます。XXX まだ実装されていません。 .. .in .Cd resetconfig .in +1i すべての .Nm の設定をリセットします。 .in .Cd resetstats .Op Fl r .Op volume | plex | subdisk .in +1i 指定したオブジェクトの統計情報をリセットします。指定がない場合はすべての オブジェクトが対象です。 .in -.Cd rm +.Cd rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .in +1i オブジェクトを削除します。 .in +.Cd saveconfig +.in +1i +.Nm +の設定をディスクへ保存します。 +.in .ig XXX .Cd set .Op Fl f .Ar state .Ar volume | plex | subdisk | disk .in +1i オブジェクトの状態を \fIstate\fP\| に設定します。 .in .. .Cd setdaemon .Op value .in +1i デーモンの設定を与えます。 .in .Cd start .Op volume | plex | subdisk .in +1i システムがオブジェクトへアクセスできるようにします。 .in .Cd stop .Op Fl f .Op volume | plex | subdisk .in +1i オブジェクトへのアクセスを終了させます。 +パラメータを指定しないと、 +.Nm +を停止させます。 .in .Sh 解説 .Nm は \fBVinum\fP\| 論理ボリュームマネージャと通信するための ユーティリティプログラムです。 ボリュームマネージャの詳細については .Xr vinum 4 を参照してください。 .Xr vinum 8 は対話形式と、単独のコマンドを実行する形式のいずれも実行可能になっています。 コマンドを伴わずに .Nm を起動すると対話形式になる一方、引数としてコマンドを指定するとそのコマンド だけを実行します。 対話モードでは、 .Nm はコマンドラインヒストリを保持します。 .Ss オプション .Nm のコマンドにはオプションを付加することができます。どのコマンドにも 下記オプションのどれでも指定することができますが、指定しても変化がない場合も あります。 その場合にはそのオプションは無視されます。例えば、 .Nm stop コマンドは .Fl v オプションと .Fl V オプションを無視します。 .Bl -hang .It Cd -v .Nm -v オプションはどのコマンドにも使えて、より詳細な情報を引き出します。 .It Cd -V .Nm -V オプションはどのコマンドにも使えて、 .Nm -v オプションが表示するものよりさらに詳細な情報を引き出します。 .It Cd -f .Nm -f オプションは安全性の確認を無効にします。細心の注意を払って 使用して下さい。 このオプションは緊急時にのみ使用するものです。例えば、 コマンド .Bd -unfilled -offset indent rm -f myvolume .Ed .Pp は .Nm myvolume がオープンされていたとしても削除します。以降、このボリュームに アクセスすると、ほぼ確実にパニックを起こします。 .It Cd -r .Nm -r -(``recursive: 再帰的'') オプションは表示系のコマンドで使い、 +.if t (``recursive: 再帰的'') +.if n ("recursive: 再帰的") +オプションは表示系のコマンドで使い、 指示したオブジェクト -だけでなく、配下のオブジェクトの情報も表示します。 +だけでなく、下位のオブジェクトの情報も表示します。 例えば、 .Nm lv コマンドとともに使われる場合、 .Nm -r オプションは対象のボリュームに属するプレックスとサブディスクの情報も表示します。 .It Cd -s .Nm -s オプションは表示系のコマンドで統計情報を表示するために使います。 .El .Pp .Ss コマンドの詳細 .Pp .Nm コマンドは以下の機能を実行します。 .Bl -hang .It Nm attach Ar plex Ar volume .Op Nm rename .if n .sp -1v .if t .sp -.6v .It Nm attach Ar subdisk Ar plex Ar [offset] .Op Nm rename .sp .Nm .Ar attach は指定されたプレックスやサブディスクをそれぞれボリュームやプレックスに 組み込みます。サブディスクに ついては、プレックス中の始点 (オフセット) を指定することができます。 指定がない場合、 サブディスクは有効な最初の位置に結合されます。空でないボリュームにプレックスが 結合されると、 .Nm はそのプレックスを再統合します。 .Pp .Nm rename キーワードが指定されると、 .Nm -はオブジェクトの (プレックスの場合には配下のサブディスクの) 名前を変更して +はオブジェクトの (プレックスの場合には下位のサブディスクの) 名前を変更して デフォルトの .Nm 命名規則に合わせます。 .Pp サブディスク結合に際しては、いくつか考慮すべきことがあります: .Bl -bullet .It サブディスクの結合対象は、通常、コンカチネート化プレックスのみです。 .It ストライプ化プレックスおよび RAID-5 プレックスにおいて サブディスクが失われた場合 (例えばドライブの故障後など)、 当該サブディスクを置き換えられるのは同じ大きさのサブディスクだけです。 別のサブディスクを結合することは、現在許されていません。 .It コンカチネート化プレックスに対しては、 .Ar offset パラメータが、プレックスの先頭からのブロック単位のオフセットを指定します。 ストライプ化プレックスおよび RAID-5 プレックスに対しては、 本パラメータは、サブディスクの最初のブロックのオフセットを指定します。 別の表現をするなら、オフセットは、 サブディスクの数値指定による位置とストライプの大きさとの積になります。 例えば、ブロックの大きさが 256k のプレックスでは、 最初のサブディスクはオフセット 0 に、2 番目のオフセットは 256k に、 3 番目は 512k に、などとなります。 この計算では、RAID-5 プレックスのパリティブロックは無視されます。 .El -.It Nm create Ar description-file +.It Nm create Fl f Ar description-file .sp .Nm .Ar create はどのオブジェクトの作成にも使われます。相互の関連性が比較的複雑で .Nm オブジェクトの作成には潜在的に危険があることを考慮して、この機能には対話的な インタフェースはありません。詳細は後述の設定ファイルの節を参照して下さい。 +.Pp +.Nm +の +.Ar create +機能は加法的であることに注意してください: +複数回実行すると、名前付けしていない全オブジェクトのコピーを、 +複数生成することになります。 +.Pp +通常 +.Nm create +は既存の +.Nm +ドライブの名前を変更しません。これは、誤って消去してしまうのを避けるためです。 +不要な +.Nm +ドライブを破棄する正しい方法は、 +.Nm resetconfig +コマンドで設定をリセットすることです。 +しかし、起動できない +.Nm +ドライブ上に新規データを生成する必要がある場合があります。 +この場合、 +.Nm create Fl f +を使用してください。 .It Nm debug .Pp .Nm .Ar debug はリモートカーネルデバッガに入るために使用します。これは .Nm が .Ar VINUMDEBUG オプション付きで作成されている場合にのみ実行可能です。 このオプションはカーネルデバッガから抜け出るまでオペレーティング システムの実行を停止させます。 リモートデバッグが設定されており、 カーネルデバッガへのリモートコネクションがないと、 デバッガから抜け出るためにはシステムをリセットしてリブート することが必要になります。 .It Nm debug .Ar flags .Pp 内部デバッグフラグのビットマスクを設定します。 本製品が改良されるにつれ、このビットマスクは警告無しに変更されるでしょう。 確認のために、ヘッダファイル .Pa sys/dev/vinumvar.h を見てください。 ビットマスクは次の値から構成されます: .Bl -hang .It DEBUG_ADDRESSES (1) .br リクエスト中のバッファ情報を表示します。 .It DEBUG_NUMOUTPUT (2) .br .Dv vp->v_numoutput の値を表示します。 .It DEBUG_RESID (4) .br .Fd complete_rqe においてデバッガに移行します。 .It DEBUG_LASTREQS (8) .br 最新のリクエストのリングバッファを保存します。 .It DEBUG_REVIVECONFLICT (16) .br 再生における衝突に関する情報を表示します。 +.It DEBUG_EOFINFO (32) +.br +ストライププレックスで EOF を返すとき、内部状態の情報を表示します。 +.It DEBUG_MEMFREE (64) +.br +最後にメモリアロケータが解放したメモリ領域に関する循環リストを管理します。 .It DEBUG_REMOTEGDB (256) .br .Nm debug コマンドが発行されたときに、リモート .Ic gdb に移行します。 .El -.It Nm detach Op Fl f +.It Nm detach Op Fl f .Ar plex .if n .sp -1v .if t .sp -.6v -.It Nm detach Op Fl f +.It Nm detach Op Fl f .Ar subdisk .sp .Nm .Ar detach は指定されたプレックスやサブディスクを、 結合されているボリュームやプレックスから 分離します。分離するとボリュームのデータが欠ける可能性のある 場合、この操作は .Fl f オプションを指定しない限り実行されません。 オブジェクトが上位のオブジェクトに従った名前になっている場合 (例えば、プレックス vol1.p7 に結合されているサブディスク vol1.p7.s0 の場合)、 -その名前は頭に ``ex-'' がついたものに変更されます +その名前は頭に +.if t ``ex-'' +.if n "ex-" +がついたものに変更されます (例えば ex-vol1.p7.s0 に変更されます)。 その後の処理で必要であれば、その名前から頭の部分が外されます。 .Pp ストライプ化プレックスおよび RAID-5 プレックスにおいては、 .Nm detach はサブディスク数を減らしません。 その代わり、サブディスクには存在しないという印が付けられ、後で .Nm attach コマンドを使用して交換可能となります。 .It Nm info .br .Nm .Ar info は .Nm のメモリ使用に関する情報を表示します。これは主にデバッグのためのものです。 .Fl v オプションを付けると、使用中のメモリ領域についての詳細な情報を表示します。 .Pp .Fl V オプションを付けると、 .Nm ドライバが扱った最大 64 個までの最近の I/O リクエストに関する情報を、 .Ar info は表示します。 この情報は、デバッグフラグ 8 が設定されているときのみ収集されます。 書式は次のようになります: .Pp .Bd -literal vinum -> info -V Flags: 0x200 1 opens Total of 38 blocks malloced, total memory: 16460 Maximum allocs: 56, malloc table at 0xf0f72dbc Time Event Buf Dev Offset Bytes SD SDoff Doffset Goffset 14:40:00.637758 1VS Write 0xf2361f40 0x5b03 0x10 16384 14:40:00.639280 2LR Write 0xf2361f40 0x5b03 0x10 16384 14:40:00.639294 3RQ Read 0xf2361f40 0x427 0x104109 8192 19 0 0 0 14:40:00.639455 3RQ Read 0xf2361f40 0x417 0xd2109 8192 17 0 0 0 14:40:00.639529 3RQ Read 0xf2361f40 0x40f 0x6e109 8192 16 0 0 0 14:40:00.652978 4DN Read 0xf2361f40 0x427 0x104109 8192 19 0 0 0 14:40:00.667040 4DN Read 0xf2361f40 0x40f 0x6e109 8192 16 0 0 0 14:40:00.668556 4DN Read 0xf2361f40 0x417 0xd2109 8192 17 0 0 0 14:40:00.669777 6RP Write 0xf2361f40 0x427 0x104109 8192 19 0 0 0 14:40:00.685547 4DN Write 0xf2361f40 0x427 0x104109 8192 19 0 0 0 .Ed .Pp .Ar Buf フィールドは、ユーザバッファヘッダのアドレスを常に含みます。 ユーザリクエストに関連付けられるリクエスト (複数可) を識別するために 使用できますが、100% 信頼できるものというわけではありません: 理論的には、シーケンス中の 2 個のリクエストが同じバッファヘッダを使い得ますが、 これは一般的ではありません。 リクエストの先頭は、イベント .Ar 1VS で識別可能です。 前記の例では、複数のリクエストが単一のユーザリクエストに含まれています。 .Pp .Ar Event フィールドは、 リクエストチェーン中のイベントシーケンスに関連する情報を含みます。 .Ar 1 から .Ar 6 までの数字はイベントの大まかなシーケンスを示し、 2 文字の省略形は位置のニーモニックです。 .Bl -hang .It 1VS (vinum の strategy) .Fd vinumstrategy の入口にある、ユーザリクエストに関する情報を表示します。 デバイス番号は .Nm デバイスであり、オフセットと長さはユーザパラメータです。 本ニーモニックは、常にリクエストシーケンスの先頭になります。 .It 2LR (リクエスト発行) 関数 .Fd launch_requests において低レベル .Nm リクエストを発行する直前の、ユーザリクエストを表示します。 パラメータは .Ar 1VS の情報と同じはずです。 .Pp ここから後のリクエストでは、利用可能である場合、 .Ar Dev は関連付けられたディスクパーティションのデバイス番号であり、 -.Ar Offset +.Ar Offset はパーティションの先頭からのオフセットであり、 .Ar SD は .Dv vinum_conf 中のサブディスクインデックスであり。 .Ar SDoff はサブディスクの先頭からのオフセットであり、 .Ar Doffset は関連付けられたデータリクエストのオフセットであり、 .Ar Goffset は関連付けられたグループリクエストのオフセットです。 .It 3RQ (リクエスト) 高レベルのリクエストを満たすために発行される、 いくつかありうる低レベル .Nm リクエストのうちのひとつを表示します。 この情報は、 .Fd launch_requests においても記録されます。 .It 4DN (完了) .Fd complete_rqe から呼ばれ、リクエストの完了を表示します。 この完了は、ステージ .Ar 4DN において .Fd launch_requests から発行されたリクエストか、またはステージ .Ar 5RD か .Ar 6RP の .Fd complete_raid5_write から発行されたリクエストにマッチするはずです。 .It 5RD (RAID-5 データ) .Fd complete_raid5_write から呼ばれ、 パリティ計算後に RAID-5 データストライプへ書き込まれたデータを表現します。 .It 6RP (RAID-5 パリティ) .Fd complete_raid5_write から呼ばれ、 パリティ計算後に RAID-5 パリティストライプへ書き込まれたデータを表現します。 .El .\" XXX .It Nm init Ar plex .Pp .Nm .Ar init は指定したプレックスのすべてのサブディスクに 0 を書き込んでプレックスを初期化 します。これはプレックス中のデータに矛盾のないことを確実にする唯一の方法です。 RAID-5 プレックスの使用前には、この初期化が必要です。 他の新規プレックスに対しても、この初期化を推奨します。 .Pp -.Nm +.Nm はプレックス中のすべてのサブディスクを並行して初期化します。 この操作には長い時間が かかるため、バックグラウンドで実行されます。 .Nm は初期化が完了するとコンソールメッセージを出力します。 .It Nm label .Ar volume .Pp .Nm label コマンドは、ボリュームに .Ar ufs 形式のボリュームラベルを書き込みます。これは適切に .Ar disklabel を呼び出すことに対しての、単純な代替方法です。 いくつかの .Ar ufs コマンドはラベルを入手するために正規の .Ar ioctl コールを使わず、依然としてラベルを捜してディスクの読み込みを行う ため、このコマンドは必要になります。 .Nm はボリュームのデータとは別にボリュームラベルを保持しているため、この コマンドは .Ar newfs 用には必要ありません。 このコマンドの価値は低下しています。 .Pp .It Nm list .Op Fl r .Op Fl V .Op volume | plex | subdisk .if n .sp -1v .if t .sp -.6v .It Nm l .Op Fl r .Op Fl V .Op volume | plex | subdisk .if n .sp -1v .if t .sp -.6v .It Nm ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .if n .sp -1v .if t .sp -.6v .It Nm ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op subdisk .if n .sp -1v .if t .sp -.6v .It Nm lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op plex .if n .sp -1v .if t .sp -.6v .It Nm lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .Pp .Ar list は指定したオブジェクトの情報を表示するために使われます。引数が省略されると .Nm が認識しているすべてのオブジェクトについての情報が表示されます。 .Ar l コマンドは .Ar list と同じものです。 .Pp .Fl r オプションはボリュームとプレックスに関連します。 -指定されると、そのオブジェクト配下のサブディスクと (ボリュームに対しては) +指定されると、そのオブジェクト下位のサブディスクと (ボリュームに対しては) プレックスの情報を再帰的に表示します。 .Ar lv , .Ar lp , .Ar ls , .Ar ld のコマンドは、それぞれボリューム、プレックス、サブディスク、そしてドライブの 情報だけを表示します。これはパラメータを指定しないで使う場合に特に有用です。 .Pp .Fl s オプションで .Nm は装置の統計情報を出力するようになり、 .Op Fl v (verbose: 饒舌な) オプションはいくらかの付加情報を出力させ、 そして .Op Fl V は数多くの付加情報を出力させます。 .It Nm makedev .br .Nm makedev コマンドは、ディレクトリ /dev/vinum を除去した上で、 現在の設定を反映するようなデバイスノードと共にこのディレクトリを再作成します。 本コマンドは、通常の場合に使用されることを意図していません。 非常時にのみ使用するために提供しています。 .Pp .It Nm quit 対話モードで実行中のときに、 .Nm プログラムを終了します。通常は、文字 .Ar EOF を入力することで実現できます。 +.It Nm printconfig Pa file +現在の設定のコピーを、 +.Nm +設定を再生成可能な書式で、 +.Pa file +に書き込みます。 +ディスク上に保存された設定とは違い、ドライブの定義を含みます。 .It Nm read .Ar disk Op disk... .Pp .Nm read コマンドは、指定したディスクを走査し、作成済の設定情報を含む .Nm パーティションを探します。 そして、最近更新されたものから過去に更新されたものの順番で、 設定を読み込みます。 .Nm は最新のすべての設定情報を各ディスクパーティションに保持しています。 このコマンドの -パラメータとして、構成の中の全パーティションを指定する必要があります。 -.Nm +パラメータとして、設定の中の全スライスを指定する必要があります。 +.Pp .Nm read -は非 Vinum パーティションの名前を受け付けますので、 +コマンドは、他の +.Nm +パーティションを持つシステム上で、 +.Nm +設定を選択的にロードすることを意図しています。 +システム上の全パーティションを起動したい場合、 +.Nm start +コマンドを使用する方が簡単です。 +.Pp +本コマンド実行時に .Nm -パーティションが存在するかもしれない全パーティションを、 -本コマンドに指定することができます +がエラーになると、 +ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 +これは、ディスク上の設定が、設定エラーを示す +(例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 +再度更新をオンにするには、 +.Nm setdaemon +と +.Nm saveconfig +のコマンドを使用してください。 +デーモンオプションマスクのビット 4 をリセットして、 +設定保存を再度有効にしてください。 .It Nm rename .Op Fl r .Ar [ drive | subdisk | plex | volume ] .Ar newname .Pp 指定したオブジェクトの名前を変更します。 .Fl r -オプションが指定されると、配下のオブジェクトがデフォルトの規則に従って命名され +オプションが指定されると、下位のオブジェクトがデフォルトの規則に従って命名され ます。プレックスの名前はボリューム名に .p\f(BInumber\fP を付加して作られ、 サブディスクの名前はプレックス名に .s\f(BInumber\fP を付加して作られます。 .It Nm replace .Ar [ subdisk | plex ] .Ar newobject .Pp 指定したオブジェクトを同一の他のオブジェクトで置き換えます。このコマンドはまだ 実装されていません。 .It Nm resetconfig .Pp .Nm resetconfig コマンドはシステム内の .Nm 設定を完全に削除します。設定を完全に消去したい場合にだけ使って下さい。 .Nm は確認を求めます。NO FUTURE (前途なし) という語句を以下の通りに入力する必要が あります。 .Bd -unfilled -offset indent # \f(CBvinum resetconfig\f(CW WARNING! This command will completely wipe out your vinum configuration. All data will be lost. If you really want to do this, enter the text NO FUTURE Enter text -> \f(BINO FUTURE\fP Vinum configuration obliterated (訳注: ここから上記テキストの翻訳です) 警告! このコマンドはあなたの vinum 設定を完全に消し去ります。 全データは失われます。本当にこれを実行したい場合は、語句 NO FUTURE を入力して下さい。 入力してください -> \f(BINO FUTURE\fP vinum の設定は削除されました。 (訳注: ここまで上記テキストの翻訳です) .Ed .ft R .Pp メッセージが示すように、どたん場のコマンドです。 既存の設定をもう見たくもないとき以外は、このコマンドを使わないでください。 .It Nm resetstats .Op Fl r .Op volume | plex | subdisk .Pp .Nm は各オブジェクトについて多数の統計カウンタを保持しています。詳細は ヘッダファイル .Fi vinumvar.h を参照して下さい。 .\" XXX 仕上がったらここに入れる これらのカウンタをリセットするためには .Nm resetstats コマンドを使って下さい。 .Fl r オプションも共に指定すると、 .Nm -は配下のオブジェクトのカウンタもリセットします。 -.It Nm rm +は下位のオブジェクトのカウンタもリセットします。 +.It Nm rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .Pp .Nm rm はオブジェクトを .Nm 設定から消去します。ひとたびオブジェクトが消去されるとそれを復旧する方法は ありません。通常 .Nm はオブジェクトを消去する前に数多くの一貫性確認を行います。 .Fl f オプションを指定すると、 .Nm はこの確認を省略し、オブジェクトを無条件に消去します。このオプションは細心の 注意を払って使用して下さい。ボリューム上のすべてのデータを失うことも あり得ます。 .Pp 通常、 .Nm -は配下にプレックスを持つボリュームや、配下にサブディスクを持つプレックスを +は下位にプレックスを持つボリュームや、下位にサブディスクを持つプレックスを 消去することを拒否します。 .Fl f フラグを指定すると、 .Nm は無条件にオブジェクトを消去します。または .Fl r -(recursive: 再帰的) フラグを使うことで、同様に配下のオブジェクトを +(recursive: 再帰的) フラグを使うことで、同様に下位のオブジェクトを 消去することができます。 .Fl r フラグを付けてボリュームを消去すると、プレックスとそれに属するサブディスクも 消去します。 +.It Nm saveconfig +.Pp +現在の設定をディスクに保存します。 +本コマンドの第一義は整備用です。 +例えば、起動時にエラーが発生した場合、更新は無効化されます。 +再度有効化しても、設定は自動的にはディスクへ保存されません。 +このコマンドを使用して設定を保存してください。 .ig .It Nm set .Op Fl f .Ar state .Ar volume | plex | subdisk | disk .Nm set は指定したオブジェクトに、妥当な状態 (下記「オブジェクト状態」参照) のひとつを セットします。 通常、 .Nm は変更を加える前に非常に多くの一貫性の調査を実行します。 .Fl f オプションを指定すると、 .Nm はこの調査を省略し、無条件に変更を行います。このオプションは大いに注意して 使って下さい。ボリューム上のすべてのデータを失うこともあり得ます。 .\"XXX .Nm このコマンドはまだ実装されていません。 .. .It Nm setdaemon .Op value .Pp .Nm setdaemon は .Nm デーモンの変数ビットマスクを設定します。 本コマンドは一時的なものであり、将来置き換えられます。 現在、ビットマスクにはビット 1 (全アクションを syslog へ記録する) と ビット 4 (設定を更新しない) があります。 オプションビット 4 はエラー回復時に有用かもしれません。 .It Nm start .Op volume | plex | subdisk .Pp .Nm start は 1 つまたはそれ以上の .Nm -オブジェクトを起動します。オブジェクト名を指定しないと、システムが +オブジェクトを起動します ( +.Ar up +状態に移行させます)。 +.Pp +オブジェクト名を指定しないと、システムが .Nm ドライブであると知っているディスクを、 .Nm は走査します。その後、 .Nm read コマンドのところに書いてあるように、設定を読み込みます。 .Nm ドライブにはそのドライブ中のデータについてのすべての情報を持つヘッダが 入っており、その情報としてはプレックスとボリュームを表現するために必要な 他のドライブの名前を含んでいます。 .Pp +本コマンド実行時に +.Nm +がエラーになると、 +ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 +これは、ディスク上の設定が、設定エラーを示す +(例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 +再度更新をオンにするには、 +.Nm setdaemon +と +.Nm saveconfig +のコマンドを使用してください。 +デーモンオプションマスクのビット 4 をリセットして、 +設定保存を再度有効にしてください。 +.Pp オブジェクト名が指定されると、 .Nm -はそれらを開始します。 +はそれらを起動します。 +通常、この操作はサブディスクに対してのみ行います。 +動作はオブジェクトの現在の状態に依存します: +.Bl -bullet +.It +オブジェクトが既に +.Ar up +状態の場合、 +.Nm +はなにもしません。 +.It +オブジェクトがサブディスクであり、 +.Ar down +または +.Ar reborn +の状態の場合、 +.Nm +は +.Ar up +状態に変更します。 +.It +オブジェクトがサブディスクであり、 +.Ar empty +状態の場合、変更はサブディスクに依存します。 +サブディスクがプレックスの一部であり +このプレックスが他のプレックスを含むボリュームの一部である場合、 +.Nm +はサブディスクを +.Ar reviving +状態にし、データをボリュームからコピーしようとします。 +操作完了時に、サブディスクは +.Ar up +状態に設定されます。 +サブディスクがプレックスの一部であり +このプレックスが他のプレックスを含まないボリュームの一部である場合、 +またはサブディスクがプレックスの一部ではない場合、 +.Nm +は即時にサブディスクを +.Ar up +状態にします。 +.It +オブジェクトがサブディスクであり、 +.Ar reviving +状態である場合、 +.Nm +は +.Ar revive +操作をオフラインにて継続します。 +操作完了時に、サブディスクは +.Ar up +状態に設定されます。 +.El +.Pp +サブディスクが +.Ar up +状態になると、 +.Nm +は自動的に、 +サブディスクが属す可能性のあるプレックスとボリュームの状態をチェックし、 +これらの状態を適切に更新します。 +.Pp +オブジェクトがボリュームまたはプレックスの場合、 +.Nm start +は現在のところ効果がありません: +下位のサブディスクの (ボリュームの場合にはこれに加えてプレックスの) 状態を +チェックし、これに従ってオブジェクトの状態を設定します。 +将来のバージョンでは、本操作はサブディスクに影響を与えるようになります。 .Pp マルチプレックスボリュームの中の 1 つのプレックスを起動するには、 ボリューム中の他のプレックスからデータをコピーする必要があります。 これにはしばしば長い時間がかかるため、バックグラウンドで実行されます。 .It Nm stop .Op Fl f .Op volume | plex | subdisk .Pp +パラメータを指定しないと、 .Nm stop -は、指定したオブジェクトと配下のオブジェクトに対するアクセスを抑止します。 -オブジェクトを設定から削除することはありません。 -.Nm start +は +.Nm +kld を削除し、 +.Xr vinum 8 +を停止します。 +活動状態のオブジェクトが存在しない場合のみ、行うことが可能です。 +特に、 +.Fl f +フラグはこの要求に優先しません。 +このコマンドが動作するのは、 +.Nm +が kld としてロードされている場合のみです。 +静的に構成されたドライバをアンロードすることはできないからです。 +.Nm +が静的に構成されている場合、 +.Nm +.Nm stop +は失敗します。 +.Pp +オブジェクト名が指定されると、 +.Nm stop +はそのオブジェクトへのアクセスを無効化します。 +オブジェクトに下位オブジェクトがある場合、 +それらのサブオブジェクトは既に非活動状態 (stop また error) となっているか、 +.Fl r +と +.Fl f +のフラグが指定されていることが必要です。 +このコマンドは、オブジェクトを設定から取り除きません。 +.Nm start コマンドの後で再度アクセスができるようになります。 .Pp デフォルトでは .Nm -は動作中のオブジェクトは削除しません。例えば、動作中のボリュームに結合 -されているプレックスは削除できないし、オープン中のボリュームは削除できません。 +は動作中のオブジェクトは停止しません。例えば、動作中のボリュームに結合 +されているプレックスは停止できないし、オープン中のボリュームは停止できません。 .Fl f オプションは .Nm にこの確認を省略して無条件に削除するよう指示します。このオプションは 大いに注意し、よく理解した上で使って下さい。もし間違って使うとひどい データ破壊を起こすことがあります。 .El .Ss 設定ファイル .Nm では、 .Nm create コマンドに渡すすべての引数は設定ファイルに入っている必要があります。 設定ファイルのエントリは、ボリュームやプレックスやサブディスクを定義します。 エントリは 1 行に 1 つということ以外には決まった書式はありません。 .Pp 設定ファイルのいくつかの引数では、大きさ (長さ、ストライプ長) を指定します。 これらの長さは、バイト単位でも、512バイトのセクタ数 (\f(CWb\fRを後ろにつける) でも、キロバイト単位 (\f(CWk\fRをつける) でも、メガバイト単位(\f(CWm\fRを つける)でも、またはギガバイト単位 (\f(CWg\fRをつける) でも指定することが できます。これらの数はそれぞれ 2**10、2**20、2**30を表しています。例えば、 \f(CW16777216\fR バイトという値は \f(CW16m\fR とも \f(CW16384k\fR とも \f(CW32768b\fR とも記述することができます。 .Pp 設定ファイルには以下のエントリを記述することができます。 .Pp .Bl -hang -width 4n .It Nm volume -.Ar name +.Ar name .Op options .Pp .Ar name という名前でボリュームを定義します。 .Pp オプションには次のものがあります。 .Pp .Bl -hang -width 18n .It Nm plex Ar plexname 指定したプレックスをボリュームに追加します。 .Ar plexname が .Ar * として指定されると、 .Nm は設定ファイル中のボリューム定義の後で、次の妥当なエントリとなり得るプレックス の定義を捜します。 .It Nm readpol Ar policy ボリュームの .Ar read policy (読み込み方針) を定義します。 .Ar policy は .Nm round か .Nm prefer Ar plexname のどちらかです。 .Nm は読み込み要求を、ただ 1 つのプレックスによって満たします。 .Ar round 読み込み方針は、読み込みを別々のプレックスから \fIラウンドロビン\fR\| 方式で 行うように指定します。 .Ar prefer 読み込み方針では、指定したプレックスから毎回読み込みを行います。 .It Nm setupstate +.Pp マルチプレックスボリュームを作成する際に、すべてのプレックスの内容に一貫性が あると仮定します。通常こうなることはないため、正式には .Nm init コマンドを使って、最初に一貫性のある状態にする必要があります。しかし ストライプ化プレックスとコンカチネート化プレックスの場合には、普通は一貫性が ないままでも問題にはなりません。ボリュームをファイルシステムや スワップパーティションとして使う場合にはディスク上の以前の内容は どうでもよいため、それは無視されます。この危険を受け入れる場合には、 このキーワードを使って下さい。 設定ファイル中でボリュームの直後で定義されるプレックスに対してのみ 適用されます。 後でプレックスをボリュームに追加する場合には、 これらのプレックスを統合する必要があります。 .Pp RAID-5 プレックスには .Nm init を使うことが \fI必要\fP\| なことに注意して下さい。さもないと 1 つのサブディスクに障害が起きた時、大きくデータが破壊されます。 .fi .El .It Nm plex Op options .Pp -プレックスを定義します。ボリュームとは異なり、名前は不要です。 +プレックスを定義します。ボリュームとは違い、名前は不要です。 オプションには次のものを指定可能です: .Pp .Bl -hang -width 18n .It Nm name Ar plexname プレックスの名前を指定します。プレックスやサブディスクに名前をつける場合には .Ar name キーワードが必要になることに注意して下さい。 .sp .It Nm org Ar organization Op stripesize .Pp プレックスの編成を指定します。 .Ar organization は .Ar concat か .Ar striped か .Ar raid5 のいずれかです。 .Ar striped と -.Ar raid5 +.Ar raid5 のプレックスに対しては .Ar stripesize 引数を指定する必要がありますが、 .Ar concat のプレックスに対しては省略する必要があります。 .Ar striped タイプについては各ストライプの幅を指定します。 .Ar raid5 については、グループの大きさを指定します。 グループとはプレックスの一部分であり、 同じサブディスクに入っているすべてのデータのパリティが入っています。 それはプレックスの大きさの約数である必要があり (つまり、プレックスの大きさをストライプの大きさで割ったものは 整数である必要があり)、 ディスクセクタ長 (512バイト) の倍数である必要があります。 .sp 最適な性能のためには、ストライプの大きさは少なくとも 128kB であるべきです。 これより小さくすると、 個々のリクエストが複数のディスクに対して割り当てられることにより、 I/O のアクティビティが非常に増加します。 -この割り当てに起因する並行性の増加は、レイテンシを増加させません。 -ストライプの大きさの目安は、256kB から 512 kB の間です。 +本マッピングによる並行転送数増加に起因する性能向上は、 +レイテンシ増加に起因する性能劣化を引き起しません。 +ストライプの大きさの目安は、256 kB から 512 kB の間です。 .Pp ストライプ化プレックスは最低 2 つのサブディスクを持つ必要がありますし (そうでないとコンカチネート化プレックスになります)、 それぞれは同じ大きさである必要があります。 RAID-5 プレックスは最低 3 つのサブディスクを持つ必要があり、 それぞれは同じ大きさである必要があります。 実際には RAID-5 プレックスは最低 5 つのサブディスクから構成されるべきです。 .Pp .It Nm volume Ar volume プレックスを、指定したボリュームに追加します。 .Nm volume キーワードが指定されないと、プレックスは設定ファイル中の最後に記述された ボリュームに追加されます。 .sp .It Nm sd Ar sdname Ar offset 指定したサブディスクをプレックスの .Ar offset の位置に追加します。 .br .fi .El .It Nm subdisk Op options .Pp サブディスクを定義します。オプションには次のものを指定可能です: .Pp .Bl -hang -width 18n .nf .sp .It Nm name Ar name サブディスクの名前を指定します。これは必ずしも指定する必要は ありません\(em 上記の「オブジェクトの命名」を参照してください。 サブディスクに名前をつける場合には .Ar name キーワードを指定する必要があることに注意して下さい。 .sp .It Nm plexoffset Ar offset プレックス内のサブディスクの始点を指定します。指定がないと、 .Nm はすでにサブディスクがあればその直後の領域を割り当て、なければ プレックスの先頭から割り当てます。 .sp .It Nm driveoffset Ar offset ドライブ内のサブディスクの始点を指定します。指定がないと、 .Nm はドライブ中で最初の .Ar length バイト連続の空き領域を割り当てます。 .sp .It Nm length Ar length サブディスクの大きさを指定します。このキーワードは必須です。 デフォルト値はありません。 +値 0 を指定すると、 +.if t ``ドライブ上で最大限利用可能な連続空き領域を使用'' +.if n "ドライブ上で最大限利用可能な連続空き領域を使用" +という意味になります。 +ドライブが空の場合、サブディスクとしてドライブ全体を使用することを意味します。 .Nm length は .Nm len と短縮することもできます。 .sp .It Nm plex Ar plex サブディスクが属すプレックスを指定します。デフォルトでは、サブディスクは 最後に記述されたプレックスに属します。 .sp .It Nm drive Ar drive サブディスクが乗るドライブを指定します。デフォルトでは最後に記述された ドライブ上に位置します。 .br .fi .El .It Nm drive Ar name Op options .Pp ドライブを定義します。オプションには次のものを指定可能です: .Pp .Bl -hang -width 18n .It Nm device Ar devicename ドライブが乗るデバイスを指定します。 .El .El .Sh 設定ファイル例 .Bd -literal # vinum 設定ファイル例 # # ドライブ drive drive1 device /dev/da1h drive drive2 device /dev/da2h drive drive3 device /dev/da3h drive drive4 device /dev/da4h drive drive5 device /dev/da5h drive drive6 device /dev/da6h # 1 つのストライプ化プレックスをもつボリューム volume tinyvol plex org striped 512b sd length 64m drive drive2 sd length 64m drive drive4 volume stripe plex org striped 512b sd length 512m drive drive2 sd length 512m drive drive4 # 2 つのプレックス volume concat plex org concat sd length 100m drive drive2 sd length 50m drive drive4 plex org concat sd length 150m drive drive4 # 1 つのストライプ化プレックスと 1 つのコンカチネート化プレックスを持つボリューム volume strcon plex org striped 512b sd length 100m drive drive2 sd length 100m drive drive4 plex org concat sd length 150m drive drive2 sd length 50m drive drive4 # 1 つの RAID-5 プレックスと 1 つのストライプ化プレックスを持つボリューム # RAID-5 ボリュームの方が 1 つのサブディスク分だけ大きいことに注意 volume vol5 plex org striped 64k sd length 1000m drive drive2 sd length 1000m drive drive4 plex org raid5 32k sd length 500m drive drive1 sd length 500m drive drive2 sd length 500m drive drive3 sd length 500m drive drive4 sd length 500m drive drive5 .Ed .Ss ドライブレイアウト上の考慮点 現在、 .Nm ドライブは BSD ディスクパーティションです。それは ファイルシステムの上書きを避けるために -.Ar unused +.Ar vinum タイプである必要があります。 +互換性のために、現在の .Nm -の後のバージョンではこれは -.Ar vinum -タイプに変更される予定です。 +はパーティションタイプ +.Ar unused +を受け付けますが、次のリリースではこの種類のパーティションは許しません。 +タイプ +.Ar unused +であるパーティションから設定を読み出すと、 +.Nm +は警告メッセージを表示します。 .Nm disklabel .Ar -e を使用して、パーティションタイプ定義を編集してください。 次の表示は、 .Nm disklabel が示す典型的なパーティションレイアウトです: .Bd -literal 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 344064 4.2BSD 0 0 0 # (Cyl. 240*- 297*) b: 262144 81920 swap # (Cyl. 57*- 240*) c: 4226725 0 unused 0 0 # (Cyl. 0 - 2955*) e: 81920 0 4.2BSD 0 0 0 # (Cyl. 0 - 57*) f: 1900000 425984 4.2BSD 0 0 0 # (Cyl. 297*- 1626*) - g: 1900741 2325984 unused 0 0 0 # (Cyl. 1626*- 2955*) + g: 1900741 2325984 vinum 0 0 0 # (Cyl. 1626*- 2955*) .Ed .sp この例では、パーティション .Nm g を .Nm パーティションとして使用可能です。パーティション .Nm a , .Nm e , .Nm f は、 .Nm UFS ファイルシステムまたは .Nm ccd パーティションとして使用可能です。パーティション .Nm b はスワップパーティションであり、パーティション .Nm c はディスク全体を表現するため他の用途に使用できません。 .Pp .Nm は各パーティションの先頭から 265 セクタを設定情報に使用するため、 サブディスクの最大の大きさはドライブよりも 265 セクタ小さくなります。 +.Sh VINUM 設定法 +本節では、 +.Nm +システムの実装方法に関する、現実的なアドバイスを行います。 +.Ss データを何処に置くか +まず決定が必要な選択は、データを何処に置くかです。 +.Nm +専用のディスクパーティションが必要です。 +前述した、ドライブレイアウト上の考慮点にある使用例を参照してください。 +.Xr disklabel 8 +がパーティションタイプ +.Nm +を理解しないバージョンである場合を除き、パーティションタイプ +.Nm +を選択してください。 +.Xr disklabel 8 +が理解しない場合には、これを更新するまで、パーティションタイプ +.Nm unused +を使用する必要があります。 +真のパーティション名 (例えば +.Pa /dev/da0s1g ) +ではなく、互換パーティション名 (例えば +.Pa /dev/da0g ) +を使用してください。 +現在のところ、 +.Nm start +コマンドには互換パーティションのみを +.Nm +は使用しますので、問題を避けることが可能となっています。 +.Ss ボリュームのデザイン +.Nm +ボリュームの設定方法は、あなたの意図に依存します。 +次のように多くの可能性があります: +.Bl -enum +.It +多くの小さなディスクを結合して、 +適切な大きさのファイルシステムを作成したいと考えるかもしれません。 +例えば、小さなディスクを 5 個持っていて、 +全空間を単一ボリュームとして使用したい場合、次のような設定ファイルを書きます: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +drive d4 device /dev/da5e +drive d5 device /dev/da6e +volume bigger + plex org concat + sd length 0 drive d1 + sd length 0 drive d2 + sd length 0 drive d3 + sd length 0 drive d4 + sd length 0 drive d5 +.Ed +.Pp +この場合、サブディスクの長さを 0 と指定します。 +これは、 +.if t ``ドライブ上にある空き空間のうち、最大領域を使用する'' +.if n "ドライブ上にある空き空間のうち、最大領域を使用する" +ことを意味します。 +指定するサブディスクが、ドライブ上の唯一のサブディスクである場合、 +このサブディスクは使用可能な空間全体を使用します。 +.It +ディスク故障に対する追加の回復力 (レジリエンス; resilience) を +.Nm +に与えたい場合を考えます。 +選択肢としては、 +.if t ``ミラーリング'' +.if n "ミラーリング" +とも呼ばれる RAID-1 か、 +.if t ``パリティ'' +.if n "パリティ" +とも呼ばれる RAID-5 があります。 +.Pp +ミラーリングの設定のためには、 +単一ボリュームの中に複数のプレックスを作成する必要があります。 +例えば、 2 GB のミラー化ボリュームを作成するには、 +次のような設定ファイルを作成します: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +volume mirror + plex org concat + sd length 2g drive d1 + plex org concat + sd length 2g drive d2 +.Ed +.Pp +ミラー化ドライブを作成するときには、 +各プレックスからのデータが、 +違う物理ディスク上にあることを保証することが重要です。 +これにより、単一ドライブ故障においても、 +.Nm +はボリュームの完全なアドレス空間にアクセス可能となります。 +各プレックスが、 +完全なボリュームと同じだけのデータを必要とすることに注意してください: +この例では、ボリュームは 2 GB の大きさですが、各プレックス (と各サブディスク) +は 2 GB を必要としますので、全体のディスクストレージ要求は 4 GB となります。 +.Pp +RAID-5 の設定をするには、タイプ +.Ar raid5 +の単一プレックスを作成します。 +例えば、回復力を持つ 2 GB に相当するボリュームを作成するには、 +次のような設定ファイルを使用します: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +drive d4 device /dev/da5e +drive d5 device /dev/da6e +volume raid + plex org raid5 512k + sd length 512m drive d1 + sd length 512m drive d2 + sd length 512m drive d3 + sd length 512m drive d4 + sd length 512m drive d5 +.Ed +.Pp +RAID-5 プレックスは、最低 3 個のサブディスクを必要とします。 +これらのうち 1 個には、パリティ情報を格納するので、 +データストレージとしては使用しません。 +より多くのディスクを使用すると、 +より多くの割合のディスクストレージを、 +データストレージとして使用可能となります。 +この例では、総ストレージ使用量は 2.5 GB です。 +これに対し、ミラー設定での総ストレージ使用量は 4 GB です。 +最小の 3 個のディスクだけを使用する場合、 +情報格納のために次のように 3 GB を必要とします: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +volume raid + plex org raid5 512k + sd length 1g drive d1 + sd length 1g drive d2 + sd length 1g drive d3 +.Ed +.Pp +ミラー化ドライブを作成するときには、 +各サブディスクからのデータが、 +違う物理ディスク上にあることを保証することが重要です。 +これにより、単一ドライブ故障においても、 +.Nm +はボリュームの完全なアドレス空間にアクセス可能となります。 +.It +また、 +.Nm +の設定により、 +ファイルシステムへのアクセスの並行性を増したいと考えるかもしれません。 +多くの場合、単一のファイルシステムへのアクセスは、 +ディスク速度により制限されます。 +ボリュームを複数のディスクに分散することにより、 +複数アクセス環境でのスループットを増すことが可能です。 +この技術は、単一アクセス環境では、 +ほとんど効果がないかまったく効果がありません。 +.Nm +は +.if t ``ストライピング'' +.if n "ストライピング" +または RAID-0 とも呼ばれる技術を使用し、アクセスの並行性を増します。 +RAID-0 という名称は誤解を生じさせるものです: +なぜなら、ストライピングは冗長性も更なる信頼性も提供しないからです。 +実際、信頼性は低下します。 +なぜなら、単一ディスクの故障はボリュームを使用不可とし、 +多くのディスクを使うほどこれらのうち 1 個が故障する確率は増加するからです。 +.Pp +ストライピングの実装のためには、 +.Ar striped +(ストライプ化) プレックスを使用します: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +drive d4 device /dev/da5e +volume raid + plex org striped 512k + sd length 512m drive d1 + sd length 512m drive d2 + sd length 512m drive d3 + sd length 512m drive d4 +.Ed +.Pp +ストライプ化プレックスの最低サブディスク数は 2 個です。 +多くのディスクを使用するほど、性能が向上します。 +.It +両方の最良点を得ることにより、回復力と性能の両方を得ることを考えます。 +これは、RAID-10 (RAID-1 と RAID-0 の組み合わせ) と呼ばれることがあります。 +この名称もまた誤解を生じさせるものです。 +.Nm +では、次のような設定ファイルを使用可能です: +.Bd -literal -offset 4n +drive d1 device /dev/da2e +drive d2 device /dev/da3e +drive d3 device /dev/da4e +drive d4 device /dev/da5e +volume raid + plex org striped 512k + sd length 512m drive d1 + sd length 512m drive d2 + sd length 512m drive d3 + sd length 512m drive d4 + plex org striped 512k + sd length 512m drive d4 + sd length 512m drive d3 + sd length 512m drive d2 + sd length 512m drive d1 +.Ed +.Pp +ここでは、プレックスはストライプ化され、性能を向上しています。 +そして、このようなプレックスが 2 個あり、回復力を向上しています。 +この例で、2 番目のプレックスのサブディスクの順番が、 +1 番目のプレックスの逆になっていることに注意してください。 +これは性能のためであり、後で議論します。 +.El +.Ss ボリュームの作成 +ひとたび設定ファイルを作成した後は、 +.Nm +を起動し、ボリュームを作成します。 +この例では、設定ファイルは +.Pa configfile +です: +.Bd -literal + # vinum create -v configfile + 1: drive d1 device /dev/da2e + 2: drive d2 device /dev/da3e + 3: volume mirror + 4: plex org concat + 5: sd length 2g drive d1 + 6: plex org concat + 7: sd length 2g drive d2 + Configuration summary + + Drives: 2 (4 configured) + Volumes: 1 (4 configured) + Plexes: 2 (8 configured) + Subdisks: 2 (16 configured) + + Drive d1: Device /dev/da2e + Created on vinum.lemis.com at Tue Mar 23 12:30:31 1999 + Config last updated Tue Mar 23 14:30:32 1999 + Size: 60105216000 bytes (57320 MB) + Used: 2147619328 bytes (2048 MB) + Available: 57957596672 bytes (55272 MB) + State: up + Last error: none + Drive d2: Device /dev/da3e + Created on vinum.lemis.com at Tue Mar 23 12:30:32 1999 + Config last updated Tue Mar 23 14:30:33 1999 + Size: 60105216000 bytes (57320 MB) + Used: 2147619328 bytes (2048 MB) + Available: 57957596672 bytes (55272 MB) + State: up + Last error: none + + Volume mirror: Size: 2147483648 bytes (2048 MB) + State: up + Flags: + 2 plexes + Read policy: round robin + + Plex mirror.p0: Size: 2147483648 bytes (2048 MB) + Subdisks: 1 + State: up + Organization: concat + Part of volume mirror + Plex mirror.p1: Size: 2147483648 bytes (2048 MB) + Subdisks: 1 + State: up + Organization: concat + Part of volume mirror + + Subdisk mirror.p0.s0: + Size: 2147483648 bytes (2048 MB) + State: up + Plex mirror.p0 at offset 0 + + Subdisk mirror.p1.s0: + Size: 2147483648 bytes (2048 MB) + State: up + Plex mirror.p1 at offset 0 +.Ed +.Pp +.Fl v +フラグは、設定に従ってファイルをリストするよう、 +.Nm +に指示します。その後、 +.Nm list Fl v +コマンドと同じ書式で、現在の設定をリストします。 +.Ss より多くのボリュームを作成する +ひとたび +.Nm +ボリュームを作成した後は、 +.Nm +はこれらの情報を内部の設定ファイルにて管理します。 +再度作成する必要はありません。 +特に、 +.Nm create +コマンドを再実行すると、追加のオブジェクトを作ることになります: +.Bd -literal +.if t .ps -2 + # vinum create sampleconfig + Configuration summary + + Drives: 2 (4 configured) + Volumes: 1 (4 configured) + Plexes: 4 (8 configured) + Subdisks: 4 (16 configured) + + D d1 State: up Device /dev/da2e Avail: 53224/57320 MB (92%) + D d2 State: up Device /dev/da3e Avail: 53224/57320 MB (92%) + + V mirror State: up Plexes: 4 Size: 2048 MB + + P mirror.p0 C State: up Subdisks: 1 Size: 2048 MB + P mirror.p1 C State: up Subdisks: 1 Size: 2048 MB + P mirror.p2 C State: up Subdisks: 1 Size: 2048 MB + P mirror.p3 C State: up Subdisks: 1 Size: 2048 MB + + S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB +.if t .ps +.Ed +.Pp +この例では (今回は +.Fl f +フラグを付けています)、 +.Nm create +の再実行により 4 個の新規プレックスを作成し、 +それぞれが新規サブディスクを持ちます。 +他のボリュームを追加したい場合、これらのための新規設定ファイルを作成します。 +.Nm +が既に知っているドライブを参照する必要はありません。 +例えば、ボリューム +.Pa raid +を 4 個のディスク +.Pa /dev/da1e , +.Pa /dev/da2e , +.Pa /dev/da3e , +.Pa /dev/da4e +上に作成するには、他の 2 個についてのみ記述するだけで良いです: +.Bd -literal + drive d3 device /dev/da1e + drive d4 device /dev/da4e + volume raid + plex org raid5 512k + sd size 2g drive d1 + sd size 2g drive d2 + sd size 2g drive d3 + sd size 2g drive d4 +.Ed +.Pp +この設定ファイルでは、次のようになります: +.Bd -literal + # vinum create newconfig + Configuration summary + + Drives: 4 (4 configured) + Volumes: 2 (4 configured) + Plexes: 5 (8 configured) + Subdisks: 8 (16 configured) + + D d1 State: up Device /dev/da2e Avail: 51176/57320 MB (89%) + D d2 State: up Device /dev/da3e Avail: 53220/57320 MB (89%) + D d3 State: up Device /dev/da1e Avail: 53224/57320 MB (92%) + D d4 State: up Device /dev/da4e Avail: 53224/57320 MB (92%) + + V mirror State: down Plexes: 4 Size: 2048 MB + V raid State: down Plexes: 1 Size: 6144 MB + + P mirror.p0 C State: init Subdisks: 1 Size: 2048 MB + P mirror.p1 C State: init Subdisks: 1 Size: 2048 MB + P mirror.p2 C State: init Subdisks: 1 Size: 2048 MB + P mirror.p3 C State: init Subdisks: 1 Size: 2048 MB + P raid.p0 R5 State: init Subdisks: 4 Size: 6144 MB + + S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB + S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB + S raid.p0.s0 State: empty PO: 0 B Size: 2048 MB + S raid.p0.s1 State: empty PO: 512 kB Size: 2048 MB + S raid.p0.s2 State: empty PO: 1024 kB Size: 2048 MB + S raid.p0.s3 State: empty PO: 1536 kB Size: 2048 MB +.Ed +.Pp +RAID-5 プレックスの大きさに注意してください: +6 GB しかありませんが、 +これを構成するためにディスク空間を 8 GB 使用しています。 +これは、サブディスク 1 個分相当をパリティデータ格納に使用しているからです。 +.Ss Vinum の再起動 +システムのリブート時に、 +.Nm start +コマンドで +.Nm +を起動します: +.Bd -literal + # vinum start +.Ed +.Pp +これにより、システム中の全 +.Nm +ドライブが起動します。 +なんらかの理由で一部のドライブのみを起動したい場合、 +.Nm read +コマンドを使用してください。 +.Ss 性能関連 +最高性能の RAID アレイ設定に関する、多くの誤った考えが存在しています。 +特に、ほとんどのシステムで使用しているストライプの大きさは、小さ過ぎます。 +以降の議論は、 +.Nm vinum +だけでなく、全 RAID システムにあてはまります。 +.Pp +FreeBSD のブロック I/O システムは、.5 kB から 60 kB までの要求を発行します; +.\" mix = workload mix ? +典型的なミックスでは、ほぼ 8 kB です。 +どんなストライピングシステムにおいても、 +ある要求が 2 個の物理要求に分割されることを避けることはできませんし、 +より悪くするならばより多くに分割されてしまいます。 +これにより、甚大な性能劣化となります: +ディスクあたりの転送時間の削減は、 +より大きなオーダで増加するレイテンシによって相殺されてしまいます。 +.Pp +最近のディスクの大きさと FreeBSD のブロック I/O システムでは、 +ストライプの大きさを 256 kB から 512 kB にすると、 +適度に少数な要求に分割されることを期待できます; +正しい RAID の実装では、 +大きなディスクでのストライプの大きさを 2 または 4 MB に増さない +明確な理由はありません。 +.Pp +複数アクセスシステムでの転送のインパクトを考えるためのもっとも容易な方法は、 +潜在的なボトルネック、すなわちディスクサブシステムの観点から見ることです: +つまり、転送に要するディスク時間の総計はいくらか?です。 +ほとんどすべてがキャッシュされているので、 +要求と完了との時間的な関係はそれほど重要ではありません: +重要なパラメータは、要求がディスクを活動状態にする総時間であり、 +この間ディスクは他の転送ができなくなります。 +この結果、転送が同時に発生しても違う時に発生しても、 +実際には問題とはなりません。 +実際的には、我々が見ている時間は、レイテンシの総和 (位置決定時間と回転遅延、 +言い替えるとデータがディスクヘッド下に来るまでの時間) と総転送時間です。 +同じ速度のディスクへの転送においては、 +転送時間は転送の大きさの合計のみに依存します。 +.Pp +24 kB の典型的なニュースの記事やウェブページを考えると、 +これは 1 回の I/O で読み込めます。 +ディスクが転送レート 6 MB/s で平均位置決定時間 8 ms であり、 +ファイルシステムを 4 kB ブロックであるとします。 +24 kB ですから、断片化を考慮する必要はなく、 +ファイルは 4 kB 境界から開始します。 +必要な転送回数はブロック開始位置に依存します: +式は (S + F - 1) / S となり、 +S はファイルシステムブロック数でのストライプの大きさ、 +F はファイルシステムブロック数でのファイルの大きさです。 +.Pp +.Bl -enum +.It +ストライプの大きさは 4 kB。転送回数は 6 回。 +サブシステムの負荷: レイテンシ 48 ms、転送 2 ms、合計 50 ms。 +.It +ストライプの大きさは 8 kB。転送回数は 3.5 回。 +サブシステムの負荷: レイテンシ 28 ms、転送 2 ms、合計 30 ms。 +.It +ストライプの大きさは 16 kB。転送回数は 2.25 回。 +サブシステムの負荷: レイテンシ 18 ms、転送 2 ms、合計 20 ms。 +.It +ストライプの大きさは 256 kB。平均転送回数は 1.08 回。 +サブシステムの負荷: レイテンシ 8.6 ms、転送 2 ms、合計 10.6 ms。 +.It +ストライプの大きさは 4 MB。平均転送回数は 1.0009 回。 +サブシステムの負荷: レイテンシ 8.01 ms、転送 2 ms、合計 10.01 ms。 +.El +.Pp +ハードウェア RAID システムによっては、 +大きなストライプでは問題があるものがあるようです: +このようなシステムでは完全なストライプを常にディスクとの間で転送するようで、 +大きなストライプは性能に逆効果となります。 +.Nm +ではこの問題の被害を受けません: +すべてのディスク転送を最適化し、不要なデータを転送しないからです。 +.Pp +良く知られたベンチマークプログラムで真の複数アクセス状態 +(100 を越える同時ユーザ) をテストするものはないので、 +この主張の正しさを証明することは困難であることに注意してください。 +.Pp +これらのことを考えると、次の事項が +.Nm +ボリュームの性能に影響します: +.Bl -bullet +.It +ストライピングは、複数アクセスのみの性能を向上します。 +各要求が違うディスク上にある確率が増加するからです。 +.It +複数ドライブにまたがるコンカチネート化 UFS ファイルシステムもまた、 +複数ファイルアクセスの性能を向上します。 +UFS は、ファイルシステムをシリンダグループに分割し、 +ファイルを単一のシリンダグループに置こうとするからです。 +一般的に、ストライピングほどは効果がありません。 +.It +ミラーリングは、読み込み複数アクセスの性能を向上可能です。 +デフォルトでは +.Nm +は、連続する複数の読み込みを、 +連続する複数のプレックスに対して発行するからです。 +.It +ミラーリングは、複数アクセスか単一アクセスかに関わらず、 +すべての書き込みの性能を劣化させます。 +両方のプレックスに対し、データを書き込む必要があるからです。 +これが、前述のミラーリング設定におけるサブディスクのレイアウトの説明です: +各プレックス中の対応するサブディスクが別の物理ディスクにある場合、 +書き込みコマンドは並列に発行可能です。 +しかし、同じ物理ディスクにある場合、逐次的に実行されてしまいます。 +.It +RAID-5 の読み込みは、 +ストライプ化の読み込みと本質的に同じ考慮すべき点があります。 +ただし、ストライプ化プレックスがミラー化ボリュームの一部である場合を除きます。 +この場合、ミラー化ボリュームの方が性能が良くなります。 +.It +RAID-5 の書き込みは、ストライプ化の書き込みの約 25% の速度です: +書き込みを行うには、 +.Nm +はまずデータブロックと対応するパリティブロックを読み込み、 +いくばくかの計算を行い、 +パリティブロックとデータブロックを書き戻す必要がありますので、 +ストライプ化プレックスに対する書き込みの 4 倍の転送回数となります。 +一方、これはミラーリングのコストにより相殺されますので、 +単一 RAID-5 プレックスのボリュームへの書き込みは、 +2 個のストライプ化プレックスからなる正しく設定されたボリュームへの +書き込み速度の半分となります。 +.It +.Nm +の設定が変わると +(例えば、オブジェクトの追加や削除、またはオブジェクトの状態変更)、 +.Nm +は 128 kB までの更新された設定を各ドライブに書き込みます。 +ドライブ数が増加すると、この時間が長くなります。 +.El +.Ss Vinum ボリューム上にファイルシステムを作成する +.Nm +ボリューム上にファイルシステムを作成する前に +.Nm disklabel +を実行する必要はありません。 +raw デバイスに対して +.Nm newfs +だけを実行してください。 +.Fl v +オプションを使用して、 +デバイスがパーティションに分割されないようにしてください。 +例えば、ボリューム +.Pa mirror +上にファイルシステムを作成するには、次のコマンドを入力します: +.Bd -literal -offset 4n +# newfs -v /dev/vinum/rmirror +.Ed +.Pp +.Pa rmirror +という名前が raw デバイスを参照していることに注意してください。 +.Sh その他のことがら +.Nm +の設定に関係する数個のその他のことがらがあります: +.Bl -bullet +.It +複数のドライブを単一ディスク上に作成しても、利益はありません。 +各ドライブは 131.5 kB のデータをラベルと設定情報に使用し、 +設定変更時に性能が劣化します。 +適切な大きさのサブディスクを使用してください。 +.It +コンカチネート化 +.Nm +プレックスの大きさを増すことはできますが、 +現在のところストライプ化プレックスと RAID-5 プレックスでは増せません。 +現在のところ既存の UFS ファイルシステムの大きさを増すこともできません。 +プレックスおよびファイルシステムを拡張可能とする計画はあります。 +.El .Sh 分かりにくい仕様 (GOTCHAS) 次の事柄はバグではありませんし、存在する理由があるのですが、 混乱を引き起こすものです。 各項目は適切な節において議論されています。 .Bl -enum .It .Nm はデバイスを UFS パーティション上には作成するよう要求されると、 ``wrong partition type'' というエラーメッセージを返します。 パーティションタイプは、現在のところ、``unused'' である必要があります。 .It 複数のプレックスからなるボリューム作成時に、 -.Nm +.Nm はプレックスを自動的には初期化しません。 これは、内容については分からなくても、 これらの間には確かに一貫性がないということを意味しています。 その結果デフォルトでは、 新規作成されたプレックスのうち最初のものを除いたすべての状態を、 .Nm は .Ar 古い (stale) 状態に設定します。 .sp 実際上は、プレックス作成時にその内容に多大な興味を持つ人はいないので、 他のボリュームマネージャはどんなときでも .Ar 起動 (up) に設定して騙します。 .Nm は、新規作成されたプレックスが .Ar 起動 (up) 状態であることを保証するために、2 つの方法を提供します: .Bl -bullet .It プレックスを作成し、それらを -.Nm vinum init -で初期化します。 +.Nm vinum start +で同期します。 .It キーワード .Ar setupstate 付きでボリューム (プレックスではありません) を作成します。 このキーワードは、矛盾が存在しても無視してプレックスの状態を .Ar 起動 (up) 状態にするように、 .Nm に指示します。 .El .It 現在 .Nm がサポートしているコマンドには、実際には不要なものがあります。 私には理解できない理由があるのでしょうが、 .Nm label および .Nm resetconfig のコマンドを使おうとするユーザをしばしば見掛けます。特に .Nm resetconfig は、あらゆる種類の恐しいメッセージを表示するにもかかわらずです。 正当な理由無しに、これらのコマンドを使わないでください。 .It 状態遷移には非常に分り難いものがあります。 事実、これがバグであるのか仕様であるのかは明かではありません。 .Ar reborn -サブディスクなどの、奇妙な状態になったオブジェクトを開始できない場合には、 +サブディスクなどの、奇妙な状態になったオブジェクトを起動できない場合には、 .Nm stop または .Nm stop Ar -f のコマンドを使用して、まず .Ar stopped 状態に遷移させてください。 -これが上手くいけば、オブジェクトを開始できるはずです。 +これが上手くいけば、オブジェクトを起動できるはずです。 簡単な方法では上手くいかなくて、これが唯一の回復手段である場合、 その状況を報告してください。 .It カーネルモジュールを .Ar -DVINUMDEBUG オプション付きで構築した場合、 .Nm vinum(8) もまた .Ar -DVINUMDEBUG オプション付きで構築する必要があります。 なぜなら、両方のコンポーネントで使用されるデータオブジェクトに、 大きさが本オプションに依存しているものがあるからです。 前記のようにしないと、 .Ar Invalid argument というメッセージを表示してコマンドは失敗し、 次のようなコンソールメッセージが記録されます: .Pp .Bd -literal vinumioctl: invalid ioctl from process 247 (vinum): c0e44642 .Ed .Pp 古いバージョンの kld やユーザランドプログラムを使うと、 このエラーが発生することがあります。 +.It +.Nm +ドライブは UNIX ディスクパーティションであり、パーティションタイプ +.Ar vinum +を使用します。 +これは、パーティションタイプが +.Ar 4.2BSD +となる +.Nm ccd +とは違います。 +この ccd の動作は、自分の足元をすくうことになります: +.Nm ccd +では、容易にファイルシステムを上書きできてしまいます。 +.Nm +ではそのようなことは許しません。 +.Pp +同様の理由で、 +.Nm vinum Ar start +コマンドは、パーティション +.Ar c +上のドライブを受け付けません。 +パーティション +.Ar c +は、ディスク全体を表現するためにシステムが使用し、タイプ +.Ar unused +である必要があります。 +ここには明確な矛盾があるので、 +.Ar c +パーティションを使用しないことにより +.Nm +は問題を解決しています。 +.It +.Nm vinum Ar read +コマンドの文法は、吐き気を催すものです。 +これが唯一の +.Nm vinum +起動のためのコマンドでしたが、今の好ましい方法は +.Nm vinum Ar start +です。 +.Nm vinum Ar read +は整備のみに使用すべきです。 +文法が変更されたので、引き数が +.Pa /dev/da0 +のようなディスクスライスであり +.Pa /dev/da0e +のようなパーティションではないことに注意してください。 .El .\"XXX.Sh BUGS .Sh 関連ファイル .Ar /dev/vinum - .Nm オブジェクトのデバイスノードがあるディレクトリ .br .Ar /dev/vinum/control - .Nm vinum の制御デバイスがあるディレクトリ .br .Ar /dev/vinum/plex - .Nm プレックスのデバイスノードがあるディレクトリ .br .Ar /dev/vinum/sd - .Nm サブディスクのデバイスノードがあるディレクトリ .Sh 関連項目 .Xr vinum 4 , .Xr disklabel 8 , -.Nm http://www.lemis.com/vinum.html , -.Nm http://www.lemis.com/vinum-debugging.html . +.Xr newfs 8 , +.Pa http://www.lemis.com/vinum.html , +.Pa http://www.lemis.com/vinum-debugging.html . .Sh 作者 -Greg Lehey +Greg Lehey .Pa .Sh 歴史 .Nm コマンドは FreeBSD 3.0 から登場しました。