diff --git a/ja_JP.eucJP/man/man1/cdcontrol.1 b/ja_JP.eucJP/man/man1/cdcontrol.1 index e0b39b3cba..e3ca096d1a 100644 --- a/ja_JP.eucJP/man/man1/cdcontrol.1 +++ b/ja_JP.eucJP/man/man1/cdcontrol.1 @@ -1,176 +1,189 @@ -.\" %FreeBSD: src/usr.sbin/cdcontrol/cdcontrol.1,v 1.21.2.7 2001/03/06 14:21:06 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/usr.sbin/cdcontrol/cdcontrol.1,v 1.21.2.8 2001/07/19 03:59:02 kris Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/cdcontrol.1,v 1.17 2001/05/14 01:07:21 horikawa Exp $ .\" .Dd July 3, 1995 .Dt CDCONTROL 1 .Os FreeBSD .Sh 名称 .Nm cdcontrol .Nd コンパクトディスク制御ユーティリティ .Sh 書式 .Nm cdcontrol .Op Fl sv .Op Fl f Ar device .Op Ar command ... .Sh 解説 .Nm はオーディオ CD プレイヤーを操作するためのプログラムです。 device には .Pa cd0 や .Pa mcd0 などを指定します。 .Pp コマンドを指定しない場合、 .Nm は対話モードになり、標準入力からコマンドを読み込みます。 .Pp 以下のオプションを使用可能です。 .Bl -tag -width indent .It Fl s サイレントモード - テーブルヘッダ及び人間が可読なコメントを表示しません。 .It Fl v 冗長モード - 表示できる情報は全て表示します。 .It Fl f Ar device .Pa /dev/cd0c や .Pa mcd0 といったデバイスを指定します。 絶対パス及び .Pa /dev からの相対パスの指定が可能です。 必要ならば最後に `c' を追加します。 .El .Pp 現時点では以下のコマンドが利用できます。 コマンドをユニークに特定できるために必要な文字だけ指定する 必要があります。 語 -.Em play -は省略可能です。 +.Cm play +は省略可能であり、 +.Cm next +と +.Cm prev +の代りに文字 +.Dq + +と +.Dq - +を使用可能です。 .Bl -tag -width Cm .It Cm play first_track last_track .Ar first_track で指定されたトラックから .Ar last_track で指定されたトラックまで演奏します。最初のトラックが1番になります。 .It Cm play Xo .Ar start_m : Ns Ar start_s . Ns Ar start_f .Oo Ar end_m : Ns Ar end_s . Ns .Ar end_f Oc .Xc 絶対アドレス (MSF) を元に演奏します。演奏開始する時間は .Ar start_m に演奏開始する分を、 .Ar start_s に秒を、 .Ar start_f にはフレーム番号を指定します。演奏終了の時間は .Ar end_m に演奏終了する分を、 .Ar end_s, に秒を、 .Ar end_f にフレーム番号を指定することで指定できます。分指定で指定できる数値は 0 から 99 の範囲の値です。秒には 0 から 59 までが指定できます。フレーム 番号は 0 から 74 までの範囲で指定できます。 .It Cm play Op Ar #start_block Op length 論理ブロック .Ar start_block から .Ar length 論理ブロック分だけ演奏します。 +.It Cm next Op Ar tracks +指定した数のトラックを、前向きにスキップします (デフォルト 1)。 +.It Cm prev Op Ar tracks +指定した数のトラックを、後向きにスキップします (デフォルト 1)。 .It Cm pause 演奏を停止します。ディスクは停止しません。 .It Cm resume 演奏を再開します。 .Em pause で一時停止した後に使います。 .It Cm stop ディスクを停止します。 .It Cm eject ディスクを取り出します。 .It Cm close ディスクを挿入します。 .It Cm setvol left_channel right_channel 左チャンネルのボリュームを .Ar left_channel にセットし、右チャンネルを .Ar right_channel にセットします。指定できる値は 0 から 255 の範囲の値です。 .It Cm volume Ar mute 音を消します。 .It Cm volume Ar mono モノラルモードにします。 .It Cm volume Ar stereo ステレオモードにします。 .It Cm volume Ar left 左サブトラックを左と右の両チャネルで演奏します。 .It Cm volume Ar right 右サブトラックを左と右の両チャネルで演奏します。 .It Cm info 目次を表示します。 .It Cm status Xo .Op Ar audio | media | volume .Xc ディスクに関する以下のような情報を表示します: .Pp .Bl -tag -width "volume" -compact .It Ar audio 現在の演奏の状態と位置、 .It Ar media 現在のメディアカタログ状態、 .It Ar volume 現在の左チャネル及び右チャネルのボリューム値。 .El .It Cm cdid CD のシリアル番号を、 cddb (http://www.cddb.org/) プロジェクトが使用する方法を使用して、 表示します。 .It Cm help 利用可能なコマンドの一覧を表示します。 .It Cm debug Ar on CD デバイスドライバのデバッグモードを有効にします。 .It Cm debug Ar off ドライバのデバッグモードを無効にします。 .It Cm reset デバイスに対するハードウェアリセットを実行します。 .It Cm set Ar msf minute-second-frame ioctl モードに設定します (デフォルト)。 .It Cm set Ar lba LBA ioctl モードに設定します。 .It Cm quit プログラムを終了します。 .El .Sh 環境変数 次の環境変数が .Nm の実行に影響します: .Pp .Bl -tag -width CD_DRIVE -compact .It Ev CDROM .Fl f フラグで指定しなかった場合に使用される CD デバイス。 .Pp .It Ev CDPLAY .It Ev CD_DRIVE .It Ev DISC .It Ev MUSIC_CD .Ev CDROM が選ばれたため、これらの変数の価値は低下しています。 .El .Sh 関連ファイル .Bl -tag -width /dev/mcd0c -compact .It Pa /dev/cd0c .It Pa /dev/mcd0c .It Pa /dev/acd0c .El .Sh 作者 .An Jean-Marc Zucconi , .An Andrey A.\ Chernov , .An Serge V.\ Vakulenko .Sh 歴史 .Nm コマンドは .Fx 2.1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/col.1 b/ja_JP.eucJP/man/man1/col.1 index e894d0e59b..1560501d6b 100644 --- a/ja_JP.eucJP/man/man1/col.1 +++ b/ja_JP.eucJP/man/man1/col.1 @@ -1,126 +1,133 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Michael Rendell. .\" .\" 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. .\" .\" @(#)col.1 8.1 (Berkeley) 6/29/93 -.\" %FreeBSD: src/usr.bin/col/col.1,v 1.4.2.3 2001/06/01 01:13:38 dd Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/col.1,v 1.6 2001/05/14 01:07:21 horikawa Exp $ +.\" %FreeBSD: src/usr.bin/col/col.1,v 1.4.2.4 2001/07/07 11:17:48 mikeh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/col.1,v 1.7 2001/07/12 00:16:01 horikawa Exp $ .\" .Dd June 29, 1993 .Dt COL 1 .Os .Sh 名称 .Nm col .Nd 入力から逆行送り (reverse line feed) を取り除くフィルタ .Sh 書式 .Nm col -.Op Fl bfhx +.Op Fl bfhpx .Op Fl l Ar num .Sh 解説 .Nm col は、出力が順方向の行送りと半行送りで正しい順序になるように逆行送り (と半逆行送り) を取り除き、空白をなるべくタブに置き換えます。 これは、 .Xr nroff 1 と .Xr tbl 1 の出力を処理する場合に便利です。 .Pp .Nm col は標準入力を読み込み、標準出力に出力します。 .Pp オプションには以下のものがあります。 .Bl -tag -width indent .It Fl b バックスペースを出力せず、各桁の位置に最後に書かれた文字だけを 表示します。 .It Fl f 順方向の半行送りを許します(``詳細 (fine) '' モード)。 半行送りの境界に打たれる文字は、通常次の行に表示されます。 .It Fl h タブのかわりに複数の空白を出力しません (デフォルト)。 +.It Fl p +未知の制御シーケンスを無変更のまま通します。 +通常、 +.Nm +は、自身で認識して解釈するもの以外の制御シーケンスを取り除きます。 +自身で認識する制御シーケンスは、後述します。 .It Fl x タブのかわりに複数の空白を出力します。 .It Fl l Ar num メモリに、少なくとも .Ar num 行をバッファリングします。 デフォルトで 128 行までバッファリングされます。 .El .Pp .Nm が理解できる復帰動作の制御文字とその 10 進値の一覧を以下の表に示します。 .Pp .Bl -tag -width "carriage return" -compact .It ESC\-7 逆行送り (エスケープ 7) .It ESC\-8 半逆行送り (エスケープ 8) .It ESC\-9 半行送り (エスケープ 9) .It backspace 一桁戻る (8); 最初の桁では無視されます .It carriage return (13) .It newline 改行 (10); 復帰動作も同時に行ないます .It shift in 通常の文字セットにシフトします (15) .It shift out 異なる文字セットにシフトします (14) .It space 一桁移動します (32) .It tab 次のタブストップまで移動します (9) .It vertical tab 逆行送り (11) .El .Pp 認識できないすべての制御文字とエスケープシーケンスは捨てられます。 .Pp .Nm は、読み込まれた通りに文字セットの移り変わりを記憶し、 出力時に文字セットが正しくなるようにします。 .Pp 入力が最後に表示された行に戻ろうとすると、 .Nm は警告メッセージを表示します。 .Sh 関連項目 .Xr expand 1 , .Xr nroff 1 , .Xr tbl 1 .Sh 歴史 .Nm コマンドは .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/du.1 b/ja_JP.eucJP/man/man1/du.1 index b52cda0851..7cd86424de 100644 --- a/ja_JP.eucJP/man/man1/du.1 +++ b/ja_JP.eucJP/man/man1/du.1 @@ -1,145 +1,150 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)du.1 8.2 (Berkeley) 4/1/94 -.\" %FreeBSD: src/usr.bin/du/du.1,v 1.15.2.4 2001/05/25 07:34:52 ru Exp % +.\" %FreeBSD: src/usr.bin/du/du.1,v 1.15.2.5 2001/07/12 08:46:53 roam Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/du.1,v 1.10 2001/05/14 01:07:22 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/du.1,v 1.11 2001/06/25 02:02:58 horikawa Exp $ .\" .Dd April 1, 1994 .Dt DU 1 .Os .Sh 名称 .Nm du .Nd ディスク使用統計の表示 .Sh 書式 .Nm du .Op Fl H | L | P +.Op Fl I Ar mask .Op Fl a | s | d Ar depth .Op Fl c .Op Fl h | k .Op Fl x .Op Ar .Sh 解説 .Nm ユーティリティは、引数に指定された各ファイル、および 引数に指定された各ディレクトリを根とするファイル階層内にある 各ディレクトリ内のディスク使用統計をブロック単位で表示します。 引数にファイルが指定されなかった場合には、カレントディレクトリを 根とするファイル階層内のブロック単位の使用統計を表示します。 .Fl k フラグを指定した場合、表示は 1024 バイトブロックにて行います。 指定しなかった場合は、 .Xr getbsize 3 が使用され、どのブロックサイズを使用するかを決定します。 端数となるブロック数は切り上げられます。 .Pp オプションは以下の通りです: .Bl -tag -width indent .It Fl H コマンドラインに指定されたシンボリックリンクをたどります。 階層内を調べている途中で見つかったシンボリックリンクはたどりません。 .It Fl L コマンドラインのシンボリックリンク および階層内を調べている途中で見つかったシンボリックリンクをたどります。 +.It Fl I Ar mask +指定した +.Ar mask +に適合するファイルおよびディレクトリを無視します。 .It Fl P シンボリックリンクを全くたどりません。 これがデフォルトです。 .It Fl a ファイル階層内の各ファイルの情報も表示します。 .It Fl h 「人間が読める」出力。単位のサフィックス、 Byte, Kilobyte, Megabyte, Gigabyte, Terabyte and Petabyte を付けます。 .It Fl r 読めないディレクトリやオープンできないファイルといったメッセージを生成します。 これはデフォルトです。 このオプションは、単に .St -xpg4 準拠のためだけにあります。 .It Fl s 指定したファイルのエントリを表示します。( .Fl d 0 と等価です) .It Fl d Ar depth 深さ .Ar depth までの全てのファイルとディレクトリだけを表示します. .It Fl c 総計を表示します。 .It Fl k 1024 バイト (1 キロバイト) ブロックとして報告します。 .It Fl x ファイルシステムマウントポイントはたどりません。 .El .Pp .Nm は、 .Fl H もしくは .Fl L オプションが指定されない限り、シンボリックリンクの大きさは リンクの参照先の大きさではなく、シンボリックリンク自身の 占める大きさとして数えます。 もし .Fl H もしくは .Fl L のどちらかのオプションが指定された場合には、 たどられた全てのシンボリック リンクの大きさは数えられず、また表示もされません。 .Pp 複数のハードリンクを持つファイルは、 .Nm の実行中、1 回しか数えられず、1 回しか表示されません。 .Sh 環境変数 .Bl -tag -width BLOCKSIZE .It Ev BLOCKSIZE .Ev BLOCKSIZE 環境変数が指定されていて .Fl k オプションが指定されていないと、ブロック数はそのブロックサイズ単位で 表示されます。 .Ev BLOCKSIZE 環境変数が指定されておらず .Fl k オプションが指定されていないと、ブロック数は 512 ブロックサイズ単位で 表示されます。 .El .Sh 関連項目 .Xr df 1 , .Xr fts 3 , .Xr symlink 7 , .Xr quot 8 .Sh 歴史 .Nm コマンドは、 .At v1 で登場しました。 diff --git a/ja_JP.eucJP/man/man1/ed.1 b/ja_JP.eucJP/man/man1/ed.1 index 8343e82b36..d19da8167e 100644 --- a/ja_JP.eucJP/man/man1/ed.1 +++ b/ja_JP.eucJP/man/man1/ed.1 @@ -1,886 +1,886 @@ -.\" %FreeBSD: src/bin/ed/ed.1,v 1.17.2.6 2001/06/07 23:56:05 dd Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/ed.1,v 1.14 2001/05/14 01:07:22 horikawa Exp $ +.\" %FreeBSD: src/bin/ed/ed.1,v 1.17.2.7 2001/07/20 05:21:10 ben Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/ed.1,v 1.15 2001/07/12 00:16:01 horikawa Exp $ .Dd May 21, 1993 .Dt ED 1 .Os .Sh 名称 -.\" ed, red \- text editor .Nm ed , .Nm red .Nd 行指向のテキストエディタ .Sh 書式 .Nm ed .Op Fl .Op Fl sx .Op Fl p Ar string .Op Ar file .\" .LP .\" red [-] [-sx] [-p \fIstring\fR] [\fIfile\fR] .Sh 解説 .Nm ed は、行指向のテキストエディタです。 本コマンドを用いることで、テキストファイルの生成、表示、変更その他の操作を 行なうことができます。 .\" .B red .\" is a restricted .\" .BR ed : .\" it can only edit files in the current .\" directory and cannot execute shell commands. .Pp .Ar file 引数を指定して本コマンドを起動すると、ファイル .Ar file のコピーをエディタのバッファに読み込みます。 以後の変更はそのコピーに対して行なわれ、 .Ar file で指定したファイル自身が直接変更されることはありません。 .Nm コマンドを終了する際、 .Em w コマンドで明示的にセーブしなかった変更点はすべて失われます。 .Pp 編集は、 .Em コマンド モードと .Em 入力 モードの 2 つの異なるモードを使い分けて行ないます。 .Nm を起動したら、まずコマンドモードに入ります。 本モードでは、標準入力からコマンドを読み込み、それを実行することで エディタバッファの内容操作を行ないます。 典型的なコマンドは、以下のようなものです。 .Pp .Sm off .Cm ,s No / Em old Xo .No / Em new .No / Cm g .Xc .Sm on .Pp これは、編集しているテキストファイル中に .Em old という文字列があったら、これらをすべて文字列 .Em new に置き換えるコマンドです。 .Pp .Em a (append)、 .Em i (insert)、あるいは .Em c (change) といった入力コマンドが入力された場合、 .Nm は入力モードに移行します。これが、ファイルにテキストを追加する 主たる方法です。 このモードでは、コマンドを実行することはできません。 そのかわり、標準入力から入力されたデータは、 直接エディタバッファへと書き込まれます。行は、改行キャラクタまで のテキストデータおよび、最後の .Em 改行 キャラクタを含むデータから構成されます。 ピリオド 1 つだけ .Pq Em .\& の行を入力すると、入力モードを終了します。 .Pp すべての .Nm コマンドは、全ての行もしくは指定した範囲の行の操作が可能です。例えば、 .Em d コマンドは指定した行を削除し、 .Em m コマンドは指定した行を移動します。 上に示した例のように、置換によってある行の一部分のみを変更することは 可能ですが、 .Em s コマンドは、一度に全部の行にわたって変更を行なうことも可能です。 .Pp 一般的には、 .Nm コマンドは、0 個以上の行番号および、それに連なる 1 文字コマンドから 成り立ちます。場合によっては追加のパラメータをもつこともあります。 いうなれば、コマンドは以下の構造を持ちます。 .Pp .Sm off .Xo .Op Ar address Op , Ar address .Ar command Op Ar parameters .Xc .Sm on .Pp 行番号はコマンドの操作対象行あるいは対象行範囲を示します。 行番号の指定個数が、コマンドが受け付け可能な個数よりも少ない場合には、 デフォルトの行番号が採用されます。 .Sh オプション 以下のオプションが使用できます。 .Bl -tag -width indent .It Fl s 診断メッセージを抑制します。本オプションは、 .Nm の入力がスクリプトによって行なわれる場合に有効です。 .It Fl x 続く読み書きの際に行なわれる暗号化に用いる鍵の入力を促します ( .Em x コマンドを参照して下さい)。 .It Fl p Ar string コマンドプロンプトとして表示する文字列を指定します。 コマンドプロンプトは、コマンドモードで .Em p コマンドを実行することで、表示する/しないを切り替えることが可能です。 .It Ar file 編集対象のファイルを指定します。 .Ar file 名の先頭に感嘆符 (!) が付加されていた場合、そのファイル名はシェルコマンドと して解釈されます。この場合、編集対象として読み込まれるテキストは、 .Xr sh 1 が .Ar file で指定したコマンドを実行した結果、標準出力に出力されるデータです。 先頭が感嘆符で始まるファイルを編集する場合には、ファイル名の先頭に バックスラッシュ (\\) を付加して下さい。 感嘆符以外の文字で始まるファイル名については、編集対象のファイル名は .Ar file となります。 .El .Sh 行指定 行は、バッファ内の行番号で表現されます。 .Nm は .Em 現在行 を管理しており、 コマンドに行番号が指定されない場合は、 現在行がデフォルト行として用いられます。 ファイルが最初に読み出された直後は、現在行はファイルの最後の行となります。 一般的に、現在行はコマンドが操作した最後の行となります。 .Pp 行番号は、以下の一覧のうち 1 つおよび、補助的に付加される 相対行番号 (オフセット) から構成されます。 相対行番号は、任意の数字の組み合わせと演算子、そして空白文字を含みます ( 例えば .Em + , .Em - や .Em ^ が演算子に含まれます ) 。 行番号は、左から右に解釈され、それらの演算子を含む値は、現在行からの相対行番 号と解釈されます。 .Pp 行番号の表現に関して上記の規則が適用される中で、行番号 .Em 0 ( ゼロ ) に関しては、例外的な扱いがされます。 これは「最初の行より前」を意味し、 それが正しい意味を持つ場合は常に利用可能です。 .Pp 行範囲は、コンマもしくはセミコロンで区切られた 2 つのアドレスで示されます。 最初に指定される行番号は、2 番目に指定される行番号を超える値を指定して はいけません。行範囲指定で行番号が 1 つしか指定されなかった場合には、2 番目に 指定されるアドレスとして最初に指定されたアドレスが設定され ます。ここで 3 個以上の行番号が指定されると、最後の 2 つの行番号で 決定される範囲がコマンド実行対象になります。行番号の指定を 1 つだけしか 想定していないコマンドの場合、最後の 1 つの行番号の行がコマンド実行対象 となります。 .Pp コンマで区切られた各行番号は、現在行からの相対行を指し示します。 セミコロンで区切られている場合は、範囲の始めの行は現在行が設定され、 範囲の終りは始めの行からの相対行で表わされます。 .Pp 行番号の指定には、以下のシンボルが使用可能です。 .Bl -tag -width indent .It . バッファ中の現在行を表します。 .It $ バッファ中の最終行を表します。 .It n バッファ内の .Em n 番目の行を表します。 .Em n は、 .Em [0,$] の間です。 .It - or ^ 1 行前の行です。 相対行指定 .Em -1 と同等であり、複数指定することで効果を累積することが可能です。 .\" --- という指定をすることで、2 行前を示すことができます。 .\" ↑原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997) .It -n or ^n .Em n 行前の行を表します。 .Em n は、負でない整数です。 .It + 次の行を表します。 これは、 .Em +1 と同様であり、 .Em - と同様の累積的指定が可能です。 .It +n or whitespace .Em n 行後ろの行を表します。 .Em n は、負でない整数です。 .Em n の前に .Em whitespace ( 空白文字 ) を付加して指定した場合も .Em +n と解釈されます。 .\" ↓原文中に無いのでコメントアウト sakai@jp.freebsd.org (Jun 9,1997) .\" ただし、空白文字による指定を行なった場合は、単独では現在行からの相対行数を .\" 指定することはできず、相対行指定の基準となる行をその前に指定しなければなり .\" ません。 .It , or % バッファの最初から最後までを表します。これは、 .Em 1,$ と指定した場合と同等です。 .It ; バッファ中の現在行から最後の行までを表します。これは、 .Em .,$ と指定した場合と同等です。 .It /re/ 指定された正規表現 .Em re を含む、(現在行よりも後ろの) 次の行を表します。 必要であれば、文字列検索はテキスト先頭に折り返し、 現在行に達するまで検索を行ないます。 // は、最後に行なった検索を繰り返します。 .It ?re? 指定した正規表現 .Em re を含む、現在行より前の行を表します。 必要であれば、文字列検索はテキストの最後に折り返し、 現在行に達するまで検索を行ないます。 ?? は、最後に行なった検索を繰り返します。 .It 'lc .Em k (mark) コマンドでマークをつけた行を表します。ここで .Em lc は、英小文字1文字です。 .El .Sh 正規表現 正規表現はテキストを選択する際に用いるパターンです。 例えば次の .Em ed コマンド .Pp .Sm off .Cm g No / Em string Xo .No / .Xc .Sm on .Pp は .Em string を含む全ての行を表示します。 正規表現は .Em s コマンドで古いテキストを新しいテキストで置き換える際にも用いられます。 .Pp 文字リテラルを指定するのに加え、 正規表現は文字列のクラスを表現することができます。 このようにして表現された文字列は、それに対応する正規表現に「マッチする」と 言います。 ある正規表現が一つの行の中の複数の文字列にマッチする場合、 マッチする部分のうち最も左にあって最も長いものが選択されます。 .Pp 正規表現を組み立てる際には以下のシンボルが用いられます: .Bl -tag -width indent .It c 以下に挙げるものを除く任意の文字 .Em c は、その文字自身にマッチします。 このような文字には `{', '}', `(', `)', `<', `>' が含まれます。 .It Pf \e c バックスラッシュでエスケープした文字 .Em c は、その文字自身にマッチします。 ただし `{', '}', `(', `)', `<', `>' を除きます。 .It . 任意の一文字にマッチします。 .It Op char-class 文字クラス .Em char-class に含まれる任意の一文字にマッチします。 文字クラス .Em char-class に `]' を含めるには、文字 `]' を最初の文字に指定します。 文字の範囲を指定するには、範囲の両端の文字の間を `-' でつなぎます。 例えば `a-z' は小文字全体を表します。 以下のようなリテラル表記も、文字集合を指定するために文字クラス .Em char-class で使用することができます: .Pp .Bl -column "[:alnum:]" "[:cntrl:]" "[:lower:]" "[:xdigit:]" -compact .It [:alnum:] Ta [:cntrl:] Ta [:lower:] Ta [:space:] .It [:alpha:] Ta [:digit:] Ta [:print:] Ta [:upper:] .It [:blank:] Ta [:graph:] Ta [:punct:] Ta [:xdigit:] .El .Pp 文字クラス .Em char-class の最初あるいは最後の文字として `-' が用いられると、 それはその文字自身にマッチします。 文字クラス .Em char-class 中のこれ以外の文字は全て、それら自身にマッチします。 .Pp 以下の形式の文字クラス中のパターン: .Pp .Bl -item -compact -offset 2n .It .Op \&. Ns Ar col-elm Ns .\& or, .It .Op = Ns Ar col-elm Ns = .El .Pp は .Xr locale 5 に沿って解釈されます (現在のところサポートされません)。ここで .Ar col-elm は .Em collating element です。詳しい説明は .Xr regex 3 を参照して下さい。 .It Op ^char-class 文字クラス .Em char-class に含まれない、改行以外の任意の一文字にマッチします。 文字クラス .Em char-class は上で定義しています。 .It ^ .Em ^ が正規表現の最初の文字である場合、 その正規表現は行頭でのみマッチします。 それ以外の場合、 .Em ^ はそれ自身にマッチします。 .It $ .Em $ が正規表現の最後の文字である場合、 その正規表現は行末でのみマッチします。 それ以外の場合、 .Em $ はそれ自身にマッチします。 .It Pf \e < これに続く単一文字の正規表現あるいはその部分式が、 単語の先頭でのみマッチするようにします (この機能は利用できない 場合があります)。 .It Pf \e > これに続く単一文字の正規表現あるいはその部分式が、 単語の末尾でのみマッチするようにします (この機能は利用できない 場合があります)。 .It Pf \e (re\e) 部分式 (subexpression) .Em re を定義します。部分式はネストできます。 これ以降、 .Pf \e Em n ( .Em n は [1,9] の範囲の数) の形式の後方参照は、 .Em n 番目の部分式にマッチしたテキストに展開されます。 例えば、正規表現 `\e(.*\e)\e1' は、 同じ文字列が隣接しているような任意の文字列にマッチします。 部分式は左側のデリミタから順に番号が振られます。 .It * 直前にある単一文字の正規表現あるいはその部分式のゼロ回以上の繰り返しに マッチします。 .Em * が正規表現あるいはその部分式の最初の文字として用いられた場合、 .Em * はその文字自身にマッチします。 .Em * 演算子は時に予期しない結果をもたらすことがあります。 例えば、正規表現 `b*' は文字列 `abbb' の先頭に マッチします (部分文字列 `bbb' ではありません)。 これはヌルへのマッチが最も左にあるマッチだからです。 .It \e{n,m\e} or \e{n,\e} or \e{n\e} 直前にある単一文字の正規表現あるいはその部分式の、 .Em n 回以上 .Em m 回以下の繰り返しにマッチします。 .Em m が省略された場合、 .Em n 回以上の繰り返しにマッチします。 更にコンマも省略された場合、ちょうど .Em n 回の繰り返しにのみマッチします。 .El .Pp 各 .Xr regex 3 の実装によっては、 更に正規表現演算子がいくつか定義されていることがあります。 .Sh コマンド 全ての .Nm コマンドは、1 文字からなりますが、追加パラメータが必要なコマンドもあります。 コマンドのパラメータが複数の行にわたる場合には、そのパラメータを含めたコマンド の終りを含む行を除き、行末にバックスラッシュ (\\) を付加して下さい。 .Pp 一般的には、1 行ごとに 1 コマンドを入れることが許されています。 しかしながら、ほとんどのコマンドは、コマンド実行を行なった後のデータ更新 その他を確認するために、 .Em p (print)、 や .Em l (list)、 .Em n (enumerate), のような表示系のコマンドを同時に指定できます。 .Pp インタラプト (一般的には ^C) を入力することで、現在実行しているコマンドを 強制終了し、コマンドモードに戻すことができます。 .Pp .Nm は、以下のコマンドを使用できます。コマンド実行時に何の指定もない場合の デフォルトの行番号もしくは行範囲が括弧内に示されています。 .Bl -tag -width indent .It (.)a 指定した行の後にテキストを追加します。 テキストは入力モードで入力されていきます。 現在行番号は、入力された最後の行に設定されます。 .It (.,.)c バッファ内の指定した行を変更します。指定した行のデータは、バッファから消去 され、そこに対してテキストデータを入力するようになります。 テキストは入力モードで入力されていきます。 現在行番号は、入力した最後の行に設定されます。 .It (.,.)d 指定した範囲をバッファから削除します。 削除した範囲の後に行が続いている場合、現在行番号は、その行に設定されます。 そうでない場合には、現在行番号は、削除された範囲の前の行に設定されます。 .It e Ar file .Ar file を編集し、デフォルトのファイル名を設定します。 もし .Ar file が指定されなかった場合には、デフォルトのファイル名が使用されます。 本コマンド実行時に、それまで別のファイルを編集していた場合には、 その内容はすべて消去され、新しいファイルが読み込まれます。 現在行番号は、入力された最後の行に設定されます。 .It e Ar !command .Ar !command で指定されたコマンドを実行し、その結果として標準出力へ 出力されたデータを編集します (後述する .Ar ! command を参照して下さい)。 デフォルトのファイル名は変更されません。 .Ar command の出力が読み込まれる前に、バッファ内に存在した行はすべて消去されます。 現在行番号は、入力された最後の行に設定されます。 .It E Ar file 無条件で .Ar file で指定したファイルを読み込み、編集します。 .Em e コマンドと動作は似ていますが、すでにバッファ上のデータに変更が加えられ ている場合でも、未書き込みの変更を警告を出さずに捨ててしまう点が異なります。 現在行番号は、入力された最後の行に設定されます。 .It f Ar file デフォルトファイル名を .Ar file に設定します。 .Ar file 名が指定されない場合には、デフォルトファイル名が表示されます。 .It (1,$)g/re/command-list .Ar command-list で指定されたコマンドを、指定した正規表現 .Ar re に一致する各行に対して実行します。 現在行番号は、 .Ar command-list で指定されたコマンドが実行される前に、指定した正規表現に一致した行 に設定されます。 .Em g コマンドが終了した場合、現在行番号は最後に .Ar command-list 実行の影響を受けた行に設定されます。 .Pp .Ar command-list で指定されるコマンドは、1 行ごとに 1 つずつ書かれる必要があります。各コマンド 行の終りには、一番最後のコマンド行を除いてはバックスラッシュ (\\) を記述する 必要があります。 コマンド .Em g , .Em G , .Em v , .Em V を除くすべてのコマンドを指定可能です。 .Ar command-list 中の空行は、 .Em p コマンドと同等に扱われます。 .It (1,$)G/re/ 指定した正規表現 .Ar re に一致した行に対して、対話編集を行ないます。 指定した正規表現に一致する文字列を含む行があると、その行を表示し、現在行番号を 設定します。 そして、ユーザに .Ar command-list の入力を促します。 .Em G コマンドが終了した場合、現在行番号は、 .Ar command-list 実行の影響を受けた最後の行に設定されます。 .Pp .Ar command-list の記述形式は、 .Em g コマンドで指定するものと同じです。改行のみの場合は、コマンド実行をしない ( ヌルコマンドリストを指定した ) ものとみなされます。 `&' 文字のみを入力した場合には、 直前に実行した ( ヌルコマンドリストではない ) コマンドを再実行します。 .It H エラーメッセージの出力の有無を切り替えます。 デフォルトでは、エラーメッセージは出力されません。 ed スクリプトを作成する場合、スクリプトのデバッグのために、本コマンドを 最初に実行することをおすすめします。 .It h 最後に表示されたエラーメッセージを表示します。 .It (.)i 編集バッファ中の現在行の前に、テキストを挿入します。 テキストは入力モードで入力されていきます。 現在行番号は、入力された最後の行に設定されます。 .It (.,.+1)j 指定した範囲の行を 1 行に連結します。指定した行はバッファから削除され、 その行の内容を含む 1 行に置き換えられます。 現在行番号は、置き換えられた行に設定されます。 .It (.)klc 行に、英小文字 .Em lc で指定したマークをつけます。 その後、マークをつけられた行は、コマンド中で .Em 'lc (つまり、シングルクォートと小文字 .Em lc ) として指定できるようになります。 マークは、その行が削除されるかもしくは変更されるかしない限り、消えることは ありません。 .It (.,.)l 指定した範囲の行の内容を見やすく表示します。 もし 1 つの行が 1 画面以上を占める場合 ( 例えばバイナリファイルを見ている 場合など ) `--More--' プロンプトが最下行に表示されます。 次の画面を表示する前に .Nm はリターンキーが入力されるまで待ちます。 現在行番号は、表示された最後の行に設定されます。 .It (.,.)m(.) 指定した範囲の行をバッファ内で移動します。指定した行は、 コマンドの右辺で指定した行の後ろに 移動されます。移動先の行としては、 .Em 0 (ゼロ) が指定可能です。 現在行番号は、移動された最後の行に設定されます。 .It (.,.)n 指定した行の内容を、行番号つきで表示します。 現在行番号は、表示された最後の行に設定されます。 .It (.,.)p 指定した範囲の行の内容を表示します。 現在行番号は、表示された最後の行に設定されます。 .It P コマンドプロンプト表示の有無を切り替えます。 コマンド起動時のオプション .Fl p Ar string でプロンプトが指定されていなければ、 コマンドプロンプトの表示はデフォルトでオフになっています。 .It q .Nm を終了します。 .It Q 無条件に .Nm を終了します。 このコマンドは .Em q コマンドと似ていますが、まだファイルに書き出されていない 変更があっても警告せずに終了する点が異なります。 .It ($)r Ar file .Ar file で指定されたファイルを、指定した行の後ろに読み込みます。 .Ar file が指定されない場合、デフォルトのファイル名が読み込みに使用されます。 このコマンドに先だってデフォルトのファイル名が設定されていない場合、 デフォルトのファイル名には、 .Ar file で指定されたものが設定されます。 それ以外の場合、デフォルトのファイル名は変更されません。 現在行番号は、読み込まれたファイルの最後の行に設定されます。 .It ($)r Ar !command .Ar command で指定されたコマンドを実行し、その結果として標準出力へ出力された データを指定した行の後ろに読み込みます (後述する .Ar ! command を参照して下さい)。 デフォルトのファイル名は変更されません。現在行番号は、読み込まれた最後の行の 行番号に設定されます。 .It (.,.)s/re/replacement/ .It (.,.)s/re/replacement/g .It (.,.)s/re/replacement/n 指定した行のテキスト中の、正規表現 .Ar re に一致する文字列を、文字列 .Ar replacement に置き換えます。 デフォルトでは、それぞれの行で最初に一致した文字列のみを置き換えます。 .Em g (global) サフィックスが指定された場合、一致した文字列はすべて置き換えられます。 .Em n サフィックス ( .Em n は正の整数) が指定された場合、 .Em n 回目に一致した文字列だけを置き換えます。 指定した範囲で一度も文字列の置換が起こらなかった場合、エラーとみなされます。 現在行番号は、最後に置換が発生した行に設定されます。 .Pp .Ar re および .Ar replacement は、スペースおよび改行を除くすべてのキャラクタを用いて区切ることが 可能です (後述する .Em s コマンドを見て下さい)。 最後のデリミタのうち 1 つか 2 つが省略された場合、 最後に文字列置換が発生した行は、 .Em p コマンドが指定された場合と同様に表示されます。 .Pp .Ar replacement 中のエスケープされていない `&' は、一致した文字列と置き換えられます。 キャラクタシーケンス .Em \em ( .Em m は [1,9] の範囲の整数です ) は、一致した文字列の .Em m 番目の後方参照で置き換えられます。 .Ar replacement の中に入る文字が `%' のみだった場合、 最後に行なった置換の .Ar replacement が使用されます。 改行を .Ar replacement に指定したい場合は、バックスラッシュを用いてエスケープすれば可能です。 .It (.,.)s 最後の置換を繰り返します。 この形式の .Em s コマンドは、回数を示すサフィックス .Em n もしくは、他の .Em r 、 .Em g 、 .Em p のどのキャラクタとの組み合わせも可能です。 .Em n が指定されると、 .Em n 回目に一致した文字列だけが置換されます。 .Em r サフィックスが指定されると、最後の置換が発生した文字列の変わりに、 最後に指定した正規表現が使用されます。 .Em g サフィックスは、最後の置換で用いたグローバルサフィックスの使用の 有効/無効を切り替えます。 .Em p サフィックスは、最後の置換に指定されたプリントサフィックスを反転します。 現在行番号は、最後に置換が発生した行に設定されます。 .It (.,.)t(.) 指定した範囲の行を、コマンド文字の右辺に指定した行番号の後に コピー (つまり転送) します。コピー先の行番号としては、 .Em 0 (ゼロ) の指定が許されています。 現在行番号は、コピーした一番最後の行の行番号に設定されます。 .It u 最後に実行したコマンドの実行結果を取り消し、現在行番号を、取り消したい コマンドが実行される前のものに戻します。 グローバルコマンドである .Em g 、 .Em G 、 .Em v 、 .Em V については、その改変は 1 コマンドで行なわれたとして扱います。 .Em u は自分自身の動作を取り消すこともできます。 .It (1,$)v/re/command-list 指定した範囲の行のうち、指定した正規表現 .Ar re と一致する文字列が含まれていない行について、 .Ar command-list で指定したコマンドを実行します。 これは .Em g コマンドに動作が似ています。 .It (1,$)V/re/ 指定した範囲の行のうち、指定した正規表現 .Ar re に一致する文字列が含まれていない行について、対話編集を行ないます。 これは .Em G コマンドに動作が似ています。 .It (1,$)w Ar file 指定した範囲の行を、 .Ar file で指定したファイルに書き出します。 それまで .Ar file に格納されていた内容は、警告なしに消去されます。 デフォルトファイル名が設定されていない場合、デフォルトファイル名は .Ar file に設定されます。それ以外の場合では、デフォルトファイル名は変更されません。 ファイル名が指定されなかった場合には、デフォルトファイル名が使用されます。 現在行番号は変更されません。 .It (1,$)wq Ar file 指定した範囲の行を .Ar file で指定したファイルに書き出し、 .Em q コマンドを実行します。 .It (1,$)w Ar !command 指定した範囲の行の内容を .Ar !command の標準入力に書き出します ( .Em !command については、以下の説明を参照して下さい)。 デフォルトファイル名および現在行番号は変更されません。 .It (1,$)W Ar file 指定した範囲の行の内容を、 .Ar file で指定したファイルの後ろに追加書き込みします。 .Em w コマンドと似ていますが、指定したファイルにそれまで格納されていた内容 がなくなることはありません。 現在行番号は変更されません。 .It x 以降の読み書きで用いられる暗号化鍵の入力を促します。 改行のみが入力されると、暗号化は解除されます。 それ以外の場合、キー読み込み中のエコーは抑制されます。 暗号化および復号化は .Xr bdes 1 アルゴリズムを用いて行われます。 .It Pf (.+1)z n 指定した行から一度に .Ar n 行だけスクロールします。 .Ar n が指定されない場合には、現在のウィンドウサイズだけスクロールします。 現在行番号は、最後に表示した行の行番号に設定されます。 .It !command .Ar command で指定したコマンドを、 .Xr sh 1 を用いて実行します。 .Ar command の最初の文字が `!'の場合には、その文字は直前に .Ar !command で実行したコマンド文字列が格納されます。 .Ar command 文字列をバックスラッシュ(\\)でエスケープした場合には、 .Nm は処理を行ないません。 しかし、エスケープされない .Em % 文字があった場合には、その文字列はデフォルトファイル名に置き換えられます。 シェルがコマンド実行から戻ってきた場合には、`!' が標準出力に出力されます。 現在行番号は変更されません。 .It ($)= 指定された行の行番号を表示します。 .It (.+1)newline 指定した行を表示します。そして、現在行番号を表示した行のものに 設定します。 .El .Sh 関連ファイル .Bl -tag -width /tmp/ed.* -compact .It /tmp/ed.* バッファファイル .It ed.hup 端末が回線切断した場合に、 .Nm がバッファ内容を書き出すファイル .El .Sh 関連項目 .Xr bdes 1 , .Xr sed 1 , .Xr sh 1 , .Xr vi 1 , .Xr regex 3 .Pp USD:12-13 .Rs .%A B. W. Kernighan .%A P. J. Plauger .%B Software Tools in Pascal .%O Addison-Wesley .%D 1981 .Re .Sh 制限 .Nm は .Ar file 引数に対してバックスラッシュエスケープ処理を施します。 つまり、ファイル名中でバックスラッシュ (\\) を前につけた文字は、 リテラルとして解釈されます。 .Pp (バイナリではない) テキストファイルの最後が改行文字で終っていない場合、 .Nm はそれを読み書きする際に改行文字を追加します。 バイナリファイルの場合は、 .Nm はこのような改行文字追加は行いません。 .Pp 1 行あたりのオーバヘッドは整数 4 つ分です。 .Sh 診断 エラーが発生すると、 .Nm は `?' を表示し、コマンドモードに戻るか、スクリプトによる実行のエラーの場合には プログラムを終了します。 最後のエラーメッセージについての説明は、 .Em h (help) コマンドを用いることで表示可能です。 .Pp .Em g (global) コマンドは、検索や置換が失敗したというエラーを隠蔽します。 そのため、スクリプトの中で条件つきコマンド実行を行なわせるのによく使われます。 例えば .Pp .Sm off .Cm g No / Em old Xo .No / Cm s .No // Em new .No / .Xc .Sm on .Pp は、出現した文字列 .Em old をすべて文字列 .Em new に置き換えます。 .Em u (undo) コマンドがグローバルコマンドリスト内で実行された場合、コマンドリストは 1 度だけの実行になります。 .Pp 診断が無効にされていないと、 .Nm を終了しようとする場合やバッファ内のデータを書き出さずに他のファイルを 編集しようとする場合にエラーになります。 その場合でも、同一のコマンドを 2 回入力すると、コマンドは成功します。 しかし、それまでの未保存の編集結果は、すべて失われます。 .Sh 歴史 .Nm コマンドは Version 1 AT&T UNIX で登場しました。 diff --git a/ja_JP.eucJP/man/man1/fdformat.1 b/ja_JP.eucJP/man/man1/fdformat.1 index 39322377f4..028ee233a6 100644 --- a/ja_JP.eucJP/man/man1/fdformat.1 +++ b/ja_JP.eucJP/man/man1/fdformat.1 @@ -1,180 +1,182 @@ -.\" Copyright (C) 1993, 1994, 1995 by Joerg Wunsch, Dresden +.\" Copyright (C) 1993, 1994, 1995, 2001 by Joerg Wunsch, Dresden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS .\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/fdformat/fdformat.1,v 1.17.2.3 2000/12/27 16:23:08 ru Exp % +.\" %FreeBSD: src/usr.sbin/fdformat/fdformat.1,v 1.17.2.4 2001/07/19 13:20:42 joerg Exp % .\" -.\" $FreeBSD$ -.Dd September 16, 1993 +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/fdformat.1,v 1.11 2001/05/14 01:07:23 horikawa Exp $ +.Dd July 19, 2001 .Os .Dt FDFORMAT 1 .Sh 名称 .Nm fdformat .Nd フロッピディスクのフォーマット .Sh 書式 .Nm fdformat .Op Fl q .Op Fl y .Op Fl v | Fl n .Op Fl f Ar capacity .Op Fl c Ar cyls .Op Fl s Ar secs .Op Fl h Ar heads .Nm fdformat .Op Fl r Ar rate .Op Fl g Ar gap3len .Op Fl i Ar intleave .Op Fl S Ar secshft .Op Fl F Ar fillbyte .Op Fl t Ar steps_per_track .Ar device_name .Sh 解説 .Nm は、 .Ar device_name デバイスのフロッピディスクをフォーマットします。 .Ar device_name は、フロッピディスクドライブのデバイスノードのフルパス名 .Po 例えば .Pa /dev/fd0 .Pc か、省略形式のデフォルト名 .Po 例えば .Em fd0 .Pc です。 後者の場合、 .Ar device_name は、与えられた名前に .Pa /dev/ を付け加え、後に .Em .capacity をつけくわえることで作成されます。 .Nm は、ジオメトリ情報を書き換えるため、 デバイスの .Pq マイナーデバイス番号 に割り当てられたどんなジオメトリ情報も意味を持ちません。 .Pp 次のようなオプションがあります。 .Bl -tag -width 10n -offset indent .It Fl q コマンドからの出力を抑制し、 .Ar device_name のフロッピディスクをフォーマットしても良いかどうかの確認も行いません。 .It Fl y 自動的に "yes" と応答することにより確認要求を抑制します。 フォーマット状態の報告はまだ行います。 .It Fl f Ar capacity 望ましいフォーマットパラメータの設定をする普通の方法です。 360, 720, 800, 820, 1220, 1440, 1480, 1720 のいずれかが有効です。 .Ar capacity は、フォーマットするバイト数です。 .It Fl n フォーマットした後で、ベリファイしません。 .It Fl v ベリファイだけを行い、フォーマットしません。 .It Fl c Ar cyls シリンダ数: 40 または 80。 .It Fl s Ar secs トラックあたりのセクタ数: 9, 10, 15, 18 のいずれか。 .It Fl h Ar heads フロッピのヘッド数: 1 か 2。 .It Fl r Ar rate データレート: 250, 300, 500 のいずれか (単位は kbps)。 .It Fl g Ar gap3len ギャップ長。 .It Fl i Ar intleave インタリーブファクタ。 .It Fl S Ar secshft セクタサイズ: 0=128, 1=256, 2=512 (単位は バイト)。 .It Fl F Ar fillbyte フィルバイト。 .It Fl t Ar steps_per_track トラックあたりのステップ数。 フロッピディスクに書き込む、ジオメトリ情報を指定する別の方法です。 .El .Pp .Fl q フラグが指定されていない時、フォーマットを行う時に確認が行われます。 フォーマットを続行するためには、 .Dq y を必ず入力して、答える必要があります。 .Pp .Nm は、低レベルのフォーマットだけを行うことに注意してください。 ファイルシステムを作りたい時には、 .Em ufs ファイルシステム( UNIX ファイルシステム)を作りたい場合は、 .Xr newfs 8 コマンドを、 .Em MS-DOS (FAT) ファイルシステムを作りたい時には、 .Xr newfs_msdos 8 コマンドを、参照してください。 .Sh 診断 .Fl q が指定されていないと、ユーザにプログラムの進度を知らせるために、 標準出力に特定の 1 文字が表示されます。 最初に、 (複数の)トラックがフォーマットされている時には .Sq Em F が表示され、 ベリファイを行っている時には .Sq Em V が表示されます。 エラーが見付かった場合には、最後に .Sq Em E に変化します。 +詳細な情報 (シリンダ・ヘッダ・セクタの番号と厳密なエラー原因) は、 +最大 10 個のエラーに対して表示されます。 .Pp 終了ステータスは、操作が成功した時 0 を返します。 フロッピーをフォーマットしている時にエラーが起こった時は 1 を返し、 間違ったコマンドライン引数が与えられた時に 2 を返します (診断出力に詳しい情報がでるので従ってください)。 .Sh 関連項目 .Xr fdc 4 , .Xr newfs 8 , .Xr newfs_msdos 8 .Sh 歴史 .Nm は 386BSD 0.1 のために開発され、 新しい .Xr fdc 4 フロッピディスクドライバにアップグレードされました。 これは、後に .Fx 1.1 システムの一部となりました。 .Sh 作者 .An -nosplit このプログラムは、 Dresden の .if n An Joerg Wunsch .if t An J\(:org Wunsch のコントリビューションです。 変更は、モスクワの .An Serge Vakulenko と .An Andrey A. Chernov が行いました。 diff --git a/ja_JP.eucJP/man/man1/find.1 b/ja_JP.eucJP/man/man1/find.1 index d52603f4d1..7cbfcc1536 100644 --- a/ja_JP.eucJP/man/man1/find.1 +++ b/ja_JP.eucJP/man/man1/find.1 @@ -1,762 +1,766 @@ .\" 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. .\" .\" @(#)find.1 8.7 (Berkeley) 5/9/95 -.\" %FreeBSD: src/usr.bin/find/find.1,v 1.23.2.10 2001/05/16 13:56:39 ru Exp % +.\" %FreeBSD: src/usr.bin/find/find.1,v 1.23.2.11 2001/07/04 12:16:59 yar Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/find.1,v 1.22 2001/05/19 19:18:11 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/find.1,v 1.23 2001/05/26 02:41:00 horikawa Exp $ .Dd May 3, 2001 .Dt FIND 1 .Os .Sh 名称 .Nm find .Nd ディレクトリツリーを再帰的に下ってファイルを捜す .Sh 書式 .Nm find .Op Fl H | Fl L | Fl P .Op Fl EXdsx .Op Fl f Ar pathname .Op Ar pathname ... .Ar expression .Sh 解説 .Nm は、 .Ar pathname に対してディレクトリツリーを再帰的に下って、 ツリー上の各ファイルについて .Ar expression (後に示す .Dq プライマリ と .Dq 演算子 から構成されます) で指定された処理を実行します。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl E .Ic -regex および .Ic -iregex のオプションの後の正規表現を、 基本正規表現 (BRE) の代りに拡張 (最近の) 正規表現として解釈します。 .Xr re_format 7 マニュアルページは、両方のフォーマットを完全に解説しています。 .It Fl H .Ar file で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク 自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ ( .Xr stat 2 参照) を使って .Ar expression の処理をするように指定します。 もしリンク先のファイルがなければ、 シンボリックリンク自体を処理の対象とします。 コマンドラインからの .Ar file で直接指定されたのではなく、 ディレクトリツリー上で見つかったシンボリックリンクファイルに関しては、 シンボリックリンク自体を処理の対象とします。 .It Fl L .Ar file で指定したファイルがシンボリックリンクファイルだった場合、シンボリックリンク 自体ではなく、リンク先のファイルに関してファイル情報とファイルタイプ ( .Xr stat 2 参照) を使って .Ar expression の処理をするように指定します。もしリンク先のファイルがな ければ、シンボリックリンク自体を処理の対象とします。 .It Fl P シンボリックリンク自体に関して ファイル情報とファイルタイプ ( .Xr stat 2 参照) を使って .Ar expression の処理をするように指定します。 これがデフォルトです。 .It Fl X .Xr xargs 1 と組み合わせて使うときのため、より安全に動作するようにします。もし .Xr xargs 1 によりデリミタ文字 (シングルクォート .Pq Dq Li " ' " 、ダブルクォート .Pq Dq Li " \*q " 、バックスラッシュ .Pq Dq Li \e 、スペース、タブ、改行) が含まれるファイル名 が使われた場合、診断メッセージを標準エラー出力に表示して、 そのファイル名をスキップします。 .It Fl d ファイルに対する処理順序を深さ優先の探索方式にします。 すなわち、ディレクトリ自体に 対する処理を行う前に、ディレクトリ内の個々のファイルに対して処理を 実行します。デフォルトでは、ディレクトリは最初に処理されます。 (デフォルトの方式は幅優先探索方式では .Em ない です。) .It Fl f Ar file 明示的にファイルを指定します。ファイル名の先頭が .Dq \- で始まっていたり、 あとで述べる .Ar expression の指定と混同してしまうようなファイル名を指定したりするときに使用します。 (ファイルはオプション直後のオペランドとしても指定可能です。) .It Fl s .Fl s オプションは、辞書編集上の順に、 すなわち各ディレクトリ内においてアルファベット順に、 ファイル階層を .Nm に辿らせます。 注: .Ql find -s と .Ql "find | sort" は異なった結果となる場合があります。 .It Fl x ディレクトリツリーを下って行くとき、最初に file のあったファイルシステムとは 異なるファイルシステム上のファイルに対する処理になる場合は、実行しないように します。 .El .Sh プライマリ .Bl -tag -width indent .It Ic -amin Ar n 最後にファイルがアクセスされた時刻と、 .Nm を起動した時刻との差 (1 分単位で切り上げます) が .Ar n 分であれば、真とします。 .It Ic -anewer Ar file .Ic -neweram と同じです。 .It Ic -atime Ar n 最後にファイルがアクセスされた時刻と、 .Nm を起動した時刻との差 (24 時間単位で切り上げます) が .Ar n 日であれば、真とします。 .It Ic -cnewer Ar file .Ic -newercm と同じです。 .It Ic -ctime Ar n 最後にファイルのステータスが変更された時刻と、 .Nm を起動した時刻の差 (24 時間単位で切り上げます) が .Ar n 日であれば、真とします。 .It Ic -delete 見付けたファイルやディレクトリを消去します。常に真を返します。 現在の作業ディレクトリから .Nm は再帰的にディレクトリツリーを下ります。 セキュリティ上の理由から、 .Dq Pa \&. からの相対パス名に .Dq Pa / 文字を含むファイル名のファイルを 消去しようとはしません。 このオプションにより暗示的に深さ優先の処理が指定されます。 .It Ic -empty 現在のファイルまたはディレクトリが空の場合、真となります。 .It Ic -exec Ar utility Op Ar argument ... ; .Ar utility で指定した名前のプログラムを実行し、終了コードが 0 の場合、真とします。 .Ar argument は、utility への引数として渡されます。 この指定は、最後に必ずセミコロン .Pq Dq Li \&; をつけてください。 utility もしくは argument の指定 のなかで .Dq Li {} が使われていた場合は、その部分が、現在 .Nm が対象としているファイルのパス名に置き換えられます。ただし、 .Ar utility が実行されるときのカレントディレクトリは、 .Nm が起動されたディレクトリのままです。 +.Ar utility +と +.Ar arguments +は、シェルのパターンと構造の更なる展開対象とはなりません。 .It Ic -execdir Ar utility Op Ar argument ... ; .Ic -execdir プライマリは .Ic -exec プライマリと同様ですが、 .Ar utility が現在のファイルを持つディレクトリにおいて実行される点が異なります。 文字列 .Dq Li {} に対して置換されるファイル名は適切ではありません。 .It Ic -fstype Ar type 対象ファイルが格納されているファイルシステムのタイプが、 .Ar type で指定されたものである場合に真となります。 .Xr sysctl 8 コマンドを使用して、 システム上で利用可能なファイルシステムタイプを調べることができます: .Pp .Dl "sysctl vfs" .Pp さらに、2 つの 擬似タイプ .Dq Li local と .Dq Li rdonly があります。 前者は、 .Nm を実行しているシステム上に物理的にマウントされているファイルシステムです。 後者は、読み取り専用でマウントされているファイルシステムです。 .It Ic -group Ar gname ファイルが .Ar gname で指定したグループに属している場合、真になります。 .Ar gname が数字で、そのようなグループ名がない場合は、 .Ar gname をグループ ID として扱います。 .It Ic -inum Ar n ファイルの i ノード番号が .Ar n なら、真になります。 .It Ic -links Ar n ファイルのリンク数が .Ar n なら、真になります。 .It Ic -ls このプライマリは常に真になります。対象となっているファイルの情報を 標準出力に出力します。出力する内容は i ノード番号、 512 バイトブロックでのファイルの大きさ、 ファイルのパーミッション、ハードリンクの数、所有者、グループ、 バイトで表したファイルの大きさ、最後にファイルが修正された時刻、パス名です。 ファイルがブロック型もしくはキャラクタ型の特殊ファイルならば、 バイトで表したファイルの大きさの代わりにメジャー番号とマイナー番号を 出力します。ファイルがシンボリックリンクならば、 .Dq Li -> の後にリンク先のファイルのパス名を表示します。 フォーマットは .Bk -words .Nm ls Fl dgils .Ek の出力結果と同じです。 .It Ic -maxdepth Ar n 現在のファイルのツリーにおける深さが .Ar n 以下である場合、真になります。 .It Ic -mindepth Ar n 現在のファイルのツリーにおける深さが .Ar n 以上である場合、真になります。 .It Ic -mmin Ar n 最後にファイルが修正された時刻と、 .Nm を起動した時刻との差 (1 分単位で切り上げます) が .Ar n 分であれば、真とします。 .It Ic -mtime Ar n 最後にファイルが修正された時刻と、 .Nm を起動した時刻との差(24 時間単位で切り上げます)が .Ar n 日であれば、真とします。 .It Ic -ok Ar utility Op Ar argument ... ; .Ic -ok プライマリは .Ic exec とほぼ同じですが、 .Ar utility を実行するかどうかの確認をユーザに求め、端末にメッセージを出力します。 .Dq Li y 以外の返答をした場合は、 コマンドは実行されず、 .Ic -ok 式の値は偽になります。 .It Ic -okdir Ar utility Op Ar argument ... ; .Ic -okdir プライマリは、 .Ic -execdir プライマリと同様ですが、 .Ic -ok プライマリの解説に該当する部分が異なります。 .It Ic -name Ar pattern 対象ファイルのパス名の最後のファイル名部分が .Ar pattern で指定したものとマッチするかどうかを調べ、マッチした場合は真になります。 .Ar pattern としては、シェルで使われるパターンマッチ 指定 ( .Dq Li \&[ , .Dq Li \&] , .Dq Li * , .Dq Li \&? ) を使用することができます。これらの文字は バックスラッシュ .Pq Dq Li \e を前において、パターンマッチ指定ではなく文字として 扱う事を明示することができます。 .It Ic -iname Ar pattern .Ic -name に似ていますが、大文字小文字を区別せずにマッチします。 .It Ic -regex Ar pattern ファイルのパス全体が、正規表現 .Ar pattern にマッチする場合、真になります。 ファイル名 .Dq Pa ./foo/xyzzy にマッチさせるには、 正規表現 .Dq Li ".*/[xyz]*" や .Dq Li ".*/foo/.*" が使えますが、 .Dq Li xyzzy や .Dq Li /foo/ は使えません。 .It Ic -iregex Ar pattern .Ic -regex に似ていますが、大文字小文字を区別せずにマッチします。 .It Ic -newer Ar file 対象ファイルの修正日付が、 .Ar file で指定したファイルのものより新しい場合は、真になります。 .It Ic -newer Ns Ar X Ns Ar Y Ar file 現在のファイルの最終アクセス時刻 .Ar ( X Ns = Ns Cm a ) ・ステータス修正時刻 .Ar ( X Ns = Ns Cm c ) ・内容修正時刻 .Ar ( X Ns = Ns Cm m ) が、 .Ar file の最終アクセス時刻 .Ar ( Y Ns = Ns Cm a ) ・ステータス修正時刻 .Ar ( Y Ns = Ns Cm c ) ・内容修正時刻 .Ar ( Y Ns = Ns Cm m ) より新しい場合は、真となります。 さらに .Ar Y Ns = Ns Cm t の場合、 .Ar file は代りに、 .Xr cvs 1 が理解する直接的な時刻指定として解釈されます。 .Ic -newermm は .Ic -newer と同じであることに注意してください。 .It Ic -nouser 対象ファイルの所有者が unknown の場合、真になります。 .It Ic -nogroup 対象ファイルのグループが unknown の場合、真になります。 .It Ic -path Ar pattern 対象ファイルのパス名が、 .Ar pattern で指定したものとマッチす るかどうかを調べます、マッチした場合は真になります。 .Ar pattern としては、シェルで使われるパターンマッチ指定 ( .Dq Li \&[ , .Dq Li \&] , .Dq Li * , .Dq Li \&? ) を使用することができます。これらの文字は バックスラッシュ .Pq Dq Li \e を前において、パターンマッチ指定ではなく文字として 扱う事を明示することができます。 .Pq Dq Li / は、そのままパスのディレクトリの区切りにマッチします。 .It Ic -ipath Ar pattern .Ic -path に似ていますが、大文字小文字を区別せずにマッチします。 .\" .It Ic -perm Oo Fl Oc Ns Ar mode .\" ja-groff-0.100_3 で整形できないためマクロ使用方法を変えています .\" 2001/05/25 horikawa@jp.FreeBSD.org .It Xo .Ic -perm .Oo Fl Oc Ns Ar mode .Xc ファイルのモードを、 .Ar mode と比較します。 .Ar mode は、シンボル 形式 ( .Xr chmod 1 参照) もしくは 8 進数形式で指定します。シンボル形式の場合は、 00000 から開始してパーミッションのセットとクリアを行います。 (プロセスのファイル生成マスクとは無関係です。) 8 進数形式の場合は、 ファイルのモードビットのうち、07777 .\" .Pq Dv S_ISUID | S_ISGID | S_ISTXT | S_IRWXU | S_IRWXG | S_IRWXO .\" ja-groff-0.100_3 で整形できないためマクロ使用方法を変えています .\" 2001/05/25 horikawa@jp.FreeBSD.org .Pf ( Dv S_ISUID | .Dv S_ISGID | .Dv S_ISTXT | .Dv S_IRWXU | .Dv S_IRWXG | .Dv S_IRWXO ) の部分が比較対象になります。 .Ar mode の最初にダッシュ .Pq Dq Li - を指定した場合は、 .Ar mode でセットされているすべてのビットが ファイルのモードでもセットされていれば、このプライマリは真となります。 .Ar mode の最初にプラス .Pq Dq Li + を指定した場合は、 .Ar mode でセットされているビットのどれかがファイルのモードでもセットされていれば、 このプライマリは真となります。 どちらでもない場合、ファイルのモードと .Ar mode が完全に一致した場合にのみ真となります。 なお、 シンボル形式でモード指定をする場合は、少なくとも最初がダッシュ .Pq Dq Li - にならない ようにする必要があります。 .It Ic -flags Op Fl Ns Ar flags このプライマリは、ファイルのフラグが指定された .Ar flags と完全に同じに設定されている場合 (ダッシュ .Pq Dq Li - が前に付かない場合) か、 指定されたフラグにマッチする場合 (ダッシュが前に付く場合) に真になります。 .Ar flags はシンボル名 ( .Xr chflags 1 参照) で指定可能です。 これは、設定されたフラグの指定のみを許す .Ic -perm とは違うことに注意してください。 .It Ic -print このプライマリは常に真になります。 対象となっているファイルのパス名を標準出力に出力して改行します。 .Ic -exec , -ls , -print0 , .Ic -ok のどのプライマリも指定されなかった場合は、 与えられた式 given expression は .Cm \&( Ar "given expression" Cm \&) Ic -print で置き換えられます。 .It Ic -print0 .Ic -print とほぼ同じですが、標準出力に対象となっているファイルのパス名を出力 したあと、改行ではなく、 .Tn ASCII NUL 文字 (文字コード 0) を出力します。 .It Ic -prune このプライマリは常に真になります。 対象となっているファイル配下のディレクトリに下りないようにします。 .Fl d オプションが指定されている場合は、 .Ic -prune の指定は無効になります。 .It Ic -size Ar n Ns Op Cm c ファイルサイズを 512 バイトのブロック単位で数えたとき (端数は切り上げ)、 .Ar n ブロックであれば真になります。 .Ar n のあとに .Cm c が指定されていた場合は、ファイルサイズが .Ar n バイト (文字) であれば真になります。 .It Ic -type Ar t ファイルタイプが .Ar t で指定されたタイプに一致すれば真になります。 タイプとして、次のような指定が可能です: .Pp .Bl -tag -width indent -compact .\" jpman project では special file を「特殊ファイル」と訳している。 .\" これにあわせて block special を「ブロックスペシャル」ではなく .\" 「ブロック特殊」とするのは違和感があるので、「ファイル」を補った。 .\" Kazuo Horikawa 1999/03/10 .It Cm b ブロック型特殊ファイル .It Cm c キャラクタ型特殊ファイル .It Cm d ディレクトリ .It Cm f 普通のファイル .It Cm l シンボリックリンク .It Cm p FIFO .It Cm s ソケット .El .It Ic -user Ar uname ファイルの所有者が、 .Ar uname で指定されたユーザと一致すれば真になります。もし .Ar uname が数字で、そのようなユーザ名がなければ、 ユーザ ID が指定されたものとして扱います。 .El .Pp なお、数字を引数にとるプライマリは、 数字の前にプラス .Pq Dq Li + およびマイナス .Pq Dq Li \- をつけることができます。 それぞれ .Dq n より大 および .Dq n より小 の意味になり、 .Dq 正確に n という意味ではなくなります。 .Sh 演算子 以下の演算子を使って、プライマリを組み合わせることができます。 演算子は優先度が下がる順番で示されています。 .Pp .Bl -tag -width "( expression )" -compact .It Cm \&( Ar expression Cm \&) もし、括弧内の .Ar expression が真なら、真になります。 .Pp .It Cm \&! Ar expression 単項否定演算子 ( .Tn NOT ) です。 .Ar expression が偽なら、真となります。 .Pp .It Ar expression1 Cm -and Ar expression2 .It Ar expression1 expression2 論理積 ( .Tn AND ) 演算子です。 .Ar expression1 と .Ar expression2 の両方とも真のとき、真になります。 もし .Ar expression1 が偽なら、 .Ar expression2 は実行されません。 .Ic -and を書かずに、単に 2 つの expression を並べて .Pp .Ar expression1 expression2 .Pp と書いても同じです。 .Pp .It Ar expression1 Cm -or Ar expression2 論理和 ( .Tn OR ) 演算子です。 .Ar expression1 か .Ar expression2 のどちらか一方でも真であれば、真になります。もし .Ar expression1 が真なら、 .Ar expression2 は実行されません。 .El .Sh 使用例 コマンドラインからのタイプ例です。 .Bl -tag -width indent .It Li "find / \e! -name \*q*.c\*q -print" ファイル名の終わりが .Pa \&.c でない全ファイルを表示します。 .It Li "find / -newer ttt -user wnj -print" .Pa ttt というファイルより新しく 所有者が .Dq wnj である全ファイルを表示します。 .It Li "find / \e! \e( -newer ttt -user wnj \e) -print" .Pa ttt というファイルより古く所有者が .Dq wnj であるという条件が成立しない、全ファイルを表示します。 .It Li "find / \e( -newer ttt -or -user wnj \e) -print" .Pa ttt というファイルより新しいか、 所有者が .Dq wnj である、全ファイルを表示します。 .It Li "find . -newerct '1 minute ago' -print" inode 修正時刻が現在から 1 分以内の全ファイルを表示します。 .El .Sh 関連項目 .Xr chflags 1 , .Xr chmod 1 , .Xr cvs 1 , .Xr locate 1 , .Xr whereis 1 , .Xr which 1 , .Xr stat 2 , .Xr fts 3 , .Xr getgrent 3 , .Xr getpwent 3 , .Xr strmode 3 , .Xr re_format 7 , .Xr symlink 7 .Sh 規格 .Nm ユーティリティの文法は .St -p1003.2 の仕様で決められた文法のスーパセットです。 全 1 文字オプションと .\" .Ic -iname , -inum , -iregex , -print0 , -delete , -ls , .\" ja-groff-0.100_3 で整形できないためマクロ使用方法を変えています .Ic -iname , .Ic -inum , .Ic -print0 , .Ic -delete , .Ic -ls , .Ic -regex のプライマリは .St -p1003.2 の拡張です。 .Pp 昔は .Fl d , h , x のオプションは それぞれ .Ic -depth , -follow , -xdev のプライマリを 用いて実装されていました。 これらのプライマリは常に真に評価されていました。 これらのプライマリは 探索が始まる前に効果を与える本当のグローバル変数であったので、 いくつかの合法的な expression が予期しない結果となりました。 一例として .Ic -print Cm -o Ic -depth の expression があります。 .Ic -print が常に真に評価されるため 標準の評価の順番では .Ic -depth は決して評価されないはずですが、 そうではありませんでした。 .Pp 演算子の .Cm -or は .Cm -o として実装されていました。 演算子の .Cm -and は .Cm -a として実装されていました。 .Pp 昔の実装では .Ic exec と .Ic -ok のプライマリでは、 tility 名やその引数中において、 空白以外の文字が前後に続く .Dq Li {} を置き換えませんでした。 このバージョンでは utility 名やその引数のどの場所に .Dq Li {} が現れても 置き換えます。 .Pp .Fl E オプションは、 .Xr grep 1 および .Xr sed 1 の類推から実装されました。 .Sh バグ .Nm によって使われる特殊文字は多くのシェルにとっても 特殊文字です。 特に .Dq Li * , .Dq Li \&[ , .Dq Li \&] , .Dq Li \&? , .Dq Li \&( , .Dq Li \&) , .Dq Li \&! , .Dq Li \e , .Dq Li \&; は、 シェルからエスケープされなくてはならないでしょう。 .Pp オプションとファイル名との間および ファイル名と .Ar expression との間を区切るデリミタが存在しませんので、 ファイル名にオプションと間違えるようなもの ( .Pa -xdev のようなもの) や、 .Ar expression と間違えるようなもの ( .Pa \&! のようなもの) を指定することは難しいです。 このようなファイル名を指定する場合は .Fl f オプションを使うか、 .Xr getopt 3 で使われるオプション指定の終了記号 .Dq Fl Fl を使用します。 .Pp .Ic -delete プライマリは、ファイルシステムツリーの検索順序に影響する 他のオプションとは十分には連係しません。 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/ktrace.1 b/ja_JP.eucJP/man/man1/ktrace.1 index 96c9021c16..da82d33d09 100644 --- a/ja_JP.eucJP/man/man1/ktrace.1 +++ b/ja_JP.eucJP/man/man1/ktrace.1 @@ -1,173 +1,173 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ktrace.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/ktrace/ktrace.1,v 1.8.2.1 2000/12/08 15:13:45 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/usr.bin/ktrace/ktrace.1,v 1.8.2.3 2001/07/11 00:29:27 mikeh Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/ktrace.1,v 1.7 2001/05/14 01:07:25 horikawa Exp $ .\" .Dd June 6, 1993 .Dt KTRACE 1 .Os BSD 4.4 .Sh 名称 .Nm ktrace .Nd カーネルプロセスのトレースを行う .Sh 書式 .Nm .Op Fl aCcdi .Op Fl f Ar trfile -.Op Fl g Ar pgrp -.Op Fl p Ar pid +.Op Fl g Ar pgrp | Fl p Ar pid .Op Fl t Ar trstr .Nm .Op Fl adi .Op Fl f Ar trfile .Op Fl t Ar trstr -command +.Ar command .Sh 解説 .Nm は、指定したプロセスのカーネルのトレースログを とります。カーネルトレース情報はファイル .Pa ktrace.out に記録されます。 トレースされるカーネル動作には、 システムコール、namei 変換、シグナル処理、 .Tn I/O 処理が含まれます。 .Pp いったんプロセスのトレースを行うようにすると、トレースデータは プロセスが終了するか、トレースポイントがクリアされるまで記録され続けます。 トレースしたプロセスは膨大な量のログを急速に作るため、ユーザはプロセスの トレースを行う前にトレースを取り消す方法を覚えておくことを強くお勧めします。 ユーザが実行している全てのプロセスのトレース動作を取り消すには、 以下のコマンドで十分です。このコマンドが root 権限で実行された場合には、 全てのプロセスに対してトレースの取消しが行われます。 .Pp .Dl \&$ ktrace -C .Pp トレースファイルはそのままでは読めませんので、 .Xr kdump 1 を使って解析してください。 .Pp オプションとしては、以下のものがあります。 .Bl -tag -width indent .It Fl a 既存のトレースファイルを再構築しないで、後ろに追加していきます。 .It Fl C ユーザが実行している全てのプロセスのトレース動作をオフにします。 root が実行した場合はシステムのすべてのプロセスのトレースがオフになります。 .It Fl c 指定したファイルやプロセスに対するトレースポイントをクリアします。 .It Fl d 指定したプロセスの現在の子プロセスすべてに対してトレースを行います。 .It Fl f Ar file トレース記録を .Pa ktrace.out のかわりに .Ar file に記録します。 .It Fl g Ar pgid プロセスグループ内の全てのプロセスのトレースをオン (オフ) にします( .Fl g フラグは 1 つしか指定できません)。 .It Fl i 指定したプロセスが今後生成するすべての子プロセスに対し、トレースフラグを 継承させます。 .It Fl p Ar pid 指定したプロセス ID のトレースを行います (または 取り消します) ( .Fl p フラグは 1 つしか指定できません)。 .It Fl t Ar trstr この文字列引数は、カーネルトレースポイントの 1 つを 1 文字で表現しています。 以下の表は、文字とトレースポイントの対応関係を表しています。 .Pp .Bl -tag -width flag -compact .It Cm c システムコールのトレース .It Cm n namei 変換のトレース .It Cm i .Tn I/O のトレース .It Cm s シグナル処理のトレース .It Cm u ユーザでのトレース .It Cm w コンテキストスイッチ .El .It Ar command 指定したトレースフラグで .Ar command を実行します。 .El .Pp .Fl p , .Fl g , .Ar command は相互に排他的です。同時に利用することはできません。 .Sh 使用例 # プロセス ID 34 のプロセスすべてのカーネル動作のトレースを行います。 .Dl $ ktrace -p 34 .Pp # プロセスグループ ID 15 のすべてのプロセスのカーネル動作のトレースを行い、 現在および未来の子プロセスすべてにトレースフラグを渡します。 .Dl $ ktrace -idg 15 .Pp # プロセス ID 65 のプロセスのすべてのトレースを取り消します。 .Dl $ ktrace -cp 65 .Pp # プロセス ID 70 のプロセスとそのすべての子プロセスの、シグナルに関する トレースを取り消します。 .Dl $ ktrace -t s -cdp 70 .Pp # プロセス ID 67 のプロセスの .Tn I/O に関するトレースを有効にします。 .Dl $ ktrace -ti -p 67 .Pp # コマンド "w" を実行し、システムコールのみのトレースを行います。 .Dl $ ktrace -tc w .Pp # "tracedata" ファイルに対するすべてのトレースを取り消します。 .Dl $ ktrace -c -f tracedata .Pp # ユーザが所有しているすべてのプロセスのトレースを取り消します。 .Dl $ ktrace -C .Sh 関連項目 .Xr kdump 1 .Sh バグ .Ar file が普通のファイルの場合だけ働きます。 .Sh 歴史 .Nm コマンドは .Bx 4.4 から実装されました。 diff --git a/ja_JP.eucJP/man/man1/last.1 b/ja_JP.eucJP/man/man1/last.1 index 061a1ee0dd..e166ad2d5f 100644 --- a/ja_JP.eucJP/man/man1/last.1 +++ b/ja_JP.eucJP/man/man1/last.1 @@ -1,147 +1,148 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)last.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/last/last.1,v 1.6.2.1 2000/12/08 15:13:46 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/usr.bin/last/last.1,v 1.6.2.2 2001/07/05 06:21:20 ru Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/last.1,v 1.6 2001/05/14 01:07:25 horikawa Exp $ .\" .Dd June 6, 1993 .Dt LAST 1 .Os BSD 4 .Sh 名称 .Nm last .Nd 最近ログインしたユーザの記録を表示する .Sh 書式 .Nm .Op Fl Ns Ar n .Op Fl f Ar file .Op Fl h Ar host .Op Fl s .Op Fl t Ar tty .Op Fl w -.Op user ... +.Op Ar user ... .Sh 解説 .Nm は指定された .Ar user , .Ar tty , や .Ar host でのログインしてからログアウトまでを 最近の物から表示します。 出力の各行には、ユーザ名、セッションを処理した tty、ホスト名、セッションの 開始および終了時刻、セッションの期間の情報が含まれます。セッションがまだ 継続中であるか、クラッシュないしシャットダウンにより中断された場合は そのように表示されます。 .Pp .Bl -tag -width indent-two .It Fl Ar n 表示するセッション情報を、 .Ar n 行 以内に制限します。 .It Fl f Ar file 指定したファイルからログイン情報ファイルを読み込みます。デフォルト では、 .Pa /var/log/wtmp を読み込みます。 .It Fl h Ar host .Ar host は、ホスト名かインターネットアドレスを指定します。 .It Fl s ログインセッションの長さを、デフォルトの日数・時間数・分数ではなく、 秒数でレポートします。 .It Fl t Ar tty .Ar tty を指定します。 .Ar tty には、完全な 端末名か、tty を省略した名前を使うことができます。たとえば、 .Dq Li "last -t 03" は、 .Dq Li "last -t tty03" と同じです。 .It Fl w ログインセッションのフィールド幅を広げ、 デフォルトの日数・時間数・分数のみではなく、秒数もレポートします。 .El .Pp 複数の引数が与えられると、 .Nm はそれらの引数のいずれかを満足するすべての セッション情報を表示しようとします。すなわち、 .Dq Li "last root -t console" とすると、 .Dq Li root の行ったセションのすべてと、端末 console 上での セッションのすべてを表示します。もし、 .Ar user も .Ar host も .Ar tty も 指定されなければ、 .Nm はすべてのログイン、ログアウト情報を表示 します。 .Pp システムをリブートすると、その情報は仮想ユーザである .Ar reboot のセッションとして記録されます。したがって、 .Dq Li last reboot とすると、システムのリブート 間隔を知ることができます。 .Pp 割り込みが起こると、 .Pa wtmp の記録開始日時を表示します。QUIT シグナルによって割り込みが行われた場合、 .Nm は 検索を開始してからシグナルを受けるまでに検索した日付を表示し、実行を続けます。 .Sh 関連ファイル .Bl -tag -width /var/log/wtmp -compact .It Pa /var/log/wtmp ログイン情報データベース .El .Sh 関連項目 .Xr lastcomm 1 , .Xr utmp 5 , .Xr ac 8 .Sh バグ ログインシェルが何らかの理由で異常終了した場合、ログアウトの記録が wtmp ファイルに記録されない場合があります。この様な場合、last は、 ログアウトの時刻を "shutdown" と表示します。 .Sh 歴史 .Nm は .Bx 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/login.1 b/ja_JP.eucJP/man/man1/login.1 index f9bf9de0c1..9b20704da1 100644 --- a/ja_JP.eucJP/man/man1/login.1 +++ b/ja_JP.eucJP/man/man1/login.1 @@ -1,193 +1,200 @@ .\" %NetBSD: login.1,v 1.5 1994/12/23 06:53:00 jtc Exp % .\" .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)login.1 8.2 (Berkeley) 5/5/94 -.\" %FreeBSD: src/usr.bin/login/login.1,v 1.17 1999/09/14 11:46:03 sheldonh Exp % +.\" %FreeBSD: src/usr.bin/login/login.1,v 1.17.2.1 2001/07/16 07:02:39 markm Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/login.1,v 1.13 2001/05/14 01:07:25 horikawa Exp $ .Dd May 5, 1994 .Dt LOGIN 1 -.Os BSD 4 +.Os .Sh 名称 .Nm login .Nd 指定したユーザでログインする .Sh 書式 .Nm .Op Fl fp .Op Fl h Ar hostname .Op Ar user .Sh 解説 .Nm は、指定したユーザでログインするものです。 .Pp user を指定しなかった場合、もしくは指定した user でのログインに失敗した ときには、 .Nm は、再度ユーザ名の入力を求めるプロンプトを表示します。 ユーザの確認は入力されたパスワードにより行われます。 .Pp オプションとしては以下のものがあります: .Bl -tag -width Ds .It Fl f パスワードによるユーザの確認を省略します。このオプションは、スーパーユーザ か、すでにログインしているユーザが同じユーザ名で login を実行す るときのみ指定可能です。 .It Fl h コネクションを受信可能なホスト名を指定します。この機能は .Xr telnetd 8 などのデーモンによって使われています。このオプションはスーパーユーザ しか指定することができません。 .It Fl p .Nm は、デフォルトでは実行時の環境 (環境変数など) を引き継ぎ ませんが、このオプションを指定すると、実行時の環境を引き継ぎます。 .El .Pp もし .Pa /var/run/nologin ファイルが存在した場合、 .Nm はそのファイル内容 を表示してログイン処理をせずに終了します。この機能は .Xr shutdown 8 で使用されており、システムの終了処理実行中にユーザがログインしないよう にしています。 .Pp もし .Pa /etc/login.access ファイルが存在した場合、 .Nm はそのファイルから、ユーザとホストの組が特別に許可されている、もしくは 拒否されているかどうかをチェックします。 .Pp もし .Pa /etc/fbtab ファイルが存在した場合、 .Nm はそのファイルに記述された幾つかのデバイスのプロテクトと所有者を変えます。 .Pp ファイル .Pa /etc/skeykeys が存在する場合、このファイル中にユーザのエントリが存在する時には、 .Nm は S/key パスワード認証を行います。 .Pa /etc/skey.access により、 接続元のホストやネットワークに応じて S/key パスワード使用の義務を制御します。 .Pp 通常、ユーザがログインすると、 .Nm はシステムのコピーライト表示、 ユーザが最後にログインした日付と時間、その日のメッセージなどの 情報を表示します。ただし、ユーザのホームディレクトリに .Dq Pa .hushlogin というファイルが存在した場合は、これらのメッセージを表示 しないようにします (これは .Xr uucp 1 のようなプログラムがユーザとしてログインするためにあります)。 このあと、 .Nm は .Xr wtmp 5 と .Xr utmp 5 ファイルに記録し、ユーザのコマンドインタプリタ (シェル) を起動します。 .Pp なお、環境変数 ( .Xr environ 7 ) HOME, SHELL, PATH, TERM, LOGNAME, USER は .Nm によりセットされます。 他の環境変数はログインクラスケーパビリティデータベースの エントリにより設定されるかも知れません。 ログインクラスはユーザのシステムパスワードレコードに割り当てられています。 ログインクラスは、当該ログインに許された最大および現在の資源制約、 プロセス優先度や他の多くのユーザログイン環境を制御します。 .Pp シェルによっては、本ユーティリティと似たまたは同じ、組み込みの .Nm コマンドを提供するものがあります。 .Xr builtin 1 マニュアルページを参照してください。 .Sh 関連ファイル .Bl -tag -width /var/mail/userXXX -compact .It Pa /etc/fbtab デバイスのプロテクトの変更 .It Pa /etc/login.access ログインアクセス制御表 .It Pa /etc/login.conf ログインクラスケーパビリティデータベース .It Pa /etc/motd ログイン時に最初に表示するメッセージ .It Pa /var/run/nologin ログインを拒否する時に表示するメッセージ .It Pa /etc/skey.access skey パスワード制御表 .It Pa /etc/skeykeys skey パスワードデータベース .It Pa /var/run/utmp 現在のログイン状況 .It Pa /var/log/lastlog 最後にログインした記録 last login account records .It Pa /var/log/wtmp ログイン・ログアウト状況 .It Pa /var/mail/user ユーザごとのメイルボックス .It Pa \&.hushlogin ログインメッセージを抑止するファイル .It Pa /etc/auth.conf 認証サービスの設定 +.It Pa /etc/pam.conf +.Nm +が PAM サポート付きで設定されている場合、サービス名 +.Dq login +で +.Pa /etc/pam.conf +エントリを見ます .El .Sh 関連項目 .Xr builtin 1 , .Xr chpass 1 , .Xr csh 1 , .Xr passwd 1 , .Xr rlogin 1 , .Xr skey 1 , .Xr getpass 3 , .Xr fbtab 5 , .Xr login.access 5 , .Xr login.conf 5 , .Xr nologin 5 , .Xr skey.access 5 , .Xr utmp 5 , .Xr environ 7 , .Xr nologin 8 , .Xr pam 8 .Sh 歴史 .Nm login ユーティリティは .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/ls.1 b/ja_JP.eucJP/man/man1/ls.1 index ede4245512..b51ff9db7b 100644 --- a/ja_JP.eucJP/man/man1/ls.1 +++ b/ja_JP.eucJP/man/man1/ls.1 @@ -1,507 +1,515 @@ .\" Copyright (c) 1980, 1990, 1991, 1993, 1994 .\" 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 acknowledgment: .\" 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. .\" .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 -.\" %FreeBSD: src/bin/ls/ls.1,v 1.33.2.8 2001/03/05 10:05:00 asmodai Exp % +.\" %FreeBSD: src/bin/ls/ls.1,v 1.33.2.10 2001/07/21 05:34:54 ben Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/ls.1,v 1.22 2001/05/14 01:07:25 horikawa Exp $ .Dd July 29, 1994 .Dt LS 1 .Os .Sh 名称 .Nm ls .Nd ディレクトリの内容のリストを表示する .Sh 書式 .Nm .Op Fl ABCFGHLPRTWabcdfgiklnoqrstu1 .Op Ar .Sh 解説 .Nm は .Ar file で指定されたファイル名およびオプションの指定にしたがって、 ファイルに関する各種の情報を表示します。なお、 .Ar file としてディレクトリが指定された場合は、そのディレクトリ配下のファイル に関する情報を表示します。 .Pp .Ar file が指定されなかった場合は、カレントディレクトリのファイルを表示します。 表示はファイル名のアルファベット順にソートされます。ただし、 .Ar file としてディレクトリファイルとそれ以外のファイルを混在して指定した 場合は、ディレクトリ以外のファイルが先に表示され、その後 ディレクトリ配下のファイルが表示されます。 .Pp オプションとしては、以下のものがあります。 .Bl -tag -width indent .It Fl A .Ql .\& と .Ql \&.. を除く全てのエントリを表示します。スーパユーザの場合は、通常 このオプションがセットされています。 .It Fl B ファイル名中の非グラフィック文字を強制的に \\xxx の形式で表示します。 xxx は文字の数値であり 8 進数です。 .It Fl C マルチカラム形式で出力します。端末への出力の場合は、 これがデフォルトになります。 .It Fl F それぞれのパス名の最後に、ディレクトリならばスラッシュ (/)、 実行可能ファイルならばアスタリスク (*)、 シンボリックリンクならばアットマーク (@)、ソケットファイルならば等号 (=)、 .Tn FIFO ならば縦棒 (|) をつけて表示します。 .It Fl G カラー化出力を有効にします。 本オプションは、環境変数 .Ev CLICOLOR を定義することと同等です (後述)。 .It Fl H コマンドラインのシンボリックリンクを追跡します。 .Fl F , .Fl d , .Fl l オプションのいずれも指定されなかった場合、 このオプションが仮定されます。 .It Fl L 引数がシンボリックリンクファイルの場合、リンクファイル自体ではなく、 リンク先のファイルやディレクトリを表示します。 このオプションは .Fl P オプションを打ち消します。 .It Fl P 引数がシンボリックリンクの場合、リンクが参照しているオブジェクトではなく リンク自身を表示します。 このオプションは .Fl H , .Fl L オプションを打ち消します。 .It Fl R サブディレクトリを再帰的に表示します。 .It Fl T ファイルの日付と時間に関する詳細情報 (月・日・時・分・秒・年) を表示します。 .It Fl W ディレクトリ走査時にホワイトアウトも表示します。 .It Fl a ドット (.) で始まるファイルも含めて表示します。 .It Fl b .Fl B と同様ですが、可能であれば C のエスケープコードを使用します。 .It Fl c ファイルソートや時刻出力の際、ファイルステータスの最終変更日付を使用します。 .It Fl d 引数がディレクトリの場合、ディレクトリそのものの情報について表示します (再帰的に表示しません)。 .It Fl f ソートせずに表示します .It Fl g このオプションは、 .Bx 4.3 との互換性のためにだけ利用すべきです。 これは、 ロングフォーマットオプション .Pq Fl l を使ってグループの名前を表示したい時に使います。 .It Fl i 各ファイルについて、i ノード番号を表示します。 .It Fl k .Fl s オプションとともに使用し、ファイルサイズを ブロック単位ではなく K バイト単位で表示します。 このオプションは環境変数 BLOCKSIZE に優先します。 .It Fl l (``エル (L)'' の小文字)。ファイルの詳細情報をロングフォーマットで 表示します (下記参照)。 端末に出力している場合、ロングフォーマットの前の行に、全ファイル のサイズの合計値を表示します。 .It Fl n 長い .Pq Fl l 出力において、 ユーザとグループを名前に変換せずに、 ユーザとグループの ID を数値で表示します。 .It Fl o .Pq Fl l オプションによる詳細情報に、ファイルフラグも含めて表示します。 .It Fl q ファイル名に表示できない文字が使われていたとき、`?' として表示します。 端末に表示するときは、デフォルトでこの指定になります。 .It Fl r 辞書式順序で逆順または時刻の古い順にソートします。 .It Fl s 各ファイルがファイルシステム上で実際に占有している ブロック数 (512 バイト単位) を表示します。 ブロックの一部だけ占有しているものも整数値に切り上げられます。 端末に表示するときは、表示の先頭行に、全ファイルのサイズの合計値 を表示します。 環境変数 BLOCKSIZE は単位サイズ 512 バイトに優先します。 .It Fl t ファイルをアルファベット順に表示する前に、ファイルの最終修正日時の順 (新しいものほど先にくる) にソートします。 .It Fl u .Pq Fl t オプションや .Pq Fl l オプションで、ファイルの最終修正日時の代わりに、ファイルの最終アクセス日時を 使用します。 .It Fl \&1 (数字の ``1'')。 1 行につき 1 エントリの形式で表示します。 端末への出力でない場合には、これがデフォルトです。 .El .Pp .Fl 1 , .Fl C , .Fl l オプションは、互いに他を上書きします。最後に指定されたオプションが有効と なります。 .Pp .Fl c と .Fl u オプションは、互いに他を上書きします。最後に指定されたオプションが有効と なります。 .Pp .Fl B , .Fl b , .Fl q オプションは互いに優先し合う関係にあります。 最後に指定されたものが印字不可文字の書式を決定します。 .Pp .Fl H , .Fl L , .Fl P オプションは互いに優先し合う関係にあります(部分的もしくは全体的)。 指定された順序で適用されます。 .Pp デフォルトでは .Nm は標準出力に 1 行 1 エントリずつ表示します。 ただし、出力先が端末である場合および .Fl C オプションが指定された場合は別です。 .Pp .Fl i , .Fl s , .Fl l オプションが指定された場合、関連するファイルの情報は 1 個以上の空白 をあけて表示されます。 .Ss ロングフォーマット .Fl l オプションがつけられた場合、それぞれのファイルに対して以下に示す情報が 表示されます: ファイルモード・ リンク数・所有者名・所有グループ名・ ファイルのバイト数・月の短縮形・最終更新が行なわれた際の日付・時・分・ パス名。 さらに、各ディレクトリに対して、 ディレクトリ内のファイル情報が表示される直前に、 ファイルサイズの合計値が 512 バイトブロック単位で表示されます。 .Pp ファイルの修正修正時刻が 6 ヶ月以上過去もしくは未来の場合、 最終修正年が時間と分のフィールドに表示されます。 .Pp 所有者または所有グループ名が不明の場合、 または .Fl n オプション指定時には、 ID 番号で表示されます。 .Pp ファイルがキャラクタ型もしくはブロック型の特殊ファイルである場合、 ファイルサイズフィールドには ファイルのメジャー番号とマイナー番号が表示されます。 ファイルがシンボリックリンクファイルである場合、 リンク先ファイルのパス名が .Dq \-> によって表示されます。 .Pp .Fl l オプションのもとで表示されるファイルモードは、エントリタイプ、 所有者アクセス許可、所有グループアクセス許可などで成り立っています。 エントリタイプの文字はファイルのタイプを表しており、 各文字の意味は次のとおりです: .Pp .Bl -tag -width 4n -offset indent -compact .It Sy b ブロック型特殊ファイル .It Sy c キャラクタ型特殊ファイル .It Sy d ディレクトリ .It Sy l シンボリックリンクファイル .It Sy s ソケットファイル .It Sy p .Tn FIFO .It Sy \- 通常ファイル .El .Pp 次の 3 つのフィールドは、それぞれ 3 つの文字からなっています: 所有者に対するアクセス許可・ グループに属するユーザに対するアクセス許可・ 他のユーザに対するアクセス許可。 これらのフィールドはそれぞれ 3 つの文字からなっています: .Bl -enum -offset indent .It もし .Sy r ならば読みだし可能。もし .Sy \- ならば読みだし不能。 .It もし .Sy w ならば書き込み可能。もし .Sy \- ならば書き込み不能。 .It その他の場合: 以下のうち最初に該当するものが用いられる。 .Bl -tag -width 4n -offset indent .It Sy S 所有者に対するアクセス許可において、ファイルが実行可能ではなく、かつ、 実効ユーザ ID (set-user-ID) モードがセットされている場合。 所有グループに対するアクセス許可において、ファイルが実行可能ではなく、 かつ、実効グループ ID (set-group-ID) モードがセットされている場合。 .It Sy s 所有者に対するアクセス許可において、ファイルが実行可能で、かつ、 実効ユーザ ID モードがセットされている場合。 所有グループに対するアクセス許可の中で、ファイルが実行可能で、 かつ、実効グループ ID モードがセットされている場合。 .It Sy x ファイルが実効可能またはディレクトリが検索可能である場合。 .It Sy \- ファイルは、読み出し、書き込み、実行のいずれも許可されておらず、 実効ユーザ ID も実効グループ ID もスティッキービットも設定されていない場合 (以下参照)。 .El .Pp 次の2つは他のユーザに対するアクセス許可の 3 番目の文字に使用されます。 .Bl -tag -width 4n -offset indent .It Sy T スティッキービットがセットされている (モード .Li 1000 ) が、 実行不能あるいは検索不能である場合 ( .Xr chmod 1 または .Xr sticky 8 参照)。 .It Sy t スティッキービットがセットされており (モード .Li 1000 ) 、 かつ、検索可能または実行可能である場合 ( .Xr chmod 1 または .Xr sticky 8 参照)。 .El .El +.Sh 使用例 +.Nm +の出力を大きさ順に並べる方法を示します ( +.Nm +がこの機能を必要としない理由をも示します)。 +.Pp +.Dl "% ls -l | sort [-r] -n +4" .Sh 診断 .Nm ユーティリティは、成功時には 0 を、エラー発生時には 0 より大きい値を 返します。 .Sh 環境変数 以下の環境変数は .Nm の動作に影響を与えます: .Bl -tag -width BLOCKSIZE .It Ev BLOCKSIZE ブロック数の表示を行う際、1 ブロックのサイズとして環境変数 .Ev BLOCKSIZE で指定された値が使用されます ( .Fl s オプション参照)。 .It Ev CLICOLOR .Tn ANSI カラーシーケンスを使用し、ファイルタイプを区別します。 後述の .Ev LSCOLORS を参照してください。 .Fl F で前述したもの加え、更なる属性 (setuid ビット設定等) もまた表示されます。 カラー化は、適切な .Xr termcap 5 ケーパビリティを持つ端末タイプに依存します。 デフォルトの .Dq cons25 コンソールは、適切なケーパビリティを持っていますが、例えば .Xr xterm 1 でカラー表示したい場合には .Ev TERM 変数を .Dq xterm-color に設定する必要があります。 他の端末タイプも同様の修正が必要かもしれません。 出力が端末に向けられていない場合、カラー化は黙って無効化されます。 ただし、 .Ev CLICOLOR_FORCE 変数が定義されている場合は例外です。 .It Ev CLICOLOR_FORCE 出力が端末に向けられていない場合、通常、カラーシーケンスは無効化されます。 本フラグを設定することで、この動作を変更可能です。 .Ev TERM 変数は、カラー出力可能な端末を参照することが必要です。 そうなっていない場合、どのカラーシーケンスを使用すべきか決定できません。 .It Ev COLUMNS ターミナルのカラム幅を指定します。マルチカラム表示の際、 1 行あたりいくつのファイル名を表示できるかを算出するために参照されます ( .Fl C 参照)。 .It Ev LANG 長い .Fl l フォーマット出力における、日と月の順序を決定するために使用するロケールです。 詳細は .Xr environ 7 を参照してください。 .It Ev LSCOLORS 本変数の値は、 .Ev CLICOLOR によってカラー出力が有効であるときに、 どの色をどの属性に使用するかを指定します。 この文字列は書式 .Sy fb の結合であり、ここで .Sy f は前景色であり、 .Sy b は背景色です。 .Pp 色の指示は次の通りです: .Pp .Bl -tag -width 4n -offset indent -compact .It Sy 0 黒 .It Sy 1 赤 .It Sy 2 緑 .It Sy 3 茶 .It Sy 4 青 .It Sy 5 マゼンタ .It Sy 6 シアン .It Sy 7 明い灰 .It Sy x デフォルトの前景色と背景色 .El .Pp 以上が標準 .Tn ANSI カラーです。 実際の表示は、端末の色の扱いに依存して異なるでしょう。 .Pp 属性の順番は次の通りです: .Pp .Bl -enum -offset indent -compact .It ディレクトリ .It シンボリックリンク .It ソケット .It パイプ .It 実行形式 .It ブロックスペシャル .It キャラクタスペシャル .It setuid ビットが設定された実行形式 .It setgid ビットが設定された実行形式 .It 他者 (others) が書き込み可能なディレクトリであり、 スティッキービット付き。 .It 他者 (others) が書き込み可能なディレクトリであり、 スティッキービット無し。 .El .Pp デフォルトは "4x5x2x3x1x464301060203" であり、 通常のディレクトリは前景色青でデフォルト背景色、 setuid 付き実行形式は前景色黒で背景色赤等です。 .It Ev LS_COLWIDTHS この変数が設定されている場合、 コロン区切りのリストで各フィールドの最小幅を指定しているものとみなされます。 適切でなかったり不十分だったりする幅は無視されます (よって 0 を指定すると、フィールド幅が動的に決まります)。 すべてのフィールドの幅を変えられるわけではありません。 フィールドの順序は次の通りです: iノード・ブロック数・リンク数・ユーザ名・グループ名・フラグ・ファイルサイズ・ ファイル名。 .It Ev TERM .Ev CLICOLOR の機能は、端末タイプのカラーケーパビリティが必要です。 .It Ev TZ 日時を表示するときに使われるタイムゾーンを指定します。 詳細は .Xr environ 7 を参照してください。 .El .Sh 互換性 .St -p1003.2 互換とするため、 ロングフォーマット形式の出力には所有グループ名フィールドが自動的に 含められます。 .Sh 関連項目 .Xr chflags 1 , .Xr chmod 1 , +.Xr sort 1 , .Xr xterm 1 , .Xr termcap 5 , .Xr symlink 7 , .Xr sticky 8 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 .Sh 規格 .Nm コマンドの機能は .St -p1003.2 のスーパセットであると想定しています。 .Sh バグ 過去との互換性のために、多くのオプションの関係が複雑になっています。 diff --git a/ja_JP.eucJP/man/man1/mail.1 b/ja_JP.eucJP/man/man1/mail.1 index b6ae820757..54fba37ebe 100644 --- a/ja_JP.eucJP/man/man1/mail.1 +++ b/ja_JP.eucJP/man/man1/mail.1 @@ -1,1025 +1,1028 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mail.1 8.2 (Berkeley) 12/30/93 -.\" %FreeBSD: src/usr.bin/mail/mail.1,v 1.18.2.6 2001/06/27 23:14:07 mikeh Exp % +.\" %FreeBSD: src/usr.bin/mail/mail.1,v 1.18.2.7 2001/07/11 23:04:18 mikeh Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/mail.1,v 1.19 2001/06/06 06:30:55 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/mail.1,v 1.20 2001/07/12 00:16:01 horikawa Exp $ .\" .Dd December 30, 1993 .Dt MAIL 1 .Os BSD 4 .Sh 名称 .Nm mail .Nd メールの送信と受信 .Sh 書式 .Nm -.Op Fl iInv +.Op Fl EiInv .Op Fl s Ar subject .Op Fl c Ar cc-addr .Op Fl b Ar bcc-addr .Ar to-addr ... .Oo .Fl .Ar sendmail-option ... .Oc .Nm -.Op Fl iInNv +.Op Fl EiInNv .Fl f .Op Ar name .Nm -.Op Fl iInNv +.Op Fl EiInNv .Op Fl u Ar user .Sh 紹介 .Nm はインテリジェントなメール処理システムです。 コマンド文法は .Xr \&ed 1 に似ており、 .Xr \&ed 1 での行の代わりにメッセージを扱う形になっています。 .Pp .Bl -tag -width flag .It Fl v 冗長 (verbose) モードです。 メールの配送の詳細がユーザのターミナルに表示されます。 +.It Fl E +本文が空のメッセージを送信しません。 +cron スクリプトのエラーをパイプする場合に有用です。 .It Fl i tty の割り込みシグナルを無視します。 これは特に雑音の多い電話回線を通して .Nm を使う場合に役に立ちます。 .It Fl I 入力がターミナルでない場合にでも強制的に mail を対話モードで実行します。 特にメールを送る時の特殊文字 .Sq Ic \&~ は対話モードでのみ有効となります。 .It Fl n 起動時にシステム全体の .Pa mail.rc ファイルを読み込みません。 .It Fl N メールを読んだりメールフォルダを編集する時に、最初のメッセージヘッダの 表示を行いません。 .It Fl s コマンドラインからサブジェクトを指定します ( .Fl s フラグの後の最初の引数だけがサブジェクトとして使われます。空白を含む サブジェクトは引用符で囲むように注意して下さい。) .It Fl c カーボンコピーをユーザの .Ar list へ送ります。 .It Fl b ブラインドカーボンコピーを .Ar list へ送ります。 .Ar list はコンマで区切られた名前のリストとなります。 .It Fl f あなたの .Ar mbox (もしくは指定されたファイル) の内容を処理対象として読み込みます。 .Ar quit した時には .Nm は削除されなかったメッセージをこのファイルに書き戻します。 .It Fl u これは以下と等価です。 .Pp .Dl mail -f /var/mail/user .El .Ss 起動時の動作 .Nm は、起動時に、システムのコマンドファイル .Pa /usr/share/misc/mail.rc , .Pa /usr/local/etc/mail.rc , .Pa /etc/mail.rc をこの順番に実行します。ただし、 .Fl n オプションを使用して、実行しないよう明示的に指定された場合は例外です。 次に、ユーザの個人的なコマンドファイル .Pa ~/.mailrc を実行します。その後 .Nm はコマンドラインオプションを検査し、 新規メッセージを送るのか既存のメールボックスを読むのかを決定します。 .Ss メールを送る メッセージを 1 人かそれ以上の人に送るために .Nm をメールが送られる相手の名前を引数として起動することができます。 メッセージをタイプした後、行の先頭で .Sq Li control\-D を入力します。 下記の .Ar 「メールにリプライしたり、メールを始める」 のセクションでは手紙を編集する際に役に立つ .Nm の機能について説明しています。 .Pp .Ss メールを読む 通常の使い方では .Nm は引数を指定しないで起動すると、ポストオフィスのメールをチェックし、見 つかった各メッセージにつき 1 行ずつヘッダを表示します。 現在のメッセージは初期状態では最初のメッセージ ( 1 番に番号が振られて います) となっており、 .Ic print コマンド (省略形 .Ic p を使うことができます) によって表示することができます。 メッセージの位置を .Xr \&ed 1 と同様に .Ql Ic \&+ と .Ql Ic \&\- のコマンドを使って後や前に移動したり、単に数字を指定して移動したりする ことができます。 .Pp .Ss メールを廃棄する メッセージをチェックした後、メッセージを .Ic delete コマンド .Pq Ic d で削除したり、それに .Ic reply コマンド .Pq Ic r でリプライ (返事を出す) したりすることができます。 メッセージを削除すると .Nm プログラムはそのメッセージのことを忘れますが、 この操作は取り消すことができます。 メッセージは .Ic undeleted コマンド .Pq Ic u を使ってメッセージの番号を指定するか、 .Nm のセッションを .Ic exit コマンド .Pq Ic x で中途終了することによって削除をとりやめることができます。 しかし、削除されたメッセージは通常はなくなり二度と見ることはできませ ん。 .Pp .Ss メッセージを指定する .Ic print や .Ic delete のようなコマンドは、引数に複数のメッセージの番号を指定することによって 複数のメッセージに対して一度に適用することができます。 たとえば .Dq Li delete 1 2 はメッセージ 1 と 2 を削除し、 .Dq Li delete 1\-5 は 1 から 5 のメッセージを削除します。 特別な名前 .Ql Li \&* は全てのメッセージを意味し、 .Ql Li \&$ は最後のメッセージを意味します。 メッセージの最初の数行を表示するコマンド .Ic top を使って .Dq Li top \&* で全てのメッセージの最初の数行を表示することができます。 .Pp .Ss メールにリプライしたり、メールを始める .Ic reply コマンドを使ってメッセージに対する返事を用意して、それをメッセージの差 出人に送り返すことができます。 タイプインしたメッセージは end-of-file までがメッセージの内容として定 義されます。 メッセージを編集している時に .Nm は 文字 .Ql Ic \&~ で始まる行を特別に扱います。 例えば、 .Ql Ic \&~m とタイプする (行にこれだけタイプします) と現在のメッセージを タブの分 (下記の変数 .Em indentprefix を参照) だけ右にシフトして返事のメッセージにコピーします。 他のエスケープはサブジェクトの設定や、メッセージの受取人の追加や削除を 行なったり、またメッセージを修正するためにエディタを起動したり、コマン ドを実行するためにシェルを起動したりします。 (下にこれらのオプションの要約があります。) .Pp .Ss メールの処理セッションを終了する .Nm セッションは .Ic quit コマンド .Pq Ic q で終了することができます。 チェックされたメッセージは削除されていなければ .Ar mbox ファイルにセーブされます。削除されている場合は本当に廃棄されます。 チェックされていないメッセージはポストオフィスに書き戻されます (上記の .Fl f オプション参照)。 .Pp .Ss 個人の配布リストとシステム全体の配布リスト たとえば .Dq Li cohorts へメールを送ると複数の人に配布されるように、個人の配布リストを作成する こともできます。 このようなリストは .Pp .Dl alias cohorts bill ozalp jkf mark kridle@ucbcory .Pp というような行をホームディレクトリの .Pa \&.mailrc ファイルに書いておくことによって定義できます。 このようなエイリアス (別名) の現在のリストは .Nm 内で .Ic alias コマンドを使って表示することができます。 システム全体にわたる配布リストは .Pa /etc/mail/aliases を編集することによって作成することができます。 これについては .Xr aliases 5 と .Xr sendmail 8 を参照してください。これらでは違った形式で記述されます。 あなたが送ったメールの中では個人のエイリアスが展開され、そのメールの受取 人が他の受取人に .Ic reply できるようになります。 システム全体の .Ic aliases はメールが送られた時には展開されませんが、 そのマシンに返信されたメールは .Xr sendmail によって処理される際にシステム全体のエイリアスで展開されます。 .Pp .Ss ネットワークメール (ARPA, UUCP, Berknet) ネットワークアドレスの説明については .Xr mailaddr 7 を参照してください。 .Pp .Nm には .Pa .mailrc ファイルの中でセットして動作方法を変更するためのオプションがたくさんあ ります。 たとえば .Dq Li set askcc は .Ar askcc 機能を有効にします。 (これらのオプションについては下にまとめてあります。) .Sh 要約 (`Mail Reference Manual' より抜粋) .Pp 各コマンドは行中に単独入力されるか、またコマンドの後に引数をとることも あります。 コマンドは全て入力する必要はありません。途中まで入力されたも のに最初にマッチしたコマンドが使われます。 メッセージリストを引数として取るコマンドについては、メッセージリストが 与えられなければコマンドに要求されるものを満たす次のメッセージが使われ ます。 次のメッセージがない場合にはサーチは逆順に行なわれ、もし適用されるメッ セージが発見できない場合には .Nm は .Dq Li \&No applicable messages と表示しコマンドを中断します。 .Bl -tag -width delete .It Ic \&\- 前のメッセージを表示します。 数字の引数 .Ar n が指定されると、 .Ar n 個前に移動してメッセージを表示します。 .It Ic \&# 行中のこれ以降をコメントとして無視します。 .It Ic \&? コマンドの短い要約を表示します。 .It Ic \&! これに引き続くシェルコマンドを実行します ( .Xr sh 1 と .Xr csh 1 を参照) 。 .It Ic Print .Pq Ic P .Ic print と同様ですが、無視されるヘッダフィールドも表示されます。 .Ic print , .Ic ignore , .Ic retain を参照してください。 .It Ic Reply .Pq Ic R 発信者に返信します。 元のメッセージの他の受取人には返信されません。 .It Ic Type .Pq Ic T .Ic Print と同じです。 .It Ic alias .Pq Ic a 引数がない場合は、現在定義されている全てのエイリアスを表示します。 引数がひとつ伴うと、そのエイリアスを表示します。 複数の引数が指定されると、新しいエイリアスを作成するか、古いものを変更 します。 .It Ic alternates .Pq Ic alt .Ic alternates コマンドはいくつかのマシンにアカウントがある場合に便利な機能です。 .Nm に対してリストされたアドレスがあなたのアドレスであることを指示するため に使われます。 .Ic reply コマンドによってメッセージに返信するときに .Nm は .Ic alternates リストにリストされているアドレスにはメッセージのコピーを送付しません。 .Ic alternates コマンドが引数なしで指定された場合、現在の alternate の内容が表示され ます。 .It Ic chdir .Pq Ic c ユーザの作業ディレクトリを指定されたものに変更します。 ディレクトリが指定されていなければ、ユーザのログインディレクトリに変更 します。 .It Ic copy .Pq Ic co .Ic copy コマンドは .Ic save と同様のことを行ないますが、終了時に削除を行なうためのマークをメッセー ジにつけません。 .It Ic delete .Pq Ic d メッセージのリストを引数として取り、それら全てを削除されたものとしてマー クします。 削除されるメッセージは .Ar mbox にはセーブされず、また他のほとんどのコマンドの対象となりません。 .It Ic dp (もしくは .Ic dt ) 現在のメッセージを削除し、次のメッセージを表示します。 次のメッセージがなければ、 .Nm は .Dq Li "at EOF" と表示します。 .It Ic edit .Pq Ic e メッセージのリストを引数として取り、各々を順にテキストエディタで開きま す。 メッセージはテキストエディタから戻ってきた時に再度読み込まれます。 .It Ic exit .Ic ( ex もしくは .Ic x ) ユーザのシステムメールボックス、 .Ar mbox ファイル、 .Fl f での編集ファイルを変更せずにシェルへ直ちに戻ります。 .It Ic file .Pq Ic fi .Ic folder と同様です。 .It Ic folders フォルダディレクトリ内のフォルダ名をリストします。 .It Ic folder .Pq Ic fo .Ic folder コマンドは新しいメールファイルかフォルダに切り替えます。 引数がないと、現在どのファイルを読んでいるかを表示します。 引数を指定すると、現在のファイルに対して行なった変更 (削除など) を書き 出し、新しいファイルを読み込みます。 引数の名前にはいくつかの特別な記法を使うことができます。 # は前のファイルを意味します。 % はあなたのシステムメールボックスを意味します。 %user は user のシステムメールボックスを意味します。 & はあなたの .Ar mbox ファイルを意味します。 \&+\&folder はあなたのフォルダディレクトリ中のファイルを意味します。 .It Ic from .Pq Ic f メッセージのリストを引数として取り、それらのメッセージのヘッダを表示し ます。 .It Ic headers .Pq Ic h 現在の範囲のヘッダをリストします。現在の範囲は 18 個のメッセージのグルー プです。 引数として .Ql \&+ が指定されると次の 18 個のメッセージのグループが表示され、 .Ql \&\- が指定されると前の 18 個のメッセージのグループが表示されます。 .It Ic help .Ic \&? と同じです。 .It Ic hold .Ic ( ho もしくは .Ic preserve ) メッセージのリストを引数として取り、各メッセージを .Ar mbox ではなくユーザのシステムメールボックスにセーブするためのマークをつけ ます。 .Ic delete によってマークが付けられているメッセージにはマークはつけません。 .It Ic ignore .Ar ignored list にヘッダフィールドのリストを追加します。 ignore list (無視リスト) に登録されているヘッダフィールドは メッセージを表示する際にターミナルに表示されません。 このコマンドはマシンが生成するヘッダフィールドの表示を省略するのに非常 に便利です。 .Ic Type と .Ic Print コマンドを使うと表示の際に無視するフィールドも含めメッセージの全てを表 示することができます。 .Ic ignore が引数なしで実行されると現在の無視するフィールドのリストが表示されます。 .It Ic mail .Pq Ic m ログイン名と配布グループ名を引数として取り、メールをそれらの人々に送付 します。 .It Ic more .Pq Ic \&mo メッセージのリストを引数として取り、そのリストに対してページャを起動し ます。 .It Ic mbox 終了時にあなたのホームディレクトリの .Ic mbox へ書き込むメッセージのリストを指定します。 .Ic hold オプションをセットして .Em いなければ 、これはメッセージに対するデフォルトの動作となります。 .It Ic next .Pq Ic n ( .Ic \&+ や .Tn CR と同様) 次のメッセージへ進み、それを表示します。 引数リストを指定すると、次にマッチするメッセージを表示します。 .It Ic preserve .Pq Ic pre .Ic hold と同様です。 .It Ic print .Pq Ic p メッセージリストを引数として取り、各メッセージをユーザのターミナルに表 示します。 .It Ic quit .Pq Ic q セッションを終了し、全ての未削除のまだセーブしていないメッセージをユー ザのホームディレクトリの .Ar mbox ファイルへセーブし、 .Ic hold か .Ic preserve でマークされたメッセージか参照されなかったメッセージはシステムメールボッ クスに残し、その他の全てのメッセージをシステムメールボックスから削除し ます。 もし新しいメールがセッション中に届いていたら、メッセージ .Dq Li "You have new mail" を表示します。 もしメールボックスのファイルを .Fl f フラグ付きで編集している途中であれば、編集中のファイルは再度書き込まれ ます。 編集中のファイルの再書き込みが失敗しなければシェルに戻ります。 編集中のファイルの再書き込みが失敗した場合、ユーザは .Ic exit コマンドによって抜け出すことができます。 .It Ic reply .Pq Ic r メッセージリストを引数として取り、メールを指定されたメッセージの差出人 と全ての受取人に送ります。 デフォルトのメッセージは削除されていてはいけません。 .It Ic respond .Ic reply と同様です。 .It Ic retain .Ar retained list (保持リスト) にヘッダフィールドのリストを追加します。 メッセージを表示する時には、retain list に登録されているヘッダ フィールドのみがターミナルに表示されます。 他の全てのフィールドは省略されます。 .Ic Type と .Ic Print コマンドを使うとメッセージの全てを表示することができます。 .Ic retain が引数を指定されずに実行されると、現在 retain list に登録されているフィー ルドのリストを表示します。 .It Ic save .Pq Ic s メッセージのリストとファイル名を引数として取り、各メッセージを順にファ イルの末尾に追加します。 ファイル名が引用符で囲まれて表示され、それに続いて行数と文字数がユーザ のターミナルにエコーされます。 .It Ic set .Pq Ic se 引数がない場合には全ての変数の値を表示します。 引数が指定された場合はオプションをセットします。 引数は .Ar option=value ( = の前後にはスペースは入りません) か .Ar option の形式を取ります。 空白やタブを代入式に含めるために引用符を代入文の どの部分にでも 置いてかまいません。例えば次のようになります。 .Dq Li "set indentprefix=\*q->\*q" .It Ic saveignore .Ic saveignore は .Ic ignore コマンドが .Ic print や .Ic type の際に行なうことを .Ic save の際に行なうものです。 これでマークされたヘッダフィールドは .Ic save コマンドによって保存される時や自動的に .Ar mbox へ保存される時にフィルタリングされて取り除かれます。 .It Ic saveretain .Ic saveretain は .Ic retain が .Ic print や .Ic type の際に行なうことを .Ic save の際におこなうものです。 .Ic save コマンドによって保存される時や自動的に .Ar mbox へ保存される時には、これでマークされたヘッダフィールドのみが保存されます。 .Ic saveretain は .Ic saveignore に優先します。 .It Ic shell .Pq Ic sh シェルを対話モード起動します。 .It Ic size メッセージのリストを引数として取り、各メッセージのサイズを文字数で表示 します。 .It Ic source .Ic source コマンドはファイルからコマンドを読み込みます。 .It Ic top メッセージのリストを引数として取り、各メッセージの先頭の数行を表示しま す。 表示する行数は変数 .Ic toplines によって制御でき、デフォルトでは 5 行となっています。 .It Ic type .Pq Ic t .Ic print と同様です。 .It Ic unalias .Ic alias コマンドによって定義された名前のリストを引数として取り、記憶されている ユーザのグループを無効にします。 グループの名前は以後意味を持たなくなります。 .It Ic undelete .Pq Ic u メッセージのリストを引数として取り、各メッセージを削除されて .Ic いない ものとしてマークします。 .It Ic unread .Pq Ic U メッセージのリストを引数として取り、各メッセージを .Ic 未読 としてマークします。 .It Ic unset オプションの名前のリストを引数として取り、それらの記憶されている値を無 効とします。 .Ic set の逆です。 .It Ic visual .Pq Ic v メッセージのリストを引数として取り、各メッセージについてスクリーンエディ タを起動します。 .It Ic write .Pq Ic w .Ic save と同様ですが、 .Pq Ar ヘッダを除いて メッセージの本文 .Ic のみ が保存されます。 メッセージシステムを使ってソースプログラムテキストを送受信するような作 業で非常に便利です。 .It Ic xit .Pq Ic x .Ic exit と同様です。 .It Ic z .Nm は .Ic headers コマンドにて説明されているようにウィンドウいっぱいにメッセージヘッダを 表示します。 .Nm が指し示しているメッセージの位置は .Ic \&z コマンドによって次のウィンドウに進めることができます。 また、 .Ic \&z\&\- コマンドを使って前のウィンドウに戻ることもできます。 .El .Ss チルダ/エスケープ .Pp ここではチルダエスケープを要約します。 チルダエスケープはメッセージを編集している時に特別の機能を実行するため に使われます。 チルダエスケープは行の先頭でのみ認識されます。 実際のエスケープ文字は .Ic escape オプションによってセットできるので、 .Dq Em チルダエスケープ という呼び方は多少間違ったものです。 .Bl -tag -width Ds .It Ic \&~! Ns Ar command 指定されたシェルコマンドを実行し、メッセージに戻ります。 .It Ic \&~b Ns Ar name ... カーボンコピーの受取人のリストへ指定された name を追加します。 ただし name は Cc: 行へは表示されません ("ブラインド" カーボ ンコピー)。 .It Ic \&~c Ns Ar name ... 指定された name をカーボンコピーの受取人のリストに追加します。 .It Ic \&~d ホームディレクトリの .Dq Pa dead.letter ファイルをメッセージ中に読み込みます。 .It Ic \&~e 今までに編集したメッセージをテキストエディタで開きます。 編集セッションの終了後、メッセージに続けてテキストを追加することができ ます。 .It Ic \&~f Ns Ar messages 指定されたメッセージを送ろうとしているメッセージ中に読み込みます。 メッセージが指定されない場合は、現在のメッセージを読み込みます。 現在無視されているメッセージヘッダ ( .Ic ignore か .Ic retain コマンドによる) は読み込まれません。 .It Ic \&~F Ns Ar messages .Ic \&~f と同様ですが、全てのメッセージヘッダが含まれます。 .It Ic \&~h メッセージヘッダを順に各々を入力して編集し、テキストを末尾に追加したり、 現在のターミナルの erase 文字や kill 文字を使ってフィールドを変更した りします。 .It Ic \&~m Ns Ar messages 指定されたメッセージを現在送ろうとしているメッセージの中に読み込み、タ ブか .Ar indentprefix に設定されている値でインデントします。 メッセージが指定されていない場合は現在のメッセージが読み込まれます。 現在無視されているメッセージヘッダ ( .Ic ignore か .Ic retain コマンドによる) は読み込まれません。 .It Ic \&~M Ns Ar messages .Ic \&~m と同様ですが、全てのメッセージヘッダが読み込まれます。 .It Ic \&~p 今までに修正したメッセージをメッセージヘッダフィールドと共に表示します。 .It Ic \&~q 送ろうとしているメッセージを中断し、 .Ic save がセットされている場合はホームディレクトリの .Dq Pa dead.letter にメッセージをセーブします。 .It Ic \&~r Ns Ar filename 指定されたファイルをメッセージに読み込みます。 .It Ic \&~R Ns Ar string .Ar string を Reply-To: フィールドとして使用します。 .It Ic \&~s Ns Ar string 指定された文字列を現在のサブジェクトフィールドに設定します。 .It Ic \&~\&t Ns Ar name ... 指定された名前を受取人のリストに追加します。 .It Ic \&~\&v 別のエディタ ( .Ev VISUAL オプションによって定義されているもの) で現在までに修正したメッセージを 開きます。 通常は別のエディタはスクリーンエディタとなります。 エディタを終了した後、メッセージの末尾にテキストを追加できるようになり ます。 .It Ic \&~w Ns Ar filename 指定されたファイルにメッセージを書き込みます。 .It Ic \&~\&| Ns Ar command 指定されたコマンドをフィルタとし、パイプを通してメッセージに適用します。 コマンドから何の出力もないか、コマンドが異常終了した場合は、メッセージ のテキストは元のままとなります。 メッセージを整形するためによく .Xr fmt 1 コマンドが .Ic command として使われます。 .It Ic \&~: Ns Ar mail-command 指定されたメールコマンドを実行します。 しかし全てのコマンドが使えるわけではありません。 .It Ic \&~~ Ns Ar string メッセージに単独の ~ で始まるテキスト文字列を挿入します。 エスケープ文字が変更されている場合は、それを送るためにはエスケープ文字 を 2 つ指定しなければなりません。 .El .Ss メールオプション オプションは .Ic set と .Ic unset コマンドで制御します。 オプションは 2 値か文字列となります。 2 値の場合はセットされているか、されていないかだけが意味を持ちます。 文字列の場合は実際にセットしている値が意味を持ちます。 2 値のオプションには次のものがあります。 オプションが設定されていない場合、 .Nm は、同名の環境変数を探します。 .Bl -tag -width append .It Ar append メッセージを .Ar mbox にセーブする場合、先頭に書くのではなく、末尾に追加します。 これは常にセットされていなければなりません (システムの .Pa mail.rc ファイルにおいて設定することが望ましいです)。 .It Ar ask .Nm は送ろうとしている各メッセージのサブジェクトの入力を促します。 改行のみを入力するとサブジェクトフィールドは送られません。 .It Ar askcc 各メッセージの編集後に追加のカーボンコピーの受取人の入力を促します。 現在のリストで十分な場合は改行のみを入力してください。 .It Ar autoprint .Ic delete コマンドを .Ic dp のように動作させます。 すなわちメッセージの削除後、次のものが自動的に表示されます。 .It Ar debug 2 値のオプション .Ar debug をセットするとコマンド行で .Fl d を指定した時と同じ動作になり、 .Nm はデバッグに有用な全ての種類の情報を出力します。 .It Ar dot 2 値のオプション .Ar dot をセットすることによって、 .Nm は行中にピリオドが単独で入力されると、送ろうとしているメッセージが終了した ものとみなします。 .It Ar hold このオプションはデフォルトでメッセージをシステムメールボックス中に保持 するために使われます。 .It Ar ignore ターミナルからの割り込み信号を無視し、@ としてエコーします。 .It Ar ignoreeof .Ar ignoreeof は .Ar dot に関連するオプションであり、 .Nm にメッセージの最後での control-d を無視させます。 .Ar Ignoreeof は .Nm のコマンドモード中でも有効となります。 .It Ar metoo 通常、差出人を含むグループの展開時には差出人は取り除かれます。 このオプションをセットすることによって差出人も展開されたグループに含ま れるようになります。 .It Ar noheader .Ar noheader オプションをセットすると、コマンド行で .Fl N フラグを指定するのと同様の動作となります。 .It Ar nosave 普通は .Tn RUBOUT (erase もしくは delete) を 2 回入力してメッセージの編集を中断する時、 .Nm はホームディレクトリのファイル .Dq Pa dead.letter に中断した手紙をコピーします。 この 2 値のオプション .Ar nosave をセットすると、ファイルへのコピーは行なわれません。 .It Ar Replyall .Ic reply コマンドと .Ic Reply コマンドの意味を逆転させます。 .It Ar quiet 最初に起動された時にバージョンの表示を省略します。 .It Ar searchheaders このオプションがセットされていると、``/x:y'' の形式でのメッセージリス トの指定はヘッダフィールド ``x'' 中にサブストリング ``y'' を含む全ての メッセージに展開されます。ストリングのサーチは大文字と小文字を区別しま せん。 .It Ar verbose .Ar verbose オプションをセットするとコマンド行で .Fl v フラグをセットした時と同様の動作となります。 .Nm が verbose (饒舌) モードで実行されている時、実際のメッセージの配送の様 子がターミナルに表示されます。 .El .Ss オプションストリング値 .Bl -tag -width Va .It Ev EDITOR .Ic edit コマンドと .Ic \&~e エスケープで使われるテキストエディタのパス名です。 定義されていない場合はデフォルトのエディタが使われます。 .It Ev LISTER .Ic folders コマンドで使われるディレクトリをリストするコマンドのパス名です。 デフォルトは .Pa /bin/ls です。 .It Ev PAGER .Ic more コマンドや変数 .Ic crt がセットされている時に使われるプログラムのパス名です。 このオプションが定義されていないとデフォルトのページャ .Xr more 1 が使われます。 .It Ev REPLYTO 設定されている場合、送信メッセージの Reply-To フィールドの初期化に使用 されます。 .It Ev SHELL .Ic !\& コマンドや .Ic \&~! エスケープで使われるシェルのパス名です。 このオプションが定義されていないとデフォルトのシェルが使われます。 .It Ev VISUAL .Ic visual コマンドや .Ic \&~v エスケープで使われるテキストエディタのパス名です。 .It Va crt 値をとるオプション .Va crt は、メッセージを読むために .Ev PAGER が使われるメッセージの長さの閾値として使われます。 .Va crt が値なしでセットされていると、システムに保存されているターミナルの画面 の高さが閾値の計算に使われます ( .Xr stty 1 を参照して下さい)。 .It Ar escape これが定義されていると、このオプションの最初のキャラクタがエスケープを 示すための ~ の代わりに使われます。 .It Ar folder メッセージのフォルダを置くためのディレクトリ名です。 これが `/' で始まっていると .Nm は絶対パスとして解釈します。それ以外の場合はフォルダのディレクトリはホー ムディレクトリからの相対パスとして扱われます。 .It Ev MBOX .Ar mbox の名前です。 これはフォルダの名前とすることもできます。 デフォルトはホームディレクトリの .Dq Li mbox となります。 .It Ar record これが定義されていると、全ての発信されるメールを記録するために使われる ファイルのパス名となります。 定義されていない場合は、発信メールはセーブされません。 .It Ar indentprefix チルダエスケープ ``~m'' で、通常のタブ文字 (^I) の代わりにメッセージを インデントするために使われる文字列となります。 これにスペースやタブが含まれている場合は引用符で囲んで下さい。 .It Ar toplines これが定義されていると、 .Ic top コマンドで表示するメッセージの行数となります。通常は先頭の 5 行が表示 されます。 .El .Sh 環境変数 .Nm は環境変数 .Ev HOME と .Ev USER を使用します。また、環境変数 .Ev MAIL がセットされていると、デフォルトの /var/mail の代わりにユーザのメール ボックスの位置として使われます。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/mail.*help -compact .It Pa /var/mail/* ポストオフィスです。 .It Pa ~/mbox ユーザの古いメールです。 .It Pa ~/.mailrc 起動時に実行されるメールコマンドを指定するファイルです。 .It Pa /tmp/R* 一時ファイルです。 .It Pa /usr/share/misc/mail.*help ヘルプファイルです。 .Pp .It Pa /usr/share/misc/mail.rc .It Pa /usr/local/etc/mail.rc .It Pa /etc/mail.rc システムの初期化ファイルです。 各ファイルが存在すればこの順に読み込まれます。 .El .Sh 関連項目 .Xr fmt 1 , .Xr newaliases 1 , .Xr vacation 1 , .Xr aliases 5 , .Xr mailaddr 7 , .Xr sendmail 8 , .Rs .%T "The Mail Reference Manual" .Re .Sh 歴史 .Nm コマンドは .At v1 で登場しました。 本マニュアルページは 元々 Kurt Shoens によって書かれた .%T "The Mail Reference Manual" をベースにしています。 .Sh バグ ここに文書化されていないフラグがいくつか存在します。 ほとんどは一般のユーザには役に立たないものです。 .Pp 混乱しやすいのですが、通常 .Nm は .Nm Mail への単なるリンクとなっています。 diff --git a/ja_JP.eucJP/man/man1/mkdir.1 b/ja_JP.eucJP/man/man1/mkdir.1 index f4dce6c3b1..6726a4102b 100644 --- a/ja_JP.eucJP/man/man1/mkdir.1 +++ b/ja_JP.eucJP/man/man1/mkdir.1 @@ -1,109 +1,111 @@ .\" Copyright (c) 1989, 1990, 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. .\" .\" @(#)mkdir.1 8.2 (Berkeley) 1/25/94 -.\" %FreeBSD: src/bin/mkdir/mkdir.1,v 1.12.2.1 2000/12/08 13:34:36 ru Exp % +.\" %FreeBSD: src/bin/mkdir/mkdir.1,v 1.12.2.2 2001/07/04 12:14:22 yar Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/mkdir.1,v 1.10 2001/05/14 01:07:26 horikawa Exp $ .Dd January 25, 1994 .Dt MKDIR 1 .Os .Sh 名称 .Nm mkdir .Nd ディレクトリの作成 .Sh 書式 .Nm .Op Fl pv .Op Fl m Ar mode .Ar directory_name ... .Sh 解説 .Nm は、 オペランドで指定されたディレクトリを作成します。 作成する順番は指定された順番です。 作成されるディレクトリのパーミッションは、 .Li rwxrwxrwx (\&0777) に .Xr umask 2 の修正を加えたものです。 .Pp オプションとしては以下のものがあります: .Pp .Bl -tag -width indent .It Fl m Ar mode 作成されるディレクトリのパーミッションを指定します。 .Ar mode の書式は .Xr chmod 1 コマンドと同じです。シンボリック形式で指定する場合、 .Dq + および .Dq - は、最初のパーミッションが .Dq a=rwx であるものとして解釈されます。 .It Fl p 必要に応じて途中のディレクトリを作成します。 このオプションが指定されていない場合には、 .Ar directory_name で指定するパスの途中のディレクトリは既に存在している必要があります。 +また、本オプションを指定時には、 +オペランドとして指定したディレクトリが既に存在しても、エラーは報告されません。 途中に作成されるディレクトリのパーミッションは、 .Li rwxrwxrwx (\&0777) に現在の umask の修正を加えたものに、 所有者に対する書き込みと検索パーミッションが加わった値となります。 .It Fl v ディレクトリ作成時に冗長になり、作成時にこれを表示します。 .El .Pp ユーザは親ディレクトリに対する 書き込みパーミッションを持っている必要があります。 .Sh 診断 .Nm ユーティリティは、 成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。 .Sh 関連項目 .Xr rmdir 1 .Sh 互換性 .Fl v オプションは非標準であり、スクリプト中での使用は非推奨です。 .Sh 規格 .Nm ユーティリティは .St -p1003.2 互換です。 .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/printenv.1 b/ja_JP.eucJP/man/man1/printenv.1 index 7e222cfa75..bdc17694d5 100644 --- a/ja_JP.eucJP/man/man1/printenv.1 +++ b/ja_JP.eucJP/man/man1/printenv.1 @@ -1,137 +1,133 @@ .\" Copyright (c) 1980, 1990, 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. .\" .\" @(#)printenv.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/printenv/printenv.1,v 1.6.2.6 2001/06/08 00:58:01 dd Exp % +.\" $FreeBSD: src/usr.bin/printenv/printenv.1,v 1.6.2.7 2001/07/05 06:36:59 ru Exp $ .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/printenv.1,v 1.6 2001/05/14 01:07:27 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/printenv.1,v 1.7 2001/07/12 00:16:01 horikawa Exp $ .\" .Dd June 6, 1993 .Dt PRINTENV 1 -.Os BSD 3 +.Os .Sh 名称 .Nm printenv , env .Nd 環境変数を表示する、環境変数の値を設定、表示する .Sh 書式 .Nm .Op Ar name .Nm env .Op Fl .Op Fl i -.Op Ar name=value ...\& +.Op Ar name Ns = Ns Ar value ... .Op Ar command .Sh 解説 .Nm -は、 +は、環境変数の名前と値を、1 行あたりに 1 組の名前と値の形式で表示します。 .Ar name が指定されている場合は、その環境変数の値を表示します。 -.Ar name -が指定されていない場合は、すべての環境変数について -``name=value'' の形で環境変数の名前と値を表示 -します。 .Pp もし .Ar name で指定された環境変数が定義されていなかった場合、 .Nm は戻り値として 1 を返します。それ以外の場合は 0 を返します。 .Pp シェルによっては、本ユーティリティに似ているまたは同等の、組み込み .Nm コマンドを提供しています。 .Xr builtin 1 マニュアルページを参照してください。 .Pp .Nm env は、コマンドラインで指定された環境変数の値を変更してから .Ar command を実行します。 引数で -.Ar name=value +.Ar name Ns = Ns Ar value を指定することにより、環境変数 .Ar name の値を .Ar value にセットします。 .Pp オプションは次の通りです: .Bl -tag -width indent .It Fl i 指定された環境変数のみを使用して .Ar command を実行します。 .Nm env から継承した環境変数は無視します。 .It Fl .Fl i オプションと同じですが、後方互換性のためにあります。 .El .Pp .Ar command を指定しないで実行した場合、 .Nm env は すべての環境変数について ``name=value'' の形で環境変数の名前と値を表示 します。 .Pp .Nm env が有用なのは、 -.Qq #! +.Dq Li #! 構造とともに使用する場合です ( .Xr execve 2 を参照してください)。 -.Qq #!/usr/local/bin/foo +.Dq Li #!/usr/local/bin/foo と -.Qq #!/usr/bin/env /usr/local/bin/foo +.Dq Li "#!/usr/bin/env\ /usr/local/bin/foo" の唯一の違いは、 .Pa /usr/local/bin/foo 自身が解釈される場合でも後者は動作するという点です。 このように .Nm env を使用すると、望み通りに環境を設定できるだけでなく、 .Pa foo をパス無しで参照できます。 .Sh 関連項目 .Xr csh 1 , .Xr sh 1 , .Xr execvp 3 , .Xr environ 7 .Sh 歴史 .Nm コマンドは .Bx 3.0 から登場しました。 .Sh バグ 理由は明白ですが、 .Nm env はイコール(``='') 記号が入ったコマンドを実行できません。 diff --git a/ja_JP.eucJP/man/man1/telnet.1 b/ja_JP.eucJP/man/man1/telnet.1 index 0e8e4172e5..ad60a6eb9c 100644 --- a/ja_JP.eucJP/man/man1/telnet.1 +++ b/ja_JP.eucJP/man/man1/telnet.1 @@ -1,1354 +1,1359 @@ .\" Copyright (c) 1983, 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. .\" .\" @(#)telnet.1 8.5 (Berkeley) 3/1/94 -.\" %FreeBSD: src/usr.bin/telnet/telnet.1,v 1.15.2.5 2001/05/27 19:44:49 dillon Exp % +.\" %FreeBSD: src/usr.bin/telnet/telnet.1,v 1.15.2.6 2001/07/05 13:34:57 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/telnet.1,v 1.17 2001/05/14 01:07:29 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/telnet.1,v 1.18 2001/07/12 00:16:01 horikawa Exp $ .\" .Dd January 27, 2000 .Dt TELNET 1 .Os BSD 4.2 .Sh 名称 .Nm telnet .Nd .Tn TELNET プロトコルを用いて他のホストと通信する .Sh 書式 .Nm -.Op Fl u468EFKLNacdfrx +.Op Fl 468EFKLNacdfrux .Op Fl S Ar tos .Op Fl X Ar authtype .Op Fl e Ar escapechar .Op Fl k Ar realm .Op Fl l Ar user .Op Fl n Ar tracefile .Op Fl s Ar src_addr .Oo .Ar host .Op Ar port .Oc .Sh 解説 .Nm コマンドは、 他のマシンとの間で .Tn TELNET プロトコルを用いた通信を行なう時に用いられます。 .Nm が、 .Ar host 引数なしで起動された場合には、 .Pq Nm telnet\&> プロンプトを表示して、コマンドを受け付けるモードに移行します。 本モードでは、telnet は、後述のコマンドを解釈し、実行できます。 .Nm が .Ar host 引数を付加して起動された場合には、 .Ic open コマンドをその引数で実行した場合と同様の動作を行ないます。 .Pp .Nm コマンドでは、以下のオプションが使用可能です。 .Bl -tag -width indent -.It Fl u -.Nm -に AF_UNIX アドレスのみを使用するよう強制します -(UNIX ドメインソケットであり、ファイルパスでアクセスされます)。 .It Fl 4 .Nm に IPv4 アドレスのみを使用するよう強制します。 .It Fl 6 .Nm に IPv6 アドレスのみを使用するよう強制します。 .It Fl 8 8 ビットデータをそのまま通すよう指示します。本オプションは、データ入出力時に .Dv TELNET BINARY オプションを使用することを意味します。 .It Fl E エスケープ文字の解釈を禁止します。 .It Fl F もし Kerberos V5 ユーザ認証を使用している場合 .Fl F オプションはローカル credential をリモートシステムに送るのを許可します。 すでにローカルに送られているすべての credential を含みます。 .It Fl K リモートシステムへの自動ログインを行なわないよう指示します。 .It Fl L 出力を 8 ビットクリーンにします。 本オプションは、データ出力時に .Dv BINARY オプションを使用することを意味します。 .It Fl N 接続先ホストが IP アドレスで与えられた場合、 IP アドレスを元にした名前の検索を抑止します。 .It Fl S Ar tos IP のサービス型 (TOS) を設定します。 TOS は、数字で指定するか、システムが .Pa /etc/iptos ファイルをサポートしている場合には、そのファイル中で定義された 値と対応するシンボルを指定します。 .It Fl X Ar atype .Ar atype で指定されたユーザ認証を無効にします。 .It Fl a 自動ログインを行ないます。リモートシステムで ENVIRON オプションの サポートをしている場合には、 .Ev ENVIRON オプションの .Ev USER 変数をログイン名として用います。 使用されるログイン名は、カレントユーザ ID とログイン名の対応が 一致する場合には、 .Xr getlogin 2 で取得される名前です。それ以外の場合は、UID に対応する名前が 用いられます。 .It Fl c ユーザの .Pa \&.telnetrc ファイルを使いません (本マニュアル中の .Ic toggle skiprc コマンドを参照してください)。 .It Fl d 変数 .Ic debug の初期値を .Dv TRUE に設定します。 .It Fl e Ar escapechar .Nm のエスケープ文字の初期値を .Ar escapechar に設定します。 .Ar escapechar が省略された場合には、 エスケープ文字は無いことになります。 .It Fl f もし Kerberos V5 ユーザ認証を使用している場合 .Fl f オプションはローカル credential をリモートシステムに送るのを許可します。 .It Fl k Ar realm もし Kerberos ユーザ認証を使用している場合 .Fl k オプションを指定すると、 .Xr krb_realmofhost 3 で決定されるリモートホストの realm の代わりに、 .Ar realm からリモートホストに対するチケットが得られるように要求します。 .It Fl l Ar user リモートシステムが .Ev ENVIRON オプションをサポートしている場合、リモートシステムへの接続時に リモートシステムに変数 .Ev USER の値として .Ar user を送信します。 本オプションは、 .Fl a オプションとともに使用します。 また、本オプションは、 .Ic open コマンドととも一緒に使用します。 .It Fl n Ar tracefile トレース情報を記録するために .Ar tracefile をオープンします。 後述の .Ic set tracefile コマンドを参照して下さい。 .It Fl r .Xr rlogin 1 と似たインタフェースを提供します。 本モードでは、エスケープ文字はチルダ文字 (~) に設定されます。 ただし、 .Fl e オプションで変更された場合には、この限りではありません。 .It Fl s Ar src_addr .Nm 接続の送信元 IP アドレスを、 .Ar src_addr に設定します。 IP アドレスとホスト名のどちらでも指定可能です。 +.It Fl u +.Nm +に +.Dv AF_UNIX +アドレスのみを使用するよう強制します ( +.Ux +ドメインソケットであり、ファイルパスでアクセスされます)。 .It Fl x 可能であれば、データストリームの暗号化を有効にします。本オプション は、米国およびカナダ以外の国では使用できません。 .It Ar host リモートホストの公式な名前、別名、または IP アドレスを指定します。 .Ar host -が / で開始する場合、 +が +.Ql / +で開始する場合、 .Nm は対応する名前のソケットとの接続を確立します。 .It Ar port telnet が叩くリモートホストの TCP ポート番号を指定します。指定されない 場合には、デフォルトの .Nm ポート番号が使われます。 .El .Pp rlogin モードでは、~. をコマンドラインの先頭で入力すると、 リモートホストとの接続が切れます。この時、~ は .Nm のエスケープ文字 として働きます。 また、~^Z をコマンドラインの先頭で入力すると、 .Nm セッションはサスペンドされます。 そして、~^] をコマンドラインの先頭で入力すると、通常の .Nm のエスケーププロンプトが出力され、コマンド入力モードに移行します。 .Pp 接続が開設されると、 .Nm は .Dv TELNET LINEMODE を有効にしようとします。 これが失敗すると、次に .Nm は \*(Lqcharacter at a time\*(Rq と \*(Lqold line by line\*(Rq の 2 つの入力モードのうち、どちらか 1 つを選択します。 これは、リモートシステムがサポートするモードに依存します。 .Pp .Dv LINEMODE が有効になった場合、 文字処理は、 リモートシステムの制御のもとでローカルシステムで行なわれます。 入力行の編集や、文字エコーは無効になり、 リモートシステムがそれらの操作情報を中継します。 リモートシステムは、 リモートシステムで生成された特殊文字をすべてローカルシステムに送ります。 その結果、ローカルシステムの制御が可能になります。 .Pp \*(Lqcharacter at a time\*(Rq モードでは、ほとんどのテキスト入力は、 すぐにリモートシステムに送られて処理されます。 .Pp \*(Lqold line by line\*(Rq モードでは、すべてのテキストはローカルにエコーバック されます。そして、通常、完全な行のみがリモートホストに送信されます。 .Pp \*(Lqold line by line\*(Rq モードでは、すべてのテキストはローカルに エコーされ (普通は) 完全な行だけがリモートホストに送られます。 \*(Lqlocal echo character\*(Rq (初期設定は\*(Lq^E\*(Rq)は、ローカルエコー の有効/無効を切り替えるのに用いられます (これは、パスワードをエコーバックし ないために、パスワード入力時によく用いられる機能です)。 .Pp .Dv LINEMODE オプションが有効になっている場合、もしくは .Ic localchars が .Dv TRUE になっている場合には (デフォルトでは、\*(Lqold line by line\*(Rq に設定されて います。以下を参照)、ユーザの .Ic quit , .Ic intr , .Ic flush 文字はローカルでトラップされます。そして、 .Tn TELNET プロトコルシーケンスとしてリモートホストに送信されます。 .Dv LINEMODE が有効になっている場合には、 ユーザの .Ic susp および .Ic eof もまた .Tn TELNET プロトコルシーケンスとしてリモートホストに送信されます。そして、 .Ic quit は .Dv BREAK のかわりに .Dv TELNET ABORT として送信されます。 また、 (リモートホストが TELNET シーケンスを認識するまで) 端末へのサブシーケンス出力をフラッシュするオプション ( .Ic toggle , .Ic autoflush , .Ic toggle , .Ic autosynch を参照して下さい) や、( .Ic quit , .Ic intr の場合に) 端末の先行入力をフラッシュするオプションもあります。 .Pp リモートホストと接続中に \*(Lqescape character\*(Rq (初期値は \*(Lq^]\*(Rq です) を入力することで、 .Nm コマンドモードに移行できます。 コマンドモードに移行すると、通常の対話的画面編集が可能になります。 .Pp .Nm のコマンドモードでは、以下のコマンドが使用できます。 コマンドを入力する場合には、先頭からコマンドを特定できるだけの文字を入れ るだけでコマンドが認識されます。 ( .Ic mode , .Ic set , .Ic toggle , .Ic unset , .Ic slc , .Ic environ , .Ic display コマンドの引数についても同じことがいえます)。 .Pp .Bl -tag -width "mode type" .It Ic auth Ar argument ... auth コマンドは、 .Dv TELNET AUTHENTICATE オプションを用いて送られる認証情報を操作します。 .Ic auth コマンドのとりうる引数は、以下の通りです。 .Bl -tag -width "disable type" .It Ic disable Ar type 指定した認証タイプを無効にします。認証タイプの一覧を見たい場合には、 .Ic auth disable ?\& とコマンドを実行して下さい。 .It Ic enable Ar type 指定された認証タイプを有効にします。 認証タイプの一覧を見たい場合には、 .Ic auth enable ?\& とコマンドを実行して下さい。 .It Ic status 認証タイプの現在の状態一覧を表示します。 .El .It Ic close .Tn TELNET セッションを終了し、コマンドモードに復帰します。 .It Ic display Ar argument ... .Ic set および .Ic toggle で設定された値 (後述) のすべて、もしくは一部を表示します。 .It Ic encrypt Ar argument ... encrypt コマンドは、 .Dv TELNET ENCRYPT オプションによって送られる情報を操作します。 .Pp 注意: 輸出規制の関係上、 .Dv TELNET ENCRYPT オプションは、米国およびカナダ以外の国ではサポートされません。 .Pp .Ic encrypt コマンドのとりうる引数は以下の通り: .Bl -tag -width Ar .It Ic disable Ar type Xo .Op Cm input | output .Xc 指定されたタイプの暗号化を無効にします。 input か output かが省略された場合、両方が無効になります。 .Ic encrypt disable ?\& コマンドを使えば type として何が使用できるかを表示できます。 .It Ic enable Ar type Xo .Op Cm input | output .Xc 指定されたタイプの暗号化を有効にします。 input か output かが省略された場合、両方が有効になります。 .Ic encrypt enable ?\& コマンドを使えば type として何が使用できるかを表示できます。 .It Ic input .Ic encrypt start input コマンドと同じです。 .It Ic -input .Ic encrypt stop input コマンドと同じです。 .It Ic output .Ic encrypt start output コマンドと同じです。 .It Ic -output .Ic encrypt stop output コマンドと同じです。 .It Ic start Op Cm input | output 暗号化を開始します。 .Ic input か .Ic output かが省略された場合、 両方が暗号化されます。 .Ic encrypt enable ?\& コマンドを使えば type として何が使用できるかを表示できます。 .It Ic status 暗号化の現在の状態を表示します。 .It Ic stop Op Cm input | output 暗号化を中止します。 input か output かを省略した場合は 両方に対して作用します。 .It Ic type Ar type .Ic encrypt start や .Ic encrypt stop が使われた時のデフォルトの暗号化タイプを設定します。 .El .It Ic environ Ar arguments ... .Ic environ コマンドは、 .Dv TELNET ENVIRON オプションを用いて送られる変数を取り扱うのに用いられます。 最初に設定される変数は、ユーザ環境変数から取られ、 デフォルトでは .Ev DISPLAY および .Ev PRINTER のみ値が環境に取り込まれます。 変数 .Ev USER が環境に取り込まれるのは、 .Fl a もしくは .Fl l オプションが起動時に指定された場合です。 .Pp .Ic environ コマンドの取りうる引数は、以下の通りです。 .Bl -tag -width Fl .It Ic define Ar variable value 変数 .Ar variable を .Ar value と定義します。 本コマンドで定義された変数は、自動的に環境に取り込まれます。 .Ar value については、スペースやタブを含む場合には、シングルクォーテーション、 もしくはダブルクォーテーションで囲んでも構いません。 .It Ic undefine Ar variable 環境変数 .Ar variable の定義を無効にします。 .It Ic export Ar variable 変数 .Ar variable が、リモートホストの環境に取り込まれるように設定します。 .It Ic unexport Ar variable 変数 .Ar variable を、リモートホストに取り込まないように設定します。ただし、リモートホストへ 明示的に取り込むよう指定された変数に関しては、意味を持ちません。 .It Ic list 現在設定されている環境変数の一覧を表示します。 .Cm * マークが付加されている環境変数については、リモートホストに自動的に取り込ま れます。他の変数は、明示的に要求されない限り、取り込まれることはありません。 .It Ic ?\& .Ic environ コマンドのヘルプメッセージを表示します。 .El .It Ic logout .Dv TELNET LOGOUT オプションをリモートホストに送信します。 本コマンドは、 .Ic close と似ていますが、リモートホストが .Dv LOGOUT オプションをサポートしていない場合には、何も起きません。 しかしながら、リモートホストが .Dv LOGOUT オプションをサポートしている場合には、本コマンドはリモートホストに .Tn TELNET 接続の切断を指示します。 リモートホストが再接続のためにセッションのサスペンドもサポートしている場合には、 logout 引数は、セッションを即時切断することを示します。 .It Ic mode Ar type .Ar type は、 .Tn TELNET セッションの状態に依存するオプションの 1 つです。 リモートホストはリクエストモードに入るための許可を求められます。 リモートホストが許可を得られればリクエストモードに入ります。 .Bl -tag -width Ar .It Ic character .Dv TELNET LINEMODE オプションを無効にする、 あるいはリモートホストが .Dv LINEMODE オプションを解釈できない場合に \*(Lqcharacter at a time\*(Rq モードに入ります。 .It Ic line .Dv TELNET LINEMODE オプションを有効にする、 あるいはリモートホストが .Dv LINEMODE オプションを解釈できない場合に \*(Lqold-line-by-line\*(Rq モードに入ろうとします。 .It Ic isig Pq Ic \-isig .Dv LINEMODE オプションの .Dv TRAPSIG モードを有効 (無効) にします。 .Dv LINEMODE オプションが有効になっている必要があります。 .It Ic edit Pq Ic \-edit .Dv LINEMODE オプションの .Dv EDIT モードを有効 (無効) にします。 .Dv LINEMODE オプションが有効になっている必要があります。 .It Ic softtabs Pq Ic \-softtabs .Dv LINEMODE オプションの .Dv SOFT_TAB モードを有効 (無効) にします。 .Dv LINEMODE オプションが有効になっている必要があります。 .It Ic litecho Pq Ic \-litecho .Dv LINEMODE オプションの .Dv LIT_ECHO モードを有効 (無効) にします。 .Dv LINEMODE オプションが有効になっている必要があります。 .It Ic ?\& .Ic mode コマンドのヘルプメッセージを表示します。 .El .It Xo .Ic open Ar host .Op Fl l Ar user .Op Oo Fl Oc Ns Ar port .Xc 指定されたホストとの間で、接続を開設します。 ポート番号が指定されない場合は、 .Nm は、デフォルトのポート番号を用いて、指定されたホストの .Tn TELNET サーバとの接続を試みます。 ホストの指定については、ホスト名 ( .Xr hosts 5 を参照して下さい) もしくは、 ドット表記のIPアドレス ( .Xr inet 3 を参照して下さい) もしくは、 IPv6 ホスト名もしくはコロン付き 16 進記法の IPv6 アドレス で指定します。 .Fl l オプションは .Ev ENVIRON オプションによってリモートシステムに渡されるユーザ名を指定するのに 使われます。 標準でないポートにつなげた時は .Nm はすべての .Tn TELNET オプションの自動初期化を省略します。 マイナス記号の後にポート番号が指定されている場合は、 初期オプションネゴシエーション (initial option negotiation) が行なわれます。 接続した後、ホームディレクトリの .Pa \&.telnetrc ファイルが読み込まれます。 # で始まる行はコメントです。 空行は無視されます。 空白以外で始まっている行は マシンエントリの始まりです。 最初の項目は接続しているマシンの名前です。 その後の項目、およびそれに続く空白で始まっている 行は .Nm コマンドであるとみなされ、 .Nm コマンドプロンプトでそのコマンドを入力した場合と 同じように処理されます。 .It Ic quit .Tn TELNET セッションをただちに切断し、 .Nm を終了します。 コマンドモードにおいて、EOF を入力した場合も同様です。 .It Ic send Ar arguments 1つ以上の特殊文字シーケンスをリモートホストに送信します。 以下は指定可能な引数です (1 度に複数の引数を指定できます)。 .Pp .Bl -tag -width escape .It Ic abort .Dv TELNET ABORT (Abort processes) シーケンスを送ります。 .It Ic ao .Dv TELNET AO (Abort Output) シーケンスを送ります。 これはリモートシステム .Em に 端末 .Em へ すべての出力をフラッシュさせます。 .It Ic ayt .Dv TELNET AYT (Are You There) シーケンスを送ります。 リモートシステムはそれに応答するかしないかを選択できます。 .It Ic brk .Dv TELNET BRK (Break) シーケンスを送ります。 リモートシステムにとって 重要な意味があるかもしれません。 .It Ic ec .Dv TELNET EC (Erase Character) シーケンスを送ります。 これはリモートシステムに最後に入力された文字を 消去させます。 .It Ic el .Dv TELNET EL (Erase Line) シーケンスを送ります。 これはリモートシステムに現在入力中の行を 消去させます。 .It Ic eof .Dv TELNET EOF (End Of File) シーケンスを送ります。 .It Ic eor .Dv TELNET EOR (End of Record) シーケンスを送ります。 .It Ic escape 現在の .Nm エスケープ文字を送ります (初期値は \*(Lq^\*(Rq です)。 .It Ic ga .Dv TELNET GA (Go Ahead) シーケンスを送ります。 おそらくリモートシステムにとってたいした意味は無いでしょう。 .It Ic getstatus リモートシステムが .Dv TELNET STATUS コマンドをサポートしていれば、 .Ic getstatus はサーバに現在のオプションステータスを送るように要求します。 .It Ic ip .Dv TELNET IP (Interrupt Process) シーケンスを送ります。 これはリモートシステムに現在実行中のプロセスを 中断させます。 .It Ic nop .Dv TELNET NOP (No OPeration) シーケンスを送ります。 .It Ic susp .Dv TELNET SUSP (SUSPend process) シーケンスを送ります。 .It Ic synch .Dv TELNET SYNCH シーケンスを送ります。 このシーケンスはリモートシステムに、 それまでに送られた (しかしまだ読み込まれていない) 入力を 捨てさせます。 このシーケンスは .Tn TCP 緊急データとして送られます (しかしリモートシステムが .Bx 4.2 の場合、効かないかも知れません。 もし効かなかった場合は端末に \*(Lqr\*(Rq が返される場合があります)。 .It Ic do Ar cmd .It Ic dont Ar cmd .It Ic will Ar cmd .It Ic wont Ar cmd .Dv TELNET DO .Ar cmd シーケンスを送ります。 .Ar cmd は 0 から 255 までの十進数か、 特定の .Dv TELNET コマンドに対するシンボル名です。 .Ar cmd として 既知のシンボル名のリストを含むヘルプメッセージを表示する .Ic help または .Ic ?\& を指定可能です。 .It Ic ?\& .Ic send コマンドのヘルプメッセージを表示します。 .El .It Ic set Ar argument value .It Ic unset Ar argument value .Ic set コマンドは、指定した .Nm 変数の 1 つを、特定の値を設定するか、 .Dv TRUE にします。 特別な値 .Ic off は、変数に関連する機能を無効にします。これは、 .Ic unset コマンドと同じです。 .Ic unset コマンドは、指定された機能を無効にするか、 .Dv FALSE に設定します。 変数の値は .Ic display コマンドによって調べることができます。 トグルでなく設定、無効にされる変数を以下に示します。 また .Ic toggle コマンドに対する変数は .Ic set および .Ic unset コマンドによって明示的に 設定および無効にすることができます。 .Bl -tag -width escape .It Ic ayt .Tn TELNET がローカル文字モードになっているか、 あるいは .Dv LINEMODE が有効になっていて、 ステータス文字が入力された場合、 .Dv TELNET AYT シーケンス (前述の .Ic send ayt 参照) がリモートホストに送られます。\*(LqAre You There\*(Rq 文字の初期値は ターミナルステータス文字です。 .It Ic echo これは \*(Lqline by line\*(Rq モード時に 入力された文字をローカルに表示する (通常処理) か しないか (たとえばパスワード入力時) を 切り替えるのに使われる値 (初期値は \*(Lq^E\*(Rq ) です。 .It Ic eof .Nm が .Dv LINEMODE あるいは \*(Lqold line by line\*(Rq モードで動作していれば、 行の最初の文字としてこの文字を入力すると、 この文字をリモートシステムに送ります。 初期値として、端末の .Ic eof 文字が使われます。 .It Ic erase .Nm が .Ic localchars モード (後述の .Ic toggle .Ic localchars を参照) になっていて、 .Sy そして \*(Lqcharacter at a time\*(Rq モードで動作していれば、 この文字が入力された時に .Dv TELNET EC シーケンス (前述の .Ic send .Ic ec を参照) が リモートシステムに送られます。 初期値として、端末の .Ic erase 文字が使われます。 .It Ic escape これは (リモートシステムと接続している時に) .Nm コマンドモードに入る .Nm エスケープ文字 (初期値 \*(Lq^[\*(Rq) です。 .It Ic flushoutput .Nm が .Ic localchars モード (後述の .Ic toggle .Ic localchars を参照) になっていて、 .Ic flushoutput 文字が入力された時に .Dv TELNET AO シーケンス (前述の .Ic send .Ic ao を参照) が リモートシステムに送られます。 初期値として、端末の .Ic flush 文字が使われます。 .It Ic forw1 .It Ic forw2 .Nm が .Dv LINEMODE で動作している時に この文字が入力されると 行の一部がリモートシステムに送られます。 初期値として、端末の eol および eol2 文字が 使われます。 .It Ic interrupt .Nm が .Ic localchars モード (後述の .Ic toggle .Ic localchars を参照) になっている時に、 .Ic interrupt 文字が入力されると .Dv TELNET IP シーケンス (前述の .Ic send .Ic ip を参照) が リモートホストに送られます。 初期値として、端末の .Ic intr 文字が使われます。 .It Ic kill .Nm が .Ic localchars モード (後述の .Ic toggle .Ic localchars を参照) になっていて、 .Ic そして \*(Lqcharacter at a time\*(Rq モードで動作していれば、この文字が入力された時に .Dv TELNET EL シーケンス (前述の .Ic send .Ic el を参照) がリモートシステムに送られます。 初期値として、端末の .Ic kill 文字が使われます。 .It Ic lnext .Nm が .Dv LINEMODE か \*(Lqold line by line\*(Rq モードで動作している時に、端末の .Ic lnext 文字がこの文字として使われます。 初期値として、端末の .Ic lnext 文字が使われます。 .It Ic quit .Nm が .Ic localchars モード (後述の .Ic toggle .Ic localchars を参照) になっていて、 .Ic quit 文字が入力されると、 .Dv TELNET BRK シーケンス (前述の .Ic send .Ic brk を参照) が リモートホストに送られます。 初期値として、端末の .Ic quit 文字が使われます。 .It Ic reprint .Nm が .Dv LINEMODE あるいは \*(Lqold line by line\*(Rq モードで動作している時に、端末の .Ic reprint 文字がこの文字として使われます。 初期値として、端末の .Ic reprint 文字が使われます。 .It Ic rlogin これは rlogin エスケープ文字です。 もし設定されていれば、行の最初でこの文字が入力されている場合を除き、 通常の .Nm エスケープ文字は無視されます。 行の最初でこの文字に続けて "." が入力された場合、 接続が切れます。 続けて ^Z が入力された場合、 .Nm コマンドが中断されます。 初期状態では .Nm rlogin エスケープ文字は 無効になっています。 .It Ic start もし .Dv TELNET TOGGLE-FLOW-CONTROL オプションが有効になっていれば、端末の .Ic start 文字としてこの文字が使われます。 初期値として、端末の .Ic start 文字が使われます。 .It Ic stop もし .Dv TELNET TOGGLE-FLOW-CONTROL オプションが有効になっていれば 端末の .Ic stop 文字がこの文字として使われます。 初期値として、端末の .Ic stop 文字が使われます。 .It Ic susp .Nm が .Ic localchars モードになっているか、 .Dv LINEMODE が有効になっている場合に .Ic suspend 文字が入力されると、 .Dv TELNET SUSP シーケンス (前述の .Ic send .Ic susp を参照) が リモートホストに送られます。 初期値として、端末の .Ic suspend 文字が使われます。 .It Ic tracefile これは .Ic netdata あるいは .Ic option によって トレースが .Dv TRUE になっている場合に、出力が書き出されるファイルです。 もし .Dq Fl に設定されていれば、 トレース情報は標準出力 (デフォルト) に書き出されます。 .It Ic worderase .Nm が .Dv LINEMODE か \*(Lqold line by line\*(Rq モードで動作している時に、端末の .Ic worderase 文字がこの文字として使われます。 初期値として、端末の .Ic worderase 文字が使われます。 .It Ic ?\& .Ic set .Pq Ic unset コマンドのヘルプメッセージを表示します。 .El .It Ic skey Ar sequence challenge .Ic skey コマンドは、S/Key チャレンジへの応答を計算します。 .It Ic slc Ar state .Ic slc (Set Local Characters) コマンドは、 .Dv TELNET LINEMODE オプションが有効な時に働く特殊文字を設定したり変更したりします。 特殊文字は ( .Ic ip や .Ic quit のような) .Tn TELNET コマンドシーケンスや、( .Ic erase .Ic kill のような) 行編集文字に割り付けられます。 特殊文字はデフォルトで環境に取り込まれます。 .Bl -tag -width Fl .It Ic check 現在の特殊文字の設定を確認します。 現在のすべての特殊文字の設定を送るように リモートに要求を送り、 もしローカルな設定と違いがあれば、 ローカルな設定をリモートの値にします。 .It Ic export ローカルの特殊文字のデフォルトを変えます。 ローカルの特殊文字のデフォルトは .Nm を起動した時の端末の特殊文字です。 .It Ic import リモートの特殊文字のデフォルトを変えます。 リモートの特殊文字のデフォルトは .Tn TELNET 接続が確立した時のリモートの特殊文字です。 .It Ic ?\& .Ic slc コマンドのヘルプメッセージを表示します。 .El .It Ic status .Nm の現在のステータスを表示します。 これには現在のモードと同じくらい接続先のモードについての状態が含まれています。 .It Ic toggle Ar arguments ... .Nm の動作を制御するさまざまな変数の値 ( .Dv TRUE か .Dv FALSE ) を切り替えます。 この変数は前述の .Ic set や .Ic unset を使って明示的に .Dv TRUE または .Dv FALSE に設定できます。複数の引数を指定可能です。 これらの変数の値は .Ic display コマンドによって調べることができます。 有効な引数の値は以下の通りです。 .Bl -tag -width Ar .It Ic authdebug 認証コードに対するデバッグ情報を有効にする。 .It Ic autoflush .Ic autoflush と .Ic localchars が両方とも .Dv TRUE で、 .Ic ao または .Ic quit 文字が設定されている (そして .Tn TELNET シーケンスに変換されている; 詳細は前述の .Ic set を参照)場合、 リモートシステムが ( .Dv TELNET TIMING MARK によって) それらの .Tn TELNET シーケンスを処理したと認められるまで、 .Nm がどんなデータも端末に表示しないようにします。 初期値は、端末で "stty noflsh" を実行していなければ .Dv TRUE 、そうでなければ .Dv FALSE です ( .Xr stty 1 参照)。 .It Ic autodecrypt .Dv TELNET ENCRYPT オプションがネゴシエートされている時、デフォルトでは データの暗号 (復号) 化は自動的には始まりません。 autoencrypt (autodecrypt) コマンドは 出力 (入力) の暗号化ができるだけ早く有効になるようにします。 .Pp 注意: 輸出規制の関係上、 .Dv TELNET ENCRYPT オプションは、米国およびカナダ以外の国ではサポートされません。 .It Ic autologin もしリモートで .Dv TELNET AUTHENTICATION オプションがサポートされている場合、 .Nm は自動認証を行うために、それを使おうとします。 .Dv AUTHENTICATION オプションがサポートされていない場合、 ログイン名は .Dv TELNET ENVIRON オプションを使用して伝えられます。 このコマンドは .Ic open コマンドで .Fl a オプションが指定された場合と同じです。 .It Ic autosynch .Ic autosynch と .Ic localchars が両方とも .Dv TRUE になっている時に .Ic intr または .Ic quit 文字が入力されると ( .Ic intr および .Ic quit 文字の詳細は前述の .Ic set を参照)、 .Tn TELNET シーケンスが送られた結果は .Dv TELNET SYNCH に従います。 これは、リモートシステムに、 両方の .Tn TELNET シーケンスが読み込まれて作用するまで、 それまでのすべての入力を捨てさせる .Ic べき です。 初期値は .Dv FALSE です。 .It Ic binary 入力と出力の両方に対して、 .Dv TELNET BINARY オプションを有効または無効にします。 .It Ic inbinary 入力に対する .Dv TELNET BINARY オプションを有効または無効にします。 .It Ic outbinary 出力に対する .Dv TELNET BINARY オプションを有効または無効にします。 .It Ic crlf もし .Dv TRUE なら、キャリッジリターンが .Li として送られます。 .Dv FALSE なら .Li として送られます。 初期値は .Dv FALSE です。 .It Ic crmod キャリッジリターンモードを切り替えます。 このモードが有効なら リモートホストから受けとられたほとんどのキャリッジリターンは キャリッジリターンとラインフィードに割り当てられます。 このモードはこれらの文字が入力された時には作用せず、 受けとらえた時にだけ作用します。 このモードはリモートホストがキャリッジリターンだけを送らなければ、 ラインフィードしないので、必ず役に立つというわけではありません。 初期値は .Dv FALSE です。 .It Ic debug ソケットレベルデバッグ ( .Ic スーパユーザ にのみ役立つ) を切り替えます。 初期値は .Dv FALSE です。 .It Ic encdebug 暗号化コードに対するデバッグ情報を有効にする。 .It Ic localchars もし .Dv TRUE ならば、 .Ic flush , .Ic interrupt , .Ic quit , .Ic erase , .Ic kill 文字 (前述の .Ic set 参照) はローカルに認識され、(うまくいけば) 適当な .Tn TELNET コントロールシーケンス (それぞれ .Ic ao , .Ic ip , .Ic brk , .Ic ec , .Ic el ; 前述の .Ic send 参照) に変換されます。 初期値は \*(Lqold line by line\*(Rq モードでは .Dv TRUE \*(Lqcharacter at a time\*(Rq モードでは .Dv FALSE です。 .Dv LINEMODE オプションが有効の時は、 .Ic localchars の値は無視されて、常に .Dv TRUE になります。 もし .Dv LINEMODE が有効になったことがあれば、 .Ic quit は .Ic abort として送られ、 .Ic eof and .Ic suspend は .Ic eof and .Ic susp として送られます (前述の .Ic send 参照)。 .It Ic netdata (16 進フォーマットによる) すべてのネットワークデータの表示を切り替えます。 初期値は .Dv FALSE です。 .It Ic options ( .Tn TELNET オプションを処理する時の) 内部の .Nm プロトコルの処理の表示を切り替えます。 初期値は .Dv FALSE です。 .It Ic prettydump .Ic netdata が有効になっている時、 .Ic prettydump が有効になっていれば、 .Ic netdata コマンドの出力を、より見やすいフォーマットにします。 出力の各文字の間にはスペースがはさまれ、 .Nm エスケープシーケンスの前には、 探しやすいように '*' が置かれます。 .It Ic skiprc skiprc が .Dv TRUE になっていると、 .Nm は接続が開設される時に ホームディレクトリから .Pa \&.telnetrc を読まないようにします。 初期値は .Dv FALSE です。 .It Ic termdata (16 進フォーマットによる) すべての端末データの表示を切り替えます。 初期値は .Dv FALSE です。 .It Ic verbose_encrypt .Ic verbose_encrypt が .Dv TRUE になっていると、 .Nm はメッセージを表示するたびに暗号化が有効か無効かを表示します。 初期値は .Dv FALSE です。 注意: 輸出規制の関係上、 データの暗号化は、米国およびカナダ以外の国ではサポートされません。 .It Ic ?\& .Ic toggle コマンドのヘルプメッセージを表示します。 .El .It Ic z .Nm コマンドをサスペンドします。このコマンドは、ユーザが .Xr csh 1 を使用している時にのみ使用可能です。 .It Ic \&! Op Ar command ローカルシステムのサブシェルで、コマンドを1つ実行できます。 .Ar command が指定されなかった場合、サブシェルが対話モードで起動されます。 .It Ic ?\& Op Ar command ヘルプメッセージを表示します。 引数が指定されなかった場合、 .Nm はコマンド一覧を表示します。 .Ar command が指定された場合、 .Nm はそのコマンドのヘルプメッセージを表示します。 .El .Sh 環境変数 .Nm は、少なくとも .Ev HOME , .Ev SHELL , .Ev DISPLAY , .Ev TERM 環境変数を用います。 他の環境変数は、 .Dv TELNET ENVIRON オプションによりリモートホストに送られます。 .Sh 関連項目 .Xr rlogin 1 , .Xr rsh 1 , .Xr hosts 5 , .Xr nologin 5 , .Xr telnetd 8 .Sh 関連ファイル .Bl -tag -width ~/.telnetrc -compact .It Pa ~/.telnetrc ユーザカスタマイズ可能な telnet 初期設定ファイル .El .Sh 歴史 .Nm コマンドは、 .Bx 4.2 ではじめて実装されました。 .Pp IPv6 サポートは WIDE/KAME プロジェクトが追加しました。 .Sh 注意 リモートシステムの中には、\*(Lqold line by line\*(Rq モードで 手動でエコーバックを切り替えなければならない場合があります。 .Pp \*(Lqold line by line\*(Rq モードもしくは .Dv LINEMODE では、端末の .Ic eof 文字は、 それが行の先頭にある時だけ 認識され (リモートシステムに送られ) ます。 diff --git a/ja_JP.eucJP/man/man1/tr.1 b/ja_JP.eucJP/man/man1/tr.1 index acdb95b3cf..8aedfe6786 100644 --- a/ja_JP.eucJP/man/man1/tr.1 +++ b/ja_JP.eucJP/man/man1/tr.1 @@ -1,296 +1,297 @@ .\" 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. .\" .\" @(#)tr.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/tr/tr.1,v 1.5.2.3 2001/03/06 12:52:59 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/usr.bin/tr/tr.1,v 1.5.2.4 2001/07/06 10:09:02 ru Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/tr.1,v 1.7 2001/05/14 01:07:29 horikawa Exp $ .\" .Dd October 11, 1997 .Dt TR 1 .Os .Sh 名称 .Nm tr .Nd 文字の置換 .Sh 書式 .Nm .Op Fl csu .Ar string1 string2 .br .Nm .Op Fl cu .Fl d .Ar string1 .br .Nm .Op Fl cu .Fl s .Ar string1 .br .Nm .Op Fl cu .Fl ds .Ar string1 string2 .Sh 解説 .Nm ユーティリティは、選択された文字を置き換え、または削除しながら 標準入力を標準出力にコピーします。 .Pp 以下のオプションが利用できます: .Bl -tag -width Ds .It Fl c .Ar string1 に含まれる文字の補集合を表します。つまり、``-c ab'' は、 ``a'' と ``b'' を除く全ての文字を含みます。 .It Fl d .Fl d オプションは、入力から指定した文字を削除します。 .It Fl s .Fl s オプションは、最後の引数 ( .Ar string1 か .Ar string2 のどちらか) に含まれている同一の文字が、入力の中に連続して現れるとき、 それを 1 つの文字に圧縮します。この圧縮は、全ての削除や変換が終わった 後に行われます。 .It Fl u .Fl u オプションは出力がバッファリングされないことを保証します。 .El .Pp 書式の最初の形式では、 .Ar string1 に含まれる文字は、 .Ar string1 の 1 文字目は .Ar string2 の 1 文字目と置き換え...というように .Ar string2 に置き換えられます。もし .Ar string1 が .Ar string2 よりも長い場合は、 .Ar string2 の最後の文字が、 .Ar string1 と対応させるのに足りない分だけ続いているものとみなされます。 .Pp 書式の 2 番目の形式では、 .Ar string1 に含まれる文字は、入力から削除されます。 .Pp 書式の 3 番目の形式では、 .Ar string1 に含まれる文字は、 .Fl s オプションの解説の通りに圧縮されます。 .Pp 書式の 4 番目の形式では、 .Ar string1 に含まれる文字は入力から削除され、 .Ar string2 に含まれる文字は .Fl s オプションの解説の通りに圧縮されます。 .Pp .Ar string1 , .Ar string2 の文字の集合を指定するのに、以下のような記述方法が利用できます: .Bl -tag -width [:equiv:] .It character 以下で示したものを除く、その文字自身を表す 通常の文字 (キャラクタ) です。 .It \eoctal バックスラッシュに続き、1〜3 桁の 8 進数が続いたものは、 その値を符号化した文字を表現します。この 8 進数の並びに続いて 数字を文字として指定したい場合には、8 進数の並びが 3 桁と なるように、8 進数の上位桁 (左) に 0 を埋めてください。 .It \echaracter バックスラッシュに続く、特定の特殊な文字は、特殊な値に対応しています。 .Pp -.Bl -column +.Bl -column "\ea" .It "\ea <ベル文字> .It "\eb <バックスペース> .It "\ef <フォームフィード> .It "\en <改行> .It "\er <復帰> .It "\et <水平タブ> .It "\ev <垂直タブ> .El .sp これら以外のバックスラッシュに続く文字は、その文字自身に対応します。 .It c-c 両端を指定することにより、文字の範囲を表します。両端を含みます。 .It [:class:] 定義された文字クラスに属する、全ての文字を表します。 クラス名は以下の通りです: .sp -.Bl -column +.Bl -column "xdigit" .It "alnum <英数字> .It "alpha <英字> .It "cntrl <コントロール文字> .It "digit <数字> .It "graph <グラフィック文字> .It "lower <英小文字> .It "print <表示可能文字> .It "punct <句読点> .It "space <空白文字> .It "upper <英大文字> .It "xdigit <16進数> .El .Pp .\" .Fl d .\" と .\" .Fl s .\" の両方のオプションが指定された場合には、 .\" すべてのクラスを .\" .Ar string1 .\" および .\" .Ar string2 .\" に使うことができます。 .\" そうでない場合には、 .\" .Ar string2 .\" には、``upper'' もしくは ``lower'' .\" しか指定できません。 .\" しかも、対応するクラス (``upper'' に対する ``lower''、逆も同様)が .\" .Ar string1 .\" に指定されているとき限ります。 .\" .Pp ``upper'' と ``lower'' を除いたクラスでは、クラスに含まれる文字の 順序は特定されていません。``upper'' と ``lower'' では、 文字は昇順に並んでいます。 .Pp どのような ASCII 文字が、これらのクラスに含まれているのかという情報を 調べたい場合には、 .Xr ctype 3 および関連マニュアルを参照してください。 .It [=equiv=] 全ての文字、もしくは .Ar equiv と同じ同値関係クラスに属する区分要素を表します。もし、 同値関係クラス内で、2 次的な順序付けが存在する場合、 文字は昇順に並べられます。存在しない場合には、 符号化された値に従った順序付けがなされます。 同値関係クラスの例としては、スペイン語における ``c'' と ``ch'' などが あげられます。しかし、英語にはこのような同値関係クラスはありません。 .It [#*n] .Ar # で指定された .Ar n 個の文字の繰り返しを表現します。この表現は、 .Ar string2 で指定されたときのみ有効です。 もし .Ar n が省略された場合、または 0 の場合は、 .Ar string2 が .Ar string1 の長さを満たすような、十分大きな値として解釈されます。 .Ar n は、0 で始まる場合には 8 進数として、そうでない場合には 10 進数として 解釈されます。 .El .Sh 診断 .Nm ユーティリティは、成功の場合には 0、エラーが発生した 場合には 0 より大きい値を返します。 .Sh 使用例 以下の例は、シェルに対して与えられたものです: .sp file1 に含まれる単語 (文字の最大長の並び) のリストを、 各行につき 1 つずつ出力します。 .sp .D1 Li "tr -cs \*q[:alpha:]\*q \*q\en\*q < file1" .sp file1 の内容を大文字に変換します。 .sp .D1 Li "tr \*q[:lower:]\*q \*q[:upper:]\*q < file1" .sp 表示できない文字を file1 から削除します。 .sp .D1 Li "tr -cd \*q[:print:]\*q < file1" .Sh 互換性 古くからの BSD の実装および POSIX 標準では、文字の 範囲指定には ``c-c'' という文法を用いますが、 古い System V の実装では ``[c-c]'' を用いています。 System V のシェルスクリプトは、文字の置換を行おうとする 場合にはうまく動作するはずです。つまり、``tr [a-z] [A-Z]'' と 指定した場合には、 .Ar string1 の ``['' が .Ar string2 の ``['' に変換されるため、うまく動作します。 しかし、シェルスクリプトが、``tr -d [a-z]'' というコマンドのように 文字の削除や圧縮を行う場合には、``['' と ``]'' の文字が 削除や圧縮の対象に含まれてしまいます。古い実装の System V では このようには動作しません。さらに、``a'', ``-'', ``z'' と いう 3 つの文字を表現するのに、``a-z'' と記述するような、 その並びに依存しているあらゆるスクリプトは、``a\e-z'' と書き 直す必要があります。 .Pp .Nm ユーティリティは昔から、入力における NUL バイトの操作を 禁止されていました。さらに、入力から NUL を取り除いていました。 この実装では、この振る舞いはバグとみなされ、削除されました。 .Pp .Nm ユーティリティは昔から、たとえば、2 つの文字列が指定されない限り .Fl c および .Fl s オプションを無視する、などの文法上の誤りを 極端なまでに許していました。この実装では、不正な文法は 許されなくなっているはずです。 .Sh 規格 .Nm ユーティリティは、 .St -p1003.2 と互換です。 .Ar string2 が .Ar string1 よりも短い場合に .Ar string2 の最後の文字が複製される機能は、 POSIX では許されていますが必須ではないことに注意して下さい。 他の POSIX システムへの可搬性のあるシェルスクリプトを 作ろうとするならば、この振る舞いを当てにせずに、``[#*]'' と いう表現を使うべきです。 .Fl u オプションは .St -p1003.2 標準の拡張です。 diff --git a/ja_JP.eucJP/man/man1/vidcontrol.1 b/ja_JP.eucJP/man/man1/vidcontrol.1 index e910f5543b..99a2789c1d 100644 --- a/ja_JP.eucJP/man/man1/vidcontrol.1 +++ b/ja_JP.eucJP/man/man1/vidcontrol.1 @@ -1,487 +1,491 @@ .\" .\" 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 -.\" %FreeBSD: src/usr.sbin/vidcontrol/vidcontrol.1,v 1.24.2.5 2001/05/28 17:36:56 sobomax Exp % +.\" %FreeBSD: src/usr.sbin/vidcontrol/vidcontrol.1,v 1.24.2.6 2001/07/19 06:40:58 dd Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/vidcontrol.1,v 1.18 2001/06/25 02:02:58 horikawa Exp $ -.Dd June 30, 1999 +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/vidcontrol.1,v 1.19 2001/07/12 00:16:01 horikawa Exp $ +.Dd May 27, 2001 .Dt VIDCONTROL 1 .Os .Sh 名称 .Nm vidcontrol -.Nd syscons コンソールドライバの操作ユーティリティ +.Nd システムコンソールの制御と設定のユーティリティ .Sh 書式 .Nm +.Op Fl CdLPpx .Op Fl b Ar color .Op Fl c Ar appearance -.Op Fl d .Oo .Fl f .Op Ar size .Ar file .Oc .Op Fl g Ar geometry +.Op Fl h Ar size .Op Fl i Cm adapter | mode .Op Fl l Ar screen_map -.Op Fl L .Op Fl M Ar char .Op Fl m Cm on | off -.Op Fl p -.Op Fl P .Op Fl r Ar foreground Ar background .Op Fl s Ar number .Op Fl t Ar N | Cm off -.Op Fl x .Op Ar mode .Op Ar foreground Op Ar background .Op Cm show .Sh 解説 .Nm コマンドを用いて .Xr syscons 4 コンソールドライバの様々なオプション、例えば、 画面モード、色、カーソル形状、画面出力マップ、 フォント、スクリーンセーバタイムアウトを設定できます。 .Pp 以下のコマンドラインオプションをサポートしています: .Bl -tag -width indent .It Ar mode 新しいビデオモードを選択します。 現在サポートしているモードは次の通りです: .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 VGA_90x25 , .Ar VGA_90x30 , .Ar VGA_90x43 , .Ar VGA_90x50 , .Ar VGA_90x60 , .Ar EGA_80x25 , .Ar EGA_80x43 , .Ar VESA_132x25 , .Ar VESA_132x43 , .Ar VESA_132x50 , .Ar VESA_132x60 。 .\" また、グラフィックモード .\" .Ar VGA_320x200 , ラスタテキストモード .Ar VGA_800x600 も選択できます。 後述の .Sx ビデオモードサポート を参照してください。 .It Ar foreground Op Ar background テキストを表示する際の色を変更します。 前景色 (例: .Dq vidcontrol white ) 、あるいは 前景色および背景色 (例: .Dq vidcontrol yellow blue ) を指定することにより変更できます。 後述の .Cm show コマンドを使用して、使用可能な色を見られます。 .It Cm show 指定したプラットフォームでサポートされている色を表示します。 .It Fl b Ar color ボーダ色を .Ar color に設定します。 本オプションをビデオドライバが常にサポートしているのではないかもしれません。 +.It Fl C +ヒストリバッファをクリアします。 .It Fl c Cm normal | blink | destructive カーソルの外観を変更します。 カーソルは、反転ブロック .Pq Cm normal -、反転ブロックの点滅 -.Pq Cm blink -、あるいは古いハードウェアカーソル様のもの +あるいは古いハードウェアカーソル様のもの .Pq Cm destructive のいずれかです。 +前者は、オプションで +.Cm blink +にできます。 後者は実際にはシミュレートしています。 .It Fl d 現在の画面出力マップを表示します。 .It Xo .Fl f .Op Ar size .Ar file .Xc サイズ .Ar size 用のフォントをファイル .Ar file から読み込みます。 (現在のところ .Ar size には .Cm 8x8 , .Cm 8x14 , .Cm 8x16 のみが指定できます)。 フォントファイルは uuencode された形式でも 生のバイナリフォーマットでも構いません。 メニューによる .Xr vidfont 1 コマンドを使用して、好きなフォントをロード可能です。 .Pp .Ar size は省略可能です。 この場合、 .Nm はフォントファイルの大きさから、推測します。 .Pp MDA や CGA のような古いビデオカードは ソフトウェアフォントをサポートしないことに注意してください。 後述の .Sx ビデオモードサポート と .Sx 使用例 と .Xr syscons 4 のマニュアルページも参照してください。 .It Fl g Ar geometry テキストモードの .Ar geometry を、選択可能なジオメトリに設定します。 現在、 .Ar VESA_800x600 等のラスタモードのみが、本オプションをサポートします。 後述の、 .Sx ビデオモードサポート と .Sx 使用例を 参照してください。 +.It Fl h Cm size +ヒストリ (スクロールバック) バッファを +.Cm size +行に設定します。 .It Fl i Cm adapter 現在のビデオアダプタに関する情報を表示します。 .It Fl i Cm mode 現在のビデオハードウェアにて使用可能なビデオモードを表示します。 .It Fl l Ar screen_map 画面出力マップをファイル .Ar screen_map から読み込んで設定します。 .Xr syscons 4 も参照してください。 .It Fl L 出力画面マップをデフォルトに設定します。 .It Fl M Ar char マウスポインタを描く基本となる文字を .Ar char にします。 .It Fl m Cm on | off マウスポインタを .Cm on または .Cm off します。 テキストモードでのカット & ペースト機能を利用するために .Xr moused 8 デーモンと共に使用します。 .It Fl p 標準入力として参照される端末デバイスに対応する、 ビデオバッファの現在の内容をキャプチャします。 .Nm は、ビデオバッファの内容を標準出力に対し、 生のバイナリフォーマットで出力します。 このフォーマットに関する詳細は、後述の .Sx ビデオバッファダンプのフォーマット を参照してください。 .It Fl P .Fl p と同じですが、ビデオバッファの内容をプレインテキストでダンプし、 印字不可の文字とテキスト属性情報を無視します。 .It Fl r Ar foreground background 反転表示モードで用いる色を前景色 .Ar foreground および背景色 .Ar background に変更します。 .It Fl s Ar number 現在の vty を .Ar number に設定します。 .It Fl t Ar N | Cm off スクリーンセーバのタイムアウト値を .Ar N 秒に設定、あるいはスクリーンセーバを無効 ( .Cm off )にします。 .It Fl x 出力に 16 進数を用います。 .El .Ss ビデオモードサポート 前記の全モードを ビデオカードがサポートしているとは限らないことに注意してください。 .Fl i Cm mode オプションを使用することにより、 ビデオカードがサポートしているモードを調べることが可能です。 .Pp VESA ビデオモードもしくは 132 桁モードを使用する場合には、 VESA BIOS サポートをカーネルにリンクするか KLD にてロードする必要があることにも 注意してください ( .Xr vga 4 を参照してください)。 .Pp VGA 90 桁モードを使用する場合には、カーネルを .Ar VGA_WIDTH90 オプション付きでコンパイルする必要があります ( .Xr vga 4 を参照してください。 .Pp 25 または 30 行モード以外のビデオモードは、 特定の大きさのフォントが必要となるかもしれません。 前述の .Fl f オプションを使用し、フォントファイルをカーネルにロードしてください。 必要な大きさのフォントがカーネルにロードされていないと、 ユーザが新規ビデオモードを設定しようとした場合に .Nm は失敗します。 .Pp .Bl -column "25 line modes" "8x16 (VGA), 8x14 (EGA)" -compact .Sy モード Ta Sy フォントの大きさ .Li 25 行モード Ta 8x16 (VGA), 8x14 (EGA) .Li 30 行モード Ta 8x16 .Li 43 行モード Ta 8x8 .Li 50 行モード Ta 8x8 .Li 60 行モード Ta 8x8 .El .Pp 同じフォントの 3 つの大きさすべて (8x8, 8x14, 8x16) を 常にロードすることが望ましいです。 .Pp .Pa /etc/rc.conf または .Pa /etc/rc.conf.local 中の変数を希望のフォントファイルに設定できます。 これにより、システム起動時にこれらのフォントが自動的にロードされます。 後述を参照してください。 .Pp ラスタテキストモード .Ar VESA_800x600 を使用したい場合、 .Dv SC_PIXEL_MODE オプション付きでカーネルを再コンパイルする必要があります。 このカーネルオプションについての詳細は、 .Xr syscons 4 を参照してください。 .Ss ビデオバッファダンプのフォーマット .Nm ユーティリティは、 .Xr syscons 4 .Dv CONS_SCRSHOT .Xr ioctl 2 を使用し、ビデオバッファの現在の内容をキャプチャします。 .Nm は、バージョンと追加情報を標準出力に書き出し、 その後に端末デバイスの内容を続けて書き出します。 .Pp PC ビデオメモリは、典型的には 2 バイトタプルの並びであり、 1 タプルが各文字位置に対応します。 各タプルでは、最初のバイトが文字コードであり、 2 番目のバイトが文字の色属性です。 .Pp 色属性バイトは、更に、どの前景色が有効かを指定する下位ニブルと、 どの背景色が有効かを指定する上位ニブルとに分解されます。 .Pp .Bl -hang -offset indent -compact .It 0 黒 .It 1 青 .It 2 緑 .It 3 シアン .It 4 赤 .It 5 マゼンタ .It 6 茶 .It 7 白 .It 8 灰 .It 9 明い青 .It 10 明い緑 .It 11 明いシアン .It 12 明い赤 .It 13 明いマゼンタ .It 14 黄 .It 15 白 .El .Pp 最後の 8 色は、最初の 8 色を明るく見えるようにしたものです。 .Pp 例えば、2 バイト .Pp .Dl "65 158" .Pp は、大文字 A (文字コード 65) を、 明い青の背景 (高位ニブル 9) に黄色 (下位ニブル 15) という指定です。 .Pp .Nm の出力には小さなヘッダがあり、 そこには、出力を処理するユーティリティに有用な追加情報が含まれます。 .Pp 最初の 10 バイトは、常に次の並びです。 .Bl -column "Byte range" "Contents" -offset indent .It Sy "バイト範囲 内容" .It "1 から 8 リテラルテキスト" Dq Li SCRSHOT_ .It "9 ファイルフォーマットバージョン番号" .It "10 ヘッダの残りバイト数" .El .Pp これに続くバイトは、バージョン番号依存です。 .Bl -column "Version" "13 and up" -offset indent .It Sy "バージョン バイト 意味" .It "1 11 文字数単位の端末幅" .It " 12 文字数単位の端末の深さ" .It " 13 以降 スナップショットデータ" .El .Pp 80x25 画面のダンプは (16 進数で) 次のように開始します。 .Bd -literal -offset indent 53 43 52 53 48 4f 54 5f 01 02 50 19 ----------------------- -- -- -- -- | | | | ` 10 進数の 25 | | | `--- 10 進数の 80 | | `------ 残りのヘッダデータのバイト数 2 | `--------- ファイルフォーマットバージョン 1 `------------------------ リテラル "SCRSHOT_" .Ed .Sh ビデオ出力設定 .Ss ブート時の設定 次の変数を .Pa /etc/rc.conf または .Pa /etc/rc.conf.local に設定することにより、ブート時にビデオ出力を設定可能です。 .Pp .Bl -tag -width foo_bar_var -compact .It Ar blanktime .Fl t オプション用のタイムアウトを設定します。 .It Ar font8x16 , font8x14 , font8x8 .Fl f オプション用のフォントファイルを指定します。 .It Ar scrnmap .Fl l オプション用の画面出力マップファイルを指定します。 .El .Pp 更なる詳細は .Xr rc.conf 5 を参照してください。 .Ss ドライバの設定 デフォルトフォントなどのデフォルト設定オプションの変更を、 ビデオカードドライバが許す場合があります。 その場合、ブート時のオプション設定の必要はなくなります。 詳細はビデオカードドライバマニュアル .Pq 例えば Xr vga 4 を参照してください。 .Sh 関連ファイル .Bl -tag -width /usr/share/syscons/scrnmaps/foo-bar -compact .It Pa /usr/share/syscons/fonts/* フォントファイル。 .It Pa /usr/share/syscons/scrnmaps/* 画面出力マップファイル。 .El .Sh 使用例 カーネルに .Pa /usr/share/syscons/fonts/iso-8x16.fnt をロードしたい場合、 .Nm を次のように実行します。 .Pp .Dl vidcontrol -f 8x16 /usr/share/syscons/fonts/iso-8x16.fnt .Pp フォントファイルが .Pa /usr/share/syscons/fonts にある場合、ファイル名を .Pa iso-8x16 のように短縮可能です。 .Pp .Dl vidcontrol -f 8x16 iso-8x16 .Pp 更に、フォントの大きさ .Dq Li 8x16 を省略可能です。 .Pp .Dl vidcontrol -f iso-8x16 .Pp 同様に、画面出力マップファイルが .Pa /usr/share/syscons/scrnmaps にある場合、 .Fl l オプション用のファイル名を短縮可能です。 .Pp .Dl vidcontrol -l iso-8859-1_to_cp437 .Pp このコマンドは .Pa /usr/share/syscons/scrnmaps/iso-8859-1_to_cp437.scm をロードします。 .Pp 次のコマンドは、100x37 のラスタテキストモードを設定します (LCD モデルによっては有用です): .Pp .Dl vidcontrol -g 100x37 VESA_800x600 .Pp 次のコマンドは、最初の仮想端末の内容をキャプチャし、出力を .Pa shot.scr ファイルへ向けます。 .Pp .Dl vidcontrol -p < /dev/ttyv0 > shot.scr .Pp 次のコマンドは、4 番目の仮想端末の内容を、 人間が読めるフォーマットで標準出力へダンプします。 .Pp .Dl vidcontrol -P < /dev/ttyv3 .Sh 関連項目 .Xr kbdcontrol 1 , .Xr vidfont 1 , .Xr keyboard 4 , .Xr screen 4 , .Xr syscons 4 , .Xr vga 4 , .Xr rc.conf 5 , .Xr kldload 8 , .Xr moused 8 , .Xr watch 8 .Pp 様々な .Li shot2* ユーティリティが、 .Em "Ports Collection" の .Li textproc カテゴリにあります。 .Sh 作者 .An S\(/oren Schmidt Aq sos@FreeBSD.org diff --git a/ja_JP.eucJP/man/man1/xargs.1 b/ja_JP.eucJP/man/man1/xargs.1 index d66c94a61a..2d43db39c8 100644 --- a/ja_JP.eucJP/man/man1/xargs.1 +++ b/ja_JP.eucJP/man/man1/xargs.1 @@ -1,207 +1,207 @@ .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" John B. Roll Jr. and 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. .\" .\" @(#)xargs.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/xargs/xargs.1,v 1.6.2.6 2001/07/01 22:56:37 dd Exp % +.\" %FreeBSD: src/usr.bin/xargs/xargs.1,v 1.6.2.7 2001/07/19 06:22:53 dd Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/xargs.1,v 1.7 2001/05/14 01:07:31 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/xargs.1,v 1.8 2001/07/12 00:16:01 horikawa Exp $ .\" .Dd May 7, 2001 .Dt XARGS 1 .Os .Sh 名称 .Nm xargs .Nd "標準入力から引数を読み、コマンドを実行する" .Sh 書式 .Nm .Op Fl 0 .Op Fl J Ar replstr .Oo .Fl n Ar number .Op Fl x .Oc .Op Fl s Ar size .Op Fl t .Op Ar utility Op Ar argument ... .Sh 解説 .Nm コマンドは空白、タブ、改行、EOF (end-of-file) で区切られた引数を標準入力 から読み込み、指定した .Ar utility にその引数をつけて実行します。 .Pp コマンドラインで指定されたユーティリティ名と引数は、 .Ar utility コマンドに渡されます。 ユーティリティに続く引数は標準入力から得られます。 .Ar utility は標準入力を読み切るまで繰り返し実行されます。 .Pp 空白、タブ、改行はシングルクオート (``\ '\ '') やダブルクオート (``"'') やバックスラッシュ (``\e'') を使って埋め込むことができます。 シングルクオートは次のシングルクオートにマッチするまで、 改行とシングルクオートを除く全ての文字をエスケープします。 ダブルクオートは次のダブルクオートにマッチするまで 改行とダブルクオートを除く全ての文字をエスケープします。 改行を含む全ての文字はバックスラッシュでエスケープされます。 .Pp オプションは以下のものがあります: .Bl -tag -width indent .It Fl 0 空白と改行ではなくヌル文字 (``\\0'') を区切りとするように .Nm に指示します。 .Xr find 1 の .Fl print0 とともに用います。 .It Fl J Ar replstr 本オプションが指定されると、 .Nm は、標準入力から読み込んだデータを他のすべての引数の後に追加する代りに、 このデータを最初の .Ar replstr と置き換えます。 本オプションは、入力から読み込む引数の数 .Pq Fl n や、 .Nm が生成するコマンドの大きさ .Pq Fl s には影響しません。 本オプションは、引数が置かれる場所を 実行されるコマンドの中に移動するだけです。 .Ar replstr は、 .Nm にとって明確な引数 .Ar argument である必要があります。 これは、例えば引用された文字列の中にある場合には、解釈されません。 さらに、最初の .Ar replstr のみが置き換えられます。 例えば、次のコマンドは、 現在のディレクトリにある大文字で開始するファイルとディレクトリを、 .Pa destdir へコピーします: .Pp .Dl /bin/ls -1d [A-Z]* | xargs -J [] cp -rp [] destdir .Pp .It Fl n Ar number 各 .Ar utility 実行時に標準入力から拾う引数の最大数を設定します。 もし計算されたバイト数が、指定された .Ar size を越えた場合 ( .Fl s オプション参照) や .Ar utility の最後の実行時に残った引数が .Ar number 個以下の場合、 .Ar utility は、標準入力から読み込んだ引数のうち .Ar number より少数しか使いません。 .Ar number の現在のデフォルト値は 5000 です。 .It Fl s Ar size .Ar utility に渡すコマンドラインの最大バイト数をセットします。 .Ar utility 名の長さと .Ar utility に渡される引数の長さの和 (終端の .Dv NULL も含む) がこの値以下になります。 .Ar size の現在のデフォルト値は .Dv ARG_MAX - 2048 です。 .It Fl t 実行されるコマンドをその実行の直前に標準エラー出力にエコーします。 .It Fl x 引数の個数が指定した (もしくはデフォルトの) コマンドライン長と 合わない場合、 .Nm を強制終了します。 .El .Pp もし .Ar utility が指定されていなければ、 .Xr echo 1 が使われます。 .Pp .Ar utility が標準入力を読むプログラムの場合は予期せぬ動作をするかもしれません。 .Pp コマンドラインを集められなかったときや .Ar utility を起動できなかったとき、ユーティリティがシグナルで終了したとき、もしく はユーティリティが戻り値 255 で終了したときは、 .Nm は (それ以上の読み込みはせずに) ただちに終了します。 .Pp .Sh 戻り値 .Nm は、何もエラーが起こらなければ、戻り値 0 で終了します。 .Ar utility が起動できなかった場合は 、 戻り値 127 で終了します。その他のエラーでは戻り値 1 で終了します。 .Sh 関連項目 .Xr echo 1 , .Xr find 1 .Sh 規格 .Nm ユーティリティは .St -p1003.2 互換です。 .Fl J オプションは非標準の .Fx 拡張であり、他のオペレーティングシステムでは利用できないかもしれません。 .Sh バグ 引数の数や環境の大きさが増加するような他のコマンドの起動を .Ar utility が試みる場合、 .Xr execvp 3 が .Er E2BIG で失敗する危険があります。 diff --git a/ja_JP.eucJP/man/man2/mkdir.2 b/ja_JP.eucJP/man/man2/mkdir.2 index e74d66890c..65b2f63608 100644 --- a/ja_JP.eucJP/man/man2/mkdir.2 +++ b/ja_JP.eucJP/man/man2/mkdir.2 @@ -1,114 +1,116 @@ .\" 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. .\" .\" @(#)mkdir.2 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/lib/libc/sys/mkdir.2,v 1.9.2.2 2000/05/06 13:34:14 phantom Exp % +.\" %FreeBSD: src/lib/libc/sys/mkdir.2,v 1.9.2.3 2001/07/19 06:01:07 dd Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man2/mkdir.2,v 1.3 2001/05/14 01:08:22 horikawa Exp $ .Dd December 11, 1993 .Dt MKDIR 2 .Os BSD 4.2 .Sh 名称 .Nm mkdir .Nd ディレクトリファイルを作成する .Sh ライブラリ .Lb libc .Sh 書式 .Fd #include .Fd #include .Ft int .Fn mkdir "const char *path" "mode_t mode" .Sh 解説 ディレクトリ .Fa path が、 .Fa mode による指定に呼び出しプロセスの .Xr umask 2 で制約を加えたアクセス許可で作成されます。 .Pp ディレクトリの所有者 ID は、プロセスの実効ユーザ ID に設定されます。 ディレクトリのグループ ID は、そのディレクトリが作成された親ディレクトリの グループ ID に設定されます。 .Sh 戻り値 戻り値 0 は処理が正常に完了したことを示します。 戻り値 -1 はエラーを示し、エラーコードは .Va errno に保存されます。 .Sh エラー .Fn mkdir は次の場合、処理に失敗してディレクトリは作成されません。 .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT パスの構成要素が存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 +または、作成するディレクトリの親ディレクトリに対する書き込み権限が +拒否されました。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあります。 .It Bq Er EEXIST 指定のファイルがすでに存在します。 .It Bq Er ENOSPC 新しいディレクトリが作成できません。 そのディレクトリを作る容量がファイルシステムに残っていません。 .It Bq Er ENOSPC ディレクトリを作成するファイルシステム上に未使用の i ノードがありません。 .It Bq Er EDQUOT 新しいディレクトリが作成できません。ディレクトリを作るファイルシステム上の ディスクブロックのユーザのクォータが枯渇しました。 .It Bq Er EDQUOT ディレクトリを作成中のファイルシステム上のユーザの i ノードのクォータが 枯渇しました。 .It Bq Er EIO ディレクトリエントリの作成中、あるいは i ノードを割り当て中に入出力エラーが 発生しました。 .It Bq Er EIO ファイルシステムに読み書きしている間に入出力エラーが発生しました。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .El .Sh 関連項目 .Xr chmod 2 , .Xr stat 2 , .Xr umask 2 .Sh 規格 .Fn mkdir 関数は .St -p1003.1-90 に準拠しています。 diff --git a/ja_JP.eucJP/man/man2/open.2 b/ja_JP.eucJP/man/man2/open.2 index 1323822c3a..c7d1a4857e 100644 --- a/ja_JP.eucJP/man/man2/open.2 +++ b/ja_JP.eucJP/man/man2/open.2 @@ -1,325 +1,325 @@ .\" 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. .\" .\" @(#)open.2 8.2 (Berkeley) 11/16/93 -.\" %FreeBSD: src/lib/libc/sys/open.2,v 1.11.2.4 2001/06/03 05:00:08 dillon Exp % +.\" %FreeBSD: src/lib/libc/sys/open.2,v 1.11.2.5 2001/07/04 12:41:51 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man2/open.2,v 1.6 2001/05/14 01:08:23 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man2/open.2,v 1.7 2001/07/12 00:16:02 horikawa Exp $ .Dd November 16, 1993 .Dt OPEN 2 .Os BSD 4 .Sh 名称 .Nm open .Nd 読取りまたは書込み用にファイルをオープンする、または作成する .Sh ライブラリ .Lb libc .Sh 書式 .Fd #include .Ft int .Fn open "const char *path" "int flags" "..." .Sh 解説 .Fa path によって指定されるファイルを、引数 .Fa flags によって指定されたように読取りまたは書込み (またはその両方) 用にオープンし、 そのファイル記述子を呼び出し元プロセスに返します。 ファイルが存在しない場合にはファイルを 作成するように、 .Fa flags 引数で指示できます .Dv ( O_CREAT フラグを指定する)。 この場合、 .Nm には 3 番目の引数 .Fa "mode_t mode" が必要であり、ファイルは .Xr chmod 2 で説明されているようにモード .Fa mode で作成され、プロセスの umask 値によって修正されます .Pf ( Xr umask 2 を参照)。 .Pp 指定されたフラグは次の値の論理和 .\".Em or Ns 'ing .Em ( or ) で作成されます。 .Pp .Bd -literal -offset indent -compact O_RDONLY 読取り専用でオープン O_WRONLY 書込み専用でオープン O_RDWR 読取りと書込み用にオープン O_NONBLOCK オープンするときにブロックしない O_APPEND 書込みのたびに末尾に追加する O_CREAT ファイルが存在しない場合、作成する O_TRUNC サイズを 0 に切り捨てる O_EXCL 作成するファイルが既に存在した場合、エラーとする O_SHLOCK 共有ロックを自動的に取得する O_EXLOCK 排他的ロックを自動的に取得する O_DIRECT キャッシュの効果を無くすまたは減らす O_FSYNC 同期的に書き込む O_NOFOLLOW シンボリックリンクを辿らない .Ed .Pp .Dv O_APPEND を設定してファイルをオープンすると、 ファイルへの書込みはすべてファイルの末尾に追加されます。 .Dv O_TRUNC が指定されていてファイルが存在する場合、ファイルは長さ 0 に 切り捨てられます。 .Dv O_EXCL が .Dv O_CREAT とともに設定されていてファイルが既に存在する場合、 .Fn open はエラーを返します。これを使用して、 簡単な排他的アクセスロッキングメカニズムを 実現できます。 .Dv O_EXCL が設定されていてパス名の最後の構成要素がシンボリックリンクの場合、 たとえシンボリックリンクが存在しない名前を指していたとしても .Fn open は処理に失敗します。 .Dv O_NONBLOCK フラグが指定されていて .Fn open 呼び出しの結果、プロセスが何らかの理由でブロックされると (たとえば、 ダイアルアップ回線でキャリアを待っている場合)、 .Fn open は即座に戻ります。プロセスがオープンしたファイルに 最初に入出力しようとしたとき、プロセスはブロックします (現時点では実装されていません)。 .Pp .Dv O_FSYNC がマスクに使用された場合、 すべての書き込みは直ちにディスクに書き込まれ、 カーネルは書き込まれたデータをキャッシュせず、 書き込むべきすべてのデータが完了するまでは この記述子に対するすべての書き込みは戻りません。 .Pp .Dv O_NOFOLLOW がマスクに使用された場合で .Fn open に渡された対象ファイルがシンボリックリンクの場合、 .Fn open は失敗します。 .Pp ファイルをオープンするときに、 .Xr flock 2 を使ったロックを得るには、共有ロックについては .Dv O_SHLOCK 、 排他的ロックについては .Dv O_EXLOCK を設定します。 .Dv O_CREAT でファイルを作成する場合、ロック要求が失敗すること はありません (ただし、下層にあるファイルシステムが ロックをサポートしている場合に限ります)。 .Pp 読み書きにおけるキャッシュの効果を最小化もしくは無くすために .Dv O_DIRECT を使用可能です。 システムは、読み書きするデータのキャッシングを避けようとします。 データのキャッシングが避けられない場合、 データのキャッシュに対する影響を最小化します。 注意せずに使用すると、本フラグは劇的に性能を劣化させます。 .Pp 正常に完了すると、 .Fn open は、ファイル記述子を示す負でない整数を返します。 処理に失敗すると -1 を返します。ファイル内の現在の位置をマークする ファイルポインタはファイルの先頭に設定されます。 .Pp 新しいファイルが作成される場合、そのグループは ファイルが含まれるディレクトリのグループに設定されます。 .Pp 新しい記述子は .Xr execve 2 システムコールを通じてオープンされたままであるように設定されます。 .Xr close 2 と .Xr fcntl 2 を参照してください。 .Pp システムには、1 つのプロセスによって同時にオープンできる ファイル記述子数に制限があります。 .Xr getdtablesize 2 は現在のシステム制限を返します。 .Pp .Sh 実装に関する注 非スレッドライブラリでは、 .Fn open は .Va open システムコールとして実装されています。 .Pp スレッドライブラリでは、 .Va open システムコールは .Fn _thread_sys_open にアセンブルされ、 .Fn open は、スレッドの再スケジュールを無効にし .Fn _thread_sys_open を呼び出す関数として実装されています。 戻る前に、 .Fn open はスレッドの再スケジュールを有効にします。 .Sh 戻り値 正常に完了すると、 .Fn open はファイル記述子である負でない整数を返します。 処理に失敗すると -1 が返され、エラーを示すために .Va errno が設定されます。 .Sh エラー 指定のファイルは次の場合を除いてオープンされます。 .Bl -tag -width Er .It Bq Er ENOTDIR パスの構成要素中にディレクトリ以外のものが含まれています。 .It Bq Er ENAMETOOLONG パス名の構成要素が 255 文字を越えているか、 またはパス名全体が 1023 文字を越えています。 .It Bq Er ENOENT 指定されたファイルが存在せず、 .Dv O_CREAT も設定されていません。 .It Bq Er ENOENT 存在しなければならないパス名の構成要素が存在しません。 .It Bq Er EACCES 指定されたパスには、検索が許可されていないディレクトリが含まれています。 .It Bq Er EACCES 要求されたパーミッション (読取りまたは書込み用、または両方) が 指定のフラグに拒否されています。 .It Bq Er EACCES .Dv O_CREAT が指定されていて、ファイルが存在せず、かつファイルを作成する ディレクトリに書込み許可がありません。 .It Bq Er ELOOP パス名を変換するときに検出されたシンボリックリンクが多すぎます。 .It Bq Er EISDIR 指定のファイルがディレクトリであり、これを書込み用に オープンするように引数が指定されています。 .It Bq Er EROFS 指定されたファイルは読取り専用ファイルシステム上にあり、 そのファイルを修正しようとしています。 .It Bq Er EMFILE プロセスは、すでにオープンできるファイル記述子に関する 制限に達しています。 .It Bq Er ENFILE システムファイルテーブルが満杯です。 .It Bq Er EMLINK .Dv O_NOFOLLOW が指定され、対象がシンボリックリンクです。 .It Bq Er ENXIO 指定のファイルはキャラクタ型特殊ファイルまたはブロック型特殊 ファイルであり、この特殊ファイルに結び付けられたデバイスは 存在していません。 .It Bq Er ENXIO 指定されたファイルは FIFO パイプで、どのプロセスからも 読取り用にオープンされていないにも関らず、 これを書込み用にオープンしようとしました。 .It Bq Er EINTR .Fn open 操作がシグナルによって割り込みされました。 .It Bq Er EOPNOTSUPP .Dv O_SHLOCK または .Dv O_EXLOCK が指定されましたが、下層となっているファイルシステムは ロックをサポートしていません。 .It Bq Er EWOULDBLOCK .Dv O_NONBLOCK と、 .Dv O_SHLOCK か .Dv O_EXLOCK のどちらかが指定されましたが、ファイルはロックされています。 .It Bq Er ENOSPC .Dv O_CREAT が指定されていて、ファイルが存在せず、新しいファイル用のエントリを 配置中のディレクトリは、そのディレクトリを含むファイルシステムに 空間が残っていないため拡張できません。 .It Bq Er ENOSPC .Dv O_CREAT が指定されていて、ファイルが存在せず、かつファイルが作成中の ファイルシステム上に未使用の inode がありません。 .It Bq Er EDQUOT .Dv O_CREAT が指定されていて、ファイルが存在せず、かつ新しいファイル用の エントリを配置中のディレクトリは、そのディレクトリを含む ファイルシステム上でディスクブロックの ユーザのクォータが枯渇したために拡張できません。 .It Bq Er EDQUOT .Dv O_CREAT が指定されていて、ファイルが存在せず、かつファイルを作成中の ファイルシステム上で inode のユーザのクォータが枯渇しています。 .It Bq Er EIO ディレクトリエントリを作成中、または .Dv O_CREAT 用の inode を割当て中に入出力エラーが発生しました。 .It Bq Er ETXTBSY ファイルは純粋な手続き (共有テキスト) ファイルで、 .Fn open が書込みアクセスを要求しましたが、ファイルは実行中です。 .It Bq Er EFAULT .Fa path は、プロセスに割り当てられたアドレス空間の範囲外を指しています。 .It Bq Er EEXIST .Dv O_CREAT と .Dv O_EXCL が指定されていて、ファイルが存在します。 .It Bq Er EOPNOTSUPP ソケットをオープンしようとしました (現時点では実装されていません)。 .It Bq Er EINVAL .Dv O_RDONLY , .Dv O_WRONLY および .Dv O_RDWR の不正な組合わせで記述子をオープンしようとしました。 .El .Sh 関連項目 .Xr chmod 2 , .Xr close 2 , .Xr dup 2 , .Xr getdtablesize 2 , .Xr lseek 2 , .Xr read 2 , .Xr umask 2 , .Xr write 2 .Sh 歴史 .Fn open 関数は .At v6 で登場しました。 diff --git a/ja_JP.eucJP/man/man5/elf.5 b/ja_JP.eucJP/man/man5/elf.5 index ecfe5742e5..432ea357f3 100644 --- a/ja_JP.eucJP/man/man5/elf.5 +++ b/ja_JP.eucJP/man/man5/elf.5 @@ -1,1353 +1,1353 @@ .\"Copyright (c) 1999 Jeroen Ruigrok van der Werven .\"All rights reserved. .\" .\"Redistribution and use in source and binary forms, with or without .\"modification, are permitted provided that the following conditions .\"are met: .\"1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\"2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\"SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/elf.5,v 1.6.2.4 2001/03/06 19:08:18 ru Exp % +.\" %FreeBSD: src/share/man/man5/elf.5,v 1.6.2.5 2001/07/13 14:15:54 dd Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/elf.5,v 1.8 2001/05/14 01:09:27 horikawa Exp $ .Dd July 31, 1999 .Dt ELF 5 .Os FreeBSD .Sh 名称 .Nm elf .Nd ELF 実行形式バイナリファイルのフォーマット .Sh 書式 .Fd #include .Sh 解説 ヘッダファイル .Aq Pa elf.h は、ELF 実行形式バイナリファイルのフォーマットを定義しています。 ELF には普通の実行可能ファイル、再配置可能なオブジェクトファイル、 コアファイル、共有ライブラリがあります。 .Pp ELF ファイルフォーマットを使っている 実行可能ファイルは ELF ヘッダを持ちます。 そして、プログラムヘッダテーブルか、 セクションヘッダテーブル、あるいはその両方が続きます。 ELF ヘッダは、常にファイルのオフセット 0 にあります。 プログラムヘッダテーブルと セクションヘッダテーブルのファイル中のオフセットは、 ELF ヘッダで定義されています。 2 つのテーブルは、ファイルの特徴の残りの部分を記述します。 .Pp ネイティブアーキテクチャの ELF バイナリファイルを処理するアプリケーションは、 そのソースコードに .Pa elf.h をインクルードするだけですみます。 これらのアプリケーションは、総称名 .Dq Elf_xxx による全タイプと構造体への参照を含む必要があり、 .Dq ELF_xxx によるマクロへの参照を含む必要があるでしょう。 このようにして記述されたアプリケーションは、 どのようなアーキテクチャであっても、 ホストが 32 ビットなのか、あるいは 64 ビットなのか ということを気にしないで、コンパイル可能です。 .Pp 未知のアーキテクチャの ELF ファイルを処理する必要があるアプリケーションは、 .Pa elf.h ではなく、 .Pa sys/elf32.h と .Pa sys/elf64.h の両方をインクルードする必要があります。 さらに、全てのタイプと構造体は、 .Dq Elf32_xxx か .Dq Elf64_xxx によって区別する必要があります。 マクロは、 .Dq ELF32_xxx または .Dq ELF64_xxx によって区別する必要があります。 .Pp システムのアーキテクチャがたとえ何であっても、常に .Pa sys/elf_generic.h だけでなく、 .Pa sys/elf_common.h もインクルードします。 .Pp これらのヘッダファイルでは、 上で言及したヘッダを C 構造体として記述し、 これに加えて動的セクションと 再配置セクションとシンボルテーブルのための構造体を含んでいます。 .Pp 以下のタイプが、32 ビットアーキテクチャのために使われています: .Bd -literal -offset indent Elf32_Addr 符号無しプログラムアドレス Elf32_Half 符号無しハーフワードフィールド Elf32_Off 符号無しファイルオフセット Elf32_Sword 符号付き大整数 Elf32_Word フィールドまたは符号無し大整数 Elf32_Size 符号無しオブジェクトサイズ .Ed .Pp 64 ビットアーキテクチャ用に以下のタイプが用意されています: .Bd -literal -offset indent Elf64_Addr 符号無しプログラムアドレス Elf64_Half 符号無しハーフワードフィールド Elf64_Off 符号無しファイルオフセット Elf64_Sword 符号付き大整数 Elf64_Word フィールドまたは符号無し大整数 Elf64_Size 符号無しオブジェクトサイズ Elf64_Quarter 符号無しクォータワードフィールド .Ed .Pp ELF ファイルフォーマットが定義する全てのデータ構造は、 関連するクラスのために .Dq 自然な サイズと境界調整のガイドラインに従っています。 必要ならば、データ構造は、4 バイトオブジェクトが 4 バイト境界となることを保証するために、 構造体のサイズを強制的に 4 の倍数にするとかいった手段で、 明示的なパディングを含めます。 .Pp ELF ヘッダは、Elf32_Ehdr 型または Elf64_Ehdr 型によって記述されています: .Bd -literal -offset indent typedef struct { unsigned char e_ident[EI_NIDENT]; Elf32_Half e_type; Elf32_Half e_machine; Elf32_Word e_version; Elf32_Addr e_entry; Elf32_Off e_phoff; Elf32_Off e_shoff; Elf32_Word e_flags; Elf32_Half e_ehsize; Elf32_Half e_phentsize; Elf32_Half e_phnum; Elf32_Half e_shentsize; Elf32_Half e_shnum; Elf32_Half e_shstrndx; } Elf32_Ehdr; .Ed .Pp .Bd -literal -offset indent typedef struct { unsigned char e_ident[EI_NIDENT]; Elf64_Quarter e_type; Elf64_Quarter e_machine; Elf64_Half e_version; Elf64_Addr e_entry; Elf64_Off e_phoff; Elf64_Off e_shoff; Elf64_Half e_flags; Elf64_Quarter e_ehsize; Elf64_Quarter e_phentsize; Elf64_Quarter e_phnum; Elf64_Quarter e_shentsize; Elf64_Quarter e_shnum; Elf64_Quarter e_shstrndx; } Elf64_Ehdr; .Ed .Pp フィールドは、以下の意味を持っています: .Pp .Bl -tag -width "e_phentsize" -compact -offset indent .It Dv e_ident このバイト配列はファイルをどのように解釈すべきかを指定します。 これは、プロセッサまたはファイルの残りの内容から独立しています。 この配列中の全要素は、 .Sy EI_ で開始するマクロにより名付けられ、また先頭に .Sy ELF がついた値を持ち得ます。 以下のマクロが定義されています: .Pp .Bl -tag -width "EI_ABIVERSION" -compact .It Dv EI_MAG0 マジック番号の第 1 のバイト。 .Sy ELFMAG0 であることが必要です。 .It Dv EI_MAG1 マジック番号の第 2 のバイト。 .Sy ELFMAG1 であることが必要です。 .It Dv EI_MAG2 マジック番号の第 3 のバイト。 .Sy ELFMAG2 であることが必要です。 .It Dv EI_MAG3 マジック番号の第 4 のバイト。 .Sy ELFMAG3 であることが必要です。 .It Dv EI_CLASS 第 5 のバイトは、当該のバイナリファイルのアーキテクチャを識別します: .Pp .Bl -tag -width "ELFCLASSNONE" -compact .It Dv ELFCLASSNONE このクラスは、不当です。 .It Dv ELFCLASS32 これは、32 ビットアーキテクチャを定義します。 ファイル空間と仮想アドレス空間が 4 ギガバイトまでにおさまる マシンに対応します。 .It Dv ELFCLASS64 これは、64 ビットアーキテクチャを定義します。 .El .It Dv EI_DATA 第 6 のバイトは、 ファイルのプロセッサ固有データのエンコーディングを指定します。 現在、次のエンコーディングがサポートされています: .Pp .Bl -tag -width "ELFDATA2LSB" -compact .It Dv ELFDATANONE 未知のデータフォーマット。 .It Dv ELFDATA2LSB 2 の補数、リトルエンディアン。 .It Dv ELFDATA2MSB 2 の補数、ビッグエンディアン。 .El .It Dv EI_VERSION ELF 仕様書のバージョンナンバ: .Pp .Bl -tag -width "EV_CURRENT" -compact .It Dv EV_NONE 不当なバージョン。 .It Dv EV_CURRENT 現在のバージョン。 .El .It Dv EI_OSABI このバイトは、オブジェクトの対象である、 オペレーティングシステムと ABI を識別します。 他の ELF 構造中のフィールドには、 プラットフォーム依存の意味のものがあります。 そのようなフィールドの解釈は、このバイトの値で決定されます。 次の値が現在定義されています: .Pp .Bl -tag -width "ELFOSABI_STANDALONE" -compact .It Dv ELFOSABI_SYSV UNIX System V ABI。 .It Dv ELFOSABI_HPUX HP-UX オペレーティングシステム ABI。 .It Dv ELFOSABI_NETBSD NetBSD オペレーティングシステム ABI。 .It Dv ELFOSABI_LINUX GNU/Linux オペレーティングシステム ABI。 .It Dv ELFOSABI_HURD GNU/Hurd オペレーティングシステム ABI。 .It Dv ELFOSABI_86OPEN 86Open Common IA32 ABI。 .It Dv ELFOSABI_SOLARIS Solaris オペレーティングシステム ABI。 .It Dv ELFOSABI_MONTEREY Monterey プロジェクト ABI。 .It Dv ELFOSABI_IRIX IRIX オペレーティングシステム ABI。 .It Dv ELFOSABI_FREEBSD FreeBSD オペレーティングシステム ABI。 .It Dv ELFOSABI_TRU64 TRU64 UNIX オペレーティングシステム ABI。 .It Dv ELFOSABI_ARM ARM アーキテクチャ ABI。 .It Dv ELFOSABI_STANDALONE Standalone (組み込み) ABI。 .El .It Dv EI_ABIVERSION このバイトは、オブジェクトの対象である ABI のバージョンを識別します。 このフィールドは、同じ ABI でも、 互換性の無いもの同士を区別するために使用されます。 バージョン番号の解釈は、EI_OSABI フィールドで識別される ABI に依存します。 この仕様に準拠するアプリケーションは、値 0 を使用します。 .It Dv EI_PAD パディングの始め。 これらのバイトは、予約されており、0 にセットされます。 ここを読むプログラムは、これを無視する必要があります。 将来、現在使っていないバイトに意味が与えられた時には、 EI_PAD の値は変わります。 .It Dv EI_BRAND アーキテクチャ識別子の始め。 .It Dv EI_NIDENTT e_ident 配列の大きさ。 .El .Pp .It Dv e_type 構造体のこのメンバは、オブジェクトファイルタイプを識別します: .Pp .Bl -tag -width "ET_NONE" -compact .It Dv ET_NONE 未知のタイプ。 .It Dv ET_REL 再配置可能なファイル。 .It Dv ET_EXEC 実行可能ファイル。 .It Dv ET_DYN 共有オブジェクト。 .It Dv ET_CORE コアファイル。 .El .Pp .It Dv e_machine このメンバは、個々のファイルに必要なアーキテクチャを指定します: .Pp .Bl -tag -width "EM_MIPS_RS4_BE" -compact .It Dv EM_NONE 未知のマシン。 .It Dv EM_M32 AT&T WE 32100 .It Dv EM_SPARC Sun Microsystems SPARC. .It Dv EM_386 Intel 80386. .It Dv EM_68K Motorola 68000 .It Dv EM_88K Motorola 88000 .It Dv EM_486 Intel 80486 .It Dv EM_860 Intel 80860 .It Dv EM_MIPS MIPS RS3000 (ビッグエンディアンのみ) .It Dv EM_MIPS_RS4_BE MIPS RS4000 (ビッグエンディアンのみ) .It Dv EM_SPARC64 SPARC v9 64-bit 非公式 .It Dv EM_PARISC HPPA .It Dv EM_PPC PowerPC .It Dv EM_ALPHA Compaq [DEC] Alpha .El .Pp .It Dv e_version このメンバは、ファイルバージョンを識別します: .Pp .Bl -tag -width "EV_CURRENT" -compact .It Dv EV_NONE 不当なバージョン。 .It Dv EV_CURRENT 現在のバージョン。 .El .It Dv e_entry このメンバは、システムが最初に制御を移す、 つまりプロセスを開始する仮想アドレスを示します。 ファイルにエントリポイントがないならば、このメンバは 0 になります。 .It Dv e_phoff このメンバは、 プログラムヘッダテーブルのバイト単位のファイルオフセットを持ちます。 .It Dv e_shoff このメンバは、 セクションヘッダテーブルのバイト単位のファイルオフセットを持ちます。 ファイルにセクションヘッダテーブルがないならば、このメンバは 0 になります。 .It Dv e_flags このメンバは、ファイルに関連する、プロセッサに固有なフラグを持ちます。 フラグ名は、EF_`machine_flag' という形式になります。 現在、定義されたフラグはありません。 .It Dv e_ehsize このメンバは、ELF ヘッダのバイト単位の大きさを持ちます。 .It Dv e_phentsize このメンバは、 ファイルのプログラムヘッダテーブルにあるエントリ 1 個分のサイズを持ちます。 全てのエントリは、同じ大きさです。 .It Dv e_phnum このメンバは、プログラムヘッダテーブル中のエントリの個数を持ちます。 つまり、 .Sy e_phentsize と .Sy e_phnum の積は、テーブルのバイト単位の大きさを与えます。 ファイルにプログラムヘッダがないならば、 .Sy e_phnum の値は 0 になります。 .It Dv e_shentsize このメンバは、セクションヘッダのバイト単位の大きさを持ちます。 セクションヘッダは、 セクションヘッダテーブルの中の 1 つのエントリです; 全てのエントリは、同じ大きさです。 .It Dv e_shnum このメンバは、セクションヘッダテーブル中のエントリの個数を持ちます。 つまり、 .Sy e_shentsize と .Sy e_shnum の積は、セクションヘッダテーブルのバイト単位の大きさを与えます。 ファイルにセクションヘッダテーブルがないならば、 .Sy e_shnum の値は 0 になります。 .It Dv e_shstrndx このメンバは、 セクションヘッダテーブルの、 セクション名文字列テーブルに結びつけられたエントリへの インデックスを持ちます。 ファイルにセクション名文字列テーブルがないならば、 このメンバは値 .Sy SHN_UNDEF を持ちます。 .Pp .Bl -tag -width "SHN_LORESERVE" -compact .It Dv SHN_UNDEF この値は、未定義か、存在しないか、無関係であるか、 意味がないセクション参照を示します。 例えば、セクション番号 .Sy SHN_UNDEF からの相対で .Dq 定義 されるシンボルは、未定義シンボルです。 .\" For example, symbols defined relative to section number SHN_ABS .\" have absolute values and are not affected by relocation. .\" と同じ形式の文章。 .It Dv SHN_LORESERVE この値は、予約のインデックスの範囲の下限を指定します。 .It Dv SHN_LOPROC この値から .Sy SHN_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_HIPROC この値から .Sy SHN_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_ABS この値は、対応する参照のために絶対的な値を指定します。 例えば、 .Sy SHN_ABS からの相対で定義されるシンボルは、絶対的な値を持ち、 再配置による影響を受けません。 .It Dv SHN_COMMON このセクションからの相対で定義されるシンボルは、共通シンボルであり、 Fortran の COMMON や領域が確保されていない C の 外部変数が該当します。 .It Dv SHN_HIRESERVE この値は、予約インデックス範囲の上限を指定します。 この範囲は、 .Sy SHN_LORESERVE と .Sy SHN_HIRESERVE の間であり、両端を含みます。 これらの値は、セクションヘッダテーブルを参照しません。 セクションヘッダテーブルは予約のインデックスのためにエントリを .Em 含みません。 .El .El .Pp 実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダテーブルは、 構造体の配列です。 各構造体は、 プログラム実行にシステムが必要とする、セグメント等の情報を記述します。 オブジェクトファイルの .Em セグメント は、1 つ以上の .Em セクション を含みます。 プログラムヘッダは、 実行可能ファイルと共有オブジェクトファイルだけで意味があります。 ファイルは、ELF ヘッダの .Sy e_phentsize と .Sy e_phnum メンバでそれ自身のプログラムヘッダサイズを指定します。 ELF 実行形式のヘッダと同様に、 プログラムヘッダもアーキテクチャに従い異なるバージョンを持ちます: .Pp .Bd -literal -offset indent typedef struct { Elf32_Word p_type; Elf32_Off p_offset; Elf32_Addr p_vaddr; Elf32_Addr p_paddr; Elf32_Size p_filesz; Elf32_Size p_memsz; Elf32_Word p_flags; Elf32_Size p_align; } Elf32_Phdr; .Ed .Pp .Bd -literal -offset indent typedef struct { Elf64_Half p_type; Elf64_Half p_flags; Elf64_Off p_offset; Elf64_Addr p_vaddr; Elf64_Addr p_paddr; Elf64_Size p_filesz; Elf64_Size p_memsz; Elf64_Size p_align; } Elf64_Phdr; .Ed .Pp 32 ビットと 64 ビットのプログラムヘッダの間の主な差は、 構造体中の .Sy p_flags メンバの位置だけです。 .Pp .Bl -tag -width "p_offset" -compact -offset indent .It Dv p_type 構造体 Phdr のこのメンバは、この配列要素が記述しているセグメントの種類を示し、 どのように配列要素を解釈すべきかを示します。 .Bl -tag -width "PT_DYNAMIC" -compact .Pp .It Dv PT_NULL この配列要素は使っていません。また、他のメンバの値は未定義です。 これにより、プログラムヘッダ中に無視されるエントリを持てます。 .It Dv PT_LOAD この配列要素は、ロード可能なセグメントを指定します。 これは .Sy p_filesz と .Sy p_memsz で記述されます。 ファイルからのバイトは、メモリセグメントの先頭にマップされます。 -セグメントのメモリサイズ ( -.Sy p_memsz -) がファイルサイズ ( -.Sy p_filesz -) より大きいならば、 +セグメントのメモリサイズ +.Pq Sy p_memsz +がファイルサイズ +.Pq Sy p_filesz +より大きいならば、 .Dq 余分な バイトは、値 0 を持って、 セグメントの初期化された領域に続くものと定義されます。 ファイルサイズは、メモリサイズを越えてはなりません。 プログラムヘッダテーブルの中のロード可能な セグメントエントリは、昇順で現れます。 そして、 .Sy p_vaddr メンバでソートされます。 .It Dv PT_DYNAMIC この配列要素は、動的リンク情報を指定します。 .It Dv PT_INTERP この配列要素は、 インタープリタとして起動するナル文字で終わるパス名の場所と大きさを指定します。 このセグメントタイプは、実行可能ファイルのみで意味があります (本セグメントタイプは、共有オブジェクト中にあるかもしれません)。 本セグメントは、ファイル中で複数個存在してはなりません。 存在する場合、 全ロード可能セグメントエントリに先行する必要があります。 .It Dv PT_NOTE この配列要素は、補助情報のために場所と大きさを指定します。 .It Dv PT_SHLIB このセグメントタイプは、 予約されており、明記されていないセマンティクスを持ちます。 このタイプの配列要素を含むプログラムは、ABI に従いません。 .It Dv PT_PHDR この配列要素が存在する場合、 ファイル中とメモリイメージ中における、 プログラムヘッダテーブル自身の位置と大きさを指定します。 本セグメントタイプは、ファイル中で複数個存在してはなりません。 さらに、 プログラムヘッダテーブルがプログラムのメモリイメージに含まれる場合のみ、 存在が許されます。 存在する場合、 全ロード可能セグメントエントリに先行する必要があります。 .It Dv PT_LOPROC この値から .Sy PT_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv PT_HIPROC この値から .Sy PT_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .El .Pp .It Dv p_offset このメンバは、セグメントの最初のバイトへの、 ファイル先頭からのオフセットを持ちます。 .It Dv p_vaddr このメンバは、 セグメントの最初のバイトがメモリで存在する仮想アドレスを持ちます。 .It Dv p_paddr 物理アドレッシングのシステム上では、 このメンバは、セグメントの物理アドレスのために予約されています。 BSD では、本メンバは使されず、0 である必要があります。 .It Dv p_filesz このメンバは、セグメントのファイルイメージのバイト数を持ちます。 0 であるかもしれません。 .It Dv p_memsz このメンバは、セグメントのメモリイメージのバイト数を持ちます。 0 であるかもしれません。 .It Dv p_flags このメンバは、セグメントに関したフラグを持ちます。 .Pp .Bl -tag -width "PF_X" -compact .It Dv PF_X 実行可能セグメント。 .It Dv PF_W 書き込み可能なセグメント。 .It Dv PF_R 読み取り可能なセグメント。 .El .Pp テキストセグメントは、一般にフラグ .Sy PF_X と .Sy PF_R を持ちます。 データセグメントは、一般に .Sy PF_X , .Sy PF_W と .Sy PF_R を持ちます。 .It Dv p_align このメンバは、メモリ中およびファイル中でセグメントが整列すべき値を持ちます。 ロード可能なプロセスは、 .Sy p_vaddr と .Sy p_offset をページサイズで割った余りに適合する値を持つ必要があります。 0 と 1 の値は、境界調整が不要であることを意味します。 そうでない場合、 .Sy p_align は、正 (2 の整数乗) である必要があります。そして、 .Sy p_vaddr は .Sy p_offset を .Sy p_align で割った余りと等しい必要があります。 .El .Pp ファイルのセクションヘッダテーブルは、 全てのファイルのセクションの位置決定を可能とします。 セクションヘッダテーブルは、Elf32_Shdr または Elf64_Shdr 構造体の配列です。 ELF ヘッダの .Sy e_shoff メンバは、 セクションヘッダテーブルの、ファイル先頭からのバイトオフセットを与えます。 .Sy e_shnum は、セクションヘッダテーブルのエントリ数を持ちます。 .Sy e_shentsize は、各エントリの大きさをバイトで持ちます。 .Pp セクションヘッダテーブルインデックスは、この配列の添字です。 セクションヘッダテーブルインデックスには、予約のものがあります。 オブジェクトファイルには、次の特別なインデックスにはセクションがありません: .Pp .Bl -tag -width "SHN_LORESERVE" -compact .It Dv SHN_UNDEF この値は、未定義か、存在しないか、無関係であるか、 意味がないセクション参照を示します。 .It Dv SHN_LORESERVE この値は、予約のインデックスの範囲の下限を指定します。 .It Dv SHN_LOPROC この値から .Sy SHN_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_HIPROC この値から .Sy SHN_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_ABS この値は、対応する参照が絶対値であることを指定します。 例えば、セクション番号 .Sy SHN_ABS からの相対で定義されてるシンボルは、絶対的な数値を持ち、 再配置によって影響を受けません。 .It Dv SHN_COMMON このセクションからの相対で定義されるシンボルは、共通シンボルであり、 Fortran の COMMON や領域が確保されていない C の外部変数が該当します。 .It Dv SHN_HIRESERVE この値は、予約インデックス範囲の上限を指定します。 この範囲は、 .Sy SHN_LORESERVE と .Sy SHN_HIRESERVE の間であり、両端を含みます。 セクションヘッダテーブルは、予約のインデックスのためにエントリを含みません。 .El .Pp セクションヘッダは、以下の構造体を持ちます: .Bd -literal -offset indent typedef struct { Elf32_Word sh_name; Elf32_Word sh_type; Elf32_Word sh_flags; Elf32_Addr sh_addr; Elf32_Off sh_offset; Elf32_Size sh_size; Elf32_Word sh_link; Elf32_Word sh_info; Elf32_Size sh_addralign; Elf32_Size sh_entsize; } Elf32_Shdr; .Ed .Pp .Bd -literal -offset indent typedef struct { Elf64_Half sh_name; Elf64_Half sh_type; Elf64_Size sh_flags; Elf64_Addr sh_addr; Elf64_Off sh_offset; Elf64_Size sh_size; Elf64_Half sh_link; Elf64_Half sh_info; Elf64_Size sh_addralign; Elf64_Size sh_entsize; } Elf64_Shdr; .Ed .Pp .Bl -tag -width "sh_addralign" -compact .It Dv sh_name このメンバは、セクションの名前を指定します。 その値は、セクションヘッダ文字列テーブルセクションへの インデックスであり、ナル文字で終わる文字列の場所を与えます。 .It Dv sh_type このメンバは、セクションの内容とセマンティクスを分類します。 .Pp .Bl -tag -width "SHT_PROGBITS" -compact .It Dv SHT_NULL この値は、セクションヘッダが不活性であることを示します。 関連づけられたセクションを持ちません。 セクションヘッダの他のメンバは、未定義値を持ちます。 .It Dv SHT_PROGBITS このセクションは、プログラムによって定義される情報を持ちます。 フォーマットと意味は、プログラムだけによってのみ決定されます。 .It Dv SHT_SYMTAB このセクションは、シンボルテーブルを持ちます。 一般的に、 .Sy SHT_SYMTAB はリンクエディットのためのシンボルを提供します。 これはまた、動的リンクにも使用可能です。 これは完全なシンボルテーブルであるため、 動的リンクのためには不必要な多くのシンボルを含む場合があります。 オブジェクトファイルは、 .Sy SHN_DYNSYM セクションも含むことができます。 .It Dv SHT_STRTAB このセクションは、文字列テーブルを持ちます。 オブジェクトファイルは、複数の文字列テーブルセクションを持ち得ます。 .It Dv SHT_RELA このセクションは、明示的な加数を持つ、再配置エントリを持ちます。 例えば、オブジェクトファイルの 32 ビットクラスのタイプ .Sy Elf32_Rela が該当します。 オブジェクトは、複数の再配置セクションを持ち得ます。 .It Dv SHT_HASH このセクションは、シンボルハッシュテーブルを持ちます。 動的リンクに関連する全オブジェクトは、 シンボルハッシュテーブルを含む必要があります。 オブジェクトファイルは、単一のハッシュテーブルのみを持ち得ます。 .It Dv SHT_DYNAMIC このセクションは、動的リンクのために情報を持ちます。 オブジェクトファイルは、単一の動的セクションのみを持ち得ます。 .It Dv SHT_NOTE このセクションは、いくばくかの方法でファイルに印をする情報を持ちます。 .It Dv SHT_NOBITS このタイプのセクションは、ファイル中の空間を占有しませんが、 .Sy SHN_PROGBITS に似ています。 このセクションはバイトを含みませんが、 .Sy sh_offset メンバは概念上のファイルオフセットを含みます。 .It Dv SHT_REL このセクションは、明示的な加数無しの再配置オフセットを持ちます。 例えば、オブジェクトファイルの 32 ビットクラスのタイプ .Sy Elf32_Rel が該当します。 オブジェクトファイルは、複数の再配置セクションを持ち得ます。 .It Dv SHT_SHLIB このセクションは、予約されており、明記されていないセマンティクスを持ちます。 .It Dv SHT_DYNSYM このセクションは、動的リンクシンボルの最小のセットを持ちます。 オブジェクトファイルは、 .Sy SHN_SYMTAB セクションも含むことができます。 .It Dv SHT_LOPROC この値から .Sy SHT_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHT_HIPROC この値から .Sy SHT_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHT_LOUSER この値は、アプリケーションプログラムのために予約されている インデックス範囲の下限を指定します。 .It Dv SHT_HIUSER この値は、アプリケーションプログラムのために予約されている インデックス範囲の上限を指定します。 .Sy SHT_LOUSER と .Sy SHT_HIUSER の間のセクションタイプは、 アプリケーションによって使用可能であり、 現在または将来のシステム定義セクションタイプと衝突しません。 .El .Pp .It Dv sh_flags セクションは、雑多な属性を記述する 1 ビットフラグをサポートします。 フラグビットが .Sy sh_flags でセットされるならば、そのセクションの属性は .Dq オン になります。 そうでなければ、属性は .Dq オフ であるか、あてはまりません。 未定義属性は、0 にセットされます。 .Pp .Bl -tag -width "SHF_EXECINSTR" -compact .It Dv SHF_WRITE セクションは、プロセス実行の間、書き込み可能であるべきデータを含みます。 .It Dv SHF_ALLOC セクションは、プロセス実行の間、メモリを占有します。 制御セクションには、 オブジェクトファイルのメモリイメージで存在しないものがあります。 そのようなセクションでは、この属性はオフです。 .It Dv SHF_EXECINSTR セクションは、実行可能な機械語命令を含みます。 .It Dv SHF_MASKPROC このマスクで含まれる全てのビットは、 プロセッサ固有のセマンティクスのために確保されます。 .El .Pp .It Dv sh_addr セクションがプロセスのメモリイメージに現れる場合、 このメンバは、セクションの最初のバイトが存在するアドレスを持ちます。 そうでない場合、このメンバは 0 を含みます。 .It Dv sh_offset このメンバ値は、 このセクションの、ファイル先頭からのバイトオフセットを与えます。 1 つのセクションタイプ、すなわち .Sy SHT_NOBITS は、ファイル中の空間を占有せず、 その .Sy sh_offset メンバは、ファイル中の概念上の位置を指定します。 .It Dv sh_size このメンバは、セクションのバイトでの大きさを持ちます。 セクションタイプが .Sy SHT_NOBITS でない限り、セクションはファイル中の .Sy sh_size バイトを占有します。 タイプ .Sy SHT_NOBITS のセクションは 0 以外の大きさを持ち得ますが、 ファイル中の空間を占有しません。 .It Dv sh_link このメンバは、 セクションヘッダテーブルインデックスリンクを持ちます。 この解釈は、セクションタイプ依存です。 .It Dv sh_info このメンバは、 追加情報を持ちます。 この解釈は、セクションタイプ依存です。 .It Dv sh_addralign 若干のセクションには、アドレス境界の制約があります。 セクションがダブルワードを持つならば、 システムはダブルワード境界を セクション全体に保証する必要があります。 .Sy sh_addr の値は、 .Sy sh_addralign で割った値が 0 となることが必要です。 '\" ここよくわからん。 0 と正の 2 の羃乗だけが許されます。0 または 1 の値は、 セクションには境界の制約がないことを意味します。 .It Dv sh_entsize 若干のセクションは、 固定長エントリのテーブルを持ちます。 例えばシンボルテーブルがこれに該当します。 そのようなセクションのために、 このメンバは、各エントリのバイトでの大きさを与えます。 セクションが固定サイズのエントリのテーブルを持たないならば、 このメンバは 0 を含みます。 .El .Pp 様々なセクションが、プログラムと制御情報を持ちます: .Bl -tag -width ".shstrtab" -compact .It .bss このセクションは初期化されないデータを持ち、 プログラムのメモリイメージになります。 定義では、 プログラム開始時にシステムがデータを 0 初期化します。 このセクションは、タイプ .Sy SHT_NOBITS です。 属性タイプは、 .Sy SHF_ALLOC と .Sy SHF_WRITE です。 .It .comment このセクションは、バージョン制御情報を持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは使われません。 .It .data このセクションは初期化されたデータを持ち、 プログラムのメモリイメージになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは、 .Sy SHF_ALLOC と .Sy SHF_WRITE です。 .It .data1 このセクションは初期化されたデータを持ち、 プログラムのメモリイメージになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは、 .Sy SHF_ALLOC と .Sy SHF_WRITE です。 .It .debug このセクションは、シンボリックデバッギングのための情報を持ちます。 内容は、明記されていません。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは使われません。 .It .dynamic このセクションは、動的リンク情報を持ちます。 セクションの属性は、 .Sy SHF_ALLOC ビットを含みます。 .Sy SHF_WRITE ビットがセットされるか否かは、プロセッサ依存です。 このセクションは、タイプ .Sy SHT_DYNAMIC です。 上の属性を見てください。 .It .dynstr このセクションは、動的リンクのために必要とされる文字列を持ちます。 そして一般には、名前を表現する文字列であり、 シンボルテーブルエントリと結び付けられています。 このセクションは、タイプ .Sy SHT_STRTAB です。 使われる属性タイプは、 .Sy SHF_ALLOC です。 .It .dynsym このセクションは、動的リンクシンボルテーブルを持ちます。 このセクションは、タイプ .Sy SHT_DYNSYM です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .fini このセクションは、プロセス終了コードの実行可能命令を持ちます。 プログラムの正常終了時に、 システムはこのセクションのコードを実行します。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC と .Sy SHF_EXECINSTR です。 .It .got このセクションは、グローバルオフセットテーブルを持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性は、プロセッサ依存です。 .It .hash このセクションは、シンボルハッシュテーブルを持ちます。 このセクションは、タイプ .Sy SHT_HASH です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .init このセクションは、プロセス初期化コードの実行可能命令を持ちます。 プログラム実行開始時に、 メインプログラムエントリポイントを呼び出す前に、 システムはこのセクションのコードを実行します。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC と .Sy SHF_EXECINSTR です。 .It .interp このセクションは、プログラムインタプリタのパス名を持ちます。 ファイルがこのセクションを含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 このセクションは、タイプ .Sy SHT_PROGBITS です。 .It .line このセクションはシンボリックデバッギングのために行番号情報を持ちます。 これは、プログラムソースとマシンコードの間の関係を記述します。 内容は、明記されていません。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは使われません。 .It .note このセクションは、下で記述される .Dq Note Section フォーマットで、情報を持ちます。 このセクションは、タイプ .Sy SHT_NOTE です。 属性タイプは使われません。 .It .plt このセクションは、プロシージャリンケージテーブルを持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性はプロセッサ依存です。 .It .relNAME このセクションは、下記のように再配置情報を持ちます。 ファイルが再配置を含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 規約により、再配置されるセクションから .Dq NAME が与えられます。 .Sy .text のための再配置セクションは、通常名前 .Sy .rel.text を持ちます。 このセクションは、タイプ .Sy SHT_REL です。 .It .relaNAME このセクションは、下記のように再配置情報を持ちます。 ファイルが再配置を含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 規約により、再配置されるセクションから .Dq NAME が与えられます。 .Sy .text のための再配置セクションは、通常名前 .Sy .rela.text を持ちます。 このセクションは、タイプ .Sy SHT_RELA です。 .It .rodata このセクションは読み取り専用データを持ち、 典型的にはプロセスイメージの書き込み不可セグメントになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .rodata1 このセクションは読み取り専用データを持ち、 典型的にはプロセスイメージの書き込み不可セグメントになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .shstrtab このセクションはセクション名を持ちます。 このセクションは、タイプ .Sy SHT_STRTAB です。 属性タイプは使われません。 .It .strtab このセクションは文字列を持ちます。 一般的には名前を表示する文字列であり、 シンボルテーブルエントリと結び付けられています。 ファイルがシンボル文字列テーブルを含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 このセクションは、タイプ .Sy SHT_STRTAB です。 .It .symtab このセクションは、シンボルテーブルを持ちます。 ファイルがシンボルテーブルを含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 このセクションは、タイプ .Sy SHT_SYMTAB です。 .It .text このセクションは、プログラムの .Dq テキスト 、すなわち実行可能命令を持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC と .Sy SHF_EXECINSTR です。 .El .Pp 文字列テーブルセクションは、ナル文字で終わる文字シーケンス群を持ちます。 これらは、一般に文字列と呼ばれます。 オブジェクトファイルは、 シンボルとセクション名を表現するためにこれらの文字列を使います。 文字列テーブルセクションのインデックスとして、文字列を参照します。 最初のバイト (インデックス 0) は、 単一のナル文字を持つと定義されます。 同様に、文字列テーブルの最終バイトはナル文字であると定義されので、 文字列全体がナル終端されていることを保証します。 .Pp オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照の位置決定に必要な情報を保持します。 シンボルテーブルインデックスは、この配列の添字です。 .Pp .Bd -literal -offset indent typedef struct { Elf32_Word st_name; Elf32_Addr st_value; Elf32_Size st_size; unsigned char st_info; unsigned char st_other; Elf32_Half st_shndx; } Elf32_Sym; .Ed .Pp .Bd -literal -offset indent typedef struct { Elf64_Half st_name; unsigned char st_info; unsigned char st_other; Elf64_Quarter st_shndx; Elf64_Addr st_value; Elf64_Size st_size; } Elf64_Sym; .Ed .Pp .Bl -tag -width "st_value" -compact .It Dv st_name このメンバは、オブジェクトファイルの シンボル文字列テーブルへのインデックスを持ちます。 シンボル文字列テーブルは、シンボル名の文字表現を持ちます。 値が 0 以外であるならば、 それはシンボル名を与える文字列テーブルインデックスを示します。 そうでない場合、シンボルテーブルには名前がありません。 .It Dv st_value このメンバは、関連したシンボルの値を与えます。 .It Dv st_size 多くのシンボルは、関連した大きさを持ちます。 シンボルには大きさが無いか未知である場合、このメンバは 0 です。 .It Dv st_info このメンバは、シンボルのタイプと束縛属性を指定します: .Pp .Bl -tag -width "STT_SECTION" -compact .It Dv STT_NOTYPE シンボルのタイプは、定義されません。 .It Dv STT_OBJECT シンボルは、データオブジェクトと結び付けられています。 .It Dv STT_FUNC シンボルは、関数または他の実行可能コードと結び付けられています。 .It Dv STT_SECTION シンボルは、セクションと結び付けられています。 このタイプのシンボルテーブルエントリは、 主に再配置のために存在して、通常 .Sy STB_LOCAL 束縛を持ちます。 .It Dv STT_FILE 規約により、シンボルの名前は、 オブジェクトファイルと関連するソースファイルの名前を与えます。 存在する場合、ファイルシンボルは .Sy STB_LOCAL 束縛を持ち、そのセクションインデックスは .Sy SHN_ABS であり、 それはファイルの他の .Sy STB_LOCAL シンボルに先行します。 .It Dv STT_LOPROC この値から .Sy STT_HIPROC 以下は、プロセッサに固有のセマンティクスのために予約されています。 .It Dv STT_HIPROC この値から .Sy STT_LOPROC 以上は、プロセッサに固有のセマンティクスのために予約されています。 .El .Pp .Bl -tag -width "STB_GLOBAL" -compact .It Dv STB_LOCAL ローカルなシンボルは、 それらの定義を含んでいるオブジェクトファイルの外側には、見えません。 同じ名前のローカルなシンボルは、 お互いのじゃまをすることなく複数ファイルで存在し得ます。 .It Dv STB_GLOBAL グローバルシンボルは、結合されている全てのオブジェクトファイルから見えます。 あるファイルによるグローバルシンボルの定義は、 別ファイルの同じシンボルの未定義参照を満足させます。 .It Dv STB_WEAK 弱いシンボルはグローバルシンボルに似ています。 しかし、彼らの定義は低い優先順位を持ちます。 .It Dv STB_LOPROC この値から .Sy STB_HIPROC 以下は、プロセッサに固有のセマンティクスのために予約されています。 .It Dv STB_HIPROC この値から .Sy STB_LOPROC 以上は、プロセッサに固有のセマンティクスのために予約されています。 .Pp 束縛とタイプフィールドのパックおよびアンパック用のマクロがあります: .Pp .Bl -tag -width "ELF32_ST_INFO(bind, type)" -compact .It Xo .Fn ELF32_ST_BIND info .Xc または .Fn ELF64_ST_BIND info は、束縛を st_info 値から引出します。 .It Xo .Fn ELF64_ST_TYPE info .Xc または .Fn ELF32_ST_TYPE info は、タイプを st_info 値から引出します。 .It Xo .Fn ELF32_ST_INFO bind type .Xc または .Fn ELF64_ST_INFO bind type は、束縛とタイプを st_info 値へ変換します。 .El .El .Pp .It Dv st_other このメンバは、現在 0 を持ち、定義された意味を持ちません。 .It Dv st_shndx あらゆるシンボルテーブルエントリは、 なんらかの動作に関して .Dq 定義されています 。 このメンバは、関連するセクションヘッダテーブルインデックスを持ちます。 .El .Pp 再配置は、シンボル参照とシンボル定義を接続する処理です。 再配置可能なファイルは、それらのセクション内容の 修正方法を記述する情報を持つ必要があります。 このようにして、実行可能ファイルと共有オブジェクトファイルが、 プロセスのプログラムイメージのための正しい情報を持てます。 再配置エントリは、これらのデータです。 .Pp 加数を必要としない再配置構造体: .Pp .Bd -literal -offset indent typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; } Elf32_Rel; .Ed .Bd -literal -offset indent typedef struct { Elf64_Addr r_offset; Elf64_Size r_info; } Elf64_Rel; .Ed .Pp 加数を必要とする再配置構造体: .Pp .Bd -literal -offset indent typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; Elf32_Sword r_addend; } Elf32_Rela; .Ed .Bd -literal -offset indent typedef struct { Elf64_Addr r_offset; Elf64_Size r_info; Elf64_Off r_addend; } Elf64_Rela; .Ed .Pp .Bl -tag -width "r_offset" -compact .It Dv r_offset このメンバは、再配置動作を適用する場所を与えます。 再配置可能なファイルでは、 値は、再配置によって影響を受ける記憶単位の セクション先頭からのバイトオフセットです。 実行可能ファイルまたは共用オブジェクトでは、 値は、再配置によって影響を受ける記憶単位の仮想アドレスです。 .It Dv r_info このメンバは、 再配置されるシンボルテーブルインデックスと、 使用する再配置のタイプを与えます。 再配置タイプは、プロセッサ依存です。 テキストが再配置エントリの再配置タイプまたは シンボルテーブルインデックスを参照するとき、 エントリの .Sy r_info メンバに対し、それぞれ .Sy ELF_[32|64]_R_TYPE または .Sy ELF[32|64]_R_SYM を適用する結果を意味しています。 .It Dv r_addend このメンバは、定数の加数を指定します。 これは、再配置可能なフィールドに 格納される値を計算するために使用されます。 .El .Sh 関連項目 .Xr as 1 , .Xr gdb 1 , .Xr ld 1 , .Xr objdump 1 , .Xr execve 2 , .Xr core 5 .Rs .%A Hewlett Packard .%B Elf-64 Object File Format .Re .Rs .%A Santa Cruz Operation .%B System V Application Binary Interface .Re .Rs .%A Unix System Laboratories .%T Object Files .%B "Executable and Linking Format (ELF)" .Re .Sh 歴史 ELF ヘッダファイルは、 .Fx 2.2.6 で登場しました。 ELF 自身は、最初に .At V で登場しました。 ELF フォーマットは、標準として採用されています。 .Sh 作者 このマニュアルページは、BSDi の BSD/OS .Xr elf 5 のマニュアルページに触発されて、 .An Jeroen Ruigrok van der Werven .Aq asmodai@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man5/make.conf.5 b/ja_JP.eucJP/man/man5/make.conf.5 index 797491e8da..ccf367e517 100644 --- a/ja_JP.eucJP/man/man5/make.conf.5 +++ b/ja_JP.eucJP/man/man5/make.conf.5 @@ -1,766 +1,769 @@ .\" Copyright (c) 2000 .\" Mike W. Meyer .\" .\" 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. .\" -.\" %FreeBSD: src/share/man/man5/make.conf.5,v 1.12.2.3 2001/06/03 00:00:29 sobomax Exp % +.\" %FreeBSD: src/share/man/man5/make.conf.5,v 1.12.2.4 2001/07/09 13:49:55 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/make.conf.5,v 1.5 2001/05/26 02:41:02 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man5/make.conf.5,v 1.6 2001/07/12 00:16:02 horikawa Exp $ .\" .Dd November 3, 2000 .Dt MAKE.CONF 5 .Os .Sh 名称 .Nm make.conf .Nd システムビルド情報 .Sh 解説 .Nm ファイルには .Fx のソースや ports アプリケーションの制御に関する設定が含まれています。 通常 .Nm ファイルは、システム管理者が、 これらの値をデフォルトから変更したい場合に作成します。 .Pp .Nm の用途は、コマンド実行やコンパイル動作を直接行うことではなく、 .Pa /usr/src , .Pa /usr/ports , .Pa /usr/doc などにある様々な makefile にインクルードされることです。 そのような makefile では、 内部の動作が .Nm の与える条件によって変化するようになっているのです。 .Pp .Pa /etc/make.conf ファイルはそれぞれ適切な .Pa Makefile からインクルードされます。 各々の Makefile の中では、 利用可能なすべてのオプションに対し、デフォルトの設定が与えられています。 .Pa /etc/make.conf で指定する必要があるオプションは、 システム管理者がデフォルトから変更したいと思ったものだけです。 .Pp ビルドの手続きは、大きく 4 つの領域に分けられます。 world、カーネル、ドキュメント、ports です。 .Nm で設定された変数はこれらの領域の 1 つ、2 つ、 あるいは全てに適用されます。 変数は、特定のビルドに対して .Xr make 1 の .Fl D オプションを用いて指定することもできます。 .Pp 以下のリストでは、それぞれ指定したビルドの途中で用いることのできる 各変数の名前と簡単な説明を記述します。 .Vt bool と指定されている変数では、その値は意味を持ちません。 変数が設定されていれば (たとえ値が .Dq Li FALSE や .Dq Li NO でも)、変数が設定されているものとして扱われます。 .Pp 次のリストは、すべてのビルド (あるいはビルド以外の目的で使われる .Pa Makefile ) で用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va CFLAGS .Qt Vt str C のコードをコンパイルするときのコンパイラの設定を制御します。 .Op Fl O を越えた最適化レベル .Pq Op Fl O2 , No ...\& はサポートされていません。 .Va BDECFLAGS は、 .An "Bruce Evans" Aq bde@FreeBSD.org が開発や変更のテスト用に勧めている .Xr gcc 1 設定です。 これは以下のように使用可能です。 .Pp .Bd -literal -offset indent CXFLAGS+=${BDECFLAGS} .Ed .It Va CVS_UPDATE .Qt Vt bool .Dq Li "make update" で ports を更新するときに .Xr cvs 1 を用いる場合、設定します。 .It Va CXXFLAGS .Qt Vt str C++ のコードをコンパイルするときのコンパイラの設定を制御します。 .Va CXXFLAGS は最初は .Va CFLAGS の値に設定されます。この .Va CXXFLAGS の値に追加を行いたい場合は、 .Dq Li = ではなく .Dq Li += を用いてください。 .It Va INSTALL .Qt Vt str デフォルトのインストールコマンドです。 インストールを行う前に比較を行いたい場合は、次の例を用いてください。 .Bd -literal -offset indent INSTALL="install -C" .Ed .It Va LOCAL_DIRS .Qt Vt str この変数には .Pa /usr/src で make を行うときに入るべきディレクトリをすべてリストします。 .It Va MTREE_FOLLOWS_SYMLINKS .Qt Vt str .Xr mtree 8 にシンボリックリンクを追跡させたい場合は、 これを .Dq Fl L に設定します。 .It Va NO_DOCUPDATE .Qt Vt bool .Dq Li "make update" で doc ツリーを更新させない場合これを設定します。 .It Va NO_PORTSUPDATE .Qt Vt bool .Dq Li "make update" で ports ツリーを更新させない場合これを設定します。 .It Va SUP_UPDATE .Qt Vt bool .Dq Li "make update" による ports の更新に .Xr cvsup 1 を使う場合これを設定します。 .It Va SUP .Qt Vt str .Dq Li "make update" で用いられる .Xr cvsup 1 コマンドの置き場所です。 .It Va SUPFLAGS .Qt Vt str .Dq Li "make update" を行うとき .Xr sup 1 に与えるフラグ。デフォルトは .Op Fl g L Ar 2 です。 .It Va SUPHOST .Qt Vt str .Dq Li "make update" を行うときに用いる sup サーバのホスト名です。 .It Va SUPFILE .Qt Vt str .Dq Li "make update" を行うとき、最初に用いる .Ar supfile です。デフォルトは .Pa /usr/share/examples/cvsup/standard\-supfile です。 .It Va SUPFILE1 .Qt Vt str .Dq Li "make update" を行うとき、二番目に用いる .Ar supfile です。デフォルトは .Pa /usr/share/examples/cvsup/secure\-supfile です。 .It Va SUPFILE2 .Qt Vt str .Dq Li "make update" を行うとき、三番目に用いる .Ar supfile です。デフォルトは .Pa /usr/share/examples/cvsup/secure\-supfile です。 .It Va PORTSSUPFILE .Qt Vt str .Dq Li "make update" を行うときの ports 用の .Ar supfile です。デフォルトは .Pa /usr/share/examples/cvsup/ports\-supfile です。 .It Va DOCSUPFILE .Qt Vt str .Dq Li "make update" を行うときのドキュメント用の .Ar supfile です。デフォルトは .Pa /usr/share/examples/cvsup/doc\-supfile です。 .El .Pp 次のリストは、カーネルのビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va BOOT_COMCONSOLE_PORT .Qt Vt str ブートブロックが、 キーボード/ビデオカードの代わりに シリアルコンソールを用いるよう設定された場合に、 コンソールとして用いるポートアドレスです。 .It Va BOOT_COMCONSOLE_SPEED .Qt Vt int ブートブロックが、 キーボード/ビデオカードの代わりに シリアルコンソールを用いるよう設定された場合に、 コンソールで用いるボーレートです。 .It Va BOOTWAIT .Qt Vt int カーネルがデフォルトカーネルのブートを開始する前に、 コンソールのキーが押されるのを待つ時間を制御します。 値はだいたいミリ秒単位となります。 ディスクからブートする前のキー入力の認識は BIOS が行うので、 これが 0 に設定されていた場合でも、 ユーザの選択したブートパラメータを与えることは可能です。 .It Va COPTFLAGS .Qt Vt str カーネルをコンパイルするときのコンパイラの設定を制御します。 .Op Fl O を越えた最適化レベル .Pq Op Fl O2 , No ...\& はサポートされていません。 .It Va KERNEL .Qt Vt str .Dq Li "${MAKE} buildkernel" によるビルドと .Dq Li "${MAKE} installkernel" . によるインストールとで、 どのカーネル設定を用いるかを制御します。例えば .Bd -literal -offset indent KERNEL=MINE DEBUG GENERIC OTHERMACHINE .Ed .Pp とすると、 .Pa MINE , DEBUG , GENERIC , OTHERMACHINE といった各設定ファイルに対応するカーネルをビルドし、 .Pa MIME に対応するカーネルをインストールします。 デフォルトは .Pa GENERIC です。 .It Va NO_KERNELCONFIG .Qt Vt bool .Dq Li "${MAKE} buildkernel" の際に .Xr config 8 を実行しない場合には、これを設定します。 .It Va NO_KERNELDEPEND .Qt Vt bool .Dq Li "${MAKE} buildkernel" の際に .Dq Li "${MAKE} depend" を実行しない場合には、これを設定します。 .It Va NO_MODULES .Qt Vt bool カーネルといっしょにモジュールをビルドしない場合に設定します。 .El .Pp 次のリストは、world のビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va COMPAT1X .Qt Vt bool .Fx 1 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT20 .Qt Vt bool .Fx 2.0 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT21 .Qt Vt bool .Fx 2.1 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT22 .Qt Vt bool .Fx 2.2 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT3X .Qt Vt bool .Fx 3 互換ライブラリをインストールする場合に設定します。 .It Va ENABLE_SUIDPERL .Qt Vt bool suid .Xr perl 1 バイナリのインストールを行う場合に設定します。 .It Va FETCH_CMD .Qt Vt str ファイルの取得に用いるコマンドです。 通常は .Xr fetch 1 です。 .It Va MAKE_IDEA .Qt Vt bool IDEA 暗号化コードをビルドする場合に設定します。 このコードは米国やヨーロッパの多くの国々で特許が取得されています。 合法的に IDEA を使えるかどうか決めるのは .Em あなたの責任 です。 .It Va MAKE_KERBEROS4 .Qt Vt bool KerverosIV (KTH eBones) をビルドする場合に設定します。 .It Va MAKE_KERBEROS5 .Qt Vt bool Kerveros5 (KTH Heimdal) をビルドする場合に設定します。 .Em 注意! これはまだ実験的なコードです。 安定している Kerberos5 が必要ならば、 ports を用いてください。 .It Va MODULES_WITH_WORLD .Qt Vt bool カーネルと同時にではなく、 システムと同時にモジュールをビルドする場合に設定します。 .It Va NO_CVS .Qt Vt bool CVS をビルドしない場合に設定します。 .It Va NO_BIND .Qt Vt bool BIND をビルドしない場合に設定します。 .It Va NO_FORTRAN .Qt Vt bool .Xr g77 1 と関連ライブラリをビルドしない場合に設定します。 +.It Va NO_I4B +.Pq Vt bool +isdn4bsd パッケージをビルドしない場合に設定します。 .It Va NO_LPR .Qt Vt bool .Xr lpr 1 と関連プログラムをビルドしない場合に設定します。 .It Va NO_MAILWRAPPER .Qt Vt bool MTA セレクタである .Xr mailwrapper 8 をビルドしない場合に設定します。 .It Va NO_MAKEDEV .Qt Vt bool インストールの際に .Pa /dev で .Dq Li "MAKEDEV all" を実行しない場合に設定します。 .It Va NO_OBJC .Qt Vt bool Objective C のサポートをビルドしない場合に設定します。 .It Va NO_OPENSSH .Qt Vt bool OpenSSH をビルドしない場合に設定します。 .It Va NO_OPENSSL .Qt Vt bool OpenSSL をビルドしない場合に設定します (同時に .Va NO_OPENSSH も設定されたことになります)。 .It Va NO_SENDMAIL .Qt Vt bool .Xr sendmail 8 と関連プログラムをビルドしない場合に設定します。 .It Va NO_SHAREDOCS .Qt Vt bool .Bx 4.4 の古い文書をビルドしない場合に設定します。 .It Va NO_TCSH .Qt Vt bool .Pa /bin/csh (これは .Xr tcsh 1 です) をビルド・インストールしない場合に設定します。 .It Va NO_X .Qt Vt bool X\-Windows のサポート (例えば .Xr doscmd 1 など) をコンパイルしない場合に設定します。 .It Va NOCLEAN .Qt Vt bool .Dq Li "make buildworld" の途中で clean を行わない場合に設定します。 何をやっているかわからない人は設定すべきではありません。 .It Va NOCLEANDIR .Qt Vt bool .Dq Li "${MAKE} cleandir" の代わりに .Dq Li "${MAKE} clean" を実行する場合に設定します。 .It Va NOCRYPT .Qt Vt bool crypto コードを一切ビルドしない場合に設定します。 .It Va NOGAMES .Qt Vt bool ゲームをビルドしない場合に設定します。 .It Va NOINFO .Qt Vt bool .Xr info 5 各ファイルを作成・インストールしない場合に設定します。 .It Va NOLIBC_R .Qt Vt bool .Nm libc_r .Pf ( Nm libc のリエントラント版) をビルドしない場合に設定します。 .It Va NOMANCOMPRESS .Qt Vt bool man ページのインストールの際に圧縮を行わない場合に設定します。 .It Va NOPERL .Qt Vt bool .Xr perl 1 をビルドしない場合に設定します。 .It Va NOPROFILE .Qt Vt bool profile 版ライブラリをコンパイルしない場合に設定します。 .It Va NOSECURE .Qt Vt bool .Pa secure サブディレクトリで crypto コードをビルドしない場合に設定します。 .It Va NOSHARE .Qt Vt bool .Pa share サブディレクトリをビルドしない場合に設定します。 .It Va NOUUCP .Qt Vt bool .Xr uucp 1 と関連プログラムをビルドしない場合に設定します。 .It Va PERL_THREADED .Qt Vt bool .Xr perl 1 をスレッドサポート機能込みでビルド・インストールする場合に設定します。 .It Va PPP_NOSUID .Qt Vt bool .Xr ppp 8 を suid root プログラムとしてはインストールしない場合に設定します。 .It Va SENDMAIL_MC .Qt Vt str インストール時に用いるデフォルトの m4 設定ファイルです。 この値には .mc ファイルのフルパスを与えます。例えば .Pa /etc/mail/myconfig.mc 。 make install すると、既存の .Pa /etc/mail/sendmail.cf を上書きしてしまうので、注意して使ってください。 .Va SENDMAIL_CF はもう推奨されなくなりました。 .It Va SENDMAIL_ADDITIONAL_MC .Qt Vt str ビルド時に .cf ファイルに変換される追加分の .mc ファイル (複数指定可) です。 値には、これらの .mc ファイルへのフルパスを与えます。 例えば .Pa /etc/mail/foo.mc .Pa /etc/mail/bar.mc など。 .It Va SENDMAIL_CFLAGS .Qt Vt str .Xr sendmail 8 をビルドするときにコンパイルコマンドに渡すフラグです。 .Va SENDMAIL_* 各フラグを用いれば、 SASL サポートをその設定と共に指定できます。 例えば次のようにします。 .Bd -literal -offset indent SENDMAIL_CFLAGS=-I/usr/local/include -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl .Ed .It Va SENDMAIL_LDFLAGS .Qt Vt str .Xr sendmail 8 をビルドするときに .Xr ld 1 コマンドに渡すフラグです。 .It Va SENDMAIL_LDADD .Qt Vt str .Xr sendmail 8 をビルドするときに .Xr ld 1 コマンドの末尾に追加するフラグです。 .It Va SENDMAIL_DPADD .Qt Vt str この変数の説明は与えられていません。 .El .Pp 次のリストは、ドキュメントのビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va DISTDIR .Qt Vt str distfiles が保存されている場所です。 通常これは .Va PORTSDIR の .Pa distfiles です。 .It Va DOC_LANG .Qt Vt str ビルド・インストール対象の言語とエンコーディングのリストです。 .It Va PRINTERDEVICE .Qt Vt str システム文書のデフォルトのフォーマットです。 プリンタに依存します。 簡単なプリンタなら .Dq Li ascii に、PostScript プリンタや グラフィックスプリンタ + ghostscript フィルタなら .Dq Li ps に設定できます。 .El .Pp 次のリストは、ports のビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va FORCE_PKG_RESIDENT .Qt Vt bool 既存の package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) の登録情報を上書きする場合に設定します。 .It Va HAVE_MOTIF .Qt Vt bool システムに Motif がある場合に設定します。 .It Va KRB5_HOME .Qt Vt str MIT Kerberos5 の port を .Pa /usr/local 以外にインストールしたい場合に設定します。 .\"translator: "ports" で固有単語とみなすべき? .It Va LOCALBASE .Qt Vt str X 以外の ports をインストールする際のベースディレクトリを与えます。 これは .Pa /usr/ports でビルドを行う際に .Va PREFIX にデフォルト値として与えられます。 .It Va MASTER_SITE_AFTERSTEP .Qt Vt str AfterStep の ports のマスタサイトを変更します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_BACKUP .Qt Vt str .Pa Makefile にリストされている場所が使えない場合、 ports が distfile をチェックしに行く場所を制御します。 パスの最後の部分は .Dq Li /${DIST_SUBDIR}/ でなければなりません。 .It Va MASTER_SITE_COMP_SOURCES .Qt Vt str .Pa comp.sources ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_GNOME .Qt Vt str GNOME ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_GNU .Qt Vt str GNU ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_KDE .Qt Vt str KDE ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_FREEBSD .Qt Vt bool 設定されていると、すべてのファイルをマスタの .Fx サイトから取得します。 .It Va MASTER_SITE_MOZILLA .Qt Vt str Mozilla ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li %SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_OVERRIDE .Qt Vt str 設定されていると、ports の .Pa Makefile にリストされているサイトよりも先に、このサイトをチェックしに行きます。 次のようにすればバックアップサイトを先にチェックさせることができます。 .Bd -literal -offset indent MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP} .Ed .It Va MASTER_SITE_PERL_CPAN .Qt Vt str Perl ports のマスタサイトの場所を制御します。 パスの最後の部分は .\".Bd -literal -offset indent .\" /%SUBDIR%/ .\".Ed .Dq Li /%SUBDIR%/ でなければなりません。 .\"translator: ここの .Bd .Ed はコメントアウトしました。 .It Va MASTER_SORT_REGEX .Qt Vt str ミラーセットのソート順を制御する場合に設定します。 .Pa .jp ドメインのミラーを優先的に用いたければ、以下のような設定をします。 .Bd -literal -offset indent MASTER_SORT_REGEX?= ^file: ^ftp://ftp\.FreeBSD\.org/pub/FreeBSD/ports/local-distfiles/ ://[^/]*\.jp/ ://[^/]*\.jp\. .Ed .Pp 他の国別 TLD ドメインのユーザは、 .Dq Li jp を適切なドメインに変更してください。 .It Va MASTER_SITE_RINGSERVER .Qt Vt str Ringserver ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_RUBY .Qt Vt str Ruby ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_SUNSITE .Qt Vt str Sunsite ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_TCLTK .Qt Vt str Tcl/Tk ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_TEX_CTAN .Qt Vt str TeX ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_WINDOWMAKER .Qt Vt str WindowMaker ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_XCONTRIB .Qt Vt str X contrib の ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_XEMACS .Qt Vt str Xemacs ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MASTER_SITE_XFREE .Qt Vt str XFree ports のマスタサイトの場所を制御します。 パスの最後の部分は .Dq Li /%SUBDIR%/ でなければなりません。 .It Va MOTIFLIB .Qt Vt str .Pa libXm.a と .Pa libXm.so の場所です。 .It Va MOTIF_STATIC .Qt Vt bool Motif を用いる ports を、Motif の共有ライブラリを持たない システム上でも実行させたい場合に設定します。 .It Va NOCLEANDEPENDS .Qt Vt bool .Dq Li "make clean" によって clean される他の ports から依存されている ports を clean したくない場合に設定します。 .It Va NOPORTDOCS .Qt Vt bool ports と同時に追加ドキュメントをインストールしない場合に設定します。 .It Va PACKAGES .Qt Vt str package ターゲットのみに用いられます。 package ツリーのディレクトリです。 .It Va PATCH_SITES .Qt Vt str パッチファイルの配布をしている一次サイトの場所です。 .It Va PORTSDIR .Qt Vt str ports ツリーの場所です。 .It Va USA_RESIDENT .Qt Vt bool 米国居住者は設定してください。 設定すると、米国輸出規制に従う必要がある ports が、 この規制に従うようになります。 .It Va WITHOUT_X11 .Pq Vt bool 設定すると、X11 サポート有り無しの両方で構築可能な ports を、 デフォルトで X11 サポート無しで構築するようにします。 .It Va WRKDIRPREFIX .Qt Vt str ports をビルドする際に用いる一時ファイルを作成する場所です。 .It Va X11BASE .Qt Vt str X11 ディストリビューションを .Pa /usr/X11R6 以外の場所にインストールしたい場合、その場所を設定します。 .El .Sh 関連ファイル .Bl -tag -width /etc/defaults/make.conf -compact .It Pa /etc/defaults/make.conf .It Pa /etc/make.conf .It Pa /usr/doc/Makefile .It Pa /usr/src/Makefile .It Pa /usr/src/Makefile.inc1 .It Pa /usr/ports/Mk/bsd.port.mk .It Pa /usr/ports/Mk/bsd.sites.mk .El .Sh 関連項目 .Xr gcc 1 , .Xr install 1 , .Xr lpd 8 , .Xr make 1 , .Xr ports 7 , .Xr sendmail 8 .Sh 歴史 .Nm ファイルは .Fx 4.0 以前のいつかに登場しました。 .Sh 作者 このマニュアルページは .An "Mike W. Meyer" Aq mwm@mired.org が書きました。 .Sh バグ このマニュアルページは現在の .Nm で利用できるオプションに比べると、 古くなることが時々あるかもしれません。 現在利用できる最新のオプションについては、 .Pa /etc/defaults/make.conf ファイルを調べてください。 diff --git a/ja_JP.eucJP/man/man7/security.7 b/ja_JP.eucJP/man/man7/security.7 index 3e4c992ee7..355eb0fd04 100644 --- a/ja_JP.eucJP/man/man7/security.7 +++ b/ja_JP.eucJP/man/man7/security.7 @@ -1,784 +1,784 @@ .\" 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. .\" -.\" %FreeBSD: src/share/man/man7/security.7,v 1.13.2.3 2001/03/06 19:08:20 ru Exp % +.\" %FreeBSD: src/share/man/man7/security.7,v 1.13.2.4 2001/07/19 06:07:28 dd Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man7/security.7,v 1.14 2001/05/14 01:09:43 horikawa Exp $ .Dd September 18, 1999 .Dt SECURITY 7 .Os FreeBSD .Sh 名称 .Nm security .Nd FreeBSD におけるセキュリティ入門 .Sh 解説 .Pp セキュリティは、システム管理者とともに始まり、システム管理者と ともに終る機能です。 .Bx マルチユーザシステムは、昔ながらのセキュリティをいくらかは備えて いますが、さらなるセキュリティ機構を組み込んで維持していくことで、ユーザを .Sq 正直に し続ける仕事は、システム管理者の最も大きな責務の一つでしょう。マシンは、 管理者が設定しただけのセキュリティしか示しません。セキュリティに関する 問題は、むしろ、便利さを求める人間との競合問題です。一般に、 .Ux システムは莫大な数のプロセスを同時に実行させることができ、 それも、サーバとして動作するものが多いのです。つまり、外部の何者かが 接続してきて、サーバプロセスと会話することができるということなのです。 昨日まで使われていたミニコンピュータやメインフレームは、今日では デスクトップコンピュータが取って代わり、しかも、それらはネットワークで結ばれて インターネットと接続されるようになりました。これにより、セキュリティは 昔と比べてはるかに大きな問題となっています。 .Pp セキュリティは、タマネギの階層のようなアプローチを通すと最もよく実装できます。 手短に言って、やりたいことは、便利さを損ねない程度にできるだけ多くの 階層を作り、システムに侵入されていないかを注意深く監視することです。 セキュリティの階層を作りすぎたくはありません。作りすぎると、侵入の 検出が妨げられることになるでしょう。どんなセキュリティ機構でも、 侵入の検出をすることが唯一とても重要なことなのですから。 例えば、システムの各バイナリに .Pa schg フラグ .Po .Xr chflags 1 参照 .Pc を設定するのは大して意味がありません。フラグを設定すると、一時的には バイナリを保護することができますが、侵入してきたクラッカーが、 マシンのセキュリティ機構がクラッカーの侵入を全く検知できなくなるような 変更ではあるが、管理者が容易に検出できるような変更をできなくしてしまう からです。 .Pp システムセキュリティには、さまざまな形での攻撃に対処することも ついて回ります。攻撃には、root を破ろうとはしないが、システムを クラッシュさせたり、さもなければ、システムを使用不能にしたり しようとするものも含まれています。 セキュリティに関する問題は、いくつかのカテゴリに分類することができます。 .Bl -enum -offset indent .It サービス不能攻撃 .It ユーザアカウントにかかる危険 .It アクセス可能なサーバを経由した root 権限にかかる危険 .It ユーザアカウントを通した root 権限にかかる危険 .It 裏口の作成 .El .Pp サービス不能攻撃とは、マシンから必要な資源を奪う行為です。 サービス不能攻撃は、普通は、そのマシンで実行されるサーバや ネットワークスタックを圧倒して、マシンをクラッシュさせたり、 さもなければマシンを使えなくしたりするような力任せの方法です。 サービス不能攻撃のいくつかは、 ネットワークスタックのバグを利用して、パケット一つでマシンを クラッシュさせようとします。後者は、 カーネルにバグ修正を施すことによってのみ修正することができます。 サーバプロセスに対する攻撃は、オプションを適切に指定して、 不利な状況にあるシステムにおいて、サーバプロセスが引き起こす負荷に限界を設けることで 修正することができます。これらに比べると、ネットワークへの力任せの攻撃への 対応はずっと難しくなります。たとえば、偽造パケットによる攻撃 .Pq spoof-packet attack は、インターネットからシステムを切り離す以外の方法で防ぐことは ほとんど不可能です。 それによって、マシンを落としてしまうことはできないかもしれませんが、 インターネット回線をいっぱいにしてしまうことはできます。 .Pp ユーザアカウントを危険に晒してしまう問題は、サービス不能攻撃よりもずっとよくある 問題です。このご時勢でも、自分たちのマシンで標準の telnetd, rlogind, rshd, ftpd サーバを実行させているシステム管理者は多いのです。これらの サーバは、デフォルトでは、暗号化されたコネクション上で動作していません。 その結果、抱えているユーザ数が標準くらいであれば、リモートログイン .Po そのシステムにログインするには最も普通で便利な方法です .Pc しているユーザのうち一人以上は、パスワードを覗き見られて しまうでしょう。 システム管理者が注意深い人ならば、たとえログインが成功していたとしても、 リモートアクセスログを解析して、疑わしいソースアドレスを探すものです。 .Pp ひとたび攻撃者がユーザアカウントへのアクセス権を入手すると、攻撃者が root の権限を破る可能性があることを仮定するべきです。しかし、 セキュリティを十分維持し、手入れの行き届いたシステムにおいては、 あるユーザアカウントへのアクセスが可能となっても、攻撃者に必ずしも root へのアクセス権を与えるとは限らないのが現実です。この違いは重要です。 というのは、root へのアクセス権がなければ、一般的に、攻撃者は自分の 侵入の痕跡を隠蔽することができませんし、そのユーザのファイルを引っかき回したり、 マシンをクラッシュさせたりできるのがせいぜいです。 ユーザアカウントが危険に晒されるということは、たいへんよく起こることです。 なぜなら、ユーザは、システム管理者ほどには前もって注意を払わない 傾向があるからです。 .Pp システム管理者は、あるマシン上で root の権限を破る方法は、潜在的に 何通りもあるのだということを 心しておかねばなりません。攻撃者が root のパスワードを知ってしまうかも しれません。攻撃者が root の権限で実行されるサーバのバグを見つけ、 ネットワークからそのサーバへ接続して root の権限を破ることができるかも しれません。ひとたびユーザアカウントを破ると、ユーザアカウントから root の権限を破ることが可能であるというバグを持つ suid-root プログラムの 存在を、攻撃者は知っているかもしれません。 あるマシン上で、攻撃者が root の権限を破る方法を知ったとすると、 攻撃者は、裏口を作る必要などないかもしれません。 発見され、ふさがれた 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 アカウントに 割り当てたパスワードが 1 つあります。まず最初にすべきことは、 このパスワードは .Sq いつでも 危険に晒されていると仮定することです。 ここでは、root のパスワードを消すべきだと言っているのではありません。 パスワードは、マシンにコンソールからアクセスするのには、ほとんどいつでも 必要なものです。ここで言いたいのは、コンソール以外からは、おそらくは、 .Xr su 1 コマンドを用いてすらパスワードを使えるようにするべきではないということです。 例えば、pty が、 .Sq Pa /etc/ttys ファイルで安全でないものと指定されているのかを確認してください。 そうすることで、telnet や rlogin 越しに root でログインできないようになります。 sshd のような、別のログインサービスを使っている場合でも同様に、 直接 root へログインすることを許していないかどうか確認してください。 アクセスする手段、例えば ftp のようなサービスが、たびたびクラックの手に落ちる ことを考えてみてください。root に直接ログインできるのは、システムコンソール を通したときのみにすべきです。 .Pp システム管理者として、自分は root になれるようにしておかねばならないの はもちろんですから、穴をいくつか空けておきます。しかし、それらの穴を 動作させるには、さらに追加のパスワード認証が必要であるようにして おきます。root でアクセス可能とする方法の一つとして、 適切なスタッフアカウントを .Pq Pa /etc/group の wheel グループに加えることがあります。 wheel グループに置かれたスタッフメンバには、 .Sq su を使って root になることが許されます。パスワードエントリにおいて、 最小限のメンバを wheel グループを置くことで、スタッフメンバに wheel のアクセス権を与えてはいけません。スタッフメンバのアカウントは .Sq staff に置くべきです。そして .Sq Pa /etc/group ファイルを通して wheel グループに加えるべきです。 実際に root アクセスの必要な staff メンバのみ wheel グループに置くように すべきです。kerberos のような認証方法を使用する場合、root アカウントで .Sq Pa .k5login ファイルを使って、誰も wheel グループに置く必要なく root に .Xr ksu 1 を許すようにすることもできます。 このやり方はよりよい解決策なのかもしれません。なぜなら、wheel のメカニズム では、侵入者がパスワードファイルを手に入れ、staff アカウントのいずれか 1 つを破ることができると、root を破ることがまだできてしまうからです。 wheel のメカニズムを用いる方が、何もしないよりは良いのですが、必ずしも 最も安全な選択肢とは限りません。 .Pp root アカウントの安全性を高める間接的な方法として、別のログインアクセス の方法を用いて、スタッフのアカウントの暗号化パスワードを\ * にして おくことで、スタッフのアカウントの安全性を高めるものがあります。この方法 だと、侵入者がパスワードファイルを盗むことができるかもしれませんが、 スタッフアカウントを破ることはできないでしょう。また、たとえ root が暗号化 パスワードをパスワードファイルに付けていたとしても、間接的には root アカウントも破ることができないでしょう。 スタッフメンバがスタッフアカウントでログインする際には、 .Xr kerberos 1 や .Xr ssh 1 のような、公開鍵 / 秘密鍵の鍵の組を使う 安全性の高いログインの仕組みを使います。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 .Fx では、今では ntalkd, comsat, finger は砂場で実行させることが デフォルトになっています。次に砂場で実行させるべきプログラムの候補として、 .Xr named 8 があります。デフォルトの rc.conf ファイルには、named を砂場で実行する ために必要な引数がコメントアウトされた形式で含まれています。新しい システムをインストールしているか、それとも既存のシステムを アップグレードして使っているかに依存しますが、砂場として使用する 特別のユーザアカウントがインストールされていないかもしれません。 用心深いシステム管理者であれば、できるだけいつでも研究を怠らず、 サーバに砂場を仕込むものでしょう。 .Pp 通常、砂場で実行しないサーバが他にいくつかあります。sendmail, popper, imapd, ftpd などです。これらのうちいくつかのサーバには代わりとなるも のがありますが、 代わりのものをインストールするには、それだけ多くの仕事が必要になるので、 結局これらを喜んで入れてしまいます .Pq 便利さという要素がまたも勝利を収めるわけです 。 これらのサーバは、root 権限で実行せねばならいかもしれません。また、 これらのサーバ経由で生じる侵入 を検出するためには、他の仕組みに頼らなくてはならないかもしれません。 .Pp システムの root 権限の潜在的な穴で他に大きなものとして、システムに インストールされた suid-root/sgid バイナリがあります。 これらのバイナリは、rloginのように、 .Pa /bin , .Pa /sbin , .Pa /usr/bin , .Pa /usr/sbin に存在するものがほとんどです。 100% 安全なものは存在しないとはいえ、システムデフォルトの siud/sgid バイナリは比較的安全といえます。それでもなお、root の穴が これらのバイナリにときおり発見されています。1998 年に Xlib で見つかった root の穴は、xterm .Pq 普通、suid 設定されています を攻撃可能にしていました。 安全である方がよいので、用心深いシステム管理者は残念に思いながらも、 スタッフのみが実行する必要がある suid バイナリは、スタッフのみが アクセス可能な特別なグループに含めるように制限を加え、 誰も使わない suid バイナリは .Pq chmod 000 を実行して 片付けてしまうでしょう。 ディスプレイを持たないサーバは、一般的に xterm のバイナリを必要としません。 sgid バイナリもほとんど同様の危険な存在になり得ます。 侵入者が kmem に sgid されたバイナリを破ることができた場合、 その侵入者は .Pa /dev/kmem を読み出すことができるようになります。 つまり、暗号化されたパスワードファイルを読み出すことができる ようになるので、パスワードを持つどのアカウントをも、 .Pq 潜在的な 危険に晒すことになります。 代わりに、kmem グループを破った侵入者が pty を通して送られたキーストロークを 監視できます。キーストロークには、安全な方法でログインするユーザが使っている pty も含まれます。tty グループを破った侵入者は、ほぼ任意のユーザの tty へ 書き込みができます。ユーザが端末プログラムやキーボードをシミュレーション する機能を持ったエミュレータを使っている場合、侵入者は潜在的に、 結局そのユーザとして実行されるコマンドをユーザの端末にエコーさせる データストリームを生成できる可能性があります。 .Sh ユーザアカウントの安全性を高める .Pp ユーザアカウントは、普通、安全性を高めることが最も困難です。 スタッフに対して、アテナイのドラコのような厳格なアクセス制限を課し、 スタッフのパスワードを\ * で外すことができるとはいえ、管理者が持ちうる 一般ユーザすべてのアカウントに対して同じことはできないかもしれません。 管理者が十分に統率をとることができるなら、管理者は勝利し、ユーザの アカウントの安全を適切に確保できるかもしれません。それが できないならば、よりいっそう気を配って一般ユーザのアカウントを 監視するよりほかありません。一般ユーザアカウントに対し ssh や kerberos を利用することには、システム管理がさらに増えたり テクニカルサポートが必要になるなどの問題があります。 それでも、暗号化パスワードファイルと比較するとはるかに良い解です。 .Sh パスワードファイルの安全性を高める .Pp できるだけ多くのパスワードを\ * で外し、それらのアカウントのアクセスには ssh や kerberos を使うようにすることが、唯一の確実な方法です。たとえ暗号化 パスワードファイル .Pq Pa /etc/spwd.db が root でのみ読み出し可能だとしても、 侵入者がそのファイルの読み出しアクセス権限を得ることは可能かもしれません。 たとえ root の書き込み権限が得られないにしてもです。 .Pp セキュリティスクリプトは常にパスワードファイルの変更をチェックし、報告 するようにすべきです .Po 後述の「ファイルの完全性のチェック」を参照して下さい .Pc 。 .Sh カーネルのコア、raw デバイス、ファイルシステムの安全性を高める .Pp root の権限を破ると、攻撃者は何でもできますが、 もっと簡便なこともいくつかあります。例えば、最近のカーネルは、 組み込みのパケット覗き見デバイス .Pq packet sniffing device ドライバを備えているものがほとんどです。 .Fx では .Sq bpf デバイスと呼ばれています。侵入者は普通、危険に晒された マシンでパケット覗き見プログラムを実行させようと試みます。侵入者に わざわざそういう機能を提供する必要はないので、ほとんどのシステムで bpf デバイスを組み込むべきではありません。 .Pp 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 フラグを設定しないという妥協をする方法もあります。 もう一つの可能性としては、単純に / および /usr を読み込み専用でマウント することです。ここで特筆すべきことは、システムを守ろうとしてアテナイのドラコ のように厳しくしすぎると、侵入を検出するという非常に重要なことが できなくなってしまうということです。 .Sh ファイルの完全性のチェック: バイナリ、設定ファイルなど .Pp ことこの問題に至ると、システム管理者にできることは、 便利さという要素がその醜い頭を上げない程度に、 コアシステムの設定 / 制御ファイルを防御することだけです。 例えば、/ および /usr にある大部分のファイルに schg ビットを 設定するために chflags を使用するのは、おそらく逆効果でしょう。 なぜなら、そうすることでファイルは保護できますが、侵入を検出 する窓を閉ざしてしまうことにもなるからです。 セキュリティのタマネギの最後の層はおそらく最も重要なもの、すなわち検出です。 セキュリティの残りのものは、突然の侵入を検出できなければ、全然有用では ありません( あるいは、もっと悪ければ、間違った安全性に対する感覚を 植え付けてしまいます )。 タマネギの仕事の半分は、均衡状態にあるとき、攻撃中に検出側に攻撃者を 捕まえるきっかけを与えるため、攻撃者を食い止めるのではなく 侵入を遅らせることなのです。 .Pp 侵入を検出する最も良い方法は、変更されていたり、消えていたり、入れた覚えが ないのに入っているファイルを探すことです。 変更されたファイルを探すのに最も良い方法は、もう一つの ( しばしば中央に集められた ) アクセスが制限されたシステムから行なうものです。 さらに安全でアクセス制限されたシステム上でセキュリティ用スクリプトを書けば、 スクリプトは潜在的なクラッカー達からはほぼ見えなくなります。 これは重要なことです。 最大限に優位に立つために、一般的にビジネスで使う他のマシンへの重要な アクセスは、アクセスの制限されたマシンにやらせなくてはいけません。 普通は、他のマシンからアクセス制限されたマシンへ読み込み専用で NFS エクスポートしたり、アクセス制限されたマシンから他のマシンへ ssh を行なうために、ssh 鍵のペアを作ったりすることで行います。 ネットワークのトラフィックを別にして、NFS は最も可視性のない方法です。 事実上検出されない各クライアント上のファイルシステムを監視できるようになります。 アクセス制限されたサーバがスイッチを通してクライアントに接続する場合、 たいてい NFS がより良い選択肢です。アクセス制限されたサーバがハブを通したり、 いくつかのルーティング層を通したりしてクライアントに接続する場合、 NFS はあまりにも危険な方法かもしれず ( ネットワークの面で ) 、ssh の方が 認証の道筋は跡となって残りますが、それでもより良い方法かもしれません。 .Pp アクセス制限されたマシンに、少なくとも監視することを前提とした クライアントシステムへの読み込みアクセスをひとたび与えると、 実際に監視するためのスクリプトを書かなくてはいけません。 NFS マウントをすれば、 .Xr find 1 や .Xr md5 1 などの単純なシステムユーティリティでスクリプトを書くことができます。 少なくとも 1 日 1 回、クライアントのファイルを直接 md5 にかけ、 さらにもっと頻繁に .Pa /etc および .Pa /usr/local/etc にあるようなコントロール用ファイルを試験するのが一番です。 試験ファイルは、アクセス制限されたマシンが適性であると知っている、基となる md5 情報と比べて違いが見つかった場合、システム管理者に調べて欲しいと 訴えるようにするべきです。 優れたセキュリティ用スクリプトは、 .Pa / および .Pa /usr などのシステムパーティション上で不適当に suid されたバイナリや、 新たに作成されたファイルや削除されたファイルもチェックするのでしょう。 .Pp NFS ではなく、ssh を使用する場合は、セキュリティ用スクリプトを書くのはずっと 難しいことです。スクリプトをクライアントから見えるようにし、 動かすためには、クライアントに対して .Pa scp を必ず行わなくてはいけません。 そして、安全のため、スクリプトが使うバイナリ ( find など ) を scp する必要も あります。クライアントの ssh デーモンはすでに危険に晒されているかもしれません。 以上のことから、安全でないリンク上の場合は ssh は必要かもしれませんが、 ssh を扱うのはとても大変なことです。 .Pp 優れたセキュリティ用スクリプトは、ユーザやスタッフメンバの アクセス設定ファイルもチェックするものです。 .Pa .rhosts , .Pa .shosts , .Pa .ssh/authorized_keys などがそれですが、MD5 のチェックの範囲外になってしまうかもしれません。 .Pp ユーザ用のディスク容量が非常に大きい場合は、パーティション上の各ファイルを 見て回るのに大変な時間がかかるかもしれません。この場合は、マウントフラグを 設定して、このパーティションに suid されたバイナリやデバイスを置けないように するのが良い考えです。 .Sq nodev および .Sq nosuid オプション .Po .Xr mount 8 参照 .Pc が調べたいものでしょう。私なら、ともかくも週に 1 度はファイルシステムを スキャンするでしょう。なぜなら、この層での目的は、侵入が意味があるかどうかに 関わらず、侵入を検出することだからです。 .Pp プロセスアカウンティング .Po .Xr accton 8 参照 .Pc は、比較的オーバヘッドの低いオペレーティングシステムの機能で、 マシンに侵入されてしまった後の評価の仕組みとして使用することをお勧め します。 侵入を受けた後でも当該ファイルが無傷である場合に、 侵入者が実際にどのようにしてシステムに侵入したかを 追跡するのに特に有益です。 .Pp 最後に、セキュリティスクリプトはログファイルを処理するようにし、 ログファイル自体もできるだけ安全性の高い方法で .Sq リモート syslog は極めて有益になり得ます 生成するようにすべきです。侵入者は自分の侵入の痕跡を覆い隠そう としますし、また、ログファイルはシステム管理者が最初の侵入の時 刻と方法を追跡してゆくために極めて重要です。 ログファイルを永久に残しておくための 1 つの方法は、システムコンソールを シリアルポートにつないで走らせ、コンソールを監視している安全なマシンを通して 絶えず情報を集めることです。 .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 することを忘れてしまうサービスがいくつか出てきたり、新しい内部サービスを 追加したのにファイアウォールの更新を忘れたりする可能性がよく出てきます。 ファイアウォール上の大きい番号のポートを開けておいて、小さい番号のポートを 危険に晒すことなく受容的な動作を許すことができます。 .Fx では、net.inet.ip.portrange への sysctl .Pq sysctl -a \&| fgrep portrange をいろいろ使用することで、 動的バインドに使用されるポート番号の範囲を制御できることを記憶にとどめて おいて下さい。これによりファイアウォールの設定の複雑性を緩和できます。 私は、ファイアウォールに通常のfirst/last の範囲として、 4000 から 5000 を、 高位ポートの範囲として、49152 から 65535 を使用しています。そして、 .Po いくつかのインターネットアクセス可能なポートを ブロックから除外するのはもちろんですが .Pc 4000 より下のすべてをブロックしています。 .Pp また別のありふれたサービス不能攻撃として、踏み台攻撃 .Pq springboard attack と呼ばれるものがあります。これは、サーバが自分自身、ローカルネットワーク、 そして他のマシンを過負荷に追い込むような応答を生成させる方法でサーバを 攻撃します。この種の攻撃の中で最もありふれたものは、ICMP PING BROADCAST 攻撃があります。攻撃者は、実際に攻撃したいマシンのアドレスをソース アドレスに設定した ping パケットを偽造して、対象の LAN の ブロードキャストアドレスに向けてパケットを送信します。境界にあるルータが ブロードキャストアドレスに対する ping パケットを握り潰すように設定されていない 場合、LANは、詐称されたソースアドレスに向けて応答パケットを生成するはめになり、犠牲となるマシンが飽和するところまで行ってしまいます。攻撃者が同じトリックを 異なるネットワーク上のいくつものブロードキャスト アドレスに対して同時に使用した場合、とくにひどいことになります。 これまでに、120 メガビット以上のブロードキャスト攻撃が観測されています。 2 番目の踏み台攻撃は、ICMP エラー報告の仕掛けを狙うものです。ICMP エラー 応答を生成するパケットを生成することにより、攻撃者はサーバの 受信ネットワークを飽和させることができ、同時に、サーバが送信 ネットワークを ICMP 応答で飽和させるようにすることができます。 mbuf を消費し尽くさせることにより、この種の攻撃でサーバを クラッシュさせることも可能です。サーバの ICMP 応答生成が速過ぎて、 ICMP 応答の送信が追い付かない場合、とくにひどいことになります。 .Fx カーネルには、この種の攻撃の効果を抑制する 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 自分のマシンをクラッシュさせたくないのであれば :-) どちらか一方でも 0 に は決してしないで下さい。両パラメータを 2 秒に設定すれば、 攻撃から経路情報テーブルを守るには十分でしょう。 .Sh kerberos および ssh を用いたアクセスの問題 .Pp もしあなたが、kerberos および ssh を使用したいのだとしたら、両者に関して 言っておく必要のある問題がいくつかあります。 kerberos V は大変優れた認証プロトコルですが、kerberos 処理された telnet や rlogin は、バイナリストリームを扱うのに不向きになってしまうようなバグがあります。 さらに、デフォルトでは、kerberos は .Fl x オプションを使わない限りセッションを暗号化してくれません。 ssh では、デフォルトですべてを暗号化してくれます。 .Pp -ssh はあらゆる場面でとても良く働いてくれます。ただし、デフォルトで -暗号鍵を送ってしまうことを除けばです。これはつまり、暗号鍵を持った安全な +ssh はあらゆる場面でとても良く働いてくれます。ただし、 +暗号鍵を送ってしまう場合を除けばです。これはつまり、暗号鍵を持った安全な ワークステーションがあって、この暗号鍵で残りのシステムとアクセスできる ようになっている場合では、安全でないマシンへ ssh を行なう時に暗号鍵が 見えてしまうということです。実際の鍵そのものが見えてしまうわけでは ありませんが、ssh は、login を持続させるために配送用ポートを作ります。 クラッカーが安全でないマシンの root を破ると、クラッカーは、 このポートを使って暗号鍵を取得し、暗号鍵でロックの外れる他のマシンへの アクセスを得ます。 .Pp staff のログインには、kerberos を組み合せた ssh を使用することを勧めます。 ssh は、kerberos と一緒にコンパイルできます。こうすると、見えて しまうかもしれない ssh 鍵をあまりあてにしないで良いようになります。 また、それと同時に、kerberos 経由でパスワードを保護することもできます。 ssh 鍵は、安全なマシンからの自動化されたタスク (kerberos では不向きな ものなど ) 用のみに使用するべきです。また、ssh の設定で ssh 鍵を送らないようにするか、あるいは、 .Pa authorized_keys ファイル中で .Pa "from=IP/DOMAIN" オプションを使用して、特定のマシンからログインしてきたもののみに 有効になる鍵を ssh が生成できるようにすることも勧めます。 .Sh 関連項目 .Pp .Xr chflags 1 , .Xr find 1 , .Xr kerberos 1 , .Xr md5 1 , .Xr netstat 1 , .Xr ssh 1 , .Xr openssl 1 , .Xr xdm 1 , .Xr group 5 , .Xr ttys 5 , .Xr accton 8 , .Xr init 8 , .Xr sshd 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr vipw 8 .Sh 歴史 .Nm マニュアルページは、もともと .An Matthew Dillon によって書かれました。 最初に現れたのは、 .Fx 3.1 で 1998 年 12 月のことです。 .\" translated by Norihiro Kumagai, 98-12-29 diff --git a/ja_JP.eucJP/man/man8/dump.8 b/ja_JP.eucJP/man/man8/dump.8 index 0d22df6616..5e001ce287 100644 --- a/ja_JP.eucJP/man/man8/dump.8 +++ b/ja_JP.eucJP/man/man8/dump.8 @@ -1,391 +1,405 @@ .\" Copyright (c) 1980, 1991, 1993 .\" 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 acknowledgment: .\" 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. .\" .\" @(#)dump.8 8.3 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/dump/dump.8,v 1.27.2.4 2001/03/04 11:00:52 obrien Exp % +.\" %FreeBSD: src/sbin/dump/dump.8,v 1.27.2.6 2001/07/19 06:24:06 dd Exp % .\" -.\" $FreeBSD$ -.Dd May 1, 1995 +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/dump.8,v 1.15 2001/05/14 01:09:48 horikawa Exp $ +.Dd July 9, 2001 .Dt DUMP 8 .Os BSD 4 .Sh 名称 .Nm dump , .Nm rdump .Nd ファイルシステムのバックアップ .Sh 書式 .Nm .Op Fl 0123456789acknu .Op Fl B Ar records .Op Fl b Ar blocksize +.Op Fl D Ar dumpdates .Op Fl d Ar density .Op Fl f Ar file .Op Fl h Ar level .Op Fl s Ar feet .Op Fl T Ar date .Ar filesystem .Nm .Op Fl W Li \&| Fl w .Pp .in \" XXX ( .Bx 4.3 形式のオプションは後方互換性のために実装されていますが、 ここでは説明していません。) .Sh 解説 .Nm は、ファイルシステムを調べて バックアップする必要のあるファイルを決定します。 これらのファイルは、指定されたディスク、テープや、 その他の記憶メディアへ保存のためコピーされます (リモートバックアップについては、 .Fl f オプションを参照)。 ダンプの大きさが記録メディアの容量より大きい場合は、 複数ボリュームに分割します。 たいていのメディアの容量は、メディアの終りを通知されるまで 書き込んでみることで決定します。 この方法は、 .Fl a オプションにより強制的に使用することもできます。 .Pp メディアの終りを正しく通知できないメディア (一部の カートリッジ・テープドライブ等) の容量は、 テープ長と記録密度やブロック数のオプションから求め、 各ボリュームはすべて同じ容量を持つものとします。 デフォルトでは、 オペレータにメディア交換を要求した後の各ボリュームにも 同じ出力ファイル名を使用します。 .Pp .Nm は、次のオプションをサポートしています。 .Bl -tag -width Ds .It Fl 0\-9 ダンプレベル。 レベル 0 はフルバックアップを意味し、ファイルシステム全体をコピー することを保証します (ただし以下の .Fl h オプションにも注意して下さい)。 0 より大きなレベル番号はインクリメンタルバックアップを意味し、 前回のダンプ (今回指定したものより低いレベルのダンプ) 以降に作られたか修正されたすべてのファイルをコピーします。 デフォルトのレベルは 0 です。 -.It Fl B Ar records -ボリュームあたりの 1 KB ブロック数です。 -このオプションは、テープ長と記録密度を基にしたテープ容量より -優先されます。 .It Fl a .Dq オートサイズ 全てのテープ長の考慮をせず、メディアの終了を通知されるまで、強制的に 書き込みを続けます。現在のほとんどのテープドライブでは、この方法により もっとも良い結果が得られます。特に、使いかけのテープに追加したり、 ハードウェア圧縮機能のあるテープドライブ(圧縮率がどの程度になるか不確かな もの)を使用したりする場合にこのオプションを使用することをお薦めします。 +.It Fl B Ar records +ボリュームあたりの 1 KB ブロック数です。 +このオプションは、テープ長と記録密度を基にしたテープ容量より +優先されます。 .It Fl b Ar blocksize ダンプレコードあたりのブロックサイズを K バイト単位で指定します。 .It Fl c カートリッジテープドライブ用に、記録密度とテープ長のデフォルトをそれぞれ 8000 bpi、1700 feet に変更します。 -.It Fl h Ar level -ダンプレベルが -.Ar level -以上の時に、ユーザが指定した -.Dq nodump -フラグ -.Pq Dv UF_NODUMP -に従います (h: honor the flag)。 -デフォルトの honor レベルは 1 ですから、 -そのようなファイルは、インクリメンタルダンプからは省かれますが、 -フルバックアップには含まれます。 +.It Fl D Ar dumpdates +dumpdates ファイルの代替パスを指定します。 +デフォルトは +.Pa /etc/dumpdates +です。 .It Fl d Ar density テープの記録密度を .Ar density に設定します。デフォルトは 1600BPI です。 .It Fl f Ar file バックアップの出力先ファイルを指定します。 出力先ファイルとしては、 .Pa /dev/rsa0 (テープドライブ)や .Pa /dev/fd1 (フロッピーディスクドライブ)のようなデバイスファイル、 通常ファイル、 .Ql Fl (標準出力)を指定することができます。 複数のファイル名を、コンマで区切って一つの引数として指定する ことができます。 各ファイルは、リストされた順に一つのダンプボリュームに使用されます。 指定した名前の数より多くのボリュームが必要な場合、 メディアの交換を要求した後、最後のファイル名を残りのすべての ボリュームに使用します。 ファイル名が、 .Dq host:file または、 .Dq user@host:file の形式である場合、 .Nm は、 .Xr rmt 8 を使用してリモートホスト上の指定されたファイルに書き込みます。 リモートの .Xr rmt 8 のデフォルトのパス名は .Pa /etc/rmt ですが、環境変数 .Ev RMT の値が優先されます。 +.It Fl h Ar level +ダンプレベルが +.Ar level +以上の時に、ユーザが指定した +.Dq nodump +フラグ +.Pq Dv UF_NODUMP +に従います (h: honor the flag)。 +デフォルトの honor レベルは 1 ですから、 +そのようなファイルは、インクリメンタルダンプからは省かれますが、 +フルバックアップには含まれます。 .It Fl k リモートのテープサーバとの通信でケルベロス認証を使います。 (このオプションが有効な状態で .Nm がコンパイルされた場合にのみ利用できます。) .It Fl n .Nm がオペレータに注意を促す時に、 .Xr wall 1 に似た方法で .Dq operator グループに属するすべてのユーザにメッセージを送ります。 .It Fl s Ar feet テープの容量を計算する時に記録密度とともに使います。 この容量を超えた場合に、 .Nm は新しいテープを要求します。 このオプションはやや控え目に指定することをお勧めします。 デフォルトのテープの長さは、2300 フィートです。 .It Fl T Ar date -.Pa /etc/dumpdates +dumpdates ファイル から得られた日時の代わりに、指定された date をダンプの起点として 使います。date の形式は .Xr ctime 3 のそれと同じです。このオプションは期間を指定してバックアップを 取るダンプスクリプトで有用です。 .Fl T オプションは .Fl u オプションと同時には指定できません。 .It Fl u ダンプが成功した後で、 -.Pa /etc/dumpdates +dumpdates ファイルを更新します。 -.Pa /etc/dumpdates +dumpdates ファイル は人が読めるファイルであり、各行に以下のレコードが フリーフォーマットで記録されています : ファイルシステム名、インクリメントレベル、 .Xr ctime 3 形式のダンプ日付。 各レベルとファイルシステムごとにエントリが一つだけ存在します。 必要なら、 -.Pa /etc/dumpdates +dumpdates ファイル の各フィールドを編集しても構いません。 +dumpdates ファイルのデフォルトは +.Pa /etc/dumpdates +ですが、 +.Fl D +を使用してこれを変更可能です。 .It Fl W .Nm は、ダンプの必要があるファイルシステムをオペレータに表示します。 この情報は -.Pa /etc/dumpdates +dumpdates ファイル と .Pa /etc/fstab ファイルから集められます。 .Nm は、 -.Pa /etc/dumpdates +dumpdates ファイル の中の各ファイルシステム毎に最新のダンプ日付とレベルを示し、 ダンプするべきファイルシステムを明らかにします。 .Fl W オプションが指定された場合、その他のすべてのオプションは無視され、 .Nm は直ちに終了します。 .It Fl w W と同様ですが、ダンプの必要のあるファイルシステムのみを表示します。 .El .Pp .Nm は、通常ファイルおよびディレクトリのユーザ .Dq nodump フラグ .Pq Dv UF_NODUMP を尊重します。 ディレクトリに .Dq nodump の印が付いていると、このディレクトリと、 その配下の全ファイルとディレクトリが、バックアップされなくなります。 ディレクトリの .Dq nodump フラグを、 .Nm はこのように伝播させます。 .Pp .Nm は、以下に示す場合にオペレータの介入を要求します : テープの終了、 ダンプの終了、 テープ書き込みエラー、 テープオープンエラー、 ディスク読み込みエラー (32 回を越えた場合)。 処理を続けられない時や何か大変まずい事態になった場合には、 .Nm は、 .Fl n オプションがあればすべてのオペレータへ警告したうえで、 .Em dump の制御端末上でオペレータとやりとりします。 .Nm コマンドからのすべての質問には、 .Dq yes または .Dq no で適切に答えなければなりません。 .Pp フルダンプの実施には多くの時間と労力がかかるので、 .Nm は各テープボリュームの先頭にチェックポイントを設定します。 何らかの理由により、あるボリュームの書き込みを失敗した場合には、 テープの巻き戻し、排出、新しいテープのマウントの後で、 .Nm はオペレータの許可の下でチェックポイントから実行を再開します。 .Pp .Nm は処理の進行を定期的にオペレータに報告します。 報告には、少なめに推定される書き込みブロック数、 必要なテープ数、完了までの時間、テープ交換までの時間、 を含みます。 .Nm に使っている端末が使用中であることが他人にも分かるように、 このメッセージは冗長になっています。 .Pp ディスクに壊滅的なトラブルが起きた時に、 バックアップテープやファイルからディスクを復元するために 必要な時間は、 インクリメンタルダンプを適当なシーケンスで実行する事によって 最小にする事ができます。 最小のテープ数でこれを行なう効果的な方法を示します。 .\" staggering .Bl -bullet -offset indent .It 常にレベル 0 のバックアップから開始します。例えば以下の通りです。 .Bd -literal -offset indent /sbin/dump -0u -f /dev/nrsa0 /usr/src .Ed .Pp これを一ヵ月か二ヵ月毎に新しいテープに対して実施し、 ずっと保存します。 .It 0 レベルのダンプの後は、アクティブなファイルシステムのダンプを、 修正ハノイの塔アルゴリズムによる 次の様なダンプレベルシーケンスによって、毎日行います。 .Bd -literal -offset indent 3 2 5 4 7 6 9 8 9 9 ... .Ed .Pp 毎日のダンプには、一週間毎に繰り返し使われる事になる 一定の数のテープを使う事ができます。 週毎にレベル 1 ダンプを行ない、毎日のハノイ・シーケンスは レベル 3 から開始します。 週毎のダンプには、ダンプするファイルシステム毎に、これも繰り返し 使われる事になる一定数のテープを使います。 .El .Pp 何ヵ月かの後、毎日と毎週のテープはダンプサイクルから順に外し、 新品のテープを導入すべきです。 .Sh 環境変数 環境変数 .Ev RMT は、リモートの .Xr rmt 8 プログラムのパス名を決定するのに用いられます。 .Sh 関連ファイル .Bl -tag -width /etc/dumpdates -compact .It Pa /dev/rsa0 デフォルトのダンプテープユニット .It Pa /etc/dumpdates ダンプの日付を記録するファイル +(これは変更可能です。 +.Fl D +オプションを参照してください) .It Pa /etc/fstab ダンプテーブル : ファイルシステムと頻度を決めるファイル .It Pa /etc/group .Em operator グループを検索する .El .Sh 関連項目 .Xr fstab 5 , .Xr restore 8 , .Xr rmt 8 .Sh 診断 詳しいメッセージがたくさん出ます。 .Pp 正常時は終了コード 0 で終了します。 開始時のエラーは終了コード 1 で、 異常終了は終了コード 3 で表されます。 .Sh バグ 32 個未満のファイルシステムからの読み取りエラーは無視されます。 .Pp 各リール (ボリューム) ごとに新たなプロセスが作られ、 リールを書き終った親プロセスは テープ全体の書き込みが終るまで待っています。 .Pp 現状では、 .Xr physio 9 スライスのリクエストは 64 KB の塊になります。したがって、それより大きな テープのブロックサイズを使用することはできず、 .Nm はこれが発生するのを防ぎます。 .Pp .Nm の .Fl W や .Fl w オプションは、 .Pa /etc/fstab にリストされていても、 -.Pa /etc/dumpdates +dumpdates ファイル に記録のないファイルシステムについては報告しません。 .Pp .Nm コマンドが、 ダンプシーケンスについて知っていて、 使い散らかしたテープの使用履歴を管理でき、 どのテープをマウントすれば良いかオペレータに教えてくれ、 .Xr restore を実行するオペレータをもっと助けてくれたら、 もっと使いやすいでしょうね。 .Pp セキュリティ的な歴史により、 .Nm は、root 以外のユーザでリモートバックアップを行うことはできません。 これは、 .Fx の今後のバージョンでは修正されるでしょう。 現状では、(従来通り) setuid されていれば正常に動作しますが、 セキュリティ的なリスクを伴います。 .Sh 歴史 .Nm コマンドは、 .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/faithd.8 b/ja_JP.eucJP/man/man8/faithd.8 index 774310b8cf..d15b3d1d2b 100644 --- a/ja_JP.eucJP/man/man8/faithd.8 +++ b/ja_JP.eucJP/man/man8/faithd.8 @@ -1,435 +1,431 @@ .\" $KAME: faithd.8,v 1.30 2001/05/24 20:47:56 itojun Exp $ .\" .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE 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. .\" 3. Neither the name of the project 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 PROJECT 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 PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/faithd/faithd.8,v 1.2.2.6 2001/07/03 11:02:04 ume Exp % +.\" %FreeBSD: src/usr.sbin/faithd/faithd.8,v 1.2.2.7 2001/07/10 08:05:18 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/faithd.8,v 1.4 2001/05/14 01:09:48 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/faithd.8,v 1.5 2001/07/12 00:16:03 horikawa Exp $ .Dd January 27, 2000 .Dt FAITHD 8 .Os .Sh 名称 .Nm faithd .Nd FAITH IPv6/v4 変換デーモン .Sh 書式 .Nm .Op Fl dp .Op Fl f Ar configfile .Ar service .Op Ar serverpath Op Ar serverargs .Sh 解説 .Nm は IPv6 から IPv4 への TCP リレー機能を提供します。 .Pp .Nm は IPv4/v6 デュアルスタックルータ上で起動しなければなりません。 .Pp .Tn TCPv6 トラフィックが見つかると、 .Nm はその .Tn TCPv6 トラフィックを .Tn TCPv4 にリレーします。 リレーする .Tn TCPv4 コネクションの終点は、元の .Tn IPv6 終点の末尾 4 オクテットから決定されます。 例えば、 .Nm 用に .Li 3ffe:0501:4819:ffff:: が予約されていて、 .Tn TCPv6 終点アドレスが .Li 3ffe:0501:4819:ffff::0a01:0101 なら、このトラフィックは IPv4 の終点 .Li 10.1.1.1 に向けてリレーされます。 .Pp .Nm による変換サービスを用いるには、 IPv4 アドレスをマップするための IPv6 アドレスプレフィクスを 予約しておく必要があります。 カーネルは、そこで予約した IPv6 アドレスプレフィックスへの すべての TCP コネクションを、 .Xr route 8 を用いて疑似インターフェース .Xr faith 4 にルーティングするように、適切に構築されていなければなりません。 また、 .Xr sysctl 8 を用いて .Dv net.inet6.ip6.keepfaith を .Dv 1 に設定しておくべきです。 .Pp ルータは、予約された .Tn IPv6 アドレスプレフィックス行きのすべての TCP トラフィックを捕まえるように 設定しなければなりません。このためには .Xr route 8 と .Xr sysctl 8 のコマンドを使用します。 .Pp .Nm は、名前からアドレスへの特別な変換機構を必要とし、 ホスト名から特別な .Tn IPv6 アドレスプレフィックスへ解決します。 小規模なインストールでは、 .Xr hosts 5 を使用してください。 大規模なインストールでは、 特別なアドレス変換をサポートする DNS サーバが有用でしょう。 .Nm totd と呼ばれる実装が .Pa http://www.vermicelli.pasta.cs.uit.no/ipv6/software.html で入手可能です。 変換された DNS レコードが一般の DNS 群に伝播されないよう、注意してください。 非常に有害です。 .Pp .Ss デーモンモード .Nm がスタンドアロンプログラムとして起動されると、 .Nm は自分自身をデーモン化します。 .Nm は .Tn TCPv6 のポート .Ar service を listen します。 ポート .Ar service への .Tn TCPv6 トラフィックを見付けると、コネクションをリレーします。 .Pp .Nm が TCP ポート .Ar service を listen するので、 .Xr inetd 8 や他の標準的な仕組みを用いて、そのルータ上で .Ar service ポートを使うローカルな TCP デーモンを動作させることはできません。 .Nm に対して .Ar serverpath を指定することで、 ルータ上でローカルデーモンを走らせることができます。 終点アドレスがローカルのインターネットアドレスであれば、 .Nm は .Ar serverpath においてローカルデーモンを起動します。 それ以外の場合、 .Nm は IPv4 TCP への変換を行います。 ローカルデーモンの引数は .Ar serverargs を用いて指定することができます。 .Pp 次のオプションが使用可能です: .Bl -tag -width indent .It Fl d .Xr syslog 3 を用いてデバッグ情報を出力します。 .It Fl f Ar configfile アクセス制御用の設定ファイルを指定します。後述を参照してください。 .It Fl p IPv4 TCP コネクションを最終の終点向けにリレーする際、 .Nm はソースポートとして特権 TCP ポートを使用します。 .Xr ftp 1 や .Xr rlogin 1 をリレーする際は 本オプションは不要です。そのための特別なプログラムコードが含まれています。 .El .Pp .Nm は通常の TCP データも帯域外 TCP データもリレーします。 TCP half close をエミュレートすることも可能です。 .Nm は .Xr ftp 1 と .Xr rlogin 1 で用いられるプロトコルに対して、特別なサポートを行います。 FTP プロトコルを転送する際は、 .Nm は、 .Li PORT/LPRT/EPRT コマンドおよび .Li PASV/LPSV/EPSV コマンドにおけるネットワークレベルアドレスも変換します。 RLOGIN プロトコルに対しては、 .Nm は、サーバ側の .Xr rlogind 8 からクライアント側の .Xr rlogin 1 への逆方向コネクションもリレーします。 .Pp アクティブでないセッションは 30 分で切断します。 これは、使わなくなったセッションのせいでリソースが消費されるのを 防ぐためです。 サービスによってはこの機能は適切でないかもしれません。 .Pq この機能をコンフィギュレーション可能にすべきでしょうか? .Ss inetd モード .Nm が .Xr inetd 8 から起動されると、 .Nm は標準入力から渡されるコネクションを扱います。 コネクションの終点が、予約した IPv6 アドレスプレフィックスの範囲内の場合、 .Nm はコネクションをリレーします。 それ以外の場合、 .Nm はサービスに対応する .Xr telnetd 8 のようなデーモンを起動し、 .Xr inetd 8 から渡されるコマンド引数を使用します。 .Pp .Nm は、ローカルな TCP ポート番号を元に動作モードを決定し、 必要な時/可能な時には特別なプロトコル処理を有効にします。 例えば、 .Nm が FTP ポート上で .Xr inetd 8 から起動されると、これは FTP リレーとして動作します。 .Pp この動作モードでは、 .Xr inetd 8 中に .Nm 用の特別なサポートを必要とします。 .Ss アクセス制御 悪意あるアクセスを防ぐため、 .Nm は単純なアドレスベースのアクセス制御を実装しています。 .Pa /etc/faithd.conf .Po または .Fl f で指定した .Ar configfile .Pc で、 .Nm は望まないトラフィックの中継を防ぎます。 .Pa faithd.conf は、次の書式のディレクティブを含みます: .Bl -bullet .It -.Xo -.Ic Ar src/slen Li deny Ar dst/dlen -.Xc +.Ar src Ns / Ns Ar slen Cm deny Ar dst Ns / Ns Ar dlen .Pp 問い合わせの始点アドレスが -.Ar src/slen +.Ar src Ns / Ns Ar slen に合致する場合で、変換後の終点アドレスが -.Ar dst/dlen +.Ar dst Ns / Ns Ar dlen に合致する場合、接続を拒否します。 .It -.Xo -.Ic Ar src/slen Li permit Ar dst/dlen -.Xc +.Ar src Ns / Ns Ar slen Cm permit Ar dst Ns / Ns Ar dlen .Pp 問い合わせの始点アドレスが -.Ar src/slen +.Ar src Ns / Ns Ar slen に合致する場合で、変換後の終点アドレスが -.Ar dst/dlen +.Ar dst Ns / Ns Ar dlen に合致する場合、接続を許可します。 .El .Pp これらのディレクティブは順番に評価され、 最初に合致するエントリが効果を持ちます。 .Pp inetd モードでは、 .Xr inetd 8 のアクセス制御機能でトラフィックをフィルタ可能です。 .Sh 使用例 .Nm を起動する前に、 .Xr faith 4 インタフェースを適切に設定しておく必要があります。 .Bd -literal -offset # sysctl -w net.inet6.ip6.accept_rtadv=0 # sysctl -w net.inet6.ip6.forwarding=1 # sysctl -w net.inet6.ip6.keepfaith=1 # ifconfig faith0 up # route add -inet6 3ffe:501:4819:ffff:: -prefixlen 96 ::1 # route change -inet6 3ffe:501:4819:ffff:: -prefixlen 96 -ifp faith0 .Ed .Ss デーモンモードのサンプル .Li telnet サービスを変換し、そしてローカルな telnet サービスを提供しない場合は、 次のように .Nm を起動します: .Bd -literal -offset # faithd telnet .Ed .Pp もし .Pa /usr/local/v6/libexec/telnetd にある .Xr telnetd 8 によるローカル telnet サービスを提供したい場合は、 次のコマンドラインを使用します: .Bd -literal -offset # faithd telnet /usr/local/v6/libexec/telnetd telnetd .Ed .Pp ローカルデーモンに追加の引数を渡したい場合は: .Bd -literal -offset # faithd ftp /usr/local/v6/libexec/ftpd ftpd -l .Ed .Pp 他の使用例です。 rsh/rlogin サービスを変換するには .Fl p が必要かもしれません。 .Bd -literal -offset # faithd ssh # faithd login /usr/local/v6/libexec/rlogin rlogind # faithd shell /usr/local/v6/libexec/rshd rshd .Ed .Pp しかしながら、rlogin や rsh のコネクションを変換するときには注意が必要です。 更なる詳細については .Sx セキュリティの考察 を参照してください。 .Ss inetd モードのサンプル .Xr inetd.conf 5 に次の行を追加します。 構文はオペレーティングシステムによって様々でしょう。 .Bd -literal -offset telnet stream tcp6/faith nowait root /usr/sbin/faithd telnetd ftp stream tcp6/faith nowait root /usr/sbin/faithd ftpd -l ssh stream tcp6/faith nowait root /usr/sbin/faithd /usr/sbin/sshd -i .Ed .Pp .Xr inetd 8 は、listen するソケットをオープンし、 カーネルの TCP リレーサポートを有効化します。 コネクションが到着すると、 .Nm が .Xr inetd 8 から起動されます。 コネクションの終点が、予約した IPv6 アドレスプレフィックスの範囲内の場合、 .Nm はコネクションをリレーします。 それ以外の場合、 .Nm はサービスに対応する .Xr telnetd 8 のようなデーモンを起動します。 .Ss アクセス制御の例 以下に単純な .Pa faithd.conf 設定を示します。 .Bd -literal -offset # 3ffe:501:ffff::/48 からのすべてに変換器の使用を許し、 # 次の IPv4 の終点へ接続させます: # - 10.0.0.0/8 と 127.0.0.0/8 以外のすべて # 他の接続は許しません。 # 3ffe:501:ffff::/48 deny 10.0.0.0/8 3ffe:501:ffff::/48 deny 127.0.0.0/8 3ffe:501:ffff::/48 permit 0.0.0.0/0 .Ed .Sh 戻り値 成功すると .Nm は .Dv EXIT_SUCCESS .Pq 0 で終了し、エラーがある場合は .Dv EXIT_FAILURE .Pq 1 で終了します。 .Sh 関連項目 .Xr faith 4 , .Xr route 8 , .Xr sysctl 8 .Rs .%A Jun-ichiro itojun Hagino .%A Kazu Yamamoto .%T "An IPv6-to-IPv4 transport relay translator" .%R internet draft .%N draft-ietf-ngtrans-tcpudp-relay-04.txt .%O work in progress material .Re .\" .Sh 歴史 .Nm コマンドは WIDE Hydrangea IPv6 プロトコルスタックキットで 初めて登場しました。 .\" .Pp KAME プロジェクト (http://www.kame.net/) スタックに 基づく IPv6, IPsec サポートは、 .Fx 4.0 で初めて統合されました。 .Sh セキュリティの考察 .Nm .Pq および他の TCP リレーサービス でリレーされたコネクションに対し、 .Xr rhosts 5 をはじめとする IP アドレスベースの認証を用いるのは大変危険です。 .Pp .Pa faithd.conf もしくは IPv6 パケットフィルタを使用し、 .Nm へのアクセス制限を行うことを、管理者へお勧めします。 これは .Nm を悪意ある者達から防御することであり、 サービス/バンド幅を盗まれないようにすることを意味します。 IPv6 の終点アドレスについては、 .Xr route 8 を用いて、 .Xr faith 4 を指す経路エントリを注意深く設定することで、制限可能です。 IPv6 の始点アドレスについては、 パケットフィルタでフィルタする必要があります。 .Sx 関連項目 に列挙した文書に、本件に関する更なる議論が記述されています。 diff --git a/ja_JP.eucJP/man/man8/fdisk.8 b/ja_JP.eucJP/man/man8/fdisk.8 index d56b5688a8..be0b62492c 100644 --- a/ja_JP.eucJP/man/man8/fdisk.8 +++ b/ja_JP.eucJP/man/man8/fdisk.8 @@ -1,461 +1,460 @@ -.\" %FreeBSD: src/sbin/i386/fdisk/fdisk.8,v 1.17.2.6 2001/04/26 02:34:54 dd Exp % +.\" %FreeBSD: src/sbin/i386/fdisk/fdisk.8,v 1.17.2.7 2001/07/13 16:44:08 joerg Exp % .\" -.\" $FreeBSD:$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/fdisk.8,v 1.17 2001/04/30 03:48:37 horikawa Exp $ .Dd October 4, 1996 .Dt FDISK 8 .Os FreeBSD .Sh 名称 .Nm fdisk .Nd PC パーティションのメンテナンスプログラム .Sh 書式 .Nm .Op Fl BIaistu .Op Fl b Ar bootcode .Op Fl 1234 .Op Ar disk .Bl -tag -width time .Nm .Fl f Ar configfile .Op Fl itv .Op Ar disk .Sh 前置き BIOS がカーネルをブートするために、 一定の約束をちゃんと守らねばなりません。 ディスクのセクタ 0 はブートコード、パーティションテーブル、 マジックナンバを含んでいなければならないのです。 BIOS パーティションはディスクをいくつかの部分に分けるのにも使われます。 BIOS はセクタ 0 を読み込み、マジックナンバを確認します そして、セクタ 0 のブートコードはパーティションテーブルを探し、 どのパーティションが .Em アクティブ と印されているか判定します。 そして、このブートコードはブートストラップを .Em アクティブ パーティションから読み込み、ブート可能の印が付いていればこれを実行します。 DOS では、1 個以上のパーティションと 1 個の .Em アクティブ を持てます。 DOS の .Nm プログラムは、 ディスク空間を 1 個以上のパーティションに分割して、1 個の .Em アクティブ を設定することができます。 .Sh 解説 .Fx のプログラム .Nm は、DOS のそれと似た目的に役立ちます。 第 1 の形は、パーティション情報の表示や、 パーティションテーブルの対話的な編集に使われます。 第 2 の形は、 .Ar configfile を使ってパーティションテーブルを書き込むという使い方であり、 他のスクリプト/プログラムから利用するよう設計されています。 .Pp オプション: .It Fl a アクティブパーティションの変更のみを行ないます。 .Fl f があるときには無視されます。 .It Fl b Ar bootcode ブートコードをファイル .Ar bootcode から取得します。 .It Fl B ディスクのセクタ 0 に含まれるブートコードを再初期化します。 もし .Fl f があると、無視されます。 .It Fl f Ar configfile パーティションの値をファイル .Ar configfile を使って設定します。 .Fl i もあるときには、 .Ar configfile が読み込まれるに先立って、 存在するパーティションは全部消され(つまり「未使用」の印をつけられる) ますが、この場合を除いて、 .Ar configfile はいつも存在するパーティションの変更を行ないます。 .Ar configfile は "-" であってもよく、この場合 .Ar 標準入力 が読まれます。 ファイルの構文は、以降の .Sx 設定ファイル の節をご覧下さい。 .Pp .Em 警告 : .Fl f が使われたときには、 (対話モードで尋ねられるように) 本当にパーティションテーブルを書き込むのかどうかを尋ねられません。 用心して使うこと! .It Fl i ディスクのセクタ 0 を初期化します。 もし .Fl f がなければ、 .Fl u の意味も含みます。 .It Fl I 単一の FreeBSD スライスがディスク全体となるように、 セクタ 0 の内容を初期化します。 .It Fl s サマリ情報を表示し、終了します。 .It Fl t テストモード; パーティションテーブル値を書き込みません。一般に .Fl f オプションを付けて、パーティションテーブルに書き込まれるはずのものを 見るのに使われます。 .Fl v の意味を含みます。 .It Fl u ディスクのセクタ 0 を更新 (編集) するのに使われます。 .Fl f があるときには無視されます。 .It Fl v 冗長になります。 .Fl f が使われたときには、 .Nm はディスクに書き込まれるパーティションテーブルを表示します。 .It Fl 1234 1 個の fdisk エントリの操作だけを行ないます。 .Fl f があるときには無視されます。 .El .Pp 最後のディスク名 .Ar disk は、 .Sq 裸の ディスク名だけ、 つまり .Ql da0 か、あるいは .Pa /dev の下に完全に限定されたデバイスノードで与えることができます。 もし省略された場合、ディスク .Ql ad0 , -.Ql da0 , -.Ql od0 +.Ql da0 が、どれか 1 個が応答して見付かるまで この順序で検索されます。 .Pp 引数なしで呼び出されたときには、 セクタ 0 パーティションテーブルを表示します。 例えば: .Bd -literal ******* Working on device /dev/ad0 ******* parameters extracted from in-core disklabel are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) parameters to be used for BIOS calculations are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 495, size 380160 (185 Meg), flag 0 beg: cyl 1/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 2 is: sysid 164,(unknown) start 378180, size 2475 (1 Meg), flag 0 beg: cyl 764/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 3 is: The data for partition 4 is: sysid 99,(ISC UNIX, other System V/386, GNU HURD or Mach) start 380656, size 224234 (109 Meg), flag 80 beg: cyl 769/ sector 2/ head 0; end: cyl 197/ sector 33/ head 14 .Ed .Pp このディスクは、たまたまディスク全体を満す 3 つのパーティションに分割されています。 2 つ目のパーティションは最初のパーティションの最後に重なっています。 (デバッグ目的に使われます) .Bl -tag -width "cyl, sector と head" .It Em "sysid" パーティションのラベル付に使われます。 .Fx ではマジックナンバ 165 (10進) A5 (16進)を予約しています。 .It Em start No と Em size パーティションのセクタ単位での 開始アドレスとサイズです。 .It Em "flag 80" これがアクティブパーティションであることを指定します。 .It Em cyl , sector No と Em head パーティションの 開始アドレスと終了アドレスを指定するのに使われます。 .It Em 注 : これらの数字は、 BIOS の理解するディスクジオメトリを使って計算され、 ブートブロックに保存されます。 .El .Pp フラグ .Fl i または .Fl u は、 もし .Fl f オプションが使われていない限り、 パーティションデータを更新すべきであることを指示します。 もし .Fl f がなければ、 .Nm プログラムは対話モードに入ります。 このモードでは明示的に指示しない限り、どんなデータも変更しないように 設計されています。 .Nm はこのような振舞いを保証するよう、質問のデフォルトを選択しています。 .Pp .Nm は各々のパーティションを表示し、 それを編集したいかどうかを尋ねます。 yes と答えたら、 古い値を表示し、新しい値を尋ねて 各々のフィールドを進みます。 1 個のパーティションが終了したら、 .Nm はそれを表示して、それで正しいかどうかを尋ねます。 そして .Nm は次のエントリに進みます。 .Pp .Em cyl , sector , .Em head のフィールドを正しく得るにはちょっとした芸当が要ります。 そのためデフォルトでは、 .Nm が代わって計算しますが、選択してそれらの値を指定することもできます。 .Pp 全てのパーティションが進行した後、 .Em アクティブ パーティション変更をすることができます。 最後に、 最初のセクタのデータが全部集めれらたときに、 本当にセクタ 0 を書換えても良いか尋ねられます。 yes と答えた場合だけ、データはディスクに書き込まれます。 .Pp .Fl u フラグと .Fl i の間の違いは、 .Fl u フラグはディスク上にあるフィールドの値を編集するだけですが、 一方 .Fl i フラグはセクタ 0 を "初期化" するのに使われます; ディスク全体を .Fx 用に使えるように、 最後の BIOS パーティションをセットアップして、それをアクティブにします。 .Sh 注 開始シリンダ等の自動計算は、 BIOS がそのドライブのジオメトリであると思っている数字をもとに行なわれます。 これらの数字はデフォルトでは、メモリ上のディスクラベルから取りますが、 プログラムの起動時にそれらを変更する機会が与えられます。 このおかげでユーザは、 BIOS がジオメトリ変換を行なうドライブでも動作できるブートブロックを 作ることができます。 .Pp もしディスクのレイアウトを手作業で変更するのなら、 どうか .Fx パーティションがシリンダ境界から開始することを確認してください。 その後のたくさんの決定がこのことを仮定しています。 (これは必要ではなかったのかもしれませんが) .Pp すでにあるパーティションを編集すると、 たぶんそのパーティションのデータを失うことになるでしょう。 .Pp このプログラムがどう働くかを調べるために、 1 度か 2 度は対話的に実行するべきです。 これは、最後の質問に否定で答える限り完全に安全です。 このマニュアルでは完全に説明されていませんが、 プログラムが検出する微妙な点があります。 .Sh 設定ファイル .Fl f オプションが与えられたとき、 .Ar configfile の値を使ってディスクのパーティションテーブルを書換えることができます。 このファイルの構文はたいへん単純です。 各行はコメントか仕様のどちらかで、空白 (改行を除く) は無視されます。 .Bl -tag -width Ds .It Xo .Ic # .Ar comment ... .Xc \&"#" で開始している行はコメントで無視されます。 .It Xo .Ic g .Ar spec1 .Ar spec2 .Ar spec3 .Xc パーティション計算で使う BIOS ジオメトリを設定します。 前に文字を伴った数字で、3 つの値を指定することが必要です。 .Bl -tag -width Ds .Sm off .It Cm c Ar num .Sm on シリンダの数を .Ar num に設定します。 .Sm off .It Cm h Ar num .Sm on ヘッドの数を .Ar num に指定します。 .Sm off .It Cm s Ar num .Sm on トラックあたりのセクタの数を .Ar num に設定します。 .El .Pp これらの指定はどんな順序でもよく、先頭の文字がどの値かを決定します; しかし、3 つ全てを指定することが必要です。 .Pp この行はパーティション情報を指定するどんな行よりも前に現れなくてはなりません。 .Pp 次の条件が真でなければ、エラーです: .Pp .Bd -literal -offset indent 1 <= シリンダの数 1 <= ヘッドの数 <= 256 1 <= トラックあたりのセクタの数 < 64 .Ed .Pp シリンダの数は 1024 以下でなければなりませんが、 しかしこれは強制されるものではなく、警告が出力されるでしょう。 ブート可能な .Fx パーティション ("/" ファイルシステム) は 最初の 1024 シリンダ以内に収まっていなといけません; もしそうでなければ、ブートに失敗するかもしれません。 ブートしないパーティションには、この制限はありません。 .Pp 1019 シリンダ、39 ヘッド、63 セクタのディスクの例 (これらの全てはみな等価): .Pp .Bd -literal -offset indent g c1019 h39 s63 g h39 c1019 s63 g s63 h39 c1019 .Ed .It Xo .Ic p .Ar partition .Ar type .Ar start .Ar length .Xc .Ar partition (1-4) で与えられたパーティションに、タイプ .Ar type 、開始セクタ .Ar start 、長さ (セクタ数) .Ar length を設定します。 .Pp これらの行で明示的に言及されたパーティションだけが変更されます; \&"p" 行で参照されていないパーティションは変更されません。 しかし、無効なパーティションテーブルがあるか、 .Fl i オプションが指定されているなら、 存在するパーティションエントリは全て取り除かれ (未使用の印がつけられ)、 パーティション情報を明示的に設定するのに、 \&"p" 行が使われなければなりません。 もし複数のパーティションを設定する必要があるなら、 複数の "p" 行が指定されなければなりません; 1 行で 1 個のパーティションを設定します。 .Pp これらのパーティション行は、もしあればジオメトリ指定行の後に現れなければ なりません。 .Pp .Fx パーティションの .Ar type は 165 です。0 のパーティションタイプを指定すると、 パーティションを取り除き未使用の印をつけたのと同じことになります; しかし、("0" とかの) ダミーの値が .Ar start と .Ar length に指定されなければなりません。 .Pp 注: パーティションの開始オフセットはヘッド境界まで必要なら繰り上げられ、 終了オフセットはシリンダ境界まで必要なら繰り下げられます。 .Pp 例: パーティション 4 を取り除いて、未使用の印をつける: .Pp .Bd -literal -offset indent p 4 0 0 0 .Ed .Pp 例: パーティション 1 を .Fx パーティションであって、 セクタ 1 から始まって 2503871 セクタの長さに設定する (注: これらの値は、 対応するヘッドとシリンダ境界に繰り上げ/繰り下げられます): .Pp .Bd -literal -offset indent p 1 165 1 2503871 .Ed .Pp .It Xo .Ic a .Ar partition .Xc .Ar partition パーティションをアクティブにします。 設定ファイルのどこに現われても構いませんが、 1 個だけ存在することが必要です。 .Pp 例: パーティション 1 をアクティブパーティションにします: .Pp .Bd -literal -offset indent a 1 .Ed .El .Sh 関連ファイル .Bl -tag -width /boot/mbr -compact .It Pa /boot/mbr デフォルトのブートコード .El .Sh 関連項目 .Xr disklabel 8 .Sh バグ デフォルトのブートコードは、 必ずしもすべてのパーティションタイプを正しく扱いません。 特に MS-DOS 6.x 以降に導入されたものについてはそうです。 .Pp プログラム全体をよりユーザフレンドリにするべきです。 .Pp このマニュアルを通して使われている術語 .Sq パーティション は、他で使われる術語に一致させるため、 本当は .Sq スライス であるべきです。 .Pp ディスク全体を .Fx に捧げるためには、このコマンドは使えません。 これには .Xr disklabel 8 コマンドを使わなればなりません。 diff --git a/ja_JP.eucJP/man/man8/ifconfig.8 b/ja_JP.eucJP/man/man8/ifconfig.8 index 3223a3dca9..0c8e222ce3 100644 --- a/ja_JP.eucJP/man/man8/ifconfig.8 +++ b/ja_JP.eucJP/man/man8/ifconfig.8 @@ -1,614 +1,622 @@ .\" 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 acknowledgment: .\" 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: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.27.2.10 2001/07/04 00:12:17 brooks Exp % +.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.27.2.11 2001/07/04 20:49:20 brooks Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/ifconfig.8,v 1.18 2001/05/26 02:41:04 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/ifconfig.8,v 1.19 2001/07/12 00:16:03 horikawa Exp $ .\" .Dd February 13, 1996 .Dt IFCONFIG 8 .Os BSD 4.2 .Sh 名称 .Nm ifconfig .Nd ネットワークインタフェースのパラメータの設定を行なう .Sh 書式 .Nm .Op Fl L +.Op Fl m .Ar interface .Op Ar address_family .Oo .Ar address Ns Op Cm / Ns Ar prefixlength .Op Ar dest_address .Oc .Op Ar parameters .Nm .Fl a .Op Fl L .Op Fl d +.Op Fl m .Op Fl u .Op Ar address_family .Nm .Fl l .Op Fl d +.Op Fl m .Op Fl u .Op Ar address_family .Nm .Op Fl L .Op Fl d .Op Fl u .Sh 解説 .Nm は、ネットワークインタフェースに対してネットワークアドレス の割り当てを行ない、ネットワークインタフェースのパラメータの設定を行ないます。 .Nm は、システム立ち上げ 時に、マシンが備える各ネットワークインタフェースに対してネットワークアドレス を割り当てるように使用しなければなりません。また、一旦各ネットワークインタフェ ースに対し設定したネットワークアドレスを再定義したり、パラメータの設定を 変えたりすることも可能です。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Ar address .Tn DARPA Ns -Internet ファミリでは、アドレスはホスト名データベース .Xr hosts 5 に登録されているホスト名であるか、もしくは インターネット標準の .Dq ドット表記 です。 .Pp CIDR 表現 (スラッシュ表現としても知られています) もまた、 ネットマスクの表現に使用可能です。 つまり、 .Li 192.168.0.1/16 のようなアドレスを指定可能です。 .\" ゼロックスネットワークシステム(tm)ファミリでは、 .\" アドレスは .\" .Ar net:a.b.c.d.e.f .\" という形式です。 .\" ここで .\" .Ar net .\" は割り当てるネットワーク番号(10進数)、 .\" 残りの .\" .Ar a .\" から .\" .Ar f .\" までは .\" ホスト番号を表す 6 バイトであり 16 進数で指定します。 .\" ホスト番号は IEEE 802 プロトコル (Ethernet, FDDI, Token Ring) .\" インタフェースでは省略可能です。 .\" ホスト番号指定を省略した場合には、 .\" 一番目のインタフェースのハードウェア物理アドレスを .\" すべてのインタフェースにおいて使用します。 .\" .Tn ISO .\" ファミリでは、 .\" ゼロックスファミリと同じ長さのアドレスを、 .\" 長い 16 進数の文字列で指定します。 .\" 違いは、 .\" ドットが続いた場合にはそのバイトはゼロを表すことと、 .\" ドットはオプションであることです .\" (ドットはネットワークバイトオーダの長い数字列を .\" 注意深く扱うために使用します)。 .It Ar address_family 他のパラメータの解釈に影響するネットワーク .Ar "address family" を指定します。 インタフェースが異なるプロトコルの送信を異なる名前付け体系で 受けることがあるので、アドレスファミリを指定しておくことをお勧めします。 本コマンドでサポートされるプロトコルファミリは、 .Dq inet , .Dq inet6 , .Dq atalk , .Dq ether , .\".Dq iso , .Dq ipx .\" .Dq ns です。 .It Ar dest_address ポイントツーポイントリンクにおける他端のアドレスを指定します。 .It Ar interface インタフェースパラメータは、 .Dq name unit の形式で表現されます。 例えば .Dq en0 です。 .El .Pp .Nm では以下のパラメータが利用できます: .Bl -tag -width indent .It Cm add .Cm alias パラメータの別名です。 BSD/OS との互換性のために導入されました。 .It Cm alias 指定したインタフェースに、ネットワークアドレスを追加して指定します。 これはネットワーク番号を変更した際に、以前のアドレスに送られるパケットを 受けとりたい場合などに便利です。 アドレスが、 本インタフェースの最初のネットワークアドレスと同じサブネット上の場合、 ネットマスク 0xffffffff を指定する必要があります。 .It Fl alias 指定したネットワークアドレスを無効にします。本機能は、alias で不正なアドレスを 指定した場合や、すでに指定したアドレスが必要ない場合などに使用します。 誤った NS アドレスをホスト部分とともに指定した場合には、 NS アドレスを全て無効にすることにより再度ホスト部分を指定可能となります。 .It Cm anycast (inet6 のみ) 設定されるアドレスはエニーキャスト (anycast) アドレスであると指定します。 現在の仕様では、ルータのみがエニーキャストアドレスに設定可能です。 エニーキャストアドレスは、 出力 IPv6 パケットの送信元アドレスとしては使用されません。 .It Cm arp アドレス解決プロトコル (ARP) を用いてネットワークレベルのアドレスとリンクレベル のアドレスの対応を取ることを可能にします (デフォルト)。この機能は、 .Tn DARPA インターネットアドレスと .Tn IEEE 802 の 48 ビット MAC アドレス (Ethernet, FDDI, Token Ring のアドレス) の間の対応を取るように作られています。 .It Fl arp アドレス解決プロトコルの使用を禁止します。 .It Cm broadcast ネットワークに対するブロードキャストアドレスを指定します。 ブロードキャストアドレスのデフォルト値は、 ホスト部のビットがすべて 1 になったアドレスです。 .It Cm debug ドライバ依存のデバッグモードを有効にします。 通常コンソールへのエラーログを有効にします。 .It Fl debug ドライバ依存のデバッグモードを無効にします。 .It Cm delete .Fl -alias パラメータの別名です。 .It Cm down 指定したネットワークインタフェースに .Dq down とマークします。 .Dq down と マークされたインタフェースに対しては、システムはメッセージの送信を行ない ません。可能であれば、そのインタフェースは受信も不可能となるように リセットされます。この動作は、そのインタフェースを用いる ルーティングを使用しないよう自動的に設定するものではありません。 .It Cm ether .Dq lladdr パラメータの別名。 .\" .It Cm ipdst .\" リモートネットワーク向け NS パケットをカプセル化している IP パケットを .\" 受信する、インターネットホストを指定するために使用します。 .\" 外見上 point to point リンクが構成され、 .\" 指定されたアドレスは、 .\" デスティネーションの NS アドレスとネットワークアドレスとされます。 .\" .Tn CLNP .\" パケットの IP カプセル化はこれとは異なった方法で実現されます。 .It Cm lladdr Ar addr インタフェースにリンクレベルアドレスを設定します。 例えばイーサネットインタフェースに新規 MAC アドレスを 設定するために使用可能ですが、 使用される機構はイーサネットインタフェースに限ったものではありません。 アドレス .Ar addr は、コロン区切りの 16 進数の連続で指定します。 本オプション指定時にインタフェースが既に up である場合、 インタフェースを一時的に down にしてから再度 up にします。 これは、下位のイーサネットハードウェアの受信フィルタが 正しくプログラムされたことを保証するためです。 .It Cm media Ar type ドライバがメディア選択能力を持つ場合、 インタフェースのメディアタイプを .Ar type に設定します。 インタフェースによっては、 複数の異なった物理メディアコネクタのうちのいずれかを 排他的に使用することをサポートします。 例えば、10Mb/s Ethernet インタフェースには .Tn AUI とツイストペアコネクタをサポートするものがあります。 メディアタイプを .Dq 10base5/AUI に設定すると、AUI ポートを現在のアクティブなコネクタとします。 また .Dq 10baseT/UTP に設定すると、ツイストペアをアクティブにします。 使用可能なタイプの完全なリストは、 インタフェースドライバ固有の文書やマニュアルページを参照してください。 .It Cm mediaopt Ar opts ドライバがメディア選択能力を持つ場合、 インタフェースのメディアオプションを設定します。 .Ar opts はコンマで区切ったオプションリストで、インタフェースに適用されます。 使用可能なオプションの完全なリストは、 インタフェースドライバ固有のマニュアルページを参照してください。 .It Fl mediaopt Ar opts インタフェースのメディアオプションを無効にします。 .It Cm tunnel Ar src_addr Ar dest_addr (IP トンネルデバイスのみ) IP トンネルインタフェース (gif) 用の、 物理的な始点アドレスと終点アドレスを設定します。 引数 .Ar src_addr と .Ar dest_addr は、カプセル化する IPv4/IPv6 ヘッダ用の、外部の始点/終点として解釈されます。 .It Cm deletetunnel 以前に .Cm tunnel で設定した IP トンネルインタフェースの、 物理的な始点アドレスと終点アドレスの設定を解除します。 .Cm tunnel . .It Cm vlan Ar vlan_tag インタフェースが vlan 擬似インタフェースの場合、vlan タグ値を .Ar vlan_tag に設定します。 この値は 16 ビット数値であり、vlan インタフェースから送られるパケットの 802.1Q vlan ヘッダの作成に使用されます。 .Cm vlan と .Cm vlandev は同時に設定される必要があることに注意してください。 .It Cm vlandev Ar iface インタフェースが vlan 擬似デバイスの場合、物理インタフェース .Ar iface を関連付けます。 vlan インタフェースから送信されるパケットは、 802.1Q vlan カプセル化付きで、指定された物理インタフェース .Ar iface へ向けて転換 (divert) されます。 親インタフェースが受信した 802.1Q カプセル化付きのパケットに 正しい vlan タグが付いていた場合、 そのパケットは関連付けられた vlan 擬似インタフェースへ転換されます。 vlan インタフェースは、 親インタフェースのフラグと親のイーサネットアドレスが割り当てられます。 .Cm vlandev と .Cm vlan は同時に設定される必要があります。 vlan インタフェースが既に物理インタフェースと関連付けられている場合、 このコマンドは失敗します。 別の物理インタフェースへ関連付けを変更するには、 既存の関連付けをまずクリアする必要があります。 .Pp 注: vlan インタフェースで .Ar link0 フラグをセットした場合、vlan 擬似インタフェースの振舞いが変わります: 親インタフェースが自身の vlan タグの挿入と取り出しをサポートすること、 vlan インタフェースが親に対して無修正でパケットを渡すべきことを、 .Ar link0 は vlan インタフェースに対して通知します。 .It Fl vlandev Ar iface ドライバが vlan 擬似ドライバの場合、物理インタフェース .Ar iface どドライバとの関連付けを解除します。 これにより、vlan インタフェースとその親との間のリンクを破壊し、 vlan タグとフラグとリンクアドレスをクリアし、 インタフェースをシャットダウンします。 .It Cm metric Ar n インタフェースのルーティングメトリックを .Ar n で指定します。初期値は 0 です。 ルーティングメトリックは、ルーティングプロトコル .Pq Xr routed 8 で使用されます。 .It Cm mtu Ar n そのインタフェースの最大転送単位 (mtu) を .Ar n に設定します。デフォルト値はインタフェースに依存します。 mtu はインタフェースに送られるパケットの大きさを制限するのに用いられます。 mtu を設定できなかったり、設定出来る値の範囲に制限のある インタフェースがあります。 .It Cm netmask Ar mask .\" (inet と ISO) (inet のみ) ネットワークをサブネットワークに細分割する際に、ネットワークアドレスとして リザーブするアドレスを指定します。 mask が指定する部分は、 アドレスのネットワーク部とサブネット部です。 サブネット部はアドレスのホスト部の一部です。 mask は、0x ではじまる16進数、 ドット表記のインターネットアドレス形式、 ネットワークテーブル .Xr networks 5 に記述されている仮想ネットワーク名のいずれかで指定できます。 mask での 32ビットアドレスにおける 1 であるビットの部分は、 ネットワーク部もしくはサブネット部として使用します。 0 であるビットの部分はホスト部として使用します。 mask は少なくともネットワーク部を含む必要があり、 サブネット部はネットワーク部に連続する必要があります。 .Pp ネットマスクはまた、CIDR 表現で、アドレスの後に指定可能です。 更なる情報については、前述の .Ar address オプションを参照してください。 .It Cm prefixlen Ar len (inet6 のみ) .Ar len ビットを、ネットワークからサブネットワークへの分割用に予約すると、 指定します。 .Ar len は整数であることが必要であり、 文法的な理由で 0 から 128 の間であることが必要です。 現在の IPv6 の割り当て規則では、ほぼ常に 64 です。 本パラメータを省略すると、64 が使用されます。 .\" see .\" Xr eon 5 . .\" .It Cm nsellength Ar n .\" .Pf ( Tn ISO .\" のみ) .\" .Tn NSAP .\" に後続するローカル識別に使用するバイト数を指定します。 .\" この部分は .\" .Tn NET .\" (Network Entity Title) .\" として扱われます。 .\" バイト数のデフォルト値は 1 であり、US .\" .Tn GOSIP .\" 準拠です。 .\" ifconfig コマンドで設定するISO アドレスが、 .\" .Tn NSAP .\" です。 .\" 例えば .\" .Tn US GOSIP .\" では、20 文字の 16 進数を .\" .Tn ISO NSAP .\" において指定し、 .\" インタフェースに割り当てる必要があります。 .\" .Tn AFI .\" 37 タイプアドレスにおいて、数字が 1 とは異なると便利であるのは、 .\" それなりの理由があります。 .It Cm range Ar netrange Appletalk において .Ar netrange に返答するようにインタフェースを設定します。 書式は .Ar startnet Ns - Ns Ar endnet です。 Appletalk は netmask ではなくこの方法を使用しますが、 .Fx の内部においては netmask の集合として実装しています。 .It Cm remove .Fl alias パラメータの別名です。 BSD/OS との互換性のために導入されました。 .It Cm phase これに続く引数は、 インタフェースに接続された Appletalk ネットワークの バージョン (フェーズ) を指定します。 1 または 2 が許されています。 .It Cm link Ns Xo .Op Cm 0 Ns - Ns Cm 2 .Xc 指定したインタフェースのリンクレベルでの特殊な処理を有効にします。 3 つのオプション の実際の効果はインタフェース依存です。しかしながら、これらのオプションは、 一般的には特殊なオペレーションモードを選択するのに用いられます。この例として、 SLIP 使用時のデータ圧縮や、Ethernet カードのコネクタ選択を行います。 各ドライバごとのマニュアルページに 詳細が記してあるので、詳しくはそちらの方を参照して下さい。 .It Fl link Ns Xo .Op Cm 0 Ns - Ns Cm 2 .Xc 指定したインタフェースのリンクレベルでの特殊な処理を無効にします。 .It Cm up 指定したネットワークインタフェースに .Dq up とマークします。 本オプションは、 .Dq ifconfig down を行なった後にインタフェースを有効にするのに用いられます。 最初にインタフェースにアドレスを設定した場合には、自動的に本指定はされたものと して扱います。もし、down とマークされていたインタフェースがリセットされた場合、 ハードウェアは再初期化されます。 .It Cm ssid Ar ssid IEEE 802.11 無線インタフェース用であり、 希望するサービスセット識別子 (SSID; 別名はネットワーク名) を設定します。 SSID は、32 文字までの文字列であり、 通常の文字列の形式か .Sq 0x を前に付けた 16 進数の形式で、指定可能です。 更に、SSID に .Sq - を設定することで、これを消去可能です。 .It Cm nwid Ar ssid .Dq ssid パラメータの別名。 NetBSD との互換性のためにあります。 .It Cm stationname Ar name IEEE 802.11 無線インタフェース用であり、 このステーションの名前を設定します。 ステーション名は、本当は IEEE 802.11 プロトコルの一部ではないようですが、 すべてのインタフェースがこれをサポートしているようです。 そのようなものですから、 同じもしくは実際的に同じ機器にとってのみ有用であるようです。 .It Cm station Ar name .Dq stationname パラメータの別名。 BSD/OS との互換性のためにあります。 .It Cm channel Ar number IEEE 802.11 無線インタフェース用であり、 希望するチャネルを設定します。 チャネルの範囲は 1 から 14 ですが、 アダプタがどの地域用に製造されたかに、利用可能な選択肢は依存します。 チャネルを 0 に設定すると、アダプタのデフォルト設定になります。 アドホックモード以外では、多くのアダプタがこの設定を無視します。 .It Cm authmode Ar mode IEEE 802.11 無線インタフェース用であり、 インフラストラクチャモードでの希望する認証モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは .Dq none , .Dq open , .Dq shared です。 モードは、大文字小文字を区別しません。 .It Cm powersave IEEE 802.11 無線インタフェース用であり、省電力モードを有効にします。 .It Cm -powersave IEEE 802.11 無線インタフェース用であり、省電力モードを無効にします。 .It Cm powersavesleep Ar sleep IEEE 802.11 無線インタフェース用であり、 希望する最大省電力スリープ時間をミリ秒で指定します。 .It Cm wepmode Ar mode IEEE 802.11 無線インタフェース用であり、希望する WEP モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは .Dq off , .Dq on , .Dq mixed です。 .Dq mixed モードは、暗号化トラフィックと非暗号化トラフィックの両方を許す アクセスポイントとの関係を許すことを、アダプタに明示的に指定します。 両方を許すアダプタにおける .Dq on は、 アクセスポイントが暗号化接続のみを許可することが必要であることを意味します。 他のアダプタにおける .Dq on は、一般的に .Dq mixed の別名です。 モードは、大文字小文字を区別しません。 .It Cm weptxkey Ar index IEEE 802.11 無線インタフェース用であり、送信に使用する WEP 鍵を設定します。 .It Cm wepkey Ar key|index:key IEEE 802.11 無線インタフェース用であり、選択された WEP 鍵を設定します。 .Ar index が指定されない場合、鍵 1 が設定されます。 WEP 鍵の長さは、5 文字または 13 文字 (40 ビットまたは 104 ビット) であり、 ローカルネットワークとアダプタの機能に依存します。 通常の文字列の形式か .Sq 0x を前に付けた 16 進数の形式で、指定可能です。 鍵は、 .Sq - を設定することで、これを消去可能です。 WEP がサポートされていれば、最低 4 個の鍵があります。 アダプタによっては 4 個を越える鍵をサポートするものもあります。 そのような場合、最初の 4 個の鍵 (1-4) が標準の一時鍵となり、 他の鍵がアダプタ固有の鍵となります 後者は、例えば、NVRAM に格納される永続鍵です。 .It Cm wep .Dq wepmode on の別の指定方法。 BSD/OS との互換性のためにあります。 .It Cm -wep .Dq wepmode off の別の指定方法。 BSD/OS との互換性のためにあります。 .It Cm nwkey key 以下の、別の指定方法。 .Pp ``wepmode on weptxkey 1 wepkey 1:key wepkey 2:- wepkey 3:- wepkey 4:-''. .Pp NetBSD との互換性のためにあります。 .It Cm nwkey n:k1,k2,k3,k4 以下の、別の指定方法。 .Pp ``wepmode on weptxkey n wepkey 1:k1 wepkey 2:k2 wepkey 3:k3 wepkey 4:k4''. .Pp NetBSD との互換性のためにあります。 .It Cm -nwkey .Dq wepmode off の別の指定方法。 .Pp NetBSD との互換性のためにあります。 .El .Pp .Nm は引数としてネットワークインタフェース以外に何のオプションも与えられない場合、 ネットワークインタフェースの現在の設定状態を表示します。 プロトコルファミリが指定されている場合、 .Nm はプロトコルファミリに特有の情報についてのみ表示します。 .Pp ドライバがメディア選択をサポートする場合、 サポートされているメディアのリストが出力に含まれます。 .Pp +インタフェース名の前に +.Fl m +フラグが渡されると、 +指定したインタフェースに対してサポートされているすべてのメディアを +ifconfig は表示します。 オプションとして、インタフェース名の代りに .Fl L フラグを指定すると、IPv6 用のアドレスの生存時間が、 時刻オフセット文字列として表示されます .Pp .Fl a フラグを指定できます。そうすると、 .Nm はシステム上の全インタフェースを表示します。 .Fl d フラグはこれを down したインタフェースに限定し、 .Fl u フラグはこれは up したインタフェースに限定します。 引数を指定しないと、 .Fl a が暗黙的に指定されます。 .Pp .Fl l フラグを使用するとシステム上の使用可能な全インタフェースのリストを、 その他の情報は付加せずに表示します。 このフラグは他のフラグとは排他的ですが、 .Fl d (down したインタフェースのみをリスト) と .Fl u (up したインタフェースのみをリスト) は例外です。 .Pp スーパユーザのみがネットワークインタフェースの設定を変更できます。 .Sh 注 メディア選択システムは比較的新しく、いくつかのドライバのみサポートしています (必要があるものも限られています)。 .Sh 診断 指定したインタフェースが存在しない、 要求したアドレスが未知のものである、 ユーザがネットワークインタフェースの設定を変更する権限を持っていない、 といったメッセージを表示します。 .Sh バグ IPv6 ノード間のいくつかの基本的な通信用に、 IPv6 リンクローカルのアドレスが必要です。 これらを .Nm で手動で削除すると、カーネルが非常に奇妙な動作を示すことがあります。 よって、このような手動削除は、強く非推奨です。 .Sh 関連項目 .Xr netstat 1 , .Xr netintro 4 , .Xr rc 8 , .Xr routed 8 .\" .Xr eon 5 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/inetd.8 b/ja_JP.eucJP/man/man8/inetd.8 index bbe0689e60..5a374c0cff 100644 --- a/ja_JP.eucJP/man/man8/inetd.8 +++ b/ja_JP.eucJP/man/man8/inetd.8 @@ -1,785 +1,860 @@ .\" Copyright (c) 1985, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)inetd.8 8.3 (Berkeley) 4/13/94 -.\" %FreeBSD: src/usr.sbin/inetd/inetd.8,v 1.46.2.6 2001/03/06 14:21:09 ru Exp % +.\" %FreeBSD: src/usr.sbin/inetd/inetd.8,v 1.46.2.8 2001/07/17 10:45:03 dwmalone Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/inetd.8,v 1.21 2001/05/14 01:09:49 horikawa Exp $ .Dd February 7, 1996 .Dt INETD 8 -.Os BSD 4.4 +.Os .Sh 名称 .Nm inetd .Nd インターネット .Dq スーパサーバ .Sh 書式 .Nm .Op Fl d .Op Fl l .Op Fl w .Op Fl W .Op Fl c Ar maximum .Op Fl C Ar rate .Op Fl a Ar address | hostname .Op Fl p Ar filename .Op Fl R Ar rate .Op Ar configuration file .Sh 解説 .Nm は、ブート時に .Pa /etc/rc の中で起動されます ( .Xr rc 8 参照)。起動されると、 .Nm は定められたインターネットソケットを監視し、接続要求を待ちます。 監視しているソケットに対して接続要求が出されると、 .Nm はそのソケットに対応したサービスを 判定し、サービスを提供するプログラムを起動します。 サーバプログラムはサービスソケットを標準入力・標準出力・ エラー出力として起動されます。 サービスプログラムが完了すると、 .Nm は再びソケットの監視を行ないます (後述するような例外もあります)。 .Nm を用いれば 1 つのデーモンで 複数のサービスプログラムを起動することができるので、 システムの負荷を軽減することができます。 .Pp .Nm は、起動時に以下のオプションを指定できます。 .Bl -tag -width indent .It Fl d デバッグモードにします。 .It Fl l 成功した接続のログをとります。 .It Fl w 外部サービスに対して TCP Wrapping をオンにします。 TCP Wrappers サポートについての更なる情報については、 .Sx "実装に関する注" の節を参照してください。 .It Fl W .Nm 組み込みの内部サービスに対して TCP Wrapping をオンにします。 .It Fl c Ar maximum 同時に起動可能なサービスの、デフォルトにおける最大値を指定します。 デフォルトでは、無制限です。 サービスごとに指定される "max-child" パラメータによって上書きされ得ます。 .It Fl C Ar rate 1 分間に単一の IP アドレスから起動されるサービスのデフォルトにおける最大値 を指定します。 デフォルトは未設定です。 サービスごとに指定される "max-connections-per-ip-per-minute" パラメータによって上書きされ得ます。 .It Fl R Ar rate 1 分間に起動できる最大のサービス数を指定します。デフォルトは 256 です。 rate に 0 を指定すると、起動可能な数は無制限になります。 .It Fl a バインドする IP アドレスを 1 個指定します。 代りに、ホスト名を指定可能です。 この場合、ホスト名に対応する IPv4 または IPv6 のアドレスが使用されます。 通常、 .Nm が .Xr jail 8 内で起動される時点で、ホスト名が指定されます。 この場合、ホスト名は .Xr jail 8 環境に対応するものです。 .Pp ホスト名指定が使用され、IPv4 および IPv6 両方のバインドを望む場合、 .Pa /etc/inetd.conf の各サービスに対して、 各バインドに対する適切な .Em プロトコル のエントリが必要です。 例えば TCP ベースのサービスは 2 エントリが必要であり、 ひとつは .Em プロトコル に .Dq tcp4 を使用し、もうひとつは .Dq tcp6 を使用します。 後で説明する .Pa /etc/inetd.conf の .Em プロトコル フィールドを参照してください。 .It Fl p デフォルトとは異なるプロセス ID を保持するファイルを指定します。 .El .Pp .Nm は実行時に設定情報を設定ファイルから読み込みます。 デフォルトでは設定ファイルは .Pa /etc/inetd.conf です。 設定ファイルの各フィールドにはエントリが 1 つなければなりません。 各フィールドのエントリはタブやスペースで区切ります。 コメントは行頭に .Dq # をつけます。 設定ファイルのフィールドは以下のものからなります: .Pp .Bd -unfilled -offset indent -compact サービス名 ソケットタイプ プロトコル {wait|nowait}[/最大子プロセス数[/IPあたりの分あたりの最大接続数]] ユーザ名[:クループ名][/ログインクラス名] サーバプログラム名 サーバプログラム引数 .Ed .Pp .Tn "ONC RPC" ベースのサービスを記述する場合には、以下のエントリを記述します。 .Pp .Bd -unfilled -offset indent -compact サービス名/バージョン ソケットタイプ RPC/プロトコル ユーザ名 サーバプログラム名 サーバプログラム引数 .Ed .Pp .Nm が起動することのできるサービスは 2 種類あります。 1 つは標準で、もう 1 つは TCPMUX です。 標準サービスには割り当てられた well-known ポートがあります。 これは公式のインターネット標準を実装したサービスや BSD 特有のサービスです。 .Tn RFC 1078 に書かれているように、TCPMUX は非標準サービスであり、 well-known ポートが割り当てられていません。 そういった非標準サービスは、あるプログラムが .Dq tcpmux well-known ポートに接続してそのサービス名を指定したとき、 .Nm によって起動されます。 この機能はローカルに開発されたサーバを追加するときに 便利です。 TCPMUX リクエストが受理されるのは、 TCPMUX ベースのサーバに至るまでにおいて、 マルチプレクササービス自身が有効にされているときのみです。 後述の内部サービスに関する議論を参照してください。 .Pp .Em サービス名 のエントリには、 .Pa /etc/services -ファイルに記述されているサービス名が記述されます。 +ファイルに記述されているサービス名か、 +.Ux +ドメインソケット (後述) の指定が記述されます。 .Dq 内部 サービス (後述) については、 名前としてそのサービスのオフィシャル名 (すなわち .Pa /etc/services 内の最初のエントリ) を指定すべきです .Tn "ONC RPC" ベースのサービスを指定するためには、このフィールドは .Pa /etc/rpc に書かれた有効な RPC サービス名でなければなりません。 .Dq / の右の部分が RPC のバージョン番号です。バージョン番号は、 数字もしくは、バージョンの幅 (レンジ) で指定します。 幅を指定する場合は低い番号から高い番号を指定します。たとえば .Dq rusers/1-3 のように記述します。 TCPMUX サービスでは、 .Em サービス名 のフィールドは、文字列 .Dq tcpmux 、スラッシュ、そしてローカルに選ばれたサービス名から なります。 .Pa /etc/services に書かれたサービス名と .Dq help は予約済であり、ローカルなサービス名には使用できません。 TCPMUX サービスのためにユニークな名前をつけるには、 頭に組織名をつけ、末尾にバージョン番号をつけるとよいでしょう。 .Pp .Em ソケットタイプ のエントリは、 .Dq stream , .Dq dgram , .Dq raw , .Dq rdm , .Dq seqpacket のいずれかである必要があります。それぞれ、ソケットが stream, -datagram, -raw, -reliably delivered message, +datagram, +raw, +reliably delivered message, sequenced packet socket である場合に対応しています。 TCPMUX サービスは .Dq stream を使わなければなりません。 .Pp .Em プロトコル のエントリには、 -有効なプロトコル名が記述されます。 +有効なプロトコル名か +.Dq unix +が記述されます。 例えば .Dq tcp や .Dq udp などです。 この場合、後方互換性のため、暗黙的に本エントリは IPv4 を意味します。 名前 .Dq tcp4 , .Dq udp4 は、IPv4 のみを指定します。 名前 .Dq tcp6 , .Dq udp6 は、IPv6 のみを指定します。 名前 .Dq tcp46 , .Dq udp46 は、エントリに IPv6 とワイルドカード .Dv AF_INET6 ソケット経由の IPv6 の両方を受理させます。 サービスが T/TCP 経由で到達可能とするためには、 .Dq tcp/ttcp を指定する必要があります。 後方互換性のため、暗黙的に本エントリは IPv4 を意味します。 名前 .Dq tcp4/ttcp は、IPv4 のみを指定し、 名前 .Dq tcp6/ttcp は、IPv6 のみを指定します。 名前 .Dq tcp46/ttcp は、エントリに IPv6 とワイルドカード .Dv AF_INET6 ソケット経由の IPv6 の両方を受理させます。 RPC ベースのサービス (現在のところ IPv4 のみサポートされます) の場合、 .Dq rpc/tcp や -.Dq rpc/udp +.Dq rpc/udp のような指定になります。 TCPMUX サービスは .Dq tcp , .Dq tcp4 , .Dq tcp6 , .Dq tcp46 のいずれかを使用する必要があります。 .Pp .Em wait/nowait エントリは、 .Nm によって起動されたサーバがサービスアクセスポイントに 関連付けられたソケットを引き継ぐかどうか、すなわちサーバが終了するまで .Nm が新しいサービス要求を監視するのを待つ必要があるか否かを 指定します。 datagram サーバは、特定のサービスアドレスと結び付いた datagram ソケットで毎回起動されるため、 .Dq wait を使わなければなりません。こういったサーバは、終了する前に少なくとも 1 データグラムをソケットから読まなければなりません。 もし datagram サーバが相手に接続したときソケットを 開放するなら、 .Nm はソケットに対するメッセージをさらに受けることができます。 このようなサーバは .Dq マルチスレッド サーバと呼ばれます。 サーバはソケットから datagram を 1 つ読み込み、相手に接続する新しい ソケットをつくります。 サーバは fork() を行い、親プロセス側は終了なければいけません。 これにより .Nm は新しいサービス要求をチェックし、新しいサーバを起動することが できるようになります。 入って来る全ての datagram を処理し、 時間切れまで動作する datagram サーバは、 .Dq シングルスレッド サーバと呼ばれます。 .Xr comsat 8 , .Pq Xr biff 1 , .Xr talkd 8 は後者のタイプの datagram サーバの例です。 .Xr tftpd 8 はマルチスレッドで動く datagram サーバの例です。 .Pp stream ソケットを使うサーバは一般にマルチスレッドで動き .Dq nowait エントリを使います。 こういったサーバへの接続要求は .Nm で受け付けられ、新たに受理し、クライアントにつながった ソケットのみがサーバに与えられます。 多くの stream ベースのサービスはこのように行われます。 .Dq wait エントリを使う stream ベースのサーバは、 サービスのソケットを監視し、少なくとも 1 つの接続要求を受け入れてから 終了しなければなりません。 そういったサーバは通常、時間切れとなるまで、入って来る要求を 受け付け処理します。 TCPMUX サービスは .Dq nowait を使わなければなりません。 .Pp .Dq nowait サービスの子プロセス (あるいは .Dq スレッド ) の最大数は、 .Dq nowait キーワードの後に .Dq / と数字を付け加えることで指定できます。 通常 (あるいは 0 が指定された場合)、子プロセスの数に制限はありません。 一方、最大数に達すると、それ以降の接続要求は、存在する子プロセスが終了するまで 待ち行列に蓄えられます。これは、 .Dq wait モードでも同様ですが、通常は 1 (デフォルトの値) 以外は意味がありません。 指定した IP アドレスからの 1 分あたりの最大接続数を指定することも可能です。 この場合、 .Dq / および最大子プロセス数を指定します。 最大値に達っした場合、指定した IP アドレスからの接続は、 この 1 分が経過するまで、落とされます。 .Pp .Em ユーザ名 エントリには、サーバを実行するユーザ名を書きます。 これによりサーバを root よりも低い権限で実行できます。 オプションの .Em グループ名 部分は .Dq \&: で分けられ、 このユーザのデフォルトグループ以外のグループ名を指定可能です。 オプションの .Em ログインクラス名 部分は .Dq / で分けられ、 デフォルトの .Dq daemon 以外のログインクラス名を指定可能です。 .Pp .Em サーバプログラム名 のエントリには、ソケットに要求があったとき .Nm が起動し、当該エントリのサービスを提供する サーバプログラムのパス名を指定します。 .Nm 内部にすでに実装されているサービスを提供する場合には、サーバプログラムとして .Dq internal を指定します。 .Pp .Em サーバプログラム引数 のエントリは、サーバを起動する際の引数を、サーバプログラムの起動文字列 である argv[0] を含めて記述します。 .Nm 内部に実装されているサービスを提供する場合には、サーバプログラム引数 として、サービスの .Em サービス名 (と引数) または語 .Dq internal を指定します。 .Pp 現在、引数を取る内部サービスは .Dq auth のみです。 オプション無しだと、このサービスは常に .Dq ERROR\ : HIDDEN-USER を返します。 このサービスの動作を変更するために使用可能な引数は次の通りです: .Bl -tag -width indent .It Fl d Ar fallback .Ar fallback ユーザ名を指定します。 本物の .Dq auth サービスが (後述の .Fl r オプションで) 有効になっている場合、 ソケットの credential 取得またはユーザ名検索に失敗したときに、 エラーを返す代りにこのユーザ名を返します。 本物の .Dq auth サービスが無効になっている場合、 すべての要求に対してこのユーザ名を返します。 主に、本サービスを NAT マシン上で実行しているときに有用です。 +.It Fl g +ident 要求者にユーザ名を返す代りに、 +アルファベットと数字からなるランダムなユーザ名を報告します。 +例えば +.Dq c0c993 +です。 +.Fl g +フラグは、ユーザ名に優先するだけでなく、 +.Pa .fakeid +や +.Pa .noident +のファイルにも優先します。 .It Fl t Xo .Ar sec Ns Op . Ns Ar usec .Xc サービスのタイムアウトを指定します。 デフォルトのタイムアウトは 10.0 秒です。 .It Fl r RFC 1413 にある、真の .Dq auth サービスを提供します。残りのすべてのフラグが使用されるのは、この場合のみです。 +.It Fl i +ユーザ名の代りに数値のユーザ ID を返します。 .It Fl f 識別されるユーザのホームディレクトリに .Pa .fakeid というファイルがある場合、 本当のユーザ名の代りにそのファイル中のユーザ名を報告します。 .Pa .fakeid 中のユーザ名が実在するユーザのものの場合、本当のユーザ名を報告します。 +.Fl i +が共に指定されると、 +.Pa .fakeid +中のユーザ名が既存のユーザ ID の代りにチェックされます。 .It Fl F .Fl f と同じですが、 .Pa .fakeid が実在するユーザ名にマッチしてはならないという制約が除外されます。 -.It Fl g -ident 要求者にユーザ名を返す代りに、 -アルファベットと数字からなるランダムなユーザ名を報告します。 -例えば -.Dq c0c993 -です。 -.Fl g -フラグは、ユーザ名に優先するだけでなく、 -.Pa .fakeid -や -.Pa .noident -のファイルにも優先します。 .It Fl n 識別されるユーザのホームディレクトリに .Pa .noident というファイルがある場合、 .Dq ERROR\ : HIDDEN-USER -を代りに返します。 +を返します。 +これは、 +.Pa fakeid +ファイルに優先します。 .It Fl o Ar osname .Xr uname 3 が報告するシステム名の代りに、 .Ar osname を使用します。 .El .Pp .Nm プログラムはまた、内部ルーチンを用いて簡単なサービスを自身で提供します。 これらのサービスとは .Dq echo , .Dq discard , .Dq chargen (文字生成), .Dq daytime (人間が読む形式で時間を出力します), .Dq time (機械可読形式の時間。1900 年 1 月 1 日 0 時からの経過秒数を出力します) です。 これらのサービスは TCP と UDP バージョンのいずれでも利用できます。 UDP バージョンは返事のポートとして内部サービスに相当するポートを 要求されたとき、サービスを拒否します。 (これはループ攻撃に対する防護です。リモート IP アドレスは記録されます。) これらのサービスの詳細については適当な .Tn RFC ドキュメントを参照して下さい。 .Pp TCPMUX のデマルチプレクスサービスもまた内部サービスとして実装されています。 TCPMUX ベースのサービスを動作させるためには、以下の行を .Pa inetd.conf に含む必要があります: .Bd -literal -offset indent tcpmux stream tcp nowait root internal .Ed .Pp .Fl l オプションが指定された場合、 .Nm は接続を受け付けるたび、エントリを syslog に記録します。 この際、利用可能であれば、 選択されたサービスと要求を発したリモートの IP 番号を記録します。 設定ファイルで他に指定しておらず、 .Fl W と .Fl w のオプションを指定していないと、 .Nm は .Dq daemon ファシリティに対してログ出力します。 .Pp .Dv SIGHUP を受けとると、 .Nm は、設定ファイルを再度読み込みます。設定ファイルを 再読み込みするとき、サービスを追加、削除、変更できます。 デバッグモードで起動された場合をのぞき、 .Nm は再設定を容易にするために、プロセス ID を .Pa /var/run/inetd.pid に記録します。 .Sh 実装に関する注 +.Ss TCP Wrappers .Fl w オプションが指定されたとき、 .Dq stream nowait または .Dq dgram と指定さた全サービスのうち .Dq 内部 サービス以外を、 .Nm はラッピングします (包みます)。 .Fl W オプションが指定されると、 前述の条件の .Dq 内部 サービスがラッピングされます。 両方のオプションが指定された場合、 内部サービスと外部サービスの両方をラッピングするようになります。 どちらのラッピングオプションも、失敗した接続を .Dq auth syslog ファシリティでログします。 ラッピングオプションに .Fl l フラグを追加すると、成功した接続も .Dq auth ファシリティへのログに含めるようになります。 .Pp .Dq wait サービスに対する要求は、 サービス要求に対するサーバが無い間のみ .Nm はラッピングすることに注意してください。 このようなサービスに対してひとたび接続が許されると、 接続要求に対して listen するサーバが無くなるまで、 -このサービスに対する後続の接続を inetd は制御できません。 +このサービスに対する後続の接続を +.Nm +は制御できません。 .Pp ラッピングが有効にされた場合、この機能は組み込みであるため、 .Pa tcpd デーモンは不要です。 .Pp -TCP Wrappers についての更なる情報は、関連する文書 ( -.Xr hosts_access 5 -) を参照してください。 +TCP Wrappers についての更なる情報は、関連する文書 +.Pq Xr hosts_access 5 +を参照してください。 この文書を読むときには、 .Dq 内部 サービスに対しては、関連するデーモン名は無いことを覚えておいてください。 このような理由で、 .Dq 内部 サービスのデーモン名としては、 .Pa inetd.conf で指定されるサービス名を使用すべきです。 .Ss TCPMUX -.Tn RFC 1078 +.Tn RFC 1078 は TCPMUX プロトコルについて述べています。 「 TCP クライアントは他のホストに TCP ポート番号 1 で接続します。 クライアントは、サービス名にを付加して送ります。 サービス名は大文字/小文字を区別しません。 サーバは、肯定 (+) もしくは否定 (\-) を表す 1 文字を返します。 + あるいは \- のすぐ後にメッセージが続く場合があります。 返答は で終わります。もし返答が肯定で あれば、選択されたプロトコルが開始されます。 そうでなければ接続は切られます。」 プログラムにはファイルディスクプリタ 0 と 1 で TCP コネクションが 渡されます。 .Pp TCPMUX サービス名が .Dq + で始まっているとき、 .Nm は、プログラムに肯定返答 (+) を返します。 これによって、 特別なサーバコードを追加することなく 標準入出力を使うプログラムを起動することができます。 .Pp 特別なサービス名である .Dq help により、 .Nm は .Pa inetd.conf にある TCPMUX サービスの一覧を出力します。 .Ss IPsec 本実装は、各ソケットに対する IPsec ポリシ設定のサポートのための ちょっとしたハックを含みます。 .Dq Li #@ から開始する特別な形式のコメント行が、ポリシ指示子として解釈されます。 .Dq Li #@ の後のすべてが、 .Xr ipsec_set_policy 3 に記述されているように、IPsec ポリシ文字列として使用されます。 各ポリシ指定子は、 .Pa inetd.conf 中で後続するすべての行に適用され、 これは次のポリシ指定子が登場するまで続きます。 空のポリシ指定子は、IPsec ポリシをリセットします。 .Pp 不正な IPsec ポリシ文字列が .Pa inetd.conf にあると、 .Nm は .Xr syslog 3 インタフェースを使用して エラーメッセージを残し、終了します。 +.Ss Ux ドメインソケット +サービスを IP ソケット上で動作させることに加え、 +.Nm +は +.Ux +ドメインソケットも扱えます。 +このためには +.Em プロトコル +に +.Dq unix +を指定し、 +.Ux +ドメインソケットを +.Em サービス名 +として指定します。 +.Em サービスタイプ +は +.Dq stream +か +.Dq dgram +のいずれかです。 +ソケットの指定は、絶対パス名であることが必要であり、 +.Em :user:group:mode: +の形式で所有者とモードを前に付けることが可能です。 +.Pp +.Dl ":news:daemon:220:/var/run/sock" +.Pp +という指定は、所有者が +.Dq news +でグループが +.Dq daemon +で所有者とグループのみに接続を許可するソケットを作成します。 +デフォルトの所有者は、 +.Nm +を実行しているユーザです。 +デフォルトのモードは、 +ソケットの所有者のみに接続を許可するというものです。 +.Pp +.Sy 警告 : +.Ux +ドメインソケットの作成中に、 +.Nm +はソケットの所有者とパーミッションを変更する必要があります。 +これが安全に行われるのは、 +ソケットが作成されるディレクトリが root のみ書き込み可能な場合だけです。 +.Nm +を使用して、 +.Pa /tmp +等の誰でも書き込み可能なディレクトリにソケットを作成し +.Em ない +でください。 +代りに、 +.Pa /var/run +等のディレクトリと使用してください。 +.Pp +内部サービスは、通常通り、 +.Ux +ドメインソケットでも実行可能です。 +この場合、ソケットのパス名の最後の部分から内部サービス名が判定されます。 .Sh 関連ファイル .Bl -tag -width /var/run/inetd.pid -compact .It Pa /etc/inetd.conf 設定ファイル .It Pa /etc/rpc サービス名を RPC プログラム番号に変換するテーブル .It Pa /etc/services サービス名をポート番号に変換するテーブル .It Pa /var/run/inetd.pid 現在実行中の .Nm の pid .El .Sh 使用例 -.Pp 次に、いくつかのサービスについて サービスエントリの 例を挙げておきます。 .Bd -literal ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l ntalk dgram udp wait root /usr/libexec/ntalkd ntalkd telnet stream tcp6 nowait root /usr/libexec/telnetd telnetd shell stream tcp46 nowait root /usr/libexec/rshd rshd tcpmux/+date stream tcp nowait guest /bin/date date tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook rstatd/1-3 dgram rpc/udp wait root /usr/libexec/rpc.rstatd rpc.rstatd +/var/run/echo stream unix nowait root internal #@ ipsec ah/require chargen stream tcp nowait root internal #@ .Ed .Sh エラーメッセージ .Nm サーバは、 .Xr syslog 3 を使ってエラーメッセージを記録します。 重要なエラーメッセージと その説明は以下の通りです。 .Pp .Bl -ohang -compact .It Xo .Ar service Ns / Ns Ar protocol .No "server failing (looping), service terminated." .Xc 直前の 1 分間に、そのサービスについての要求数が制限に達しました。 不完全なプログラムや悪意のあるユーザがシステムを ハングアップさせないために、このような制限が設けられています。 このメッセージが出力される理由はいくつかあります。 .Bl -enum -offset indent .It 短時間の間に多くのホストがこのサービスを要求している。 .It 不完全なクライアントプログラムがサービスを 頻繁に要求しすぎている。 .It 悪意あるユーザがあるプログラムを起動し、 サービスが '拒否' されるように攻撃している。 .It 起動されたサービスプログラムにエラーがあり、 クライアントがすぐにリトライを起こしてしまう。 .El .Pp .Fl R Ar rate オプションを使うと、制限を変えることができます。 制限に達したとき、10 分経つとサービスは自動的に 再許可されます。 .Pp .It Xo .Ar service Ns / Ns Ar protocol : .No \&No such user .Ar user , .No service ignored .Xc .It Xo .Ar service Ns / Ns Ar protocol : .No getpwnam : .Ar user : .No \&No such user .Xc .Xr passwd 5 データベースに .Ar user のエントリーがありません。 最初のメッセージは .Nm が設定ファイルを (再度) 読み込むときに出されます。 2 つ目のメッセージは、サービスが呼び出されたときに 出されます。 .Pp .It Xo .Ar service : .No can't set uid .Ar uid .Xc .It Xo .Ar service : .No can't set gid .Ar gid .Xc .Ar user フィールドのユーザ ID もしくは グループ IDが 無効です。 .Pp .It "setsockopt(SO_PRIVSTATE): Operation not supported" .Nm はそのソケットに設定されている特権状態を放棄しようとしましたが、 失敗しました。 .El .Sh 関連項目 .Xr ipsec_set_policy 3 , .Xr hosts_access 5 , .Xr hosts_options 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr rpc 5 , .Xr services 5 , .Xr comsat 8 , .Xr fingerd 8 , .Xr ftpd 8 , -.Xr portmap 8 , .Xr rexecd 8 , .Xr rlogind 8 , +.Xr rpcbind 8 , .Xr rshd 8 , .Xr telnetd 8 , .Xr tftpd 8 , .Rs .%A Michael C. St. Johns .%T Identification Protocol .%O RFC1413 .Re .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 TCPMUX は Mark Lottor によるコードとドキュメントを元にしています。 .Tn "ONC RPC" ベースのサービスのサポートは、 .Tn SunOS 4.1 が供給されてから、 それにならって作られました。 IPsec のハックは、1999 年に KAME プロジェクトが提供しました。 .Fx の TCP Wrappers サポートが最初に登場したのは .Fx 3.2 です。 diff --git a/ja_JP.eucJP/man/man8/kgzip.8 b/ja_JP.eucJP/man/man8/kgzip.8 index 70eebb5ca0..b0ecbdec1e 100644 --- a/ja_JP.eucJP/man/man8/kgzip.8 +++ b/ja_JP.eucJP/man/man8/kgzip.8 @@ -1,130 +1,141 @@ .\" Copyright (c) 1999 Global Technology Associates, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, .\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT .\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/kgzip/kgzip.8,v 1.3.2.1 2000/12/08 15:28:23 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/usr.sbin/kgzip/kgzip.8,v 1.3.2.2 2001/07/19 04:37:24 kris Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/kgzip.8,v 1.6 2001/05/14 01:09:50 horikawa Exp $ .\" .Dd July 19, 1999 .Dt KGZIP 8 .Os FreeBSD .Sh 名前 .Nm kgzip .Nd カーネルを圧縮する .Sh 書式 .Nm .Op Fl cv +.Op Fl f Ar format .Op Fl l Ar loader .Op Fl o Ar output .Ar file .Sh 解説 .Nm ユーティリテイは、カーネルその他のブート可能バイナリを圧縮します。この 動作は次の 2 つのフェーズからなります。 .Bl -enum .It 実行可能ファイルのロードイメージは、 .Sq text セグメントと .Sq data セグメント以外のすべてを省略して作成されます。 このイメージを .Xr gzip 1 を用いて圧縮し、 再配置可能なオブジェクト形式として出力します。 .It 出力されるオブジェクトファイルは、特殊な自立ローダとともにリンクされ、 第 2 レベルもしくは第 3 レベルのブートストラッププログラムによるブートに 適した実行ファイルが生成されます。 .El .Pp -サポートする入力ファイルは ELF 形式と ZMAGIC 付きの a.out 形式です。 -出力の形式は常に ELF です。32 ビットオブジェクトのみがサポートされています。 +サポートする入力ファイルは 32 ビット ELF と a.out ZMAGIC の形式です。 .Pp .Ar file オペランドが .Sq .o 接尾子を持つ場合、入力はリンクフェーズにあると見なされ、最初のフェーズは 省略されます。 .Pp オプションは次のとおりです。 .Bl -tag -width Fl .It Fl c リンクフェーズを省略します。 .It Fl v オブジェクトファイル情報を表示します。 +.It Fl f Ar format +出力形式に +.Ar format +を使用します。 +.Ar format +は +.Sq aout +または +.Sq elf +です。デフォルトの形式は ELF です。 .It Fl l Ar loader .Ar loader をローダとしてリンクします。 .It Fl o Ar output 出力ファイルの名前を .Ar output とします。 デフォルトの名前は、(再配置可能形式については) 入力ファイル名の接尾子を .Sq .o にしたものです。または、(実行可能形式については) 入力ファイルの接尾子を .Sq .kgz にしたものです。 .El .Sh 注 以下と等価な大域変数が出力の中で定義されます。 .Bd -literal struct kgz_hdr { char ident[4]; /* 識別子: "KGZ" */ uint32_t dload; /* デコードされたイメージのロードアドレス */ uint32_t dsize; /* デコードされたイメージの大きさ */ uint32_t isize; /* メモリ中のイメージの大きさ */ uint32_t entry; /* エントリポイント */ uint32_t nsize; /* エンコードされたイメージの大きさ */ } kgz; uint8_t kgz_ndata[]; /* エンコードされたデータ */ .Ed .Pp エンコードされたデータは、単に .Xr gzip 1 の出力です。ヘッダ (オプションフィールドは一切持ちません)、圧縮された データ、32 ビットの CRC とサイズの値を持ちます。 .Sh 関連ファイル .Bl -tag -width /usr/lib/kgzldr.o -compact .It Pa /usr/lib/kgzldr.o デフォルトのローダ。 .El .Sh 関連項目 .Xr gzip 1 , .Xr ld 1 , -.Xr elf 5 , .Xr a.out 5 , +.Xr elf 5 , .Xr boot 8 , .Xr loader 8 .Sh 診断 成功すれば終了ステータスは 0 となり、エラーが発生すれば >0 となります。 .Sh 作者 .An Robert Nordier Aq rnordier@FreeBSD.org .Sh バグ シンボル情報は失われていますので、カーネルの圧縮にこのユーティリティを 使う利点は、 .Xr loader 8 が使用できない状況に限られます。それ以外の場合、単に .Xr gzip 1 を使ってカーネルを圧縮する方が望ましいでしょう。 diff --git a/ja_JP.eucJP/man/man8/kldload.8 b/ja_JP.eucJP/man/man8/kldload.8 index 57d88a5a15..52ba6c56ee 100644 --- a/ja_JP.eucJP/man/man8/kldload.8 +++ b/ja_JP.eucJP/man/man8/kldload.8 @@ -1,72 +1,73 @@ .\" .\" Copyright (c) 1997 Doug Rabson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/kldload/kldload.8,v 1.7.2.3 2001/03/05 19:33:43 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/sbin/kldload/kldload.8,v 1.7.2.4 2001/07/19 06:22:53 dd Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/kldload.8,v 1.9 2001/05/14 01:09:50 horikawa Exp $ .\" .Dd April 25, 1997 .Dt KLDLOAD 8 .Os FreeBSD .Sh 名称 .Nm kldload .Nd カーネルにファイルをロードする .Sh 書式 .Nm .Op Fl v .Ar filename .Sh 解説 .Nm はカーネルリンカを用いてファイル .Ar filename Ns Pa .ko をカーネルにロードします。 .Pp 以下のオプションが利用できます : .Bl -tag -width indent .It Fl v 出力を冗長にします。 .El .Sh 関連ファイル .Bl -tag -width /modules -compact .It Pa /modules ローダブルモジュールを格納するディレクトリ。 モジュールの拡張子は .ko である必要があります。 .El .Sh 診断 .Nm ユーティリティは、成功時には状態 0 で、 エラー発生時には 0 以外の状態で終了します。 .Sh 関連項目 .Xr kldload 2 , .Xr kldstat 8 , .Xr kldunload 8 .Sh 歴史 .Nm コマンドは .Fx 3.0 に初めて登場し、 .Xr lkm 4 インタフェースを置き換えました。 .Sh 作者 .An Doug Rabson Aq dfr@FreeBSD.org diff --git a/ja_JP.eucJP/man/man8/lpc.8 b/ja_JP.eucJP/man/man8/lpc.8 index b3ed9f055d..fd321225cd 100644 --- a/ja_JP.eucJP/man/man8/lpc.8 +++ b/ja_JP.eucJP/man/man8/lpc.8 @@ -1,210 +1,232 @@ .\" 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. .\" .\" @(#)lpc.8 8.5 (Berkeley) 4/28/95 -.\" %FreeBSD: src/usr.sbin/lpr/lpc/lpc.8,v 1.8.2.4 2001/04/26 01:33:07 dd Exp % +.\" %FreeBSD: src/usr.sbin/lpr/lpc/lpc.8,v 1.8.2.5 2001/07/11 23:44:48 gad Exp % .\" -.\" $FreeBSD:$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/lpc.8,v 1.10 2001/04/30 03:48:37 horikawa Exp $ .\" -.Dd April 28, 1995 +.Dd June 20, 2001 .Dt LPC 8 .Os BSD 4.2 .Sh 名称 .Nm lpc .Nd ラインプリンタの制御を行う .Sh 書式 .Nm .Op Ar command Op Ar argument ... .Sh 解説 .Nm は、システム管理者がラインプリンタの動作を制御するために使われます。 各ラインプリンタの設定は .Pa /etc/printcap で行います。 .Nm は以下の目的で利用します。 .Bl -bullet -offset indent .It プリンタの利用可能/不可能の設定を行う .It スプールキューへのジョブ投入可能/不可能の設定を行う .It スプールキュー内のジョブの順番を並べ直す .It プリンタ、スプールのキュー、およびプリンタデーモンのステータスを調べる .El .Pp 引数なしの場合、 .Nm は標準入力からコマンドを読むためにプロンプトを出します。 引数をつけた場合、第 1 引数をコマンドとし、残りの引数を そのコマンドのパラメータと解釈します。 標準入力をリダイレクトして、 .Nm にファイルからコマンドを読み込ませることもできます。 コマンドは略して書くことができます。 利用可能なコマンドを以下に列挙します。 .Pp .Bl -tag -width indent -compact .It Ic \&? Op Ar command ... .It Ic help Op Ar command ... 引数で指定したコマンドの簡単な説明を表示します。引数がないときはコマンド の一覧を表示します。 .Pp .It Ic abort Xo .Es \&{ \&} .En Cm all | Ar printer .Xc ローカルホスト上の動作中のスプールデーモンをただちに終了させ、指定した プリンタをプリントアウトできないように ( .Xr lpr 1 が新しいデーモンをスタートさせないように) します。 .Pp .It Ic clean Xo .Es \&{ \&} .En Cm all | Ar printer .Xc ローカルマシン上の指定したプリンタのキューから、出力できない (すなわち、 完全なプリンタジョブの形になっていない) テンポラリファイル、データファイル、 コントロールファイルをすべて削除します。 +本コマンドは、各プリンタキューに対し、 +スプールディレクトリ中の「コア」ファイルも探し、 +発見されたものを列挙します。 +本コマンドは「コア」ファイルを削除しません。 +.Ic tclean +コマンドも参照してください。 .Pp .It Ic disable Xo .Es \&{ \&} .En Cm all | Ar printer .Xc 指定したプリンタのキューをオフにします。これにより、 .Xr lpr 1 によって新しいプリンタジョブがキューに入らないようになります。 .Pp .It Ic down Xo .Es \&{ \&} .En Cm all | Ar printer .Ar message ... .Xc 指定したプリンタのキューをオフにし、プリントアウトできないようにし、 プリンタのステータスファイルに .Ar message を書きます。メッセージは引用符で囲む必要はなく、残りの引数は .Xr echo 1 と同様に扱われます。通常、この コマンドはプリンタをダウンさせ、ユーザに対しそのダウンの理由を .Xr lpq 1 によって説明させるために使われます。 .Pp .It Ic enable Xo .Es \&{ \&} .En Cm all | Ar printer .Xc 指定したプリンタ用のキューのスプーリングを行うようにします。これは、 .Xr lpr 1 で新しいプリンタジョブをスプールキューに挿入することができるよ うにします。 .Pp .It Ic exit .It Ic quit .Nm を終了させます。 .Pp .It Ic restart Xo .Es \&{ \&} .En Cm all | Ar printer .Xc 新しいプリンタデーモンの再スタートを試みます。このコマンドは、異常な 状態になって突然デーモンが死に、キュー内にジョブが残ったままになった場合に 有効です。この状態が起きたときには、 .Xr lpq 1 は現在デーモンが動いていないことを報告します。 もしあなたがスーパユーザなら、現在動いているデーモンを先に殺してください (つまり、動かなくなったデーモンを殺してから再スタートさせるわけです)。 .Pp .It Ic start Xo .Es \&{ \&} .En Cm all | Ar printer .Xc 指定したプリンタを出力可能にしてスプールデーモンをスタートさせます。 .Pp .It Ic status Xo .Es \&{ \&} .En Cm all | Ar printer .Xc ローカルマシン上のデーモンとキューの状態を表示します。 .Pp .It Ic stop Xo .Es \&{ \&} .En Cm all | Ar printer .Xc 現行のジョブが終了したあとでデーモンのスプーリングをストップさせ、 プリントアウトできないようにします。 .Pp +.It Ic tclean Xo +.Es \&{ \&} +.En Cm all | Ar printer +.Xc +本コマンドは、 +.Ic clean +コマンドのテスト実行を行います。 +同じチェックが行れますが、同様の +.Ic clean +コマンドが入力された場合に実行する事柄を、本コマンドは表示します。 +本コマンドは、いかなるファイルも削除しません。 +.Ic clean +は特権コマンドですが、 +.Ic tclean +は制限がありません。 +.Pp .It Ic topq Ar printer Xo .Op Ar jobnum ... .Op Ar user ... .Xc 引数に並べた順番で、ジョブをキューの先頭に移動させます。 .Pp .It Ic up Xo .Es \&{ \&} .En Cm all | Ar printer .Xc すべての状態を可能状態(enable)にし、新しいプリンタデーモンをスタートさせます。 .Ic down の逆です。 .El .Sh 関連ファイル .Bl -tag -width /var/spool/*/lockx -compact .It Pa /etc/printcap プリンタの設定を記述するファイル .It Pa /var/spool/* スプールディレクトリ .It Pa /var/spool/*/lock プリンタキューの制御を行うためのロックファイル .El .Sh 関連項目 .Xr lpq 1 , .Xr lpr 1 , .Xr lprm 1 , .Xr printcap 5 , .Xr lpd 8 .Sh 診断 .Bl -diag .It "?Ambiguous command" コマンド指定が省略し過ぎのため、複数のコマンドにマッチしています。 .It "?Invalid command" マッチするコマンドがありません。 .It "?Privileged command" "operator" グループのメンバか root でなければこのコマンドは 実行できません。 .El .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/lpd.8 b/ja_JP.eucJP/man/man8/lpd.8 index 005f93add5..989f4d3651 100644 --- a/ja_JP.eucJP/man/man8/lpd.8 +++ b/ja_JP.eucJP/man/man8/lpd.8 @@ -1,275 +1,299 @@ -.\" $FreeBSD$ \" 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. .\" .\" @(#)lpd.8 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/usr.sbin/lpr/lpd/lpd.8,v 1.14.2.4 2001/02/18 16:15:44 ume Exp % +.\" %FreeBSD: src/usr.sbin/lpr/lpd/lpd.8,v 1.14.2.5 2001/07/11 23:22:06 gad Exp % .\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/lpd.8,v 1.10 2001/05/14 01:09:50 horikawa Exp $ .\" .Dd April 19, 1994 .Dt LPD 8 .Os BSD 4.2 .Sh 名称 .Nm lpd .Nd ラインプリンタ・スプーラ・デーモン .Sh 書式 .Nm -.Op Fl dlp46 +.Op Fl cdlpw46 .Op Ar port# .Sh 解説 .Nm はラインプリンタのためのデーモン (スプール領域を管理するプログラム) で、 通常はブート時に .Xr rc 8 ファイルから起動されます。このデーモンは、接続されているプリンタの情報を .Xr printcap 5 ファイルを一通り読み込むことによって取得し、クラッシュ後に残っていた ファイルがあれば印刷します。その後、システムコールの .Xr listen 2 と .Xr accept 2 を用いてキュー内のファイルの印刷・スプール領域へのファイル転送・ キューの表示・キューからのジョブの削除などの要求を受け付けます。 何か要求があると lpd は子プロセスを fork してその要求を処理するので、 親プロセスは続けて次の要求待ちをできるようになっています。 .Pp 使用できるオプション: .Bl -tag -width Ds +.It Fl c +デフォルトでは、リモートホストがローカルホスト上の +.Nm +へ印刷を試みた際にエラーが発生すると、 +.Nm +はリモートホストに対してエラーメッセージのみを送信します。 +.Fl c +フラグを使用すると、 +.Nm +はこれらの接続エラーを +.Xr syslog 3 +で記録します。 .It Fl d インターネットで listen するソケットにて .Dv SO_DEBUG をオンにします ( .Xr setsockopt 2 参照)。 .It Fl l .Fl l オプションを つけると、 .Nm はネットワークから受けとった正当な要求について記録をとるようになります。 これはデバッグを行う際に有用です。 .It Fl p .Fl p フラグは、 .Nm に、インターネットで listen するソケットをオープンしないようにさせます。 +これは、リモートホストからの接続を +.Nm +が拒否するもののローカルユーザからの印刷要求は許可することを意味します。 +.It Fl w +デフォルトでは、 +.Nm +デーモンはリモートホストの予約ポート (1024 未満) からの接続のみを受け付けます。 +.Fl w +フラグを指定すると、 +.Nm +はすべてのポートからの接続を受け付けます。 +Windows 用の特定の lpr 実装からの印刷ジョブを受け付けたい場合に有用です。 .It Fl 4 inet のみ。 .It Fl 6 inet6 のみ。 .It Fl 46 inet と inet6 (デフォルト)。 .It Ar "port#" 他のプロセスと接続するのに用いる インターネットポート番号は通常 .Xr getservbyname 3 を使って取得しますが、引数 .Ar port# を使って変更することも可能です。 .El .Pp プリンタへのアクセス制限は二つの手段を用いて行われます。第一に、全ての要求は .Pa /etc/hosts.equiv ファイルもしくは .Pa /etc/hosts.lpd ファイルに列挙さ れているマシンからのものでなければなりません。 第二に、アクセスされるプリンタに関する .Xr printcap 5 エントリに .Li rs 特性の指定があると、 .Em lpr からの要求はそのプリンタが接続されているマシンにアカウントを持つ ユーザのものしか受け付けられなくなります。 .Pp 各スプールディレクトリ内に .Em minfree というファイルを作成し、空きとして残しておくディスクのブロック数を 書いておけば、ラインプリンタキューがディスクを使い尽くしてしまわないよう にできます。 .Em minfree ファイルは任意のテキストエディタを使って 編集できます。 .Pp このデーモンは、プリンタへのアクセスを 排他的に行うためのロック (後述) を行ったうえで ファイルの処理を開始し、スプール ディレクトリの中に .Em cf で始まる名前のファイルがあるかどうかを調べます。 .Em cf ファイルの内容は印刷すべきファイルの名前もしくは印刷以外で行うべき 何らかの動作を示しています。ファイル中の各行はキー文字から始まっており、 その行の残りの部分と合わせてどのような動作を行うべきかを表しています。 .Bl -tag -width Ds .It J ジョブ名 (job name)。バーストページに印刷されるジョブ名として用いられる文字列。 .It C 分類 (classification)。バーストページに印刷される分類行に用いられる 文字列。 .It L リテラル (literal)。この行はパスワードファイルから取り出した ID 情報を 保持しており、この行があると見出しページが印刷されます。 .It T 表題 (title)。 .Xr pr 1 で表題として使用される文字列。 .It H ホスト名 (host name)。 .Xr lpr 1 が実行されたマシンの名前。 .It P 人物 (person)。 .Xr lpr 1 を実行した人物のログイン名。これは .Xr lprm 1 がジョブの所有権を調べる際に使用されます。 .It M 現在の印刷ジョブが完了した時、指定のユーザにメールを送ります。 .It f 整形済みファイル (formatted file)。すでに整形済みである印刷ファイルの名前。 .It l ``f'' とほぼ同じですが、制御文字を通すことと改ページを行わない点が異なります。 .It p フィルタとして .Xr pr 1 を使用して印刷すべきであるファイルの名前。 .It t troff ファイル。ファイルの内容が .Xr troff 1 の出力結果であることを示します。 .It n ditroff ファイル。ファイルの内容がデバイス独立troff の出力結果であることを示します。 .It r DVI ファイル。ファイルの内容が .Xr TeX l の出力する DVI 形式であることを示します。 .It g graph ファイル。ファイルの内容が .Xr plot 3 の生成したデータであることを示します。 .It c cifplot ファイル。ファイルの内容が .Em cifplot の生成したデータであることを示します。 .It v ファイルの内容がラスタイメージであることを示します。 .It r ファイルの内容が FORTRAN のキャリッジ制御文字を伴った テキストデータであることを示します。 .It \&1 troff R フォント。デフォルトのものに代えて使用するフォントファイルの名前。 .It \&2 troff I フォント。デフォルトのものに代えて使用するフォントファイルの名前。 .It \&3 troff B フォント。デフォルトのものに代えて使用するフォントファイルの名前。 .It \&4 troff S フォント。デフォルトのものに代えて使用するフォントファイルの名前。 .It W 幅 (width)。 .Xr pr 1 および他のテキストフィルタが使用するページ幅 (文字数) を変更します。 .It I 字下げ (indent)。字下げの文字数が ASCII で書かれています。 .It U リンク解除 (unlink)。印刷完了時に消去するファイルの名前。 .It N ファイル名 (file name)。印刷中のファイルの名前。ファイルが標準 入力の場合 ( .Xr lpr がパイプラインの中で実行された場合) は空白になっています。 .It Z ロケールです。 .Xr pr 1 が使用するロケール文字列です。 .El .Pp 何らかのファイルがオープンできない場合、 .Xr syslog 3 を通じて .Em LOG_LPR 機能分類でメッセージが記録されます。 .Nm は最大 20 回まで目的のファイルのオープンを試みますが、それでも失敗すると そのファイルに関わる印刷処理は飛ばします。 .Pp .Nm は、ロックファイルを排他的にアクセスする目的あるいは複数のデーモンが同時 にアクティブになるのを回避する目的で .Xr flock 2 を使用します。デーモンが kill されたり異常終了した場合でもロックファイルを 削除する必要はありません。ロックファイルは普通に読むことができる ASCII 形式で 書かれており、2 行からなります。1 行目はデーモンのプロセスIDで、2 行目は 現在実行中であるジョブの制御ファイル名です。2 行目は .Xr lpq 1 および .Xr lprm 1 が使用できるよう、常に .Nm の現在の状態を示すように更新されています。 .Sh 関連ファイル .Bl -tag -width "/var/spool/*/minfree" -compact .It Pa /etc/printcap プリンタ記述ファイル .It Pa /var/spool/* スプールディレクトリ群 .It Pa /var/spool/*/minfree 最低限残しておく空き領域の設定 .It Pa /dev/lp* ラインプリンタデバイス .It Pa /var/run/printer ローカルな要求のためのソケット .It Pa /etc/hosts.equiv プリンタへのアクセスを許可されているマシンの一覧 .It Pa /etc/hosts.lpd プリンタへのアクセスは許可されているが、同一の管理権限下には 置かれていないマシンの一覧 .El .Sh 関連項目 .Xr lpq 1 , .Xr lpr 1 , .Xr lprm 1 , .Xr setsockopt 2 , .Xr syslog 3 , .Xr hosts.lpd 5 , .Xr printcap 5 , .Xr lpc 8 , .Xr pac 8 .Rs .%T "4.2 BSD Line Printer Spooler Manual" .Re .Sh 歴史 .Nm プログラムは .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/mergemaster.8 b/ja_JP.eucJP/man/man8/mergemaster.8 index 1a577c3d72..9a732da145 100644 --- a/ja_JP.eucJP/man/man8/mergemaster.8 +++ b/ja_JP.eucJP/man/man8/mergemaster.8 @@ -1,346 +1,346 @@ .\" Copyright (c) 1998-2001 Douglas Barton .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/mergemaster/mergemaster.8,v 1.5.2.6 2001/06/04 04:09:00 dougb Exp % +.\" %FreeBSD: src/usr.sbin/mergemaster/mergemaster.8,v 1.5.2.7 2001/07/16 04:02:38 dougb Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/mergemaster.8,v 1.9 2001/05/14 01:09:51 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/mergemaster.8,v 1.10 2001/07/12 00:16:03 horikawa Exp $ .Dd February 5, 2001 .Dt MERGEMASTER 8 -.Os FreeBSD +.Os .Sh 名称 .Nm mergemaster .Nd アップグレード中の設定ファイルその他のマージ .Sh 書式 .Nm .Op Fl scrvahi .Op Fl m Ar /path/to/sources .Op Fl t Ar /path/to/temp/root .Op Fl d .Op Fl u Ar N .Op Fl w Ar N .Op Fl D Ar /path .Sh 解説 .Nm は、様々な設定や .Fx に関連したファイルをアップデートする作業を 補助するために作られた Bourne シェルスクリプトです。 この作業を始める前に .Pa /etc ディレクトリをバックアップしておくことを .Sy 強く 勧めます。 .Pp このスクリプトは .Pa /usr/src/etc/Makefile を使って .Pa / から下の仮のルート環境を作成し、そこに様々なファイルを格納します。 .Op Fl m コマンドラインオプションで違うソースディレクトリを指定することや、 .Op Fl D コマンドラインオプションで違う宛先ディレクトリを指定することもできます。 そしてその環境中のそれぞれのファイルを、 インストールされているものと比較します。 スクリプトが新しいファイルに変更点を見つけた場合や、 新しいファイルに対応するインストールされているファイルがない場合には、 それを処理するための 4 つの選択肢を示します。 新しいファイルをそのままインストールする、 新しいファイルは消す、 新旧のファイルを .Xr sdiff 1 を使って適切にマージする、 後で手でマージするためにファイルを仮のルート環境に残しておく、 のいずれかを選べます。 .Pp デフォルトでは、 .Pa /var/tmp/temproot に仮のルートを作り、 .Xr cvs 1 バージョン文字列 %Id/%FreeBSD があるファイルについてはそれを比較して、 もし同じであれば仮のファイルを削除します。 $Id 文字列がない時や、あっても一致しない場合には、 ファイルそのものを比較します。 $Id 文字列を無視して全てのファイルを比較するように指定することもできます。 .Pp .Nm は umask を調べて、022 以外であれば警告を出します。 ほとんどの設定ファイルは world read パーミッションを与えることが 強制されているわけではありませんが、 そうしないと問題になるかもしれません。 もし 022 以外 の umask を選び、あとで何らかのトラブルが生じた場合、 その原因がこれかもしれません。 .Pa /etc/master.passwd は特例として扱います。 このファイルないしマージしたファイルをインストールすることを選択すると、 このファイルのパーミッションはセキュリティ上の理由から 常に 600 (rw-------) になります。 このファイルのアップデート版をインストールした後は、 .Xr pwd_mkdb 8 を -p オプション付きで実行して、 パスワードデータベースの再構築と .Pa /etc/passwd の作り直しをさせる必要があります。 .Pp スクリプトは、 .Pa /usr/src/etc/Makefile が作成したファイルに付けた所有者 ID およびグループ ID と、 umask によって指定されたファイルパーミッションを用います。 context diff を選ばない限り、 デフォルトで unified diff を使って差分を表示します。 .Pp .Nm は、比較開始直前と実行完了前に、指定したスクリプトを読み込みます。 最も簡単な方法は、 .Pa .mergemasterrc において、スクリプトへのパスを適切な変数へ設定することです。 比較前に読み込まれるスクリプトは .Ev MM_PRE_COMPARE_SCRIPT で指定し、スクリプト完了後に実行するものは .Ev MM_EXIT_SCRIPT で指定します。 これが、 ローカルでの修正および特別な処理を行うファイルを指定するための推奨方法です。 これには、比較せずに削除したいファイルも含みます。 指定したスクリプトは、 .Nm 内部から読み込まれますので、 スクリプトの全変数がカスタムスクリプト中で使用可能です。 .Pa /etc/mergemaster.rc も使用可能です。 これは、 .Pa .mergemasterrc の前に読み込まれます。 コマンドラインで指定されたオプションが最後に更新されますので、 両方のファイルに優先します。 .Pp オプションは以下の通りです: .Bl -tag -width Fl .It Fl s 全てのファイルの対について diff をとり、厳密な比較をします。 .It Fl c unified diff の代わりに context diff を用います。 .It Fl r 仮のルート環境を新規に作ることをせずに、 以前掃除したディレクトリで再実行します。 このオプションは他の全てのオプションと一緒に使えます。 .It Fl v 処理についてより冗長に出力します。 あなたが初めて .Nm mergemaster を実行する時には、おそらくこのオプションを付けるべきでしょう。 さらにこのオプションは、 インストールされている方の .Pa /etc にしかないファイルの一覧を提供します。 .It Fl a 自動実行。 このオプションはインストールされているものと食い違う全てのファイルを、 手で処理するために仮のディレクトリに残しておきます。 もしすでに .Pa temproot ディレクトリがある場合には、 以前はなかったディレクトリに新しく作ります。 このオプションは冗長フラグを解除しますが、 他の全てのオプションと一緒に使えます。 -a オプションを使うと、-w オプションは無意味になります。 .It Fl h 使用法とヘルプ情報を表示します。 .It Fl i 宛先ディレクトリに存在しないファイルは、自動的にインストールします。 .It Fl m Ar /path/to/sources .Xr make 1 を実行するディレクトリのパスを指定します。 (言い替えるとソースの場所です。-s がもう使われているので) .It Fl t Ar /path/to/temp/root 仮のルート環境をデフォルトの .Pa /var/tmp/temproot の代わりに .Pa /path/to/temp/root に作ります。 .It Fl d 仮のルートディレクトリの名前に、日付と時間を足します。 -t オプションを指定しているときに日付も足したいなら、 このオプションは -t の後に置く必要があります。 .It Fl u Ar N umask を数字で指定します。デフォルトは 022 です。 .It Fl w Ar N .Xr sdiff 1 コマンドに画面幅を桁数で指定します。 デフォルトは 80 です。 .It Fl D Ar /path ファイルをインストールする、宛先ディレクトリを指定します。 .El .Sh 環境変数 .Nm スクリプトは、 .Ev PAGER 環境変数がセットされていればそれを使い、さもなくば .Xr more 1 を使います。 もし .Ev PAGER に、フルパスではなく、 .Ev PATH の範囲にないプログラムを指定している場合には、 .Nm は選択肢とともにどう続行するのかを催促します。 .Ev MM_PRE_COMPARE_SCRIPT と .Ev MM_EXIT_SCRIPT の変数は、前述のように使用します。 スクリプト内部で使用する他の変数は、後で詳述するように、 .Pa .mergemasterrc で指定可能です。 .Sh 使用例 大抵の場合、あなたがする必要があるのは、 プロンプトで .Nm と打つことだけで、あとはスクリプトがあなたに代わって全ての作業をします。 .Pp context diff を使い、かつ .Nm が処理が進むにつれ、よりたくさんの説明をするようにするには: .Pp .Dl # mergemaster -cv .Pp .Nm が仮のルート環境を .Pa /usr/tmp/root に作るように指定するには: .Pp .Dl # mergemaster -t /usr/tmp/root .Pp 110 桁の画面と、厳密な比較を指定するには: .Pp .Dl # mergemaster -sw 110 .Sh 関連ファイル -.Bl -ohang +.Bl -tag -width $HOME/.mergemasterrc -compact .It Pa /etc/mergemaster.rc .It Pa $HOME/.mergemasterrc +.El .Pp .Nm は、これらファイルがあれば読み込みます。 コマンドラインオプションは、rc ファイルオプションに優先します。 .Pa $HOME/.mergemasterrc は、 .Pa /etc/mergemaster.rc に優先します。 全ての値をコメントアウトした例を示します: .Pp .Bd -literal # mergemaster のオプションが、デフォルト値とともに一覧してあります # 以下のオプションはコマンドラインが上書きします # # 仮のルート環境をインストールするディレクトリ #TEMPROOT='/var/tmp/temproot' # # CVS $Id の検査を省略して全てのファイルを比較する厳密な比較 #STRICT=no # # ファイルが食い違った時に差分を表示するための diff に使うフラグ #DIFF_FLAG='-u' # # より詳細な出力とチェックの追加を含める冗長モード #VERBOSE= # # システム上に存在しないファイルは自動的にインストールする #AUTO_INSTALL= # # 'make' を実行するディレクトリ (新しいファイルがある場所) #SOURCEDIR='/usr/src/etc' # # mergemaster がデフォルトのファイルモードとの比較に使う umask #NEW_UMASK=022 # # ファイルをインストールする、宛先ディレクトリを指定する #DESTDIR= # # 以下のオプションはコマンドラインから上書きできません # PAGER にフルパスを含めたくない人用 #DONT_CHECK_PAGER= # # 上を 'yes' にしたら、ページャへの PATH が含まれているか確認してください #PATH=/bin:/usr/bin:/usr/sbin # # 新旧の motd ファイルを比較しない #IGNORE_MOTD=yes # # 比較開始前に実行するスクリプトやスクリプト完了後に実行するスクリプト # のパスを指定する #MM_PRE_COMPARE_SCRIPT= #MM_EXIT_SCRIPT= .Ed -.El .Sh 関連項目 .Xr cvs 1 , .Xr diff 1 , .Xr make 1 , .Xr more 1 , .Xr sdiff 1 , .Xr pwd_mkdb 8 .Pp .Pa /usr/src/etc/Makefile .Pp -http://www.FreeBSD.org/handbook/makeworld.html , -.Pa The Cutting Edge (using make world) , -by Nik Clayton +.Rs +.%O http://www.FreeBSD.org/handbook/makeworld.html +.%T The Cutting Edge (using make world) +.%A Nik Clayton +.Re .Pp .\" 関連項目更新に伴い、訳注も更新した .\" horikawa@jp.FreeBSD.org 2000/08/22 (訳注: 日本語版は http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/handbook/makeworld.html ) .Sh 診断 成功終了、ないしユーザが実行中に手動で脱出した場合には、 終了ステータスは 0 です。 .Pp 以下に挙げるいずれかの理由で失敗した場合には、終了ステータスは 1 です: .Pp コマンドラインオプションが不正 .Pp 仮のルート環境を作成するのに失敗 .Pp 仮のルートにファイルを格納するのに失敗 -.Pp .Sh 歴史 .Nm スクリプトは、 1998 年 3 月 13 日に 私のウェブページの中で もっと単純な形で .Pa comproot という名前で最初に公開されました。 仮のルート環境を作るというアイデアは、 上で参照した Nik Clayton の make world tutorial から来ています。 -.Pp .Sh 作者 このマニュアルページとスクリプトは .An Douglas Barton Aq DougB@FreeBSD.org が書きました。 .Sh バグ 今のところわかっているバグはありません。 なにか問題や、コメントや、提案があれば、どうか作者まで報告してください。 このプログラムになされた改良のいくつかは ユーザからの提案によるものです。ありがとう。 diff --git a/ja_JP.eucJP/man/man8/mknetid.8 b/ja_JP.eucJP/man/man8/mknetid.8 index 5bf09b76c9..b546499e04 100644 --- a/ja_JP.eucJP/man/man8/mknetid.8 +++ b/ja_JP.eucJP/man/man8/mknetid.8 @@ -1,145 +1,145 @@ .\" Copyright (c) 1995, 1996 .\" Bill Paul . 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 Bill Paul. .\" 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 Bill Paul 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 Bill Paul OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/libexec/mknetid/mknetid.8,v 1.7.2.2 2001/06/22 20:00:35 olgeni Exp % +.\" %FreeBSD: src/libexec/mknetid/mknetid.8,v 1.7.2.3 2001/07/04 13:28:53 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/mknetid.8,v 1.8 2001/05/14 01:09:51 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/mknetid.8,v 1.9 2001/07/12 00:16:03 horikawa Exp $ .\" .Dd June 23, 1996 .Dt MKNETID 8 .Os .Sh 名称 .Nm mknetid .Nd netid マップデータの生成 .Sh 書式 .Nm .Op Fl q .Op Fl g Ar group_file .Op Fl p Ar passwd_file .Op Fl h Ar hosts_file .Op Fl n Ar netid_file .Op Fl d Ar domain .Sh 解説 .Nm は以下のファイル .Xr group 5 , .Xr passwd 5 , .Xr hosts 5 , .Xr netid 5 の内容を処理し、 .Tn NIS マップ .Pa netid.byname を生成するのに用いる形式に変換します。 このマップは、OS に依存しない形式でユーザとホスト双方の信用情報を 保持するために用いられます。 .Pp .Nm コマンドは重複した netid の出現をチェックし、それらを除去します。 .Pp .Nm コマンドは結果を標準出力に出力します。 通常は .Tn NIS マップを再構築する際に .Nm /var/yp/Makefile からのみ呼び出されます。 .Pp .Sh オプション .Nm コマンドには以下のオプションがあります: .Bl -tag -width indent .It Fl q 通常、 .Nm は重複した netid を見つけると警告メッセージを表示しますが、 このオプションにより「静粛」モードとなり、警告は抑制されます。 他のエラーメッセージはそのまま表示されます。 .It Fl g Ar group_file .Fl g オプションはグループ情報ファイルの場所を指定するのに用いられます。 コンパイル済みのデフォルト値は .Pa /etc/group です。 .It Fl p Ar passwd_file パスワード情報ファイルの場所を指定します。 コンパイル済みのデフォルト値は .Pa /etc/passwd です。 .It Fl h Ar hosts_file ホストデータベースファイルの場所を指定するのに用いられます。 コンパイル済みのデフォルト値は .Pa /etc/hosts です。 .It Fl n Ar netid_file netid 情報ファイルの場所を指定します。 コンパイル済みのデフォルト値は .Pa /etc/netid です。 注: netid データベースが見つからなくてもエラーにはなりません。 .Fx で .Tn Secure RPC がサポートされるようになるまでは、 ほとんどのシステムでは netid データベースは存在しないことでしょう。 .It Fl d Ar domain .Nm コマンドが netid レコードを生成する際、デフォルトでは、 システムのドメイン名を用います。 もしシステムのドメイン名が設定されていないなら、 .Fl d オプションによってコマンドラインからドメイン名を指定しなければなりません。 ドメイン名が設定されている場合、 .Fl d オプションによってその設定値を上書きすることもできます。 .El .Sh 関連ファイル .Bl -tag -width /var/yp/Makefile -compact .It Pa /var/yp/Makefile .Tn NIS データベースを構築するために .Nm yp_mkdb および .Nm を呼び出す Makefile .It Pa /etc/group デフォルトのグループデータベースファイル .It Pa /etc/passwd デフォルトのパスワードデータベースファイル .It Pa /etc/hosts デフォルトのホストデータベースファイル .It Pa /etc/netid デフォルトの netid データベースファイル .El .Sh 関連項目 .Xr yp 4 , .Xr yp_mkdb 8 .Sh 作者 .An Bill Paul Aq wpaul@ctr.columbia.edu diff --git a/ja_JP.eucJP/man/man8/mount_null.8 b/ja_JP.eucJP/man/man8/mount_null.8 index 237c2e8d1e..f47cbcddb2 100644 --- a/ja_JP.eucJP/man/man8/mount_null.8 +++ b/ja_JP.eucJP/man/man8/mount_null.8 @@ -1,235 +1,236 @@ .\" .\" Copyright (c) 1992, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" John Heidemann of the UCLA Ficus project. .\" .\" .\" 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_null.8 8.6 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/mount_null/mount_null.8,v 1.11.2.4 2000/12/27 14:52:52 ru Exp % -.\" $FreeBSD$ +.\" %FreeBSD: src/sbin/mount_null/mount_null.8,v 1.11.2.5 2001/07/19 06:16:41 dd Exp % +.\" +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/mount_null.8,v 1.12 2001/05/14 01:09:51 horikawa Exp $ .\" .Dd May 1, 1995 .Dt MOUNT_NULL 8 .Os BSD 4.4 .Sh 名称 .Nm mount_null .Nd ループバックファイルシステムサブツリーをマウントする; 何もしない(null)ファイルシステム層の利用のデモ .Sh 書式 .Nm .Op Fl o Ar options .Ar target .Ar mount_point .Pp .Sh 解説 .Nm は、null 層を作ります。これは、 ファイルシステムの名前空間の部分木を、グローバルなファイルシステムの名前空間 の別の場所にエイリアスします。 これにより、既存のファイルとディレクトリが別のパス名にてアクセス可能 となります。 .Pp ファイルシステムの仮想的コピーとシンボリックリンクとの第 1 の違いは、 .Xr getcwd 3 関数が仮想コピーでは正しく動作する点と、 別のファイルシステムを仮想コピー上にマウントしてもオリジナルには影響がない点 です。 .Xr stat 2 は、仮想コピーに対して別のデバイス番号が返しますが、 別の側面においてはオリジナルとの区別はつきません。 .Pp 歴史的な ループバックファイルシステムと異なるのは、次の 2 つの点です: 1 つは、ファイル システムのスタック化可能層 (stackable layers) という技術を使って 実装されている点、もう1つはディレクトリの vnode だけでなく、 すべての下位層の vnode の上に .Dq null-node が積み重なっているという点です。 .Pp オプションは以下のものがあります: .Bl -tag -width indent .It Fl o .Fl o のあとに、オプション文字列をコンマで区切って指定すること ができます。指定可能なオプションとその意味は .Xr mount 8 を参照してください。 .El .Pp この null 層は 2 つの目的を持っています。1 つは、何もしない層 を提供することでファイルシステムの層の構築のデモを示すことです (実際には 何も行わないというわけではなく、 ループバックファイルシステムが提供することはすべて行います)。 もう 1 つはプロトタイプ層を提供することで す。層のフレームワークとして必要なことはすべて提供しているので、 ここから新しいファイルシステム層を簡単に作り出すことができます。 .Pp このマニュアルの以下の部分では、新しいファイルシステム層を構築するための 基礎として null 層を調べます。 .\" .\" .Sh 新しい null 層の例示 新しい null 層は .Xr mount_null 8 で作られます。 .Xr mount_null 8 は 2つの引数をとります。 1つは下位層の vfs のパス名 (target-pn) で、 もう1つは null 層が現れる名前空間内のパス名 (mount-point-pn) です。 null 層が適切な場所に置かれた後、 目的のディレクトリ階層 (target-pn) の中身が マウント先 (mount-point-pn) にエイリアスされます。 .\" .\" .Sh null 層の操作 null 層は最小のファイルシステム層であり、 すべての操作を下位層に処理させるためにバイパスするだけです。 ほとんどすべての vnode に対する操作はパスすることですが、 その動作のほとんどはバイパスルーチンに集中します。 .Pp バイパスルーチンは下位層における任意の vnode に対する操作を受け付けます。 まず、vnode に対する操作の引数を検査し、 null-node を下位層において等価となるものに置き換えることから始めます。 次に、下位層の操作を起動します。 最後に、引数中の null-node を置き換えます。 もしその操作によって vnode が返ってきたら、 その返ってきた vnode の上に null-node を積みます。 .Pp ほとんどの操作をバイパスしますが、 .Em vop_getattr , .Em vop_inactive , .Em vop_reclaim , .Em vop_print はバイパスしません。 .Em vop_getattr は戻り値の fsid を替えなければなりません。 .Em vop_inactive と .Em vop_reclaim は、null 層特有のデータを解放するためにバイパスしません。 .Em vop_print は過度のデバッグ情報を避けるためにバイパスしません。 .\" .\" .Sh vnodeスタックの概説 マウントは null 層を下位層に関連づけます。 その結果 2 つの VFS が積み重なります。 vnode スタックはファイルがアクセスされるたびに必要に応じて作成されます。 .Pp 最初のマウントでは新しい null 層の根として単一の vnode スタックを作ります。 他のすべての vnode スタックは根の vnode スタックや他の null vnode スタックの 操作の結果として作られます。 .Pp vnode を返す操作の結果として新しい vnode スタックが生まれます。 バイパスルーチンは、呼出し側に vnode を返す前に新しい vnode の上に null-node を積みます。 .Pp 例えば、null 層を以下のようにマウントする例を想像します。 .Bd -literal -offset indent mount_null /usr/include /dev/layer/null .Ed .Pa /dev/layer/null にチェンジディレクトリすると、根の null-node (null 層をマウントした時 に作られたもの) が割り当てられます。 ここで .Pa sys をオープンすることを考えてみます。 vop_lookup は根の null-node で行なわれます。 この操作は下位層にバイパスされ、下位層が UFS の .Pa sys を表す vnode を返します。 それから null_bypass は UFS .Pa sys にエイリアスする null-node を構築し、呼出元にこれを返します。 null-node .Pa sys に対する以降の操作で他の vnode スタックを構築する時には この処理が繰り返されます。 .\" .\" .Sh 他のファイルシステム層の作成 新しいファイルシステム層を構築する一番簡単な方法は、 null 層のコピーを作り、すべてのファイル、変数の名前を付け直し、 そしてそのコピーを変更することです。 すべての変数の名前を変えるのには .Xr sed 1 が良く使われます。 .Pp umap 層は null 層の子孫の 1 例です。 .\" .\" .Sh 下位層の操作の起動 操作が完全にはバイパスできない時に 下位層にある操作を起動するための方法が 2 つあります。 それぞれの方法は違った状況に対して適切に使われます。 両方の場合とも、 その操作の引数を下位層のために正しく作るのはエイリアスする層の責任であり、 vnode 引数を下位層にマッピングします。 .Pp 最初の方法はエイリアスする層のバイパスルーチンを呼ぶことです。 この方法は、下位層で現在扱われている操作を起動したい時に最も適しています。 これはバイパスルーチンがすでにマッピングされているという利点があります。 この例として、 .Em null_getattrs が null 層にあります。 .Pp 2 つ目の方法は、 .Em VOP_OPERATIONNAME インタフェースを用いて下位層の vnode の操作を直接起動することです。 この方法の利点は、下位層の任意の操作を起動するのが簡単ということにあります。 欠点は、vnode 引数は手動でマッピングされなければならないことです。 .\" .\" .Sh 関連項目 .Xr mount 8 .Pp UCLA Technical Report CSD-910056, .Em "Stackable Layers: an Architecture for File System Development" . .Sh バグ 本ファイルシステムタイプは、まだ完全にはサポートされていません (注: 機能しないということです) し、 実際のところ使用するとシステム上のデータを破壊するかもしれません。 自己責任において使用してください。 猛犬注意。濡れていて滑ります。 .Pp 危険性を減らすためには、このコードもまた所有者を必要としています - 真面目なハッカーの方はメールを hackers@freebsd.org に送って 引き継ぎの意思を宣言してください。 .Sh 歴史 .Nm は、 .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/ping6.8 b/ja_JP.eucJP/man/man8/ping6.8 index 31909d26d5..f7f1940c87 100644 --- a/ja_JP.eucJP/man/man8/ping6.8 +++ b/ja_JP.eucJP/man/man8/ping6.8 @@ -1,448 +1,448 @@ -.\" $KAME: ping6.8,v 1.39 2001/04/04 00:08:34 itojun Exp $ +.\" $KAME: ping6.8,v 1.43 2001/06/28 06:54:29 suz Exp $ .\" .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE 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. .\" 3. Neither the name of the project 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 PROJECT 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 PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/ping6/ping6.8,v 1.3.2.7 2001/07/03 11:01:19 ume Exp % +.\" %FreeBSD: src/sbin/ping6/ping6.8,v 1.3.2.8 2001/07/06 08:56:46 ume Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/ping6.8,v 1.7 2001/05/14 01:09:54 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/ping6.8,v 1.8 2001/07/12 00:16:03 horikawa Exp $ .\" .\" WORD: ICMPv6 Node Information Node Addresses = ICMPv6 ノード情報(アドレス)問い合わせ .\" WORD: ICMPv6 Node Information FQDN query = ICMPv6 ノード情報(FQDN)問い合わせ .Dd May 17, 1998 .Dt PING6 8 .Os .Sh 名称 .Nm ping6 .Nd ネットワークホストに対して .Tn ICMPv6 ECHO_REQUEST パケットを送信する .Sh 書式 .Nm .\" without ipsec, or new ipsec -.Op Fl dfHnNqRtvw +.Op Fl dfHnNqRtvwW .\" old ipsec -.\" .Op Fl AdEfnNqRtvw +.\" .Op Fl AdEfnNqRtvwW .Bk -words .Op Fl a Ar addrtype .Ek .Bk -words .Op Fl b Ar bufsiz .Ek .Bk -words .Op Fl c Ar count .Ek .Bk -words .Op Fl h Ar hoplimit .Ek .Bk -words .Op Fl I Ar interface .Ek .Bk -words .Op Fl i Ar wait .Ek .Bk -words .Op Fl l Ar preload .Ek .Bk -words .Op Fl p Ar pattern .Ek .Bk -words .\" new ipsec .Op Fl P Ar policy .Ek .Bk -words .Op Fl S Ar sourceaddr .Ek .Bk -words .Op Fl s Ar packetsize .Ek .Bk -words .Op Ar hops...\& .Ek .Bk -words .Ek .Ar host .Sh 解説 .Nm は、 .Tn ICMPv6 プロトコルで必須の .Tn ICMP6_ECHO_REQUEST データグラムを使用し、ホストまたはゲートウェイから .Tn ICMP6_ECHO_REPLY データグラムを返させます。 .Tn ICMP6_ECHO_REQUEST データグラム (``ping'') は、IPv6 ヘッダと .Tn ICMPv6 を持ちます。 .Tn ICMPv6 の書式は RFC2463 に記述されています。 オプションは次の通りです: .Bl -tag -width Ds .\" old ipsec .\" .It Fl A .\" トランスポートモード IPsec 認証ヘッダを有効にします .\" (実験なものです)。 .It Fl a Ar addrtype .Tn ECHO_REQUEST ではなく ICMPv6 ノード情報 (アドレス) 問い合わせパケットを 生成します。 .Ar addrtype は以下の文字より構成される文字列でなければなりません。 .Bl -tag -width Ds -compact .It Ic a 応答者の全てのユニキャストアドレスを要求します。 もし省略されると、応答者のアドレスを持つ インタフェースに属するアドレスのみ要求します。 .It Ic c 応答者の IPv4 互換アドレスと IPv4 にマップされたアドレスを要求します。 .It Ic g 応答者のグローバルスコープアドレスを要求します。 .It Ic s 応答者のサイトローカルアドレスを要求します。 .It Ic l 応答者のリンクローカルアドレスを要求します。 .It Ic A 応答者のエニーキャストアドレスを要求します。 この文字がない場合、応答者はユニキャストアドレスのみ返します。 この文字がある場合、応答者はエニーキャストのみ返します。 仕様では、応答者のエニーキャストアドレスをどのように取得するかは 述べられていないことに注意してください。 これは実験的なオプションです。 .El .It Fl b Ar bufsiz ソケットのバッファサイズを設定します。 .It Fl c Ar count .Tn ECHO_RESPONSE パケットを .Ar count 回送出 .Pq そして受信 してから終了します。 .It Fl d 使用されているソケットに .Dv SO_DEBUG オプションを設定します。 .\" .It Fl E .\" トランスポートモード IPsec 暗号ペイロードを有効にします .\" (実験なものです)。 .It Fl f .Tn ECHO_REQUEST ping を垂れ流します。 パケットが返って来るとすぐ、もしくは 100 分の 1 秒に 1 回のうちの どちらか多い方の頻度でパケットを出力します。 .Tn ECHO_REQUEST パケットを送るたびに .Dq .\& が表示され、 .Tn ECHO_REPLY パケットを受信するたびにバックスペースが表示されます。 これによりどれだけのパケットが欠落したのかをすばやく表示することができます。 スーパユーザのみ使用可能です。 .Bf -emphasis このオプションはネットワークに非常に負荷をかけるので、注意して使用する 必要があります。 .Ef .It Fl H IPv6 アドレスの逆検索を試行するよう、指定します。 本オプションを指定しない場合、 .Nm コマンドは逆検索を試行しません。 .It Fl h Ar hoplimit IPv6 の中継限界数を設定します。 .It Fl I Ar interface 与えられたインタフェースアドレスに対して、送ります。 このフラグは、ping の宛先アドレスが マルチキャストアドレスの場合か、 リンクローカル / サイトローカルなユニキャストアドレスの場合に適用できます。 .It Fl i Ar wait .Ar wait で指定した秒数だけパケットの送出間隔を空けます。 デフォルトでは送出間隔は 1 秒です。 このオプションは .Fl f オプションとは同時に指定できません。 .It Fl l Ar preload .Nm は指定した .Ar preload 値だけ .Tn ECHO_REQUEST パケットを出来るだけ速く送信し、通常の動作に戻ります。 スーパユーザのみがこのオプションを使用できます。 .It Fl n 数値の出力のみになります。 応答中に含まれるホストアドレスに対し、シンボル名の解決を試みません。 .It Fl N ノード情報マルチキャストグループ (node information multicast group) をプローブします。 .Pq Li ff02::2:xxxx:xxxx . .Ar host はターゲットの文字列のホスト名であることが必要です .Pq 数値の IPv6 アドレスであってはなりません 。 ノード情報マルチキャストグループは、指定した .Ar host に基づいて計算し、最終的な終点として使用されます。 ノード情報マルチキャストグループは リンクローカルなマルチキャストグループなので、 終点リンクを .Fl I で指定する必要があります。 .It Fl p Ar pattern 送出するパケットを埋める .Dq pad バイトを指定します。 .Dq pad バイトは 16 バイトを上限とします。 これはネットワーク上でデータ依存の問題を診断するときに有効です。たとえば .Dq Li \-p ff は全て 1 の送出パケットを生成します。 .It Fl q 出力を抑制します。開始時と終了時の要約行しか表示しません。 .It Fl R 対象 .Po .Ar hops を指定した場合には最初の .Ar hop .Pc が到達可能であると、カーネルに信じさせます。 これは、上位層の到達可能性確認ヒントを挿入することで実現します。 本オプションは、対象 .Ar host .Pq または最初のホップ が隣である場合意味があります。 .It Fl S Ar sourceaddr 要求パケットの始点アドレスを指定します。 始点アドレスは、 送信元ノードのユニキャストアドレスのうちのひとつであることが必要です。 出力インタフェースを .Fl I で指定する場合には、 .Ar sourceaddr は当該インタフェースに割り当てたアドレスであることが必要です。 .It Fl s Ar packetsize 送出するデータのバイト数を指定します。 デフォルトでは 56 バイトです。 これは、 .Tn ICMP ヘッダデータの 8 バイトをつけた 64 バイトの .Tn ICMP データに変換されます。 .Fl b オプションも共に指定して、ソケットのバッファサイズを 拡張する必要があるかもしれません。 .It Fl v 冗長出力を有効にします。 .Tn ECHO_RESPONSE 以外の受信 .Tn ICMP パケットも表示されます。 .It Fl w .Tn ECHO_REQUEST ではなく ICMPv6 ノード情報 (FQDN) 問い合わせパケットを生成します。 .Fl w オプションを指定した場合 .Fl s オプションは無効となります。 .It Fl W .Fl w オプションと同じですが、03 ドラフトベースの古いパケット書式を使用します。 このオプションは後方互換性のために残されていました。 .Fl w オプションを指定した場合 .Fl s オプションは無効となります。 .It Ar hops タイプ 0 ルーティングヘッダ中に置かれる、中間ノード用の IPv6 です。 .It Ar host 最終的な終点ノードの IPv6 アドレスです。 .El .Pp 問題の切り分けのために .Nm を用いるには、ローカルインタフェースが up かつ running であることを 確認するため、まずローカルホスト上で実行します。 その後、より遠くのホストやゲートウェイに .Dq ping をしていきます。 経路周回時間 (round-trip time) と消失パケットの統計が計算されます。 重複したパケットが受信された場合、そのパケットは消失パケットの計算には 含まれませんが、経路周回時間の統計の計算には 使われます。 指定されたパケットの数が送信され .Pq 受信され たとき、もしくはプログラムが .Dv SIGINT で終了した場合、簡単な要約が表示されます。 要約に書き出されるのは、送出したパケット数、受信したパケット数、そして 経路周回時間の最小/最大/平均/標準偏差です。 .Pp このプログラムは主にネットワークのテスト、計測、管理に用いられることを 想定しています。 .Nm はそれ自体ネットワークに負荷をかけるので、トラブルのないときや自動スクリ プトで用いることは勧められません。 .\" .Sh ICMP PACKET DETAILS .\" An IP header without options is 20 bytes. .\" An .\" .Tn ICMP .\" .Tn ECHO_REQUEST .\" packet contains an additional 8 bytes worth of .\" .Tn ICMP .\" header followed by an arbitrary amount of data. .\" When a .\" .Ar packetsize .\" is given, this indicated the size of this extra piece of data .\" .Pq the default is 56 . .\" Thus the amount of data received inside of an IP packet of type .\" .Tn ICMP .\" .Tn ECHO_REPLY .\" will always be 8 bytes more than the requested data space .\" .Pq the Tn ICMP header . .\" .Pp .\" If the data space is at least eight bytes large, .\" .Nm .\" uses the first eight bytes of this space to include a timestamp which .\" it uses in the computation of round trip times. .\" If less than eight bytes of pad are specified, no round trip times are .\" given. .Sh 重複パケットと障害パケット .Nm は重複パケットと障害パケットを報告します。重複パケットは ユニキャストアドレスに対して ping をかけている場合は起こるはずの ないものですが、 リンク層での不適切な再送信によって引き起こされるようです。 重複は様々な状況で起こる可能性があります。低いレベルの重複の存在は 必ずしも警告にならないかもしれませんが、 .Pq まず よい兆候ではありません。 ブロードキャストもしくは マルチキャストアドレスに ping する時には、重複パケットが出ることが予想されます。 なぜなら、そのパケットは、実際には重複したパケットなのではなく、 異ったホストからの同じ要求に対する応答であるからです。 .Pp 障害パケットは、警告を引き起こす重大な原因であることは間違いありません。 多くの場合、 .Nm ping パケットの経路のどこか .Pq ネットワーク内かホスト内 のハードウェアの故障が 考えられます。 .Sh 異なったデータパターンの試行 (インタ) ネットワーク層は、データ部分に含まれるデータによってパケットの扱い を変えません。不幸にも、パケットがネットワークに侵入し、 長い間検知されないままとなるというデータに依存した問題が知られています。 多くの場合、問題を引き起こす特殊なパターンは、 たとえば全部 1 や全部 0 のようなもの、あるいは右端以外が 0 であるようなものといった、十分な .Dq 遷移 を持たないものです。コマンドラインで (たとえば) 全部 0 のデータパターンを指定するだけでは不十分かもしれません。なぜな ら問題のパターンはデータリンク層にあり、コマンドラインで指定したものと コントローラが送信するものとの関係は複雑である可能性があるからです。 .Pp このことは、つまり、データに依存した問題があるとき、それを見付けるためには テストをたくさんしなければならないということです。運がよければ、 あるネットワークを通して送れない、あるいは同じような長さのファイル よりも送るのにずっと長時間かかるようなファイルを見付けることが できるかもしれません。 この場合、そのファイルを調べ、繰り返し現われるパターンを .Nm の .Fl p オプションを使ってテストできます。 .Sh 戻り値 .Nm は、成功時 (ホストが生きている場合) には 0 を、 引数が正しくない場合やホストが応答しない場合には非 0 を返します。 .Sh 関連項目 .Xr netstat 1 , .Xr ifconfig 8 , .Xr ping 8 , .Xr routed 8 , .Xr traceroute 8 , .Xr traceroute6 8 .Rs .%A A. Conta .%A S. Deering .%T "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification" .%N RFC2463 .%D December 1998 .Re .Rs .%A Matt Crawford .%T "IPv6 Node Information Queries" .%N draft-ietf-ipngwg-icmp-name-lookups-05.txt .%D October 22, 1999 .%O work in progress material .Re .Sh バグ 我々が何故 .Xr ping6 8 と .Xr ping 8 の実装を分けたのかという議論が沢山ありました。 IPv4 と IPv6 両用の ping コマンドに統一した方が便利だと言う人もいました。 この要求に対する答えは次の通りです。 .Pp 開発者の視点から: -IPv4 と IPv6 とで下位 API が全く異りますので、 +IPv4 と IPv6 とで下位の raw ソケット API が全く異りますので、 2 種類のコードベースを持つことになります。 ふたつのコマンドをあわせて単一コマンドにしても、実際、 開発者の立場からは利益はないでしょう。 .Pp 操作者の視点から: リモートログインツールのような通常のネットワークアプリケーションとは異り、 通常、ネットワーク管理ツールを使用するときはアドレスファミリを意識します。 単にホストへの到達可能性を知りたいのではなく、 IPv6 等の特定のプロトコルでのホスト到達性を知りたいのです。 よって、IPv4 と IPv6 用に統合された .Xr ping 8 コマンドがあったとしても、常に .Fl 6 または .Fl 4 のオプション (またはこれに類するもの) を入力して、 特定のアドレスファミリを指定することになるでしょう。 これは、本質的に、ふたつの異なったコマンドを持つのと同じことを意味します。 .Sh 歴史 .Nm ping コマンドは .Bx 4.3 で登場しました。 IPv6 をサポートした .Nm コマンドは KAME IPv6 プロトコルスタックキットではじめて登場しました。 .Pp KAME Project (http://www.kame.net/) スタックを基とする IPv6 および IPsec のサポートは、 .Fx 4.0 で始めて組み込まれました。 diff --git a/ja_JP.eucJP/man/man8/ppp.8 b/ja_JP.eucJP/man/man8/ppp.8 index ac9baa108b..6a01da309d 100644 --- a/ja_JP.eucJP/man/man8/ppp.8 +++ b/ja_JP.eucJP/man/man8/ppp.8 @@ -1,5532 +1,5589 @@ .\" .\" Copyright (c) 2001 Brian Somers .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/ppp/ppp.8,v 1.209.2.24 2001/06/12 10:16:22 sobomax Exp % +.\" %FreeBSD: src/usr.sbin/ppp/ppp.8,v 1.209.2.25 2001/07/09 01:37:17 brian Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/ppp.8,v 1.49 2001/05/26 02:41:04 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/ppp.8,v 1.50 2001/07/12 00:16:03 horikawa Exp $ .\" .\" WORD: expect string 受信待ち文字列[chat.8,ppp.8] .Dd 20 September 1995 .nr XX \w'\fC00' .Dt PPP 8 .Os .Sh 名称 .Nm ppp .Nd PPP (Point to Point Protocol) (別名 user-ppp) .Sh 書式 .Nm .Op Fl Va mode .Op Fl nat .Op Fl quiet .Op Fl unit Ns Ar N .Op Fl alias .Op Ar system ... .Sh 解説 本プログラムは、ユーザプロセスとして動作する .Em PPP パッケージです。 .Em PPP は通常、( .Xr pppd 8 でそうなっているように) カーネルの一部として実装されますが、 そのため、デバッグや動作の変更が少々難しい場合があります。 それに対し、この実装ではトンネルデバイスドライバ (tun) を利用して、 ユーザプロセスで .Em PPP を実現しています。 .Pp .Fl nat フラグは、 .Dq nat enable yes と等価であり、 .Nm のネットワークアドレス変換機能を有効にします。 これにより .Nm は、内部 LAN 上の全マシンに対する NAT、 すなわちマスカレーディングエンジンとして動作します。 詳細は .Xr libalias 3 を参照してください。 .Pp .Fl quiet フラグを指定すると、 .Nm は起動時に静かになり、 モードとインタフェースを標準出力へ表示しなくなります。 .Pp .Fl unit フラグは、 .Nm が .Pa /dev/tun Ns Ar N のみのオープンを試みるように指定します。 通常、 .Nm は .Ar N に対して値 0 から開始し、成功するまで .Ar N を値 1 ずつ増加させて、トンネルデバイスのオープンを試みます。 デバイスファイルが存在しないために、3 回連続して失敗すると、諦めます。 .Pp .Nm は次の .Va mode を理解します: .Bl -tag -width XXX -offset XXX .It Fl auto .Nm は tun インタフェースをオープンし、 これを設定した後バックグラウンドになります。 出力データが tun インタフェース上で検出されるまでリンクはアップせず、 出力データが tun インタフェース上で検出されると .Nm はリンクをアップしようとします。 .Nm がリンクをアップしようとしている間に受信したパケット (最初のものを含みます) は、デフォルトで 2 分間キューにとどまります。 後述の .Dq set choked コマンドを参照してください。 .Pp .Fl auto モードでは、 コマンドラインには少なくとも 1 つの .Dq system を指定する必要があり (後述)、 インタフェース設定時に使用する相手の IP アドレスを指定する .Dq set ifaddr を、システムプロファイルで実行する必要があります。 通常、 .Dq 10.0.0.1/0 のようなものが適切です。例としては、 .Pa /usr/share/examples/ppp/ppp.conf.sample の .Dq pmdemand システムを参照してください。 .It Fl background この場合、 .Nm は相手との接続をすぐに確立しようとします。 成功すると、 .Nm はバックグラウンドになり、親プロセスは終了コード 0 を返します。 失敗すると、 .Nm は非 0 の結果で終了します。 .It Fl foreground フォアグラウンドモードでは、 .Nm は相手との接続をすぐに確立しようとしますが、デーモンにはなりません。 リンクはバックグラウンドモードで作成されます。 .Nm の起動を別のプロセスから制御したい場合に有用です。 .It Fl direct これは入力接続を受け付けるために使用します。 .Nm は .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 はコマンドラインで指定されたセクションをロードし、対話プロンプトを提供します。 .El .Pp .Po Pa /etc/ppp/ppp.conf に指定される .Pc 設定エントリ、すなわち system を、コマンドラインで 1 つ以上指定可能です。 起動時に .Nm は .Pa /etc/ppp/ppp.conf から .Dq default システムを読み込み、その後コマンドラインで指定した各 system を読み込みます。 .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 NAT、すなわちパケットエイリアシングをサポート パケットエイリアシング (別名: IP マスカレード) により、 未登録でプライベートなネットワーク上のコンピュータからも インターネットにアクセスすることが可能です。 .Em PPP ホストはマスカレードゲートウェイとして動作します。 送信パケットの IP アドレスと TCP や UDP のポート番号は どちらも NAT され、返信パケットではエイリアスが元に戻されます。 .It バックグラウンド PPP 接続をサポート バックグラウンドモードでは、接続を確立するのに成功した場合に .Nm はデーモンになります。 それ以外の場合はエラーで終了します。 これにより、 接続が成功裏に確立した場合のみコマンドを実行するようなスクリプト をセットアップすることが出来ます。 .It サーバとしての PPP 接続をサポート ダイレクトモードでは、 .Nm は標準入力/標準出力からの .Em PPP 接続を受け入れるサーバとして動作させることができます。 .It "PAP と CHAP (rfc 1994, 2433 および 2759) による認証をサポート" 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) をサポート .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 および PPP オーバ UDP をサポート デバイス名が .Em host Ns No : Ns Em port Ns .Xo .Op / Ns tcp|udp , .Xc 形式で指定された場合、 .Nm は通常のシリアルデバイスを使うのではなく、 データ転送のための TCP または UDP の 接続を開きます。 UDP 接続は、 .Nm を強制的に同期モードにします。 .It PPP オーバ ISDN をサポート .Nm がオープンすべきリンクとして 生の B チャネル i4b デバイスを指定すると、 .Xr isdnd 8 と対話して ISDN 接続を確立できます。 .It PPP オーバイーサネットをサポート (rfc 2516) .Nm が .No PPPoE: Ns Ar iface Ns Xo .Op \&: Ns Ar provider Ns .Xc の書式のデバイス指定を与えられ、 .Xr netgraph 4 が利用可能な場合、 .Nm は .Ar iface ネットワークインタフェースを使用し、 .Ar provider に対して .Em PPP オーバイーサネットを話そうとします。 .Pp .Xr netgraph 4 をサポートしないシステム上では、 .Xr pppoe 8 のような外部プログラムを使用可能です。 .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 拡張をサポート (rfc 1877) Microsoft の .Em PPP スタックを使用するクライアント (つまり Win95, WinNT) との間で ネームサーバのアドレスと NetBIOS ネームサーバのアドレスを ネゴシエーションできます。 .It マルチリンク PPP をサポート (rfc 1990) 接続先への複数の物理的な回線をオープンし、すべてのリンクの 帯域幅を合わせてより高いスループットを得ることができます。 .It MPPE (draft-ietf-pppext-mppe) のサポート MPPE は、Microsoft 社の Point to Point 暗号化機構です。 .Nm を設定して、Microsoft Windows の仮想プライベートネットワーク (VPN) に参加できるようになります。現在のところ、 .Nm は、CHAP 81 認証機構からしか暗号鍵を取得することができません。 MPPE を動作させるためには、DES つきで .Nm をコンパイルしなくてはなりません。 .El .Sh パーミッション .Nm はユーザ .Dv root 、グループ .Dv network 、パーミッション .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 を実行する時には、いくつかの初期設定を整える必要があります。 .Bl -bullet .It カーネルにトンネルデバイスが含まれていることが必要です (GENERIC カーネルではデフォルトで 1 つ含まれます)。 tun デバイスが含まれていない場合や、 複数の 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 nameserver 行を加えることで行われます。 詳細は .Xr resolv.conf 5 のマニュアルを参照してください。 .Pp 他の方法として、もし接続先がサポートしている場合には .Nm が接続先にネームサーバのアドレスを尋ねて、自動的に .Pa /etc/resolv.conf を更新することができます。詳細は後述の .Dq enable dns コマンドと .Dq resolv コマンドとを参照してください。 .El .Sh 手動ダイヤル 次の例では、あなたのマシン名が .Dv awfulhak であるとして説明します。 .Nm を引数無しで起動すると (前述の .Sx パーミッション 参照) 次のプロンプトが表示されます: .Bd -literal -offset indent ppp ON awfulhak> .Ed .Pp プロンプトの .Sq ON の部分は常に大文字であるべきです。ここが小文字の場合、 .Dq passwd コマンドを使用してパスワードを入力しなければならないことを意味します。 実行中の .Nm に接続し、 まだ正しいパスワードを入力していない場合にのみこのような状態になります。 .Pp .Bd -literal -offset indent 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 のデフォルトです。 パリティはどちらかというと古風なエラーチェック機構であり、 今となっては使用しません。 最近のモデムは各自のエラーチェック機構を持っており、 ほとんどのリンク層プロトコル ( .Nm はこれです) はより信頼できるチェック機構を使用します。 パリティは相対的に大きなオーバヘッドを持ちますので (トラフィックが 12.5% 増加します)、 .Dv PPP がオープンされると常に無効化 .Po Dq none に設定 .Pc されます。 しかし、ISP (インターネットサービスプロバイダ) によっては、 特定のパリティ設定を接続時 ( .Dv PPP がオープンする前) に使用するものがあります。 特に、Compuserve はログイン時に偶数パリティに固執しています: .Bd -literal -offset indent ppp ON awfulhak> set parity even .Ed .Pp ここで、現在のデバイス設定がどのようになっているか見られます: .Bd -literal -offset indent ppp ON awfulhak> show physical 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: 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 このようにならない場合、接続先がこちらのネゴシエーション開始を 待っている可能性があります。 強制的に .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 が接続先とのにネゴシエーションに成功しなかったことをを意味します。 この時点での問題解決の第一歩としては、次のようにし、再挑戦します。 .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 physical * モデム関連の情報がここに表示されます * 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 を用いることで既存の経路を上書きできます。 このコマンドは、実際に接続を作成する前に実行可能です。 新しい IP アドレスを接続時にネゴシエートする場合、これに従って .Nm がデフォルト経路を更新します。 .Pp ここで、(ping, telnet, ftp のような) ネットワークアプリケーションを、 あなたのマシンの別のウィンドウまたは端末で使用可能です。 現在の端末を再利用したい場合、 .Nm をバックグラウンドモードにするために、 標準のシェルのサスペンドとバックグラウンドコマンド (通常 .Dq ^Z の後に .Dq bg ) を使用可能です。 .Pp 使用可能コマンドの詳細は .Sx PPP コマンドリスト の節を参照してください。 .Sh 自動ダイヤル 自動ダイヤルを行うためには、ダイヤルとログインのチャットスクリプトを 用意しなければなりません。定義の例は .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 を立ち上げる際に、接続先のラベル名を指定可能です。 .Dq default ラベルに関係づけられたコマンドが実行されてから、 接続先ラベルに関連づけられたコマンドが実行されます。 .Nm を引数無しで起動した場合、 .Dq default だけは実行されます。load コマンドを使用して、 .Pa /etc/ppp/ppp.conf のセクションを手動でロード可能です: .Bd -literal -offset indent ppp ON awfulhak> load MyISP .Ed .Pp セクションロード後には、 .Nm はいかなる動作も行わないことに注意してください。 これは、コマンドラインでラベルを指定した結果でも、 .Dq load コマンドを使用した結果でも同様です。 設定ファイル中で、そのラベルに対して指定されたコマンドのみが、実行されます。 一方、 .Nm を .Fl background , .Fl ddial , .Fl dedicated のいずれかのスイッチ付きで起動したときには、 .Nm が接続を確立するように、リンクモードが指示します。 更なる詳細については、後述の .Dq set mode コマンドを参照してください。 .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 /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 /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 を仮定) 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 秒間待ってから、 別の送信パケットが検出された時に接続しようとします。 .Pp この動作は .Dq set redial コマンドで変更できます。 .Pp .No set redial Ar secs Ns Xo .Oo + Ns Ar inc Ns .Op - Ns Ar max Ns .Oc Ns Op . Ns Ar next .Xc .Pp .Bl -tag -width attempts -compact .It Ar secs は、再び接続しようとするまでの秒数です。 引数がリテラル文字列 .Sq Li random の場合には、待ち時間を 1 秒以上から 30 秒以下の間でランダムに選びます。 .It Ar inc は秒数であり、 新規にダイヤルするときに .Ar secs に加えられます。 このタイムアウト値が .Ar secs に戻るのは、接続が成功裏に確立した後だけです。 .Ar inc のデフォルト値は 0 です。 .It Ar max は、 .Nm が .Ar secs を増加させる最大回数です。 .Ar max のデフォルト値は 10 です。 .It Ar next は電話番号リストの中の次の番号をダイヤルする前に待つ秒数です。( .Dq set phone コマンドを参照してください)。これのデフォルトは 3 秒です。 繰り返しますが、引数がリテラル文字列 .Sq Li random の場合には、待ち時間を 1 秒以上 30 秒以下の間でランダムに選びます。 .It Ar attempts は、受け取った個々の送信パケットに対して、何回接続を試みるのかを示す 数字です。 .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 Qo /usr/libexec/getty std.38400 Qc dialup on secure .Pp .Xr getty 8 を起動するために .Xr init 8 プロセスに .Dv HUP シグナルを送るのを 忘れないでください: .Pp .Dl # kill -HUP 1 .Pp 通常、あなたのモデムの DTR 速度を getty と同じに設定する必要があります: .Bd -literal -offset indent # ppp ppp ON awfulhak> set device /dev/cuaa1 ppp ON awfulhak> set speed 38400 ppp ON awfulhak> term deflink: Entering terminal mode on /dev/cuaa1 Type `~?' for help at OK at OK atz OK at OK ~. ppp ON awfulhak> quit .Ed .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 で接続の認証を行うという点が異なります。 .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 行を含みます。 各行は 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 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 と PPP オーバ UDP (別名: トンネリング) シリアルリンク上以外の .Nm の使用方法として、 device にホストとポートを指定することにより、 TCP 接続を使用することが可能です: .Pp .Dl set device ui-gate:6669/tcp .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 .Ed .Pp また、 .Pa /etc/ppp/ppp.linkup 中のエントリには、次のようなものを含まなくてはなりません。 .Bd -literal -offset indent ppp-in: add 10.0.1.0/24 HISADDR .Ed .Pp .Nm がネゴシエーションを行い、インタフェースにアドレスを割り当てて からだけしか経路を追加しないように、 .Pa ppp.linkup ファイル中には .Dq add コマンドを置く必要があります。 .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 が .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/tcp 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 .Ed .Pp そして、 .Pa /etc/ppp/ppp.linkup ファイル中に経路の設定もつけます。 .Bd -literal -offset indent ui-gate: add 10.0.2.0/24 HISADDR .Ed .Pp PAP を有効にするのなら、 .Pa /etc/ppp/ppp.conf プロファイル中に、次のような設定も必要です。 .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 ストリーム中でカプセル化されます (パケットがパケットに対応するわけではありません)。 .Pp この機構の大きな欠点は、同時に 2 つの「配送保証」機構が存在することです - この 2 つとは、下位レベルの TCP ストリームと .Em PPP リンク上で使用されるプロトコルであり、おそらくまた TCP でしょう。 パケット喪失が起ると、両者はそれぞれの方法で喪失した パケットを再送しようと するでしょう。 .Pp このオーバヘッドを避けるために、 トランスポートとして TCP の代りに UDP を使用できます。 これは単にプロトコルを "tcp" から "udp" に変えるだけで可能です。 トランスポートとして UDP を使用するとき、 .Nm は同期モードで動作します。 入力データがパケットに再構成されないという、別の利点もあります。 .Pp このように、トンネルされた設定を通してデフォルトの経路を追加する ときには注意してください。 デフォルトの経路 .Pq Pa /etc/ppp/ppp.linkup に追加されます が、最終的にはリンクのトンネル経由の TCP 接続を ルーティングすることになるのは良く起こることであり、 結果的に接続を狭めてしまうことになります。 これを避けるため、トンネル経由の接続の助けになるように、静的経路を 追加することを忘れないでください。 .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in/tcp add ui-gate x.x.x.x ..... .Ed .Pp ここで、 .Dq x.x.x.x は、 .Dq ui-gate への経路が通常使用する IP アドレスです。 .Pp インターネットのような、公共のネットワークを通して接続を ルーティングさせる場合、データを暗号化する方が望ましいです。 MPPE プロトコルの助けを借りれば、それが可能になります。 しかし、現在のところ、MPPE が圧縮層として実装している (この点に関しては Microsoft 社に感謝します) ように、 トラフィックを圧縮することもできるというわけではありません。 MPPE 暗号化を有効にするには、次のような行をサーバ側の .Pa /etc/ppp/ppp.conf に追加してください。 .Bd -literal -offset indent enable MSCHAPv2 disable deflate pred1 deny deflate pred1 .Ed .Pp その際、 .Pa /etc/ppp/ppp.secret に必要なエントリを置いたことを確認してください (MSCHAPv2 はチャレンジコードベースです。そのため、 .Xr passwd 5 は使用しません)。 .Pp MSCHAPv2 および MPPE はデフォルトで受け取ることができます。 ですので、クライアント側では、何も変更を加えなくても動くはずです (ですが、プロファイル中に .Dq set authname と .Dq set authkey があることは確認してください)。 .Pp .Sh ネットワークアドレス変換 (パケットエイリアシング) .Fl nat コマンドラインオプションにより、 ネットワークアドレス変換 (別名、パケットエイリアシング) が有効になります。 これにより、 .Nm ホストがローカルエリアネットワークの他のコンピュータに対して マスカレードゲートウェイとして動作するようになります。 送信される IP パケットは、まるで .Nm ホストから来たかのように NAT され、 受信パケットは、それがローカルエリアネットワークの正しいマシンに 送られるように NAT が戻されます。 NAT により、 未登録でプライベートなサブネット上のコンピュータを 外部から見えないようにしつつ、 インターネットへアクセス可能とします。 一般に、 .Nm が正しく動作していることの確認は、 まず最初にネットワークアドレス変換を禁止して行います。 次に .Fl nat オプションを有効にして、 .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 !\& .Oo .Op host .Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width .Oc .Ar [ proto Op src Ar cmp port .Op dst Ar cmp port .Op estab .Op syn .Op finrst .Op timeout Ar secs ] .Bl -enum .It .Ar name は .Sq in , .Sq out , .Sq dial , .Sq alive のいずれかです。 .It .Ar rule-no は .Sq 0 から .Sq 39 までの数値で、ルール番号を指定します。 ルールは .Ar rule-no の番号順に指定されます。 ただしルール .Sq 0 が指定されている場合のみです。 .It .Ar action は .Sq permit , .Sq deny を指定可能であり、 あるパケットがこれらのルールに一致した場合、 結びつけられた action が直ちに実行されます。 また .Ar action には .Sq clear も指定可能です。 この場合、このルールに結びつけられた action をクリアします。 また .Ar action には、現在のルール番号よりも大きなルール番号を指定可能です。 この場合には、あるパケットが現在のルールに一致した場合、 (次のルール番号の代りに) この新しいルールに対して次にパケットが一致するかを確認します。 .Pp .Ar action にはエクスクラメーションマーク .Pq Dq !\& を続けることが可能です。この場合、 .Nm は後続する一致の意味を反転させます。 .It .Op Ar src_addr Ns Op / Ns Ar width と .Op Ar dst_addr Ns Op / Ns Ar width は始点と終点の IP アドレスです。 .Op / Ns Ar width が指定された場合には、それによって適切なネットマスクのビット値を与え、 アドレスの範囲を指定することができます。 .Pp .Ar src_addr と .Ar dst_addr には、 .Dv MYADDR と .Dv HISADDR という値を使用可能です (これらの値の解説は .Dq bg を参照してください)。 これらの値を使用した場合、これらの値が変化するたびにフィルタが更新されます。 これは、後述の .Dq add コマンドの動作と似ています。 .It .Ar proto は .Sq icmp , .Sq igmp , .Sq ipip , .Sq ospf , .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 フラグを表わします。 .It タイムアウト値は、現在のアイドルタイムアウトを最低でも .Ar secs 秒へと修正します。 タイムアウトを、alive フィルタと in/out フィルタの両方で指定すると、 in/out での値が使用されます。 タイムアウトを指定しないと、デフォルトタイムアウト ( .Ic set timeout を使用して設定するもので、デフォルトでは 180 秒になります) が使用されます。 .El .Pp .It 各フィルタはルール 0 から始まり、40 個までのルールをもつことができます。 規則のルールは、ルール 0 が定義されていなければ、有効にはなりません。 すなわち、デフォルトではすべてが通されます。 .It 定義されたルール集合中にマッチするものが無い場合、 パケットは破棄 (ブロック) されます。 フィルタにルールが存在しない場合、パケットは通過を許されます。 .It .Em PROTO_IP .Em PPP フレームヘッダを持つ UDP フレームに対しては、 ペイロードに基づいたフィルタリングを行なうことが可能です。 詳細については、後述の .Ar filter-decapsulation を参照してください。 .It すべての規則を消去するには、 .Dq set filter Ar name No -1 を使ってください。 .El .Pp .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 -ragged -offset indent .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 アドレスを制御する サーバとして動作しており、もう一方はその方針に従います。 より柔軟な動作をさせるために、 .Dq set ifaddr コマンドで IP アドレス指定をもっと緩やかにすることが可能です: .Pp .Dl set ifaddr 192.244.177.38/24 192.244.177.2/20 .Pp スラッシュ .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 \&: で区切って複数指定することができます。例えば、次のようになります: .Bd -ragged -offset indent .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 または .Ar chat のログが有効な時は、実際のパスワードは記録されません。 代りに .Sq ******** が記録されます。 .Pp ログインスクリプトはプロバイダによって大きく違うものになるでしょう。 始めてそれを設定するときには .Em チャットログを有効化 することで、あなたのスクリプトが予定通りに動いているかを 調べることができます。 .It シリアル回線と通信速度を指定するためには .Dq set device と .Dq set speed を使います。例えば次のようになります。 .Bd -literal -offset indent set device /dev/cuaa0 set speed 115200 .Ed .Pp .Fx では cuaa0 が 1 つめのシリアルポートになります。 .Ox で .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 .Ed .Pp ローカル DNS を走らせている場合には、 .Dq resolv readonly を使わず、かつ、 .Dq resolv restore を .Pa /etc/ppp/ppp.linkdown に含めていないならば、 これを .Em やらない でください。 .Nm は単純に .Pa /etc/resolv.conf に nameserver 行を入れることで、ローカル DNS の使用を 出し抜いてしまうからです。 .El .Pp 現実の例を見たい場合には、 .Pa /usr/share/examples/ppp/ppp.conf.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 All ロギング用ファシリティをすべて有効にします。 この場合、ログがたくさんできます。 `all' の最も一般的な使い方は、共通部分として使うことです。 この場合、すべてのファシリティを有効にしたあとで一部の ファシリティを削ったりします (`debug' や `timer' が通常は無効にするのに最適な ファシリティです)。 .It Li Async 非同期レベルパケットの 16 進ダンプ。 .It Li CBCP CBCP (CallBack Control Protocol) ログの生成。 .It Li CCP CCP パケットトレースの生成。 .It Li Chat .Sq dial , .Sq login , .Sq logout , .Sq hangup のチャットスクリプトのトレースログの生成。 .It Li Command コマンド実行のログ。 .It Li Connect 文字列 "CONNECT" を含むチャット行のログ。 .It Li Debug デバッグ情報のログ。 .It Li DNS DNS QUERY パケットのログ。 .It Li Filter ダイヤルフィルタに許可され、他のフィルタに拒否されたパケットのログ。 .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 Physical 物理レベルパケットの 16 進ダンプ。 .It Li Sync 同期レベルパケットの 16 進ダンプ。 .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 "USR2" .It INT このシグナルを受信すると、現在の接続がもしあればそれを終了します。 .Fl auto もしくは .Fl ddial のモードではない場合、 .Nm は終了します。 .It HUP, TERM, QUIT .Nm を終了させます。 .It USR1 .Nm に既存のサーバソケットを再度オープンさせ、すべての既存の診断ポートへの接続を 取り下げます。 以前にオープン出来なかったソケットは、再度試されます。 .It USR2 .Nm に全サーバソケットを閉じさせ、すべての既存の診断ポートへの接続を 取り下げます。 再度オープンするためには、 .Dv SIGUSR1 が使用できます。 .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 0.0.0.0 0.0.0.0 set authname ppp set authkey ppppassword set mrru 1500 clone 1,2,3 # 3 個の新規リンクを作成 - デフォルトを複製 link deflink remove # デフォルトリンクを削除 (``deflink'' という名前) .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 セッションで対話的に使用することも、 設定ファイルで指定することも、 .Xr pppctl 8 もしくは .Xr telnet 1 セッションで指定することも可能です。 .Bl -tag -width 2h .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 2h .It acfcomp デフォルト: enable かつ accept。 ACFComp はアドレスおよびコントロールフィールド圧縮 (Address and Control Field Compression) を意味します。 LCP パケット以外は通常、 アドレスフィールド 0xff (全ステーションアドレス) と 制御フィールド 0x03 (番号付けされていない情報コマンド) を持ちます。 このオプションがネゴシエートされると、これらの 2 バイトは単に送信されなくなり、 流量が少なくなります。 .Pp 詳細は .Pa rfc1662 を参照してください。 .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 認証要求に応答しますが、要求はしません。 .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 enddisc デフォルト: enable かつ accept。 このオプションは、終点選択値をネゴシエートするか否かを制御します。 .Dq set enddisc が使用され .Ar enddisc が enable の場合のみ、当方の選択値を送ります。 .Ar enddisc が disable の場合、相手の選択値を拒否します。 .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 ロギングを有効にすることで、詳細なリンク品質を監視することが 可能になります。 接続相手が同意しなかった場合、 .Nm は代りに ECHO LQR 要求を 送ります。これらのパケットは興味ある情報を何も渡しませんが、 .Em 必ず 接続相手に応答しなければなりません。 .Pp LQR, ECHO LQR のいずれを用いるにせよ、 .Nm は 5 つのパケットを送ったが確認応答が無い場合、6 つ目のパケットを送らずに 回線を切断します。 メッセージを .Em PHASE レベルで記録し、回線切断の原因が接続相手にあるものとして、適当な .Dq reconnect 値を使用します。 .It mppe デフォルト: enable かつ accept。 これは、Microsoft 社の Point to Point 暗号化機構です。 MPPE の鍵のサイズは、40, 56, 128 ビットです。 .Dq set mppe コマンドを参照してください。 .It MSChapV2|chap81 デフォルト: disable かつ accept。 標準 CHAP (タイプ 0x05) と非常に似ていますが、長さ 16 バイト固定の チャレンジコードを送ることと、チャレンジコードを暗号化するのに、 標準の MD5 機構ではなく MD4, SHA-1 そして DES を混合して使用する 点が異なります。 .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 filter-decapsulation デフォルト: disable。 本オプションを enable にすると、 .Nm は UDP フレームを検査し、 .Em PPP フレームをペイロードとして持っているか否かを見ます。 これが真である場合、パケット自身に対してではなく、ペイロードに対して、 すべてのフィルタを適用します。 .Pp .Em PPP リンク上で PPPoUDP トラフィックを送りたい場合で、 UDP ラッパではなく、 実際のデータに基いて賢いことをリンクにやらせたい場合に有用です。 .Pp UDP フレームのペイロードは、如何なる方法であっても圧縮してはなりません。 圧縮した場合には、 .Nm はペイロードを解釈できません。 ですから、UDP リンクに対する .Nm の起動の際には、設定中で .Ic disable vj pred1 deflate と .Ic deny vj pred1 deflate を行なうことを推奨します。 .It idcheck デフォルト: enable。 低レベルな LCP, CCP, IPCP 設定トラフィックを交換するときに、 すべての応答の識別子フィールドはその要求の識別子フィールドと 同一であることが予定されています。デフォルトでは .Nm は予定された識別子フィールドを持たないすべての応答パケットを 捨て、それぞれのログレベルで報告します。もし .Ar idcheck が disable になっている場合、 .Nm は識別子フィールドを無視します。 .It keep-session デフォルト: disable。 .Nm がマルチリンクサーバとして動作するとき、別の .Nm インスタンスが最初に各接続を受け付けます。 リンクが (別の .Nm によって制御されている) 既存のバンドルに属すと判定すると、 .Nm はこのリンクを当該別プロセスへ移管します。 .Pp リンクが tty デバイスである場合かこのオプションが enable されている場合、 .Nm は終了せず、自己のプロセス名を .Dq session owner に変え、リンクを制御する方の .Nm が処理を完了してアイドルプロセスの方へシグナルを返すまで待ちます。 リンク資源が再利用可能であると .Nm の親がみなす結果により生じる混乱を、これにより防ぎます。 .Pp .Pa /etc/ttys にエントリがある tty デバイスの場合、別の .Xr getty 8 の開始を防ぐために、これが必要です。 .Xr sshd 8 のようなプログラムリンクの場合、子供の死による .Xr sshd 8 の終了を防ぐために、これが必要です。 .Nm は親の要件を判断できませんので (tty の場合を除く)、 状況に応じて手動で本オプションを設定する必要があります。 .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 表に単一エントリを作成することを意味します。 これにより、 相手自身がその LAN に接続されたかのような状態で、 LAN に接続された他のマシンと相手とが 通信できるようになります。 .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 Op tcp Ns Xo .No mssfixup .Xc デフォルト: enable。 このオプションは、 .Nm に、出力 TCP SYN パケットを調整するように指示し、 インタフェース MTU が許可しているサイズを受信セグメントサイズの 最大値が超えないようにします。 .It throughput デフォルト: enable。 このオプションを有効にすると、 .Nm はスループット統計を収集します。 ずれ動く 5 秒間のウィンドウにおいて入出力が検査され、 現在、最良時、総計の数値が保持されます。 このデータは関連する .Em PPP 層が終了するときに出力され、また .Dq show コマンドで表示することで得られます。スループット統計は .Dq IPCP と .Dq physical のレベルで利用可能です。 .It utmp デフォルト: enable。 通常ユーザが PAP もしくは CHAP で認証された時で、 .Nm が .Fl direct モードで実行されている時は、このユーザのエントリが utmp ファイルおよび wtmp ファイルに作成されます。 このオプションを disable にすると、 .Nm は utmp および wtmp のエントリを作成しません。 通常、 ユーザがログインしかつ認証することを要求する場合のみ必要です。 .It iface-alias デフォルト: .Fl nat が指定された場合 enable。 このオプションは、 インタフェースのアドレスを交換するのではなく、 インタフェースに新規アドレスを追加するように、 .Nm に指示します。 ネットワークアドレス変換が有効な場合のみ .Pq Dq nat enable yes 、本オプションを enable にできます。 .Pp 本オプションを enable にすると、 .Nm は古いインタフェースアドレスのトラフィックを NAT エンジン .Pq Xr libalias 3 参照 を通すようになり、( .Fl auto モードでは) 最初に PPP リンクを立ち上げたプロセスが正しく接続できるようにします。 .Pp .Dq nat enable no として NAT を disable すると、 .Sq iface-alias も disable します。 .El .Pp .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 , .Dq DNS0 , .Dq DNS1 のいずれかを含む経路は .Sq スティッキー と見なされます。これらはリスト (リストを見るには .Dq show ipcp コマンドを使用します) に格納され、 .Dv HISADDR .Dq MYADDR , .Dq DNS0 , .Dq DNS1 のいずれかの値が変更される度に、経路表の関連するエントリが更新されます。 この機能は .Dq disable sroutes を使用することで無効にできます。 .It allow user Ns Xo .Op s .Ar logname Ns No ... .Xc このコマンドは .Nm と設定ファイルへのアクセスを制御します。 設定ファイルのラベルと .Nm 実行モードにより、 ユーザレベルでのアクセスも可能です。 例えば、 .Fl background モードでは、ユーザ .Sq fred のみがラベル .Sq fredlabel にアクセスできるように、 .Nm を構成したいかもしれません。 .Pp ユーザ ID 0 はこれらのコマンドの対象外です。 .Bl -tag -width 2h .It allow user[s] Ar logname... デフォルトでは、ユーザ ID 0 のみが .Nm へのアクセスを許されています。 このコマンドを指定することで、 .Dq allow users が記載されているセクションに列挙されているユーザは、 そのセクションへのアクセスが可能となります。 .Sq default セクションは 常に最初にチェックされます (スタートアップ時に常にロードされる唯一の セクションです)。 あるセクションの中では、複数の .Dq allow users コマンドは、加算的です。 しかしながら、あるセクション中で許可されたユーザ群は、 .Sq default セクションで許可されたユーザ群を上書きします。 ですから、デフォルトユーザを .Sq default セクションで指定し、新しいユーザリストをあるラベルに指定することで、 あるラベル以外のすべてにアクセスを許すといったことが可能です。 .Pp ユーザ .Sq * が指定されると、全ユーザにアクセスが許されます。 .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 nat Ar command Op Ar args このコマンドは .Nm 組込みのネットワークアドレス変換機能 (マスカレーディングや IP エイリアシングとしても知られています) を 制御するために使用します。 NAT は、外部インタフェースでのみ動作し、 .Fl direct フラグと共に使用してもおそらく意味がありません。 .Pp あなたのシステムで nat を有効にすると (コンパイル時に削除できます)、 次のコマンドが使用可能となります: .Bl -tag -width 2h .It nat enable yes|no このコマンドは、ネットワークアドレス変換を有効もしくは無効にします。 .Fl nat コマンドラインフラグは .Dq nat enable yes と同じ意味です。 .It nat addr Op Ar addr_local addr_alias このコマンドには、 .Ar addr_alias のデータを .Ar addr_local へリダイレクトします。 少数の実 IP アドレスを持ち、 それらをゲートウェイの後の特定のマシンにマップしたい場合に有用です。 .It nat deny_incoming Op yes|no yes に設定すると、 エイリアシングリンクがまだ存在しないところでは、 このコマンドは全パケットを拒否します。 .Dq エイリアシングリンク が何であるかについては、 .Xr libalias 3 の .Sx 概念の背景 節を参照してください。 .Pp どのような状況において .Xr libalias 3 がエイリアシングリンクを作成したか、気をつける必要があります。 .Dq set filter または .Dq nat target のコマンドを使用して、更にネットワークを保護する必要があるかもしれません。 .It nat help|? このコマンドは、使用可能な nat コマンドのまとめを表示します。 .It nat log Op yes|no このオプションは、NAT の様々な統計と情報がファイル .Pa /var/log/alias.log に記録されるようにします。 .It nat port Ar proto Ar targetIP Ns Xo .No : Ns Ar targetPort Ns .Oo .No - Ns Ar targetPort .Oc Ar aliasPort Ns .Oo .No - Ns Ar aliasPort .Oc Oo Ar remoteIP : Ns .Ar remotePort Ns .Oo .No - Ns Ar remotePort .Oc Ns .Oc .Xc このコマンドは、 .Ar aliasPort への入力の .Ar proto 接続を、 .Ar targetIP の .Ar targetPort へリダイレクトします。 .Ar proto は、 .Dq tcp または .Dq udp です。 .Pp ポート番号の範囲は、前述のように指定可能です。 範囲は同じ大きさであることが必要です。 .Pp .Ar remoteIP が指定された場合、この IP 番号から来たデータのみがリダイレクトされます。 .Ar remotePort は、 .Dq 0 .Pq すべての送信元ポート か、もう一方の範囲と同じ大きさのポート範囲です。 .Pp あなたのゲートウェイの後のマシンでインターネット電話等を実行したい場合に、 このオプションは有用です。 しかし、送信元ホストと宛先ポートにつき 内部マシン 1 台のみに接続可能という制限があります。 .It "nat proxy cmd" Ar arg Ns No ... このコマンドは、 .Nm に特定の接続に対する代理をさせ、 これらの接続を指定したサーバにリダイレクトします。 使用可能なコマンドについての詳細は .Xr libalias 3 の .Fn PacketAliasProxyRule の記述を参照してください。 .It nat same_ports yes|no 有効になると、 ネットワークアドレス変換エンジンに対して、 出力パケットのポート番号をできるだけ変更しないように指示します。 RPC や LPD といった、 ウェルノウンポート (well known port) からの接続を要求する プロトコルをサポートするのに有用です。 .It nat target Op Ar address アドレスを指定したときは、そのアドレスをターゲットアドレスとして設定し、 指定しないときは、ターゲットアドレスの設定をクリアします。 ターゲットアドレスは、デフォルトでどのように受信パケットを NAT するかを指定するために libaliases が使用します。 ターゲットアドレスが設定されていないか、または .Dq default が与えられている場合、パケットは変更されないまま内部ネットワークに ルーティングされるようになります。 .Pp ターゲットアドレスを .Dq MYADDR に設定することもでき、その場合、libaliases はすべてのパケットを 内部ネットワークにリダイレクトします。 .It nat use_sockets yes|no 有効になると、 ネットワークアドレス変換エンジンにソケットを作成させ、 正しい ftp データ入力や IRC 接続を保証できるようになります。 .It nat unregistered_only yes|no 登録されていない送信元アドレスの出力パケットのみを、変更します。 RFC1918 によると、登録されていない送信元アドレスは 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 です。 .El .Pp これらのコマンドはソース配布物の .Pa README.nat ファイル中でも議論されています。 .Pp .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 COMPILATIONDATE これは、 .Nm がコンパイルされた日付と置き換えられます。 .It Li DNS0 & DNS1 これは、それぞれプライマリ DNS サーバ、セカンダリ DNS サーバの IP アドレスに置き換えられます。IPCP によりネームサーバが ネゴシエーションされた場合、このマクロの値は変わります。 .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 VERSION これは、 .Nm の現在のバージョン番号と置き換えられます。 .It Li USER これは、PAP もしくは CHAP で認証されたユーザ名と置き換えられます。 通常、この変数は -direct モードでのみ割り当てられます。 この値は、utmp ロギングが有効になっているかどうかに関わらず、利用可能です。 .El .Pp これらの置換は .Dq set proctitle コマンドによっても実行されます。 .Pp コマンド実行中に .Nm を停止させたい場合は、 .Dq shell コマンドを使用してください。 .It clear physical|ipcp Op current|overall|peak... .Dq physical もしくは .Dq ipcp 階層で、指定されたスループット値をクリアします。 .Dq modem を指定する場合にはコンテキストが与えられなければなりません (後述の .Dq link コマンドを参照)。 第 2 引数が与えられない場合、すべての値がクリアされます。 .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 Ns Op !\& 引数が与えられないと、適切なプロトコル層がダウンし、リンクが閉じられます。 .Dq lcp が指定されると LCP 層がダウンしますが、 .Nm をオフラインにはしません。例えば .Dq slirp のようなものを使用すれば、 .Dq term .Pq 後述 を使用して相手のマシンと会話できます。 .Dq ccp が指定されると適切な圧縮層が閉じられます。 .Dq !\& が使用されると、圧縮層はクローズ状態のままとなります。 使用されない場合には、STOPPED 状態へ再度入り、 相手が更なる CCP ネゴシエーションを開始するのを待ちます。 なにが起きようとも、ユーザを .Nm から切り離すことはありませんし、 .Nm を終了させることもありません。 後述の .Dq quit を参照してください。 .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 Ns Xo .No ... .Xc このコマンドは、 .Dq load label の次に .Dq open を指定することと同等です。後方互換性のために提供されています。 .It down Op Ar lcp|ccp 適切な階層をダウンさせますが、 綺麗な方法ではなく、下位層が使用不能になったように見えます。 オープン状態にある有限状態機械でこのコマンドを使用することは、 丁寧ではないとされています。 引数が与えられない場合、すべてのリンクが閉じられます (コンテキストが与えられない場合にはすべてのリンクが終了されます)。 .Sq lcp が指定された場合、 .Em LCP 層は終了されますが、デバイスはオフラインに移行せず、 リンクも閉じられません。 .Sq ccp が指定された場合、 関連する圧縮層のみが終了されます。 .It help|? Op Ar command 利用可能なコマンドをリストします。 .Ar command を指定した場合、このコマンドの使用方法を表示します。 .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 が使用するインタフェースを制御します。 .Ar command は次のいずれかです: .Bl -tag -width 2h .It iface add Ns Xo .Op !\& .Ar addr Ns Op / Ns Ar bits .Op Ar peer .Xc 指定された .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 Ns Xo .Op !\& Ns .No |rm Ns Op !\& .Ar addr .Xc このコマンドは、指定した .Ar addr をインタフェースから削除します。 .Dq !\& が指定されると、現在そのアドレスがインタフェースに割り当てられていなくても、 エラーは報告されません (削除も行われません)。 .It iface show インタフェースの現在の状態と現在のアドレスを表示します。 .Dq ifconfig INTERFACE を実行することと、ほとんど同じです。 .It ident Op Ar text Ns No ... .Ar text を使用して、相手に対してリンクを自己証明 (identify) します。 .Ar text が空の場合、リンクの自己証明は無効化されます。 前述の .Ic bg コマンドに使用できる語はすべて使用可能です。 .Nm が相手に対して自己証明する場合についての詳細は、 .Ic sendident コマンドを参照してください。 .It iface help Op Ar sub-command このコマンドを .Ar sub-command 無しで起動すると、利用可能な .Dq iface サブコマンドと、おのおのの短い書式を表示します。 .Ar sub-command 付きで起動すると、指定した sub-command の書式のみを表示します。 .El .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 Ns Xo .No ... .Xc .Pa ppp.conf ファイルから指定された .Dq label (複数指定可) をロードします。 .Dq label が指定されない場合、 .Dq default ラベルが仮定されます。 .Pp .Ar label セクションが .Dq set mode , .Dq open , .Dq dial のいずれのコマンドも使用しない場合、 .Nm はすぐに接続を確立しようとはしません。 .It open Op lcp|ccp|ipcp これは .Dq close の反対のコマンドです。 閉じられているリンクのうち、2 番目以降の .Ar demand-dial リンク以外、全リンクがすぐに立ち上がります - 2 番目以降の .Ar demand-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 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 resolv Ar command このコマンドは .Nm が行なう .Xr resolv.conf 5 ファイルの操作を制御します。 .Nm の起動時に、以後の参照に備え、このファイルの内容をメモリに読み込み 保持します。 .Ar command は次のいずれかです。 .Bl -tag -width readonly .It Em readonly .Pa /etc/resolv.conf を読み込み専用とします。 .Dq dns が有効にされている場合、 .Nm は、接続相手との間でネームサーバのネゴシエーションを試みます。 ネゴシエーションの結果は、マクロ .Dv DNS0 , .Dv DNS1 を通じて利用可能となります。 このコマンドは、 .Dq resolv writable コマンドの反対です。 .It Em reload .Pa /etc/resolv.conf をメモリに再ロードします。 例えば、DHCP クライアントが .Pa /etc/resolv.conf を上書きする場合などに、このコマンドが必要になります。 .It Em restore .Pa /etc/resolv.conf を、起動時に読み込んだ元のバージョンか、もしくは .Dq resolv reload コマンドで最後に読み込んだ状態のものに戻します。 このコマンドは、 .Pa /etc/ppp/ppp.linkdown ファイルの中でうまく使えることがあります。 .It Em rewrite .Pa /etc/resolv.conf ファイルを書き換えます。 このコマンドは、 .Dq resolv readonly コマンドが既に使用されていても動作します。 他のコマンドが完了するまで .Pa /etc/resolv.conf の更新を遅らせたい場合に、 .Pa /etc/ppp/ppp.linkup の中でうまく使えることがあります。 .It Em writable .Dq dns が有効になっており、DNS の ネゴシエーションが成功した場合に、 .Nm が .Pa /etc/resolv.conf を更新できるようにします。 これは .Dq resolv readonly コマンドの反対です。 .El .It save このオプションは (まだ) 実装されていません。 .It sendident このコマンドは、 .Nm に対し、相手に対して自己証明するように指示します。 リンクは、LCP 状態以上であることが必要です。( .Ic ident コマンドによって) 自己証明の設定がなされていない場合、 .Ic sendident は失敗します。 .Pp 自己証明の設定がなされている場合、 設定拒否を送信または受信するときか、 ネゴシエーションが失敗したときか、 LCP が OPENED 状態になるときのいずれかのときに、 .Nm は自動的に自己証明します。 .Pp 受信した自己証明パケットは、LCP ログに記録し (詳細は .Ic set log を参照してください)、これに対する応答は行いません。 .It set Ns Xo .Op up .Ar var value .Xc このオプションは次に示す変数の設定のために使用します: .Bl -tag -width 2h .It set accmap Ar hex-value ACCMap は非同期制御文字マップ (Asyncronous Control Character Map) を 意味します。 これはいつも相手とネゴシエートされ、デフォルト値は 16 進数で 00000000 です。 このプロトコルが必要なのは、 (XON/XOFF などの) 特定の文字を終点間で受渡すことに依存するハードウェアを 使用する場合です。 .Pp XON/XOFF については .Dq set accmap 000a0000 を使用します。 .It set Op auth Ns Xo .No key Ar value .Xc クライアントモードでの PAP または CHAP のネゴシエーションで使用される 認証キー (もしくはパスワード) を、指定した値に設定します。 ダイヤルまたはログインスクリプトの .Sq \eP シーケンスで使用するパスワードもまた指定します。 これにより実際のパスワードは記録されません。 .Ar command または .Ar chat のログが有効な場合、セキュリティの観点から、 .Ar value は .Sq ******** として記録されます。 .Pp .Ar value の最初の文字がエクスクラメーションマーク .Pq Dq !\& の場合、 .Nm は残りの文字列を、 .Dq authname と .Dq authkey の値を確定するために実行すべきプログラムとして扱います。 .Pp 実行するプログラムを得るために .Ar value をパーズする際には、 .Dq !\& が二重 .Pq Dq !!\& である場合、単一のリテラル .Dq !\& として扱います、そうでない場合、 .Dq !\& を無視します。また、前述の .Dq !bg コマンドと同様に特殊な名前を置換します。 プログラムを実行すると、 .Nm はこのプログラムに対して次の 3 行の入力を与えます。 各行の末尾には改行文字が置かれます。 .Bl -bullet .It CHAP チャレンジで送られたホスト名。 .It CHAP チャレンジで送られたチャレンジ文字列。 .It ローカルに定義された .Dq authname 。 .El .Pp そして、出力として次の 2 行を待ちます。 .Bl -bullet .It CHAP 応答と共に送るための .Dq authname 。 .It .Dq authkey 。これは、チャレンジと要求 ID で暗号化したもの であり、この結果は CHAP 応答パケットに含めて送られます。 .El .Pp .Nm をこのように設定するとき、 ホストチャレンジは ASCII の数値もしくは文字であることを 想定しています。 指定されたチャレンジに対する適切な秘密情報を計算するために、 通常は、暗号化デバイスまたは Secure ID カードが必要です。 .It set authname Ar id クライアントモードでの PAP または CHAP のネゴシエーションで使用される 認証 ID を設定します。 .Pp CHAP を enable にして .Fl direct モードで利用すると、 .Ar id は初期認証チャレンジで用いられ、通常はローカルマシン名に設定されます。 .It set autoload Xo .Ar min-percent max-percent period .Xc これらの設定はマルチリンクモードでのみ適用され、 デフォルト値はそれぞれ 0, 0, 5 です。 1 つ以上の .Ar demand-dial .Po .Fl auto としても知られる .Pc モードのリンクが存在する場合、 .Nm が最初に tun デバイスからデータを読むときには最初のリンクのみが 有効になっています。 次の .Ar demand-dial リンクが開かれるのは、現在のバンドルの .Ar period 秒間のスループットがバンドルの総バンド幅の最低 .Ar max-percent パーセントであるときに限られます。 現在のバンドルの .Ar period 秒間のスループットがバンドルの総バンド幅の .Ar min-percent パーセント以下に減少したとき、最後のアクティブな リンクでない場合、 .Ar demand-dial リンクはダウンします。 .Pp バンドルのスループットは、 内向きおよび外向きのトラフィックの最大値として計測されます。 .Pp デフォルト値では .Ar demand-dial リンクは 1 つだけオープンされます。 .Pp デバイスによっては物理バンド幅を判定できないものがありますので、 .Dq set autoload が正しく動作するためには、(後述の) .Dq set bandwidth コマンドを使用する必要がある場合があります。 .It set bandwidth Ar value 本コマンドは、接続のバンド幅を、秒あたりのビット数で設定します。 .Ar value は 0 より大きいことが必要です。 現在、前述の .Dq set autoload コマンドのみが使用します。 .It set callback Ar option Ns No ... 引数が与えられない場合、コールバックは disable になります。 そうでない場合には、 .Nm は与えられた .Ar option でコールバックを要求します (もしくは .Ar direct モードでは受け付けます)。 クライアントモードでは、 .Ar option の否定応答が返されると、 .Nm は他に選択肢がなくなるまで別の .Ar option 要求を出します ( .Ar option のひとつとして .Dq none を指定していた場合を除きます)。 サーバモードでは、 .Nm は与えられるプロトコルをなんでも受け付けますが、 クライアントがいずれかひとつを要求する .Em 必要があります 。コールバックをオプションにしたいのであれば、オプションとして .Ar none を指定する必要があります。 .Pp .Ar option は下記の通りです (優先度順): .Pp .Bl -tag -width Ds .It auth コールバック応答側は、認証に基づいてコールバック番号を 決定することが求められます。 .Nm がコールバック応答側である場合、番号は .Pa /etc/ppp/ppp.secret 中の接続先エントリの 5 番目のフィールドで指定されます。 .It cbcp Microsoft コールバック制御プロトコルが用いられます。後述の .Dq set cbcp を参照してください。 .Pp クライアントモードで .Ar cbcp をネゴシエートしたい場合でありかつ、 CBCP ネゴシエーション時にサーバがコールバック無しを要求することを許したい場合、 コールバックオプションとして .Ar cbcp と .Ar none の両方を指定する必要があります。 .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 はそのことを受け入れ、接続を終了するのではなく コールバックせずに処理を続けます。 コールバックをオプションにしたいのであれば、 (1 個以上の他のコールバックオプションに加えて) これも指定する必要があります。 .El .Pp .It set cbcp Oo .No *| Ns Ar number Ns Oo .No , Ns Ar number Ns ...\& Oc .Op Ar delay Op Ar retry .Oc 引数が与えられない場合、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 Oo .No off| Ns Ar seconds Ns Op !\& .Oc 通常、オープンしたデバイスのタイプにより、 .Nm はキャリアの存在をチェックします。 .Bl -tag -width XXX -offset XXX .It 端末デバイス ログインスクリプト完了後、1 秒間キャリアがチェックされます。 このパラメータが設定されていない場合、 デバイスがキャリアをサポートしていない (ほとんどの .Dq laplink ヌルモデムケーブルの場合がそうです) と .Nm は仮定し、この事実をログに取って、キャリアのチェックを止めます。 .Pp 仮想端末 (pty) は TIOCMGET ioctl をサポートしていないため、 デバイスが仮想端末であることを検知した場合、 端末デバイスはすべてのキャリア検出をオフにします。 .It ISDN (i4b) デバイス 6 秒間、1 秒ごとに 1 回キャリアの検出を行ないます。 6 秒後にキャリアが設定されない場合、接続の試みは失敗したと見なされ、 デバイスはクローズされます。 i4b デバイスの場合、キャリアが常に要求されます。 .It PPPoE (netgraph) デバイス 5 秒間、1 秒ごとに 1 回キャリアの検出を行ないます。 5 秒後にキャリアが設定されない場合、接続の試みは失敗したと見なされ、 デバイスはクローズされます。 PPPoE デバイスの場合、キャリアが常に要求されます。 .El .Pp 他のすべてのデバイスタイプはキャリアをサポートしていません。 デバイスをオープンするときにキャリアを設定すると警告が出ます。 .Pp モデムによっては、接続が確立してからキャリア信号線がアサートされるまで 1 秒以上かかるものがあります。この遅れを増やせない場合、 .Nm はそのデバイスがキャリアをアサートできないと見なすので、 .Nm はリンクのドロップを検出できないことになります。 .Pp .Dq set cd コマンドはデフォルトのキャリアの動作を上書きします。 .Ar seconds は、ダイヤルスクリプトが完了してからキャリアが利用可能か判断する前に、 .Nm が待つべき秒数の上限を指定します。 .Pp .Dq off が指定されると、 .Nm はデバイスのキャリアを確認しません。そうでない場合、 キャリアが検出されるか .Ar seconds の秒数が経過するまで、 .Nm はログインスクリプトへは進みません。このとき、 .Ar seconds の秒数が経過した時点で、 .Nm はデバイスがキャリアを設定できないと想定します。 .Pp 引数を与えない場合、キャリア設定はデフォルトの値に戻ります。 .Pp .Ar seconds の直後にエクスクラメーションマーク .Pq Dq !\& がある場合、 .Nm はキャリアを .Em 要求 します。 .Ar seconds 秒後にキャリアが検知されないと、リンクは切断されます。 .It set choked Op Ar timeout これは .Nm がすべての未送出パケットを破棄する前に 送出キュー詰まりを保持する秒数を設定します。 .Ar timeout が 0 以下もしくは .Ar timeout が指定されない場合、デフォルト値の .Em 120 秒 に設定されます。 .Pp 送出キュー詰まりは .Nm がローカルネットワークから特定の数の送出パケットを読み込んだが、 リンク失敗 (接続相手がビジーなど) のためにデータを送れない場合に 発生します。 .Nm はパケットを無限には読み込みません。代りに .Em 30 パケット (マルチリンクモードでは .Em 30 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 Xo .Ar value Ns No ... .Xc .Nm が使用するデバイスを、指定された .Dq value に設定します。 .Pp すべての ISDN デバイスとシリアルデバイスの名前は .Pa /dev/ から始まることが仮定されています。 ISDN デバイスは通常 .Pa i4brbchX という名前であり、シリアルデバイスは通常 .Pa cuaXX という名前です。 .Pp .Dq value が .Pa /dev/ から始まらない場合、エクスクラメーションマーク .Pq Dq !\& から始めるか、 .No PPPoE: Ns Ar iface Ns Xo .Op \&: Ns Ar provider Ns .Xc の形式 ( .Xr netgraph 4 が有効なシステム上) であるか、 .Sm off .Ar host : port /tcp|udp .Sm on の形式である必要があります。 .Pp エクスクラメーションマークで始まる場合、 デバイス名の残りはプログラム名として扱われ、 そのデバイスがオープンされるときにそのプログラムが実行されます。 標準入出力およびエラーは .Nm にフィードバックされ、それらが通常デバイスであるかのように読み書きされます。 .Pp .No PPPoE: Ns Ar iface Ns Xo .Op \&: Ns Ar provider Ns .Xc 指定が与えられる場合、 .Nm は、指定された .Ar iface インタフェースを使用して .Em PPP オーバイーサネット接続を作成しようとします。 この際 .Xr netgraph 4 を使用します。 .Xr netgraph 4 が使用不能の場合、 .Nm は .Xr kldload 2 を使用してロードしようとします。 これが失敗する場合には、OpenBSD で利用できる .Xr pppoe 8 のような外部プログラムを使用する必要があります。 与えられた .Ar provider は、PPPoE Discovery Initiation (PADI) パケット中で サービス名として渡されます。 provider が与えられないと、空の値が使用されます。 さらなる詳細は .Xr netgraph 4 と .Xr ng_pppoe 4 を参照してください。 .Pp .Ar host Ns No : Ns Ar port Ns Oo .No /tcp|udp .Oc 指定が与えられる場合、 .Nm は、指定された .Ar host の指定された .Ar port と接続しようとします。 .Dq /tcp または .Dq /udp のサフィックスがない場合、デフォルトは .Dq /tcp となります。 詳細は上述の .Em PPP オーバ TCP と PPP オーバ UDP の節を参照してください。 .Pp 複数の .Dq value を指定した場合、 .Nm は成功するか全デバイスについて実行し終るまで、順番にオープンを試みます。 .It set dial Ar chat-script 相手へダイヤルする際に使用されるチャットスクリプトを指定します。 後述の .Dq set login コマンドも参照してください。 チャットスクリプトのフォーマットの詳細については、 .Xr chat 8 と設定ファイルの例を参照してください。 次の特殊な .Sq value をチャットスクリプトに指定可能です: .Bl -tag -width 2n .It \ec .Sq 送信 文字列の最後の文字として使用した場合、 改行を追加してはならないことを意味します。 .It \ed チャットスクリプトがこのシーケンスに出会うと、2 秒待ちます。 .It \ep チャットスクリプトがこのシーケンスに出会うと、1/4 秒待ちます。 .It \en 改行文字と置き換えられます。 .It \er 復改文字と置き換えられます。 .It \es 空白文字と置き換えられます。 .It \et タブ文字と置き換えられます。 .It \eT 現在の電話番号と置き換えられます (後述の .Dq set phone 参照)。 .It \eP 現在の .Ar authkey 値と置き換えられます (前述の .Dq set authkey 参照)。 .It \eU 現在の .Ar authname 値と置き換えられます (前述の .Dq set authname 参照)。 .El .Pp 2 つのパーザがこれらのエスケープシーケンスを検査することに注意してください。 .Sq チャットのパーザ にエスケープ文字を見せるには、 .Sq コマンドパーザ からエスケープする必要があります。 つまり、2 つのエスケープを使用する必要があります。例えば次のようにします: .Bd -literal -offset indent set dial "... ATDT\\\\T CONNECT" .Ed .Pp チャットスクリプトから外部コマンドを実行することもできます。 そうするためには、 受信待ち文字列または送信文字列の最初の文字をエクスクラメーションマーク .Pq Dq !\& にします。 リテラルのエクスクラメーションマークが必要な場合には、二重 .Dq !!\& にすれば、単一のリテラル .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 ネゴシエーションの前に設定された場合であり、 .Dq disable enddisc コマンドを使用していない場合、 .Nm は LCP 終点選択値オプションを使用して、相手に情報を送ります。 次の選択値を設定可能です。 .Bl -tag -width 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 桁の乱数が使用されます。 マジックナンバを使用するときには注意が必要です。 .Nm の再開や別の .Nm を使ったリンク作成においては、別のマジックナンバを使用するため、 同じバンドルに属すとは相手に認識されないのです。 このため、 .Fl direct 接続では使えません。 .It Li psn Ar value 指定された .Ar value が使用されます。 .Ar value は、絶対的な公衆スイッチネットワーク番号の先頭に 国コードを付けたものであるべきです。 .El .Pp 引数が与えられない場合、終点の選択値はリセットされます。 .It set escape Ar value... このオプションは前述の .Dq set accmap オプションに似ています。 リンクを経由する時に .Sq エスケープ される文字を指定するために使用します。 .It set filter dial|alive|in|out Ar rule-no Xo .No permit|deny|clear| Ns Ar rule-no .Op !\& .Oo Op host .Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width .Oc [ tcp|udp|ospf|ipip|igmp|icmp Op src lt|eq|gt Ar port .Op dst lt|eq|gt Ar port .Op estab .Op syn .Op finrst .Op timeout Ar secs ] .Xc .Nm は 4 つのフィルタセットをサポートします。 .Em alive フィルタは接続を活性状態に保つパケットを指定します - アイドルタイマをリセットします。 .Em dial フィルタは、 .Fl auto モード時に .Nm にダイヤルさせるパケットを指定します。 .Em in フィルタは、マシンに入力可能なパケットを指定します。 .Em out フィルタは、マシンから出力可能なパケットを指定します。 .Pp フィルタリングが行われるのは、 出力パケットでは NAT エンジンによる IP 変更前であり、 入力パケットでは NAT エンジンによる IP 変更後です。 デフォルトでは、すべての空のフィルタセットは全パケットの通過を許可します。 ルールは .Ar rule-no に従って順番に処理されます (ルール番号を .Ar action に指定してスキップする場合を除きます)。 各セットに対し 40 までのルールを指定可能です。 指定されるセットにおけるどのルールにもマッチしないパケットは破棄されます。 .Em in と .Em out のフィルタでは、パケットをドロップすることを意味します。 .Em alive フィルタでは、アイドルタイマをリセットしないことを意味します (これは .Ar in Ns No / Ns Ar out フィルタが .Dq timeout 付きである場合でもです)。 .Em dial フィルタではダイヤルさせることにはならないことを意味します。 ダイヤルを引き起こさないパケットは、 キューされるのではなく、捨てられることに注意してください。 上述の .Sx パケットのフィルタリング の節を参照してください。 .It set hangup Ar chat-script デバイスを閉じる前にこれをリセットする時に使用する、 チャットスクリプトを指定します。 通常は不要であるべきですが、 閉じる時に自己を正しくリセットできないデバイスに対して使用できます。 .It set help|? Op Ar command 利用可能な set コマンドのまとめを表示するか、 .Ar command が指定されると、コマンドの使用方法を表示します。 .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/nn .Pp ここで .Dq a.b.c.d は希望する IP アドレスであり、 .Ar nn はこのうち何ビットが有効であるかを示します。 .No / Ns Ar nn が省略された場合、デフォルトの .Dq /32 になります。 ただし IP アドレスが 0.0.0.0 である場合には、マスクのデフォルトは .Dq /0 です。 .Pp 相手に動的な IP 番号を割り当てたい場合、 .Ar hisaddr に IP 番号の範囲として .Bd -ragged -offset indent .Ar \&IP Ns Oo \&- Ns Ar \&IP Ns Xo .Oc Ns Oo , Ns Ar \&IP Ns .Op \&- Ns Ar \&IP Ns .Oc Ns ... .Xc .Ed .Pp のフォーマットを指定できます。例えば: .Pp .Dl set ifaddr 10.0.0.1 10.0.1.2-10.0.1.10,10.0.1.20 .Pp は .Dq 10.0.0.1 のみをローカル IP 番号としてネゴシエートしますが、 指定された 10 個の IP 番号から 相手に割り当てを行います。 相手がこれらの番号のうちの 1 つを要求し、この番号が未使用な場合には、 .Nm は相手の要求を認めます。 相手がリンクを再確立して前回割り当てていた IP 番号を使用したい場合に有用です (既存の TCP と UDP の接続を保存します)。 .Pp 相手が要求した IP 番号が範囲外もしくは使用中の場合、 .Nm は範囲内の未使用 IP 番号をランダムに指示します。 .Pp .Ar triggeraddr が指定された場合、この値が .Ar myaddr の代りに IPCP ネゴシエートで使用されます。 ただし、 .Ar myaddr の範囲のアドレスのみ受け入れられます。 これが有用なのは、相手が .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 引数で上書きされうることに注意してください。 .Sx 内向き接続の認証 の節を参照してください。 .Pp どの場合でも、インタフェースが既に構成されている場合には、 .Nm はインタフェースの IP 番号を保存して、 既にバインドされているソケットが正しいままであるようにします。 .It set ifqueue Ar packets どのリンクへもデータが送信できない状態のとき、 .Nm がトンネルインタフェースから読み込むパケット数の最大値を 指定します。 .Nm が利用できるリンクの束よりもトンネルインタフェースがはるかに 高速となりそうな場合に、送出データのフロー制御のために このキューの制限は必要になります。 .Ar packets にリンクの数よりも小さな値を設定した場合、 その設定に関わらず .Nm はリンクの数までは読み込みます。これにより、遅延の問題が回避されます。 .Pp .Ar packets のデフォルトの値は .Dq 30 です。 .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 timeout のデフォルトは、全 FSM において 3 秒です (ほとんどの場合十分です)。 .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 logout 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 を発行し、ネットワークアドレス変換が enable にされていた場合、後で .Dq enable iface-alias を行うと便利です。 .Nm が必要なアドレス変換を行うようにすることにより、 相手が当方に新しい (動的な) IP アドレスを割り当てたとしても、 リンクがアップすると接続のトリガとなるプロセスが接続できるようにします。 -.It set mppe {40|56|128} -このオプションは、鍵の長さを選択します。デフォルトは 128 です。 +.It set mppe Op 40|56|128|* Op stateless|stateful|* +本オプションは、 +MPPE のネゴシエーション時に使用する暗号パラメータを選択します。 +.Dq disable mppe +コマンドで、MPPE は完全に無効化可能です。 +引数を指定しないと、 +.Nm +は、128 ビット鍵の状態有りリンクをネゴシエートしようとしますが、 +相手が要求するすべてに合意します (暗号化無しも含みます)。 +.Pp +引数を指定すると、MPPE の使用に +.Nm +は +.Em 固執 +し、相手が拒否するとリンクを閉じます。 +.Pp +第 1 引数は、ネゴシエート中に +.Nm +が固執すべきビット数を指定し、第 2 引数は、 +状態有りモードまたは状態無しモードのいずれに +.Nm +が固執すべきかを指定します。 +状態無しモードでは、各パケットに応じて変更される暗号化鍵に対応し、 +暗号化辞書が再インストールされます。 +状態有りモードでは、 +暗号化辞書は 256 パケット毎もしくはデータ喪失後に再インストールされ、 +鍵は 256 パケット毎に変更されます。 +状態無しモードは、効率が悪いものの、 +信頼性の無いトランスポート層では良いです。 .It set mrru Op Ar value このオプションを設定すると、 マルチリンクプロトコルまたは MP としても知られる、 マルチリンク PPP ネゴシエーションを有効にします。 MRRU (Maximum Reconstructed Receive Unit) の値にはデフォルトはありません。 引数を指定しないと、マルチリンクモードは無効にされます。 -.It set mru Op Ar value +.It set mru Xo +.Op max Ns Op imum +.Op Ar value +.Xc デフォルトの MRU (最大受信単位; Maximum Receive Unit) は 1500 です。 この値を増加させた場合、相手は MTU を増加させても *かまいません*。 -デフォルトの MRU より減らすことは意味がありません。 +理論的には、デフォルトの MRU より減らすことは意味がありません。 なぜなら、 .Em PPP プロトコルでは少なくとも 1500 オクテットのパケットを 受信できなければ *ならない* からです。 +.Pp +.Dq maximum +キーワードが使用された場合、より大きな値のネゴシエートを +.Nm +は拒否します。 +最大 MRU は、最大でも 2048 です。 +最大値を 1500 未満にすることは +.Em PPP +RFC 違反ですが、必要な場合もあります。 +例えば、 +.Em PPPoE +では、ハードウェアの制約により最大が 1492 になります。 +.Pp +引数を指定しないと、1500 が仮定されます。 +.Dq maximum +指定時には、値の指定が必要です。 引数が指定されないと、1500 が仮定されます。 -.It set mtu Op Ar value +.It set mtu Xo +.Op max Ns Op imum +.Op Ar value +.Xc デフォルトの MTU は 1500 です。 -ネゴシエーション時に、(296 バイト未満でなければ) -相手が望むいかなる MRU および MRRU も受け付け可能です。 +ネゴシエーション時に、(296 バイト未満でなく、最大値を越えなければ) +相手が望むいかなる MRU も受け付け可能です。 MTU が設定されると、 .Nm は .Ar value -よりも小さい MRU/MRRU の値を受け付けなくなります。 +よりも小さい MRU の値を受け付けなくなります。 ネゴシエーションが完了すると、 -相手がより大きな MRU/MRRU を要求していたとしても、 -インタフェースに対して MTU が割り当てられます。 +相手がより大きな MRU を要求していたとしても、 +インタフェースに対して書き込みを行う時には MTU が使用されます。 当方のパケットサイズを制限するのに有用です (よりよくバンド幅を共有できるようになりますが、 ヘッダデータが増えるというコストがかかります)。 .Pp +.Dq maximum +キーワードが使用された場合、より大きな値のネゴシエートを +.Nm +は拒否します。 +最大 MTU は、最大でも 2048 です。 +.Pp .Ar value を指定しないと、1500 または相手が要求した値が使用されます。 +.Dq maximum +指定時には、値の指定が必要です。 .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 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 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 を指定すると、1 から 30 秒の間の任意時間の停止となります。 .It set recvpipe Op Ar value ルーティングテーブルの RECVPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It set redial Ar secs Ns Xo .Oo + Ns Ar inc Ns .Op - Ns Ar max Ns .Oc Ns Op . Ns Ar next .Op Ar attempts .Xc .Nm に .Ar attempts 回のリダイヤルを指示できます。 1 より大きな数を指定した場合 (前述の .Ar set phone 参照)、 各番号にダイヤルする前に、 .Ar next だけ停止します。 最初の番号に戻ってダイヤル開始する前に .Ar secs だけ停止します。リテラル値 .Dq Li random を .Ar secs および .Ar next のところで使用でき、1 から 30 秒の間の任意時間の停止となります。 .Pp .Ar inc が指定されると、 .Nm が新規番号を試すたびに、この値が .Ar secs に加えられます。 .Ar secs が増加されるのは、最大 .Ar max 回だけです。 .Ar max のデフォルト値は 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 Ns No \&| Ns Xo .Ar LocalName Ns No |none|open|closed .Op password Op Ar mask .Xc このコマンドは .Nm に指定したソケットもしくは .Sq 診断ポート にてコマンド接続の入力を listen するように指示します。 .Pp 語 .Ar none は .Nm に既に存在するソケットを閉じさせ、ソケット設定を消させます。 語 .Dq open は .Nm にポートを再度オープンさせます。 語 .Dq closed は .Nm にオープンしているポートを閉じさせます。 .Pp ローカルドメインソケットを指定したい場合、 .Ar LocalName に絶対ファイル名を指定します。そうしないと、TCP ポートの名前もしくは番号 であると解釈されます。 ローカルドメインソケットに使用される 8 進 umask を指定可能です。 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 は避けてください。 .Pp 注: .Dv SIGUSR1 と .Dv SIGUSR2 は、診断ソケットと相互に作用します。 .It set speed Ar value シリアルデバイスの速度を指定します。 速度指定が .Dq sync の場合、 .Nm はデバイスを同期デバイスとして扱います。 .Pp デバイスタイプによっては、 同期または非同期のいずれかであることが分るものがあります。 これらのデバイスでは、不正な設定を上書きして、 この結果に対する警告を記録します。 .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 Op Ar mintimeout このコマンドはアイドルタイマの値を指定します。 更なる詳細については .Sx アイドルタイマの設定 というタイトルの節を参照してください。 .Pp .Ar mintimeout が指定された場合、 最短でも指定された秒数だけリンクがアップしていないと、 .Nm はアイドルアウトしません。 .It set urgent Xo .Op tcp|udp|none .Oo Op +|- Ns .Ar port .Oc No ... .Xc このコマンドは、データ転送時に .Nm が優先するポートを制御します。 デフォルトの優先 TCP ポートは、ポート 21 (ftp control), 22 (ssh), 23 (telnet), 513 (login), 514 (shell), 543 (klogin), 544 (kshell) です。 優先 UDP ポートは、デフォルトではありません。 詳細は .Xr services 5 を参照してください。 .Pp .Dq tcp も .Dq udp も指定しないと、 .Dq tcp が仮定されます。 .Pp .Ar port を指定しないと、優先ポートリストがクリアされます ( .Dq tcp または .Dq udp を指定すると、そのリストのみがクリアされます)。 最初の .Ar port 引数にプラス .Pq Dq \&+ またはマイナス .Pq Dq \&- のプレフィックスを付けた場合、現在のリストが修正されますが、 そうでない場合には、再割り当てされます。 プラスのプレフィックス付きまたはプレフィックス無しの .Ar port はリストに追加され、マイナスのプレフィックス付きの .Ar port はリストから削除されます。 .Pp .Dq none が指定された場合、優先ポートリスト全体が無効になり、 .Dv IPTOS_LOWDELAY パケットも特別扱いされなくなります。 .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 2n .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 layers 現在使用中のプロトコル層を表示します。 .It show lcp 現在の LCP 統計を表示します。 .It show Op data Ns Xo .No link .Xc 高レベルリンク情報を表示します。 .It show links 利用可能な論理リンクのリストを表示します。 .It show log 現在のログ値を表示します。 .It show mem 現在のメモリ統計を表示します。 .It show physical 現在の下位レベルリンク情報を表示します。 .It show mp マルチリンク情報を表示します。 .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 nat \&? , .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 2n .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 isdnd 8 , .Xr login 1 , .Xr tcpdump 1 , .Xr telnet 1 , .Xr kldload 2 , .Xr libalias 3 , .Xr syslog 3 , .Xr uucplock 3 , .Xr netgraph 4 , +.Xr ng_pppoe 4 , .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 ng_pppoe 4 , .Xr named 8 , .Xr ping 8 , .Xr pppctl 8 , .Xr pppd 8 , .Xr pppoe 8 , .Xr route 8 , .Xr sshd 8 , .Xr syslogd 8 , .Xr traceroute 8 , .Xr vipw 8 .Sh 歴史 元のプログラムは .An Toshiharu OHNO Aq tony-o@iij.ad.jp が作成し、 .Fx 2.0.5 に .An Atsushi Murai Aq amurai@spec.co.jp が提出しました。 .Pp 1997 年中に .An Brian Somers Aq brian@Awfulhak.org が本格的な修正をし、 11 月に .Ox に移植されました (2.2-RELEASE の直後です)。 .Pp 1998 年初頭にマルチリンク ppp サポートが追加されたときに、 ほとんどのコードを .An Brian Somers が書き直しました。 diff --git a/ja_JP.eucJP/man/man8/pppoed.8 b/ja_JP.eucJP/man/man8/pppoed.8 index 7868b0897d..b99536da28 100644 --- a/ja_JP.eucJP/man/man8/pppoed.8 +++ b/ja_JP.eucJP/man/man8/pppoed.8 @@ -1,199 +1,199 @@ .\"- .\" Copyright (c) 1999 Brian Somers .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/libexec/pppoed/pppoed.8,v 1.2.6.3 2001/06/12 10:16:17 sobomax Exp % +.\" %FreeBSD: src/libexec/pppoed/pppoed.8,v 1.2.6.4 2001/07/04 13:32:41 ru Exp % .\" -.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/pppoed.8,v 1.5 2001/05/14 01:09:57 horikawa Exp $ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/pppoed.8,v 1.6 2001/07/12 00:16:03 horikawa Exp $ .Dd November 8, 1999 .Dt PPPOED 8 .Os FreeBSD .Sh 名称 .Nm pppoed .Nd PPP over Ethernet の待ち受けを扱う .Sh 書式 .Nm .Op Fl Fd\& .Op Fl P Ar pidfile .Op Fl a Ar name .Op Fl e Ar exec .Op Fl n Ar ngdebug .Op Fl p Ar provider .Ar interface .Sh 解説 .Nm プログラムは、指定された .Ar interface に対して PPP over Ethernet (PPPoE) サービス要求パケットを listen し、 このパケットへの対応として、セッション交渉後に .Em PPP プログラムを起動します。 交渉は .Dq pppoe netgraph ノードとして実装されています。 詳細は .Xr ng_pppoe 4 を参照してください。 .Pp .Nm は、指定された .Ar provider からサービスを要求しているクライアントに対してのみ、サービスを提供します。 .Ar provider は、指定されない場合には空の名前とされます。 .Ar provier 名として .Dq \&* が指定されると、すべての PPPoE 要求に対してサービスが提供されます。 .Pp 指定した .Ar name は、接続確立時に、アクセス集中者 (access concentrator) 名として与えられます。 .Ar name を指定しないと、現在のベースホスト名が使用されます。 .Pp PPPoE netgraph ノードからの要求 (PADI) 受信後は、 .Nm は子プロセスを .Xr fork 2 し、更なる要求へサービスするために戻ります。 子プロセスは .Po .Ar name を使用して .Pc サービスを提供し、PPPoE ノードからの .Dv 「成功」 表示を待ちます。 「成功」表示を受けると、 .Nm は次のコマンドをシェルのサブプロセスとして実行します。 .Pp .D1 Ic exec /usr/sbin/ppp -direct Ar provider .Pp .Ar exec 引数を使用することにより、別のコマンドを指定可能です。 .Ar provider を指定しない場合には、これは必須です。 この子プロセスは開始時に、標準入力と標準出力が、同じ .Xr netgraph 4 データソケット .Po .Xr ng_socket 4 参照 .Pc へ接続されます。 .Pp .Nm は起動時に、 .Dq Ar interface Ns No \&: をノード名として使用し、 .Dq pppoe netgraph ノードを適切な .Dq ether ノードへ接続します。その後この .Dq pppoe ノードをローカルの .Dq socket ノードへ接続します。 .Fl F フラグを指定しないと、 .Nm はバックグラウンドモードへ移行し、制御端末を切り離します。 .Fl F を指定すると、 .Nm はフォアグラウンドにとどまります。 .Pp .Fl d フラグを指定すると、追加の診断機能が提供されます (後述の .Sx 診断 を参照してください)。 .Fl n フラグを指定すると、 .Fn NgSetDebug が引数 .Ar ngdebug で呼ばれます。 .Pp .Ar pidfile を指定すると、 .Nm は起動時に、自己のプロセス ID をこのファイルへ書き込みます。 .Sh 診断 前述のように必要な .Xr netgraph 4 ノードを作成した後では、 .Nm は .Xr syslogd 8 を使用し、全ての受け付けた接続を報告します。 .Fl d を指定すると、 .Nm は新規 netgraph ソケットでの子プロセス生成と、 そのサービス提供、 .Em PPP プログラムの起動に関して報告します。 .Fl n オプションを指定すると、netgraph 診断メッセージも .Xr syslogd 8 へリダイレクトされます。 .Pp .Pa /etc/syslog.conf へ .Pp .Dl !pppoed .Dl "*.* /var/log/pppoed.log .Pp を追加し、 .Pa /etc/newsyslog.conf へ .Pp .Dl "/var/log/pppoed.log 640 3 100 * Z .Pp を追加すると便利な場合があります。 .Sh 関連項目 .Xr NgSetDebug 3 , .Xr netgraph 4 , -.Xr syslog.conf 5 , .Xr ng_ether 4 , .Xr ng_pppoe 4 , .Xr ng_socket 4 , +.Xr syslog.conf 5 , .Xr ppp 8 , .Xr syslogd 8 .Sh バグ 指定したインタフェースを他の netgraph ノードが使用している場合、 .Nm は開始できません。現在の .Xr netgraph 4 は、ノードの連鎖を許していないためです。 将来これは変更されるかもしれません。 .Sh 歴史 .Nm プログラムは .An Brian Somers Aq brian@Awfulhak.org が記述し、 .Fx 3.4 で初登場しました。 diff --git a/ja_JP.eucJP/man/man8/rarpd.8 b/ja_JP.eucJP/man/man8/rarpd.8 index 266284552d..38a1a4cc05 100644 --- a/ja_JP.eucJP/man/man8/rarpd.8 +++ b/ja_JP.eucJP/man/man8/rarpd.8 @@ -1,123 +1,141 @@ -.\" @(#) %FreeBSD: src/usr.sbin/rarpd/rarpd.8,v 1.9.2.2 2000/12/27 16:23:28 ru Exp % (LBL) +.\" @(#) %FreeBSD: src/usr.sbin/rarpd/rarpd.8,v 1.9.2.4 2001/07/17 14:59:26 roam Exp % (LBL) .\" .\" Copyright (c) 1990, 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: (1) source code distributions .\" retain the above copyright notice and this paragraph in its entirety, (2) .\" distributions including binary code include the above copyright notice and .\" this paragraph in its entirety in the documentation or other materials .\" provided with the distribution, and (3) all advertising materials mentioning .\" features or use of this software display the following acknowledgement: .\" ``This product includes software developed by the University of California, .\" Lawrence Berkeley Laboratory and its contributors.'' 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 ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/rarpd.8,v 1.7 2001/05/14 01:09:57 horikawa Exp $ .\" .Dd July 19, 1993 .Dt RARPD 8 .Os .Sh 名称 .Nm rarpd .Nd 逆 ARP デーモン .Sh 書式 .Nm -.Op Fl afsv +.Op Fl adfsv .Op Ar interface .Sh 解説 .Nm は、 .Ar interface に対応するイーサネットについて、逆 ARP 要求に対するサービスを提供します。 要求を受け付けると、 .Nm はイーサネットアドレスより IP アドレス を、ホスト名を経由して対応づけます。 ホスト名に関しては、 .Xr ethers 5 データベースと .Xr hosts 5 データベースの両者に登録されている必要があります。もしホスト名がどちらにも登録 されてない場合、変換処理は実行されず、返答も行われません。 .Pp デフォルトでは、( .Nm が動作している) サーバがターゲットを 「ブート」できる場合にのみ要求が受け付けられます; これはすなわち、 .Pa /tftpboot/\fIipaddr\fP* に該当するファイルもしくはディレクトリ (ここで、 .Pa ipaddr は、ターゲットの IP アドレスを16進数で記したものです) が存在することを意味します。 例えば、IP アドレス 204.216.27.18 は、 .Pa /tftpboot/CCD81B12 、 .Pa /tftpboot/CCD81B12.SUN3 、あるいは、 .Pa /tftpboot/CCD81B12-boot が存在する場合のみ、返答されます。 ただし、 .Fl s フラグが指定された場合は、この制約はなくなります(下記参照)。 .Pp 通常の動作においては、 .Nm は自分自身を fork し、バックグラウンドプロセスとして 実行します。例外およびエラーについては、発生事象を .Xr syslog 3 を通じて報告します。 .Pp 次のオプションが使用可能です: .Bl -tag -width indent .It Fl a システムに接続されているすべてのイーサネットについて listen() を行ないます。 本オプションが指定されてない場合は、ネットワークインタフェースを指定する必要が あります。 +.It Fl d +.Fl f +が共に指定された場合、 +.Nm +は、 +.Xr syslog 3 +経由の代りに +.Em stdout +と +.Em stderr +へメッセージを記録します。 .It Fl f -.Nm rarpd +.Nm をフォアグラウンドプロセスとして起動します。 .It Fl s .Pa /tftpboot/\fIipaddr\fP* のあるなしにかかわらず、 イーサネットアドレスと IP アドレスの対応付けがあれば全ての RARP 要求に対して 応答します。 .It Fl v 詳細なログを出力します。 .El .Sh 関連ファイル .Bl -tag -width /etc/ethers -compact .It Pa /etc/ethers .It Pa /etc/hosts .It Pa /tftpboot .El .Sh 関連項目 .Xr bpf 4 .Pp -RFC 903: Finlayson, R.; Mann, T.; Mogul, J.C.; Theimer, M. Reverse Address -Resolution Protocol. 1984 June; 4 p. +.Rs +.%A "Finlayson, R." +.%A "Mann, T." +.%A "Mogul, J.C." +.%A "Theimer, M." +.%T "RFC 903: Reverse Address Resolution Protocol" +.%D "June 1984" +.%O "4 p" +.Re .Sh 作者 .An -nosplit .An Craig Leres Aq leres@ee.lbl.gov および .An Steven McCanne Aq mccanne@ee.lbl.gov . Lawrence Berkeley Laboratory, University of California, Berkeley, CA. .Sh バグ .Nm は、 .Pa /etc/ethers で発見されたホスト名の解決に DNS を使用する事も出来ます。 このホスト名が DNS には登録されていないが、 .Pa /etc/hosts には存在する場合、 DNS への問い合わせのため、RARP の応答に時間がかかる事になります。 この様な場合は、 .Pa /etc/host.conf にて .Pa /etc/hosts を先に検索するように設定する事をお薦めします。 diff --git a/ja_JP.eucJP/man/man8/raycontrol.8 b/ja_JP.eucJP/man/man8/raycontrol.8 index 27200bc54d..06913958a2 100644 --- a/ja_JP.eucJP/man/man8/raycontrol.8 +++ b/ja_JP.eucJP/man/man8/raycontrol.8 @@ -1,283 +1,283 @@ '\" '\"Copyright (C) 2000 '\"Dr. Duncan McLennan Barclay, dmlb@ragnet.demon.co.uk. '\" '\" 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. Neither the name of the author nor the names of any co-contributors '\" may be used to endorse or promote products derived from this software '\" without specific prior written permission. '\" '\"THIS SOFTWARE IS PROVIDED BY DUNCAN BARCLAY 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 DUNCAN BARCLAY OR CONTRIBUTORS BE LIABLE '\"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL '\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS '\"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) '\"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT '\"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY '\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF '\"SUCH DAMAGE. '\" -'\" %FreeBSD: src/usr.sbin/raycontrol/raycontrol.8,v 1.5.2.1 2001/03/06 20:14:50 dmlb Exp % +'\" %FreeBSD: src/usr.sbin/raycontrol/raycontrol.8,v 1.5.2.2 2001/07/20 05:36:46 ben Exp % '\" '\" .\" Copyright (c) 1997, 1998, 1999 .\" Bill Paul 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 Bill Paul. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Bill Paul 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 Bill Paul OR THE VOICES IN HIS HEAD .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/raycontrol/raycontrol.8,v 1.5.2.1 2001/03/06 20:14:50 dmlb Exp % +.\" %FreeBSD: src/usr.sbin/raycontrol/raycontrol.8,v 1.5.2.2 2001/07/20 05:36:46 ben Exp % .\" -.\" $FreeBSD$ +.\" $FreeBSD: doc/ja_JP.eucJP/man/man8/raycontrol.8,v 1.2 2001/05/14 01:09:57 horikawa Exp $ .Dd March 21, 2000 .Dt RAYCONTROL 8 .Os FreeBSD .Sh 名称 .Nm raycontrol .Nd Raytheon Raylink/Webgear Aviator デバイスの設定 .Sh 書式 .Nm .Fl i Ar iface Op Fl o .Nm .Fl i Ar iface Fl t Ar tx rate .Nm .Fl i Ar iface Fl n Ar network name .Nm .Fl i Ar iface Fl c Ar ap status .Nm .Fl i Ar iface Fl p Ar port type .Nm .Fl i Ar iface Fl m Ar mac address .Nm .Fl i Ar iface Fl d Ar max data length .Nm .Fl i Ar iface Fl r Ar RTS threshold .Nm .Fl i Ar iface Fl f Ar hopset .Nm .Fl i Ar iface Fl P Ar 0|1 .Nm .Fl i Ar iface Fl S Ar max_sleep_duration .Nm .Fl i Ar iface Fl Z Ar zero signal cache .Nm .Fl i Ar iface Fl C Ar display signal cache .Sh 解説 .Nm コマンドは .Xr ray 4 ドライバを介し、Raylink/Webgear ワイヤレスネットワークデバイスの 動作を制御します。 変更可能なほとんどのパラメータは、このカードが実装している IEEE 802.11 プロトコルに関連するものです。 これにはステーション名、ステーションの動作がアドホックモードと インフラストラクチャモードのどちらであるか、アドホックモードでの BBS もしくはインフラストラクチャモードでの ESS が有効な場合に加入する サービスセットのネットワーク名が含まれます。 .Nm コマンドは、これらのパラメータの現在の設定を表示したり、 カードの統計情報カウンタの値をダンプしたりすることもできます。 .Pp .Nm に与えられる .Ar iface 引数は Raylink/Webgear デバイスに関連付けられる論理インタフェース名で あることが必要です (ray0, ray1 など)。 .Sh オプション オプションは以下の通りです。 .Bl -tag -width Fl .It Fl i Ar iface Op Fl o 指定した Raylink/Webgear インタフェースの現在の設定を表示します。 現在のカードの設定をドライバから取り出し、表示します。 このコマンドの結果は、カードの設定のスナップショットです。 .Fl o フラグを追加することにより .Nm は、カードの設定の代わりに統計情報カウンタを表示します。 .It Fl i Ar iface Fl t Ar tx rate 指定したインタフェースの転送レートを設定します。 NIC は 2Mbps の最大転送レートをサポートしています。 次の表は正当な転送レートの設定とそれに対応する転送速度を示します: .Bl -column "TX レート " "NIC 速度 " -offset indent .Em "TX レート NIC 速度" 1 超低速 (0.5Mbps) 2 低速 (1Mbps) 3 中速 (1.5Mbps) 4 高速 (2Mbps) .El .Pp バージョン 4 のファームウェアはこの設定を無視するかも知れません。 IEEE 802.11 標準では 1Mbps か 2Mbps の動作しか許されていないこと、 および一般的に受け入れられている IEEE 802.11 の解釈では 2Mbps は インフラストラクチャモードでのみ許されていることに注意してください。 .It Fl i Ar iface Fl n Ar network name このステーションが加入を望んでいるサービスセットの名前を設定します。 .Ar network name は 32 文字までの長さの任意のテキスト文字列です。 デフォルトの名前は文字列 "NETWORK_NAME" であり、 ステーションはこの名前でデフォルトの Webgear の アドホックネットワークに接続できるはずです。 .It Fl i Ar iface Fl p Ar port type 指定されたインタフェースの .Ar port type を設定します。 .Ar port type の正当な値は 0 (アドホックモード) と 1 (インフラストラクチャモード) です。 アドホックモードでは、ステーションは直接電波が届く範囲にある 他のステーション (これらもアドホックモードで動作していることが 必要です) と直接通信が可能です。 インフラストラクチャモードでは、ホストはアクセスポイントが 制御するサービスセットと関連付けられることが必要です。 このアクセスポイントはエンドステーション間のトラフィックを中継します。 デフォルトの設定は 0 (アドホックモード) です。 .Pp アドホックモードの時、現在設定されているホップセット ( .Fl f オプション参照) に .Fl n オプションで指定されるネットワークが存在しない場合、 ステーションはそのネットワーク名の BBS を作成します。 .It Fl i Ar iface Fl m Ar mac address 指定したインタフェースのステーションアドレスを設定します。 .Ar mac address は、コロンで区切られる 6 つの 16 進数の並びとして指定されます。 例えば 00:60:1d:12:34:56 となります。 これにより新規アドレスがカード上にプログラムされ、 インタフェースも更新されます。 .It Fl i Ar iface Fl d Ar max_data_length 指定したインタフェースの最大転送フレームサイズを設定します。 .Ar max data length は 350 から 2304 までの任意の数値か、 フラグメンテーションを無効にする -1 が設定できます。 デフォルトは -1 です。 .It Fl i Ar iface Fl r Ar RTS threshold 指定したインタフェースの RTS/CTS の閾値を設定します。 これは RTS/CTS ハンドシェーク境界に使用するバイト数を制御します。 .Ar RTS threshold は -1 から 2047 までの任意の数値です。 デフォルトは -1 (無効) です。 .It Fl i Ar iface Fl f Ar hopset 指定したインタフェースに電波のホップセットを設定します。 .Ar hopset は以下の表で示されるような国別コードとして指定することが必要です。 ホップセットにより RF チャネル数とそれらの周波数が変わりますが、 これは各地の当局によって指定される電波規制に依存しています。 .Bl -column "ホップセット ID " "国 " -offset indent .Em "ホップセット ID 国" 1 アメリカ合衆国 2 ヨーロッパ 3 日本 4 韓国 5 スペイン 6 フランス 7 イスラエル 8 オーストラリア 9 日本 (テスト) .El .Pp カードはどのホップセットでも動作するようプログラムできますが、 その RF 周波数帯を使用している他のユーザ (フランスなどでは軍です) からの 干渉や、他のユーザへの干渉を避けるためにも、 自分の地域のホップセットを使うことは意味のあることです。 .Pp 通信するためには、全てのステーションを同じホップセットに 設定しなければならないことに注意してください。 .It Fl i Ar iface Fl P Ar 0|1 指定したインタフェースの電源管理を有効または無効にします。 電源管理を有効にすると、スリープ/ウェークプロトコルを交互に 使用することによりモバイルステーションの省電力を助けますが、 受信遅延がいくぶん増加します。 デフォルトでは電源管理はオフになっています。 .Pp 電源管理が機能するためには、アクセスポイントとの協調が必要なことに 注意してください。アドホックモードでは電源管理は機能しません。 このパラメータの正当な値は 0 (オフ) と 1 (オン) です。 .It Fl i Ar iface Fl S Ar max_sleep_interval 電源管理が有効な時に使用するスリープ間隔を指定します。 .Ar max_sleep_interval はミリ秒で指定します。 デフォルトは 100 です。 .It Fl i Ar iface Fl Z .Nm ray ドライバ内部で管理される信号強度キャッシュをクリアします。 .It Fl i Ar iface Fl C .Nm ray ドライバによって管理されている、キャッシュされた信号強度情報を 表示します。 ドライバは、他のホストから受信したパケットの信号強度とノイズレベルを 保持しています。 インフラストラクチャネットワークでは、キャッシュはアクセスポイントの 信号強度も格納しています。 .Pp ドライバは、送信時に最適なアンテナを選ぶ際にもキャッシュを使用します。 .El .Sh 関連項目 .Xr ray 4 , .Xr ifconfig 8 .Sh 歴史 .Nm コマンドは .Fx 4.0 ではじめて登場しました。 .Sh 作者 .An -nosplit .Nm コマンドは .An Duncan Barclay Aq dmlb@ragnet.demon.co.uk によって書かれました。 これは .An Bill Paul Aq wpaul@ctr.columbia.edu によって書かれた .Nm wicontrol コマンドを基にしています。 .Sh バグ .Fl m , .Fl P , .Fl S と .Fl Z オプションはまだ実装されていません。 テストのためのアクセスポイントがまだ利用できなかったからです。 .Pp バージョン 5 のファームウェアとはテストしていません。 .Pp バージョン 4 のファームウェアとでは、ホップセットの変更が できないかも知れません。 .Pp .Fl W オプションはわざとドキュメント化していません。