diff --git a/ja_JP.eucJP/man/man1/colcrt.1 b/ja_JP.eucJP/man/man1/colcrt.1 index 6512d475e7..d1a3c096c2 100644 --- a/ja_JP.eucJP/man/man1/colcrt.1 +++ b/ja_JP.eucJP/man/man1/colcrt.1 @@ -1,105 +1,105 @@ .\" 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. .\" .\" @(#)colcrt.1 8.1 (Berkeley) 6/30/93 -.\" %FreeBSD: src/usr.bin/colcrt/colcrt.1,v 1.4 1999/08/28 00:59:42 peter Exp % +.\" %FreeBSD: src/usr.bin/colcrt/colcrt.1,v 1.4.2.1 2000/08/08 03:08:48 ps Exp % .\" jpman %Id: colcrt.1,v 1.2 1997/03/27 13:10:10 ryo2 Stab % .\" .Dd March 30, 1993 .Dt COLCRT 1 .Os BSD 3 .Sh 名称 .Nm colcrt .Nd nroff の出力を CRT で表示するためのフィルタ .Sh 書式 .Nm colcrt .Op Fl .Op Fl \&2 .Op Ar .Sh 解説 .Nm colcrt は、半改行、逆改行の能力を持たず、重ね打ちで表示が壊れる端末に、 仮想的にその機能を提供します。 半改行文字と下線(ダッシュ`-' に置換されます)は、通常の出力行の間に 新しい行をもうけて出力されます。 .Pp 利用可能なオプションは以下のとおりです; -.Bl -tag -width Ds +.Bl -tag -width indent .It Fl 下線を出力しません。このオプションは特に .Xr tbl 1 の .Em allbox で描かれた表を表示するのに便利です。 .It Fl 2 すべての行に半改行があるように出力します。実質的には、1 行おきに出力される ことになります。通常は半改行のない行で余分な改行を出力しません。 ただし、二つの連続した空行は省略されません。 .Fl 2 オプションは上付き、あるいは下付き文字が含まれていて、それらを 印字できないラインプリンタに対して出力する時に便利です。 .El .Sh 使用例 -.Nm colcrt +.Nm の典型的な利用法は、以下のとおりです。 .Bd -literal tbl exum2.n \&| nroff \-ms \&| colcrt \- \&| more .Ed .Sh 関連項目 .Xr nroff 1 , .Xr troff 1 , .Xr col 1 , .Xr more 1 , .Xr ul 1 .Sh バグ .Ql Fl オプションが指定されたときにも、空白部分の下線文字を書き、 下線文字を表示するようにすべきです。 .Pp 102 行以上の行を遡って処理することはできません。 .Pp 一般に、重ね打ちの効果は失われます。特殊なケースとして、 .Ql \&| が .Ql \- や下線と重ね打ちされる場合には、 .Ql \&+ になります。 .Pp 各行は 132 文字で切り捨てられます。 .Pp すでに 1 行おきになっている文書では、上付き、下付き文字に対する対処が必要です。 .Sh 歴史 .Nm は .Bx 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/date.1 b/ja_JP.eucJP/man/man1/date.1 index 41d6e856a8..97ea9a95f4 100644 --- a/ja_JP.eucJP/man/man1/date.1 +++ b/ja_JP.eucJP/man/man1/date.1 @@ -1,362 +1,361 @@ .\" 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. .\" .\" @(#)date.1 8.2 (Berkeley) 11/17/93 -.\" %FreeBSD: src/bin/date/date.1,v 1.34.2.3 2000/07/18 12:06:22 sheldonh Exp % +.\" %FreeBSD: src/bin/date/date.1,v 1.34.2.4 2000/08/07 08:12:57 ps Exp % .\" .\" jpman %Id: date.1,v 1.2 1997/03/31 23:25:55 mutoh Stab % .Dd November 17, 1993 .Dt DATE 1 .Os .Sh 名称 .Nm date .Nd 日付と時刻の表示、設定 .Sh 書式 .Nm date .Op Fl nu .Op Fl d Ar dst .Op Fl r Ar seconds .Op Fl t Ar minutes_west .Op Fl v Ns Ar [+|-]val Ns Op ymwdHMS .Ar ... .Op Fl f Ar fmt Ar date | [[[[[cc]yy]mm]dd]HH]MM[\&.ss] .Op Cm + Ns Ar format .Sh 解説 引数なしで実行すると、 .Nm ユーティリティは現在の日付と時刻を表示します。 引数を与えると、日時の設定、 あるいはユーザが定義したフォーマットに従った日付や時刻の表示を行います。 .Pp なお、日付と時刻を設定できるのはスーパユーザだけです。 .Pp オプション: .Bl -tag -width Ds .It Fl d Ar dst 夏時間用のカーネル値を設定します。もし .Ar dst が 0 でなければ、そのあとの .Xr gettimeofday 2 呼び出しでは .Ql tz_dsttime に 0 以外の値が返ります。 .It Fl f デフォルトの .Ar [[[[yy]mm]dd]HH]MM[.ss] フォーマットの代りに .Ar fmt を、時刻をパーズするフォーマットとして使用します。 .Xr strptime 3 を使用してパーズします。 .It Fl n .Xr timed が動作している場合、デフォルトでは .Nm コマンドによりグループ内のすべてのマシンの時刻が変更されます。しかし、 .Fl n オプションを指定した場合には、他のマシンの時刻は変更せず、 このマシンのみで時刻を設定します。 .It Fl r Ar seconds 基準時点 -.Po -1970 年 1 月 1 日 00:00:00; +(1970 年 1 月 1 日 00:00:00; .Xr time 3 -参照 -.Pc +参照) から .Ar seconds 秒経過した日時を表示します。 +10 進数、8 進数、16 進数のいずれの指定も可能です。 .It Fl t Ar minutes_west カーネルに .Tn GMT (グリニッジ標準時) からの時差を設定します。このあとに呼ばれる .Xr gettimeofday 2 では、ここで指定された値が .Ql tz_minuteswest に入ります。 .It Fl u .Tn UTC (協定世界時) の日付を表示、設定します。 .\" 訳注(Mar.1996):UTC (Universal Time Coordinate) .It Fl v 秒、分、時、日、曜日、月、年のいずれかを .Ar val にもとづき修正します。 .Ar val の前にプラスもしくはマイナスが付いている場合、 時刻はそれに従い前後に修正されます。 そうでない場合は、指定した部分が設定されます。 必要なら任意個このフラグを指定して時刻を修正することが出来ます。 フラグは指定した順序に処理されます。 .Pp .Pq 値を修正するのではなく 値を指定する場合、 秒の範囲は 0-59、 分の範囲は 0-59、時の範囲は 1-12、日の範囲は 1-31、曜日の範囲は 0-6 (Sun-Sat)、月の範囲は 1-12 (Jan-Dec)、 年の範囲は 80-38 もしくは 1980-2038 です。 .Pp .Ar val が数値の場合、 .Ar y , .Ar m , .Ar w , .Ar d , .Ar H , .Ar M , .Ar S のいずれかを使用して、時刻のどの部分を修正するのかを指定する必要があります。 .Pp 曜日もしくは月は数値の代りに名前で指定可能です。 名前と共にプラス (もしくはマイナス) 記号を使用した場合、 日付は適合する次の (前の) 曜日もしくは月に進みます (戻ります)。 曜日もしくは月が現在のものと変らない場合、日は修正しません。 .Pp 特定の値に時刻を修正する場合や、単位が 1 時間よりも大きい場合には、 夏時間の概念は無視されます。 1 時間以下の単位での修正は、夏時間の概念を持ちます。 現在の時刻を 3 月 26 日 0:30 であり、 夏時間の修正により 01:00 から 02:00 へ進むと仮定した場合、 .Fl v No +1H は時刻を 3 月 26 日 2:30 へ修正します。 同様に、現在の時刻が 10 月 29 日 0:30 であり、 夏時間の修正により 02:00 から 01:00 へ戻ると仮定した場合、 .Fl v No +3H とすると時刻は 10 月 29 日 2:30 になります。 .Pp 存在しない特定の値 .Po .\" 2000/07/18 horikawa@jp.FreeBSD.org .\" 語が多いと groff に捨てられてしまうので「2000」の直前で改行 例えば、ヨーロッパ/ロンドンのタイムゾーンで 2000 年 3 月 26 日 1:30 BST .Pc へ時刻を修正する場合、 正当な時刻になるまで、時刻は黙って 1 時間の単位で進められます。 2 回存在する特定の値 .Pq 例えば 2000 年 10 月 29 日 1:30 へ時刻を修正する場合、最終的なタイムゾーンは、 2 回の時刻のうち早いものに適合するものとなります。 .Pp 詳細に関しては、下記の例を参照して下さい。 .El .Pp プラス .Pq Sq + で始まるオプションは、日付と時刻の表示方法を指定する フォーマット文字列です。フォーマット文字列には、 .Xr strftime 3 で記述されているような変換文字列と、任意のテキストを含むことができます。 フォーマット文字列によって指定された文字の後には、つねに改行文字 .Pq Ql \en が出力されます。 .Nm のデフォルトの表示形式は、 .Bd -literal -offset indent ``+%+'' .Ed .Pp としたものと同じです。 .Pp もし、引数が ``+'' 記号で始まる文字列でなければ、それはシステムに 日時を設定するための値と解釈されます。日時を設定するための正式な 表現は以下のとおりです: .Pp .Bl -tag -width Ds -compact -offset indent .It Ar cc 世紀 (19 または 20 のいずれか) であり、西暦の省略表現の前に付きます。 .It Ar yy 西暦の省略表現です。西暦の 10 の位と 1 の位です (1989 年なら 89、06 なら 2006)。 .It Ar mm 月の数字表現です。1 から 12 までの数字です。 .It Ar dd 日です。1 から 31 までの数字です。 .It Ar HH 時です。0 から 23 までの数字です。 .It Ar MM 分です。0 から 59 までの数字です。 .It Ar ss 秒です。0 から 61 までの数字です。 (59 秒 + 2 秒までのうるう秒) .El .Pp 分の指定以外はすべて省略可能です。 .Pp 夏時間と標準時の切り替えや、閏秒や閏年の取り扱いは自動的に行われます。 .Pp .Sh 使用例 以下のコマンド: .Bd -literal -offset indent date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S" .Ed .Pp は、下のような表示を行ないます。 .Bd -literal -offset indent DATE: 1987-11-21 TIME: 13:36:16 .Ed .Pp ヨーロッパ/ロンドンのタイムゾーンでは、 以下のコマンド: .Pp .Bd -literal -offset indent date -v1m -v+1y .Ed .Pp は以下を表示します: .Bd -literal -offset indent Sun Jan 4 04:15:24 GMT 1998 .Ed .Pp (現在 Mon Aug 4 04:15:24 BST 1997 の場合)。 .Pp 以下のコマンド: .Bd -literal -offset indent date -v1d -v3m -v0y -v-1d .Ed .Pp は 2000 年 2 月の最後の日を表示します: .Bd -literal -offset indent Tue Feb 29 03:18:00 GMT 2000 .Ed .Pp 以下のコマンド: .Bd -literal -offset indent date -v1d -v+1m -v-1d -v-fri .Ed .Pp は今月最後の金曜日を表示します: .Bd -literal -offset indent Fri Aug 29 04:31:11 BST 1997 .Ed .Pp (現在 Mon Aug 4 04:31:11 BST 1997 の場合)。 .Pp 以下のコマンド: .Bd -literal -offset indent date 8506131627 .Ed .Pp は、 .\" '\ ' 無しでは引数の数が限界を越えるため .Dq Li "1985\ 年\ 6\ 月\ 13\ 日午後\ 4\ 時\ 27\ 分" に日時を設定します。 .Pp 以下のコマンド: .Pp .Bd -literal -offset indent date 1432 .Ed .Pp は、日を修正することなく、時だけを .Li "午後 2 時 32 分" に設定します。 .Sh 環境変数 .Nm の実行は以下の環境変数の影響を受けます. .Bl -tag -width Ds .It Ev TZ 日時を表示する際に用いられるタイムゾーンを設定します。 通常のフォーマットは .Pa /usr/share/zoneinfo からの相対パス名です。例えば、コマンド .Dq TZ=America/Los_Angeles date はカリフォルニアの現在の時刻を表示します。 詳しいことは、 .Xr environ 7 を参照してください。 .El .Sh 関連ファイル .Bl -tag -width /var/log/messages -compact .It Pa /var/log/wtmp 日付のリセットおよび時刻変更の記録がこのファイルに残されます。 .It Pa /var/log/messages 日付を変更したユーザの記録がこのファイルに残されます。 .El .Sh 関連項目 .Xr gettimeofday 2 , .Xr strftime 3 , .Xr strptime 3 , .Xr utmp 5 , .Xr timed 8 .Rs .%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD" .%A R. Gusella .%A S. Zatti .Re .Sh 診断 .Nm ユーティリティは、 成功した場合は 0 を、日時を設定できなかった場合は 1 を、 ローカルマシンの設定はできたが、グループのマシン全体の設定に失敗した 場合は 2 を返します。 .Pp timed が多数のマシンの時計をあわせる場合には、新しい時刻のセットに 数秒かかることがあります。このとき .Nm は、 .Ql Network time being set と表示します。 .Nm と .Xr timed 8 との間で通信に失敗した場合は、 .Ql Communication error with timed が表示されます。 .Sh バグ システムは .Tn VMS と高い互換性を持つフォーマットで日時を保持しようとしています。しかし、 .Tn VMS は .Tn GMT ではなくローカルな時刻を使っており、夏時間を理解しません。そのため、 .Tn UNIX と .Tn VMS を同時に使う場合は、 .Tn VMS を .Tn GMT で使うべきでしょう。 .Sh 規格 .Nm ユーティリティは .St -p1003.2 互換であると想定しています。 .Sh 歴史 .Nm date コマンドは .At v1 から導入されました。 diff --git a/ja_JP.eucJP/man/man1/logger.1 b/ja_JP.eucJP/man/man1/logger.1 index fb885b305e..a8ad1da186 100644 --- a/ja_JP.eucJP/man/man1/logger.1 +++ b/ja_JP.eucJP/man/man1/logger.1 @@ -1,98 +1,103 @@ .\" 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. .\" .\" @(#)logger.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/logger/logger.1,v 1.4.2.1 2000/06/30 09:51:49 ps Exp % +.\" %FreeBSD: src/usr.bin/logger/logger.1,v 1.4.2.2 2000/08/08 03:11:22 ps Exp % .\" jpman %Id: logger.1,v 1.3 1997/09/05 09:02:40 horikawa Stab % .\" .Dd June 6, 1993 .Dt LOGGER 1 .Os BSD 4.3 .Sh 名称 .Nm logger .Nd システムのログに記録を残す .Sh 書式 .Nm .Op Fl is .Op Fl f Ar file +.Op Fl h Ar host .Op Fl p Ar pri .Op Fl t Ar tag .Op Ar message ... .Sh 解説 .Nm logger は、 .Xr syslog 3 システムログ記録モジュールとのシェルコマンドインタフェースを提供します。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl i logger プロセスのプロセス ID を各行に記録します。 .It Fl s システムのログと同様に、標準エラー出力にログを出力します。 .It Fl f Ar file 指定したファイルの内容をログとして記録します。 +.It Fl h Ar host +ローカルでログする代わりに、リモートシステム +.Ar host +へメッセージを送ります。 .It Fl p Ar pri 指定した優先順位でメッセージを入力します。優先順位は、 数字で指定するか、``ファシリティ.レベル'' の組で指定されます。 たとえば、``\-p local3.info'' は .Ar local3 ファシリティに、情報( .Ar info )レベルでメッセージを記録します。デフォルトは、``user.notice'' です。 .It Fl t Ar tag 各行に指定した .Ar tag を埋め込みます。 .It Ar message この .Ar message をログとして記録します。これが指定されておらず、 .Fl f も指定されていなければ、標準入力をログとして記録します。 .El .Sh 診断 .Nm は成功した場合は 0 を、エラーが起きた場合は 0 より大きな値を返します。 .Sh 使用例 .Bd -literal -offset indent -compact logger System rebooted logger \-p local0.notice \-t HOSTIDM \-f /dev/idmc .Ed .Sh 関連項目 .Xr syslog 3 , .Xr syslogd 8 .Sh 規格 .Nm は .St -p1003.2 準拠です。 diff --git a/ja_JP.eucJP/man/man1/ls.1 b/ja_JP.eucJP/man/man1/ls.1 index 7f3c81e9af..b8f1bb8de8 100644 --- a/ja_JP.eucJP/man/man1/ls.1 +++ b/ja_JP.eucJP/man/man1/ls.1 @@ -1,491 +1,507 @@ .\" 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.3 2000/07/19 06:19:15 sheldonh Exp % +.\" %FreeBSD: src/bin/ls/ls.1,v 1.33.2.4 2000/08/16 19:57:11 jhb Exp % .\" .\" jpman %Id: ls.1,v 1.3 1997/05/19 17:21:06 horikawa Stab % .Dd July 29, 1994 .Dt LS 1 .Os .Sh 名称 .Nm ls .Nd ディレクトリの内容のリストを表示する .Sh 書式 .Nm ls .Op Fl ABCFGHLPRTWabcdfgiklnoqrstu1 .Op Ar file ... .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 -.Tn ANSI -カラーシーケンスを使用し、ファイルタイプを区別します。 -後述の -.Ev LSCOLORS -を参照してください。 -.Fl F -で前述したもの加え、更なる属性 (setuid ビット設定等) もまた表示されます。 -カラー化は、適切な -.Xr termcap 5 -ケーパビリティを持つ端末タイプに依存します。 -デフォルトの -.Dq cons25 -コンソールは、適切なケーパビリティを持っていますが、例えば -.Xr xterm 1 -でカラー表示したい場合には -.Ev TERM -変数を -.Dq xterm-color -に設定する必要があります。 -他の端末タイプも同様の修正が必要かもしれません。 +カラー化出力を有効にします。 +本オプションは、環境変数 +.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 ユーティリティは、成功時には 0 を、エラー発生時には 0 より大きい値を 返します。 .Sh 環境変数 以下の環境変数は .Nm の動作に影響を与えます: .Bl -tag -width BLOCKSIZE .It Ev BLOCKSIZE ブロック数の表示を行う際、1 ブロックのサイズとして環境変数 .Ev BLOCKSIZE で指定された値が使用されます ( .Fl s オプション参照)。 -.It COLUMNS +.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 LSCOLORS -本変数の値は、カラー出力 -.Pq Fl G -が指定されたときに、どの色をどの属性に使用するかを指定します。 +.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 -.Fl G -オプションは、端末タイプのカラーケーパビリティが必要です。 +.Ev CLICOLOR +の機能は、端末タイプのカラーケーパビリティが必要です。 .It Ev TZ 日時を表示するときに使われるタイムゾーンを指定します。 詳細は .Xr environ 7 を参照してください。 .El .Sh 互換性 .St -p1003.2 互換とするため、 ロングフォーマット形式の出力には所有グループ名フィールドが自動的に 含められます。 .Sh 関連項目 .Xr chflags 1 , .Xr chmod 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/su.1 b/ja_JP.eucJP/man/man1/su.1 index 99eb03b569..de97ea65d8 100644 --- a/ja_JP.eucJP/man/man1/su.1 +++ b/ja_JP.eucJP/man/man1/su.1 @@ -1,233 +1,242 @@ .\" Copyright (c) 1988, 1990, 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. .\" .\" @(#)su.1 8.2 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/su/su.1,v 1.17 2000/03/01 12:20:11 sheldonh Exp % +.\" %FreeBSD: src/usr.bin/su/su.1,v 1.17.2.1 2000/08/05 23:07:51 marko Exp % .\" jpman %Id: su.1,v 1.3 1997/05/19 16:52:17 horikawa Stab % .\" .\" this is for hilit19's braindeadness: " .Dd April 18, 1994 .Dt SU 1 .Os .Sh 名称 .Nm su .Nd 一時的に他のユーザになりかわる .Sh 書式 .Nm +.Op Fl .Op Fl Kflm .Op Fl c Ar class .Op Ar login Op Ar args .Sh 解説 .Nm は .Ar login するときに Kerberos パスワード (もしくはログイン ( .Ar login ) が指定されない場合には、 .Dq Ar login Ns .root のパスワード)を要求し、Kerberos 認証を得たあとにユーザとグループ ID を 切替えます。シェルはそのあとに実行されます。もし Kerberos エラーがあれ ば、 .Nm は、 .Ar login のためのパスワードを見つけるためにローカルパスワードファイルを調べま す。もし .Nm が root によって実行された場合、パスワードは要求されず、適当なユーザ ID をもったシェルが実行されます。付加的な Kerberos 認証は一つも得られ ません。 .Pp デフォルトでは、 .Ev USER , .Ev HOME , .Ev SHELL 以外の環境変数は引き継がれます。 .Ev HOME と .Ev SHELL はターゲットとなるログインのデフォルト値になります。 .Ev USER は、ターゲットログインのユーザ ID が 0 以外であれば、ターゲットログイ ンのものがセットされます。0 の場合は変更されません。実行されるシェルは ターゲットログインのログインシェルです。これは .Nm の伝統的なふるまいです。 オリジナルユーザのログインクラス( .Xr login.conf 5 参照)の資源制約とセッション優先度も通常保たれます。 例外はターゲットログインがユーザ ID 0 の場合です。 .Pp オプションとしては、以下のものがあります: .Bl -tag -width Ds .It Fl K ユーザ認証に Kerberos を使用しません。 .It Fl f シェルとして .Xr csh 1 が実行される場合、 .Dq Pa .cshrc ファイルを読み込みません。 .It Fl l 通常にログインした場合と同様になるように環境変数が設定されます。 すなわち、環境変数は .Ev HOME , .Ev SHELL , .Ev PATH , .Ev TERM , .Ev USER 以外は捨てられます。 .Ev HOME と .Ev SHELL は上記のように変更されます。 .Ev USER はターゲットログインの値になります。 .Ev PATH は .Dq Pa /bin:/usr/bin になります。 .Ev TERM は、あなたの現在の環境変数の値になります。 ターゲットログインのクラスにより、 ログインクラスケーパビリティデータベースに基づき、 環境変数が設定もしくは変更されることがあります。 実行されるシェルはターゲット ログインのログインシェルになり、 ターゲットログインのホームディレクトリに移動します。 資源制約とセッション優先度は、 ターゲットアカウントのログインクラスのものに変更されます。 +.It Fl +(文字無し) +.Fl l +と同じです。 .It Fl m 環境変数は変化しません。 実行されるシェルは自分のログインシェルで、ディレクトリの移動も行われません。 セキュリティの用心として、もしターゲットユーザのシェルが 非標準シェル ( .Xr getusershell 3 で定義される) であったり、呼出側の実ユーザ ID が 0 でなければ、 .Nm は失敗します。 .It Fl c Ar class 指定されたログインクラスの設定を使用します。 スーパユーザのみが使用を許されます。 .El .Pp .Fl l -と +(または +.Fl +) と .Fl m は、同時に指定することはできません。最後に指定したものが優先されます。 .Pp オプションの .Ar args がコマンドラインに指定されると、 それらはターゲットログインのログインシェルに引き渡されます。 .Pp グループ 0 (通常は .Dq wheel ) のメンバのみ .Dq root となることが可能です。 グループ 0 が存在しないか空の場合には、どのユーザでも .Dq root に .Nm することが可能です。 .Pp デフォルトでは (設定がされていなければ) スーパユーザのプロンプトは .Dq Sy \&# に設定されます。 .Sh 関連ファイル .Bl -tag -width /etc/auth.conf -compact .It Pa /etc/auth.conf 認証サービスの設定 .El .Sh 関連項目 .Xr csh 1 , .Xr kerberos 1 , .Xr kinit 1 , .Xr login 1 , .Xr sh 1 , .Xr group 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr environ 7 .Sh 環境変数 .Nm で利用される環境変数は以下の通りです: .Bl -tag -width HOME .It Ev HOME 上記で示した書き換えがない限り、 実ユーザ ID のデフォルトのホームディレクトリです。 .It Ev PATH 上記で示した書き換えがない限り、実ユーザ ID のデフォルトのサーチパスで す。 .It Ev TERM なり代わる人が所有している端末のターミナルタイプです。 .It Ev USER ユーザ ID が 0 (root) 以外の場合は、ユーザ ID は常に .Nm 後の effective ID (ターゲットとなるユーザ ID) です。 .El .Sh 使用例 .Bl -tag -width 5n -compact .It Li "su man -c catman" コマンド .Li catman をユーザ .Li man で実行します。 あなたの実 UID が 0 でない場合は、man のパスワードを尋ねられます。 .It Li "su man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'" 上と同様ですが、コマンドが複数の語から構成されています。 .Fl c オプションをシェルに渡すためにクォートしています (ほとんどのシェルでは .Fl c への引数が単一語であると期待します)。 .It Li "su -c staff man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'" 上と同様ですが、ログインクラス .Dq staff の資源制限にてターゲットコマンドを実行します。 注: この例では、最初の .Fl c オプションは .Nm に適用され、2 番目のものは起動されるシェルの引数となります。 .It Li "su -l foo" -ユーザ -.Li foo -のログインの振舞をします。 +ユーザ foo のログインをシミュレートします。 +.It Li "su - foo" +上と同じです。 +.It Li "su - " +rootのログインをシミュレートします。 .El .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/exports.5 b/ja_JP.eucJP/man/man5/exports.5 index 079e2fe73d..252c27f3c7 100644 --- a/ja_JP.eucJP/man/man5/exports.5 +++ b/ja_JP.eucJP/man/man5/exports.5 @@ -1,296 +1,298 @@ .\" Copyright (c) 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)exports.5 8.3 (Berkeley) 3/29/95 -.\" %FreeBSD: src/sbin/mountd/exports.5,v 1.10 2000/03/01 11:34:07 sheldonh Exp % +.\" %FreeBSD: src/sbin/mountd/exports.5,v 1.10.2.1 2000/08/11 13:12:37 sheldonh Exp % .\" .\" jpman %Id: exports.5,v 1.3 1998/07/02 14:10:07 horikawa Stab % .\" .Dd March 29, 1995 .Dt EXPORTS 5 .Os .Sh 名称 .Nm exports .Nd .Tn NFS マウント要求に対するリモートマウント点を定義する .Sh 書式 .Nm exports .Sh 解説 .Nm exports ファイルは .Tn NFS サーバの指定 1 つについて .Tn NFS マウントプロトコルに対するリモートマウント点を指定します。 .%T "Network File System Protocol Specification \\*(tNRFC\\*(sP 1094, Appendix A" および .%T "NFS: Network File System Version 3 Specification, Appendix I" を参照してください。 .Pp .Nm exports ファイルの各行 (# で始まる注釈行以外) は、1 つ以上のホスト向けに、 1 つのローカルサーバファイルシステム内の マウント点 (複数) とエクスポートフラグを指定します。 あるホストは、 サーバの各ローカルファイルシステムに関して唯 1 度だけ指定可能です。 また他の全てのホストに適用されるデフォルトエントリは、 各サーバファイルシステムに関して唯 1 つだけ指定できます。 後者は ``世界'' に対しそのファイルシステムを公開することになるので、 そのファイルシステムが公の情報を含むときにのみ用いるべきです。 .Pp マウントエントリ内の最初の欄 (複数) には、 対応するクライアント (複数) がマウント可能である サーバファイルシステム内ディレクトリパス (複数) を指定します。 この指定には 2 つの形式があります。 最初の指定形式は、 全マウント点のリストであり、絶対ディレクトリパスを空白で区切ったものです。 次の指定形式は、そのファイルシステムのルートパス名に続いて .Fl alldirs フラグを指定するものです。この形式は、そのファイルシステム内の任意の点を ホスト (複数) がマウントすることを可能にします。 .Xr mountd 8 で .Fl r オプションを用いれば、任意の点には通常ファイルを含むことができます。 パス名中には、シンボリックリンクを含んではなりませんし、また "." または ".." を含んではなりません。 1 つのファイルシステムに対するマウント点を複数指定することが可能であり、 それぞれ異ったホストとエクスポートオプションの組を指定することができます。 .Pp 行の 2 番目の部分には、そのファイルシステムがホストの組にどのように エクスポートされているかを指定します。 オプションフラグは、 そのファイルシステムを読み取り専用でエクスポートしているのか それとも読み書き可でエクスポートしているのかを指定したり、 クライアントの UID がサーバ上のユーザ資格にどのように マップされているのかを指定します。 .Pp エクスポートオプションは以下のとおりです。 .Pp .Sm off .Fl maproot No = Sy user .Sm on 指定されたユーザの資格を、root によるリモートアクセスに対して使用します。 その資格には、ローカルマシン上でユーザが属する全てのグループを含みます ( .Xr id 1 参照)。ユーザは名前または数字です。 .Pp .Sm off .Fl maproot No = Sy user:group1:group2:... .Sm on コロンによって区切られたリストは、 root によるリモートアクセスに対して使用する正確な資格を指定するために 使用します。 リストの要素は名前または数字です。 グループを含まない資格をユーザに関する完全な資格と区別するためには、 user: を使用すべきであることに注意してください。 .Pp .Sm off .Fl mapall No = Sy user .Sm on または .Sm off .Fl mapall No = Sy user:group1:group2:... .Sm on .Fl maproot と同じ指定方法で、 (root を含む) 全てのクライアントの UID に対するマッピングを指定します。 .Pp .Fl r オプションは .Fl maproot と同じ意味です。 これは古い export ファイル形式と互換性を保つために用意されました。 .Pp .Fl maproot および .Fl mapall オプションのない場合には、 root によるリモートアクセスは -2:-2 という資格を用いることになります。 その他の全てのユーザはそれぞれのリモート資格にマップされます。 .Fl maproot オプションを指定すると、root によるリモートアクセスは -2:-2 の代りに 指定した資格にマップされます。 .Fl mapall オプションを指定すると、root を含む全てのユーザはそれら自身の資格の代りに 指定した資格にマップされます。 .Pp .Fl kerb オプションを指定すると、Kerberos 認証サーバを使用して 認証とクライアント資格のマップを行います。 このオプションを利用するには、カーネルを NFSKERB オプション付きで 構築してある必要があります。 +適切な Kerberos 暗号化ルーチンを NFS ソース内に組み込まない場合、 +このオプションを使用すると、カーネルコンパイルが出来なくなります。 .Pp .Fl ro オプションは、ファイルシステムが読み取り専用としてエクスポートされることを 指定します (デフォルトは読み書き可)。 .Fl o オプションは .Fl ro と同じ意味です。 これは古い export ファイル形式と互換性を保つために用意されました。 .Pp 仕様 (RFC 2054 と RFC 2055) に厳密に従う .Tn WebNFS エクスポートは .Fl public フラグにて実現されます。 しかしながら、このフラグ自身は、ファイルシステム中の全ファイルに対して 読み書きアクセスを与えますが、予約ポートを必要としませんし、 uid のマッピングも行いません。 これは仕様を満すためだけに提供されており、通常は使用すべきではありません。 .Tn WebNFS エクスポートのためには、 .Fl webnfs フラグを使用します。これは .Fl public , .Sm off .Fl mapall No = Sy nobody , .Sm on .Fl ro を意味します。 .Pp .Sm off .Fl index No = Sy file .Sm on オプションを使用して、パブリックファイルハンドル ( .Tn WebNFS Ns ) を使用してディレクトリが検索された時にハンドルが返される ファイルを指定できます。 これは URL の動作のまねをします。 .Fl index オプションが指定されないと、通常通りディレクトリファイルハンドルが返されます。 .Fl index オプションは .Fl public または .Fl webnfs フラグと組み合わせたときのみ意味があります。 .Pp 行の 3 番目の部分には、その行が適用されるホストの組を指定します。 この組は 3 つの方法で指定できます。 最初の方法はホスト名 (複数) を空白で区切って並べる方法です。 (名前の代りに、標準的なインターネット ``ドット'' アドレスを用いることも できます)。2 番目の方法はネットグループファイル ( .Xr netgroup 5 参照) の中で定義した ``netgroup'' を指定する方法です。 3 番目の方法は、 1 つのネットワークとネットワークマスクを用いることにより、 1 つのインターネットサブネットワークを指定する方法です。 これは、 そのサブネットワーク内のアドレスを持つ全てのホストの組として定義されます。 この最後の方法はカーネルのオーバヘッドを低く押えられるため、 1 つの管理サブネット内の多くのクライアントを エクスポートの行が参照する場合に推奨されます。 .Pp 最初の 2 つの指定方法では、単に空白で区切られた名前 (複数) を並べて指定します。 全ての名前は、まずそれらが ``netgroup'' 名であるかチェックされ、 そうでなければホスト名であると仮定されます。 ホスト名に完全ドメイン指定をすれば、 ネットグループと同じ名前を持つホストの問題を通常避けることができます。 3 番目の指定方法は、 .Sm off .Fl network No = Sy netname .Sm on フラグとオプションの .Sm off .Fl mask No = Sy netmask .Sm on フラグによって指定します。マスクが指定されないと、そのネットワーククラス (A, B, C のどれかです。 .Xr inet 4 を参照してください) に対するマスクとなります。 .Pp 例: .Bd -literal -offset indent /usr /usr/local -maproot=0:10 friends /usr -maproot=daemon grumpy.cis.uoguelph.ca 131.104.48.16 /usr -ro -mapall=nobody /u -maproot=bin: -network 131.104.48 -mask 255.255.255.0 /u2 -maproot=root friends /u2 -alldirs -kerb -network cis-net -mask cis-mask .Ed .Pp .Sy /usr , .Sy /u , .Sy /u2 がローカルファイルシステムマウント点とすると、上の例は以下を指定します: .Sy /usr はネットグループファイルで指定されるホスト群 .Em friends にエクスポートされ、 この際ユーザはそれぞれのリモート資格にマップされ、 root は UID 0 およびグループ 10 にマップされます。 このファイルシステムは読み書き可でエクスポートされ、 ``friends'' 内のホストは /usr と /usr/local のどちらもマウントできます。 このファイルシステムは .Em 131.104.48.16 および .Em grumpy.cis.uoguelph.ca にエクスポートされ、 この際ユーザはそれぞれのリモート資格にマップされ、 root は ``daemon'' に結び付けられたユーザおよびグループにマップされます。 このファイルシステムは残りの世界へ読み出しのみでエクスポートされ、 この際全てのユーザは ``nobody'' に結び付けられたユーザおよびグループに マップされます。 .Pp .Sy /u はサブネットワーク .Em 131.104.48 上の全てのホストにエクスポートされ、 この際 root は ``bin'' の UID にマップされてグループアクセスを持ちません。 .Pp .Sy /u2 は ``friends'' 中のホストにエクスポートされ、 その際 root は ``root'' に結び付けられた UID とグループにマップされます。 このファイルシステムは ``cis-net'' ネットワーク上の全てのホストへ エクスポートされ、 この際 /u2 内のどんなディレクトリへもマウントを許し、 Kerberos 許可書によって認証される principal についての資格に 全 UID をマップします。 .Sh 関連ファイル .Bl -tag -width /etc/exports -compact .It Pa /etc/exports デフォルトリモートマウント点ファイル .El .Sh 関連項目 .Xr netgroup 5 , .Xr mountd 8 , .Xr nfsd 8 , .Xr showmount 8 .Sh バグ エクスポートオプションはカーネル内ではローカルマウント点に結び付けられます。 ローカルサーバマウント点のサブディレクトリでエクスポートされたものに、 エクスポートオプションの矛盾があってはいけません。 同じファイルシステム内の全てのエクスポートされたディレクトリは、 木を下る順に隣り合った行で指定されることが推奨されます。 ネットグループ名と同じ名前のホスト名は指定できません。 完全ドメイン指定でホスト名を指定すれば通常は問題ありません。 diff --git a/ja_JP.eucJP/man/man5/gettytab.5 b/ja_JP.eucJP/man/man5/gettytab.5 index 2c72f39008..15f3938b90 100644 --- a/ja_JP.eucJP/man/man5/gettytab.5 +++ b/ja_JP.eucJP/man/man5/gettytab.5 @@ -1,521 +1,522 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)gettytab.5 8.4 (Berkeley) 4/19/94 -.\" %FreeBSD: src/libexec/getty/gettytab.5,v 1.21 1999/09/20 09:15:17 phantom Exp % +.\" %FreeBSD: src/libexec/getty/gettytab.5,v 1.21.2.1 2000/08/07 11:18:14 ps Exp % .\" .\" jpman %Id: gettytab.5,v 1.3 1998/07/30 15:25:14 horikawa Stab % .\" " .\" WORD: terminal line 端末回線 .\" WORD: .Sh CAPABILITIES ケーパビリティ .\" WORD: erase 文字消去 .\" WORD: kill 行削除 .\" WORD: delay 遅延 .\" WORD: comma コンマ .\" WORD: banner バナー .\" WORD: answer chat script アンサーチャットスクリプト .\" WORD: screen 画面 [termcap.5 gettytab.5] .\" " .Dd April 19, 1994 .Dt GETTYTAB 5 .Os BSD 4.2 .\" turn off hyphenation .hym 999 .Sh 名称 .Nm gettytab .Nd 端末設定データベース .Sh 書式 .Nm gettytab .Sh 解説 .Nm ファイルは .Xr termcap 5 データベースを単純化したバージョンで、 端末回線を記述するのに用いられます。 冒頭に起動される端末ログインプロセス .Xr getty 8 は起動されるたびに .Nm ファイルにアクセスするので、 比較的簡単に端末の特性を再設定することができます。 データベースの各エントリは、それぞれ1個の端末クラスを記述するのに用いられます。 .Pp デフォルトの端末クラス .Em default が存在し、 他の全てのクラスに対するグローバルなデフォルト値を記述するのに 用いられます。 (言い替えれば、まず、 .Em default エントリを読み込み、その後で、必要なクラスのエントリを読み込み、 デフォルトの設定をクラス固有の設定で上書きします。) .Sh ケーパビリティ ファイルレイアウトの解説については、 .Xr termcap 5 を参照して下さい。 以下の .Em デフォルト 欄は、 使用する端末用のテーブルに値がなく、特別の .Em default テーブルにも値がない場合に用いられる値です。 .Bl -column 名称 文字列 /usr/bin/login .It Sy 名称 型 デフォルト 解説 .It "ac 文字列 unused モデム応答のための想定文字列-応答チャットスクリプト" .It "al 文字列 unused プロンプトを出さずに自動ログインするユーザ" .It "ap bool 偽 端末はどのパリティでも受け付ける" .It "bk 文字列 0377 代用の行末文字 (入力ブレーク)" .It "c0 数値 unused メッセージ書き出しのための tty 制御フラグ群" .It "c1 数値 unused ログイン名読み込みのための tty 制御フラグ群" .It "c2 数値 unused 端末を去るときの制御フラグ群" .It "ce bool 偽 crt 文字消去アルゴリズムを用いる" .It "ck bool 偽 crt 行削除アルゴリズムを用いる" .It "cl 文字列" Ta Dv NULL Ta .No "画面削除シーケンス" .It "co bool 偽 コンソール -" .Ql \en をログインプロンプトの後に追加する .It "ct 数値 10 ac/ic スクリプトのためのチャットタイムアウト" .It "dc 数値 0 チャットデバッグ用ビットマスク" .It "de 数値 0 この秒数だけ待って、最初のプロンプトを書く前に入力をフラッシュする" .It "ds 文字列" Ta So Li ^Y Sc Ta .No "遅延されたサスペンド文字" .It "dx bool 偽 " .Dv DECCTLQ をセットする .It "ec bool 偽 echo を残す" .Tn OFF .It "ep bool 偽 端末は偶数パリティを用いる" .It "er 文字列" Ta So Li ^? Sc Ta .No "消去文字" .It "et 文字列" Ta So Li ^D Sc Ta .No "テキストの終り" .Pq Dv EOF 文字 .It "ev 文字列" Ta Dv NULL Ta .No "環境変数の初期設定" .It "f0 数値 unused メッセージ書き出しのための tty モードフラグ群" .It "f1 数値 unused ログイン名読み込みのための tty モードフラグ群" .It "f2 数値 unused 端末を去るときの tty モードフラグ群" .It "fl 文字列" Ta So Li ^O Sc Ta .No "出力フラッシュ文字" .It "hc bool 偽 " 最後のクローズのときに回線をハングアップ .Tn させない .It "he 文字列" Ta Dv NULL Ta .No "ホスト名編集文字列" .It "hn 文字列 hostname ホスト名" .It "ht bool 偽 端末に本物のタブが実装されている" .It "hw bool 偽 cts/rts によるハードウェアフロー制御を行う" .It "i0 数値 unused メッセージ書き出しのための tty 入力フラグ群" .It "i1 数値 unused ログイン名読み込みのための tty 入力フラグ群" .It "i2 数値 unused 端末を去るときの tty 入力フラグ群" .It "ic 文字列 unused モデム初期化のための、想定入力-出力チャットスクリプト" .It "if 文字列 unused プロンプトの前に、/etc/issue のように名前で指定したファイルを表示する" .It "ig bool 偽 ログイン名に含まれるガベージ文字を無視する" .It "im 文字列" Ta Dv NULL Ta .No "冒頭の (バナー) メッセージ" .It "in 文字列" Ta So Li ^C Sc Ta .No "割り込み文字" .It "is 数値 unused 入力スピード" .It "kl 文字列" Ta So Li ^U Sc Ta .No "行消去文字" .It "l0 数値 unused メッセージ書き出しのための tty ローカルフラグ群" .It "l1 数値 unused ログイン名読み込みのための tty ローカルフラグ群" .It "l2 数値 unused 端末を去るときの tty ローカルフラグ群" .It "lm 文字列 login: ログインプロンプト" .It "ln 文字列" Ta So Li ^V Sc Ta .No "次の文字がリテラル値であることを示す文字" .It "lo 文字列" Ta Pa /usr/bin/login Ta .No "名前を得たときに実行するプログラム" .It "mb bool 偽 キャリアに基づいたフロー制御を行う" +.It "nc bool 偽 端末はキャリアをサポートしない (clocal をセット)" .It "nl bool 偽 端末には改行文字がある (あるいは、あるはずである)" .It "np bool 偽 端末はパリティを用いない (つまり 8 ビット文字)" .It "nx 文字列 default (速度の自動選択のための) 次のテーブル" .It "o0 数値 unused メッセージ書き出しのための tty 出力フラグ群" .It "o1 数値 unused ログイン名読み込みのための tty 出力フラグ群" .It "o2 数値 unused 端末を去るときの tty 出力フラグ群" .It "op bool 偽 端末は奇数パリティを用いる" .It "os 数値 unused 出力スピード" .It "pc 文字列" Ta So Li \e0 Sc Ta .No "パッド文字" .It "pe bool 偽 プリンタの (ハードコピー) 文字消去アルゴリズムを用いる" .It "pf 数値 0 最初のプロンプトと" 引き続くフラッシュの間の遅延 (秒数) .It "pp 文字列 unused PPP 認証プログラム" .It "ps bool 偽 回線は" .Tn MICOM ポートセレクタに接続されている .It "qu 文字列" Ta So Li \&^\e Sc Ta .No "終了文字" .It "rp 文字列" Ta So Li ^R Sc Ta .No "行の再タイプ文字" .It "rt 数値 unused ac 使用時の ring タイムアウト" .It "rw bool 偽 入力に raw モードを" .Tn 用いずに 、cbreak を用いる .It "sp 数値 unused (入力および出力の) 回線速度" .It "su 文字列" Ta So Li ^Z Sc Ta .No "サスペンド文字" .It "tc 文字列 none テーブルの続き" .It "to 数値 0 タイムアウト (秒数)" .It "tt 文字列" Ta Dv NULL Ta .No "端末の型 (環境変数用)" .It "ub bool 偽 (プロンプトなどの) バッファリングしない出力を行う" .It "we 文字列" Ta So Li ^W Sc Ta .No "単語消去文字" .It xc bool 偽 制御文字を .Ql ^X の形で出力 .Tn しない .It "xf 文字列" Ta So Li ^S Sc Ta Dv XOFF (出力ストップ) 文字 .It "xn 文字列" Ta So Li ^Q Sc Ta Dv XON (出力開始) 文字 .It "Lo 文字列 C バナーメッセージでの \&%d のために用いるロケール" .El .Pp 以下のケーパビリティはもはや .Xr getty 8 によってサポートされていません。 .Bl -column 名称 文字列 /usr/bin/login .It "bd 数値 0 バックスペースでの遅延" .It "cb bool 偽 crt バックスペースモードを用いる" .It "cd 数値 0 復帰 (carriage return) での遅延" .It "fd 数値 0 フォームフィード (垂直移動) での遅延" .It "lc bool 偽 端末では小文字が使える" .It "nd 数値 0 改行 (ラインフィード) での遅延" .It "uc bool 偽 端末では大文字しか使えない" .El .Pp 回線速度が指定されていない場合、getty が起動された時に設定されている速度は 変更されません。 入力速度または出力速度を指定したときは、 指定した方向の回線速度のみが上書き更新されます。 .Pp メッセージの出力時、ログイン名の入力時、 getty が処理を済ませて端末を手放す時に用いる 端末モードの値は ブール型フラグの指定に基づいて決定されます。 もしこの決定が適切でないことが分かった場合、 これら3つのどれか (あるいはすべて) の値は、数値指定 .Em \&c0 , .Em \&c1 , .Em \&c2 , .Em \&i0 , .Em \&i1 , .Em \&i2 , .Em \&l0 , .Em \&l1 , .Em \&l2 , .Em \&o0 , .Em \&o1 , .Em \&o2 のいずれかで上書きされます。 これらの数値指定では、フラグの値 (通常は、0 を頭につけた 8 進数) そのものを指定することができます。 これらのフラグは termio の .Em c_cflag , .Em c_iflag , .Em c_lflag , および .Em c_oflag の各フィールドにそれぞれ対応します。 それらのセットの各々は、完全に指定しなければ有効になりません。 .Em \&f0 , .Em \&f1 , および .Em \&f2 は TTY サブシステムの旧版の実装に対する後方互換性を意図した物です。 これらのフラグには、sgttyb の .Em sg_flags フィールドの (32 ビット) 値の下位 16 ビットが含まれます。また、上位 16 ビットは ローカルモードを収めるワードを表します。 .Pp もし .Xr getty 8 がナル文字 (回線ブレークを示すものと見なされます) を受け取った場合、 プログラムは .Em nx エントリに示されたテーブルを用いて再始動します。 もしこのエントリがなければ、今まで用いていたテーブルを再び用います。 .Pp 遅延はミリ秒単位で指定し、tty ドライバが使用可能な遅延のうち最も 近いものが用いられます。 より大きな確実性が必要な場合は、0 から 1, 2, 3 までの値の 遅延はドライバの特別な遅延アルゴリズムから選択するものと解釈されます。 .Pp .Em \&cl 画面消去文字列には、その前に必要な遅延時間をミリ秒単位の (10 進数) 数値で (termcap 風に) 書くことができます。 この遅延はパディング文字 .Em \&pc を繰り返して用いることによりシミュレートされます。 .Pp 初期化メッセージ .Em \&im ログインメッセージ .Em \&lm および初期化ファイル .Em \&if は、以下の文字の並びをどれでも含めることができます。これらは .Xr getty 8 が実行されている環境から得た情報に展開されます。 .Pp .Bl -tag -offset indent -width \&%xxxxxxxxxxxxxx .It \&%d 現在の日付と時間を、 .Em \&Lo 文字列で指定したロケールでの表記法 ( .Xr strftime 3 の \&%+ フォーマット) で表したもの。 .It \&%h マシンのホスト名。通常は .Xr gethostname 3 によってシステムから得ますが、テーブルの .Em \&hn エントリで指定して、この値を書き換えることができます。 どちらの場合でも、これは .Em \&he 文字列を用いて編集することができます。 .Em \&he 文字列の中にある 1 個の '@' は 実際のホスト名から最終的なホスト名に 1文字のコピーを引き起こします。 .Em \&he 文字列中の '#' は実際のホスト名の次の1文字をスキップさせます。 \&'@' でも '#' でもない各文字は最終的なホスト名にコピーされます。 余分な '@' と '#' は無視されます。 .It \&%t tty の名前。 .It "\&%m, \&%r, \&%s, \&%v" それぞれ、 .Xr uname 3 が返す マシンの型、オペレーティングシステムのリリース、オペレーティングシステムの 名前、そしてカーネルのバージョンです。 .It \&%% 1 個の .Dq % 文字。 .El .Pp getty がログインプロセス (通常は .Dq Pa /usr/bin/login ですが、 .Em \&lo 文字列で指定されていればそれ)を実行するとき、このプロセスの環境には .Em \&tt 文字列 (が存在すれば) で指定した 端末の型が設定されます。 .Em \&ev 文字列は、プロセスの環境にデータを追加するために使用することができます。 これはコンマで区切られた文字列からなり、それぞれは、 .Em name=value という形式になっていると仮定されます。 .Pp もしタイムアウトとして、 .Em \&to に 0 以外の値を指定した場合、 指定された秒数経過した後に終了します。 すなわち、getty はログイン名を受け取って制御を .Xr login 1 に渡すか、または alarm シグナルを受け取って終了します。 これはダイヤルイン回線をハングアップするために有用です。 .Pp .Xr getty 8 からの出力は、 .Em \&op か .Em \&np が指定された場合を除いて、偶数パリティを用います。 .Em \&op 文字列と .Em \&ap を一緒に指定すると、 入力としてはパリティが何であっても許可し、出力としては奇数パリティを 生成します。 注意: これは、getty が実行されているときのみ適用され、端末ドライバの 制限によりここまで完全な実装ができないかもしれません。 .Xr getty 8 は .Dv RAW モードのときは入力文字のパリティ検査を行いません。 .Pp もし .Em \&pp 文字列が指定されていて、 PPP リンク確立シーケンスが認識されると、 getty は pp オプションで指定されているプログラムを起動します。 これは PPP 着信を取り扱うために用いることができます。 .Pp .Nm getty は以下の2つのケーパビリティを用いて利用できるチャットスクリプト機能を 提供します。これによって、 基本的なインテリジェントモデムをある程度取り扱えるようにします。 .Pp .Bl -tag -offset indent -width \&xxxxxxxx -compact .It ic モデムを初期化するチャットスクリプト。 .It ac コールに答えるチャットスクリプト。 .El .Pp チャットスクリプトは、受信を想定した文字列/送信する文字列の対の連なり からなります。チャット文字列が始まるとき、 .Nm getty は最初の文字列を待ち、その文字列を見つけたら 2 番目の文字列を送ります。 以後も同様に処理を進めます。 指定された文字列は 1 個以上のタブあるいはスペースで区切られています。 文字列には標準 ASCII 文字と、特別な「エスケープ」を含めることが できます。エスケープは、バックスラッシュに続き 1 文字以上の文字が 続いたもので、それは 以下のように解釈されます。 .Pp .Bl -tag -offset indent -width \&xxxxxxxx -compact .It \ea ベル文字。 .It \eb バックスペース。 .It \en 改行。 .It \ee エスケープ。 .It \ef フォームフィード。 .It \ep 0.5秒の一時停止。 .It \er 復帰文字。 .It \eS, \es 空白文字。 .It \et タブ。 .It \exNN 16 進数のバイト値。 .It \e0NNN 8 進数のバイト値。 .El .Pp .Ql \ep 文字列は送信文字列でのみ有効で、前の文字と次の文字を送る間に 0.5 秒の 一時停止を発生することに注意のこと。 16 進数値は最大で 16 進数 2 桁で、 8 進数値は最大で 8 進数 3 桁です。 .Pp .Em \&ic チャットシーケンスはモデムやそれに類似したデバイスを初期化するのに 用いられます。ヘイズ互換のコマンドセットを持つモデム用の初期化チャット スクリプトの典型例は、以下のようなものでしょう。 .Pp .Dl :ic="" ATE0Q0V1\er OK\er ATS0=0\er OK\er: .Pp このスクリプトは何も待たず (つまり常に成功し)、モデムが正しいモード (コマンドエコーを抑制し、応答を返す際に冗長モードで返す) に確実になるようなシーケンスを送り、それから自動応答を 切ります。 終了する前に、"OK" という反応を待ちます。 この初期化シーケンスは、モデムの応答をチェックして モデムが正しく機能しているかを確かめるために 用いられます。 初期化スクリプトが完了するのに失敗した場合、 .Nm getty はこれを致命的な状態であると見なし、その結果として、 .Xr syslogd 8 を用いてログを残してから終了します。 .Pp 同様に、アンサーチャットスクリプトは (通常) "RING" に対して手動で電話に応答するために 用いることができます。 アンサースクリプトを指定して起動した場合、 .Nm getty はポートをノンブロッキングモードでオープンし、それ以前の余分な入力をすべて 消去し、ポートへのデータを待ちます。 何らかのデータが取得可能になるとすぐ、アンサーチャットスクリプトが 開始し、文字列がスキャンされ、アンサーチャットスクリプトに従って 応答します。 ヘイズ互換のモデムでは、スクリプトは通常以下のような感じのものになるでしょう。 .Pp .Dl :ac=RING\er ATA\er CONNECT: .Pp これは、"ATA" コマンドによってモデムに応答させ、続いて 入力をスキャンして文字列 "CONNECT" を探します。 もし .Em \&ct タイムアウトが生じる前にこの文字列を受け取った場合、 通常のログインシーケンスが開始されます。 .Pp .Em \&ct ケーパビリティはすべての送信文字列および想定される入力文字列 に適用されるタイムアウトの値を指定します。このタイムアウトは 文字列待ちを行うごと、および文字列送信を行うごとに設定されます。 少なくともリモートとローカルのモデムの間のコネクションが確立される のにかかる時間 (通常およそ 10 秒) だけの長さは必要です。 .Pp ほとんどの情況で、コネクションが検出された後に 追加の入力のすべてをフラッシュしたいと思うものですが、 この目的には .Em \&de ケーパビリティを使うことができます。これは、 コネクションが確立された後で短時間の遅延をかけ、 その間に接続データがすべてモデムによって送られてしまうのと 同じ効果を持ちます。 .Pp .Sh 関連項目 .Xr login 1 , .Xr gethostname 3 , .Xr uname 3 , .Xr termcap 5 , .Xr getty 8 , .Xr telnetd 8 . .Sh バグ 特殊文字 (文字消去、行削除など) は .Xr login 1 によってシステムのデフォルトに再設定されてしまいます。 .Em 常に、 ログイン名としてタイプした '#' あるいは '^H' は1文字消去として 扱われ、'@' は行消去として扱われます。 .Pp 遅延機能は実クロックです。 全般的に柔軟性がないという問題はさておき、遅延アルゴリズムのいくつかは 実装されていません。 端末ドライバが正常な遅延の設定をサポートしている必要があります。 .Pp .Em \&he ケーパビリティは全く知的ではありません。 .Pp 忌まわしい .Xr termcap 5 フォーマットより、もっと合理的なものを選ぶべきでした。 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man5/rc.conf.5 b/ja_JP.eucJP/man/man5/rc.conf.5 index 7a26157161..e765272061 100644 --- a/ja_JP.eucJP/man/man5/rc.conf.5 +++ b/ja_JP.eucJP/man/man5/rc.conf.5 @@ -1,1294 +1,1327 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.64.2.4 2000/04/27 10:43:18 des Exp % +.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.64.2.7 2000/08/18 10:27:50 sheldonh Exp % .\" .\" jpman %Id: rc.conf.5,v 1.3 1998/06/26 09:39:58 jsakai Stab % .\" -.Dd April 26, 1997 +.Dd Jul 3, 2000 .Dt RC.CONF 5 -.Os FreeBSD 2.2.2 +.Os .Sh 名称 .Nm rc.conf .Nd システム設定情報 .Sh 解説 -.Nm rc.conf +.Nm ファイルはローカルホスト名、全ての潜在的なネットワークインタフェースに 関する設定の詳細、システムの初期起動時に立ち上げるべき サービスに関する記述可能な情報を含んできます。初めてインストールする際に は、一般に -.Nm rc.conf +.Nm ファイルはシステムインストールユーティリティ .Pa /stand/sysinstall によって初期化されます。 .Pp -.Nm rc.conf +.Nm の目的は、 コマンドの実行やシステム起動操作を直接行うことではありません。 それに代わり、 そこに見出される設定にしたがって内部操作を条件付きで制御する .Pa /etc 下のいろいろな類の起動スクリプトの一部をなしています。 .Pp .Pa /etc/rc.conf ファイルは、 使用可能な全オプションのデフォルト設定を指定するファイル .Pa /etc/defaults/rc.conf からインクルードされます。 オプションを .Pa /etc/rc.conf に指定する必要があるのは、 システム管理者がこれらのデフォルトを上書きしたい場合だけです。 ファイル .Pa /etc/rc.conf.local は、 .Pa /etc/rc.conf の設定を上書きするために使用されます。これは歴史的事情のためです。 後述の .Dq rc_conf_files を参照してください。 .Pp 以下に示すのは .Nm ファイル中で設定可能な各変数について、 その名前と簡単な解説をリストしたものです。 .Bl -tag -width Ar .It Ar swapfile (文字列) .Ar NO にセットすると スワップファイルはインストールされません。 .Ar NO 以外の場合、その値は追加スワップ領域のために利用するファイルの 完全パス名として用いられます。 .It Ar apm_enable (ブール値) .Ar YES にセットすると .Xr apm 8 コマンドでの自動電源管理 (Automatic Power Management) のサポートを有効に します。 .It Ar apmd_enable (ブール値) .Xr apmd 8 を実行し、ユーザランドから APM イベントを扱います。 APM サポートも有効にします。 .It Ar apmd_flags (文字列) .Ar apmd_enable が .Ar YES の場合、これらは .Xr apmd 8 デーモンに渡すフラグになります。 .It Ar pccard_enable (ブール値) .Ar YES にセットすると起動時に PCCARD のサポートを有効にします。 .It Ar pccard_mem (文字列) PCCARD コントローラメモリアドレスをセットします。 .Ar DEFAULT とするとデフォルト値になります。 .It Ar pccard_ifconfig (文字列) ブート時またはカード挿入時に .Xr ifconfig 8 に渡される引数のリストです (例えば、 固定アドレスの場合は "inet 192.168.1.1 netmask 255.255.255.0" などですし、 DHCP クライアントの場合は "DHCP" です)。 .It Ar pccard_conf (文字列) .Xr pccardd 8 デーモンの設定ファイルのパスです (例えば -.Ar /etc/pccard.conf.sample +.Pa /etc/pccard.conf.sample です)。 .It Ar pccardd_flags (文字列) .Ar pccard_enable が .Ar YES の場合、これらは .Xr pccardd 8 デーモンに渡すフラグになります。 .It Ar local_startup (文字列) 起動スクリプトファイルを検索するためのディレクトリのリストです。 -.It Ar local_periodic -(文字列) 定期的に実行するスクリプトを検索するディレクトリのリストです。 .It Ar hostname (文字列) ネットワーク上でのあなたのホストの完全な形のドメイン名 (The Fully Qualified Domain Name) です。あなたがネットワークに接続されていない 場合でも、この変数は確実に何か意味のあるものに設定すべきです。 ホスト名を DHCP を介して設定するために .Xr dhclient 8 を使用している場合、この変数は空文字列に設定すべきです。 .It Ar nisdomainname (文字列) あなたのホストの NIS ドメイン名。NIS が動いてないときは .Ar NO とします。 .It Ar dhcp_program (文字列) DHCP クライアントプログラムのパスです -(ISC DHCP クライアントの /sbin/dhclient がデフォルトです)。 +(ISC DHCP クライアントの +.Pa /sbin/dhclient +がデフォルトです)。 .It Ar dhcp_flags (文字列) DHCP クライアントプログラムに渡す追加のフラグです。 ISC DHCP クライアント用に利用可能なコマンドラインオプションについては、 .Xr dhclient 8 ページを参照してください。 .It Ar firewall_enable (ブール値) 起動時にロードされるファイアウォール規則を持ちたくないときには .Ar NO 、持ちたいときには .Ar YES をセットします。 .Ar YES にセットし、かつカーネルが IPFIREWALL 付きで作られなかった場合、 ipfw カーネルモジュールがロードされます。 .It Ar firewall_script (文字列) .Pa /etc/rc.firewall 以外のファイアウォールスクリプトを実行したい場合、 そのスクリプトの完全なパス名をこの変数に設定してください。 .It Ar firewall_type (文字列) .Pa /etc/rc.firewall 中で選択されたファイアウォールのタイプまたはローカルファイアウォール規則 の組を含むファイルを名付けます。 .Pa /etc/rc.firewall 中では以下のものが選択可能です: .Dq open - 無制限の IP アクセス; .Dq closed - lo0 経由を除く全ての IP サービスを禁止; .Dq client - ワークステーション向けの基本的な保護; .Dq simple - LAN 向けの基本的な保護。 ファイル名が指定される場合には完全なパス名でなければなりません。 .It Ar firewall_quiet (ブール値) .Ar YES にセットすると起動時にコンソール上で ipfw 規則の表示を行ないません。 +.It Ar firewall_logging +(ブール値) +.Ar YES +にセットすると ipfw のイベントロギングを有効にします。 +IPFIREWALL_VERBOSE カーネルオプションと等価です。 .It Ar natd_program (文字列) .Xr natd 8 のパス。 .It Ar natd_enable (ブール値) .Ar YES にセットすると natd を有効にします。 .Ar firewall_enable もまた .Ar YES にセットされ、 .Xr divert 4 ソケットがカーネルで有効にされている必要があります。 .It Ar natd_interface natd が実行されるパブリックインタフェースの名前です。 .Ar natd_enable が .Ar YES にセットされている場合には、これを設定する必要があります。 インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 .It Ar natd_flags 追加の natd フラグはここに記述する必要があります。 .Fl n または .Fl a のフラグは上記 .Ar natd_interface とともに自動的に引数として追加されます。 .It Ar tcp_extensions (ブール値) デフォルトでは .Ar NO です。YES にセットすると、 .%T RFC 1323 で述べられているような ある TCP オプションを有効にします。 もしネットワークコネクションが不規則にハングアップしたり、 それに類する他の不具合がある場合には、これを .Ar NO に戻して様子をみてみるのもよいかもしれません。世間に出回っている ハードウェア/ソフトウェアの中には、これらのオプションでうまく動作しない ものがあることが知られています。 .It Ar log_in_vain (ブール値) デフォルトで .Ar NO にセットされています。 YES に設定すると、 listen 中のソケットが無いポートに対する接続の試みをログするようになります。 .It Ar tcp_keepalive (ブール値) デフォルトで .Ar YES にセットされています。 NO にセットすると、 アイドルな TCP 接続を検出し、相手がまだ起きていて、到達可能であることを、 確認しなくなります。 .It Ar tcp_drop_synfin (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 TCP フレームで SYN と FIN のフラグを共にセットされているものを、 カーネルが無視するようになります。 これにより、OS が指紋を残すのを防ぎますが、 正当なアプリケーションが動作しなくなるかもしれません。 RCP_DROP_SYNFIN オプション付きでカーネルを構築した場合のみ、 本オプションが使用可能です、 .It Ar tcp_restrict_rst (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 不正な TCP パケット (例えば、閉じられたポート宛のフレーム) に応答する TCP RST フレームの送出を、 カーネルに止めさせます。 RCP_RESTRICT_RST オプション付きでカーネルを構築した場合のみ、 本オプションが使用可能です、 .It Ar icmp_drop_redirect (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 ICMP REDIRECT パケットを、カーネルが無視するようになります。 .It Ar icmp_log_redirect (ブール値) デフォルトで .Ar NO にセットされています。 YES にセットすると、 ICMP REDIRECT パケットを、カーネルが記録するようになります。 ログメッセージの速度制限はありませんので、 あなたのネットワーク内の問題解決にのみ使用すべきです。 .It Ar network_interfaces (文字列) このホスト上で形成されるネットワークインタフェースのリストを 設定します。 たとえば、ループバックデバイス (標準) および SMC Elite Ultra NIC があるなら .Qq Ar "lo0 ed0" という 2 つのインタフェースを設定します。 .Em interface の各値に対して .No ifconfig_ Ns Em interface という変数が存在すると仮定されます。 1 つのインタフェースに複数の IP アドレスを登録したい場合は、 ここに IP エイリアスのエントリを追加することも可能です。 対象とするインタフェースが ed0 であると仮定すると、 .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" .Ed というようになります。 見つかった各 ifconfig__alias エントリについて、 その内容が .Xr ifconfig 8 に渡されます。最初にアクセスに失敗した時点で実行は中止されるので .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff" ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff" .Ed のようにすると、alias4 は追加され .Em ない ことに注意してください。これは alias3 エントリを抜かしたことで検索が中止されるからです。 .Pp インタフェースの DHCP での立ち上げは、 .No ifconfig_ Ns Em interface 変数を .Dq DHCP に設定することで可能です。 例えば ed0 デバイスを HDCP で初期化するには、 次のような行を指定すればよいです: .Bd -literal ifconfig_ed0="DHCP" .Ed .It Ar ppp_enable (ブール値) .Ar YES にセットすると、 .Xr ppp 8 デーモンを実行します。 .It Ar ppp_mode (文字列) .Xr ppp 8 デーモンを実行するモードです。受け付けられるモードは .Ar auto , ddial , direct , .Ar dedicated のいずれかです。 完全な解説はマニュアルを参照してください。 .It Ar ppp_nat (ブール値) .Ar YES にセットすると、パケットエイリアスを有効にします。 .Ar gateway_enable と共に使用することにより、 本ホストをネットワークアドレス変換ルータとして使用して、 プライベートネットワークアドレスのホストからの インターネットへのアクセスを可能にします。 .It Ar ppp_profile (文字列) -.Ar /etc/ppp/ppp.conf +.Pa /etc/ppp/ppp.conf から使用するプロファイル名です。 +.It Ar ppp_user +(文字列) このユーザ名の元で ppp を起動します。 +デフォルトでは ppp は +.Ar root +が起動します。 .It Ar rc_conf_files (文字列) 本オプションは、 .Pa /etc/defaults/rc.conf の設定を上書きするファイルのリストを指定するために使用されます。 ファイルは指定された順序に読み込まれ、 ファイルへの完全なパスを含む必要があります。 デフォルトでは、指定されるファイルは .Pa /etc/rc.conf と .Pa /etc/rc.conf.local です。 .It Ar syslogd_enable (ブール値) .Ar YES にセットすると .Xr syslogd 8 デーモンを起動します。 .It Ar syslogd_flags (文字列) .Ar syslogd_enable が .Ar YES の場合、これらは .Xr syslogd 8 に渡すフラグになります。 .It Ar inetd_enable (ブール値) .Ar YES にセットすると .Xr inetd 8 デーモンを起動します。 .It Ar inetd_flags (文字列) .Ar inetd_enable が .Ar YES の場合、これらは .Xr inetd 8 へ渡すフラグとなります。 .It Ar named_enable (ブール値) .Ar YES にセットすると .Xr named 8 デーモンを起動します。 .It Ar named_program (文字列) .Xr named 8 のパス (デフォルトは .Pa /usr/sbin/named です)。 .It Ar named_flags (文字列) .Ar named_enable が .Ar YES の場合、これらは .Xr named 8 に渡すフラグとなります。 .It Ar kerberos_server_enable (ブール値) ブート時に Kerberos 認証サーバを起動したい場合は .Ar YES にセットします。 .It Ar kadmind_server_enable .Xr kadmind 8 (Kerberos 管理デーモン) を実行したい場合は .Ar YES とします。スレーブサーバ上では .Ar NO にセットします。 .It Ar kerberos_stash (文字列) .Ar YES なら (唯一 .Ar kerberos_server_enable が .Ar YES にセットされ、かつ .Xr kerberos 1 および .Xr kadmind 8 の両方を用いるときにのみ) 隠されたマスタキーのプロンプト入力を行なう代りに、 そのキーを用いるよう Kerberos サーバに指示します。 .It Ar rwhod_enable (ブール値) .Ar YES にセットするとブート時に .Xr rwhod 8 デーモンを起動します。 .It Ar rwhod_flags (文字列) .Ar rwhod_enable が .Ar YES にセットされている場合、これらは rwhod に渡すフラグになります。 .It Ar amd_enable (ブール値) .Ar YES にセットするとブート時に .Xr amd 8 デーモンを起動します。 .It Ar amd_flags (文字列) .Ar amd_enable が .Ar YES にセットされている場合、これらは amd に渡すフラグとなります。 詳しくは .Xr amd 8 の .Xr info 1 ページを利用してください。 .It Ar update_motd (ブール値) .Ar YES にセットするとブート時に実行されているカーネルリリースを反映するように .Pa /etc/motd を更新します。 .Ar NO にセットすると .Pa /etc/motd は更新を行いません。 .It Ar nfs_client_enable (ブール値) .Ar YES にセットするとブート時に NFS クライアントデーモンを起動します。 .It Ar nfs_client_flags (文字列) .Ar nfs_client_enable が .Ar YES の場合、これらは .Xr nfsiod 8 デーモンに渡すフラグとなります。 .It Ar nfs_access_cache .Ar nfs_client_enable が .Ar YES の場合、この変数に .Ar 0 をセットして NFS ACCESS RPC キャッシングを無効化することができますし、 NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 2-10 秒の値を設定すると、 多くの NFS 操作のネットワークトラフィックを十分減らします。 .It Ar nfs_server_enable (ブール値) .Ar YES にセットするとブート時に NFS サーバデーモンを起動します。 .It Ar nfs_server_flags (文字列) .Ar nfs_server_enable が .Ar YES の場合、これらは .Xr nfsd 8 デーモンに渡すフラグとなります。 .It Ar single_mountd_enable (ブール値) .Ar YES にセットし .Ar nfs_server_enable をセットしないと、 .Xr mountd 8 は起動しますが .Xr nfsd 8 デーモンは起動しません。 実際に NFS は使用せずに CFS を使用する場合に、一般的に必要となります。 .It Ar weak_mountd_authentication (ブール値) .Ar YES にセットすると、権限付けられていないマウント要求を行なうために PCNFSD のようなサービスを許可します。 .It Ar nfs_privport (ブール値) .Ar YES にセットすると、安全なポート上でのみ NFS サービスを提供します。 .It Ar nfs_bufpackets (整数) 数値を設定すると、そのパケット数分のソケットバッファ空間が、 NFS クライアント上に予約されます。 .Ar DEFAULT に設定すると、カーネルのデフォルト (典型的には 4) が使用されます。 ギガビットネットワークでは大きな値を設定すると高性能になるでしょう、 最小値は 2 であり、最大値は 64 です。 .It Ar rcp_lockd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.lockd 8 を起動します。 .It Ar rcp_statd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.statd 8 を起動します。 .It Ar portmap_program (文字列) .Xr portmap 8 のパス (デフォルトは .Pa /usr/sbin/portmap です)。 .It Ar portmap_enable (ブール値) .Ar YES の場合、ブート時に .Xr portmap 8 サービスを起動します。 .It Ar portmap_flags (文字列) .Ar portmap_enable が .Ar YES の場合、これらは .Xr portmap 8 デーモンに渡すフラグとなります。 .It Ar xtend_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xtend 8 デーモンを起動します。 .It Ar xtend_flags (文字列) .Ar xtend_enable が .Ar YES の場合、これらは .Xr xtend 8 デーモンに渡すフラグとなります。 .It Ar pppoed_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr pppoed 8 デーモンを起動し、PPP オーバイーサネットサービスを提供します。 .It Ar pppoed_provider .Xr pppoed 8 はこの .Ar provider に対する要求を listen し、究極的にはこの名前を .Ar system 引数として .Xr ppp 8 を実行します。 .It Ar pppoed_flags .Xr pppoed 8 へ渡す追加のフラグ。 .It Ar pppoed_interface pppoed が実行されるネットワークインタフェース。 .Ar pppoed_enable が .Dq YES にセットされた場合、必須です。 .It Ar timed_enable (ブール値) .Ar YES なら、ブート時に .Xr timed 8 サービスを実行します。このコマンドは、全ホストについて一貫した .Qq "ネットワーク時間" が確立されなければならないマシンネットワークのためにあります。 これが有用である典型例は、 ファイルのタイムスタンプがネットワークワイドで一貫性をもつことが 期待されるような、大規模 NFS 環境です。 .It Ar timed_flags (文字列) .Ar timed_enable が .Ar YES の場合、これらは .Xr timed 8 サービスに渡すフラグとなります。 .It Ar ntpdate_enable (ブール値) .Ar YES にセットすると、システムスタートアップ時に ntpdate を実行します。 このコマンドは、ある標準的な参照先を元に、ただ .Ar 1 回 だけシステム時刻を同期させるためにあります。 また、システムを最初にインストールする際、 これを (知られているサービスのリストから) 最初にセットアップするオプションが .Pa /stand/sysinstall プログラムによって提供されます。 .It Ar ntpdate_program (文字列) .Xr ntpdate 8 のパス (デフォルトは .Pa /usr/sbin/ntpdate です)。 .It Ar ntpdate_flags (文字列) .Ar ntpdate_enable が .Ar YES の場合、これらは .Xr ntpdate 8 コマンドに渡すフラグとなります (典型的にはホスト名)。 .It Ar xntpd_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xntpd 8 コマンドが起動されます。 .It Ar xntpd_program (文字列) .Xr xntpd 8 のパス (デフォルトは .Pa /usr/sbin/xntpd です)。 .It Ar xntpd_flags (文字列) .Ar xntpd_enable が .Ar YES の場合、これらは .Xr xntpd 8 デーモンに渡すフラグとなります。 .It Ar nis_client_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypbind 8 サービスを起動します。 .It Ar nis_client_flags (文字列) .Ar nis_client_enable が .Ar YES の場合、これらは .Xr ypbind 8 サービスに渡すフラグとなります。 .It Ar nis_ypset_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypset 8 デーモンを起動します。 .It Ar nis_ypset_flags (文字列) .Ar nis_ypset_enable が .Ar YES の場合、これらは .Xr ypset 8 デーモンに渡すフラグとなります。 .It Ar nis_server_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypserv 8 デーモンを起動します。 .It Ar nis_server_flags (文字列) .Ar nis_server_enable が .Ar YES の場合、これらは .Xr ypserv 8 デーモンに渡すフラグとなります。 .It Ar nis_ypxfrd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypxfrd 8 デーモンを起動します。 .It Ar nis_ypxfrd_flags (文字列) .Ar nis_ypxfrd_enable が .Ar YES の場合、これらは .Xr ypxfrd 8 デーモンに渡すフラグとなります。 .It Ar nis_yppasswdd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr yppasswdd 8 デーモンを起動します。 .It Ar nis_yppasswdd_flags (文字列) .Ar nis_yppasswdd_enable が .Ar YES の場合、これらは .Xr yppasswdd 8 デーモンに渡すフラグとなります。 .It Ar defaultrouter (文字列) .Ar NO をセットしないと、このホスト名または IP アドレスへのデフォルトルートを 作成します (このルータがネームサーバへたどりつく必要がある 場合は IPアドレスを使用すること!)。 .It Ar static_routes (文字列) システムブート時に追加したいスタティックルートのリストを セットします。 .Ar NO 以外をセットした場合、その値を空白で区切った各要素について、 各 .Em element 毎に変数 .No route_ Ns element が存在すると仮定され、その後、 .Dq route add 操作に渡されます。 .It Ar gateway_enable (ブール値) .Ar YES にセットすると、IP ルータとして動作する、 たとえばインタフェース間でパケットをフォワードするように ホストを設定します。 .It Ar router_enable (ブール値) .Ar YES にセットすると、 .Ar router および .Ar router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Ar router (文字列) .Ar router_enable が .Ar YES にセットされると、これが使用するルーティングデーモン名になります。 .It Ar router_flags (文字列) .Ar router_enable が .Ar YES にセットされると、これらがルーティングデーモンへ渡すフラグとなります。 .It Ar mrouted_enable (ブール値) .Ar YES にセットすると、マルチキャストルーティングデーモン .Xr mrouted 8 を起動します。 .It Ar mrouted_flags (文字列) .Ar mrouted_enable が .Ar YES の場合、これらはマルチキャストルーティングデーモンへ渡すフラグとなります。 .It Ar ipxgateway_enable (ブール値) .Ar YES にセットすると、IPX トラフィックのルーティングを有効にします。 .It Ar ipxrouted_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr IPXrouted 8 デーモンを起動します。 .It Ar ipxrouted_flags (文字列) .Ar ipxrouted_enable が .Ar YES の場合、これらは .Xr IPXrouted 8 デーモンへ渡すフラグとなります。 .It Ar arpproxy_all .Ar YES にセットするとグローバルプロキシ ARP を有効にします。 .It Ar forward_sourceroute これが .Ar YES にセットされ、更に .Ar gateway_enable もまた .Ar YES にセットされている場合、 送信元が経路指定したパケット (source routed packets) はフォワードされます。 .It Ar accept_sourceroute .Ar YES にセットすると、 システムは自分宛の送信元経路指定パケットを受け付けます。 .It Ar rarpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr rarpd 8 デーモンを起動します。 .It Ar rarpd_flags (文字列) .Ar rarpd_enable が .Ar YES の場合、これらは .Xr rarpd 8 デーモンへ渡すフラグとなります。 .It Ar atm_enable (ブール値) .Ar YES システムブート時に ATM インタフェースの設定を有効にします。 次に説明する ATM 関連の変数に関し、 利用可能なコマンドパラメータの更なる詳細については、 .Xr atm 8 のマニュアルページを参照してください。 更なる詳細な設定情報に関しては、 .Pa /usr/share/examples/atm 中のファイルも参照してください。 .It Ar atm_netif_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 作成すべき ATM ネットワークインタフェースの 名前プレフィックスと数字を指定します。 値はコマンド .Dq atm set netif Va のパラメータとして渡されます。 .It Ar atm_sigmgr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 値はコマンド .Dq atm attach Va のパラメータとして渡されます。 .It Ar atm_prefix_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの NSAP プレフィックスを定義します。 .Em ILMI に設定すると、プレフィックスは自動的に .Xr ilmid 8 デーモンを介して設定されます。 そうでない場合、値はコマンド .Dq atm set prefix Va のパラメータとして渡されます。 .It Ar atm_macaddr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの MAC アドレスを定義します。 .Em NO に設定すると、ATM インタフェースカードに格納されている ハードウェア MAC アドレスが使用されます。 そうでない場合、値はコマンド .Dq atm set mac Va のパラメータとして渡されます。 .It Ar atm_arpserver_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ 利用可能です。 .Em local に設定すると、本ホストが ATMARP サーバになります。 値はコマンド .Dq atm set arpserver Va のパラメータとして渡されます。 .It Ar atm_scsparp_ (ブール値) .Em YES に設定すると、ネットワークインタフェース .Va に対する SCSP/ATMARP サービスが、 .Xr scspd 8 および .Xr atmarpd 8 を使用して開始されます。 本変数は .So .No atm_arpserver_ Ns Va .No Ns = Ns Qq local .Sc が定義されている場合にのみ利用可能です。 .It Ar atm_pvcs (文字列) システムブート時に追加したい ATM PVC のリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_pvc_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add pvc のパラメータとして渡されます。 .It Ar atm_arps (文字列) システムブート時に追加したい、 永続的な ATM ARP エントリのリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_arp_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add arp のパラメータとして渡されます。 .It Ar keymap (文字列) .Ar NO にセットするとキーマップはインストールされません。それ以外の場合、 ここで指定した .Ar value がキーマップファイル .Pa /usr/share/syscons/keymaps/.kbd をインストールするのに用いられます。 .It Ar keyrate (文字列) キーボードのリピートスピードです。以下のいずれかにセットします。 .Ar slow , .Ar normal , .Ar fast デフォルト値を希望する場合は .Ar NO とします。 .It Ar keychange (文字列) .Ar NO 以外にセットすると、その値でファンクションキーをプログラムしようとします。 指定できる値は単一の文字列で, .Qq Ar " [ ]..." という形式でないといけません。 .It Ar cursor (文字列) カーソルの動作を明示的に指定する場合は .Ar normal , .Ar blink , .Ar destructive のいずれかの値にセットします。デフォルト動作を選ぶには .Ar NO とします。 .It Ar scrnmap (文字列) .Ar NO にセットすると、スクリーンマップはインストールされません。 それ以外の場合には、ここで指定した .Ar value がスクリーンマップファイル .Pa /usr/share/syscons/scrnmaps/ をインストールするのに用いられます。 .It Ar font8x16 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x16 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x14 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x14 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x8 (文字列) .Ar NO にセットすると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar blanktime (整数) .Ar NO にセットすると、デフォルトのスクリーンブランク時間間隔が用いられます。 それ以外の場合は .Ar value 秒にセットされます。 .It Ar saver (文字列) .Ar NO 以外にセットすると、これが実際に使用する スクリーンセーバ (ブランク, 蛇, デーモンなど) となります。 .It Ar moused_enable (文字列) .Ar YES にセットすると、コンソール上でのカット/ペーストセレクション用に .Xr moused 8 デーモンが起動されます。 .It Ar moused_type (文字列) 利用したいマウスのプロトコルのタイプ。 .Ar moused_enable が .Ar YES の場合、この変数は必ず設定しなければなりません。 多くの場合、 .Xr moused 8 デーモンは適切なマウスタイプを自動的に検出することができます。 デーモンにマウスを検出させるには、この変数を .Ar auto にセットします。 自動検出が失敗する場合、以下のリストから 1 つを選びます。 .Pp マウスが PS/2 マウスポートに接続されている場合、 .Ar auto か .Ar ps/2 を常に指定する必要があります。マウスのブランドやモデルには無関係です。 同様に、マウスがバスマウスポートに接続されている場合、 .Ar auto か .Ar busmouse を選択してください。 他のプロトコルはシリアルマウス用であり、 PS/2 マウスおよびバスマウスでは動作しません。 USB マウスを持っている場合、 .Ar auto のみが USB マウスで動作する唯一のプロトコルです。 .Bd -literal microsoft Microsoft マウス (シリアル) intellimouse Microsoft IntelliMouse (シリアル) mousesystems Mouse system 社製のマウス (シリアル) mmseries MM シリーズのマウス (シリアル) logitech Logitech 製のマウス (シリアル) busmouse バスマウス mouseman Logitech の MouseMan および TrackMan (シリアル) glidepoint ALPS 製の GlidePoint (シリアル) thinkingmouse Kensignton 製の ThinkingMouse (シリアル) ps/2 PS/2 マウス mmhittab MM の HitTablet (シリアル) x10mouseremote X10 MouseRemote (シリアル) versapad Interlink VersaPad (シリアル) .Ed お使いのマウスが上記のリストにない場合でも、 リスト中のいずれかと互換性があるかも知れません。 互換性に関する情報については .Xr moused 8 のマニュアルページを参照してください。 .Pp また、 この変数が有効であるときは、(Xサーバのような) 他の全てのマウスクライアントは 仮想マウスデバイス .Pa /dev/sysmouse を通してマウスにアクセスし、 それを sysmouse タイプのマウスとして構成すべきであると いうことにも注意すべきです。これは、 .Xr moused 8 使用時は、全てのマウスデータがこの単一の標準フォーマットに変換されるためです。 クライアントプログラムが sysmouse タイプを サポートしないなら次に望ましいタイプとして mousesystems を指定してください。 .It Ar moused_port (文字列) .Ar moused_enable が .Ar YES の場合、これはマウスが接続されている実際のポートになります。 たとえば、COM1 シリアルマウスに対しては .Pa /dev/cuaa0 、PS/2 マウスに対しては .Pa /dev/psm0 、バスマウスに対しては .Pa /dev/mse0 となります。 .It Ar moused_flags (文字列) .Ar moused_type がセットされている場合、これらは .Xr moused 8 デーモンに渡す追加のフラグとなります。 .It Ar allscreens_flags (文字列) 設定すると、各仮想端末 .Pq Pa /dev/ttyv* に対し、これらのオプションを使用して .Xr vidcontrol 1 を実行します。 例えば .Ar -m on は、 .Ar moused_enable が .Ar YES にセットされている場合、全仮想端末上でマウスポインタを有効にします。 .It Ar cron_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr cron 8 デーモンを起動します。 .It Ar lpd_program (文字列) .Xr lpd 8 のパス (デフォルトは .Pa /usr/sbin/lpd です)。 .It Ar lpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr lpd 8 デーモンを起動します。 .It Ar lpd_flags (文字列) .Ar lpd_enable が .Ar YES の場合、これらは .Xr lpd 8 デーモンに渡すフラグとなります。 .It Ar sendmail_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr sendmail 8 デーモンを起動します。 .It Ar sendmail_flags (文字列) .Ar sendmail_enable が .Ar YES の場合、これらは .Xr sendmail 8 デーモンに渡すフラグとなります。 .It Ar dumpdev (文字列) .Ar NO にセットしないと、カーネルクラッシュダンプ出力先を .Em value で指定したスワップデバイスに向けます。 システム再開時に、 .Xr savecore 8 プログラムは、指定したデバイスからクラッシュダンプを探し、典型的には .Pa /var/crash ディレクトリに格納します。 .It Ar check_quotas (ブール値) .Xr quotacheck 8 コマンドによってユーザディスクのクォータチェックを有効にしたいなら、 .Ar YES にセットします。 .It Ar accounting_enable (ブール値) .Xr accton 8 ファシリティでシステムアカウンティングを有効にしたいなら .Ar YES にセットします。 .It Ar ibcs2_enable (ブール値) システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 +.It Ar ibcs2_loaders +(文字列) これを +.Ar NO +にセットせずに +.Ar ibcs2_enable +を +.Ar YES +にセットした場合、 +この文字列は有効化すべき追加の iBCS2 ローダのリストを指定します。 .It Ar linux_enable (ブール値) システムブート時に Linux/ELF バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar rand_irqs (文字列) 乱数生成用に監視する IRQ のリストをセットします ( .Xr rndcontrol 8 のマニュアル参照)。 .It Ar clear_tmp_enable (ブール値) 起動時に .Pa /tmp 下を消去したいなら .Ar YES をセットします。 .It Ar ldconfig_paths (文字列) .Xr ldconfig 8 で使用する共有ライブラリのパスのリストをセットします。注意: .Pa /usr/lib は常に先頭に追加されるので、このリストに指定する必要はありません。 .It Ar kern_securelevel_enable (ブール値) カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 .Ar YES にセットします。 .It Ar kern_securelevel (整数) スタートアップ時にセットされるカーネルセキュリティレベルです。 .Ar 値 として許される範囲は -1 (コンパイル時のデフォルト) から 3 (最も安全) です。 利用可能なセキュリティレベルとシステム操作への影響については、 .Xr init 8 を参照してください。 .It Ar start_vinum (ブール値) システムブート時に .Xr vinum 8 を開始したい場合、 .Ar YES にセットします。 +.It Ar sshd_program +(文字列) SSH サーバプログラムへのパスです +.Po +.Pa /usr/sbin/sshd +がデフォルトです +.Pc 。 +.It Ar sshd_enable +(ブール値) ブート時に +.Xr sshd 8 +を起動したい場合、 +.Ar YES +にセットします。 +.It Ar sshd_flags +(文字列) +.Ar sshd_enable +が +.Ar YES +の場合、これらは +.Xr sshd 8 +デーモンに渡すフラグになります。 .Sh 関連ファイル .Bl -tag -width /etc/defaults/rc.conf -compact .It Pa /etc/defaults/rc.conf -.El -.Pp -.Bl -tag -width /etc/rc.conf -compact .It Pa /etc/rc.conf -.El -.Pp -.Bl -tag -width /etc/rc.conf.local -compact .It Pa /etc/rc.conf.local .El .Sh 関連項目 .Xr catman 1 , .Xr makewhatis 1 , .Xr gdb 1 , .Xr info 1 , .Xr exports 5 , .Xr motd 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , .Xr atm 8 , .Xr cron 8 , .Xr dhclient 8 , .Xr gated 8 , .Xr ifconfig 8 , .Xr inetd 8 , .Xr lpd 8 , .Xr moused 8 , .Xr mrouted 8 , .Xr named 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr ntpdate 8 , -.Xr periodic 8 , .Xr pcnfsd 8 , .Xr portmap 8 , .Xr quotacheck 8 , .Xr rc 8 , .Xr rndcontrol 8 , .Xr route 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , .Xr rwhod 8 , .Xr savecore 8 , .Xr sendmail 8 , +.Xr sshd 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr swapon 8 , .Xr tickadj 8 , .Xr timed 8 , .Xr vinum 8 , .Xr vnconfig 8 , .Xr xntpd 8 , .Xr xtend 8 , .Xr ypbind 8 , .Xr ypserv 8 , .Xr ypset 8 .Sh 歴史 .Nm ファイルは .Fx 2.2.2 で登場しました。 .Sh 作者 .An Jordan K. Hubbard . diff --git a/ja_JP.eucJP/man/man5/sysctl.conf.5 b/ja_JP.eucJP/man/man5/sysctl.conf.5 index 0540105821..e2e304b913 100644 --- a/ja_JP.eucJP/man/man5/sysctl.conf.5 +++ b/ja_JP.eucJP/man/man5/sysctl.conf.5 @@ -1,70 +1,75 @@ .\" Copyright (c) 1999 Chris Costello .\" 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/sysctl.conf.5,v 1.3 2000/01/16 18:12:42 chris Exp % +.\" %FreeBSD: src/share/man/man5/sysctl.conf.5,v 1.3.4.1 2000/07/27 23:00:09 obrien Exp % .\" .Dd December 30, 1999 .Dt SYSCTL.CONF 5 .Os FreeBSD .Sh 名称 .Nm sysctl.conf .Nd カーネルの状態のデフォルト .Sh 解説 .Pa /etc/sysctl.conf ファイルは、カーネルのデフォルト設定のために、 システムがマルチユーザモードになるときに読み込まれます。 .Pa /etc/sysctl.conf は .Dq "sysctl -w" コマンドの書式であり、すなわち次のようなものです。 .Bd -literal -offset indent sysctl_mib=value .Ed .Pp コメントは、行頭に .Dq # を付けることで記述します。 コメントは行末にも付けられます。 後述の .Sx 使用例 を見てください。 .Sh 関連ファイル .Bl -tag -width /etc/sysctl.conf -compact .It Pa /etc/sysctl.conf .Xr sysctl 8 の初期設定。 .Sh 使用例 致命的なシグナルにより終了したプログラムのロギングを無効にし、 Linux プログラムに対して FreeBSD 3.4-STABLE で実行していると通知するには、 次のような設定を使用します: .Bd -literal -offset indent # Configure logging and Linux execution. kern.logsigexit=0 # Do not log fatal signal exits (e.g. sig 11) compat.linux.osname=FreeBSD compat.linux.osrelease=3.4-STABLE .Ed .Sh 関連項目 .Xr rc.conf 5 , .Xr rc 8 , .Xr sysctl 8 +.Sh 歴史 +.Nm +ファイルは +.Fx 4.0 +から登場しました。 diff --git a/ja_JP.eucJP/man/man5/term.5 b/ja_JP.eucJP/man/man5/term.5 index ea5d08b3d1..6a40ee3dae 100644 --- a/ja_JP.eucJP/man/man5/term.5 +++ b/ja_JP.eucJP/man/man5/term.5 @@ -1,212 +1,212 @@ .\"*************************************************************************** .\" Copyright (c) 1998 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .\" %Id: term.5,v 1.9 1998/03/11 21:12:53 juergen Exp % .TH TERM 5 .\" jpman %Id: term.5,v 1.3 1998/07/30 15:27:11 horikawa Stab % .\" WORD: compiled コンパイル済みの .\" WORD: linear search 線形探索(パス名から inodeを) .\" WORD: boolean value ブール値 .\" WORD: terminate 終端する .ds n 5 -.ds d /usr/obj/usr/src/i386/usr/share/misc/terminfo/terminfo +.ds d /usr/share/misc/terminfo/terminfo .SH 名称 term \- コンパイル済みの term ファイルの形式 .SH 書式 .B term .SH 解説 .PP コンパイル済みの terminfo 属性記述はディレクトリ \fB\*d\fP の下にあります。 \s-1UNIX\s+1 システムの巨大なディレクトリを線形探索するのを避けるため、 \fB\*b/c/name\fP という形の 2 階層の命名規則が用いられます。 (ここで、 .I name は端末の名前で、 .I c は .I name の最初の文字です。) ですから、 .I act4 は、 \fB\*d/a/act4\fP というファイル名で見つけることができます。 同じ端末を示す同義な名前は、同じコンパイル済みファイルへの複数の リンクとして実装されています。 .PP この形式は、全てのハードウェアで同じになるように選ばれています。 1 バイトが 8 ビット以上であることは仮定していますが、バイトオーダや 符号拡張の方式については仮定していません。 .PP コンパイル済みのファイルは .I tic プログラムにより生成され、 .I setupterm ルーチンにより読み取られます。 このファイルは 6 つの部分に分割されます。すなわち、 ヘッダ、 端末の名称、 ブール値のフラグ、 数値、 文字列、および 文字列テーブルです。 .PP ヘッダセクションはファイルの冒頭にあります。 このセクションは、以下に示す形式の short 型の整数 6 個からなります。 これらの整数は (1) マジックナンバ (8 進で 0432)、 (2) 名称セクションのバイト単位での大きさ、 (3) ブール値のセクションに含まれるバイトの個数、 (4) 数値セクションに含まれる short 型整数の個数、 (5) 文字列セクションに含まれるオフセットの個数 (short 型整数)、 (6) 文字列テーブルのバイト単位での大きさ です。 .PP short 型の整数は 2 個の 8 ビットバイトに格納されています。 最初のバイトは値の最下位 8 ビットを、2 番目のバイトは最上位 8 ビットを 含みます。(すなわち、値は 256*second+first と表現されます。) 値 \-1 は 2 バイト 0377, 0377 で表現されますが、その他の負の値は構文違反です。 一般に、この値は、あるケーパビリティがその端末に備わっていないことを 示します。 この形式は \s-1VAX\s+1 と \s-1PDP\s+1-11 のハードウェアに 一致するものであることにご注意下さい (これらはリトルエンディアンマシンです)。これに一致しないハードウェアの マシンでは、整数を 2 個のバイトとして読み込み、 リトルエンディアン値を算出する必要があります。 .PP 次に現れるのは端末名セクションです。 これは、端末のさまざまな名前を `|' 文字で区切って列挙した、 terminfo 記述の最初の行を含みます。 このセクションは 1 個の \s-1ASCII NUL\s+1 文字で終端されます。 .PP ブール型のフラグは、フラグ 1 個につき 1 バイトを占めます。 このバイトは、フラグが存在するかしないかに従って、0 か 1 となる必要があります。 ケーパビリティはファイル に含まれるのと同じ順番に並びます。 .PP 数値セクションが偶数バイト目から開始されるように、 ブール値のセクションと数値セクションの間には、 必要なら 1 個のナルバイトを挿入します (これは PDP-11 のワードアドレスアーキテクチャの名残であり、 元々は奇数バイト境界上のワードをアドレスすることで発生する IOT トラップを 避けるためにデザインされました)。 すべての short 型整数は short 型のワード境界に揃えて配置されます。 .PP 数値セクションはフラグセクションと同様です。 各ケーパビリティは 2 バイトを占め、リトルエンディアンの short 型整数として格納されます。 もし表現された値が \-1 なら、そのケーパビリティは存在しないものと 解釈されます。 .PP 文字列セクションもまた同様です。 各ケーパビリティは上記の形式に従い、2 バイトの short 型整数として 格納されます。 値 \-1 は、ケーパビリティが存在しないことを意味します。 それ以外の場合、値は、文字列テーブルの先頭からのオフセットとして 解釈されます。 ^X や \ec といった記法で示された特殊文字は、その記法を解釈した結果の形で 格納され、印刷可能表現では格納されません。 パッド情報 $ とパラメータ情報 %x は解釈を行なわずそのままの形で 格納されます。 .PP 最後のセクションは文字列テーブルです。これは文字列セクションで参照されている すべての文字列ケーパビリティの値を含みます。 各文字列はナルで終端されています。 .PP .I setupterm ルーチンでは、ファイルに実際に存在するケーパビリティ とは異なるものが予想され得ることにご注意下さい。 .I setupterm が再コンパイルされた後にデータベースが更新される (ファイルにいくつかの未知のエントリが含まれる結果になります)か、 データベースが最後にコンパイルされた後にプログラムが再コンパイルされる (存在しないエントリを生む結果になります)両方の可能性があります。 ルーチン .I setupterm は両方の可能性に備える必要があります \- これが、データ内に個数と大きさが含まれている理由です。 また、新しいケーパビリティは常に、ブール値、数値、文字列の ケーパビリティリストのそれぞれの最後に追加しなければなりません。 .PP 数値にリトルエンディアンを使用して他には自ら記述した書式を使用しても、 商用 UNIX バージョンとのバイナリ terminfo エントリの互換性を 信用することは賢くはありません。 問題は、少なくとも 3 種の terminfo (HP-UX AIX, OSF/1) が SVr1 後に System V がら分岐し、 System V と XSI の Curses 拡張と (バイナリ書式において) 衝突する 拡張ケーパビリティを文字列テーブルに追加したことです。 terminfo ソースの互換性に関する詳細な議論は、 \fBterminfo\fR(\*n) を参照してください。 .PP 例として、Lear-Siegler ADM-3 の記述の 16 進数ダンプを示します。 これは、ポピュラーですが、馬鹿な初期の端末です: .nf .sp adm3a|lsi adm3a, am, cols#80, lines#24, bel=^G, clear=\032$<1>, cr=^M, cub1=^H, cud1=^J, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, home=^^, ind=^J, .sp .ft CW \s-20000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P. 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........ 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'... 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-..... 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c.... 0150 00 08 00 0c 00 0b 00 0a 00 ........ .\s+2 .ft R .fi .sp .PP いくつかの制限: コンパイル済みのエントリは 4096 バイトを超えることが できません。名前フィールドは 128 バイトを超えることができません。 .SH 関連ファイル \*d/*/* コンパイル済みの端末ケーパビリティデータベース .SH 関連項目 \fBcurses\fR(3X), \fBterminfo\fR(\*n). .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: .\"# mode:nroff .\"# fill-column:79 .\"# End: diff --git a/ja_JP.eucJP/man/man5/terminfo.5 b/ja_JP.eucJP/man/man5/terminfo.5 index dc4fa5f079..883aac8d12 100644 --- a/ja_JP.eucJP/man/man5/terminfo.5 +++ b/ja_JP.eucJP/man/man5/terminfo.5 @@ -1,3098 +1,3098 @@ '\" t .\" DO NOT EDIT THIS FILE BY HAND! .\" It is generated from terminfo.head, Caps, and terminfo.tail. .\" .\" Note: this must be run through tbl before nroff. .\" The magic cookie on the first line triggers this under some man programs. .\"*************************************************************************** .\" Copyright (c) 1998 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .\" %Id: terminfo.head,v 1.8 1998/03/11 21:12:53 juergen Exp % .\" jpman %Id: terminfo.5,v 1.3 2000/05/04 04:19:31 horikawa Stab % .TH TERMINFO 5 "" "" "File Formats" .ds n 5 -.ds d /usr/obj/usr/src/i386/usr/share/misc/terminfo/terminfo +.ds d /usr/share/misc/terminfo/terminfo .SH 名称 terminfo \- 端末ケーパビリティのデータベース .SH 書式 \*d/*/* .SH 解説 .I terminfo は端末の特性を記述するデータベースであり、 \fBnvi\fR(1), \fBrogue\fR(1) などの画面を活用したプログラムや \fBcurses\fR(3X) などのライブラリによって使用されます。 .I terminfo は、端末が持つケーパビリティの集合を与え、画面操作をどのようにして行うかを 指定し、必要なパディングや初期化シーケンスを指定することで、端末の特性を 記述します。 .PP .I terminfo のエントリは、`,' で区切られたフィールドの列からなります (フィールド内の コンマはバックスラッシュでエスケープするか、\e072 と書きます)。 `,' セパレータの後の空白は無視されます。 各端末を表す最初のエントリは、端末を表すものとして知られている名前を 指定します。名前を複数指定するときは `|' で区切ります。 最初の名前は、その端末のものとして最もよく知られた省略形を与えます。 最後の名前には、その端末を識別できるだけの長い名前を指定するべきです。 それら以外の名前は、同じ端末を指す別名と見なされます。 最後のもの以外の名前は、すべて英小文字からなり、空白が含まれていては いけません。 最後の名前には、読みやすくするために大文字や空白を含めても構いません。 .PP 端末名 (最後の冗長なものは除く) は、以下の約束にしたがって付けてください。 名前の基本部分を、端末を構成するハードウェアの特徴的部分から名付けます (``hp2621'' のように)。 この名前にはハイフンを含めてはいけません。 モードや、ユーザの設定が現れる部分については、基本名の後に、 ハイフンとモードの接尾辞つけて表してください。 例えば、vt100 の 132 桁モードは vt100-w のようになります。 使えるところがあれば、以下の接尾辞を使ってください。 .PP .TS center ; l c l l l l. \fB接尾辞 意味 例\fP -\fInn\fP 画面の行数 aaa-60 -\fIn\fPp 画面記憶ページ数 c100-4p -am 自動マージン付 (通常これがデフォルト) vt100-am -m 白黒モード; 色を抑制 ansi-m -mc 魔法のクッキー; ハイライトのときの空白 wy30-mc -na 矢印キー無し (局所的にとどめる) c100-na -nam 自動マージン無し vt100-nam -nl ステータス行無し att4415-nl -ns ステータス行無し hp2626-ns -rv 反転表示 c100-rv -s ステータス行有り vt100-s -vb ビープの代わりに可視ベルを使用 wy370-vb -w 幅広モード (> 80 桁、通常 132 桁) vt100-w .TE .PP 端末の命名規則についてさらに知りたいときは \fBterm(7)\fR のマニュアルを 参照してください。 .SS ケーパビリティ .\" Head of terminfo man page ends here .ps -1 以下は terminfo の記述ブロックに含まれ、terminfo を使うコードが使用できる ケーパビリティの完全な表です。表の各行の意味は次の通りです。 \fBvariable\fR は (terminfo レベルの) プログラマがケーパビリティを 使用するときに用いる名前です。 \fBcapname\fR は、データベースのテキストの中で用いる短縮名で、 データベースを更新する人間が用いる名前です。 可能な場合は常に、capname は ANSI X3.64-1979 標準規格 (現在 ECMA-48 に 取って代わられていますが、そこでも同一のもしくは非常に良く似た名前を 使っています) と同一もしくは類似のものを選んであります。その意味も、 その規格での規定に合致するようにしてあります。 termcap code は古典的な .B termcap ケーパビリティの名前です (いくつかのケーパビリティは新しいもので、 その名前は termcap に由来しません)。 .P ケーパビリティの名前の長さには、決まった上限はありません。ただし、名前を 短くし、ソースファイルにタブを使って .B cap をきれいに並べられるように、非公式ながら上限 5 文字の制限が既に 採用されています。 最後に、説明ではケーパビリティの意味を伝えようとします。説明の中には 以下のようなコードがある場合があります。 .TP (P) パディングが指定可能であることを表します。 .TP #[1-9] 説明の中では、文字列が (#\fIi\fP) として与えられる引数として tparm を介して渡されることを示します。 .TP (P*) 影響を受ける行数にパディングが比例することを表します。 .TP (#\d\fIi\fP\u) 第 \fIi\fP 番目のパラメータを表します。 .PP 以下はブール値ケーパビリティです。 .na .TS H center expand; c l l c c l l c lw25 lw6 lw2 lw20. \fBvariable cap- TCap 説明\fR \fBブール値 name Code\fR auto_left_margin bw bw T{ cub1 は桁 0 から最後の桁に回り込む T} auto_right_margin am am T{ 自動マージン機能を持つ T} back_color_erase bce ut T{ 画面を背景色で消去する T} can_change ccc cc T{ 既存の色を再定義可能 T} ceol_standout_glitch xhp xs T{ 強調出力は上書きで消去されない (hp) T} col_addr_glitch xhpa YA T{ hpa/mhpa では正方向のみ移動可能 T} cpi_changes_res cpix YF T{ 文字ピッチを変えると解像度が変わる T} cr_cancels_micro_mode crxm YB T{ cr を使用するとマイクロモードがオフになる T} dest_tabs_magic_smso xt xt T{ タブは破壊的、強調文字の動作が奇妙 (t1061) T} eat_newline_glitch xenl xn T{ 80 桁より後の改行は無視される (concept) T} erase_overstrike eo eo T{ 空白の重ね打ちで消去可能 T} generic_type gn gn T{ 一般的な回線タイプ T} hard_copy hc hc T{ ハードコピー端末 T} hard_cursor chts HC T{ カーソルが見にくい T} has_meta_key km km T{ メタキーを持つ (押すと第 8 ビットがセットされる) T} has_print_wheel daisy YC T{ 文字セットを変更するのに人手が必要なプリンタ T} has_status_line hs hs T{ 特別なステータス行を持つ T} hue_lightness_saturation hls hl T{ 端末は HLS 色表記のみ使用 (Tektronix) T} insert_null_glitch in in T{ 挿入モードでナル文字を区別する T} lpi_changes_res lpix YG T{ 行ピッチを変えると解像度が変わる T} memory_above da da T{ 画面より上の描画が保持される T} memory_below db db T{ 画面より下の描画が保持される T} move_insert_mode mir mi T{ 挿入モードで安全にカーソル移動可能 T} move_standout_mode msgr ms T{ 強調モードで安全にカーソル移動可能 T} needs_xon_xoff nxon nx T{ パディング機能が働かない。xon/xoff 制御が必要 T} no_esc_ctlc xsb xb T{ beehive 端末 (f1=escape, f2=ctrl C) T} no_pad_char npc NP T{ パディング文字が存在しない T} non_dest_scroll_region ndscr ND T{ スクロール領域が非破壊的 T} non_rev_rmcup nrrmc NR T{ smcup は rmcup の動作を反転しない T} over_strike os os T{ 端末は重ね打ち可能 T} prtr_silent mc5i 5i T{ プリンタ出力は画面にエコーしない T} row_addr_glitch xvpa YD T{ vpa/mvpa では正方向にのみ移動可能 T} semi_auto_right_margin sam YE T{ 最終桁で出力すると cr 動作をする T} status_line_esc_ok eslok es T{ ステータス行上でエスケープ可能 T} tilde_glitch hz hz T{ ~ 表示不可 (hazeltine 端末) T} transparent_underline ul ul T{ 下線付文字は上書きする T} xon_xoff xon xo T{ 端末は xon/xoff ハンドシェークを行う T} .TE .ad 以下は数値ケーパビリティです。 .na .TS H center expand; c l l c c l l c lw25 lw6 lw2 lw20. \fBvariable cap- TCap 説明\fR \fB数値 name Code\fR columns cols co T{ 1 行の桁数 T} init_tabs it it T{ タブの初期設定は # 個の空白毎 T} label_height lh lh T{ ラベル 1 つの行数 T} label_width lw lw T{ ラベル 1 つの桁数 T} lines lines li T{ 画面またはページの行数 T} lines_of_memory lm lm T{ lines の値以上の場合メモリの行数。0 は行数が可変であることを表す T} magic_cookie_glitch xmc sg T{ smso や rmso で画面に残る空白数 T} max_attributes ma ma T{ 端末が組み合わせて処理できる属性数の最大値 T} max_colors colors Co T{ 画面上の最大色数 T} max_pairs pairs pa T{ 画面上の色ペアの最大値 T} maximum_windows wnum MW T{ 定義可能なウィンドウ数の最大値 T} no_color_video ncv NC T{ 色付きでは使用できないビデオ属性 T} num_labels nlab Nl T{ 画面上のラベル数 T} padding_baud_rate pb pb T{ パディングが必要な最低ボー速度 T} virtual_terminal vt vt T{ 仮想画面番号 (CB/unix) T} width_status_line wsl ws T{ ステータス行の桁数 T} .TE .ad 以下の数値ケーパビリティは、SVr4.0 の term 構造体に存在していますが、 マニュアルには未だに説明がありません。SVr4 でプリンタに対応するために 採り入れられました。 .na .TS H center expand; c l l c c l l c lw25 lw6 lw2 lw20. \fBvariable cap- TCap 説明\fR \fB数値 name Code\fR bit_image_entwining bitwin Yo T{ 各ビットイメージ行に対するパスの数 T} bit_image_type bitype Yp T{ ビットイメージデバイスのタイプ T} buffer_capacity bufsz Ya T{ 印字前にバッファリング可能なバイト数 T} buttons btns BT T{ マウスのボタン数 T} dot_horz_spacing spinh Yc T{ 1 インチあたりのドット数での水平方向のドット間隔 T} dot_vert_spacing spinv Yb T{ 1 インチあたりのピン数での垂直方向のピン間隔 T} max_micro_address maddr Yd T{ micro_..._address での最大値 T} max_micro_jump mjump Ye T{ parm_..._micro での最大値 T} micro_col_size mcs Yf T{ マイクロモードでの文字ステップサイズ T} micro_line_size mls Yg T{ マイクロモードでの行ステップサイズ T} number_of_pins npins Yh T{ プリントヘッドのピン数 T} output_res_char orc Yi T{ 1 行あたりのユニット数での水平解像度 T} output_res_horz_inch orhi Yk T{ 1 インチあたりのユニット数での水平解像度 T} output_res_line orl Yj T{ 1 行あたりのユニット数での垂直解像度 T} output_res_vert_inch orvi Yl T{ 1 インチあたりのユニット数での垂直解像度 T} print_rate cps Ym T{ 1 秒あたりの文字数での印字速度 T} wide_char_size widcs Yn T{ 倍幅モードでの文字ステップサイズ T} .TE .ad 以下は文字列ケーパビリティです。 .na .TS H center expand; c l l c c l l c lw25 lw6 lw2 lw20. \fBvariable cap- TCap 説明\fR \fB文字列 name Code\fR acs_chars acsc ac T{ 図形文字セットの組、vt100 に基づく T} back_tab cbt bt T{ 後退タブ (P) T} bell bel bl T{ 可聴シグナル (ベル) (P) T} carriage_return cr cr T{ 復帰文字 (P*) (P*) T} change_char_pitch cpi ZA T{ 1 インチあたりの文字数を変更 T} change_line_pitch lpi ZB T{ 1 インチあたりの行数を変更 T} change_res_horz chr ZC T{ 水平解像度を変更 T} change_res_vert cvr ZD T{ 垂直解像度を変更 T} change_scroll_region csr cs T{ 領域を行 #1 から行 #2 までに変更 (P) T} char_padding rmp rP T{ ip と同様だが挿入モード以外で使用 .\" 後で If padding is necessary between characters typed while not .\" in insert mode, give this as a number of milliseconds .\" padding in rmp. という記述がある T} clear_all_tabs tbc ct T{ タブ設定をすべてクリア (P) T} clear_margins mgc MC T{ 左右のソフトマージンをクリア T} clear_screen clear cl T{ 画面をクリアし、カーソルをホームに移動 (P*) T} clr_bol el1 cb T{ 行先頭までクリア T} clr_eol el ce T{ 行末までクリア (P) T} clr_eos ed cd T{ 画面末までクリア (P*) T} column_address hpa ch T{ 水平絶対位置 #1 (P) T} command_character cmdch CC T{ 端末がプロトタイプで設定可能なコマンド文字 !? T} create_window cwin CW T{ ウィンドウ #1 を #2,#3 から #4,#5 までと定義 T} cursor_address cup cm T{ 行 #1 桁 #2 に移動 T} cursor_down cud1 do T{ 1 行下に移動 T} cursor_home home ho T{ カーソルをホームに移動 (cup がない場合) T} cursor_invisible civis vi T{ カーソルを見えなくする T} cursor_left cub1 le T{ カーソルを 1 空白分左に移動 T} cursor_mem_address mrcup CM T{ メモリ相対のカーソル位置指定 T} cursor_normal cnorm ve T{ カーソルを通常表示にする (civis/cvvis を元に戻す) T} cursor_right cuf1 nd T{ 非破壊空白 (1 空白分右に移動) T} cursor_to_ll ll ll T{ 最終行の最初の桁 (cup がない場合) T} cursor_up cuu1 up T{ 1 行上へ T} cursor_visible cvvis vs T{ カーソルをよく見えるようにする T} define_char defc ZE T{ 文字を定義 T} delete_character dch1 dc T{ 文字を削除 (P*) T} delete_line dl1 dl T{ 行を削除 (P*) T} dial_phone dial DI T{ 番号 #1 にダイアルする T} dis_status_line dsl ds T{ ステータス行を無効にする T} display_clock dclk DK T{ (#1,#2) に時計を表示する T} down_half_line hd hd T{ 半行下へ T} ena_acs enacs eA T{ 別の文字セットを有効にする T} enter_alt_charset_mode smacs as T{ 別の文字セットを開始 (P) T} enter_am_mode smam SA T{ 自動マージンオン T} enter_blink_mode blink mb T{ 点滅モードオン T} enter_bold_mode bold md T{ 太字 (更に明るい) モードオン T} enter_ca_mode smcup ti T{ cup を用いたプログラムを開始する文字列 T} enter_delete_mode smdc dm T{ 削除モード開始 T} enter_dim_mode dim mh T{ 半輝度モードオン T} enter_doublewide_mode swidm ZF T{ 倍幅モード開始 T} enter_draft_quality sdrfq ZG T{ ドラフト印字モード開始 T} enter_insert_mode smir im T{ 挿入モード開始 T} enter_italics_mode sitm ZH T{ 斜体モード開始 T} enter_leftward_mode slm ZI T{ 左向き移動モード開始 T} enter_micro_mode smicm ZJ T{ マイクロ移動モード開始 T} enter_near_letter_quality snlq ZK T{ NLQ 印字モード開始 T} enter_normal_quality snrmq ZL T{ 通常品質印字モード開始 T} enter_protected_mode prot mp T{ 保護モードオン T} enter_reverse_mode rev mr T{ 反転表示モードオン T} enter_secure_mode invis mk T{ ブランクモードオン (文字が見えない) T} enter_shadow_mode sshm ZM T{ シャドウプリントモード開始 T} enter_standout_mode smso so T{ 強調モード開始 T} enter_subscript_mode ssubm ZN T{ 下付き文字モード開始 T} enter_superscript_mode ssupm ZO T{ 上付き文字モード開始 T} enter_underline_mode smul us T{ 下線モード開始 T} enter_upward_mode sum ZP T{ 上向き移動モード開始 T} enter_xon_mode smxon SX T{ xon/xoff ハンドシェークオン T} erase_chars ech ec T{ #1 個の文字を消去 (P) T} exit_alt_charset_mode rmacs ae T{ 別の文字セット終了 (P) T} exit_am_mode rmam RA T{ 自動マージンオフ T} exit_attribute_mode sgr0 me T{ 全属性オフ T} exit_ca_mode rmcup te T{ cup を用いたプログラムを終了する文字列 T} exit_delete_mode rmdc ed T{ 削除モード終了 T} exit_doublewide_mode rwidm ZQ T{ 倍幅モード終了 T} exit_insert_mode rmir ei T{ 挿入モード終了 T} exit_italics_mode ritm ZR T{ 斜体モード終了 T} exit_leftward_mode rlm ZS T{ 左向き移動モード終了 T} exit_micro_mode rmicm ZT T{ マイクロ移動モード終了 T} exit_shadow_mode rshm ZU T{ シャドウプリントモード終了 T} exit_standout_mode rmso se T{ 強調モード終了 T} exit_subscript_mode rsubm ZV T{ 下付き文字モード終了 T} exit_superscript_mode rsupm ZW T{ 上付き文字モード終了 T} exit_underline_mode rmul ue T{ 下線モード終了 T} exit_upward_mode rum ZX T{ 上向き移動モード終了 T} exit_xon_mode rmxon RX T{ xon/xoff ハンドシェークオフ T} fixed_pause pause PA T{ 2-3 秒待つ T} flash_hook hook fh T{ スイッチフックをフラッシュ T} flash_screen flash vb T{ 可視ベル (カーソルは移動しない) T} form_feed ff ff T{ ハードコピー端末でのページ排出 (P*) T} from_status_line fsl fs T{ ステータス行からの復帰 T} goto_window wingo WG T{ ウィンドウ #1 に移動 T} hangup hup HU T{ 電話を切る T} init_1string is1 i1 T{ 初期化文字列 T} init_2string is2 is T{ 初期化文字列 T} init_3string is3 i3 T{ 初期化文字列 T} init_file if if T{ 初期化ファイルの名前 T} init_prog iprog iP T{ 初期化プログラムのパス名 T} initialize_color initc Ic T{ 色 #1 を (#2,#3,#4) に初期化 T} initialize_pair initp Ip T{ 色ペア #1 を fg=(#2,#3,#4), bg=(#5,#6,#7) に初期化 T} insert_character ich1 ic T{ 文字の挿入 (P) T} insert_line il1 al T{ 行の挿入 (P*) T} insert_padding ip ip T{ 文字挿入の後にパディングを挿入 T} key_a1 ka1 K1 T{ キーパッドの左上キー T} key_a3 ka3 K3 T{ キーパッドの右上キー T} key_b2 kb2 K2 T{ キーパッドの中央キー T} key_backspace kbs kb T{ backspace キー T} key_beg kbeg @1 T{ begin キー T} key_btab kcbt kB T{ back-tab キー T} key_c1 kc1 K4 T{ キーパッドの左下キー T} key_c3 kc3 K5 T{ キーパッドの右下キー T} key_cancel kcan @2 T{ cancel キー T} key_catab ktbc ka T{ clear-all-tabs キー T} key_clear kclr kC T{ clear-screen キー、または erase キー T} key_close kclo @3 T{ close キー T} key_command kcmd @4 T{ command キー T} key_copy kcpy @5 T{ copy キー T} key_create kcrt @6 T{ create キー T} key_ctab kctab kt T{ clear-tab キー T} key_dc kdch1 kD T{ delete-character キー T} key_dl kdl1 kL T{ delete-line キー T} key_down kcud1 kd T{ down-arrow キー T} key_eic krmir kM T{ 挿入モードで rmir や smir が送出するデータ T} key_end kend @7 T{ end キー T} key_enter kent @8 T{ enter/send キー T} key_eol kel kE T{ clear-to-end-of-line キー T} key_eos ked kS T{ clear-to-end-of-screen キー T} key_exit kext @9 T{ exit キー T} key_f0 kf0 k0 T{ F0 ファンクションキー T} key_f1 kf1 k1 T{ F1 ファンクションキー T} key_f10 kf10 k; T{ F10 ファンクションキー T} key_f11 kf11 F1 T{ F11 ファンクションキー T} key_f12 kf12 F2 T{ F12 ファンクションキー T} key_f13 kf13 F3 T{ F13 ファンクションキー T} key_f14 kf14 F4 T{ F14 ファンクションキー T} key_f15 kf15 F5 T{ F15 ファンクションキー T} key_f16 kf16 F6 T{ F16 ファンクションキー T} key_f17 kf17 F7 T{ F17 ファンクションキー T} key_f18 kf18 F8 T{ F18 ファンクションキー T} key_f19 kf19 F9 T{ F19 ファンクションキー T} key_f2 kf2 k2 T{ F2 ファンクションキー T} key_f20 kf20 FA T{ F20 ファンクションキー T} key_f21 kf21 FB T{ F21 ファンクションキー T} key_f22 kf22 FC T{ F22 ファンクションキー T} key_f23 kf23 FD T{ F23 ファンクションキー T} key_f24 kf24 FE T{ F24 ファンクションキー T} key_f25 kf25 FF T{ F25 ファンクションキー T} key_f26 kf26 FG T{ F26 ファンクションキー T} key_f27 kf27 FH T{ F27 ファンクションキー T} key_f28 kf28 FI T{ F28 ファンクションキー T} key_f29 kf29 FJ T{ F29 ファンクションキー T} key_f3 kf3 k3 T{ F3 ファンクションキー T} key_f30 kf30 FK T{ F30 ファンクションキー T} key_f31 kf31 FL T{ F31 ファンクションキー T} key_f32 kf32 FM T{ F32 ファンクションキー T} key_f33 kf33 FN T{ F33 ファンクションキー T} key_f34 kf34 FO T{ F34 ファンクションキー T} key_f35 kf35 FP T{ F35 ファンクションキー T} key_f36 kf36 FQ T{ F36 ファンクションキー T} key_f37 kf37 FR T{ F37 ファンクションキー T} key_f38 kf38 FS T{ F38 ファンクションキー T} key_f39 kf39 FT T{ F39 ファンクションキー T} key_f4 kf4 k4 T{ F4 ファンクションキー T} key_f40 kf40 FU T{ F40 ファンクションキー T} key_f41 kf41 FV T{ F41 ファンクションキー T} key_f42 kf42 FW T{ F42 ファンクションキー T} key_f43 kf43 FX T{ F43 ファンクションキー T} key_f44 kf44 FY T{ F44 ファンクションキー T} key_f45 kf45 FZ T{ F45 ファンクションキー T} key_f46 kf46 Fa T{ F46 ファンクションキー T} key_f47 kf47 Fb T{ F47 ファンクションキー T} key_f48 kf48 Fc T{ F48 ファンクションキー T} key_f49 kf49 Fd T{ F49 ファンクションキー T} key_f5 kf5 k5 T{ F5 ファンクションキー T} key_f50 kf50 Fe T{ F50 ファンクションキー T} key_f51 kf51 Ff T{ F51 ファンクションキー T} key_f52 kf52 Fg T{ F52 ファンクションキー T} key_f53 kf53 Fh T{ F53 ファンクションキー T} key_f54 kf54 Fi T{ F54 ファンクションキー T} key_f55 kf55 Fj T{ F55 ファンクションキー T} key_f56 kf56 Fk T{ F56 ファンクションキー T} key_f57 kf57 Fl T{ F57 ファンクションキー T} key_f58 kf58 Fm T{ F58 ファンクションキー T} key_f59 kf59 Fn T{ F59 ファンクションキー T} key_f6 kf6 k6 T{ F6 ファンクションキー T} key_f60 kf60 Fo T{ F60 ファンクションキー T} key_f61 kf61 Fp T{ F61 ファンクションキー T} key_f62 kf62 Fq T{ F62 ファンクションキー T} key_f63 kf63 Fr T{ F63 ファンクションキー T} key_f7 kf7 k7 T{ F7 ファンクションキー T} key_f8 kf8 k8 T{ F8 ファンクションキー T} key_f9 kf9 k9 T{ F9 ファンクションキー T} key_find kfnd @0 T{ find キー T} key_help khlp %1 T{ help キー T} key_home khome kh T{ home キー T} key_ic kich1 kI T{ insert-character キー T} key_il kil1 kA T{ insert-line キー T} key_left kcub1 kl T{ left-arrow キー T} key_ll kll kH T{ lower-left キー (home down) T} key_mark kmrk %2 T{ mark キー T} key_message kmsg %3 T{ message キー T} key_move kmov %4 T{ move キー T} key_next knxt %5 T{ next キー T} key_npage knp kN T{ next-page キー T} key_open kopn %6 T{ open キー T} key_options kopt %7 T{ options キー T} key_ppage kpp kP T{ previous-page キー T} key_previous kprv %8 T{ previous キー T} key_print kprt %9 T{ print キー T} key_redo krdo %0 T{ redo キー T} key_reference kref &1 T{ reference キー T} key_refresh krfr &2 T{ refresh キー T} key_replace krpl &3 T{ replace キー T} key_restart krst &4 T{ restart キー T} key_resume kres &5 T{ resume キー T} key_right kcuf1 kr T{ right-arrow キー T} key_save ksav &6 T{ save キー T} key_sbeg kBEG &9 T{ シフト状態の begin キー T} key_scancel kCAN &0 T{ シフト状態の cancel キー T} key_scommand kCMD *1 T{ シフト状態の command キー T} key_scopy kCPY *2 T{ シフト状態の copy キー T} key_screate kCRT *3 T{ シフト状態の create キー T} key_sdc kDC *4 T{ シフト状態の delete-character キー T} key_sdl kDL *5 T{ シフト状態の delete-line キー T} key_select kslt *6 T{ select キー T} key_send kEND *7 T{ シフト状態の end キー T} key_seol kEOL *8 T{ シフト状態の clear-to-end-of-line キー T} key_sexit kEXT *9 T{ シフト状態の exit キー T} key_sf kind kF T{ scroll-forward キー T} key_sfind kFND *0 T{ シフト状態の find キー T} key_shelp kHLP #1 T{ シフト状態の help キー T} key_shome kHOM #2 T{ シフト状態の home キー T} key_sic kIC #3 T{ シフト状態の insert-character キー T} key_sleft kLFT #4 T{ シフト状態の left-arrow キー T} key_smessage kMSG %a T{ シフト状態の message キー T} key_smove kMOV %b T{ シフト状態の move キー T} key_snext kNXT %c T{ シフト状態の next キー T} key_soptions kOPT %d T{ シフト状態の options キー T} key_sprevious kPRV %e T{ シフト状態の previous キー T} key_sprint kPRT %f T{ シフト状態の print キー T} key_sr kri kR T{ scroll-backward キー T} key_sredo kRDO %g T{ シフト状態の redo キー T} key_sreplace kRPL %h T{ シフト状態の replace キー T} key_sright kRIT %i T{ シフト状態の right-arrow キー T} key_srsume kRES %j T{ シフト状態の resume キー T} key_ssave kSAV !1 T{ シフト状態の save キー T} key_ssuspend kSPD !2 T{ シフト状態の suspend キー T} key_stab khts kT T{ set-tab キー T} key_sundo kUND !3 T{ シフト状態の undo キー T} key_suspend kspd &7 T{ suspend キー T} key_undo kund &8 T{ undo キー T} key_up kcuu1 ku T{ up-arrow キー T} keypad_local rmkx ke T{ \&'keyboard_transmit' モードから抜ける T} keypad_xmit smkx ks T{ \&'keyboard_transmit' モードに入る T} lab_f0 lf0 l0 T{ f0 でない場合、ファンクションキー f0 のラベル T} lab_f1 lf1 l1 T{ f1 でない場合、ファンクションキー f1 のラベル T} lab_f10 lf10 la T{ f10 でない場合、ファンクションキー f10 のラベル T} lab_f2 lf2 l2 T{ f2 でない場合、ファンクションキー f2 のラベル T} lab_f3 lf3 l3 T{ f3 でない場合、ファンクションキー f3 のラベル T} lab_f4 lf4 l4 T{ f4 でない場合、ファンクションキー f4 のラベル T} lab_f5 lf5 l5 T{ f5 でない場合、ファンクションキー f5 のラベル T} lab_f6 lf6 l6 T{ f6 でない場合、ファンクションキー f6 のラベル T} lab_f7 lf7 l7 T{ f7 でない場合、ファンクションキー f7 のラベル T} lab_f8 lf8 l8 T{ f8 でない場合、ファンクションキー f8 のラベル T} lab_f9 lf9 l9 T{ f9 でない場合、ファンクションキー f9 のラベル T} label_format fln Lf T{ ラベルフォーマット T} label_off rmln LF T{ ソフトラベルオフ T} label_on smln LO T{ ソフトラベルオン T} meta_off rmm mo T{ メタモードオフ T} meta_on smm mm T{ メタモードオン (8 番目のビットオン) T} micro_column_address mhpa ZY T{ マイクロモードの column_address T} micro_down mcud1 ZZ T{ マイクロモードの cursor_down T} micro_left mcub1 Za T{ マイクロモードの cursor_left T} micro_right mcuf1 Zb T{ マイクロモードの cursor_right T} micro_row_address mvpa Zc T{ マイクロモードの row_address T} micro_up mcuu1 Zd T{ マイクロモードの cursor_up T} newline nel nw T{ 改行 (cr の後に lf が来る) T} order_of_pins porder Ze T{ ソフトウェアビットを印字ヘッドピンに一致させる T} orig_colors oc oc T{ すべての色ペアを本来のものにする T} orig_pair op op T{ デフォルトのペアを本来の値にする T} pad_char pad pc T{ パディング文字 (ヌル以外) T} parm_dch dch DC T{ #1 文字を削除 (P*) T} parm_delete_line dl DL T{ #1 行を削除 (P*) T} parm_down_cursor cud DO T{ #1 行下へ (P*) T} parm_down_micro mcud Zf T{ マイクロモードの parm_down_cursor T} parm_ich ich IC T{ #1 文字を挿入 (P*) T} parm_index indn SF T{ #1 行の前進スクロール (P) T} parm_insert_line il AL T{ #1 行を挿入 (P*) T} parm_left_cursor cub LE T{ 左へ #1 文字分移動 (P) T} parm_left_micro mcub Zg T{ マイクロモードの parm_left_cursor T} parm_right_cursor cuf RI T{ 右へ #1 文字分移動 (P*) T} parm_right_micro mcuf Zh T{ マイクロモードの parm_right_cursor T} parm_rindex rin SR T{ #1 行の後退スクロール (P) T} parm_up_cursor cuu UP T{ #1 行上へ (P*) T} parm_up_micro mcuu Zi T{ マイクロモードの parm_up_cursor T} pkey_key pfkey pk T{ ファンクションキー #1 の打鍵文字列を #2 にする T} pkey_local pfloc pl T{ ファンクションキー #1 の実行文字列を #2 にする T} pkey_xmit pfx px T{ ファンクションキー #1 の送信文字列を #2 にする T} plab_norm pln pn T{ ラベル #1 に文字列 #2 を表示 T} print_screen mc0 ps T{ 画面の内容を印字する T} prtr_non mc5p pO T{ #1 バイトだけプリンタをオンにする T} prtr_off mc4 pf T{ プリンタをオフにする T} prtr_on mc5 po T{ プリンタをオンにする T} pulse pulse PU T{ パルスダイアルを選択 T} quick_dial qdial QD T{ 確認なしで電話番号 #1 にダイアルする T} remove_clock rmclk RC T{ 時計を削除 T} repeat_char rep rp T{ 文字 #1 を #2 回繰り返す (P*) T} req_for_input rfi RF T{ (pty 用に) 次の入力文字を送る T} reset_1string rs1 r1 T{ リセット文字列 T} reset_2string rs2 r2 T{ リセット文字列 T} reset_3string rs3 r3 T{ リセット文字列 T} reset_file rf rf T{ リセットファイルの名前 T} restore_cursor rc rc T{ 最後の save_cursor の位置にカーソルを戻す T} row_address vpa cv T{ 垂直絶対位置 #1 (P) T} save_cursor sc sc T{ 現在のカーソル位置を保存 (P) T} scroll_forward ind sf T{ テキストを上にスクロール (P) T} scroll_reverse ri sr T{ テキストを下にスクロール (P) T} select_char_set scs Zj T{ 文字セットの選択 T} set_attributes sgr sa T{ ビデオ属性を #1-#9 に定義 (PG9) T} set_background setb Sb T{ 背景色を #1 に設定 T} set_bottom_margin smgb Zk T{ 下マージンを現在行に設定 T} set_bottom_margin_parm smgbp Zl T{ 下マージンを #1 行目か下から #2 行目にする T} set_clock sclk SC T{ 時計を #1 時 #2 分 #3 秒に設定 T} set_color_pair scp sp T{ 現在の色ペアを #1 に設定 T} set_foreground setf Sf T{ 前景色を #1 に設定 T} set_left_margin smgl ML T{ 左ソフトマージンを現在桁に設定 T} set_left_margin_parm smglp Zm T{ 左 (右) マージンを桁 #1 (#2) に設定 T} set_right_margin smgr MR T{ 右ソフトマージンを現在桁に設定 T} set_right_margin_parm smgrp Zn T{ 右マージンを桁 #1 に設定 T} set_tab hts st T{ 全行のタブを現在の桁に設定 T} set_top_margin smgt Zo T{ 上マージンを現在行に設定 T} set_top_margin_parm smgtp Zp T{ 上 (下) マージンを行 #1 (#2) に設定 T} set_window wind wi T{ 現在のウィンドウを行 #1-#2、桁 #3-#4 とする T} start_bit_image sbim Zq T{ ビットイメージグラフィック印字の開始 T} start_char_set_def scsd Zr T{ 文字セット定義の開始 T} stop_bit_image rbim Zs T{ ビットイメージグラフィック印字の終了 T} stop_char_set_def rcsd Zt T{ 文字セット定義の終了 T} subscript_characters subcs Zu T{ 下付き文字となりうる文字のリスト T} superscript_characters supcs Zv T{ 上付き文字となりうる文字のリスト T} tab ht ta T{ 次の 8 文字分のハードウェアタブストップへのタブ文字 T} these_cause_cr docr Zw T{ これらの文字のうちのいずれかの印字は CR を引き起こす T} to_status_line tsl ts T{ ステータス行に移動 T} tone tone TO T{ タッチトーンダイアルを選択 T} underline_char uc uc T{ 文字 1 つに下線を付け、次の文字に移動 T} up_half_line hu hu T{ 半行上へ T} user0 u0 u0 T{ ユーザ文字列 #0 T} user1 u1 u1 T{ ユーザ文字列 #1 T} user2 u2 u2 T{ ユーザ文字列 #2 T} user3 u3 u3 T{ ユーザ文字列 #3 T} user4 u4 u4 T{ ユーザ文字列 #4 T} user5 u5 u5 T{ ユーザ文字列 #5 T} user6 u6 u6 T{ ユーザ文字列 #6 T} user7 u7 u7 T{ ユーザ文字列 #7 T} user8 u8 u8 T{ ユーザ文字列 #8 T} user9 u9 u9 T{ ユーザ文字列 #9 T} wait_tone wait WA T{ ダイアルトーンを待つ T} xoff_character xoffc XF T{ XOFF 文字 T} xon_character xonc XN T{ XON 文字 T} zero_motion zerom Zx T{ 次の文字表示を移動無しで行う T} .TE .ad 以下の文字列ケーパビリティは、SVr4.0 の term 構造体に存在していますが、 マニュアルで未だに説明がなされていません。 .na .TS H center expand; c l l c c l l c lw25 lw6 lw2 lw18. \fBvariable cap- TCap 説明\fR \fB文字列 name Code\fR alt_scancode_esc scesa S8 T{ スキャンコードエミュレーションのための別のエスケープ文字 T} bit_image_carriage_return bicr Yv T{ 同一行の先頭へ移動 T} bit_image_newline binel Zz T{ ビットイメージの次の行に移動 T} bit_image_repeat birep Xy T{ ビットイメージセル #1 を #2 回繰り返す T} char_set_names csnm Zy T{ 文字セット名のリスト T} code_set_init csin ci T{ 複数コードセットの初期化シーケンス T} color_names colornm Yw T{ 色 #1 に名前を与える T} define_bit_image_region defbi Yx T{ 矩形のビットイメージ領域を定義 T} device_type devt dv T{ 言語/コードセットサポートの指定 T} display_pc_char dispc S1 T{ PC 文字を表示 T} end_bit_image_region endbi Yy T{ ビットイメージ領域の終了 T} enter_pc_charset_mode smpch S2 T{ PC 文字表示モード開始 T} enter_scancode_mode smsc S4 T{ PC スキャンコードモード開始 T} exit_pc_charset_mode rmpch S3 T{ PC 文字表示モード終了 T} exit_scancode_mode rmsc S5 T{ PC スキャンコードモード終了 T} get_mouse getm Gm T{ curses がボタンイベントを取得すべき T} key_mouse kmous Km T{ マウスイベントが起きた T} mouse_info minfo Mi T{ マウス状態の情報 T} pc_term_options pctrm S6 T{ PC 端末オプション T} pkey_plab pfxl xl T{ ファンクションキー #1 に文字列 #2 を送信させ文字列 #3 を表示させる T} req_mouse_pos reqmp RQ T{ マウス位置の要求 T} scancode_escape scesc S7 T{ スキャンコードエミュレーションのためのエスケープ T} set0_des_seq s0ds s0 T{ コードセット 0 にシフト (EUC セット 0、ASCII) T} set1_des_seq s1ds s1 T{ コードセット 1 にシフト T} set2_des_seq s2ds s2 T{ コードセット 2 にシフト T} set3_des_seq s3ds s3 T{ コードセット 3 にシフト T} set_a_background setab AB T{ ANSI エスケープシーケンスを使って背景色を設定 T} set_a_foreground setaf AF T{ ANSI エスケープシーケンスを使って前景色を設定 T} set_color_band setcolor Yz T{ リボンの色を #1 に変更 T} set_lr_margin smglr ML T{ 左右両マージンを #1、#2 に設定 T} set_page_length slines YZ T{ ページ長を #1 行に設定 T} set_tb_margin smgtb MT T{ 上下両マージンを #1、#2 に設定 T} .TE .ad .in .8i XSI Curses 規格では以下のものが追加されています。 それらは、例えば、 Solaris 2.5 や IRIX 6.x など、4.1 以降のバージョンの System V の、 curses のものです。 それらの \fBncurses\fR termcap 名はでっちあげました。XSI Curses 規格に従うと、 termcap 名はありません。コンパイルされた terminfo エントリがこれらを 使っていれば、SVr4.1 以降の System V terminfo エントリとは バイナリ互換ではないかも知れません。用心してください! .na .TS H center expand; c l l c c l l c lw25 lw6 lw2 lw20. \fBvariable cap- TCap 説明\fR \fB文字列 name Code\fR enter_horizontal_hl_mode ehhlm Xh T{ 水平ハイライトモードに入る T} enter_left_hl_mode elhlm Xl T{ 左ハイライトモードに入る T} enter_low_hl_mode elohlm Xo T{ 下ハイライトモードに入る T} enter_right_hl_mode erhlm Xr T{ 右ハイライトモードに入る T} enter_top_hl_mode ethlm Xt T{ 上ハイライトモードに入る T} enter_vertical_hl_mode evhlm Xv T{ 垂直ハイライトモードに入る T} set_a_attributes sgr1 sA T{ ビデオ属性の 2 番目の組を #1-#6 と定義 T} set_pglen_inch slength sL T{ ページ長を 100分の #1 インチに設定 T} .TE .ad .\" %Id: terminfo.tail,v 1.32 2000/04/15 20:04:58 tom Exp % .\" Beginning of terminfo.tail file .ps +1 .PP .SS エントリの例 .PP 以下のエントリは、ANSI 規格端末を記述したものですが、現代的な端末の \fBterminfo\fR エントリが典型的にはどのようであるかを表しています。 .PP .nf .in -2 .ta .3i .ft CW \s-2ansi|ansi/pc-term compatible with color, mc5i, colors#8, ncv#3, pairs#64, cub=\\E[%p1%dD, cud=\\E[%p1%dB, cuf=\\E[%p1%dC, cuu=\\E[%p1%dA, dch=\\E[%p1%dP, dl=\\E[%p1%dM, ech=\\E[%p1%dX, el1=\\E[1K, hpa=\\E[%p1%dG, ht=\\E[I, ich=\\E[%p1%d@, il=\\E[%p1%dL, indn=\\E[%p1%dS, .indn=\\E[%p1%dT, kbs=^H, kcbt=\\E[Z, kcub1=\\E[D, kcud1=\\E[B, kcuf1=\\E[C, kcuu1=\\E[A, kf1=\\E[M, kf10=\\E[V, kf11=\\E[W, kf12=\\E[X, kf2=\\E[N, kf3=\\E[O, kf4=\\E[P, kf5=\\E[Q, kf6=\\E[R, kf7=\\E[S, kf8=\\E[T, kf9=\\E[U, kich1=\\E[L, mc4=\\E[4i, mc5=\\E[5i, nel=\\r\\E[S, op=\\E[37;40m, rep=%p1%c\\E[%p2%{1}%-%db, rin=\\E[%p1%dT, s0ds=\\E(B, s1ds=\\E)B, s2ds=\\E*B, s3ds=\\E+B, setab=\\E[4%p1%dm, setaf=\\E[3%p1%dm, setb=\\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, setf=\\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m, sgr=\\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7%t;8%;%?%p8%t;11%;%?%p9%t;12%;m, sgr0=\\E[0;10m, tbc=\\E[2g, u6=\\E[%d;%dR, u7=\\E[6n, u8=\\E[?%[;0123456789]c, u9=\\E[c, vpa=\\E[%p1%dd,\s+2 .in +2 .fi .ft R .PP 2 行目以後の行先頭に空白類文字を置くことで、エントリを複数行に分けて継続 して書くことができます。 行先頭に ``#'' を置くことでコメントを含めることができます。 .I terminfo のケーパビリティには、3 つの型があります。 ブール値ケーパビリティは、その端末がある特性を有しているかどうかを表します。 数値ケーパビリティは、その端末の大きさや、遅延の大きさを指定します。 文字列ケーパビリティは、端末のある機能を実行させる際に用いるシーケンスを 指定します。 .PP .SS ケーパビリティの型 .PP すべてのケーパビリティには名前があります。例えば、ANSI標準端末が .I "自動マージン" (つまり、行の端に到達すれば自動的に復帰改行がなされること) を有することは ケーパビリティ \fBam\fR で表されます。 よって ansi の記述は \fBam\fR を含みます。 数値ケーパビリティの後には文字 `#' が続き、そして正の値が続きます。 \fBcols\fR は、その端末の桁数を表しており、ansi では、 この値は `80' であることを示します。 数値ケーパビリティの値は、プログラミング言語 C の規約を使って 10 進数、 8 進数、16 進数で与えることができます (例えば、255、0377、0xff、0xFF)。 .PP 最後に、文字列ケーパビリティは、\fBel\fR (行末まで消去するシーケンス) などの ように、2 文字のコードと、`=' と、その先の `,' までの間の文字列とで 表されます。 .PP 文字列ケーパビリティの中で、文字のエンコードを簡単にするために、いくつ かのエスケープシーケンスが利用できます。\fB\eE\fR と \fB\ee\fR はともに、 \s-1ESCAPE\s0 文字にマップされます。 \fB^x\fR は任意の適切な x に関して control-x にマップされます。 \fB\en \el \er \et \eb \ef \es\fR はそれぞれ、改行、ラインフィード、復帰、 タブ、バックスペース、フォームフィード、空白にマップされます。 その他に、\fB\e^\fR は \fB^\fR に、\fB\e\e\fR は \fB\e\fR に、 \fB\e\fR, はコンマに、 \fB\e:\fR は \fB:\fR に、\fB\e0\fR はナル文字にマップされます。 (\fB\e0\fR は \e200 を生成します。これは文字列を終端しませんが、 ほとんどの端末では CS7 が指定されているので、ナル文字と同様の挙動を 示すからです。stty(1) を参照してください) 最後に、\fB\e\fR の後に 8 進 3 桁の数を指定して文字を表すこともできます。 .PP ミリ秒単位の遅延は、\fBel\fP=\eEK$<5> のように、文字列ケーパビリティの どの場所でも $<..> のブラケットで囲んで置くことができます。 この遅延を与えるためのパディングは、関数 .I tputs が行います。遅延は 1/10 の精度の数である必要があります。接尾辞 `*'、'/' またはその両方がついているかもしれません。`*' はパディングをその処理で 影響を受ける行の行数に比例させる必要があること、そしてその総計は 影響を受ける 1 単位あたりの必要パディングにより決まることを表します。 (文字挿入の場合、乗数は影響を受ける .IR 行 の数です。) 通常、デバイスに \fBxon\fR ケーパビリティがあれば、パディングは 勧告的なものです。コスト計算には使われますが遅延を引き起こしません。 `/' 接尾辞はパディングが必須のものであることを示し、フロー制御を示す \fBxon\fR があるデバイスに対しても指定されたミリ秒単位の遅延を強制します。 .PP あるケーパビリティをコメントアウトせねばならない場合があります。 そういう場合は、ケーパビリティ名の前にピリオドを置いてください。 上の例の 2 番目の .B ind がその例です。 .br .ne 5 .PP .SS コンパイルされた記述の読み込み .PP 環境変数 TERMINFO が設定されていれば、それは作業中の記述を コンパイルしたものを含むディレクトリのパス名と解釈されます。 そのディレクトリだけを探します。 .PP TERMINFO が設定されていなければ、\fBncurses\fR 版の terminfo 読み込みコードは その代わりにディレクトリ \fB$HOME/.terminfo\fR からコンパイルされた記述を 探します。 そこで見つけるのに失敗し、環境変数 TERMINFO_DIRS が設定されていれば、 変数の内容をコロンで区切られた探すべきディレクトリのリストと解釈します (空のエントリは \fI\*d\fR を探すコマンドとして解釈されます)。 TERMINFO_DIRS ディレクトリのいずれにも記述が見つからなければ、読み込みは 失敗します。 .PP TERMINFO も TERMINFO_DIRS も設定されていなければ、最後に試みられる場所は システムの terminfo ディレクトリ \fI\*d\fR です。 .PP (\fB$HOME/.terminfo\fR 探索も TERMINFO_DIRS 拡張も 標準の System V terminfo/curses ではサポートされていません。) .PP .SS 端末記述の準備 .PP ここでは、どのようにして端末の記述を準備するかの概略を説明します。もっと も効率的なやり方は、 .I terminfo の中にある類似の端末の記述をまねて作成することです。 .I vi などのスクリーンエディタに書き掛けの記述を使わせてみて、その記述が 正しいかどうかをチェックしながら、記述を徐々に作り上げてゆくことです。 通常のものとあまりにもかけ離れた端末の場合、 .I terminfo ファイルの記述能力の欠陥、もしくはテストプログラムの画面操作のコードの バグが明らかになるかも知れないので、それには注意してください。 .PP (端末メーカが文書に書いてくれていない場合に) 行の右挿入の際のパディングを 得るには、大きなファイルを 9600 ボーで編集し、画面の中ほどで 16 行程度を 削除してから、 `u' キーを数度すばやく連打するという厳しいテストを行 うとよいでしょう。 端末がぐちゃぐちゃになるのなら、普通は、もう少しパディングが必要だと いうことです。文字挿入についても似たようなテストを行うことができます。 .PP .SS 基本的なケーパビリティ .PP 端末の各行の桁数は数値型ケーパビリティ \fBcols\fR で指定します。 端末が \s-1CRT\s0 の場合、画面の行数はケーパビリティ \fBlines\fR で 指定します。 カーソルが右マージンに達したときに次の行の左端に回り込む場合、 ケーパビリティ \fBam\fR を指定する必要があります。 端末が、画面消去後カーソルをホームポジションにもってゆくことができる場合、 その機能は文字列ケーパビリティ \fBclear\fR で指定します。 端末が (ある文字を上に出力した時にその場所を消去するのではなく) 重ね打ちする場合、ケーパビリティ \fBos\fR を指定する必要があります。 印字端末で、ソフトコピー装置を持たない場合、 .B hc と .BR os とを指定します。 .RB ( os は、ハードコピー端末や、APL 端末だけでなく、\s-1TEKTRONIX\s+1 4010 シリーズのようなストレージスコープ管端末にも適用されます。) 現在の行の左端にカーソルを移動させるコードが存在する場合、それを .BR cr で指定します。 (通常、これは復帰文字、つまり control M になります。) 可聴シグナル (ベル、ビープ音など) を生成するコードがある場合、それを .BR bel で指定します。 .PP カーソルを (バックスペースのように) 1 ポジションだけ左へ移動させる コードがある場合、それは .BR cub1 で指定します。 同様に、右への移動、上への移動、下への移動はそれぞれ、 .BR cuf1 , .BR cuu1 , .BR cud1 で指定します。 これらの局所的カーソル移動機能は、通過する場所のテキストを変更するもので あってはなりません。たとえば、空白文字はその下のテキストを消去してしまう ため、普通は `\fBcuf1\fP=\ ' とは指定しません。 .PP ここで極めて重要なこととして、 .I terminfo にエンコードされた局所的カーソル移動は、\s-1CRT\s0 端末の左端および 上端では定義されないということです。 プログラムは、 .B bw の指定がない限り、左端でバックスペースを出力しようとしてはいけません。 また、画面上端で、上に移動しようとしてはいけません。 テキストを上にスクロールするためには、プログラムは画面左下隅にカーソルを 移動させて、 .B ind (index) 文字列を送出してください。 .PP テキストを下にスクロールするには、プログラムは画面左上隅にカーソルを 移動させて、 .B ri (reverse index) 文字列を送出してください。 文字列 .B ind と .B ri の挙動は、それぞれ先に述べた画面隅にカーソルがない場合には 定義されていません。 .PP スクロールシーケンスのパラメータ付きバージョンは、 .B indn と .B rin で、これらは、スクロールする行数を指定するパラメータを 1 つ取ることを除いては .B ind や .B ri と、同じ挙動を示します。 これらも、カーソルが適切な画面端に存在しない場合の挙動は定義されません。 .PP ケーパビリティ \fBam\fR は、右端でテキストが出力されてもカーソルが 右端に留まり続けるかどうかを示します。ただし、この挙動は最終桁での .B cuf1 の挙動には必ずしも適用されません。 左端からの局所的移動で定義されたものは、 .B bw が指定されている場合に、左端からの .B cub1 が 1 つ前の行の右端に移動するということだけです。 .B bw が指定されていない場合、この効果は定義されません。 これは、例えば、画面の端に沿って箱を描くときに便利なものです。 端末が自動マージン機能を切り替え可能な場合、 .I terminfo ファイルでは、通常はその機能はオン状態、つまり \fBam\fR であると想定します。 端末が次の行の先頭桁に移動するコマンドを持つ場合、そのコマンドを .B nel (newline) で指定することができます。 このコマンドが、現在行の残りの部分を消去するかどうかは関係ありません。 ですから、端末が、 .B cr や .B lf を持たない場合でも、動作する .B nel を作ることは可能でしょう。 .PP これまで紹介したケーパビリティで、ハードコピー端末や、\*(lqガラスの tty\*(rq 端末を記述するには十分です。 ここで、model 33 teletype は、 .PP .DT .nf .ft CW .in -7 \s-133\||\|tty33\||\|tty\||\|model 33 teletype, bel=^G, cols#72, cr=^M, cud1=^J, hc, ind=^J, os,\s+1 .in +7 .ft R .PP と記述されます。一方、Lear Siegler 社の \s-1ADM\-3\s0 は、 .PP .DT .nf .ft CW .in -7 \s-1adm3\||\|3\||\|lsi adm3, am, bel=^G, clear=^Z, cols#80, cr=^M, cub1=^H, cud1=^J, ind=^J, lines#24,\s+1 .in +7 .ft R .fi .PP と記述されます。 .PP .SS パラメータ化された文字列 .PP カーソル位置設定など、パラメータを必要とする文字列は、 .IR printf (3S) 風のエスケープ \fB%x\fR を含むパラメータ化文字列ケーパビリティを用いて 記述します。 例えば、カーソル位置を指定する .B cup ケーパビリティは、移動先の行と桁を指定する 2 つのパラメータを与える必要が あります。 (行と桁は 0 から数え、ユーザに見える物理画面を参照します。目に見えない メモリ部分は参照しません。) 端末がメモリ相対のカーソル位置指定機能を持つ場合、これは .BR mrcup で表します。 .PP パラメータ渡し機構では、スタックと、それを操作する特別の \fB%\fP コードを 用います。通常は、シーケンスはパラメータを 1 つスタックにプッシュし、 それをある形式で出力します。 もっと複雑な操作が必要なこともしばしばあります。 .PP \fB%\fR コードには以下の意味があります。 .PP .DT .nf .ta .5i 1.5i \s-1%% `%' を出力する %\fI[[\fP:\fI]flags][width[.precision]][\fPdoxXs\fI]\fP \fBprintf\fP でのように、フラグは [-+#] とスペース %c printf() の %c のように、pop() を表示する %s printf() の %s のように、pop() を表示する %p[1-9] \fIi\fP 番目のパラメータをプッシュする %P[a-z] pop() を動的変数 [a-z] に設定する %g[a-z] 動的変数 [a-z] をプッシュする %P[A-Z] pop() を静的変数 [a-z] に設定する %g[A-Z] 静的変数 [a-z] をプッシュする %'\fIc\fP' 文字定数 \fIc\fP %{\fInn\fP} 整数定数 \fInn\fP %l strlen(pop) をプッシュする %+ %- %* %/ %m 算術演算 (%m は剰余): push(pop() op pop()) %& %| %^ ビット演算: push(pop() op pop()) %= %> %< 論理演算: push(pop() op pop()) %A, %O 論理 and 操作と論理 or 操作 (条件節用) %! %~ 単項演算 push(op pop()) %i 最初の 2 パラメータに 1 を足す (ANSI 端末用) %? expr %t thenpart %e elsepart %; if-then-else, %e elsepart はオプション。 else-if は Algol 68 風に指定可能: %? c\d1\u %t b\d1\u %e c\d2\u %t b\d2\u %e c\d3\u %t b\d3\u %e c\d4\u %t b\d4\u %e %; \s+1 c\di\u は条件節、b\di\u は本体。 .fi .PP 二項演算は、通常の順序で並べたオペランドに対して後置形式で指定します。 例えば、x-5 を得るには、"%gx%{5}%-" を指定します。エスケープされた文字列を 評価する間 %P 変数と %g 変数は存続します。 .PP HP2645 の例を考えてみましょう。これで 3 行 12 桁に移動させるには、 \eE&a12c03Y に 6 ミリ秒のパディングを送出する必要があります。ここで行と 桁とが逆になっていること、行、桁とも 2 桁で出力されていることに注意して ください。 この端末の \fBcup\fR ケーパビリティは、\*(lqcup=6\eE&%p2%2dc%p1%2dY\*(rq となります。 .PP Microterm \s-1ACT-IV\s0 は、\fB^T\fR の後に現在の行と桁を、 どちらも単にバイナリ値で送る必要がありますが、 \*(lqcup=^T%p1%c%p2%c\*(rq となります。 \*(lq%c\*(rq を使う端末は、カーソルを前方に戻すこと (\fBcub1\fR) と 画面上で 1 行上にカーソルを移動させること (\fBcuu1\fR) ができる必要があります。 これは、システムが変更したり握りつぶしたりする可能性があるため、 \fB\en\fR, \fB^D\fR, \fB\er\fR を確実に送信できるとは限らないからです。 (terminfo を扱うライブラリルーチンは、タブが決して展開されないように 端末モードを設定します。ですから \et は確実に送信できます。 これは Ann Arbor 4080 では重要なことが分っています。) .PP 最後の例は \s-1LSI ADM\s0-3a です。これは行と桁を空白文字からのオフセットで 表します。ですから、\*(lqcup=\eE=%p1%' '%+%c%p2%' '%+%c\*(rq となります。 `\eE=' を送出した後、最初のパラメータをプッシュし、空白文字の ASCII 値 (32) を をプッシュし、それらを加えて (以前の 2 つの値の代わりにその和をスタックに プッシュし) 得た値を文字として出力します。 その後、2 番目のパラメータについても同様の処理を行います。 スタックを使うことで、さらに複雑な計算も可能です。 .PP .SS カーソル移動 .PP カーソルを高速にホームポジション (画面の左上隅) に移動させる方法を持つ 端末の場合、これを \fBhome\fR で指定することができます。同様に、高速に 左下隅に移動させる方法を持つ場合も \fBll\fR で指定することができます。 端末によっては、ホームポジションから \fBcuu1\fR を使って上に移動する ことでこの動作が可能な場合もありますが、 プログラムは (\fBll\fRでそう指定しない限り) 自分からそうしては ならないことになっています。これは、ホームポジションから上に移動した 場合の動作について、プログラムは一切想定できないからです。 ホームポジションは位置指定 (0,0)、つまり、メモリではなく、画面の左上隅と 等しいことに注意してください。 (ですから、HP 端末の \eEH のシーケンスは .BR home として使用できません。) .PP 端末が行や桁の絶対カーソル位置指定機能を持つ場合、単一パラメータを取る ケーパビリティ .B hpa (水平絶対位置) と .B vpa (垂直絶対位置) で指定します。 (hp2645 のような) 一般的な 2 パラメータのシーケンスよりもこれらの方が 短くなる場合がときどきあり、その場合、 .BR cup よりもそれらを使う可能性があります。 パラメータ化された局所移動機能 (例えば、 .I n 桁右へ移動する) が存在する場合、これらは、いくつ移動するかを指定する パラメータを 1 つ持つ .BR cud , .BR cub , .BR cuf , .BR cuu を使って指定することができます。 これらは主に、\s-1TEKTRONIX\s+1 4025 のように端末が .BR cup を持たない場合に有益です。 .PP これらのケーパビリティを使用するプログラムを実行する際に、端末を 特殊なモードにする必要がある場合、このモードに入るコードと出るコードをそれぞれ \fBsmcup\fR と \fBrmcup\fR で指定することができます。 こういう事態が生じる場合として、例えば Concept のように、複数ページの メモリを持つ端末があります。 画面相対指定を持たず、メモリ相対のカーソル位置指定機能しか持たない この端末の場合、画面の大きさのウィンドウ 1 枚を端末に固定で割り付け、 カーソル位置指定を適切にできるようにしなければなりません。 このケーパビリティは \s-1TEKTRONIX\s+1 4025 でも使用されています。 こちらでは、 .B smcup で、terminfo で使用するコマンド文字を設定しています。 \fBrmcup\fP シーケンス が出力された後に、\fBsmcup\fP シーケンスが画面を (\fBrmcup\fP を出力する前の状態に) 回復しないならば、\fBnrrmc\fP を 指定してください。 .PP .SS 領域消去 .PP 端末がカーソルを動かさずに、現在位置から行の末端まで消去可能である場合、 これを \fBel\fR で指定すべきです。 端末がカーソルを動かさずに、行の先頭から現在位置を含めて現在位置まで 消去可能である場合、これを \fBel1\fP で指定すべきです。 端末が現在位置から画面の終りまでを消去可能な場合、これを \fBed\fR で 指定すべきです。 \fBed\fR は行の第 1 桁から行う場合のみ定義されます。 (ですから、まともな .B ed が利用できない場合でも、大量の行削除リクエストを使ってシミュレート可能です。) .PP .SS 行の挿入/削除と垂直移動 .PP カーソルのある行の前に空白行を新規につくることができる端末の場合、 これを \fBil1\fR で指定すべきです。これは、行の先頭位置でのみ行われます。 作成後、カーソルは新しくできた空白行に置かれる必要があります。 端末がカーソルのある行を削除できる場合、これを \fBdl1\fR で指定すべきです。 この機能は削除される行の先頭でのみ行われます。 .B il1 と .B dl1 の変種で、挿入/削除する行数を表すパラメータを 1 つ取るものは、 .B il と .BR dl とで指定できます。 .PP (vt100 のように) スクロール領域を設定可能な端末の場合、 領域設定コマンドを .B csr ケーパビリティを用いて指定可能です。このケーパビリティは 2 つのパラメータ、 スクロール領域の先頭行と最終行、を取ります。 困ったことに、このコマンド実行後のカーソル位置は定義されません。 .PP 適切な領域に .B csr を用いることで行の挿入/削除の効果を得ることが可能です。 .B sc と .B rc (カーソルの保存と回復) コマンドは、合成した挿入/削除文字列がカーソルを 動かさないことを保証するには有用でしょう。 (\fBncurses\fR(3X) ライブラリは自動的にこの合成を行うので、 \fBcsr\fR で挿入/削除文字列をエントリ用につくる必要はないことに 注意してください。) .PP 挿入と削除を構成するもう 1 つの方法は、(HP-700/90 シリーズには挿入/削除は ありますが、このシリーズのような) いくつかの端末にあるメモリロック機能と index を組み合わせて使うことです。 .PP まともな行挿入/削除コマンドを持たない端末で、画面の最上端もしくは 最下端で行を挿入する場合、 .B ri もしくは .B ind を使って行うこともできます。まともな行挿入/削除コマンドを持つ場合でも、 これらを使う方が速い場合が多いです。 .PP スクロールする各ウィンドウが実質的に画面大のキャンバス上のビューポートで あるなら、ブール値 \fBnon_dest_scroll_region\fR を設定すべきです。この ケーパビリティをテストするためには、画面の中央にスクロール領域をつくり、 最下行に何かを書き、領域の一番上にカーソルを動かし、\fBri\fR を行った後 \fBdl1\fR か \fBind\fR を行ってください。 \fBri\fR で領域の下へとスクロールして消えたデータが、 再び現れるなら、スクロールは非破壊的です。System V Curses と XSI Curses は \fBind\fR, \fBri\fR, \fBindn\fR, \fBrin\fR が破壊的スクロールを シミュレーションすることを期待します。 これが本当でない限り \fBcsr\fR を定義しないようにと文書には注意書きがあります。 この \fBcurses\fR の実装はより寛大で、\fBndstr\fR が定義されていれば スクロールの後に明示的に消去を行います。 .PP メモリの一部に、すべてのコマンドが影響するウィンドウを定義することが できる端末の場合、それは、パラメータ化文字列 .BR wind で指定すべきです。 メモリ中での開始行、終了行、開始桁、終了桁を表す 4 パラメータは、 この順番で与えます。 .PP 上側の表示メモリを保持できる端末の場合、\fBda\fR ケーパビリティを 指定すべきです。下側の表示メモリを保持できる場合、\fBdb\fR を指定すべきです。 これらは、行削除やスクロールにより、画面最下端に非空白行が上がってくること、 および、\fBri\fR による逆スクロールにより非空白行が下がってくることを表します。 .PP .SS 文字の挿入/削除 .PP .I terminfo で記述可能な文字の挿入/削除に関して、基本的には 2 種類の インテリジェント端末があります。 もっとも標準的な文字挿入/削除機能は、現在行の文字のみが影響を受け、 シフトした文字は一体となって移動し行端で消えて行くものです。 その他の端末、例えば Concept 100 や Perkin Elmer Owl のようなものの場合、 表示出力された空白とそうでない空白との間に区別があります。挿入/削除に ともなうシフトは画面上の表示出力されていない空白に対してのみ適用され、 それぞれ空白の消滅、もしくは表示出力されていない空白 2 つになります。自分が 持っている端末がどちらのタイプかを調べるには、画面を消去してから、カーソル 移動を用いてテキストを 2 箇所に分けて出力します。\*(lqabc\*(rq と \*(lqdef\*(rq の間に (空白文字でなく) 局所的カーソル移動を用いて \*(lqabc\ \ \ \ def\*(rq を出力してください。 その後、カーソルを \*(lqabc\*(rq の前に移動させ、端末を挿入モードにします。 文字を打ち込むと、行の残りが一体となってシフトして行の端で文字がこぼれ おちてゆくならば、この端末は表示出力された空白とそうでない空白を区別しません。 \*(lqabc\*(rq がシフトして \*(lqdef\*(rq に当りその後はそれらが一緒に 行の端まで進み、次の行まで進むならば、この端末は 2 番目のタイプのもので \*(lqinsert null\*(rq を表すケーパビリティ \fBin\fR を指定すべきです。 論理的には、これらは別の属性 (挿入モードが 1 行か複数行か、および、 表示出力されていない空白を特別扱いするか否か) ですが、挿入モードを この属性 1 つで記述できない端末に、今までお目にかかったことはありません。 .PP terminfo では、挿入モードを持つ端末も、現在行の上で場所を空ける短い シーケンスを送る端末も、両方とも記述することができます。 挿入モードに入るシーケンスは \fBsmir\fR で指定してください。 挿入モードから出るシーケンスは \fBrmir\fR で指定してください。 挿入したい文字の直前に、あるシーケンスを送出する必要がある場合は \fBich1\fR で指定してください。まともな挿入モードを持つ端末のほとんどでは、 \fBich1\fR を指定することはないでしょう。一方、画面上で場所を空ける シーケンスを送る端末の場合は、\fBich1\fR を指定すべきです。 .PP 両方持つ端末の場合、通常は \fBich1\fR よりも挿入モードの方が望ましいでしょう。 技術的には、実際に両方を組み合わせて使用する必要がある場合以外は、両方同時に 指定すべきではありません。よって、両方あると curses を使わない アプリケーションの中には混乱するものがあります。その兆候は、挿入を使った 更新の時に文字が二重になることです。この要求は現在では稀です。ほとんどの \fBich\fR シーケンスはその前に smir を必要とはせず、 ほとんどの smir 挿入モードは各文字の前に \fBich1\fR を必要とはしません。 よって、新しい \fBcurses\fR は実際にこれが真実だと仮定し、 \fBrmir\fR/\fBsmir\fR か \fBich\fR/\fBich1\fR のどちらか一方 (両方では ありません) を適切なものとみなして利用します。もし、両方を必要とするほど 古い端末のエントリを、新しい curses で使うために書く必要があるなら、 \fBich1\fR に \fBrmir\fR/\fBsmir\fR シーケンスを含めてください。 .PP 挿入後のパディングが必要な場合、\fBip\fR (文字列オプション) に必要なミリ秒の 数を指定してください。その他のシーケンスで文字 1 文字を挿入後に送出する 必要のあるものを、いっしょに \fBip\fR で指定することもできます。 「挿入モード」に入り、かつ挿入する文字ごとにあるコードを付けて 送出する必要のある端末の場合、 .BR smir / rmir と .B ich1 とを両方とも指定してください。そうすることで、それらが使われるようになります。 .B ich ケーパビリティはパラメータ .IR n 1 つをとり、これは .B ich1 の動作を .I n 回繰り返します。 .PP 挿入モードでないとき、文字入力の間にパディングが必要なら、\fBrmp\fP に ミリ秒のパディングの数を指定してください。 .PP 挿入モードの途中で同じ行の文字を削除するために、カーソルを動かす必要がある 場合があります (例えば、挿入位置の後にタブがある場合)。挿入モードに 入ったままでカーソルを移動させることができる場合、このような場合の挿入を 高速に行うために、ケーパビリティ \fBmir\fR を指定することができます。 \fBmir\fR を省略しても、影響を受けるのは速度のみです。端末によっては (有名な Datamedia のアレとか) 挿入モードの動作方法の違いにより \fBmir\fR を 指定してはいけないものがあります。 .PP 最後に、文字 1 文字の削除用として .B dch1 を、 .I n 文字 削除用としてパラメータ .IR n 1 つをとる .B dch を、そして \fBsmdc\fR と \fBrmdc\fR をそれぞれ削除モードに入る シーケンスとそこから出るシーケンスとして与えることで 削除モード ( .B dch1 が動作するために、端末が入っていなければならないモード) を指定することが できます。 .PP .I n 文字を削除する (カーソルを移動させずに空白を .I n 個出力することと同等の処理) ためのコマンドは、パラメータを 1 つとる .B ech を使って指定することができます。 .PP .SS "ハイライト・下線・可視ベル" .PP 端末が 1 つまたはそれ以上の表示属性を持つ場合、これらを表す方法として異なった やり方がいくつかあります。 エラーメッセージや他の種類の注意を引くメッセージに適した、十分コントラストが 高く目立つ形式から 1 つ、\f2強調モード\fR を選択すべきです。 (選ぶなら、反転表示に半輝度を加えたもの、もしくは単に反転のみがよいでしょう。) 強調モードに入るシーケンス、出るシーケンスはそれぞれ \fBsmso\fR と \fBrmso\fR で指定します。 TVI 912 や Teleray 1061 のように、強調モードへの出入りにより画面に空白が 1 つ 2 つ残る場合、\fBxmc\fR を指定して空白がいくつ残るかを教えるべきです。 .PP 下線引きを開始するコード、終了するコードは、それぞれ \fBsmul\fR と \fBrmul\fR で指定します。 Microterm Mime のように、現在位置の文字に下線を引き、空白 1 つ分 カーソルを右に移動するコードを持つ端末の場合、そのコードを \fBuc\fR で 指定することができます。 .PP その他もろもろの強調モードに入るケーパビリティには、 .B blink (点滅) .B bold (太字もしくは更に明るい) .B dim (暗いもしくは半輝度) .B invis (空白もしくは見えないテキスト) .B prot (保護状態) .B rev (反転表示) .B sgr0 ( .I すべての 属性モードをオフにする) .B smacs (別の文字セットモードに入る) and .B rmacs (別の文字セットモードから出る) が含まれます。 これらのモードのどれか 1 つをオンにした場合に、他のモードがオフになる場合も ありますし、ならない場合もあります。 .PP モードの任意の組み合わせを設定するシーケンスが存在する場合、それを 9 つのパラメータを持つ .B sgr (属性の設定) で指定します。 パラメータのそれぞれは、0 か非 0 の値を取り、対応する属性がオンかオフかを 表します。 9 つのパラメータとは、順に、強調、下線、反転表示、点滅、暗い表示、太字、 空白、保護、別の文字セットです。 必ずしもすべてのモードが .BR sgr によってサポートされている必要はありません。 独立した属性コマンドが存在するものだけで構いません。 .PP 例えば、DEC vt220 は以下のモードのほとんどをサポートします。 .PP .TS center; l c c l c c lw28 lw6 lw2 lw20. \fBtparm パラメータ 属性 エスケープシーエンス\fP none なし \\E[0m p1 強調 \\E[0;1;7m p2 下線 \\E[0;4m p3 反転表示 \\E[0;7m p4 点滅 \\E[0;5m p5 暗い表示 利用できません p6 太字 \\E[0;1m p7 不可視 \\E[0;8m p8 保護 使われていません p9 別の文字セット ^O (オフ) ^N (オン) .TE .PP 各モードが動作中かどうかを素早く決める方法がないので、 エスケープシーケンスを動作中のモードをすべてオフにするもので始めます。 強調は反転と太字の組合せでできています。 保護モードはホストの消去から画面の文字を保護するので、sgr では普通は 使われませんが、vt220 端末には保護モードがあります。 別の文字セットモードは、オフかオンかによって ^O または ^N であるという点で 異なります。 全モードをオンにするシーケンスは \\E[0;1;4;5;7;8m^N です。 .PP いくつかのシーケンスは異なるモードに共通です。 例えば、;7 は、p1 か p3 が真であるとき、すなわち強調か反転モードがオンのときに 出力されます。 .PP 上のシーケンスを依存関係とあわせて余すところなく書くと次のようになります。 .PP .TS center; l c c l c c lw28 lw6 lw2 lw20. \fBシーケンス 出力される場合 terminfo への翻訳\fP \\E[0 常に \\E[0 ;1 p1 または p6 のとき %?%p1%p6%|%t;1%; ;4 p2 のとき %?%p2%|%t;4%; ;5 p4 のとき %?%p4%|%t;5%; ;7 p1 または p3 のとき %?%p1%p3%|%t;7%; ;8 p7 のとき %?%p7%|%t;8%; m 常に m ^N または ^O p9 が真なら ^N そうでなければ ^O %?%p9%t^N%e^O%; .TE .PP これをすべて一緒に sgr シーケンスに詰め込むと次のようになります。 .PP .nf sgr=\\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%; %?%p4%t;5%;%?%p7%t;8%;m%?%p9%t\\016%e\\017%;, .fi .PP sgr を設定したら、sgr0 も設定する必要があることを忘れないでください。 .PP 「魔法のクッキー (magic cookie)」 .RB ( xmc ) を持つ端末では、モード設定シーケンスを受信すると特殊な「クッキー」とでも 呼ぶべきゴミを画面に残します。この端末では、モード設定シーケンスは、 各文字に余分なビットを持たせるのではなく、表示アルゴリズムそのものに 影響を与えます。 HP 2621 などのような端末では、次の行へ移動したり、カーソルの位置指定を した際に強調モードから勝手に抜け出てしまいます。 強調モードを用いるプログラムは、強調モードでの移動が安全であることを示す .B msgr ケーパビリティの指定が無い場合には、カーソルを移動させたり改行文字を 送出する前に強調モードから脱出すべきです。 .PP エラー発生を無音で (ベルの代わりに) 通知するため、画面をフラッシュさせる 方法が提供されている端末の場合、それを \fBflash\fR で指定できます。これは カーソルを移動させてはなりません。 .PP カーソルが最下行にないときに通常の状態以上に見易くする (例えば、点滅しない 下線カーソルを、より見つけやすいブロックカーソルや点滅下線カーソルにする) 必要がある場合、そのシーケンスを .BR cvvis で指定してください。 カーソルを完全に見えないようにする方法がある場合、それを .BR civis で指定してください。 これらのモードの効果を打ち消すシーケンスとして、ケーパビリティ .BR cnorm を指定すべきです。 .PP たとえ重ね打ちでないとしても、(特殊なコードなしで) 下線文字を正しく 生成できる端末の場合、ケーパビリティ \fBul\fR を指定すべきです。 文字を別の文字に重ね打ちすると両方の文字が画面に残るなら、ケーパビリティ \fBos\fP を指定してください。 重ね打ちが空白文字で消去可能な場合、\fBeo\fR を指定してそのことを明らかに しておくべきです。 .PP .SS キーパッドとファンクションキー .PP キーを押すとコードを送出するキーパッドを持つ場合、そのキーパッドに関する 情報を指定することができます。注意すべき点として、キーパッドが 局所モードでしか動作しない端末 (例えば、シフト状態でない HP 2621 の キーがこれに該当します) を扱うことはできないことがあります。 送信状態か非送信状態かを設定できるキーパッドの場合、それらのためのコードを \fBsmkx\fR と \fBrmkx\fR とで指定することができます。 これらの指定がない場合、キーパッドは常に送信状態として扱われます。 左矢印、右矢印、上矢印、下矢印キー、home キーが送出するコードは、それぞれ \fBkcub1, kcuf1, kcuu1, kcud1, khome\fR で指定できます。 f0, f1, ..., f10 のようなファンクションキーがある場合、これらが送出する コードは \fBkf0, kf1, ..., kf10\fR で指定できます。 これらのキーが f0 から f10 までのデフォルトのラベル以外のラベルを持つ場合、 このラベルを \fBlf0, lf1, ..., lf10\fR で指定できます。 他の特殊キーが送出するコードは、以下のように指定できます。 .B kll (ホームダウン (home down))、 .B kbs (バックスペース (backspace))、 .B ktbc (全タブクリア (clear all tabs))、 .B kctab (この桁のタブストップをクリア)、 .B kclr (画面消去 (clear screen) キーまたは抹消 (erase) キー)、 .B kdch1 (文字削除 (delete character))、 .B kdl1 (行削除 (delete line))、 .B krmir (挿入モードから抜ける (exit insert mode))、 .B kel (行末までクリア)、 .B ked (画面の終りまでクリア)、 .B kich1 (文字挿入 (insert character) または挿入モードに入る (enter insert mode))、 .B kil1 (行挿入 (insert line))、 .B knp (次のページ (next page))、 .B kpp (前のページ (previous page))、 .B kind (前進スクロール (scroll forward) / 下降スクロール (scroll down))、 .B kri (後退スクロール (scroll backward) / 上昇スクロール (scroll up))、 .B khts (この桁にタブストップを設定)。 更に、キーパッドが 4 つの矢印を含む 3 × 3 のキー配列を持つ場合、他の 5 つの キーを .BR ka1 , .BR ka3 , .BR kb2 , .BR kc1 , .BR kc3 . で指定します。 3 × 3 のカーソル移動キーパッドの効果が必要な場合、これらのキーが有用です。 .PP ファンクションキーにプログラムする文字列は、 .BR pfkey , .BR pfloc , .BR pfx で指定できます。 画面のラベルの文字列は \fBpln\fP で指定すべきです。 これらの文字列は、それぞれ 2 つの引数を取ります。 プログラム対象のファンクションキー番号 (0 から 10 まで) と、 そこにプログラムする文字列です。 この範囲外のファンクションキー番号を使うと未定義のキーに対してプログラムして しまうかもしれず、これは端末依存の動作となります。 これらのケーパビリティの違いは以下の通りです。 .B pfkey を指定すると、そのキーを押すことは、ユーザが指定した文字列をタイプするのと 同じことになります。 .B pfloc では、端末内部で局所的にその文字列が実行されることになります。 .B pfx では、その文字列がコンピュータに送出されることになります。 .PP ケーパビリティ \fBnlab\fP, \fBlw\fP, \fBlh\fP はプログラム可能な画面のラベルの 数、幅、高さを定義します。 ラベルをオン、オフするコマンドがあるなら、\fBsmln\fP と \fBrmln\fP に 指定してください。 変更が見えるのを確実にするために、通常 \fBsmln\fP は 1 つ以上の pln シーケンスの後で出力されます。 .PP .SS タブと初期化 .PP 端末がハードウェアタブを持つ場合、次のタブストップまでカーソルを進める コマンドを .B ht (通常は control I) で指定できます。 前のタブストップまで左方向に進める「後退タブ」コマンドは、 .BR cbt で指定できます。 端末が、タブが端末に送出されずにコンピュータ内部で空白に展開されるモードに なっている場合、プログラムは、たとえ .B ht や .B cbt が存在しても、それらを使用しないという約束になっています。これは、 ユーザがタブストップを正しく設定していない可能性があるためです。 電源投入時に、 .I n 個の空白ごとにハードウェアタブが初期化されている端末の場合、数値パラメータ .B it を指定します。これはタブとして設定される空白数を表します。 通常、これは .IR tset コマンドが、ハードウェアタブ展開を使用するモード設定と、タブストップ設定とを 行うかどうかを決定するために使用します。 タブストップ設定を不揮発性メモリに記憶できる端末の場合、terminfo での記述の 際に、タブストップは正しく設定されていることを想定して構いません。 .PP 他のケーパビリティとして、 .BR is1 , .BR is2 , .BR is3 があり、これらは端末を初期化する文字列を指定します。また、 .BR iprog があり、これは端末初期化用として実行するプログラムのパス名を指定します。 また、\fBif\fR があり、これは初期化文字列が長い場合、それを含むファイルの 名前を指定します。 これらの文字列により、terminfo の残りの記述と矛盾なく動作するモードに 端末が設定されることが求められます。 通常、ユーザがログインするたびに、 .IR tput プログラムの .I init オプションがこれらの文字列を端末に対して送出します。 送出は以下の順序で行われます。 プログラム .BR iprog を実行 ; .BR is1 を出力 ; .BR is2 を出力 ; .BR mgc , .BR smgl , .BR smgr でマージンを設定 ; .B tbc と .BR hts でタブを設定 ; ファイル .BR if を印字 ; 最後に .BR is3 を出力。 .PP 初期化のほとんどは .BR is2 で行われます。 共通のシーケンスを .B is2 に置き、特殊な場合を .B is1 と .BR is3 とに置くことで、文字列をそれぞれに複製して持たせなくても、 特殊な端末モードを設定することができます。 まったくわけのわからない状態から復帰するための、よりハード寄りの リセットを行うためのシーケンスの組も同様に、 .BR rs1 , .BR rs2 , .BR rf , .BR rs3 で指定することができます。これらは .B is2 と .BR if と良く似たシーケンスです。 端末がハマったときに使うプログラムである、 .IR reset がこれらのシーケンスを出力します。 コマンドを .BR rs1 , .BR rs2 , .BR rs3 , .B rf に置くのは、普通、そのコマンドが画面にユーザを混乱させる効果を産み出し、 かつ、ログインの際には必要ない場合に限ります。 例えば、vt100 を 80 桁モードに設定するコマンドは、普通なら .BR is2 に含めるはずですが、 このコマンドは画面に混乱させるゴミを作り出しますし、端末は既に 80 桁モードに なっているのが普通ですので、このコマンドを含める必要ありません。 .PP タブストップの設定、クリアを行うコマンドがある場合、それらを .B tbc (全タブストップのクリア) と .B hts (各行の現在桁にタブストップを設定) に指定できます。 タブ設定に関して、ここで説明したものより複雑なシーケンスが必要な場合、 そのシーケンスを .B is2 や .BR if に置いても構いません。 .SS 遅延とパディング .PP ハードコピー端末と (例えば、DEC VT100 を含む) 非常に古い CRT を含む、 多くの古くて遅い端末は XON/XOFF ハンドシェークも DTR ハンドシェークも サポートしません。特定のカーソルの移動とスクリーンの変更の後には、 パディング文字が必要かもしれません。 .PP 端末がフロー制御のための xon/xoff ハンドシェークを使用する場合 (すなわち、 入力バッファが一杯に近くなると、ホストに自動的に ^S を送り返す場合)、 .BR xon を指定してください。 このケーパビリティはパディングの送出を抑えます。実質的に速度に制限のない メモリマップト形式のコンソールデバイスに対しても指定できます。 ルーチンが相対的なコストに関してよりよい見積もりを立てることができるように、 この場合でもパディング情報を指定すべきです。しかし、実際はパディング文字は 送信されません。 .PP \fBpb\fR (パディングボーレート) を指定することで、ボーレートが \fBpb\fR の値より低い場合、パディングが抑えられます。エントリに パディングボーレートがなければ、パディングが送出されるかされないかは \fBxon\fR により完全に制御されます。 .PP ナル (0) 文字以外のパディング文字を必要とする端末の場合、それを \fBpad\fR で指定できます。 .B pad 文字列の最初の文字のみが使用されます。 .PP .SS ステータス行 端末には、通常のソフトウェアでは使用されない (それゆえ、端末の \fBlines\fR ケーパビリティでは数に入らない) 余分な「ステータス行」を 持つものもあります。 .PP 最も簡単な場合には、ステータス行はカーソル位置の指定は可能ですが、 画面上のスクロール領域の一部ではないものです。初期化のときに 23 行の スクロール領域のある 24 行の VT100 と同じように、Heathkit H19 には、この種の ステータス行があります。この状況は \fBhs\fR ケーパビリティで指定します。 .PP ステータス行に入るには特別なシーケンスを必要とする端末もあります。 これはパラメータを 1 つとる文字列 \fBtsl\fR で表します。これは カーソルをステータス行の与えられた 0 桁に移動します。 ケーパビリティ \fBfsl\fR で最後の \fBtsl\fR の前の主画面のカーソル位置に 戻る必要があります。そのために \fBtsl\fR と \fBfsl\fR の中に \fBsc\fR (save cursor) と \fBrc\fR (restore cursor) の文字列の値を含める 必要があるかもしれません。 .PP ステータス行は通常、端末の幅と同じ幅だと仮定されています。これが 本当でないのなら、そのことを数値ケーパビリティ \fBwsl\fR で指定できます。 .PP ステータス行を消去したり削除するコマンドは \fBdsl\fR で指定できます。 .PP ブール値ケーパビリティ \fBeslok\fR は、ステータス行内でエスケープシーケンスや タブ等が通常通り働くことを示します。 .PP \fBncurses\fR の実装はこれらのケーパビリティのどれもまだ利用していません。 これらが重要になったらここに記述します。 .PP .SS 線画 .PP 多くの端末には図を描くのに役に立つ別の文字セットがあります。 terminfo と \fBcurses\fR は VT100 でサポートされている図形文字と AT&T 4410v1 の文字のいくつかをサポートします。 この別の文字セットは \fBacsc\fR ケーパビリティで設定されます。 .PP .TS H center expand; c l l c c l l c lw28 lw6 lw2 lw20. .\".TH \fBGlyph ACS Ascii VT100\fR \fBName Name Default Name\fR UK pound sign ACS_STERLING f } arrow pointing down ACS_DARROW v . arrow pointing left ACS_LARROW < , arrow pointing right ACS_RARROW > + arrow pointing up ACS_UARROW ^ - board of squares ACS_BOARD # h bullet ACS_BULLET o ~ checker board (stipple) ACS_CKBOARD : a degree symbol ACS_DEGREE \e f diamond ACS_DIAMOND + ` greater-than-or-equal-to ACS_GEQUAL > z greek pi ACS_PI * { horizontal line ACS_HLINE - q lantern symbol ACS_LANTERN # i large plus or crossover ACS_PLUS + n less-than-or-equal-to ACS_LEQUAL < y lower left corner ACS_LLCORNER + m lower right corner ACS_LRCORNER + j not-equal ACS_NEQUAL ! | plus/minus ACS_PLMINUS # g scan line 1 ACS_S1 ~ o scan line 3 ACS_S3 - p scan line 7 ACS_S7 - r scan line 9 ACS_S9 \&_ s solid square block ACS_BLOCK # 0 tee pointing down ACS_TTEE + w tee pointing left ACS_RTEE + u tee pointing right ACS_LTEE + t tee pointing up ACS_BTEE + v upper left corner ACS_ULCORNER + l upper right corner ACS_URCORNER + k vertical line ACS_VLINE | x .TE .PP 新しいデバイスの図形セットを定義するのに一番よい方法は、この表のその端末用の コピーに列を追加し、対応する図形のところに (\fBsmacs\fR/\fBrmacs\fR スイッチの 間に送出される場合に) 送出される文字を与えることです。それから VT100 と その端末の文字を右から左に順に読み上げてください。 これが ACSC 文字列になります。 .PP .SS 色の扱い .PP ほとんどのカラー端末は `Tektronix 風' か `HP 風' のどちらかです。Tektronix 風 端末には、あらかじめ定義された N 色 (N は通常 8 です) の組があり、 文字セル毎に独立に前景色と背景色を設定して、N * N の色ペアにできます。 HP 風端末では、色ペアをそれぞれ別々に設定する必要があります (前景と背景は 独立には設定できません)。 2*M の異なった色からは M までの色ペアができます。ANSI-互換端末は Tektronix 風 です。 .PP いくつかの基本的な色に関するケーパビリティは色の扱い方とは独立です。数値 ケーパビリティ \fBcolors\fR と \fBpairs\fR には、同時に表示できる色または 色ペアの最大数を指定します。\fBop\fR (original pair) 文字列は前景色と背景色を 端末の規定値にリセットします。\fBoc\fR 文字列はすべての色または色ペアを 端末の規定値にリセットします。(多くの PC 端末エミュレータを含む) いくつかの端末では、電源投入時の背景色ではなく、現在の背景色で 画面領域を消去します。この場合にはブール値ケーパビリティ \fBbce\fR を 指定すべきです。 .PP Tektronix 型の端末で現在の前景色と背景色を変えるためには、 \fBsetaf\fR (set ANSI foreground) と \fBsetab\fR (set ANSI background) を 使うか、\fBsetf\fR (set foreground) と \fBsetb\fR (set background) を使って ください。 これらは 1 つのパラメータ、色番号をとります。SVr4 の文書には \fBsetaf\fR/\fBsetab\fR だけが書かれています。XPG4 の草案には、 「端末が背景と前景を設定する ANSI エスケープシーケンスをサポートするなら、 それぞれ \fBsetaf\fR と \fBsetab\fR で指定すべきです。端末が 背景と前景を設定する別のエスケープシーケンスをサポートするなら、 それぞれ \fBsetf\fR と \fBsetb\fR で指定すべきです。\fIvidputs()\fR 関数と refresh 関数 は、定義されていれば \fBsetaf\fR と \fBsetab\fR を 使います。」と書かれています。 .PP \fBsetaf\fR/\fBsetab\fR と \fBsetf\fR/\fBsetb\fR ケーパビリティはそれぞれ 数値引数を 1 つとります。引数値 0-7 は移植できるよう以下のように定義されて います (中央の列は \fBcurses\fR や \fBncurses\fR ライブラリ用にヘッダで 利用できる記号の #define です)。端末のハードウェアはこれを好きなように マップするのは自由ですが、RGB 値は色空間での通常の位置を示しています。 .PP .TS H center; l c c c l l n l. \fB色 #define 値 RGB\fR 黒 \fBCOLOR_BLACK\fR 0 0, 0, 0 赤 \fBCOLOR_RED\ \fR 1 max,0,0 緑 \fBCOLOR_GREEN\fR 2 0,max,0 黄 \fBCOLOR_YELLOW\fR 3 max,max,0 青 \fBCOLOR_BLUE\fR 4 0,0,max マゼンタ \fBCOLOR_MAGENTA\fR 5 max,0,max シアン \fBCOLOR_CYAN\fR 6 0,max,max 白 \fBCOLOR_WHITE\fR 7 max,max,max .TE .PP HP 風の端末では、どの色ペアが現在のものかを設定する色ペア番号パラメータを ともなった \fBscp\fR を使ってください。 .PP Tektronix 風の端末では、色が変更できることを示すためにケーパビリティ \fBccc\fR があります。もしそうであれば、 \fBinitc\fR ケーパビリティは色数 (0 から \fBcolors\fR - 1) と 色を記述する 3 つのパラメータをとります。この 3 つのパラメータは、デフォルトでは RGB (Red, Green, Blue) 値と解釈されます。ブール値ケーパビリティ \fBhls\fR が あれば、代わりに HLS (Hue, Lightness, Saturation) 指標になります。範囲は 端末に依存します。 .PP HP 風の端末では、\fBinitp\fR が色ペア値を変更するケーパビリティを与えます。 パラメータを 7 つとります。色ペア番号 (0 から \fBmax_pairs\fR - 1 まで) と 3 つの数の組が 2 つです。最初の組で背景色を、2 番目の組で前景色を記述します。 これらのパラメータは \fBhls\fR に依存して (Red, Green, Blue) か (Hue, Lightness, Saturation) である必要があります。 .PP カラー端末のいくつかでは、色はハイライトと衝突します。この衝突を \fBncv\fR ケーパビリティで登録できます。これは、色が利用可能なときに使うことが できない属性のビットマスクです。\fBcurses\fR が理解する属性との対応は 以下の通りです。 .PP .TS center; l c c lw25 lw2 lw10. \fB属性 ビット 10 進数\fR A_STANDOUT 0 1 A_UNDERLINE 1 2 A_REVERSE 2 4 A_BLINK 3 8 A_DIM 4 16 A_BOLD 5 32 A_INVIS 6 64 A_PROTECT 7 128 A_ALTCHARSET 8 256 .TE .PP 例えば、多くの IBM PC コンソールで、下線の属性は前景色、青と衝突してしまい、 カラーモードでは利用できません。これは、\fBncv\fR ケーパビリティに 2 を 指定すべきです。 .PP SVr4 curses は \fBncv\fR では何もしませんが、ncurses はそれを認識してカラー用に 出力を最適化します。 .PP .SS その他 ナル (0) 文字以外のパディング文字を必要とする端末の場合、それを pad で 指定することができます。 pad 文字列の最初の文字のみが使用されます。 パディング文字を持たない端末の場合、npc を指定してください。 ncurses は termcap 互換の \fBPC\fR 変数を実装していることに注意してください。 アプリケーションはこの値をナル以外のものに設定するかもしれませんが、 ncurses は最初に \fBnpc\fR をテストし、端末にパディング文字がなければ napms を使います。 .PP 端末が半行だけ上下移動できる場合、それを .B hu (半行上へ) と .B hd (半行下へ) とで指定できます。 これは、主として、ハードコピー端末の上付き文字、下付き文字のために役に 立ちます。 ハードコピー端末が用紙を排出し次のページに行くこと (フォームフィード) が できる場合、それを .B ff (通常は control L) で指定します。 .PP (同じ文字を極めて多数回繰り返し送信する際の時間節約のため) 指定した文字を 指定した回数だけ繰り返すコマンドが存在する場合、パラメータ化文字列 .BR rep を用いてそれを指定することができます。 1 番目のパラメータは繰り返される文字で、2 番目のパラメータは繰り返し回数です。 ですから、tparm(repeat_char, 'x', 10) は `xxxxxxxxxx' と同じことです。 .PP \s-1TEKTRONIX\s+1 4025 のように、コマンド文字を設定可能な端末の場合、 .BR cmdch を用いてそれを表すことができます。 すべてのケーパビリティで使用されるプロトタイプコマンド文字を指定できます。 この文字は .B cmdch ケーパビリティで指定され、それが識別されます。 いくつかの UNIX システムでは以下の約束にしたがって処理がなされます。 すなわち、まず環境変数 .B CC を検査し、それが設定されている場合は、ケーパビリティ中にあるプロトタイプ 文字のすべてがその環境変数で指定された文字と置き換えられます。 .PP .IR switch , .IR dialup , .IR patch , .IR network などのような、特定の端末の種類を表さない端末記述には、プログラムが その端末とどう通信すればよいかが分からないと表明できるようにするため、 .B gn (一般的) ケーパビリティを指定すべきです。 (このケーパビリティは、エスケープシーケンスがわかっている .I 仮想 端末の記述には適用されません。) .PP 端末が、シフトキーとして動作し、文字すべての 8 ビット目を立てて送出する 「メタキー」を持つ場合、このことを .BR km により表すことができます。 この指定がない場合、ソフトウェアは、8 ビット目はパリティで、通常は クリアされていると想定します。 この「メタモード」をオンオフする文字列が存在する場合、それを .B smm と .BR rmm とで指定できます。 .PP 端末が画面 1 枚分より多い行数のメモリを持つ場合、メモリの行数を .BR lm で指定できます。 値 .BR lm #0 は、行数は固定でないものの、1 画面分以上のメモリを持つことを表します。 .PP 端末が \s-1UNIX\s+1 の仮想端末プロトコルをサポートしている場合、 その端末番号を .BR vt で指定できます。 .PP 端末に接続された外部プリンタを制御するメディアコピー文字列は、次のように 指定できます。すなわち、 .BR mc0 : 画面内容の印字、 .BR mc4 : プリンタオフ、 .BR mc5 : プリンタオンです。 プリンタがオンのとき、端末に送出されたテキストはすべてプリンタに送られます。 プリンタがオンの状態でもなお端末にテキストが表示されるか否かは未定義です。 変種である .B mc5p はパラメータを 1 つ取り、そのパラメータの値だけの文字を送る間プリンタを オンにし続け、そのあとオフにします。 このパラメータは 255 を越えてはなりません。 .BR mc4 を含むすべてのテキストは、 .B mc5p が有効な間、透過的にプリンタに渡されます。 .PP .SS ゴミ機能、困った機能 (Glitches and Braindamage) .PP Hazeltine 端末は `~' 文字を表示できません。これには \fBhz\fR を指定すべきです。 .PP Concept や vt100 のように \fBam\fR 直後の改行文字を無視する端末の場合、 \fBxenl\fR を指定すべきです。 .PP 強調表示を取り除くために (単に通常のテキストを上に書くだけでは済まず) .B el が必要な場合、 \fBxhp\fP を指定すべきです。 .PP Teleray 端末は、タブでカーソル移動した下にあった文字をすべて空白にして しまうので、この端末では \fBxt\fR (破壊的なタブ) を指定すべきです。 注 : これに対応する変数は、現在は `dest_tabs_magic_smso' ですが、 以前のバージョンでは、teleray_glitch でした。 このふざけた機能は、「魔法のクッキー」の先頭にカーソルを置けないことと、 強調モードを消去するために、行削除と行挿入が必要であることも意味します。 ncurses の実装はこの glitch を無視します。 .PP Beehive の Superbee 端末は、エスケープ文字や control C 文字を正しく 送信できません。これには .BR xsb を指定し、f1 キーをエスケープとし、f2 キーを control C として使用することを 表します。 (この問題が現れるのは特定の Superbee に限られ、その ROM に依存します。) terminfo の古いバージョンでは、このケーパビリティは `beehive_glitch' と 呼ばれていましたが、現在では `no_esc_ctl_c' と呼ばれていることに 注意してください。 .PP なにか特定の端末に固有の他の問題を解決したい場合、\fBx\fR\fIx\fR の形式で 新しいケーパビリティを追加して使っても構いません。 .PP .SS 似た端末 .PP 2 つの非常によく似た端末がある場合、いくつかの例外を除いて 一方 (変型種) は他方 (基本種) と似ているという定義を行うことができます。 変型種の定義においては、 文字列ケーパビリティ \fBuse\fR で、基本種の端末の名前を 指定できます。 .B use の指定より前に与えたケーパビリティは、 .BR use により得られる基本タイプの中のケーパビリティに優先します。 複数の \fBuse\fR ケーパビリティが存在する場合、逆の順番でマージされます。 すなわち、一番右側の \fBuse\fR の参照先が最初に処理され、 次にその左が処理されるといった順番になります。 エントリ中で明示的に指定されたケーパビリティは、 \fBuse\fR の参照先が与えるケーパビリティに優先します。 .PP ケーパビリティ定義の左側に \fBxx@\fR を置くことにより、そのケーパビリティを キャンセルできます。ここで xx はそのケーパビリティです。 例えば、エントリ .PP 2621-nl, smkx@, rmkx@, use=2621, .PP は \fBsmkx\fR も \fBrmkx\fR も持たない 2621-nl を定義します。 それゆえこの端末はビジュアルモードではファンクションキーラベルをオンに しません。 この機能はある端末の種々の機能や、ユーザの種々の設定を表す際に有用です。 .PP .SS 長いエントリの落とし穴 .PP 長い terminfo のエントリは問題になりそうにありません。現在まで terminfo の 文字列表の最大値 4K に達したエントリはないのです。不幸なことに termcap への 翻訳はずっと厳しく制限されている (1K まで) ので、長い terminfo エントリの termcap への翻訳は問題を引き起こすかも知れません。 .PP 4.3BSD および、より古いバージョンの tgetent() のマニュアルには、 termcap エントリ用に 1K のバッファを割り当てるように書いてあります。エントリは termcap ライブラリに よりナル文字で終了させられるので、termcap エントリとして 安全な最大の長さは 1k-1 (1023) バイトです。アプリケーションと使用する termcap ライブラリが何をするか、また、tgetent() が探しているタイプの端末が termcap ファイルのどこにあるかによって、悪いことがいくつか起こるかも 知れません。 .PP termcap ライブラリの中には、1023 バイトより長いエントリを見つけると 警告のメッセージを表示したり、終了したりするものもありますし、 そうでないものもあります。そうでないものはエントリを切捨てて 1023 バイトに してしまいます。アプリケーションプログラムの中には termcap エントリに 推奨された 1K より多く割り当てるものもありますし、そうでないものもあります。 .PP 各 termcap エントリにはそれに関係する重要な大きさが 2 つあります。"tc" 展開前と "tc" 展開後です。"tc" は、現在のエントリの最後に他の termcap エントリを 付け足し、そのケーパビリティを追加するケーパビリティです。termcap エントリが "tc" ケーパビリティを使わないならば、もちろん 2 つの長さは同じです。 .PP 特殊な端末のユーザ以外にも影響するので、「tc 展開前」の長さは最も 重要なものです。 これは /etc/termcap にあるエントリからバックスラッシュと 改行の組を引いたものの長さです。バックスラッシュと改行の組は tgetent() が 読み込む間に取り除きます。 termcap ライブラリの中には最後の改行を取り除くものもあります (GNU termcap は 行いません)。 次のように仮定します。 .TP 5 * 展開前の termcap エントリは 1023 バイト以上の長さです。 .TP 5 * アプリケーションは 1k のバッファを割り当てただけです。 .TP 5 * (BSD/OS 1.1 や GNU のもののように) termcap ライブラリは、それが必要なエントリで あれば、その長さに関わらず、読むためにエントリをすべてバッファに読み込みます。 .TP 5 * tgetent() は長いエントリの端末タイプか、長いエントリの後に termcap ファイルに 現れる端末タイプか、ファイルには全く現れない (そのため tgetent() は termcap ファイル全体を探す必要があります) 端末タイプを探しています。 .PP すると、tgetent() はメモリ、おそらくはスタックに重ね書きし、たぶんプログラムを コアダンプさせるでしょう。telnet のようなプログラムは特に弱いです。 現代的な telnet は端末タイプのような値を自動的に通してしまいます。 SunOS 4.1.3 や Ultrix 4.4 のように、過度に長い termcap エントリを 読んだときには警告メッセージを表示する termcap ライブラリでも、結果は 望ましいものではありません。OSF/1 3.0 のように termcap ライブラリが 長いエントリを切り捨てるなら、ここで死ぬことはありませんが、 端末に対して不正確なデータを返すことになるでしょう。 .PP 「tc 展開後」の長さは上と同じように影響するでしょうが、 影響を受けるのは TERM をその端末タイプに実際に設定した人だけです。 tgetent() は探している時ではなく、探していた端末タイプを見つけた時に一度だけ "tc" 展開を行うからです。 .PP 結局、1023 バイトより長い termcap エントリ は、termcap ライブラリと アプリケーションのさまざまな組合せで、コアダンプや警告や不正確な操作を 引き起こすかもしれません。"tc" 展開前でも長過ぎるなら、他の端末タイプの ユーザや termcap エントリのない TERM 変数を指定しているユーザにも影響する でしょう。 .PP -C (termcap へ翻訳) モードでは、\fBtic\fR(1) の \fBncurses\fR の 実装は tc 前の termcap へ翻訳する長さが長過ぎる場合、警告メッセージを出します。 -c (check) オプションは、分析された (tc 展開後の) 長さもチェックします。 .SS バイナリ互換性 売り物の UNIX の間のバイナリの terminfo エントリの移植性に期待するのは 賢明ではありません。問題は terminfo に (HP-UX と AIX で) 少なくとも 2 つの バージョンがあるからです。どちらも SVr1 の後で System V の terminfo から 分岐したもので、文字列表に System V や XSI Curses 拡張と (バイナリフォーマットで) 衝突する拡張ケーパビリティを追加しています。 .SH 拡張 SVr4 の \fBcurses\fR の実装のいくつかと SVr4 以前のものすべては パラメータ文字列内の %A 演算子と %O 演算子を解釈しません。 .PP SVr4/XPG4 は、別の文字セットモードで \fBmsgr\fR がカーソルの移動を許可するか どうかを指定しません (そのようなモードは、数ある中でも CR と NL を 局所的な移動を引き起こさない文字に写してしまうかも知れません)。 \fBncurses\fR の実装は \fBALTCHARSET\fR モードでは \fBmsgr\fR を無視します。 このため、反対の解釈をする XPG4 の実装では、\fBncurses\fR 用に作られた terminfo エントリの \fBmsgr\fR をオフにする必要があるかも知れません。 .PP \fBncurses\fR ライブラリは、更新の効率を上げるために少し非標準的な方法で 文字挿入と文字挿入モードを扱います。上の \fB文字の挿入/削除\fR の副節を 参照してください。 .PP \fBset_clock\fR と \fBdisplay_clock\fR のパラメータ置換は SVr4 でも XSI Curses 規格でも説明されていません。AT&T 505 端末の説明書から 推測したものです。 .PP \fBkmous\fR ケーパビリティの割り当てには注意してください。\fBncurses\fR は \fBKEY_MOUSE\fR として解釈しようとし、xterm のような キーボード入力ストリーム中でマウストラック情報を返すことのできる端末や エミュレータが使用します。 .PP 異なる売り物の terminfo と curses はそれぞれ異なる XSI Curses 標準の一部と (いくつかの場合) 異なった拡張をサポートします。以下は 1995 年 10 月時点での正確な要約です。 .PP \fBSVR4, Solaris, ncurses\fR -- SVr4 ケーパビリティをすべてサポートします。 .PP \fBSGI\fR -- SVr4 すべてと説明のない拡張文字列ケーパビリティ 1 つ (\fBset_pglen\fR) を サポートします。 .PP \fBSVr1, Ultrix\fR -- terminfo ケーパビリティの制限された一部をサポートします。ブール値は \fBxon_xoff\fR で、数値は \fBwidth_status_line\fR で、文字列は \fBprtr_non\fR で終わりです。 .PP \fBHP/UX\fR -- SVr1 の一部と、SVr[234] の数値 \fBnum_labels\fR, \fBlabel_height\fR, \fBlabel_width\fR と、ファンクションキー 11 から 63 までと、 \fBplab_norm\fR, \fBlabel_on\fR, \fBlabel_off\fR と、文字列表の非互換な拡張を いくつかサポートします。 .PP \fBAIX\fR -- SVr1 の一部と、ファンクションキー 11 から 63 までと、たくさんの 非互換な文字列表拡張をサポートします。 .PP \fBOSF\fR -- SVr4 全部と AIX 拡張の両方をサポートします。 .SH 関連ファイル .TP 25 \*d/?/* 端末記述を含むファイル .SH 関連項目 \fBtic\fR(1M), \fBcurses\fR(3X), \fBprintf\fR(3S), \fBterm\fR(\*n). .SH 作者 Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Pavel Curtis による pcurses に基づいています。 .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: .\"# mode:nroff .\"# fill-column:79 .\"# End: diff --git a/ja_JP.eucJP/man/man6/fortune.6 b/ja_JP.eucJP/man/man6/fortune.6 index 40c9d62393..efadebacd5 100644 --- a/ja_JP.eucJP/man/man6/fortune.6 +++ b/ja_JP.eucJP/man/man6/fortune.6 @@ -1,198 +1,199 @@ .\" Copyright (c) 1985, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Ken Arnold. .\" .\" 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. .\" .\" @(#)fortune.6 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/games/fortune/fortune/fortune.6,v 1.9 1999/12/07 02:47:59 chris Exp % +.\" %FreeBSD: src/games/fortune/fortune/fortune.6,v 1.9.2.1 2000/08/17 06:17:49 jhb Exp % .\" jpman %Id: fortune.6,v 1.4 1999/01/16 17:08:30 kuma Stab % .\" .\" 以下は Linux JM のクレジット .\" Japanese Version Copyright (c) 1997,1998 MAEHARA Kohichi .\" Japanese Version Copyright (c) 1997,1998 HANAYAKA Sinya .\" all rights reserved. .\" Translated Tue Feb 10 00:00:00 JST 1998 .\" by HANATAKA Sinya .\" by MAEHARA Kohichi .\" .\" .Dd April 19, 1994 .Dt FORTUNE 6 .Os BSD 4 .Sh 名称 .Nm fortune .Nd "おもしろくためになる格言を無作為に表示する" .Sh 書式 .Op Fl aDefilosw .Op Fl m Ar pattern .Oo .Op Ar \&N% .Ar file/dir/all .Oc .Sh 解説 .Nm fortune を引数なしで実行すると、無作為に選んだ格言を一つ表示します。 格言はいくつかの種類に分類されていて、それぞれの分類はさらに、 耳に痛いものとそうでないものとに分けられています。 オプションを以下に示します: .Bl -tag -width flag .It Fl a 耳に痛いものもそうでないものも、格言をすべて含めた リストから選びます (耳に痛いものについての詳細は .Fl o オプションを参照してください)。 .It Fl D 更なるデバッグ出力を有効にします。 本オプションを複数回指定すると、出力が更に冗長になります。 -DDEBUG 付きでコンパイルされている場合のみ、利用可能です。 .It Fl e すべての fortune のファイルが同一サイズであることを仮定します (複数ファイルの扱いについての下記の解説を参照してください)。 .It Fl f 検索されるファイルの一覧を表示し、格言は表示しません。 .It Fl l 長めの格言に限ります。 .It Fl m 正規表現 .Ar pettern に合致する格言を表示します。 正規表現のパターンの記述方法については .Xr regex 3 を参照してください。 .It Fl o 耳に痛い格言に限り、 その中から選んで出力します。 .Bf -symbolic 耳に痛そうな格言は、ぜひ、ぜひ、ぜひとも、深く落ち込んでいて、 耳に痛い格言を喜んで 受け入れられる気分のときに限って指定して下さい (そして、 -もしそういう気分であるなら、出てきた文言についてわれわれに +もし受け入れられない気分のときなら、出てきた文言についてわれわれに 文句を言うことをせず、黙って .Fl o オプションの使用を止めるはずですよね)。 .Ef .Bd -filled -offset indent \&...人類愛について基本的かつ支配的な哲学を心に留めるよう にしよう、これは以下の言葉に簡潔にまとめられている: 心からの笑いは健康のためによい -- 必要とあらば全人類を 犠牲にしたとしても。 .Bd -filled -offset indent-two -compact --H. Allen Smith, "Rude Jokes" .Ed .Ed .It Fl s 短めの格言に限ります。 .It Fl i .Fl m オプションで指定された (正規表現の) パターンについて、 大文字小文字の別を無視します。 .It Fl w 終了前に、メッセージの文字数に応じた長さから算出される時間だけ停止します。 ログアウト手順に組み込んだ場合、 スクリーンがクリアされる前に メッセージを読み取る時間を確保するのに役に立ちます。 .El .Pp 別の格言集の使用を指定することができます。この指定では、 特定のファイル、1 つ以上のファイルを含むディレクトリ、 もしくは標準データベース全てを使用するという .Em all という特殊語のいずれかを指定可能です。 これらの前にはパーセンテージを付けることが可能です。 パーセンテージは、0 以上 100 以下の数字 .Ar N に .Ar % を続けたものです。 パーセンテージを指定した場合、ある格言が .Ar N パーセントの確率でそのファイルあるいはディレクトリから選択されます。 パーセントの合計が 100 に満たず、パーセント無しの指定がある場合、 残りのパーセントが、パーセント無しのファイルとディレクトリに割当てられます。 この場合、パーセント無しのものが選択される確率は、これらのサイズに依存します。 .Pp 例として、2 個のデータベース .Em funny と .Em not-funny とを用います。この時 .Em funny が 2 倍の大きさとするならば、 .Bd -literal -offset indent fortune funny not-funny .Ed .Pp と指示すると 3 回に 2 回の割合で .Em funny から選択されます。 コマンドを .Bd -literal -offset indent fortune 90% funny 10% not-funny .Ed .Pp のように指定すると 90 % を .Em funny から選び出します (この場合残りが 10% であることが明らかなので .Dq 10% not-funny は不要です)。 .Fl e オプションを指定すると、全てのファイルから均等に選び出します; すなわち .Bd -literal -offset indent fortune \-e .Ed .Pp とするのは .Bd -literal -offset indent fortune 50% funny 50% not-funny .Ed .Pp と指定するのと同等です。 .Sh 関連ファイル .Bl -tag -width Pa -compact .It Pa /usr/games/fortune .Pp .It Pa /usr/share/games/fortune/* fortune のデータベース (名前が .Dq -o で終るファイルには、 .Bf -symbolic 耳に痛い .Ef 格言が含まれます) .El .Sh 関連項目 .Xr regcomp 3 , -.Xr regex 3 +.Xr regex 3 , +.Xr strfile 8 .\" Amended by kuma, based on fortune.6,v 1.2 1998/02/24 14:51:07 horikawa Stab .\"ZZZ: 3.0-RELEASE complianted by N. Kumagai, 99-1-16 diff --git a/ja_JP.eucJP/man/man7/groff_mm.7 b/ja_JP.eucJP/man/man7/groff_mm.7 index d89b36b0c9..2c8ce77d7c 100644 --- a/ja_JP.eucJP/man/man7/groff_mm.7 +++ b/ja_JP.eucJP/man/man7/groff_mm.7 @@ -1,2032 +1,2032 @@ .\" .\" %Id: groff_mm.man,v 1.32 1999/09/03 05:33:12 jh Exp % .\" .\" Original Revision: 1.1.1.2 .\" jpman %Id: groff_mm.7,v 1.4 1999/01/20 17:21:55 kuma Stab % .\" .\" WORD: abstract アブストラクト .\" WORD: broken varable list 変則可変リスト .\" WORD: bullet list 黒丸リスト .\" WORD: diversion 転換 .\" WORD: exhibit エグジビット .\" WORD: front page 表題紙 .\" WORD: hanging indent ハンギングインデント .\" WORD: heading 見出し .\" WORD: justification 行末揃え .\" WORD: memorandum 覚書 .\" WORD: multiple columns 多段組 .\" WORD: nesting 入れ子 .\" WORD: overprint 重ね打ちする .\" WORD: released paper style 公開論文形式 .\" WORD: separate environment 隔離された環境 .\" WORD: static display スタティックディスプレイ .\" WORD: trap トラップ .\" WORD: variable item list 可変項目リスト .\" " .de T2 .ne 2v .ti -.5i \\$1 .sp -1 .. .de T3 .ne 2v .ti -.5i \fB\\$1\fP .br .. .TH GROFF_MM 7 "12 January 2000" "Groff Version 1.15" .SH 名称 groff_mm \- groff mm マクロ .SH 書式 .B groff .B \-mm [ .IR options .\|.\|. ] [ .IR files .\|.\|. ] .SH 解説 groff mm マクロは、DWB mm マクロと互換であるように設計されています。 しかし、以下のような制限があります: .TP .B \(bu ベル研の方言は実装されていません。 .TP .B \(bu マクロ OK 及び PM は実装されていません。 .TP .B \(bu groff mm は、カットマークをサポートしません。 .LP \fBmm\fP は、国際化されて設計されています。 そのため、各国語対応用の短いマクロファイルを書き換えて、 英語のテキストを好みの言語対応に置き換えることができます。 \fBmmse\fP を例として用いて下さい。 .LP .\"########################################################################" .LP 大域変数の初期化後に \fBlocale\fP か \fIlang\fP\fB_locale\fP という ファイルを読み込みます。そのため、企業名などについてのマクロを ローカライズすることができます。 .sp このマニュアルでは、角括弧は省略可能な引数を表示するのに用いられます。 .sp 3 \fB数値レジスタと文字列変数\fP .br 多くのマクロを数値レジスタと文字列変数によって制御することが出来ます。 数値レジスタは、\fBnr\fP コマンドによって、代入が出来ます。 .br \fB\&.nr\fP \fIXXX\fP \fI[+-]n [i]\fP .br \fBXXX\fP はレジスタの名前です。 \fBn\fP は、代入されるべき値です。 そして、\fBi\fP は、自動増加に使われる増分値です。 もし現在値の増減が必要ならば、\fBn\fP には、 前に接頭辞として正符号や負符号をつけることが出来ます。 (自動増加や自動減少が行なわれるのは、 数値レジスタが正符号か負符号とともに用いられた時のことで、 \fB\en+[XXX]\fP か \fB\en-[XXX]\fP の様になります。) .sp 文字列変数は、\fBds\fP により定義されます。 .br \fB\&.ds\fP \fIYYY string\fP .br 文字列 \fIstring\fP としては、空白も含めて行末までの全部が割り当てられます。 \fIstring\fP の中の最初の空白は、二重引用符が前につけられなければなりません。 (テキストの中では、文字列変数は \fB\e*[YYY]\fP の様に使われます。) .sp \fB数値レジスタの特殊な形式\fP .br 数値レジスタというものは、形式が何も指定されなければ、 通常の数字で表示されます。 形式は \fBaf\fP によって設定出来ます: .br \fB\&.af\fP \fIR c\fP .br \fIR\fP はレジスタの名前で、\fIc\fP はその形式です。 .in +.5i .T2 \fB形式\fP \fB数の並び\fP .T2 1 0, 1, 2, 3, ... .T2 001 000, 001, 002, 003, ... .T2 i 0, i, ii, iii, iv, ... .T2 I 0, I, II, III, IV, ... .T2 a 0, a, b, c, ..., z, aa, ab, ... .T2 A 0, A, B, C, ..., Z, AA, AB, ... .in .LP \fBマクロ:\fP .TP .B ")E level text" \fBtext\fP (見出しテキスト) を目次に加えます。 \fBlevel\fP は 0 か 1-7 の間です。 本マクロは目次のカスタマイズに使用します。 .TP .B "1C [1]" 1 段の段組処理を開始します。引数としての \fB1\fP はページ区切りを無効にします。 広い脚注を用いて下さい。 狭い脚注は重ね打ちになってしまうでしょう。 .TP .B 2C 2 段の段組処理を開始します。ページを 2 段のカラムに分割します。 これは、\fBMC\fP の特殊な場合になります。 関連項目は \fB1C\fP です。 .TP .B AE アブストラクトの終わり。 \&\fBAS\fP を参照して下さい。 .TP .B "AF [企業名]" 著者の帰属する企業。\fBAU\fP の前に呼び出さなければなりません。 関連項目は \fBCOVER\fP です。 .TP .B "AL [type [text-indent [1]]]" 自動番号付けリストを開始します。 項目は、1 から始められる番号を振付けられます。 引数の \fItype\fP は数字の型を制御します。 .in +.5i .T2 引数 数字の型 .T2 1 アラビア数字 (デフォルト) .T2 A 大文字 (A-Z) .T2 a 小文字 (a-z) .T2 I 大文字 ローマ数字 .T2 i 小文字 ローマ数字 .in \fItext-indent\fP はインデントを設定し、\fBLi\fP よりも優先されます。 3 番目の引数は、各項目の前に空行を出力することを禁止します。 .TP .B "APP name text" \fIname\fP という名前の付録を開始します。 \fIname\fP が "" である場合には、自動的に名前がつけられます。 名前が自動生成されるならば、付録は \fBA\fP から始まります。 数値変数の \fBAph\fP が非 0 であれば、新しいページに切り替えられ、 ヘッダも生成されます。 これが、デフォルトです。 付録は、常に「List of contents」の中に正しいページ番号とともに表示されます。 \fIAPPENDIX\fP という名前は、 文字列変数の \fBApp\fP に望みのテキストを代入すれば、 変えることが出来ます。 文字列 \fBApptxt\fP は、現在の付録テキストを含みます。 .TP .B "APPSK name pages text" \&\fB.APP\fP とほぼ同じです。異なるのは、\fIpages\fP だけ ページ番号が増加されることです。 これが使用されるのは、図表や、その他整形されていない文書が 付録に含まれる時です。 .TP .B "AS [arg [indent]]" アブストラクトの開始。 インデントは、「en (半角)」で指定されますが、単位付きの指定も可能です。 引数の \fIarg\fP は、アブストラクトが印字される場所を制御します。 .in +.5i .T2 arg 配置 .T2 0 公開論文形式 (\fBMT 4\fP) の場合には、 アブストラクトは第 1 ページと表紙に印字されます。 それ以外の場合には、表紙はなく、第 1 ページに印字されます。 .T2 1 アブストラクトは表紙だけに印字されます (\fBMT 4\fP の場合のみ)。 .T2 2 アブストラクトは表紙だけに印字されます (\fBMT 4\fP 以外の場合のみ)。 表紙の印字には、\fBCS\fP は必要ありません。 .in 外部へのレター形式 (\fBMT 5\fP) では、アブストラクトは全く印字されません。 \fIindent\fP は両側マージンのインデントを制御します。 指定されない時は、通常のテキストのインデントが用いられます。 .TP .B "AST [title]" アブストラクトの題目。 デフォルトでは、\fBABSTRACT\fP です。 アブストラクトのテキストの上にそのテキストを設定します。 .TP .B "AT title1 [title2 ...]" 著者の肩書。\fBAT\fP は、各々の \fBAU\fP のすぐ後に現れなければなりません。 肩書は、署名ブロックで名前の後に現れます。 .TP .B "AU [name [initials [loc [dept [ext [room [arg [arg [arg]]]]]]]]]" 著者に関する情報。これは、覚書や論文の著者を明示し、表紙や他の同様の場所に 印字されます。 \fBAU\fP は \fBTL\fP の前に現れなければなりません。 著者情報には、イニシャル (initials)、所在地 (loc)、部局 (dept)、 電話内線番号 (ext)、部屋番号又は部屋の名前 (room)、そして 3 個までの 追加引数を含めることが出来ます。 .TP .B "AV [name [1]]" 承認署名。これは、署名と日付を伴う承認欄を生成します。 変数 \fBLetapp\fP を用いて文字列 \fBAPPROVED:\fP を変更することが出来ます。 また、文字列 \fBDate\fP は \fBLetdate\fP に入っています。 .TP .B "AVL [name]" 手紙の署名。署名用の空間の行を生成します。 .TP .B "B [bold-text [prev-font-text [bold...]]]" ボールド体の開始。引数の数には、制限はありません。 すべての引数は、1 個の単語に結合されます。 第 1 番目の引数、第 3 番目の引数、などなどがボールド体で印字されます。 .TP .B B1 (ms マクロのような) ボックスの開始。テキストの周りにボックスを描きます。 テキストは 1 文字インデントされ、右マージンは 1 文字短くなります。 .TP .B B2 ボックスの終了。\fBB1\fP によって開始されたボックスを終了します。 .TP .B BE ページ底部のブロックの終了。\fBBS\fP を参照して下さい。 .TP .B "BI [bold-text [italic-text [bold-text [...]]]]" ボールド体とイタリック体。 引数の数には制限はありません。 \fBB\fP を参照して下さい。 .TP .B "BL [text-indent [1]]" 黒丸リストの開始。これは、黒丸記号と空白を各リスト項目の先頭部分に配置する リストを初期化します (\fBLI\fP を参照して下さい)。 \fItext-indent\fP は、数値レジスタ \fBPi\fP により設定されるリスト項目の デフォルトのインデントより優先されます。 第 3 番目の引数により、各項目前の空行の出力が禁止されます。 .TP .B "BR [bold-text [roman-text [bold-text [...]]]]" ボールド体とローマン体。 引数の数には、制限はありません。 .TP .B BS ページ底部のブロック開始。これは、テキストブロックの定義を開始します。 このブロックは各ページの底部に印字されます。 ブロックは、\fBBE\fP で終了します。 .TP .B BVL 変則可変項目リスト。 この変則可変項目リストには、定まった項目記号がありません。 その代わり、各 \fBLI\fP に項目記号が定義されていると仮定しています。 テキストは必ず、項目記号の後の次の行で始まります。 \fItext-indent\fP によって、テキストのインデントが設定されます。 そして、\fImark-indent\fP によって、現在のインデントから項目記号までの 距離が設定されます。 第 3 番目の引数は、各項目の前に空行を出力することを禁止します。 .TP .B "COVER [arg]" \&\fBCOVER\fP は表紙の定義を開始します。 重要なことは、\fB.COVER\fP がすべての通常のテキストより前に現れることです。 \&\fB.COVER\fP では、\fIarg\fP を使用して、 /usr/share/tmac/mm/\fIarg\fP.cov というファイル名を構成します。 このお陰で、無制限な型の表紙を創作することが可能です。 \fIms.cov\fP の目的としていることは、\fBms\fP の表紙に似せることです。 \&\fB.COVER\fP では、表紙の定義の最後に \fB.COVEND\fP があることが要求されます。 必ず、以下のような順番で表紙マクロを使用して下さい: .nf \&.COVER \&.TL \&.AF \&.AU \&.AT \&.AS \&.AE \&.COVEND .fi しかし、必ず必要なのは \fB.TL\fP と \fB.AU\fP だけです。 .TP .B COVEND これによって表紙の記述は終了し、表紙が印字されます。 このマクロは、表紙ファイルに定義されています。 .TP .B DE ディスプレイ終了。これは、\fBDS\fP 又は \fBDF\fP で始まったテキストブロック やディスプレイを終了させます。 .TP .B "DF [format [fill [rindent]]]" フローティングディスプレイを開始します (入れ子にはできません)。 フローティングディスプレイは、キューに保存され、入れられた順番で印字されます。 \fIformat\fP, \fIfill\fP, \fIrindent\fP は、\fBDS\fP の場合と同じです。 フローティングディスプレイは、2 個の数値レジスタ \fBDe\fP と \fBDf\fP とによって制御されます。 .sp \fBDe レジスタ\fP .in +.5i .T2 0 特別なことは何もありません。これがデフォルトです。 .T2 1 ディスプレイが印字された後で改ページが行われます。 その為、1 ページに唯 1 つのディスプレイが出力されます。 その後ろには、テキストは何も続きません。 .in .sp \fBDf レジスタ\fP .in +.5i .T2 0 (セクション - ページの番号付けが有効な時は) 各セクションの最後に、 そうでない時には文書の最後に、ディスプレイは印字されます。 .T2 1 充分な余地があれば、新しいディスプレイは現在のページに印字されます。 そのような余地がなければ、ディスプレイは文書の最後に印字されます。 .T2 2 1 つのディスプレイが、各ページの、又は (多段組のモードでは) 各カラムの一番上に印字されます。 .T2 3 もし充分な余地があるならば、1 つのディプレイを印字します。 余地がなければ、ディスプレイは次ページか次のカラムの一番上に印字されます。 .T2 4 新しいページまたはカラムに、入るだけのディスプレイを印字します。 もし \fBDe\fP が 0 でなければ、各ディスプレイの間に改ページが出力されます。 .T2 5 現在のページをディスプレイで満たします。 そして、残りは、新しいページまたはカラムから始めます。(これがデフォルトです)。 もし \fBDe\fP が 0 でなければ、各ディスプレイの間に改ページが出力されます。 .in .TP .B "DL [text-indent [1]]" ダッシュリストの開始。これは、各項目がダッシュの後に印字されるリスト を開始します。 \fItext-indent\fP は、数値レジスタの \fBPi\fP によって設定される、リスト項目の デフォルトのインデントを変更します。 第 3 引数は各項目の前に空行を印字することを禁止します。 第 2 引数は印字されるべきリスト項目の間の空行を抑止します。 \fBLI\fP を参照して下さい。 .TP .B "DS [format [fill [rindent]]]" スタティックディスプレイの開始。これは、\fBDE\fP に至るまでテキストの収集を 始めます。 テキストは、ページ長より長くならない限り同一のページに印字されます。 \fBDS\fP は入れ子にできます。入れ子の深さには限度はありません (合理的な程度に :-)。 .sp \fBformat\fP .in +.5i .ds x " .\" " .T2 """""" インデントしません。 .T2 none インデントしません。 .T2 L インデントしません。 .T2 I 数値レジスタ \fBSi\fP の値だけテキストをインデントします。 .T2 C 各行を中央揃えします。 .T2 CB ディスプレイ全体をブロックとして中央揃えします。 .T2 R 行を右揃えします。 .T2 RB ディスプレイ全体をブロックとして右揃えします。 .in .sp L, I, C, CB は 0, 1, 2, 3 とも指定できます。これは互換性の理由からです。 (この機能は使用しないで下さい。:-) .sp \fBfill\fP .in +.5i .T2 """""" 行詰め機能を無効にします。 .T2 none 行詰め機能を無効にします。 .T2 N 行詰め機能を無効にします。 .T2 F 行詰め機能を有効にします。 .in .sp N と F は 0 と 1 とも指定できます。 通常は空行がディスプレイの前と後に印字されます。 数値レジスタ \fBDs\fP に 0 を設定すればこれを抑止出来ます。 \fIrindent\fP を指定すれば、行の長さをその量だけ短く出来ます。 .TP .B "EC [title [override [flag [refname]]]]" 数式の題目。 数式に題目をつけます。 引数に \fIoverride\fP を指定すれば、数式番号を変更出来ます。 .sp \fBflag\fP .in +.5i .T2 none \fIoverride\fP は、番号の接頭辞となります。 .T2 0 \fIoverride\fP は、番号の接頭辞となります。 .T2 1 \fIoverride\fP は、番号の接尾辞となります。 .T2 2 番号は \fIoverride\fP に置き換えられます。 .in \&\fBEC\fP は数値レジスタの \fBEc\fP をカウンタとして使います。 番号の形式を変更する為に、\fB.af\fP を用いることが出来ます。 もし数値レジスタの \fBOf\fP が 1 であれば、題目の形式として番号の後にはドット の代わりにダッシュが使われます。 .br 文字列変数の \fBLe\fP は、式一覧 (List of Equations) の題目を 制御します。 式一覧は、数値レジスタ \fBLe\fP が 1 の場合のみ表示されます。 デフォルトは 0 です。 これは、デフォルトでは \fILIST OF EQUATIONS\fP です。 数値レジスタの \fBLiec\fP は単語 \fIEquation\fP を含みます。 この文字列は番号の前に印字されます。 もし \fIrefname\fP が指定されている時には、数式番号が \fB.SETR\fP によって 保存されます。これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .br \fBEC\fP が \fBDS\fP/\fBDE\fP の内部で使用されている場合、 特別な表題処理を行います。 \fBDS\fP の書式には影響されません。 .TP .B "EF [arg]" 偶数ページのフッタ。これは偶数ページの通常のページフッタの すぐ上に印字されます。 \&\fBPF\fP を参照して下さい。 .TP .B "EH [arg]" 偶数ページのヘッダ。これは偶数ページの通常のページヘッダの すぐ下に印字されます。 \&\fBPH\fP を参照して下さい。 .TP .B EN 数式の終了。 \&\fBEQ\fP を参照して下さい。 .TP .B EOP ページ終了のユーザ定義マクロ。 フッタを通常通り印字する代わりにこのマクロが呼び出されます。 このマクロは何のトラップもアクティブではない状態の隔離された環境下で 実行されます。 \&\fBTP\fPを参照して下さい。 .sp \fBEOP に利用できる文字列変数\fP .in +.5i .T2 EOPf \&\fBPF\fP からの引数。 .T2 EOPef \&\fBEF\fP からの引数。 .T2 EOPof \&\fBOF\fP からの引数。 .in .TP .B "EPIC width height [name]" \fBEPIC\fP は指定された \fIwidth\fP (幅) と \fIheight\fP (高さ) の 箱を描きます。 また、テキスト \fIname\fP を表示するか、 \fIname\fP が指定されていない場合にはデフォルト文字列を表示します。 外部ピクチャを取り込むときに使用し、 この場合、ピクチャの大きさだけを指定してください。 \fBPIC\fP を見てください。 .TP .B "EQ [label]" 数式の開始。 \fBEQ\fP/\fBEN\fP は、\fBeqn\fP への入力として書かれた数式の区切り記号です。 \fBEQ\fP/\fBEN\fP は \fBDS\fP/\fBDE\fP ペアに囲まれていなければなりません。 しかし、\fBEQ\fP が \fBeqn\fP のオプションを設定するのに使用されているだけ ならば、その必要はありません。 数値レジスタの \fBEq\fP が 1 でなければ、\fIlabel\fP は数式の右マージンに 現れます。1 であれば、ラベルは左マージンに現れます。 .TP .B "EX [title [override [flag [refname]]]]" エグジビットの題目。 引数は \fBEC\fP と同じです。 \&\fBEX\fP は数値レジスタの \fBEx\fP をカウンタとして使用します。 文字列変数の \fBLx\fP は、エグジビット一覧 (List of Exhibits) の題名を 制御します。デフォルトでは \fILIST OF EXHIBITS\fP となります。 エグジビット一覧が表示されるのは、 数値レジスタ \fBLx\fP が 1 の場合のみです。 デフォルトは 1 です。 文字列変数の \fBLiex\fP は、\fIExhibit\fP という単語を含みます。 この単語は、番号の前に印字されます。 もし \fIrefname\fP が指定されたなら、その時はエグジビット番号は、 \&\fB.SETR\fP により保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .br \fBEX\fP が \fBDS\fP/\fBDE\fP の内部で使用されている場合、 特別な表題処理を行います。 \fBDS\fP の書式には影響されません。 .TP .B "FC [closing]" レターや覚書の正式な締めくくりとして \fIYours\ very\ truly,\fP を印字します。 引数でデフォルトの文字列を置き換えられます。 デフォルトは文字列変数の \fBLetfc\fP に保管されています。 .TP .B "FD [arg [1]]" 脚注のデフォルトの形式。 これは、ハイフネーション (hyphen)、右マージン揃え (adjust)、 脚注テキストのインデント (indent) を制御します。 また、ラベル揃え (ljust) も変更することが出来ます。 .sp .ne 14v .nf .ta .5i +.8i +.8i +.8i +.8i \fBarg hyphen adjust indent ljust\fP 0 no yes yes left 1 yes yes yes left 2 no no yes left 3 yes no yes left 4 no yes no left 5 yes yes no left 6 no no no left 7 yes no no left 8 no yes yes right 9 yes yes yes right 10 no no yes right 11 yes no yes right .sp .fi .DT 11 以上の引数は、引数 0 と見なされます。mm でのデフォルトは 10 です。 .TP .B FE 脚注の終了。 .TP .B "FG [title [override [flag [refname]]]]" 図の題名。 引数は \fBEC\fP のものと同じです。 \&\fBFG\fP は数値レジスタの \fBFg\fP をカウンタとして使用します。 文字列変数の \fBLf\fP は、図一覧 (List of Figures) の題名を 制御します。デフォルトでは \fILIST OF FIGURES\fP となります。 図一覧が表示されるのは、 数値レジスタ \fBLf\fP が 1 の場合のみです。 デフォルトは 1 です。 文字列変数の \fBLifg\fP は、\fIFigure\fP という単語を含みます。 この単語は、番号の前に印字されます。 もし \fIrefname\fP が指定されていれば、図番号が \&\fB.SETR\fP によって保存されます。 これは、\fB.GETST\fP \fIrefname\fP によって取り出せます。 .br \fBFG\fP が \fBDS\fP/\fBDE\fP の内部で使用されている場合、 特別な表題処理を行います。 \fBDS\fP の書式には影響されません。 .TP .B "FS [label]" 脚注の開始。 脚注は \fBFE\fP で閉じられます。 通常脚注は自動的に番号が付されます。 この番号は、文字列変数の \fBF\fP により利用出来ます。 ただ \fB\e*F\fP をテキストに加えて下さい。 また、\fIlabel\fP を引数として加えることで、 他の番号や名前を脚注に付けることが出来ます。 ディスプレイの中の脚注も今では可能です。 空行が、脚注同士を分離します。 行の高さは、数値レジスタの \fBFs\fP により制御されます。 デフォルト値は 1 です。 .TP .B "GETHN refname [varname]" これは、対応する \fBSETR\fP \fIrefname\fP が配置された場所の セクションヘッダ番号を挿入します。 これは、1 回目のパスでは、X.X.X. となっているでしょう。 \fBINITR\fP を参照して下さい。 もし varname が指定されているなら、\fBGETHN\fP により文字列変数の \&\fIvarname\fP にはセクションヘッダ番号が代入されます。 .TP .B "GETPN refname [varname]" これは、対応する \fBSETR\fP \fIrefname\fP が配置された場所の ページ番号を挿入します。 これは、1 回目のパスでは、9999 となっているでしょう。 \fBINITR\fP を参照して下さい。 もし varname が指定されているなら、\fBGETPN\fP により文字列変数の \&\fIvarname\fP にはページ番号が代入されます。 .TP .B "GETR refname" これは \fBGETHN\fP と \fBGETPN\fP をテキストの 「chapter」と「, page」とともに結合します。 文字列変数の \fIQrf\fP は参照用のテキストを保持しています: .ti +.5i \&.ds Qrf See chapter \e\e*[Qrfh], page \e\e*[Qrfp]. .br \fIQrf\fP は他の言語をサポートする為に変更出来ます。 文字列変数の \fIQrfh\fP と \fIQrfp\fP は \fBGETR\fP により設定され、 セクションヘッダ番号とページ番号が入っています。 .TP .B "GETST refname [varname]" これは、\fB.SETR\fP の第 2 引数により保存された文字列を挿入します。 これは、1 回目のパスでは、ダミー文字列になっているでしょう。 もし varname が指定されたなら、\fBGETST\fP により文字列変数の \fIvarname\fP には保存された文字列が代入されます。 \&\fBINITR\fP を参照して下さい。 .TP .B "H level [heading-text [heading-suffix]]" 番号付セクション見出し。 セクションヘッダには、1 から 7 迄のレベルを付けられます。 レベル 1 が、トップレベルです。 テキストは引数 \fIheading-text\fP に与えられます。 テキストに空白があるときには、二重引用符で括らなければなりません。 \fBheading-suffix\fP をセクションヘッダのテキスト中に付け加えられます。 しかし、これは目次には現れません。 通常、これは脚注マークや同様のものに用いられます。 \fIheading-suffix\fP の中では \fB\e*F\fP を使わないで下さい。 \fB\e*F\fP は機能しません。 手動のラベルを使わなければなりません。 \fBFS\fP を参照して下さい。 .sp \fBH\fP の直後に置かれた段落 \fBP\fP は、無視されます。 \fBH\fP によって、行送りとインデントの処理が行われます。 .sp \fB見出しの前のページ切替\fP .br 数値レジスタの \fBEj\fP は見出しの前のページ切替を制御します。 通常、レベル 1 の見出しは、その前に 2 行の空行が印字されます。 それより高次のレベルの見出しの前では 1 行になります。 数値レジスタの \fBEj\fP が 1 であれば、各第 1 レベルの見出しの前で 新しいページが排出されます。 レベルが \fBEj\fP の値以下の見出しすべてについて、ページが切り替えられます。 \fBEj\fP のデフォルト値は 0 です。 .sp \fB見出しの行区切りレベル\fP .br もし見出しレベルが数値レジスタ \fBHb\fP 以下ならば、 見出しの後で行区切りが起こります。 このレジスタのデフォルト値は 2 です。 .sp \fB見出しの空白行のレベル\fP .br もし見出しレベルが数値レジスタ \fBHs\fP 以下ならば、 空白行が見出しの後に挿入されます。 このレジスタのデフォルト値は 2 です。 .sp もしレベルが \fBHb\fP と \fBHs\fP の両方より大きければ、 テキストは同じ行で見出しの後に続きます。 .sp \fB見出しの後のインデント\fP .br 見出しの後のテキストのインデントは数値レジスタの \fBHi\fP によって制御 されます。 このレジスタのデフォルト値は 0 です。 .sp \fBHi\fP .in +.5i .T2 0 テキストは左揃えされます。 .T2 1 テキストのインデントは数値レジスタの \fBPt\fP の値に従います。 \fBP\fP を参照して下さい。 .T2 2 テキストは見出しの最初の単語に合わせて 1 列に並べられます。 .in .sp \fBセクション見出しの中央揃え\fP .br そのレベルが数値レジスタの \fBHc\fP 以下で、かつ \fBHb\fP 又は \fBHs\fP 以下の見出しはすべて、中央揃えされます。 .sp \fB見出しのフォントの管理\fP .br 各見出しレベルでのフォントは文字列変数の \fBHF\fP を用いて管理されています。 この変数には各レベルでのフォント番号又はフォント名が入れられています。 デフォルトでは \fB2\ 2\ 2\ 2\ 2\ 2\ 2\fP (すべての見出しでイタリック体) です。 これをまた \fBI\ I\ I\ I\ I\ I\ I\fP の様にも書くことが出来ます。 省略された値はすべて 1 であると推定されます。 .sp \fBポイントサイズの管理\fP .br 各見出しのポイントサイズは、フォントが \fBHF\fP により管理されるのと同様な 方法で、文字列変数の \fBHP\fP により管理されます。 値 0 は、デフォルトのポイントサイズを選びます。 デフォルト値は \fB0\ 0\ 0\ 0\ 0\ 0\ 0\fP です。 ポイントサイズのみが変わるのであって、垂直サイズではないことに気をつけて下さい。 垂直サイズはユーザにより指定されるマクロ \fBHX\fP や \fBHZ\fP によって 管理出来ます。 .sp \fB見出しカウンタ\fP .br \fBH1\fP から \fBH7\fP 迄の名前をつけられた 7 個の数値レジスタには 各見出しレベルのカウンタが入れられています。 それらの値はアラビア数字を使って印字されます。 これらは、マクロの \fBHM\fP (下記参照) によって変えられます。 すべての記号は印字する前に結合されます。 これを避ける為には、数値レジスタの \fBHt\fP に 1 を代入して下さい。 これにより各見出しでは、現在の見出しのカウンタだけが印字されます。 .sp \fB自動の目次\fP .br その見出しレベルが数値レジスタ \fBCl\fP 以下の見出しは、 目次に印字する為に保存されます。 このレジスタのデフォルト値は 2 です。 .sp \fB見出しの特別な管理、ユーザ定義マクロ\fP .br これから記述するマクロは垂直行送り、フォント、または他の機能を細かく 制御するためにユーザが定義できるものです。 引数 \fIlevel\fP は \fBH\fP へのレベル引数です。 しかし、これは番号無し見出しでは 0 になります (\fBHU\fP を参照して下さい)。 引数 \fIrlevel\fP は実際のレベルです。 これは、番号無し見出しの為に数値レジスタ \fBHu\fP に代入されます。 引数 \fIheading-text\fP は、\fBH\fP や \fBHU\fP へのテキスト引数です。 .sp \fBHX\ \fP\fIlevel\ rlevel\ heading-text\fP .br \fBHX\fP は見出し印字の直前に呼び出されます。 以下のようなレジスタが \fBHX\fP に利用出来ます。 \fBHX\fP は\ \fB}0\fP, \fB}2\fP, \fB;3\fP を変更してもかまいません。 .in +.5i .T3 "文字列変数\ }0" もし \fIrlevel\fP が非 0 であれば、見出し記号と 2 個のスペースが入っています。 そうでなければ、空です。 .T3 "数値レジスタ\ ;0" 見出しの後のテキストの位置が入っています。 0 はテキストが見出しと同じ行に続くはずであることを意味しています。 1 はテキストの前で行区切りが生ずるはずであることを意味します。 2 は空白行が見出しとテキストを分離するはずであることを 意味します。 .T3 "文字列変数\ }2" 数値レジスタの \fB;0\fP が 0 であれば、このレジスタには 2 個のスペースが入ります。 これは見出しからテキストを分離するのに使われます。 もし \fB;0\fP が非 0 であれば、この文字列変数は空です。 .T3 "数値レジスタ\ ;3" これには見出しの後に必要とされる行送りが単位付きで入ります。 デフォルトは 2v です。 これらは番号付け (\fB}0\fP)、垂直行送り (\fB}2\fP)、そして 見出しの後に必要な行送りの様な事柄を変更するのに使用出来ます。 .in .sp \fBHY\ \fP\fIdlevel\ rlevel\ heading-text\fP .br \fBHY\fP はサイズとフォントの計算の後に呼び出されます。 インデントを変更するために使えるでしょう。 .sp \fBHZ\ \fP\fIdlevel\ rlevel\ heading-text\fP .br \fBHZ\fP は見出しの印字の後で、\fBH\fP 又は \fBHU\fP が終了する直前に、 呼ばれます。 これは、セクション見出しに従いページヘッダを変更する為に使うことが出来るでしょう。 .TP .B "HC [hyphenation-character]" ハイフネーション文字を設定します。 デフォルト文字は \e% です。 引数なしで呼ばれた時はデフォルトに再設定します。 ファイルの初めで数値レジスタ \fBHy\fP に 0 を設定すれば、 ハイフネーションを止められます。 .TP .B "HM [arg1 [arg2 [... [arg7]]]]" 見出し記号の型。 見出しカウンタを印字する為の記号の型を制御します。 デフォルトは、すべてのレベルで 1 です。 .sp \fB引数\fP .in +.5i .T2 1 アラビア数字 .T2 0001 ひとつ以上の 0 を先行したアラビア数字 .T2 A 大文字のアルファベット .T2 a 小文字のアルファベット .T2 I 大文字のローマ数字 .T2 i 小文字のローマ数字 .T2 \fI空\fP アラビア数字 .in .TP .B "HU heading-text" 番号無しセクションヘッダ。 数値レジスタ \fBHu\fP をレベルとして \fBHU\fP は \fBH\fP の様に振舞います。 \fBH\fP を参照して下さい。 .TP .B "HX dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 \fBH\fP を参照して下さい。 .TP .B "HY dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字する直前に呼ばれます。 \fBH\fP を参照して下さい。 .TP .B "HZ dlevel rlevel heading-text" ユーザ定義見出しの終了。 セクションヘッダを印字した直後に呼ばれます。 \fBH\fP を参照して下さい。 .TP .B "I [italic-text [prev-font-text [italic-text [...]]]]" イタリック体です。 これは引数なしで呼ばれたならフォントをイタリック体に変更します。 引数が 1 個の場合には、これはその単語をイタリック体にします。 引数が 2 個の場合には、これは引数を連結し最初の単語にイタリック体を 設定し、2 番目に以前のままのフォントを設定します。 引数の数には制限はありません。 すべての引数は、連結されます。 .TP .B "IA [addressee-name [title]]" これはレター形式の受信人 (addressee) と受信人のアドレスの記述を 開始します。 いくつかの名前が空の \fBIA\fP/\fBIE\fP ペアにより指定できます。 しかし、アドレスは唯 1 つになります。 \fBLT\fP を参照して下さい。 .TP .B "IB [italic-text [bold-text [italic-text [...]]]]" イタリック体とボールド体。 偶数番目の引数がイタリック体で、奇数番目がボールド体で印字されます。 \fBI\fP を参照して下さい。 .TP .B IE \fPIA\fP の後でアドレス指定を終了します。 .TP .B "INITI filename [type]" 新しいインデックスシステムを初期化し、 インデックス行を集めるファイル名を \fBIND\fP に設定します。 引数 \fItype\fP はインデックスのタイプ、 すなわち、ページ番号・ヘッダマーク・両方のいずれかを選択します。 デフォルトは \fIN\fP です。 .sp \fBtype\fP .in +.5i .T2 N ページ番号 .T2 H ヘッダマーク .T2 B ページ番号とヘッダマークの両方をタブで区切ります .in .TP .B "IND arg1 [arg2 [...]]" \fBIND\fP は、\fBINITI\fP で選択されたインデックスファイルへ、 全引数とページ番号またはヘッダマークをタブで区切った 1 行を書き込みます。 .in +.5i \fB礼\fP .br arg1\etページ番号 .br arg1\etarg2\etページ番号 .br arg1\etヘッダマーク .br arg1\etページ番号\etヘッダマーク .in .TP .B "INDP" \fBINDP\fP は、文字列変数 \fBIndcmd\fP で指定されるコマンドを実行し、 インデックスを表示します。通常は \fIsort\ -t\et\fP を実行します。 \fBINDP\fP はコマンドの出力を読み、インデックスを生成します。 通常は 2 桁の書式です (\fBTYIND\fP の定義により変更可能です)。 インデックスは、文字列変数 \fBIndex\fP のヘッダと共に表示されます。 この変数のデフォルト値は \fBINDEX\fP です。 1 桁の処理は、一覧の後で返されます。 \fBINDP\fP は、ユーザ定義マクロ \fBTXIND\fP, \fBTYIND\fP, \fBTZIND\fP が 定義されていれば呼び出します。 \fBTXIND\fP は、\fBINDEX\fP の表示前に呼び出されます。 \fBTYIND\fP は、\fBINDEX\fP の表示の代りに呼び出されます。 \fBTZIND\fP は、表示の後で呼び出され、再度通常動作へ戻る処理を行うべきです。 .TP .B "INITR filename" 参照用マクロの初期化。 参照はファイル \fIfilename.tmp\fP と \fIfilename.qrf\fP とに 書き込まれます。 これには、groff の 2 回のパスが必要とされます。 最初のパスでは参照を探し、2 回目のパスではそれらを取り込みます。 \fBINITR\fP は数回使用できます。 しかし、有効なのは最初に出現した \fBINITR\fP だけです。 \fBunsafe\fP-error 発生時には、オプション \fB-U\fP が必要かもしれません。 関連項目は、\fBSETR\fP, \fBGETPN\fP, \fBGETHN\fP です。 .TP .B "IR [italic-text [roman-text [italic-text [...]]]]" イタリック体とローマン体。 偶数番目の引数がイタリック体で、奇数番目がローマン体で印字されます。 \fBI\fP を参照して下さい。 .TP .B "LB text-indent mark-indent pad type [mark [LI-space [LB-space]]]" リスト開始マクロ。 これはすべてのリストに使用される共通のマクロです。 引数 \fItext-indent\fP は現在のインデントからテキストをインデントする スペースの数です。 .sp \fIpad\fP と \fImark-indent\fP は項目記号を置く所を指定します。 項目記号は記号領域に配置されます。 \fImark-indent\fP はこの領域の前のスペースの数を設定します。 これは通常 0 です。 記号領域はテキストが始まる所で終ります。 それでもなお、テキストの開始は \fItext-indent\fP により決められます。 .sp もし \fIpad\fP が 0 ならば、項目記号は記号領域の中で左揃えされます。 もし\fIpad\fP が 0 より大きければ、その時は \fImark-indent\fP は無視されます。 そして項目記号はテキストに対しスペースで \fIpad\fP 個分前に配置されます。 この操作では、項目記号は右揃えされます。 .sp もし \fItype\fP が 0 であれば、リストはハンギングインデントになるか、又は 引数の \fImark\fP が与えられていたら、文字列の \fImark\fP が項目記号 となります。 .sp もし \fItype\fP が 0 より大きければ、自動的な番号付けが行われます。 更に \fImark\fP が空であれば、番号はアラビア数字となります。 この時、\fImark\fP には \fB1\fP, \fBA\fP, \fBa\fP, \fBI\fP, \fBi\fP のどれでも指定出来ます。 .sp \fItype\fP には項目記号を表示するため 6 通りの可能な方法の中から 1 つを選べます。 .br \fBtype\fP .in +.6i .T2 1 x. .T2 2 x) .T2 3 (x) .T2 4 [x] .T2 5 .T2 6 {x} .in .sp リストの各項目の前には \fILI-space\fP 行の空行が置かれます。 デフォルトは 1 です。 .sp \fBLB\fP 自体には \fILB-space\fP 行の空行が印字されます。 デフォルトは 0 です。 .TP .B "LC [list-level]" リスト状態情報のクリア。 これにより、アクティブなリストが \fIlist-level\fP レベル迄、 あるいは引数が指定されなかった場合には 0 レベル迄、すべて終了されます。 これはアクティブなリストをすべてクリアする為に \fBH\fP により使用されます。 .TP .B "LE [1]" リストの終了。 これは現在のリストを終了します。 \fBLE\fP はもし引数が指定されているなら、空行を印字します。 .TP .B "LI [mark [1]]" リスト項目。 これは、リストの各項目の最初に置かれます。 引数がないときは、\fBLI\fP は、現在のリスト形式で決められる項目記号 を印字します。 \fBLI\fP に引数を 1 つ指定すると、それが代わりの項目記号として使用されます。 \fBLI\fP に引数を 2 つ指定すれば、\fImark\fP は現在の項目記号の接頭辞と なります。 第 2 引数が \fB1\fP ではなく \fB2\fP の場合、 接頭辞と項目記号の区切り空白は生成されません。 この動作は、数値レジスタ \fBLimsp\fP を 0 に設定することでも実現可能です。 長さ 0 の \fImark\fP を指定した場合はハンギングインデントが生成されます。 .sp 通常はリスト項目の前に空行が印字されます。 この挙動は数値レジスタの \fBLs\fP を用いて制御出来ます。 \fBLs\fP 以下のすべてのリストレベルで先行する行送りが生成されます。 このレジスタのデフォルト値は 99 です。 (リストの入れ子は無制限です。:-) .sp インデントは数値レジスタの \fBLi\fP によって変えられます。 デフォルトは 6 です。 .sp すべてのリストはリスト初期化マクロの \fBLB\fP により始まります。 しかし、リストを使いやすくする為に予め定義されているリストの形式が 7 つあります。 これらの形式はすべて異なったデフォルト値で \fBLB\fP を呼び出します。 .in +.5i .T2 \fBAL\fP 自動増加番号リスト .T2 \fBML\fP 記号付きリスト .T2 \fBVL\fP 可変項目リスト .T2 \fBBL\fP 黒丸リスト .T2 \fBDL\fP ダッシュリスト .T2 \fBRL\fP 参照文献リスト .T2 \fBBVL\fP 変則可変リスト .in これらのリストについてはこのマニュアルのほかの所に記述してあります。 関連項目は \fBLB\fP です。 .TP .B "LT [arg]" 引数に基づいて 4 つの異なった形式の内の 1 つでレターを構成します。 関連項目は \fB内部\fP セクションです。 .in +.5i .T2 \fBarg 形式\fP .T2 BL ブロック形式。日付欄、返送先アドレス、著者のアドレスと結辞は行の中央から始まります。 他のすべての行は左マージンから始まります。 .T2 SB 半ブロック形式。ブロック形式と同様ですが、 各段落の最初の行が スペース 5 個分インデントされます。 .T2 FB 全ブロック形式。すべての行が左マージンから始まります。 .T2 SP 簡易形式。全ブロック形式とほぼ同じです。 主題と著者の身分がすべて大文字で印字されます。 .in .TP .B "LO type [arg]" レターのオプションを指定します (\fB.LT\fP を参照して下さい)。 以下に示すのは標準のオプションです。 .in +.5i .T2 CN 機密表記。 日付欄の下 2 行目に \fBRESTRICTED\fP を印字します。 引数で \fBRESTRICTED\fP を置き換えられます。 関連項目は文字列変数 \fBLetCN\fP です。 .T2 RN 参考文献表記。 \fBIn reference to:\fP と引数を日付欄の 2 行下に印字します。 関連項目は文字列変数 \fBLetRN\fP です。 .T2 AT 気付。\fBATTENTION:\fP と引数を内部アドレスの下に印字します。 関連項目は文字列変数 \fBLetAT\fP です。 .T2 SA 頭辞。\fBTo Whom It May Concern:\fP か、又はもし指定されていた時には引数を 印字します。 頭辞は内部アドレスの 2 行下に印字されます。 関連項目は \fBLetSA\fP です。 .T2 SJ 主題欄。 レター形式 \fBSP\fP 以外の場合には、主題として \fBSUBJECT:\fP を 接頭辞として付けた引数を内部アドレスの 2 行下に印字します。 レター形式 \fBSP\fP の場合には、主題は接頭辞なしで、すべて大文字で印字されます。 関連項目は文字列変数の \fBLetSJ\fP です。 .in .TP .B "MC column-size [column-separation] " 多段組の開始。\fB1C\fP で通常状態に戻ります。 \fBMC\fP により現在の行長に入るだけの数のカラムが作られます。 \fIcolumn-size\fP は各カラムの幅で、\fIcolumn-separation\fP はカラムの間の 間隔です。 デフォルトの間隔は column-size/15 です。 関連項目は \fB1C\fP です。 .TP .B "ML mark [text-indent [1]]" 記号付きリストの開始。 各リスト項目の前に引数の \fImark\fP が印字されます。 \fItext-indent\fP の指定により、インデントが設定され、 \fBLi\fP よりも優先されます。 第 3 引数により各項目の前の空行の印字が禁止されます。 .TP .B "MT [arg [addressee]]" 覚書形式。 引数 \fIarg\fP は \fI/usr/share/tmac/mm/*.MT\fP というファイル名の部分です。 覚書の形式としては、\fI"string"\fP を含んで 0 から 5 迄サポートされています。 \fIaddressee\fP は単に、AT&T のマクロで使われる変数を設定するだけです。 .br \fBarg\fP .in +.5i .T2 0 通常の覚書。形式は印字されません .T2 1 \fIMEMORANDUM FOR FILE\fP が印字される覚書。 .T2 2 \fIPROGRAMMER'S NOTES\fP が印字される覚書。 .T2 3 \fIENGINEER'S NOTES\fP が印字される覚書。 .T2 4 公開論文形式。 .T2 5 外部へのレター形式。 .in 関連項目は、もっと柔軟な表題紙 \fBCOVER\fP/\fBCOVEND\fP です。 .TP .B "MOVE y-pos [x-pos [line-length]]" ある位置へ移動し、ページオフセットが \fIx-pos\fP に設定されます。 もし \fIline-length\fP が指定されなかったときは、現在の行長と 新しいページオフセットの差が使われます。 正常状態に戻るには、引数なしの \fBPGFORM\fP を使って下さい。 .TP .B "MULB cw1 space1 [cw2 space2 [cw3 ...]]" 特殊多段組モードの開始。 各カラムの幅を指定しなければなりません。 また、カラム間の間隔も指定しなければなりません。 最後のカラムの後には間隔指定は必要ありません。 MULB により転換が開始し、MULE により転換が終了しカラムが印字されます。 幅と間隔の単位は「n」です。 しかし、MULB は「c」や「i」のような通常の単位指定をすべて受け付けます。 MULB は、隔離された環境下で機能します。 .TP .B "MULN" 次のカラムの開始。 これは、カラムを切り替える唯一の方法です。 .TP .B "MULE" 多段組モードの終了とカラムの印字。 .TP .B "nP [type]" 2 段階のヘッダレベルを持つ番号付き段落の印字。 \&\fB.P\fP を参照して下さい。 .TP .B "NS [arg [1]]" 異なる形式の注釈を印字します。 引数は予め定義された形式の注釈の中から選びます。 もし 2 番目の引数が利用可能であれば、引数が注釈全体になります。 もし引数が予め定義されたものの中になければ、このマクロは \&\fBCopy (\fP\fIarg\fP\fB) to\fP のように印字されます。 さらに標準の注釈を加えることも可能です。 文字列変数の \fBLetns\fP と \fBLetnsdef\fP を参照して下さい。 .nf .in +.5i .T2 \fBarg 注釈\fP .T2 \fIなし\fP Copy To .T2 """"" .\" " Copy To .T2 1 Copy To (with att.) to .T2 2 Copy To (without att.) to .T2 3 Att. .T2 4 Atts. .T2 5 Enc. .T2 6 Encs. .T2 7 Under separate cover .T2 8 Letter to .T2 9 Memorandum to .T2 10 Copy (with atts.) to .T2 11 Copy (without atts.) to .T2 12 Abstract Only to .T2 13 Complete Memorandum to .T2 14 CC .in .fi .TP .B "ND new-date" 新しい日付。 現在の日付を置き換えます。 もし \fInew-date\fP が空文字列であれば、日付は印字されません。 .TP .B "OF [arg]" 奇数ページフッタ。 通常のフッタのすぐ上に 1 行印字されます。 \fBEF\fP と \fBPF\fP を参照して下さい。 .TP .B "OH [arg]" 奇数ページヘッダ。 通常のヘッダのすぐ下に 1 行印字されます。 \fBEH\fP と \fBPH\fP を参照して下さい。 .TP .B OP 後続するテキストが奇数ページの一番上に印字されることを確認します。 もし現在奇数ページの一番上にいるなら、白紙ページの出力はしません。 .TP .B "P [type]" 新しい段落の開始。 引数なしの \fBP\fP は、段落の一番最初の行も左揃えしたテキストを生成します。 これは、\fItype\fP に 0 を指定するのと同じです。 もし引数が 1 であれば、\fBP\fP に続くテキストの最初の行は 数値レジスタ \fBPi\fP に設定された数のスペースだけインデントされます。 この値は通常 5 です。 .sp \&\fBP\fP への引数として 1 を指定する代わりに、数値レジスタ \fBPt\fP に 段落の形式を設定することも可能です。 0 と 1 を設定することは、その値を \fBP\fP に与えることと同じになります。 値 2 により、すべての段落がインデントされます。 ただし見出し、リスト、ディスプレイの後は例外です。 .sp 段落間の間隔は数値レジスタの \fBPs\fP により制御され、 デフォルトでは 1 です(1 行の空白行)。 .TP .B "PGFORM [linelength [pagelength [pageoffset [1]]]]" 行長やページ長、ページオフセットを設定します。 このマクロは、レターヘッドや他のものの様に、特別の形式を生成するために 使用出来ます。 これは、通常はファイル中の最初のコマンドですが、必須ではありません。 \&\fBPGFORM\fP を引数なしで使用すれば、 \&\fBMOVE\fP の後ですべてを再初期化することが出来ます。 4 番目の引数が指定されなければ、行区切りが生成されます。 このマクロは、新しい行長とページ長を設定する一方、 最初のページにページ番号を出力するのを避けるために使用できます。 (このマクロが十分に動作していないように見えるときがあります。 代りにコマンド行引数を使用して、 行の長さ、ページの長さ、ページオフセットを変えてください。 ごめんなさい。) .TP .B PGNH 次のページにヘッダが印字されません。 レターや他の特殊なテキストのヘッダを取り除くために使われます。 最初のページのページヘッダを禁止するためには、いかなるテキストよりも前に このマクロが使われなければなりません。 .TP .B PIC [-L] [-C] [-R] [-I n] filename [width [height]] \fBPIC\fP は Postscript ファイルを文書に取り込みます。 本マクロは \fBmgm_ref\fP と \fBINITR\fP に依存します。 \fB-L\fP, \fB-C\fP, \fB-R\fP, \fB-I n\fP は、 ピクチャを調整するか、ピクチャをインデントします。 オプションの \fIwidth\fP と \fIheight\fP もまた、 ピクチャの大きさを変えるために指定可能です。 .TP .B PE ピクチャの終り。 \&\fBpic\fP コマンドの為のピクチャを終了します。 \&\fBpic\fP コマンドのマニュアルを参照して下さい。 .TP .B "PF [arg]" ページフッタ。 \&\fBPF\fP は各ページの一番下に印字される行を設定します。 通常は空です。 引数の指定に関しては \fBPH\fP を参照して下さい。 .TP .B "PH [arg]" ページヘッダ。 各ページの一番上に 1 行印字されます。 引数は「'left-part'center-part'right-part'」のように 指定されなければなりません。 ここで、left-part, center-part, right-part はそれぞれ左揃え、中央揃え、右揃え に印字されます。 文字 \fB%\fP は現在のページ番号に変更されます。 デフォルトのページヘッダは「''- % -''」で、ページ番号が 2 個のダッシュ記号に はさまれます。 .TP .B PS ピクチャの開始 (pic コマンドより)。 -\&\fB@TMAC@pic\fP の為のピクチャを開始します。 +\&\fBpic\fP の為のピクチャを開始します。 マニュアルを参照して下さい。 .TP .B PX ページヘッダのユーザ定義による出口マクロ。 \&\fIno-space\fP モードでページヘッダの印字の直後に \fBPX\fP は呼び出されます。 .TP .B R ローマン体。 ローマンフォントに戻ります。 関連項目は \fBI\fP です。 .TP .B "RB [roman-text [bold-text [roman-text [...]]]]" ローマン体とボールド体。 偶数番目の引数はローマン体で印字されます。 奇数番目は、ボールド体で印字されます。 \fBI\fP を参照して下さい。 .TP .B "RD [prompt [diversion [string]]]" 標準入力から転換や文字列変数に読み込みます。 テキストは \fIdiversion\fP という名前の転換に保存されます。 テキストを取り出すには、空行にドットの後に転換の名前を書いて下さい。 もし \fIstring\fP が指定されたなら文字列変数 \fIstring\fP も定義されます。 \&\fIdiversion\fP や \fIprompt\fP は空 ("") にすることが出来ます。 .TP .B RF 参考文献の終了。 参考文献の定義を終了し、通常の処理に復帰します。 \&\fBRS\fP を参照して下さい。 .TP .B "RI [roman-text [italic-text [roman-text [...]]]]" 偶数番目の引数はローマン体で印字されます。 奇数番目はイタリック体で印字されます。 \&\fBI\fP を参照して下さい。 .TP .B "RL [text-indent [1]]" 参考文献リストの開始。 各項目の前に角括弧で挟まれた自動増加の番号を付けたリストを開始します。 \&\fItext-indent\fP によって、デフォルトのインデントを変更出来ます。 .TP .B "RP [arg1 [arg2]]" 参考文献ページを生成します。 もし参考文献ページが文書のどこかで必要とされているなら \fBRP\fP を用いることが出来ます。 もし \fBTC\fP が目次の生成に使われているなら、このマクロは必要ありません。 その時は参考文献ページは自動的に印字されます。 .sp もし \fIarg1\fP が 1 ならば参考文献カウンタは再初期化されません。 .sp 引数 \fIarg2\fP により \fBRP\fP に対しページ切替が行われるか否か を指定出来ます。 .br \fBarg2\fP .in +.5i .T2 0 参考文献ページは別のページに印字されます。 これがデフォルトです。 .T2 1 リストの後でページを切り替えません。 .T2 2 ページの前でページを切り替えません。 .T2 3 リストの前後でページを切り替えません。 .in 参考文献の項目は空行で分離されます。 数値レジスタの \fBLs\fP を 0 に設定すれば、この空行は抑止出来ます。 .sp 文字列変数の \fBRp\fP には参考文献ページの題名が入っています。 この題名は通常は \fIREFERENCES\fP に設定されています。 .TP .B "RS [string-name]" \&\fBRS\fP により自動番号付けの参考文献の定義が開始します。 文字列変数の \fB\e*(Rf\fP を参考文献記号があるべき所に配置し、 参考文献を参考文献記号の後の次の改行のところから \fBRS\fP/\fBRF\fP の間に挟んで書いて下さい。 参考文献番号は数値レジスタの \fB:R\fP に保存されています。 もし \fIstring-name\fP が指定されたら、その名前の文字列変数が 定義され、現在の参考文献記号が入れられます。 文字列変数はその後テキスト中で \fB\e*[\fIstring-name\fP]\fP により 参照することが出来ます。 .TP .B "S [size [spacing]]" ポイントサイズと垂直行送りを設定します。 もし引数のどれかが「P」に等しければ、そのときは以前の値が用いられます。 「C」は現在の値を表し、「D」はデフォルトの値を表します。 もし、「+」又は「-」が値の前に用いられているなら、現在の値に加算又は減算 が行われます。 .TP .B "SA [arg]" 右マージン行末揃えが設定されます。 通常、行末揃えは機能しています。 引数がないか、または \fB0\fP であれば、行末揃えは機能を止められます。 引数が \fB1\fP であれば、行末揃えは機能を働かせます。 .TP .B "SETR refname [string]" 現在のヘッダ番号とページ番号を refname として記憶します。 もし \fIstring\fP が定義されていれば、\fIstring\fP を保存します。 \fIstring\fP は \fB.GETST\fP によって取り出されます。 \fBINITR\fP を参照して下さい。 .TP .B "SG [arg [1]]" 署名欄。 正式な結辞の後に著者(達)の名前を印字します。 引数は参照データに加えられて、最初か最後の著者の箇所に印字されます。 参照データとは \fB.AU\fP により指定される 所在地、部局、及びイニシャルです。 このデータは、最初の著者か、そうでなければ最後の著者の箇所に印字されます。 著者(達)が \fB.WA\fP/\fB.WE\fP で指定されていれば、 何の参照データも印字されません。 \&\fBLetter 内部\fP セクションを参照して下さい。 .TP .B "SK [pages]" ページ送りします。 もし \fIpages\fP が \fB0\fP であるか省略されている場合には、既に印字位置が ページの一番上でなければ、次のページ迄ページ送りされます。 また、\fIpages\fP がこれら以外であれば、\fIpages\fP のページを ページ送りします。 .TP .B "SM string1 [string2 [string3]]" 文字列を小さくします。 もし \fIstring2\fP が指定されたときには、\fIstring1\fP は小さくなり、\fIstring2\fP は通常の大きさで \fIstring1\fP に結合されます。 引数が 3 個あるときには、すべての引数が結合され、 \fIstring2\fP だけが小さくなります。 .TP .B "SP [lines]" 垂直に行送りします。 \fIlines\fP には \fI3i\fP や \fI8v\fP の様に、何らかの単位を付けられます。 1 行にいくつかの \fBSP\fP を記述しても、それらの合計の行数ではなく、 それらのうちで最大の行数の行送りを生成します。 またページの最初のテキスト行までは \fBSP\fP は無視されます。 これを避けるには、\fBSP\fP の前に \fB\e&\fP を加えて下さい。 .TP .B TAB タブ位置を 5n 毎に再設定します。 通常はそれまでの任意のタブ設定位置を再設定するのに使用されます。 .TP .B "TB [title [override [flag [refname]]]]" 表の題目。 引数は \fBEC\fP のものと同じです。 \&\fBTB\fP は数値レジスタの \fBTb\fP をカウンタとして使用します。 文字列変数の \fBLt\fP は、表一覧 (List of Tables) の題名を 制御します。デフォルトでは \fILIST OF TABLES\fP となります。 表一覧が表示されるのは、 数値レジスタ \fBlLt\fP が 1 の場合のみです。 デフォルトは 1 です。 文字列変数の \fBLitb\fP は、\fITABLE\fP という単語を含みます。 この単語は、番号の前に印字されます。 .br \fBTB\fP が \fBDS\fP/\fBDE\fP の内部で使用されている場合、 特別な表題処理を行います。 \fBDS\fP の書式には影響されません。 .TP .B "TC [slevel [spacing [tlevel [tab [h1 [h2 [h3 [h4 [h5]]]]]]]]]" 目次。 通常このマクロは文書の最後の行に置かれます。 このマクロは、数値レジスタの \fBCl\fP によって制御されるレベルまでの 見出しで構成される目次を生成します。 \fBCl\fP は見出しの保存を制御するのであって、\fBTC\fP には 何の関わりもないことに注意して下さい。 \fIslevel\fP 以下のレベルの見出しにはそれらの前に \fIspacing\fP だけの空行が生成されます。 \fItlevel\fP 以下のレベルの見出しには右揃えした対応するページ番号が置かれます。 これらの見出しのテキストとページ番号はドットか空白によって分離されます。 もし \fItab\fP が 0 より大きければ、空白が用いられます。 そうでなければ、ドットが用いられます。 その他の見出しには見出しテキストの末尾にページ番号が直接置かれます (\fI右揃えしない\fP)。 .sp 引数の残りのものは、目次の前に中央揃えで印字されます。 .sp もし \fBTC\fP が多くて 4 個の引数を伴って呼び出されるならば、ユーザ定義の マクロ \fBTX\fP と \fBTY\fP が使われます。 \fBTX\fP は \fICONTENTS\fP の印字の前に呼び出されます。 そして \fBTY\fP は \fICONTENTS\fP を印字する代わりに呼び出されます。 .sp 等価のマクロを、図一覧、表一覧、式一覧、エクジビット一覧用に定義可能です。 これは \fBTXxx\fP または \fBTYxx\fP を定義することにより行い、 \fBxx\fP は \fBFg\fP, \fBTB\fP, \fBEC\fP, \fBEX\fP のいずれかです。 .sp 文字列変数 \fBCi\fP を各見出しレベルのインデントを制御するために 設定できます。 インデントには \fB.ds\ Ci\ .25i\ .5i\ .75i\ 1i\ 1i\fP の様に 単位を付けなければなりません。 インデントは通常各レベルの見出しの最大長によって制御されます。 .sp すべてのテキストは再定義が出来ます。 新しい文字列変数の \fILifg\fP, \fILitb\fP, \fILiex\fP, \fILiec\fP, \fILicon\fP にはそれぞれ 「Figure」、「TABLE」、「Exhibit」、「Equation」及び「CONTENTS」 が入っています。 これらの変数は、他の言語に再定義できます。 .TP .B TE 表の終了。 \&\fBTS\fP を参照して下さい。 .TP .B "TH [N]" 表のヘッダ。 \&\fBTS\fP を参照して下さい。 \&\fBTH\fP により表のヘッダが終了します。 もしページ区切りが起こればこのヘッダはもう一度印字されます。 引数の \fIN\fP はまだ実装されていません。 .TP .B TL [charging-case number(s) [filing-case number(s)]] 覚書の題名の開始。 次の \fBAU\fP 迄のすべてのテキストが題名に含められます。 \&\fIcharging-case number\fP と \fIfiling-case number\fP は 表題紙を処理するために保存されます。 .TP .B TM [num1 [num2 [...]]] \&\fB.MT\fP で使われる技術覚書番号。 無制限な数の引数を指定できます。 .TP .B TP ユーザが定義するページ最上部のマクロです。 このマクロは通常のページヘッダの代わりに呼ばれます。 ヘッダに対して完全な制御が出来ます。 ヘッダとフッタは隔離された環境下で印字されることに注意して下さい。 ただし、行長は保持されています。 .TP .B "TS [H]" 表の開始。 -これは \fB@TMAC@tbl\fP に対する表の指定の開始です。 -\&\fB@TMAC@tbl\fP については別個のマニュアルを参照して下さい。 +これは \fBtbl\fP に対する表の指定の開始です。 +\&\fBtbl\fP については別個のマニュアルを参照して下さい。 \&\fBTS\fP は、\fBTE\fP により終了します。 -引数 \fIH\fP は \fBm@TMAC@m\fP に対し表にはヘッダがあることを指定します。 +引数 \fIH\fP は \fBmm\fP に対し表にはヘッダがあることを指定します。 \&\fBTH\fP を参照して下さい。 .TP .B TX ユーザが定義する目次の出口マクロ。 このマクロは \fBTC\fP が単語 \fICONTENTS\fP を印字する直前に呼び出されます。 \&\fBTC\fP を参照して下さい。 .TP .B TY ユーザが定義する目次の出口マクロ (「CONTENTS」は印字しません)。 \&\fICONTENTS\fP を印字する代わりにこのマクロが呼び出されます。 \&\fBTC\fP を参照して下さい。 .TP .B VERBON [flag [pointsize [font]]] クーリエフォントを用いた逐語的な出力の開始。 通常プログラムの印字のためです。 すべての文字が等しい幅を持ちます。 ポイントサイズは第 2 引数により変更できます。 font 引数を指定すればクーリエの代わりに他のフォントを使うことが出来ます。 \fIflag\fP によりいくつかの特別な機能を制御します。 この引数は必要とする機能をすべて合計したものとなります。 .in +.5i .T2 値 説明 .T2 1 エスケープ文字 (\e) を無効にします。 通常、これは冗長出力の間は働いています。 .T2 2 冗長テキストの前に空行を付加します。 .T2 4 冗長テキストの後に空行を付加します。 .T2 8 冗長テキストに行番号を振って印字します。 これにより各行の先頭に数字幅のスペースが 4 個付加されます。 文字列変数の \fBVerbnm\fP でより微妙な調節が可能です。 この変数には、\fBtroff\fP コマンドの \fB.nm\fP に指定できる すべての引数が入ります。 通常は「1」が指定されています。 .T2 16 冗長テキストを 5 個の「n」だけインデントします。 これは数値変数の \fBVerbin\fP (単位付き) により管理されます。 .in .TP .B VERBOFF 逐語的出力を終了させます。 .TP .B "VL text-indent [mark-indent [1]]" 可変項目リストには決まった項目記号はありません。 代わりに、このマクロでは各 \fBLI\fP に項目記号が指定されている と仮定しています。 \fItext-indent\fP によりテキストへのインデントが設定されます。 そして \fImark-indent\fP により現在のインデント位置から項目記号までの 距離が設定されます。 第 3 引数は各項目の前に空行が印字されることを禁止します。 .TP .B "VM [top [bottom]]" 垂直マージン。 .TP .B "WA [writer-name [title]]" 著者と著者のアドレスの記述を開始します。 空の \fBWA\fP/\fBWE\fP ペアでいくつかの名前を指定出来ます。 しかしアドレスについては 1 つだけです。 .TP .B WE \&\fP.WA\fP の後でアドレスの指定を終了します。 .TP .B "WC [format]" 脚注とディスプレイの幅の調整。 .in +.5i .T2 N デフォルトのモードを設定します。 \&\fB-WF\fP, \fB-FF\fP, \fB-WD\fP 及び \fBFB\fP です。 .T2 WF 広い脚注です。2 段組モードでもやはり広い脚注です。 .T2 -WF 通常の脚注の幅です。段組モードに従います。 .T2 FF すべての脚注は最初に出現した脚注と同じ幅になります。 .T2 -FF 通常の脚注です。幅は \fBWF\fP と \fB-WF\fP に従います。 .T2 WD 広いディスプレイです。2 段組モードでもやはり広いディスプレイです。 .T2 -WD 通常のディスプレイの幅です。段組モードに従います。 .T2 FB フローティングディスプレイが現在のページに印字された時には 行区切りを生成します。 .T2 -FB フローティングディスプレイは行区切を生成しません。 .in .sp 3 .LP .\"########################################################################" .LP .B "mm で用いられている文字列変数:" .TP .B App 単語「APPENDIX」が入れてある文字列変数です。 .TP .B "EM" em ダッシュ文字列です。 .TP .B Apptxt .TP 現在の付録テキスト。 .B H1txt \fB.H\fP と \fB.HU\fP で、現在の見出しテキストに更新されます。 目次とその類似のものにおいても、更新されます。 .TP .B HF 見出し用のフォントの目録です。 通常は「2 2 2 2 2 2 2」です。 数字ではないフォント名も使用できます。 .TP .B HP 見出し用のポイントサイズの目録です。 通常は「0 0 0 0 0 0 0」です。 これは、「10 10 10 10 10 10 10」と同じです。 .TP .B Index .TP \fIINDEX\fP を含みます。 .B Indcmd .TP インデックスコマンド \fIsort\ -t\et\fP を含みます。 .B Lifg \fIFigure\fP を入れている文字列変数です。 .TP .B Litb \fITABLE\fP を入れている文字列変数です。 .TP .B Liex \fIExhibit\fP を入れている文字列変数です。 .TP .B Liec \&\fIEquation\fP を入れている文字列変数です。 .TP .B Licon \&\fICONTENTS\fP を入れている文字列変数です。 .TP .B Lf 「LIST OF FIGURES」を入れています。 .TP .B Lt 「LIST OF TABLES」を入れています。 .TP .B Lx 「LIST OF EXHIBITS」を入れています。 .TP .B Le 「LIST OF EQUATIONS」を入れています。 .TP .B Letfc 「Yours very truly,」を入れています。 \&\fB.FC\fP で使用されます。 .TP .B Letapp 「APPROVED:」を入れています。 \&\fB.AV\fP で使用されます。 .TP .B Letdate 「Date」を入れています。 \&\fB.AV\fP で使用されます。 .TP .B LetCN 「CONFIDENTIAL」を入れています。 \&\fB.LO CN\fP で使用されます。 .TP .B LetSA 「To Whom It May Concern:」を入れています。 \&\fB.LO SA\fP で使用されます。 .TP .B LetAT 「ATTENTION:」を入れています。 \&\fB.LO AT\fP で使用されます。 .TP .B LetSJ 「SUBJECT:」を入れています。 \&\fB.LO SJ\fP で使用されます。 .TP .B LetRN 「In reference to:」を入れています。 \&\fB.LO RN\fP で使用されます。 .TP .B Letns これは \fB.NS\fP で使用されている色々な文字列を入れている配列です。 これらは実は、\fBLetns!\fP を接頭辞とするいくつかの文字列変数です。 もし \fB.NS\fP への引数が (訳注: 予め定義されているものの中に) 存在しなければ、 その引数は \fBLetns!copy\fP を接頭辞とし \fBLetns!to\fP を接尾辞 として \fB()\fP の間に挟まれます。 \fBcopy\fP の後と \fBto\fP の前の空白に注意して下さい。 .nf .ta 1.5i \fB変数名 値\fP Letns!0 Copy to Letns!1 Copy (with att.) to Letns!2 Copy (without att.) to Letns!3 Att. Letns!4 Atts. Letns!5 Enc. Letns!6 Encs. Letns!7 Under separate cover Letns!8 Letter to Letns!9 Memorandum to Letns!10 Copy (with atts.) to Letns!11 Copy (without atts.) to Letns!12 Abstract Only to Letns!13 Complete Memorandum to Letns!14 CC Letns!copy Copy " Letns!to " to .fi .TP .B Letnsdef \&\fB.NS\fP に何も引数が指定されていないときに使用される標準的な注釈を 定義します。 デフォルトは \fB0\fP です。 .TP .B "MO1 - MO12" \&\fIJanuary\fP から \fIDecember\fP 迄が入っている文字列変数です。 .TP .B Qrf 「See chapter \e\e*[Qrfh], page \e\en[Qrfp].」 が入っている文字列変数です。 .TP .B Rp 「REFERENCES」が入っています。 .TP .B Tm 商標記号 \e(tm が入っています。 .TP .B Tcst 目次の現在状態と XXXX の一覧を含みます。 \fB.TC\fP の外では空です。 \fB.TP\fP のようなユーザ定義マクロでは、便利です。 .nf .ta 1.5i \fB値 意味\fP co 目次 fg 図一覧 tb 表一覧 ec 式一覧 ex エクジビット一覧 ap 付録 .fi .ta .TP .B Verbnm \&\fB.VERBON\fP で使用されている \fB.nm\fP への引数です。 デフォルト: \fB1\fP。 .\"-----------------------------------" .LP .B "mm で使用されている数値変数:" .TP .B Aph もしこの数値変数が非 0 であれば、 各々の新しい付録について新しい付録ページに印字します。 もし \fBAph\fP が 0 であれば何も出力されません。 しかし、「目次」には付録の見出し項目が常に含まれます。 .TP .B Cl 目次の見出し項目レベル。範囲は [0:7] です。 もし見出しレベルが Cl 以下であれば、目次の見出し項目は保存されます。 デフォルトは 2 です。 .TP .B Cp もし、Cp が 0 であれば、LIST OF XXXX の間で改ページを行います。 デフォルトは 0 です。 .TP .B D デバッグフラグ。 値が正値であれば、様々な段階のデバッグリストを出力します。 値が 1 であれば整形についての進行情報を提供します。 デフォルトは 0 です。 .TP .B De フローティングディスプレイの後で改ページが出力されます。 範囲は [0:1] です。デフォルトは 0 です。 .TP .B Dsp 定義されている場合、 スタティックディスプレイの前後の空白出力を制御します。 定義されていない場合には、Lsp の値が使用されます。 .TP .B Df フローティングキープの出力形式。 範囲は [0:5] です。デフォルトは 5 です。 .TP .B Ds もし 1 であれば、ディスプレイの前後で \fBLsp\fP だけ行送りします。 範囲は [0:1] です。デフォルトは 1 です。 .TP .B Ej 改ページ。デフォルトは 0 です。 .TP .B Eq 数式ラベルの行揃え。 0 なら左揃え、1 なら右揃え。デフォルトは 0 です。 .TP .B Fs 脚注の行送り。デフォルトは 1 です。 .TP .B "H1-H7" 見出しカウンタ。 .TP .B H1dot 0 より大の場合、レベル 1 の見出し番号の後にドットを付けます。 デフォルトは 1 です。 .TP .B H1h 数値レジスタ \fBH1\fP をコピーしますが、 ページブレイク直前に増加されます。 ユーザ定義のヘッダマクロにおいて有用です。 .TP .B Hb 見出し行区切りのレベル。 範囲は [0:7] です。デフォルトは 2 です。 .TP .B Hc 見出し中央揃えのレベル。 範囲は [0:7] です。デフォルトは 0 です。 .TP .B Hi 見出しの一時的なインデント。 範囲は [0:2] です。デフォルトは 1 です。 .br 0\ ->\ 0 インデント、左マージン .br 1\ ->\ 右へインデント、.P 1 と同様 .br 2\ ->\ 先行する見出しのテキスト部分に合わせてインデント .TP .B Hps 見出しに先立つ行送りのレベルについての数値変数です。 もし見出しレベルが \fBHps\fP 以下ならば、 セクション見出しには 1 行ではなく 2 行が先行します。 デフォルトは第 1 レベルだけです。 行送りの実際の量は変数 \fBHps1\fP と \fBHps2\fP により制御されます。 .TP .B Hps1 見出しレベルが \fBHps\fP より大きい場合に \fB.H\fP に先行する行数です。 値には単位を付けます。通常は 0.5 です。 .TP .B Hps2 見出しレベルが \fBHps\fP 以下の場合に \fB.H\fP に先行する行数です。 値には単位を付けます。通常は 1 です。 .TP .B Hs 見出し行送りレベル。 範囲は [0:7] です。デフォルトは 2 です。 .TP .B Hss 見出しレベルが \fBHs\fP 以下のとき、 \fB.H\fP の後にこの数の行が続きます。 値は単位指定であり、通常 1 です。 .TP .B Ht 見出し番号の形式。デフォルトは 0 です。 0 -> 複合番号 (1.1.1 ...) .br 1 -> 単一番号。 .TP .B Hu 番号無し見出しのレベル。デフォルトは 2 です。 .TP .B Hy 本文のハイフネーション。デフォルトは 1 です。 .br 0\ ->\ ハイフネーションしない。 .br 1\ ->\ 14 でハイフネーションをする。 .TP .B Letwam \fB.WA\fP/\fB.WE\fP で使われる返送先アドレスの最大行数。 デフォルトは 14 です。 .TP .B "Lf, Lt, Lx, Le" それぞれ、図一覧、表一覧、エグジビット一覧、式一覧の 印字の許可 (1)、又は禁止 (0) です。 デフォルトは、Lf=1, Lt=1, Lx=1, Le=0 です。 .TP .B Li \&.AL で使われるリストのインデントです。 デフォルトは 6 です。 .TP .B Limsp 自動リスト (.Al) 用の、接頭辞と記号の間の空白のフラグです。 .br 0\ ==\ 空白無し .br 1\ ==\ 空白有り .TP .B Ls リストの行送り。 もし現在のリストレベルが Ls より大きければ、 リストの周囲には行送りは生じません。 デフォルトは 99 です。 .TP .B Lsp 空行の大きさ。通常は 0.5v です。 しかし、もし \fBn\fP が設定されていれば (\fB.nroff\fP)、1v となります。 .TP .B N 番号付けの形式。範囲は [0:5] です。デフォルトは 0 です。 .br 0\ ==\ (デフォルト) すべてのページで通常のヘッダ。 .br 1\ ==\ 最初のページのフッタはヘッダに置き換えられます。 ヘッダ部分には何もありません。 .br 2\ ==\ 最初のページのページヘッダは取り除かれます。 .br 3\ ==\ 「セクション - ページ」の番号付けが有効になります。 .br 4\ ==\ 最初のページのページヘッダは取り除かれます。 .br 5\ ==\ 「セクション - ページ」と「セクション - 図」の番号付けが有効になります。 関連項目は数値レジスタの Sectf と Sectp です。 .TP .B Np 番号付きの段落です。デフォルトは 0 です。 .br 0\ ==\ 番号を振りません。 .br 1\ ==\ 第 1 レベルの見出しに番号を振ります。 .TP .B Of 図、表、エグジビット、数式の題目の形式です。 デフォルトは 0 です。 .br 0\ =\ ". " .br 1\ =\ " - " .TP .B P 現在のページ番号です。 「セクション - ページ」の番号付けが有効でなければ、 通常は % と同じです。 .TP .B Pi 段落のインデントです。 デフォルトは 5 です。 .TP .B Pgps ヘッダとフッタのポイントサイズが、現在の設定に従うべきか、 あるいはヘッダとフッタが定義されたときにだけ変更されるべきかを制御します。 .in +.5i .ti -.5i .T2 値 説明 .T2 0 \fB.PH\fP, \fB.PF\fP, \fB.OH\fP, \fP.EH\fP, \fB.OF\fP, \fB.OE\fP が実行された時だけ、ポイントサイズが現在の設定に変更されます。 .T2 1 ポイントサイズは \fB.S\fP のたびに変更されます。 これがデフォルトです。 .in .TP .B Ps 段落の行送り。デフォルトは 1 です。 .TP .B Pt 段落の形式です。デフォルトは 0 です。 .br 0\ ==\ 左揃え .br 1\ ==\ インデントする .P .br 2\ ==\ .H, .DE, .LE の後以外では、インデントする .P .TP .B Sectf 「セクション - 図」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。 .TP .B Sectp 「セクション - ページ番号」を制御するフラグです。 非 0 値であれば有効になります。 関連項目はレジスタ N です。 .TP .B Si ディスプレイのインデントです。デフォルトは 5 です。 .TP .B Verbin \&\fB.VERBON\fP のインデントです。デフォルトは 5n です。 .TP .B .mgm 常に 1 です。 .LP .SH 内部 レターマクロではレターの形式により決まる種々の副マクロが使用されています。 副マクロの名前にはレターの形式が接尾辞として入っています。 そのため他のレターの形式の定義を、 その国のマクロファイル内や、局所的な追加として行うことが可能です。 \&\fB.LT\fP は数値変数の \fBPt\fP と \fBPi\fP を 0 と 5 に設定します。 新しいレター形式については、 以下の文字列変数とマクロを定義しなければなりません: .TP \fBlet@init_\fP\fItype\fP このマクロは \fB.LT\fP によって直接呼び出されます。 変数や他の要素を初期化することになっています。 .TP \fBlet@head_\fP\fItype\fP このマクロはレターヘッドを印字します。 通常のページヘッダの代わりに呼び出されます。 \fBlet@header\fP という別名を取り除くことになっています。 そうしなければ、この別名はすべてのページにおいて呼び出されてしまいます。 .TP \fBlet@sg_\fP\fItype\ name\ title\ n\ flag\ [arg1\ [arg2\ [...]]]\fP レターの場合だけ、\fB.SG\fP がこのマクロを呼び出します。 覚書にはそれ独自の処理機構があります。 \fIname\fP と \fItitle\fP は \fB.WA\fP/\fB.WB\fP によって指定されます。 \fIn\fP はカウンタで、1 から max までです。 そして \fIflag\fP は、\fIname\fP が最後の名前であれば真の値になります。 \&\fB.SG\fP に対する他の引数が追加されます。 .TP \fBlet@fc_\fP\fItype\ closing\fP このマクロは \fB.FC\fP によって呼び出され、正式な結辞を引数とします。 .LP \&\fB.LO\fP が包括的なオプションマクロとして実装されています。 \&\fB.LO\fP には \fBLet\fP\fItype\fP という名前の文字列変数が 定義されていることが必要とされます。 ここで、\fItype\fP はレターの形式です。 そのとき、\fB.LO\fP は引数を文字列変数 \fBlet*lo-\fP\fItype\fP に 割り当てます。 .LP .\".SH バグ .\" " .SH 作者 .ie t J\(:orgen H\(:agg, Lund, Sweden .el Jorgen Hagg, Lund, Sweden .SH 関連ファイル .TP .B /usr/share/tmac/tmac.m .TP .B /usr/share/tmac/mm/*.cov .TP .B /usr/share/tmac/mm/*.MT .TP .B /usr/share/tmac/mm/locale .SH 関連項目 .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br .BR mm (7) .BR mmse (7) .\" Translated by Tetsuro FURUYA , Dec., 1998. diff --git a/ja_JP.eucJP/man/man7/groff_mmse.7 b/ja_JP.eucJP/man/man7/groff_mmse.7 index 4047e9bce7..1890856625 100644 --- a/ja_JP.eucJP/man/man7/groff_mmse.7 +++ b/ja_JP.eucJP/man/man7/groff_mmse.7 @@ -1,97 +1,97 @@ .\" .\" %Id: groff_mmse.man,v 1.32 1999/09/03 05:33:12 jh Exp % .\" Skrivet av Joergen Haegg, Lund, Sverige .\" .\" Original Revision: 1.1.1.2 .\" jpman %Id: groff_mmse.7,v 1.3 1998/11/21 12:55:00 horikawa Stab % .TH GROFF_MMSE 7 "12 January 2000" "Groff Version 1.15" .SH 名称 groff_mmse \- groff 用スウェーデン語版 mm マクロ .SH 書式 .B groff -.B \-mmmse +.B \-mmse [ .IR flaggor .\|.\|. ] [ .IR filer .\|.\|. ] .SH 解説 .\"X DESCRIPTION .\"X mmse is a swedish flavor of mm. All internal texts are .\"X translated. An A4-page gets 13 cm long text lines, 3.5 cm .\"X left margin and 28.5 cm in height. There are support for .\"X swedish letter standard, both left and right adjusted text. .\"X .\"X The macro COVER can use se_ms as an argument which will .\"X produce a swedish front page. Look in groff_mm(7) for more .\"X details. \fBmmse\fP はスウェーデン語風の \fBmm\fP マクロです。すべての内部 テキストは翻訳されます。A4 ページでは、テキスト行の長さが 13 cm、 左マージンが 3.5 cm、高さが 28.5 cm です。スウェーデンのレター清書標準を、 右揃えと左揃えともにサポートしています。 .LP マクロ \fBCOVER\fP に引数 \fIse_ms\fP を使用することにより、 スウェーデン語のフロントページを生成することができます。詳細については \fBgroff_mm(7)\fP を参照して下さい。 .PP (訳注: 以下未訳) .SH 謝辞 Jorgen Hagg, Lund, Sweden 本和訳のために、解説部分の英訳をわざわざ用意下さいました。 .SH BREV Tillgangliga brevtyper: .TP .B ".LT SVV" Vansterstalld loptext med adressat i position T0 (vansterstallt). .TP .B ".LT SVH" Hoverstalld loptext med adressat i position T4 (passar forsterkuvert). .LP Foljande extra LO-variabler anvands. .TP .B ".LO DNAMN\fI namn\fP" Anger dokumentets namn. .TP .br .B ".LO MDAT\fI datum\fP" Mottagarens datum, anges under \fBErt datum:\fP (\fBLetMDAT\fP). .TP .br .B ".LO BIL\fI strang\fP" Anger bilaga, nummer eller strang med \fBBilaga\fP (\fBLetBIL\fP) som prefix. .TP .br .B ".LO KOMP\fI text\fP" Anger kompletteringsuppgift. .TP .br .B ".LO DBET\fI beteckning\fP" Anger dokumentbeteckning eller dokumentnummer. .TP .br .B ".LO BET\fI beteckning\fP" Anger beteckning (arendebeteckning i form av diarienummer eller liknande). .TP .br .B ".LO SIDOR\fI antal\fP" Anger totala antalet sidor och skrivs ut efter sidnumret inom parenteser. .LP Om makrot \fB.TP\fP ar definierat anropas det efter utskrift av brevhuvudet. Dar lagger man lampligen in postadress och annat som brevfot. .SH "SKRIVET AV" Jorgen Hagg, Lund, Sweden .SH FILER -.B /usr/share/tmac/tmac.mmse +.B /usr/share/tmac/tmac.mse .B /usr/share/tmac/mm/se_*.cov .SH "SE OCKSO" .BR groff (1), .BR troff (1), .BR tbl (1), .BR pic (1), .BR eqn (1) .br -.BR mmm (7) +.BR mm (7) diff --git a/ja_JP.eucJP/man/man7/term.7 b/ja_JP.eucJP/man/man7/term.7 index 5d9eabb2ff..6542e3416a 100644 --- a/ja_JP.eucJP/man/man7/term.7 +++ b/ja_JP.eucJP/man/man7/term.7 @@ -1,245 +1,245 @@ .\"*************************************************************************** .\" Copyright (c) 1998 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .\" %Id: term.7,v 1.11 1999/01/24 02:35:14 Todd.Miller Exp % .\" jpman %Id: term.7,v 1.3 2000/06/10 01:35:56 mori Stab % .TH TERM 7 .ds n 5 -.ds d /usr/obj/usr/src/i386/usr/share/misc/terminfo/terminfo +.ds d /usr/share/misc/terminfo/terminfo .SH 名称 term \- 端末タイプの命名規則 .SH 解説 .PP 環境変数 \fBTERM\fR は通常、 あなたが使用中の端末・コンソール・ディスプレイデバイスの いずれかのタイプ名を含むはずです。 この情報は、エディタやメーラを含む、画面指向プログラムには非常に重要です。 .PP デフォルトの \fBTERM\fR の値は、 \fB/etc/inittab\fR (Linux や System V 系の UNIX) または \fB/etc/ttys\fR (BSD UNIX) を使って、各回線毎に設定されます。 ワークステーションやマイクロコンピュータについては、 ほとんどの場合これで十分です。 .PP ダイヤルアップ回線を使用する場合には、 回線に接続されるデバイスのタイプには色々なものがありえます。 古めの UNIX システムでは、ダイヤルアップ回線に `dumb' や `dialup' というような正にダム端末タイプをあらかじめ設定します。 新しめの UNIX システムでは、 DEC VT100 互換の端末やパーソナルコンピュータでのエミュレータの普及を反映して、 `vt100' に設定するかもしれません。 .PP 近年の telnet は、ローカル側の \fBTERM\fR 環境変数をリモート側に渡します。 あなたの端末タイプについて、 リモートの terminfo エントリや termcap エントリの互換性が無い場合は 問題が発生し得ますが、このような状況は稀であり、 明示的に `vt100' をエクスポートすることによりほぼ常に問題が避けられるでしょう (実際に VT100 上位互換のコンソール・端末・端末エミュレータを 使用していることを仮定しています)。 .PP どのような場合でも、シェルプロファイルを使用することにより、 システムの \fBTERM\fR 設定を無視して好きなように設定することができます。 \fBtset\fP(1) ユーティリティが助けとなることもあります。 該当する tty デバイスとボーレートを基にして 端末タイプを推定したり要求したりするためのルールセットを このコマンドへ与えることができます。 .PP 回線に対するシステムのデフォルトタイプを無視したくなるような、 (可視ベルや反転のような) オプションを組み込んだ カスタムエントリを持っている場合には、 独自の \fBTERM\fR の値を設定するというのもよいでしょう。 .PP 端末タイプの記述は、 \*d の下に、ケーパビリティデータのファイルとして格納されています。 システムが認識する全端末名を閲覧するには、シェルから toe | more としてください。 これらのケーパビリティファイルは、 取り出し速度の向上のために (置き換えられた、古いテキストベースの \fBtermcap\fR とは異なって) バイナリフォーマットとなっています。 エントリを調べるには、\fBinfocmp\fR(1) コマンドを使う必要があります。 これは次のように起動します: infocmp \fIentry-name\fR ここで \fIentry-name\fR は調べようとするタイプの名称です (そしてこれはケーパビリティファイルの名称であり、 名前の先頭の文字の名前を持った \*d のサブディレクトリにあります)。 このコマンドは、\fBterminfo\fR(\*n) に記述されている書式で、 ケーパビリティファイルをダンプします。 .PP \fBterminfo\fR(\*n) 記述の最初の行は、 terminfo が端末を認識するために使用する名称を与えます。 名称は `|' (パイプバー) 文字で区切られ、 最後の名称フィールドはコンマで終ります。 最初の名称フィールドは、このタイプの\fI第一名称\fR であり、 \fBTERM\fR 設定時に使用するものです。 最後の名称フィールドは (最初のものと違う場合は)、 端末タイプの本当の記述です (これは空白を含めることができます。他の名称は単一語であることが必要です)。 最初と最後のものの間にある名称フィールドは (もしあれば)、 端末の別名であり、通常は、互換性のために保持されている歴史的な名前です。 .PP 端末の第一名称の選択には、 第一名称を情報があって固有なものにするのに役立つような約束事があります。 以下に、端末命名のための段階的なガイドを示し、 また、端末名称をどのように解釈するのかも示します: .PP 最初に、ルート名称を選びます。 ルート名称は、 1 個の小文字に、 最大 7 文字までの小文字または数字が続きます。 区切り文字はルート名称に使うことを避けなければなりません。 なぜなら、これらはファイル名として使われたり解釈されるからです。 また、シェルのメタ文字 (!, $, *, ? 等) がそれらに含まれると、 奇妙で分り難い挙動を引き起こすかもしれないからです。 スラッシュ (/) や、ファイルシステムが解釈する可能性のある他の文字 (\e, $, [, ]) は特に危険です (terminfo はプラットフォームに依存しません。 特殊文字を含む名前を選ぶと、 将来移植されたシステム上のユーザが苦労することになるかもしれません)。 ドット (.) 文字は、ルート名称に 1 個までである限りは、比較的安全です。 歴史的な terminfo 名称には、ドットを使用しているものがあります。 .PP ほぼ常に、端末やワークステーションコンソールタイプのルート名称は、 ベンダの接頭辞 (Hewlett-Packard では \fBhp\fR、 Wyse では \fBwy\fR、AT&T 端末では \fBatt\fR 等) が付くか、 端末回線の共通名称 (DEC の VT シリーズ端末では \fBvt\fR、 Sun Microsystems のワークステーションコンソールでは \fBsun\fR、 ADDS Regent シリーズでは \fBregent\fR) であるべきです。 terminfo ツリーを列挙すれば、 どの接頭辞が既に一般的に使用されているかが分かります。 ルート名称の接頭辞には、適切な場合にはモデル番号が続き、 \fBvt100\fR, \fBhp2621\fR, \fBwy50\fR となります。 .PP PC-Unix コンソールタイプのルート名称は、OS 名称、 すなわち \fBlinux\fR, \fBbsdos\fR, \fBfreebsd\fR, \fBnetbsd\fR であるべきです。 決して \fBconsole\fR やその他の総称的なものであってはなりません。 なぜなら、マルチプラットフォーム環境では混乱の原因となるからです! モデル番号が続く場合、 OS のリリースレベルかコンソールドライバのリリースレベルを示すべきです。 .PP 端末エミュレータ (ANSI 標準か vt100 タイプのどれにも適合していないとみなされる場合には) のルート名称は、 プログラム名称か、容易に認識可能な省略名称であるべきです (すなわち \fBversaterm\fR, \fBctrm\fR)。 .PP ルート名称に続き、 ハイフンで区切った適当な数の機能を表す接尾辞を追加することが可能です。 .TP 5 2p メモリを 2 ページ持ちます。同様に 4p, 8p 等。 .TP 5 mc マジッククッキー。 端末によっては (特に古い Wyse)、 バグか故障のために (lossage) 複数属性をサポートするときにマジッククッキーを使ってしまいます。 (訳注: モードを変更したときにマジッククッキーと呼ばれる 1つか複数のスペースを表示してしまう端末があったらしい) .\" lossage - The result of a bug or malfunction (from Jargon) .\" Feb 26, 2000 このような端末が基とするエントリは、たいてい この接尾辞を持ち、 複数の属性をサポートするためにマジッククッキーを使用する 他のエントリとペアになります。 .TP 5 -am 自動マージンを有効にします (右マージンは回り込みます) .TP 5 -m 単色モード - カラーサポートを抑制します .TP 5 -na 矢印キー無し - termcap は、端末に付属する矢印キーを無視するので、 ユーザが矢印キーをローカルに使用可能となります .TP 5 -nam 自動マージン無し - am ケーパビリティを抑制します .TP 5 -nl ラベル無し - ソフトラベルを抑制します .TP 5 -nsl 状態行無し - 状態行を抑制します .TP 5 -pp 使用できるプリンタポートがあります .TP 5 -rv 反転モードの端末 (白地に黒) .TP 5 -s 状態行の有効化 .TP 5 -vb ビープではなく可視ベル (フラッシュ) を使用 .TP 5 -w 幅広; 端末は 132 桁モード .PP 伝統的には、端末タイプが行数を指定することを目的とした変形タイプである場合、 行数のサフィックスを先に書きます。 例えば FuBarCo モデル 2317 端末の 30 行モードの反転ビデオ用では、 最適な書式は \fBfubar-30-rv\fR となります (`fubar-rv-30' ではありません)。 .PP スタンドアロンエントリとしてではなく、 \fBuse\fP ケーパビリティを使用して他のエントリに挿入される部品として 書かれた端末タイプは、 ダッシュの代わりにプラス記号が埋め込まれて区別されます。 .PP 表示制御に端末タイプを使用するコマンドは、 しばしば、端末名引数を取る -T オプションを受け付けます。 このようなプログラムでは、-T オプションを指定しないときは、 \fBTERM\fR 環境変数を使用するべきです。 .SH 移植性 古い System V UNIX との最大の互換性を維持するために、 名前と別名は最初の 14 文字で区別可能とすべきです。 .SH 関連ファイル .TP 5 \*d/?/* コンパイルされた端末ケーパビリティデータベース .TP 5 /etc/inittab tty 回線初期化 (AT&T 系の UNIX) .TP 5 /etc/ttys tty 回線初期化 (BSD 系の UNIX) .SH 関連項目 \fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBterm\fR(\*n) .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: .\"# mode:nroff .\"# fill-column:79 .\"# End: diff --git a/ja_JP.eucJP/man/man8/amq.8 b/ja_JP.eucJP/man/man8/amq.8 index 2f26f62cbd..35f79b5fbe 100644 --- a/ja_JP.eucJP/man/man8/amq.8 +++ b/ja_JP.eucJP/man/man8/amq.8 @@ -1,227 +1,225 @@ .\" .\" Copyright (c) 1997-1999 Erez Zadok .\" Copyright (c) 1990 Jan-Simon Pendry .\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" 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 .\" Jan-Simon Pendry at Imperial College, London. .\" .\" 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. .\" .\" %W% (Berkeley) %G% .\" .\" %Id: amq.8,v 1.2 1999/01/10 21:53:58 ezk Exp % -.\" %FreeBSD: src/contrib/amd/amq/amq.8,v 1.5 1999/09/15 05:45:14 obrien Exp % +.\" %FreeBSD: src/contrib/amd/amq/amq.8,v 1.5.2.1 2000/07/28 19:54:44 marko Exp % .\" .\" jpman %Id: amq.8,v 1.3 1997/08/11 14:26:54 horikawa Stab % .\" .Dd March 16, 1991 .Dt AMQ 8 .Os .Sh 名称 .Nm amq .Nd 自動マウントシステムへの問い合わせツール .Sh 書式 .Nm amq .Op Fl fmpsuvTU .Op Fl h Ar hostname .Op Fl l Ar log_file .Op Fl x Ar log_options .Op Fl D Ar debug_options .Op Fl M Ar mountmap_entry .Op Fl P Ar program_number .Op Ar directory ... .Pp .Sh 解説 .Nm amq は、現在の .Xr amd 8 の動作状況を知るための簡単な手段を提供します。 .Nm amd との通信は .Tn RPC によって行われます。現在のプロトコルでは、 3 つのモード がサポートされています。デフォルトでは、マウントポイントと自動 マウントされたファイルシステムのリストが出力されます。 別のホストの状態を知るときは、 .Fl h オプションで .Ar hostname を指定します。 .Pp ディレクトリ名が与えられると、デフォルトの出力ではファイルシステム ごとの情報が表示されます。 .Sh オプション .Bl -tag -width flag .It Fl f 自動マウントシステムに内部キャッシュを破棄するように要求します。 .It Fl h Ar hostname .Ar hostname で指定されたホストに問い合わせを行います。デ フォルトでは、ローカルホストが使われます。 .Tn HP-UX クラスタでは、デフォルトでルートサーバに問い合わせが行わ れます。これは通常、自動マウントシステムがルートサーバで動 いているからです。 .It Fl l Ar log_file .Nm amd に対し、 .Ar log_file をログファイル名として使用するように指示します。 セキュリティのために、これは .Nm amd が起動したときと同じログファイルである必要があります。 それゆえ本オプションが有効なのは、 日々の cron ジョブによってログファイルがローテートおよび圧縮するために、 .Nm amd のファイルハンドルをリフレッシュするときに限られます。 .It Fl m マウントされたファイルシステムのリストを、 各ファイルシステムへの参照回数と マウント時に起きたエラーを含めて表示するように、自動マウント システムに要求します。 .It Fl p リモートもしくはローカルに実行されている .Nm amd のプロセス ID を返します。 ローカルの .Nm amd プロセスにシグナルを送る必要があるときに便利であり、 プロセステーブルを探さなくて済みます。 本オプションは .Pa ctl-amd スクリプトの中で使用されています。 .It Fl s 自動マウントシステムに、システムの統計情報を表示するように要求します。 .It Fl u 情報を表示する代わりに、 指定したファイルシステムをアンマウントするよう 自動マウントシステムに要求します。この要求によって、 必ずアンマウントが実行されるわけではありません。 単にそのファイルシステムのマウントが、 タイムアウトするにすぎません。 タイムアウトは .Nm amd のメインスケジューラに検出され、結果として 普通にタイムアウトしたときと同じことが行われます。 .It Fl v 自動マウントシステムに、バージョン情報を提供するように要求します。これは、 .Nm amd の .Fl v オプションで得られる情報の一部です。 .It Fl x Ar log_options 自動マウンタに対し、 .Ar log_options に指定されたロギングオプションを今から使用するように指示します。 .It Fl D Ar log_options 自動マウンタに対し、 .Ar debug_options に指定されたデバッギングオプションを今から使用するように指示します。 .It Fl M Ar mountmap_entry マウントマップエントリを .Nm amd に渡し、評価されるまで待ちます。これによりマウントが発生する可能性があります。 本オプションはセキュリティ面で非常に危険です。 デフォルトでは、 .Nm amd と .Nm amq は本オプションをサポートしていません。 本オプションを有効にするためには、 .Nm am-utils を .Ar --enable-amq-mount 付きで構築する必要があります。 .It Fl P Ar program_number 別の RPC プログラム番号 .Ar program_number で登録している .Nm amd に接続し、その自動マウンタのインスタンスに対して他のすべての操作を適用します。 複数コピーの .Nm amd を実行していて、それぞれを別個に管理する必要があるときに有用です。 指定しない場合には、 .Nm amq は .Nm amd のデフォルトのプログラム番号 300019 を使用します。 セキュリティのため、 .Nm amd が使用可能な別のプログラム番号は 300019 から 300029 まで (両端含む) に限定されています。 .It Fl T .Nm amd に対して TCP でのみ通信しようとします。 通常 .Nm amq は TCP を使用しようとし、失敗すると UDP を使用しようとします。 .It Fl U .Nm amd に対して UDP (コネクションレス) でのみ通信しようとします。 通常 .Nm amq は TCP を使用しようとし、失敗すると UDP を使用しようとします。 .El .Sh 関連ファイル .Bl -tag -width amq.x .It Pa amq.x RPCのプロトコル記述 .El .Sh 警告 .Nm amq は、Sunが登録しているRPCプログラム番号(十進数で300019)を使っています。 これは通常、 .Pa /etc/rpc には含まれていません。 .Pp .Sh 関連項目 .Xr amd.conf 5 , -.Xr amd 8 , -.Xr ctl-amd 8 .Xr amd 8 .Sh 作者 .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An am-utils の、他の作者および貢献者は、 am-utils とともに配布されている .Nm AUTHORS ファイルに記述されています。 .Sh 歴史 .Nm amq は、はじめに 4.4BSD で導入されました。 diff --git a/ja_JP.eucJP/man/man8/hlfsd.8 b/ja_JP.eucJP/man/man8/hlfsd.8 index a0582a9edd..c662e1e1e9 100644 --- a/ja_JP.eucJP/man/man8/hlfsd.8 +++ b/ja_JP.eucJP/man/man8/hlfsd.8 @@ -1,327 +1,327 @@ .\" .\" Copyright (c) 1997-1999 Erez Zadok .\" Copyright (c) 1989 Jan-Simon Pendry .\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1989 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" 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. .\" .\" %Id: hlfsd.8,v 1.2 1999/01/10 21:54:32 ezk Exp % -.\" %FreeBSD: src/contrib/amd/hlfsd/hlfsd.8,v 1.5.2.1 2000/05/28 13:17:30 asmodai Exp % +.\" %FreeBSD: src/contrib/amd/hlfsd/hlfsd.8,v 1.5.2.2 2000/08/16 22:21:00 jhb Exp % .\" .\" HLFSD was written at Columbia University Computer Science Department, by .\" Erez Zadok and Alexander Dupuy .\" It is distributed under the same terms and conditions as AMD. .\" .\" jpman %Id: hlfsd.8,v 1.3 1999/01/01 14:22:00 vanitas Stab % .\" .Dd September 14, 1993 .Dt HLFSD 8 .Os .Sh 名称 .Nm hlfsd .Nd ホームリンクファイルシステムデーモン .Sh 書式 .Nm .Op Fl fhnpvC .Op Fl a Ar alt_dir .Bk -words .Op Fl c Ar cache-interval .Ek .Op Fl g Ar group .Bk -words .Op Fl i Ar reload-interval .Ek .Op Fl l Ar logfile .Bk -words .Op Fl o Ar mount-options .Op Fl x Ar log-options .Op Fl D Ar debug-options .Op Fl P Ar password-file .Ek .Op linkname Op subdir .Sh 解説 .Nm は、ユーザのホームディレクトリ内のサブディレクトリを指すシンボリックリンク を含むファイルシステムを実装したデーモンです。そのリンクはアクセスしたユーザに 応じて変化します。これは主に、到着したメールをユーザのホームディレクトリに リダイレクトし、どこからでも読めるようにするために設計されました。 .Pp .Nm は .Ar linkname を含むディレクトリ (デフォルトは .Pa /hlfs/home ) に対する .Tn NFS サーバとして自分自身をマウントして動作します。 このディレクトリに対する検索 (lookup) は .Nm が処理し、その検索をどのように解決するかを決定するために パスワードマップを使います。ディレクトリは、存在しなかった場合には作成 されます。シンボリックリンクは、それをアクセスしたユーザの ホームディレクトリに .Ar subdir をつけたものになります。 .Ar subdir が指定されなかった場合の、 .Ar subdir のデフォルトは .Pa .hlfsdir です。このディレクトリも、存在しなかった場合には作成されます。 .Pp .Er SIGHUP を送ると、内部キャッシュのフラッシュを行い、パスワードマップの再読み込みを 行います。また、ログファイルをクローズし、オープンしなおして、 以前のログファイルを消去したり交換します。 .Er SIGUSR1 を送ると、ユーザ ID とホームディレクトリの内部テーブルを .Pa /usr/tmp/hlfsd.dump.XXXXXX にダンプします。 .Sh オプション .Bl -tag -width Ds .It Fl a Ar alt_dir 代わりのディレクトリです。ユーザのホームディレクトリにアクセスできない場合に、 .Nm が返すシンボリックリンクが指すディレクトリの名前です。デフォルトは .Pa /var/hlfs です。このディレクトリは存在しなければ作成されます。ユーザがこのファイルを 読む、またはシステム管理者がこの .Dq lost mail をその所有者に送り直すスクリプトを走らせるということが期待されます。 .It Fl c Ar cache-interval キャッシュする間隔です。 .Nm はこの間隔 (秒単位) でホームディレクトリの有効性をキャッシュします。 .Ar cache-interval 秒以内に確認されたことのあるエントリは再確認されません。 それは、その操作のコストが高く、 そのエントリがまだ有効であることが十分に期待できるからです。 その間隔がたつと、 .Nm はユーザのホームディレクトリの有効性をふたたび確認し、キャッシュの タイムカウンタをリセットします。 デフォルトの .Ar cache-interval は 300 秒 .Pq 5 分 です。 .It Fl f 高速に起動させます。 .Nm マウントディレクトリ、代わりのスプールディレクトリ、マウントディレクトリ下に 隠れているシンボリックリンクが存在すること、そのパーミッション、そして その有効性といった起動時の一貫性チェックを、このオプションが与えられたとき にはスキップします。 .It Fl g Ar group 特殊グループ .Va HLFS_GID を .Ar group に設定します。 .Ic comsat .Pq ほかのユーザのメールボックスにアクセスする といったプログラムは正常に動作するためには .Va HLFS_GID に setgid しておかねばなりません。デフォルトのグループは .Dq hlfs です。グループが与えられなくて、 .Dq hlfs というグループが存在しないなら、この機能は無効になります。 .It Fl h ヘルプです。短いヘルプメッセージを表示し、終了します。 -.It i Ar reload-interval +.It Fl i Ar reload-interval マップを再読み込みする間隔です。 .Ar reload-interval 秒ごとに .Nm はパスワードマップを再読み込みします。 .Nm はユーザ ID とホームディレクトリのパスを知るために、パスワードマップが必要です。 .Nm は .Va SIGALRM を用いてパスワードマップを再読み込みします。 .Va SIGHUP を送ると、 .Nm はマップをすぐに再読み込みします。 .Ar reload-interval のデフォルトは 900 秒 .Pq 15 分 です。 .It Fl l Ar logfile .Nm がイベントを記録するログファイルを指定します。 .Pa logfile が文字列 .Pa syslog であれば、 .Xr syslog 3 によって、システムログデーモンに .Va LOG_DAEMON ファシリティでログメッセージが送られます。 これはデフォルトです。 .It Fl n 確認しません。 .Nm は返すシンボリックリンクの有効性、またユーザのホームディレクトリに スプールするために十分なディスクスペースがあることを確認しません。 これによって、 .Nm は、現在アクセスできないか、容量がいっぱいであるホームディレクトリへの シンボリックリンクを返すかもしれないという犠牲を払って、スピードアップ します。 デフォルトで、 .Nm はバックグラウンドでシンボリックリンクを確認します。 キャッシュは必要ないので、 .Fl n オプションは .Fl c オプションの意味を無効にします。 .It Fl o Ar mount-options マウントオプションです。 .Nm が .Pa dirname のトップで、自分自身をマウントするために使われるマウントオプションです。 デフォルトで、 .Ar mount-options は .Qq ro に設定されています。 システムがシンボリックリンクのキャッシュをサポートしているのなら、 デフォルトオプションは .Qq ro,nocache に設定されます。 .It Fl p .Va プロセス ID を表示します。 ファイルに保存できるように、標準出力に .Nm のプロセス ID を出力します。 .It Fl v バージョンです。標準エラー出力にバージョン情報を出力します。 .It Fl x Ar log-options 実行時にログをとるためのオプションを指定します。このオプションは、 fatal, error, user, warn, info, map, stats, all から選ばれた コンマ区切りのリストです。 .It Fl C NFS attribute-cache を無効にできないシステムで .Nm を実行させます。メールが失われたり、誤配送されることになりかねないので、 そのようなシステムで、このオプションを用いることは推奨されていません。 attribute-cache を無効にできるシステムではこのオプションは無視されます。 .It Fl D Ar debug-options いろいろなデバッグオプションを選びます。オプションの接頭辞として .Qq no という文字列がついていると、そのオプションの効果を反転させます。 オプションは追加されます。 もっとも便利なオプションは .Em all です。このオプションはデバッグのためだけに使われるので、 そのほかのオプションはここには記しません。 より詳細な解説はプログラムのソースにあります。 .Va SIGUSR1 を送ると .Nm は、内部パスワードマップを .Pa /usr/tmp/hlfsd.dump.XXXXXX にダンプします。 .It Fl P Ar password-file .Ar password-file からユーザ名、ユーザ ID、ホームディレクトリの情報を読みます。 通常 .Nm は、 .Xr getpwent 3 でパスワードのデータベースを読みます。このオプションによりデフォルトの データベースを無効にすることができ、ホームディレクトリ以外にユーザの メールをマップしたいときに便利です。 .Ar password-file のユーザ名、ユーザ ID、ホームディレクトリのフィールドだけを読み、 チェックします。ほかのすべてのフィールドは無視されます。 .Ar password-file は .Ux System 7 のコロン区切りのフォーマット .Xr passwd 5 に従わなければなりません。 .Sh 関連ファイル .Bl -tag -width /axx .It Pa /hlfs .Nm が自分自身をマウントし、シンボリックリンク .Pa home を処理するディレクトリです。 .It Pa .hlfsdir ユーザのホームディレクトリ内のデフォルトのサブディレクトリで、 .Nm が返したシンボリックリンク .Pa home のリンク先です。 .It Pa /var/hlfs ユーザのホームディレクトリがアクセスできるかどうか確認できないときの、 .Nm が返したシンボリックリンク .Pa home のリンク先です。 .Sh 関連項目 .Xr mail 1 , .Xr getgrent 3 , .Xr getpwent 3 , .Xr mtab 5 , .Xr passwd 5 , .Xr amd 8 , .Xr cron 8 , .Xr mount 8 , .Xr sendmail 8 , .Xr umount 8 .Rs .%T HLFSD: Delivering Email to Your $HOME .%B Proc. LISA-VII, The 7th Usenix System Administration Conference .%D November 1993 .Re .Sh 作者 .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An Alexander Dupuy Aq dupuy@smarts.com , System Management ARTS, White Plains, New York, USA. .Sh 歴史 .Nm ユーティリティは .Fx 3.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/ipfw.8 b/ja_JP.eucJP/man/man8/ipfw.8 index 7d2a48e34f..caab7afc70 100644 --- a/ja_JP.eucJP/man/man8/ipfw.8 +++ b/ja_JP.eucJP/man/man8/ipfw.8 @@ -1,1261 +1,1279 @@ .\" -.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.63.2.2 2000/06/12 09:47:20 ru Exp % +.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.63.2.3 2000/08/05 00:43:18 billf Exp % .\" .\" jpman %Id: ipfw.8,v 1.4 1997/05/19 17:19:51 horikawa Stab % .Dd February 16, 2000 .Dt IPFW 8 .Os FreeBSD .Sh 名称 .Nm ipfw .Nd IP ファイアウォールとトラフィックシェイパの制御ユーティリィティ .Sh 書式 .Nm ipfw .Op Fl q .Oo .Fl p Ar preproc .Oo Fl D .Sm off .Ar macro .Op = Ar value .Sm on .Oc .Op Fl U Ar macro .Oc .Ar file .Nm ipfw .Op Fl f | q .Cm flush .Nm ipfw .Op Fl q .Es \&{ \&} .En Cm zero | resetlog | delete .Op Ar number ... .Nm ipfw .Op Fl s Op Ar field .Op Fl aftN .Es \&{ \&} .En Cm list | show .Op Ar number ... .Nm ipfw .Op Fl q .Cm add .Op Ar number .Ar rule-body .Nm ipfw .Cm pipe .Ar number .Cm config .Ar pipe-config-options .Nm ipfw .Cm pipe .Es \&{ \&} .En Cm delete |list | show .Op Ar number ... .Nm ipfw .Cm queue .Ar number .Cm config .Ar queue-config-options .Nm ipfw .Cm queue .Es \&{ \&} .En Cm delete | list | show .Op Ar number ... .Sh 解説 .Nm は、 .Fx の .Xr ipfirewall 4 と .Xr dummynet 4 トラフィックシェイパを制御するユーザインタフェースです。 .Pp 各入出力パケットは .Nm ルールを通されます。 ホストがゲートウェイとして動作している場合、 ゲートウェイが転送するパケットは .Nm が 2 度処理します。 ホストがブリッジとして動作している場合、 ブリッジが転送するパケットは .Nm が 1 度処理します。 .Pp ファイアウォール設定は、番号付けされたルールのリストからなります。 あるルールにマッチしそれに関連する動作が実行されるまで、 各パケットはルールのリストに対し照合されます。 動作とシステムの設定によっては、マッチしたルールの直後で、 パケットがファイアウォールに再注入され、 更に処理が継続することもあります。 全てのルールが全てのインタフェースに適用されますので、 チェックの回数が最小となるようなルール集合を書くのは システム管理者の責任です。 .Pp どの設定も常に、 .Em DEFAULT ルール (番号 65535) を含みます。このルールはプログラマが変更できず、 常にパケットにマッチします。 デフォルトルールに関連付けるルールは .Cm deny か .Ar allow のどちらかになりますが、 これはどのようにカーネルを設定したかに依存します。 .Pp ルール集合が .Cm keep-state オプション付きのルールを含む場合、 .Nm は .Em ステートフル (状態依存型) で動作します。すなわち、あるマッチの結果、 マッチしたパケットのパラメータにちょうど一致するルールが 動的に生成されます。 .Pp これらの動的ルールの寿命は有限で、 .Cm check-state または .Cm keep-state ルールが最初に生じた場所でチェックされます。 動的ルールは、合法的なトラフィックをオンデマンドで ファイアウォールを通過させるために用いることが普通です。 .Nm のステートフルな動作について更に情報が必要ならば、 以下の .Sx ルール書式 または .Sx 使用例 セクションを参照して下さい。 .Pp 動的ルールも含めすべてのルールは、 それに関連するカウンタをいくつか持っています。 それは、パケットカウント、バイトカウント、ログカウント、 最後にマッチした時刻を示すタイムスタンプです。 カウンタは、 .Nm コマンドによって、表示およびリセット可能です。 .Pp ルールの追加は .Cm add コマンドにて可能です。 個々のルールの削除は .Cm delete コマンドにて可能であり、すべてのルールの削除は .Cm flush コマンドにて可能です。 ルールの表示は、 .Ar show コマンドおよび .Ar list コマンドにて可能です。 これらにより、オプションでカウンタ内容も含めて表示させることができます。 最後に、カウンタのリセットは .Ar zero コマンドおよび .Ar resetlog コマンドにて可能です。 .Pp 次のオプションが利用可能です: .Bl -tag -width indent .It Fl a リスト中にカウンタ値を示します。 .Dq show コマンドもあわせて見てください。 .It Fl f 誤って使用すると問題を起す可能性のあるコマンド、 .No すなわち Cm flush に対して、実行の確認を行いません。 .Em 注 : プロセスに関連付けられた tty が無い場合、このオプションが 暗黙のうちに指定されたとして処理されます。 .It Fl q .Cm add , .Cm zero , .Cm resetlog , .Cm flush 実行中、動作について報告しません .Po 暗黙のうちに .Fl f が指定されます .Pc 。 スクリプト .Po 例えば .Sq sh /etc/rc.firewall .Pc の中で複数の .Nm コマンドを実行してルールを変更する場合や、 リモートログインセッション経由で多数の .Nm ルールを含むファイルを処理することによりルールを変更する場合に 有用です。 通常 (冗長) モードで (デフォルトカーネル設定で) flush を行った場合、 メッセージを表示します。 すべてのルールが捨てられますので、 メッセージはログインセッションへ渡せません。 つまり、リモートログインセッション経由の場合、セッションはクローズされ、 残りのルールセットは処理されません。 この状態から回復するためにはコンソールへのアクセスが必要になります。 .It Fl t リスト作成時に、最後にマッチしたタイムスタンプを表示します。 .It Fl N 出力中のアドレスとサービス名を解決しようとします。 .It Fl s Op Ar field パイプ経由でリスト出力している際に、4つのカウンタの1つについて 整列させます (現在のパケット数)。 .El .Pp 設定を簡単にするために、ルールをファイルに記述して、 これを .Nm の最初の書式行を使って処理します。この場合 .Ar file を 1 行ずつ、 .Nm ユーティリティへの引数として読み込みます。 .Pp .Fl p Ar preproc を使用して、 .Ar file がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには、 .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュ .Pq Ql / から始まらない場合、 .Ev PATH を使用した通常の名前検索が行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、このことに注意してください。 ひとたび .Fl p が指定されると、オプションとして .Fl D と .Fl U の指定を続けることが可能となり、これらがプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp 後述の .Sx トラフィックシェイパ設定 の節で示すように、 .Nm .Cm pipe コマンドを使用して、トラフィックシェイパを構築可能です。 .Pp .Sh ルール書式 .Nm ルールフォーマットは次の通りです。 .Bd -ragged .Op Cm prob Ar match_probability .Ar action .Op Cm log Op Cm logamount Ar number .Ar proto .Cm from Ar src .Cm to Ar dst .Op Ar interface-spec .Op Ar options .Ed .Pp 各パケットをフィルタする際には、以下の情報に基づくことができます。 .Pp .Bl -tag -width "送信元および宛先 IP アドレス" -offset indent -compact .It 送受信インタフェース (名前またはアドレス) .It 方向 (入力または出力) .It 送信元および宛先 IP アドレス (マスク使用可) .It プロトコル (TCP, UDP, ICMP 等) .It 送信元および宛先ポート (リスト、範囲、マスクのいずれか) .It TCP フラグ .It IP フラグメントフラグ .It IP オプション .It ICMP タイプ .It パケットに関連付けられたソケットのユーザ ID とグループ ID .El .Pp 送信元 IP アドレスや宛先 TCP/UDP ポートによるフィルタは 危険があることに注意してください。 なぜなら、これらの詐称は簡単だからです。 .Bl -tag -width indent .It Cm prob Ar match_probability 指定した確率 (0 から 1 までの浮動小数点数です) でのみマッチが宣言されます。 ランダムにパケットを落とす応用として用いる場合や、 .Po .Xr dummynet 4 と共に使用して .Pc パケット到達順序の乱れを引き起こす複数経路の効果をシミュレートする際に 有用です。 .It Ar action : .Bl -tag -width indent .It Cm allow マッチするパケットを通過させ、マッチングを終了します。 .Cm pass , .Cm permit , .Cm accept はこれの別名です。 .It Cm deny マッチするパケットを破棄し、マッチングを終了します。 .Cm drop は .Cm deny の別名です。 .It Cm reject .Pq この使用は推奨されません マッチするパケットを破棄し、 ICMP の host unreachable を送信し、 マッチングを終了します。 .It Cm unreach Ar code マッチするパケットを破棄し、 ICMP の unreachable に .Ar code を付けて送信します。ここで、 .Ar code は、0 から 256 までの数字、もしくは、以下に列挙する別名のいずれかです: .Cm net , host , protocol , port , .Cm needfrag , srcfail , net-unknown , host-unknown , .Cm isolated , net-prohib , host-prohib , tosnet , .Cm toshost , filter-prohib , host-precedence , .Cm precedence-cutoff 。マッチングは終了します。 .It Cm reset TCP パケットのみ対象。 パケットを破棄し、TCP の reset (RST) を送信し、 マッチングを終了します。 .It Cm count ルールにマッチするパケットすべてのカウンタを更新し、 引続きマッチングを行ないます。 .It Cm check-state 動的ルール集合に対してパケットのチェックを行ないます。 マッチした場合、マッチングは終了します。 マッチしなかった場合、次のルールに移ります。 .Cm check-state ルールが見つからないときは、動的ルール集合は最初の .Cm keep-state ルールの場所でチェックされます。 .It Cm divert Ar port マッチするパケットを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、マッチングを終了します。 .It Cm tee Ar port マッチするパケットのコピーを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送ります。 検索を終了し、元のパケットは受理されます .Po ただし後述の .Sx バグ を参照してください .Pc "。" .It Cm fwd Ar ipaddr Ns Xo .Op , Ns Ar port .Xc マッチしたパケットの次のホップを .Ar ipaddr に変更します。これはドット付き 4 つ組の IP アドレスでもホスト名でもよいです。 .Ar ipaddr が直接到達可能なアドレスではない場合、その IP に対して ローカルルーティングテーブルでみつかった経路を使用します。 .Ar ipaddr がローカルアドレスの場合、 リモートホストからこのシステムにパケットが到着すると、 そのパケットをローカルマシンの .Ar port に転換します。 その際、 ソケットのローカルアドレスは、 パケットの元々の宛先の IP アドレスのままとします。 これは透過的プロキシサーバのためにあります。 IP が ローカルアドレスではない場合、ポート番号は (指定されていても) 無視され、 ルールはシステムから出て行くパケットに対してのみ適用されます。 パケットがローカルに生成されたときには、アドレスをローカルポートに マップします。 検索はこのルールがマッチしたときに終了します。 ポート番号が与えられなかった場合、 外部マシンのポート Y へのパケットは ローカルポート Y へ転送されるように、 パケット中のポート番号が使用されます。 カーネルは、 オプション IPFIREWALL_FORWARD 付きでコンパイルされている必要があります。 .It Cm pipe Ar pipe_nr パケットを .Xr dummynet 4 .Dq パイプ へ渡します (バンド幅制限、遅延等のため)。 更なる情報については .Sx トラフィックシェイパ設定 の節を参照してください。 検索は終了します。 しかし、パイプから抜けたときに .Xr sysctl 8 変数 .Em net.inet.ip.fw.one_pass がセットされていない場合、 パケットはファイアウォールコードへ再度渡されて次のルールから開始します。 .It Cm queue Ar queue_nr パケットを .Xr dummynet 4 .Dq queue へ渡します (WF2Q を使ったバンド幅制限用)。 .It Cm skipto Ar number .Ar number より小さな番号のルールを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、マッチングを継続します。 .El .It Cm log Op Cm logamount Ar number カーネルが .Dv IPFIREWALL_VERBOSE オプション付きでコンパイルされている場合に、 .Cm log キーワードが指定されているルールとマッチした時、 メッセージをコンソールへ表示します。 カーネルが、 .Dv IPFIREWALL_VERBOSE_LIMIT オプション付きでコンパイルされている場合、 デフォルトでは、 一連のルールに対し指定されたパケット 数を受信した後、メッセージの表示を中止し、 .Em net.inet.ip.fw.verbose_limit がその数に設定されます。 しかし .Cm logamount Ar number が使用された場合、 .Em net.inet.ip.fw.verbose_limit の代りにこの .Ar number がデフォルトのログ制限になり、値 .Dq 0 を指定すると、ロギングの制限は取り除かれます。 このエントリに対するロギングカウンタまたはパケットカウンタを クリアすれば、ロギングは再び有効になります。 .Pp コンソールログとデフォルトログ制限数は、 .Xr sysctl 8 を通じて MIB ベース .Dv net.inet.ip.fw にて動的に設定できます。 .It Ar proto 名前または数値で指定する IP プロトコル (詳細は .Pa /etc/protocols のリストを参照のこと)。 .Cm ip または .Cm all のキーワードを使用すると、すべてのプロトコルがマッチします。 .It Ar src No と Ar dst : .Aq Ar address Ns / Ns Ar mask .Op Ar ports .Pp .Aq Ar address Ns / Ns Ar mask は以下のように指定できます。 .Bl -tag -width indent .It Ar ipno IP 番号を 1.2.3.4 の形式で指定します。 この IP 番号にのみマッチします。 .It Ar ipno Ns / Ns Ar bits IP 番号とネットマスクの幅を 1.2.3.4/24 の形式で指定します。 この例の場合は 1.2.3.0 から 1.2.3.255 のアドレスがマッチします。 .It Ar ipno Ns : Ns Ar mask IP 番号とネットマスクを 1.2.3.4:255.255.240.0 の形式で指定します。 この場合は 1.2.0.0 から 1.2.15.255 のアドレスがマッチします。 .El .Pp アドレスの前に .Cm not を付けることによって、マッチの意味を反転させる ことができます (指定されたアドレス以外のすべてのアドレスがマッチします)。 これはポート番号の選択には影響しません。 .Pp TCP と UDP ではさらに、 .Em ports を以下のように指定できます。 .Bd -ragged -offset indent .Sm off .Eo \&{ .Ar port | .Ar port No \&- Ar port | .Ar port : mask .Ec \&} Op , Ar port Op , Ar ... .Sm on .Ed .Pp 記号 .Ql \&- による表現は、ポート範囲 (両端含む) を指定します。 .Pp 記号 .Ql \&: による表現は、ポートとマスクを指定します。 マッチが宣言されるのは、 パケット中のポート番号がルール中のポート番号にマッチするときですが、 マッチ対象のビットはマスク中で指定されたものに限定されます。 .Pp ポート番号の代わりに (ファイル .Pa /etc/services から取った) サービス名を使用できます。 ポート範囲指定の書式は、最初の値としてのみ指定できます。 列挙出来るポート数は .Pa /usr/src/sys/netinet/ip_fw.h で .Dv IP_FW_MAX_PORTS として定義されています。 バックスラッシュ .Pq Ql \e を使用することにより、サービス名中の .Pq Ql - 文字をエスケープ可能です: .Pp .Dl ipfw add count tcp from any ftp\e\e-data-ftp to any .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 1 つ以上のポート指定を持つルールにはマッチしません。 断片化されたパケットへのマッチングに関する詳細は .Cm frag オプションを参照してください。 .It Ar interface-spec 次の指定子の組み合わせを使用可能です: .Bl -tag -width "via ipno" .It Cm in 入力パケットにのみマッチします。 .It Cm out 出力パケットにのみマッチします。 .It Cm via Ar ifX パケットはインタフェース .Ar ifX を通過せねばなりません。 .It Cm via Ar if Ns Cm * パケットはインタフェース .Ar ifX を通過せねばなりません。この .Ar X はどんなユニット番号でもかまいません。 .It Cm via any パケットは .Em いずれか のインタフェースを通過せねばなりません。 .It Cm via Ar ipno パケットは、 IP アドレス .Ar ipno を持つインタフェースを通過せねばなりません。 .El .Pp .Cm via を用いると、常時指定されたインタフェースがチェックされます。 .Cm recv や .Cm xmit を、 .Cm via の代わりに指定すると、 受信、もしくは送信インタフェースのみが (おのおの) チェックされます。 両方を指定すれば、 受信インタフェースと送信インタフェースの両方に基づきパケットを マッチさせることが可能になります。 例 : .Pp .Dl "ipfw add 100 deny ip from any to any out recv ed0 xmit ed1" .Pp .Cm recv で指定したインタフェースでは、受信と送信、両方のパケットをチェックできます。 それに対し、 .Cm xmit で指定したインタフェースでは、送信パケットのみとなります。 それゆえに、 .Cm xmit を指定すると .Cm out が、必須です ( .Ar in は不可)。 .Ar via と共に .Ar xmit もしくは、 .Ar recv を指定する事はできません。 .Pp パケットは、受信用ないし送信用インタフェースを持たない場合があります。 ローカルホストで発生したパケットには受信用のインタフェースはありませんし、 ローカルホスト内宛のパケットには送信用インタフェースはありません。 .It Ar options : .Bl -tag -width indent .It Cm keep-state Op Ar method マッチの際に、ファイアウォールが動的ルールを生成します。このルールの デフォルトの動作は、同一プロトコルを用いる発信元と宛先の IP/port 間で双方向に通過するパケットへのマッチです。 このルールの生存期間は有限です ( .Xr sysctl 8 変数の集合により制御されます)。この生存期間は、パケットのマッチが 生じるたびに更新されます。 .Pp 実際の動作は、異なる .Ar method を指定することにより変更が可能です。 .It Cm bridged ブリッジされるパケットにのみマッチします。 これはマルチキャストやブロードキャストのパケットを扱う際に有用です。 これ以外の方法では、パケットは、ブリッジの際に一度、 ローカルスタックに渡される際にもう一度と、 ファイアウォールを 2 度通過してしまいます。 .Pp パフォーマンス上のわずかな損失はともかく、 .Em pipe を用いる際にも問題になります。これは、バンド幅、キュー占有度などの カウンタに関して、同じパケットが 2 度カウントされてしまうためです。 .It Cm frag パケットが断片 (フラグメント) 化されたデータグラムの一部で、 かつデータグラムの先頭の断片でない場合にマッチします。 .Cm frag を、 .Cm tcpflags や TCP/UDP ポート指定と共に使用することはできません。 .It Cm ipoptions Ar spec IP ヘッダが、 .Ar spec に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 サポートされている IP オプションは .Pp -.Ar ssrr +.Cm ssrr (strict source route), -.Ar lsrr +.Cm lsrr (loose source route), -.Ar rr +.Cm rr (record packet route), -.Ar ts +.Cm ts (timestamp) です。 .Ql ! によって、特定のオプションを含まない指定が記述できます。 +.It Cm tcpoptions Ar spec +TCP ヘッダが、 +.Ar spec +に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 +サポートされている TCP オプションは +.Pp +.Cm mss +(maximum segment size), +.Cm window +(tcp window advertisement), +.Cm sack +(selective ack), +.Cm ts +(rfc1323 timestamp), +.Cm cc +(rfc1644 t/tcp connection count) です。 +.Ql ! +によって、特定のオプションを含まない指定が記述できます。 .It Cm established TCP パケットのみに適用されます。 RST または ACK ビットがセットされているパケットのみマッチします。 .It Cm setup TCP パケットのみに適用されます。 SYN ビットがセットされ ACK がセットされていないパケットのみマッチします。 .It Cm tcpflags Ar spec TCP パケットのみに適用されます。 TCP ヘッダが .Ar spec に指定されたコンマで区切られたフラグのリストを含む場合にのみマッチします。 サポートされているフラグは、 .Pp .Cm fin , .Cm syn , .Cm rst , .Cm psh , .Cm ack , .Cm urg です。 .Ql ! によって、特定のフラグを含まない指定を記述できます。 .Cm tcpflags 指定を含むルールは、非 0 のオフセットを持つ断片化されたパケットに マッチすることはありません。 断片化されたパケットに関するマッチについての詳細は .Cm frag オプションを参照してください。 .It Cm icmptypes Ar types ICMP パケットのみに適用されます。 ICMP タイプが .Ar types で指定されたリスト中に存在する場合にのみマッチします。 リストは範囲指定でも、タイプおのおのをコンマで区切ったものでも どちらの組み合わせでもかまいません。 サポートされている ICMP タイプは次の通りです: .Pp エコー返答 .Pq Cm 0 , 終点不到達 .Pq Cm 3 , 発信抑制 .Pq Cm 4 , リダイレクト .Pq Cm 5 , エコー要求 .Pq Cm 8 , ルータ広告 .Pq Cm 9 , ルータ要請 .Pq Cm 10 , 時間超過 .Pq Cm 11 , IP ヘッダ異常 .Pq Cm 12 , タイムスタンプ要求 .Pq Cm 13 , タイムスタンプ応答 .Pq Cm 14 , 情報要求 .Pq Cm 15 , 情報返答 .Pq Cm 16 , アドレスマスク要求 .Pq Cm 17 , アドレスマスク応答 .Pq Cm 18 .It Cm uid Ar user .Ar user が送信したまたは受信する、 すべての TCP パケットと UDP パケットにマッチします。 .Ar user は、名前でも ID 番号でもマッチします。 .It Cm gid Ar group .Ar group が送信したまたは受信する、 すべての TCP パケットと UDP パケットにマッチします。 .Ar group は、名前でも ID 番号でもマッチします。 .El .El .Sh トラフィックシェイパ設定 .Nm ユーティリティは、 .Xr dummynet 4 トラフィックシェイパへのユーザインタフェースも提供します。 シェイパは、ユーザが指定したマスクを IP ヘッダの異なったフィールドに 適用することにより、パケットを .Em フロー (flow) に分割します。 同じフローに属するパケットは 2 つの異なったオブジェクトへ渡されます。 それは .Em パイプ (pipe) または .Em キュー (queue) と呼ばれるものです。 .Em パイプ は、与えられたバンド幅、遅延時間、キューの長さ、パケット喪失率を もつリンクをエミュレートします。 このパラメータに従い、パケットはパイプ中を遷移します。 .Pp .Em キュー は、WF2Q+ ポリシを実装するために使用する抽象化です。 キューは、各フローに対し、重みと参照パイプを関連付けます。 それから、同じパイプに結び付けられたすべてのフローは、 WF2Q+ ポリシに従い、 パイプによって固定されたレートでスケジュールされます。 .Pp .Nm パイプ設定書式は次の通りです。 .Bd -ragged .Cm pipe Ar number Cm config .Op Cm bw Ar bandwidth | device .Op Cm delay Ar ms-delay .Oo .Cm queue .Es \&{ \&} .En Ar slots | size .Oc .Op Cm plr Ar loss-probability .Op Cm mask Ar mask-specifier .Op Cm buckets Ar hash-table-size .Oo .Cm red | gred .Sm off .Ar w_q No / Xo .Ar min_th No / .Ar max_th No / .Ar max_p .Xc .Sm on .Oc .Ed .Pp .Nm キュー設定書式は次の通りです。 .Bd -ragged .Cm queue Ar number Cm config .Op Cm pipe Ar pipe_nr .Op Cm weight Ar weight .Oo .Cm queue .Es \&{ \&} .En Ar slots | size .Oc .Op Cm plr Ar loss-probability .Op Cm mask Ar mask-specifier .Op Cm buckets Ar hash-table-size .Oo .Cm red | gred .Sm off .Ar w_q No / Xo .Ar min_th No / .Ar max_th No / .Ar max_p .Xc .Sm on .Oc .Pp 次のパラメータをパイプに対して設定可能です: .Bl -tag -width indent .It Cm bw Ar bandwidth | device バンド幅であり、単位は .Sm off .Oo .Cm K | M .Oc Eo \&{ .Cm bit/s | Byte/s .Ec \&} .Sm on で測定します。 .Pp 値 0 (デフォルト) は無限のバンド幅を意味します。 単位は数値の直後に続けて書く必要があり、次のようにします。 .Pp .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes" .Pp 数値の代りにデバイス名が指定された場合、 送信クロックは指定したデバイスから与えられます。 現在のところ、 .Xr tun 4 デバイスのみが .Xr ppp 8 と組み合わせて使用するために、この機能を提供しています。 .It Cm delay Ar ms-delay 遅延時間であり、ミリ秒単位で指定します。 値は、クロックティックの倍数 (典型的には 10ms ですが、 カーネルを "options HZ=1000" で動作させて精度を 1ms 以下にすると良い ことが経験的に知られています) に丸められます。 デフォルト値は 0 であり、遅延無しを意味します。 .It Cm queue Xo .Es \&{ \&} .En Ar slots | size Ns Cm Kbytes .Xc キューの大きさであり、スロット数か KBytes です。 デフォルト値は 50 スロットであり、 イーサネットデバイスの典型的なキューの大きさです。 低速リンクではキューの大きさを短くすべきことに注意してください。 さもないと、トラフィックは甚大なキュー遅延による影響を受けてしまいます。 例えば、 50 個の最大イーサネットパケット (1500 バイト) は 600Kbit であり、 30Kbit/s のパイプでは 20 秒のキューを意味します。 より大きな MTU のインタフェースからパケットを受け取るときには、 より悪い結果となります。 例えば、ループバックインタフェースにおいて 16KB パケットを受け取るときです。 .It Cm plr Ar packet-loss-rate パケット喪失率です。 引数 .Ar packet-loss-rate は 0 と 1 の間の浮動小数点数であり、 0 は喪失無しを意味し、1 は 100% の喪失を意味します。 喪失率は内部的には 31 ビットで表現されます。 .It Cm mask Ar mask-specifier .Xr dummynet 4 では、フローごとのキューを生成可能です。 フロー識別子は、パイプ設定において指定される IP アドレス、ポート、プロトコルタイプでマスクすることで構築されます。 マスク後に同じ識別子を持つパケットは、同じキューに落ちます。 使用可能なマスク指定子は、次を組み合わせたものです: .Cm dst-ip Ar mask , .Cm src-ip Ar mask , .Cm dst-port Ar mask , .Cm src-port Ar mask , .Cm proto Ar mask , .Cm all 。 最後の指定子は、 すべてのフィールドのすべてのビットが重要であることを意味しています。 .Ar pipe 設定中で使用される場合、 各フローにはパイプのレートに等しいレートが割り当てられます。 .Ar queue 設定中で使用される場合、 各フローにはキューの重みに等しい重みが割り当てられ、 同じパイプを構成するキューは重みに比例してバンド幅を共有します。 .It Cm buckets Ar hash-table-size 様々なキューを格納するために使用するハッシュ表の大きさを指定します。 デフォルト値は 64 であり、 .Xr sysctl 8 変数 .Em net.inet.ip.dummynet.hash_size で制御され、使用可能な範囲は 16 から 1024 です。 .It Cm pipe Ar pipe_nr キューを指定したパイプに接続します。 複数のキュー (通常は異なった重み) を同一のパイプに接続可能です。 この場合、このキュー集合に対する集約レートを、このパイプが指定します。 .It Cm weight Ar weight このキューに適合するフローに使用する重みを指定します。 重みは 1..100 の範囲であることが必要であり、デフォルトは 1 です。 .It Cm red | gred Xo .Sm off .Ar w_q No / .Ar min_th No / .Ar max_th No / .Ar max_p .Sm on .Xc RED キュー管理アルゴリズムを使用します。 .Ar w_q と .Ar max_p は 0 から 1 (0 を含みません) の範囲の浮動小数点数であり、 .Ar min_th と .Ar max_th はキュー管理用の閾値を指定する整数です (キューがバイト数で指定された場合は閾値はバイトで計算され、 そうでない場合はスロット数で計算されます)。 .Xr dummynet 4 は、gentle RED という変型 (gred) もサポートします。 RED の動作を制御するために、3 個の .Xr sysctl 8 変数を使用可能です: .Bl -tag -width indent .It Em net.inet.ip.dummynet.red_lookup_depth リンクがアイドルの時の、平均キューの計算精度を指定します (デフォルトは 256 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_avg_pkt_size パケットサイズの平均の期待値を指定します (デフォルトは 512 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_max_pkt_size パケットサイズの最大値の期待値を指定します。 キューの閾値がバイトの場合のみ使用されます (デフォルトは 1500 であり、0 より大きい必要があります) .El .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点を述べます。 .Bl -bullet .It かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる のがよいでしょう。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 長所 ファイアウォールが常に破棄するパケットが 1 種類あります。 フラグメントオフセットが 1 のフラグメントパケットです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 .Pp ネットワーク越しにログインしている場合、 .Xr kld 4 バージョンの .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset indent kldload /modules/ipfw.ko && \e ipfw add 32000 allow ip from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset indent ipfw flush .Ed .Pp とするのは良くありません。 .Pp システムセキュリティレベルが 3 以上に設定されている場合、 IP フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .Sh パケットの行き先変更 指定されたポートにバインドされた .Xr divert 4 ソケットは、 そのポートへ行き先変更されたパケットを、 全部受けとります。 宛先ポートにバインドされたソケットがない場合や、 カーネルがパケットの行き先変更ソケットをサポートするようには コンパイルされていない場合、 パケットは破棄されます。 .Sh SYSCTL 変数 ファイアウォールの動作を制御する .Xr sysctl 8 変数の集合があります。これらを、デフォルトの値と意味とともに 以下に示します。 .Bl -tag -width indent .It Em net.inet.ip.fw.debug : No 1 .Nm ipfw が生成するデバッグメッセージを制御します。 .It Em net.inet.ip.fw.one_pass : No 1 セットされると、ファイアウォールの通過が 1 回だけ許されるように なります。セットされない場合、pipe や行き先変更処理のあと、 パケットは再びファイアウォールに挿入され、次のルールから再開されます。 .It Em net.inet.ip.fw.verbose : No 1 冗長なメッセージを出力するようにします。 .It Em net.inet.ip.fw.enable : No 1 ファイアウォールを動作可能にします。 この変数を 0 に設定すると、ファイアウォールをコンパイルして 仕込んでいてもファイアウォールなしで動作します。 .It Em net.inet.ip.fw.verbose_limit : No 0 冗長なファイアウォールが生成するメッセージの数を制限します。 .It Em net.inet.ip.fw.dyn_buckets : No 256 .It Em net.inet.ip.fw.curr_dyn_buckets : No 256 動的ルールを保持するために使用するハッシュ表の設定サイズと 現在のサイズです。この値は 2 のべき乗にする必要があります。 ハッシュ表のサイズの変更は、表が空の場合のみ行なわれます。 したがって、実行中に表のサイズを変更するためには、 .Cm flush してルール集合を再ロードする必要があるでしょう。 .It Em net.inet.ip.fw.dyn_count : No 3 現在の動的ルールの数です .Pq 読み込み専用 。 .It Em net.inet.ip.fw.dyn_max : No 1000 動的ルールの最大値です。この限界にいきつくと、 古いルールが無効になるまでは、それ以上、動的ルールを 組み込むことはできません。 .It Em net.inet.ip.fw.dyn_ack_lifetime : No 300 .It Em net.inet.ip.fw.dyn_syn_lifetime : No 20 .It Em net.inet.ip.fw.dyn_fin_lifetime : No 20 .It Em net.inet.ip.fw.dyn_rst_lifetime : No 5 .It Em net.inet.ip.fw.dyn_short_lifetime : No 30 これらの値は、動的ルールの生存期間を秒単位でコントロールします。 最初の SYN 交換の際に、生存期間が short になり、 SYN を両方とも見た後に増やされ、最後の FIN 交換の間、 または RST が生じる際に再び減らされます。 .El .Sh 使用例 次のコマンドは .Em cracker.evil.org から .Em wolf.tambov.su の telnet ポートへ送られるすべての TCP パケットを拒否するルールを追加します。 .Pp .Dl "ipfw add deny tcp from cracker.evil.org to wolf.tambov.su telnet" .Pp 次のコマンドはクラッカーのネットワーク全体からホスト my への すべてのコネクションを拒否します。 .Pp .Dl "ipfw add deny ip from 123.45.67.0/24 to my.host.org" .Pp 最初に効率良く (動的ルールを用いずに) アクセスを制限する方法は、 次のルールを用いることです。 .Pp .Dl "ipfw add allow tcp from any to any established" .Dl "ipfw add allow tcp from net1 portlist1 to net2 portlist2 setup" .Dl "ipfw add allow tcp from net3 portlist3 to net3 portlist3 setup" .Dl "..." .Dl "ipfw add deny tcp from any to any" .Pp 最初のルールは通常の TCP パケットにすぐにマッチしますが、 最初の SYN パケットにはマッチしません。 指定した発信元/宛先の組の SYN パケットのみ、次の .Cm setup ルールにマッチします。これら以外の SYN パケットは、最後の .Cm deny ルールにより却下されます。 .Pp にせの TCP パケットを含む怒涛の攻撃 (flood attack) から サイトを保護するためには、次の動的ルールを用いた方が安全です。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add deny tcp from any to any established" .Dl "ipfw add allow tcp from my-net to any setup keep-state" .Pp これらのルールにより、ファイアウォールは、自分たちのネットワークの 内側から到着する通常の SYN パケットで始まるコネクションに対して のみ動的ルールを組み込みます。動的ルールは、最初の .Cm check-state ルール、または、 .Cm keep-state ルールに遭遇した時点でチェックされます。 ルール集合のスキャン量を最小にするために、 .Cm check-state ルールは、ルール集合の最初のほうに置くことになるのが普通です。 実際の燃費は変動します。 .Pp .Em 注意 : ステートフルなルールは、怒涛の SYN 攻撃により極めて大量の動的ルールを 作ってしまい、サービス不能攻撃を受けることになる可能性があります。 ファイアウォールの動作をコントロールする .Xr sysctl 8 変数に従いファイアウォールが動作することによって、 このような攻撃の影響を部分的にでも制限することはできます。 .Pp 次はカウントされている情報とタイムスタンプ情報を見る .Cm list コマンドのよい例です。 .Pp .Dl ipfw -at l .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a l .Pp 次のルールは 192.168.2.0/24 からのすべての受信パケットを、5000 番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 ip from 192.168.2.0/24 to any in .Pp 次のルールは、 .Nm と .Xr dummynet 4 をシミュレーションなどで使う際の使用方法を示しています。 .Pp このルールは 5% の確率でランダムにパケットを落します。 .Pp .Dl "ipfw add prob 0.05 deny ip from any to any in" .Pp 同様の効果は dummynet パイプで実現可能です: .Pp .Dl "ipfw add pipe 10 ip from any to any" .Dl "ipfw pipe 10 config plr 0.05" .Pp 人工的にバンド幅を制限するためにパイプを使用可能です。 例えばルータとして動作するマシン上で、 192.168.2.0/24 上のローカルクライアントからのトラフィックを制限したい場合、 次のようにします: .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes" .Pp .Cm out 指示子を使用しているので、ルールが 2 度使われないことに注意してください。 .Nm ルールは、実際には、 入力パケットと出力パケットの両方に適用されることを覚えておいてください。 .Pp バンド幅に制限がある双方向リンクをシミュレートする場合、 正しい方法は次の通りです: .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config bw 64Kbit/s queue 10Kbytes" .Dl "ipfw pipe 2 config bw 64Kbit/s queue 10Kbytes" .Pp 上述の方法は非常に有用な場合があり、 例えばあなたの装飾的なウェブページが 低速リンクのみで接続されている在宅ユーザにどう見えているか 知りたい場合に有用です。 半二重メディア (例えば appletalk, Ethernet, IRDA) をシミュレートしたい 場合を除き、単一のパイプを両方の方向に使用すべきではありません。 両方のパイプが同じ設定である必要はないので、 非対称リンクをシミュレート可能です。 .Pp RED キュー管理アルゴリズムを使用してネットワーク性能を検証するには、 次のようにします: .Pp .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config bw 500Kbit/s queue 100 red 0.002/30/80/0.1" .Pp トラフィックシェイパの他の典型的な応用は、 いくばくかの通信遅延を導入することです。 これは、遠隔手続き呼び出しを多用するアプリケーションで、 バンド幅よりも接続のラウンドトリップ時間がしばしば制約条件となる アプリケーションに、大きな影響を与えます: .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config delay 250ms bw 1Mbit/s" .Dl "ipfw pipe 2 config delay 250ms bw 1Mbit/s" .Pp フローごとのキューはさまざまな用途に有用です。 非常に単純な用途は、トラフィックの計数です: .Pp .Dl "ipfw add pipe 1 tcp from any to any" .Dl "ipfw add pipe 1 udp from any to any" .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config mask all" .Pp 上述のルールセットは、 すべてのトラフィックに対するキューを生成 (して統計情報を収集) します。 パイプには制限をつけていないので、統計情報を集める効果しかありません。 最後のルールだけでなく 3 個のルールが必要なことに注意してください。 .Nm が IP パケットのマッチを試みるときにポートを考慮しないため、 別々のポート上の接続は我々には同じものに見えます。 .Pp より洗練された例は、 ネットワークの出力トラフィックを、 ネットワーク毎に制約するのではなく、ホスト毎に制約するものです: .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw add pipe 2 ip from any to 192.168.2.0/24 in" .Dl "ipfw pipe 1 config mask src-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Dl "ipfw pipe 2 config mask dst-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr bridge 4 , .Xr divert 4 , .Xr dummynet 4 , .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr init 8 , .Xr kldload 8 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ .Pp この数年で文法が大きくなってしまい、 非常にすっきりしているとは言い難いです。 .Pp .Em WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!! .Pp このプログラムはコンピュータをかなり使いにくい状態にしてしまう 可能性があります。 はじめて使用する時はコンソール上で実行し、理解していない操作は .Em 絶対に実行しない ようにして下さい。 .Pp 連続したエントリの操作もしくは追加に際し、 サービス名やプロトコル名は使用できません。 .Pp 入ってきたパケットの断片 (フラグメント) が .Cm divert によって行き先を変更されるか .Cm tee されると、ソケットに配送される前にパケットは再構成されます。 .Pp .Cm tee ルールにマッチするパケットは、 即時に受理されるべきではなく、ルールリストを更に通るべきです。 これは、以降のバージョンで修正されるかもしれません。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs , .An Luigi Rizzo . .Pp API は Daniel Boulet が BSDI 用に記述したコードに基づいています。 .Pp .Xr dummynet 4 トラフィックシェイパは Akamba Corp がサポートしました。 .Sh 歴史 .Nm は、 .Fx 2.0 で最初に現れました。 .Xr dummynet 4 は .Fx 2.2.8 から導入されました。 ステートフル拡張は、 .Fx 4.0 から導入されました。 diff --git a/ja_JP.eucJP/man/man8/loader.8 b/ja_JP.eucJP/man/man8/loader.8 index 533e9fe315..3af8e8e0c2 100644 --- a/ja_JP.eucJP/man/man8/loader.8 +++ b/ja_JP.eucJP/man/man8/loader.8 @@ -1,798 +1,798 @@ .\" Copyright (c) 1999 Daniel C. Sobral .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sys/boot/common/loader.8,v 1.18.2.1 2000/07/06 23:27:28 obrien Exp % +.\" %FreeBSD: src/sys/boot/common/loader.8,v 1.18.2.2 2000/08/11 10:34:04 dcs Exp % .\" .\" Note: The date here should be updated whenever a non-trivial .\" change is made to the manual page. .\" .\" jpman %Id: loader.8,v 1.2 1999/05/07 11:24:21 horikawa Stab % .Dd March 14, 1999 .Dt LOADER 8 .Os .Sh 名称 .Nm loader .Nd カーネルブートストラップの最終段階 .Sh 解説 .Nm と呼ばれるプログラムは、 FreeBSD のカーネルブートストラップにおける、最終段です。 これは .Pa BTX クライアントです。 .Xr libstand 3 に静的にリンクされ、通常はディレクトリ .Pa /boot に置かれます。 .Pp また、作業自動化、事前設定、回復処理の補助に使用可能な、 スクリプト言語を提供します。 このスクリプト言語はおおまかに 2 つの主たる部分に分類されます。 小さな方は、通常のユーザが直接使用するようデザインされたコマンドの集合で、 歴史的な事情により「組み込みコマンド」と呼ばれます。 これらのコマンドを提供した背景には、 主としてユーザの使い勝手を改善する目的があります。 大きな部品は .Tn ANS Forth 互換の Forth インタプリタであり、 .An John Sadler の ficl をベースにしています。 .Pp 初期化において、 .Nm はコンソールを検出して .Va console 変数を設定します。 直前のブートステージにシリアルコンソールを使用した場合には、 この変数をシリアルコンソール .Pq Dq comconsole に設定します。 その後、デバイスをプローブし、 .Va currdev と .Va loaddev を設定し、 .Va LINES を 24 に設定します。 次に .Tn FICL が初期化され、組み込み語が語彙に追加され、存在する場合には .Pa /boot/boot.4th が処理されます。 このファイルが読み込まれるまで、ディスクの交換はできません。 .Nm が .Tn FICL とともに使用する内部インタプリタは .Ic interpret に設定されます。これは .Tn FICL のデフォルトです。 この後、使用可能な場合 .Pa /boot/loader.rc が処理され、そうでない場合には歴史的な理由で .Pa /boot/boot.conf が読み込まれます。 これらのファイルは .Ic include コマンドを介して処理されます。 このコマンドは、 処理前にファイル内容すべてをメモリに読み込みますので、 ディスク交換が可能となります。 .Pp この時点で、 .Ic autoboot が試されていない場合でかつ .Va autoboot_delay が .Dq NO (大文字小文字は区別しません) に設定されていない場合、 .Ic autoboot が試されます。 システムがこの時点まで到達した場合、 .Va prompt が設定され、 .Nm は対話モードになります。 .Sh 組み込みコマンド .Nm の組み込みコマンドは、パラメータをコマンドラインから受け取ります。 現在、スクリプトからの呼び出し方法は、文字列上で .Pa evaluate を使用することだけです。 エラー状態が発生すると、 .Tn ANS Forth 例外操作語でインタセプト可能な例外が生成されます。 インタセプトされない場合、エラーメッセージが表示され、 インタプリタの状態がリセットされます。 これにより、スタックが空になりインタプリタのモードが元に戻ります。 .Pp 使用可能な組み込みコマンドは次の通りです: .Pp .Bl -tag -width Ds -compact -offset indent .It Ic autoboot Op Ar seconds ユーザが割り込まない場合には、 指定した秒数の後にシステムのブートストラップへ進みます。 キーが押されて割り込まれるまで、 カウントダウンプロンプトを表示し、 ユーザに対してシステムがブートするところであることを警告します。 必要であれば、最初にカーネルがロードされます。 デフォルトは 10 秒です。 .Pp .It Ic bcachestat ディスクキャッシュの使用状況を表示します。 デバッグのためだけにあります。 .Pp .It Ic boot .It Ic boot Ar kernelname Op Cm ... .It Ic boot Fl flag Cm ... システムのブートストラップへすぐに進み、 必要であればカーネルをロードします。 すべてのフラグまたは引数はカーネルに渡されますが、 カーネル名が指定された場合、これらはカーネル名の後にある必要があります。 .Pp .It Ic echo Xo .Op Fl n .Op Aq message .Xc 画面にテキストを表示します。 .Fl n を指定しない場合、改行が表示されます。 .Pp .It Ic heap メモリ使用状況が表示されます。デバッグ目的のためだけにあります。 .Pp .It Ic help Op topic Op subtopic ヘルプメッセージを .Pa /boot/loader.help から読み込んで表示します。 特殊トピック .Em index は、使用可能なトピックを表示します。 .Pp .It Ic include Ar file Op Ar スクリプトファイルを処理します。 各ファイルは、順番がまわって来たところで完全にメモリに読み込まれ、 各行がコマンドラインインタプリタに渡されます。 インタプリタがエラーを返すと、 他のファイルは読み込まずに include コマンドは即時に異常終了し、 自身にエラーを返します ( .Sx エラー 参照)。 .Pp .It Ic load Xo .Op Fl t Ar type .Ar file Cm ... .Xc カーネル、カーネルローダブルモジュール (kld)、内容を問わず .Ar type とタグ付けされているファイルのいずれかをロードします。 カーネルとモジュールは、a.out または elf のどちらの形式であってもかまいません。 ロードされるファイルの後で渡される引数は、 そのファイルに対する引数として渡されます。 現在のところ、これはカーネルに対しては動作しないことに注意してください。 .Pp .It Ic ls Xo .Op Fl l .Op Ar path .Xc ディレクトリ .Ar path 、または .Ar path を指定しなかった場合にはルートディレクトリのファイル一覧を表示します。 .Fl l を指定すると、ファイルの大きさも表示します。 .Pp .It Ic lsdev Op Fl v モジュールのロード元となりうるデバイスをすべて表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic lsmod Op Fl v ロード済のモジュールを表示します。 .Fl v を指定すると、更なる詳細を表示します。 .Pp .It Ic more Ar file Op Ar .Va LINES 行を表示するごとに停止しながら、指定したファイルを表示します。 .Pp .It Ic pnpscan Op Fl v プラグアンドプレイデバイスをスキャンします。 現在のところ動作しません。 .Pp .It Ic read Xo .Op Fl t Ar seconds .Op Fl p Ar prompt .Op Va variable .Xc 入力行を端末から読み込み、 .Va variable が指定された場合にはこれに読み込み結果を格納します。 タイムアウトは .Fl t で指定可能ですが、これは最初に押されるキーにより打ち消されます。 プロンプトもまた .Fl p フラグにより表示可能です。 .Pp .It Ic reboot 即時にシステムをリブートします。 .Pp .It Ic set Ar variable .It Ic set Ar variable Ns = Ns Ar value ローダの環境変数を設定します。 .Pp .It Ic show Op Va variable 指定した変数の値を表示します。 .Va variable を指定しないと、すべての変数とその値を表示します。 .Pp .It Ic unload 全モジュールをメモリから取り除きます。 .Pp .It Ic unset Va variable .Va variable を環境から取り除きます。 .Pp .It Ic \&? .Dq help index と同じです。 .Pp .El .Ss 組み込みの環境変数 .Nm は実際のところ、異なった 2 種類の .Sq 環境 変数を持ちます。 それは、ANS Forth の .Em 環境問い合わせ と、別の空間であり組み込みコマンドが使用する環境変数です。 後者は Forth の語としては直接使用できません。 この節で説明するのは、後者です。 .Pp 環境変数の設定および設定解除は、 .Ic set と .Ic unset の組み込みコマンドを介して行います。これらの値は、 .Ic show 組み込みコマンドを使用して対話的に検査できます。 これらの値は、 .Sx 組み込みパーザ で説明する方法でもまたアクセス可能です。 .Pp この環境変数は、システムブート後にシェルに継承されないことに注意してください。 .Pp 数個の変数が .Nm により自動的に設定されます。 他の変数は、 .Nm またはブート時のカーネル動作に影響し得ます。 これらのうち値を要求するものがある一方、 設定されるだけで動作を定義するものもあります。 これらを以下に示します。 .Bl -tag -width bootfile -offset indent .It Va autoboot_delay .Ic autoboot がブート前に待つ秒数です。この変数が定義されていない場合、 .Ic autoboot はデフォルトの 10 秒になります。 .Pp .Dq NO に設定すると、 .Pa /boot/loader.rc の処理の後に .Ic autoboot を自動的には試みなくなります。 しかし、明示的に .Ic autoboot を指定すると、デフォルトの 10 秒の遅延の後に通常通り処理されます。 .It Va boot_askname カーネルブート時にルートデバイス名をユーザに尋ねるように、 カーネルに指示します。 .It Va boot_ddb ブート時に初期化に進むのではなく DDB デバッガを開始するように、 カーネルに指示します。 .It Va boot_gdb gdb リモートモードを、カーネルデバッガのデフォルトとして選択します。 .It Va boot_single カーネルがマルチユーザスタートアップを開始することを防ぎ、 カーネルがデバイスプローブを完了したときにはシングルユーザモードになります。 .It Va boot_userconfig カーネルブート時に カーネルの対話的なデバイス設定プログラムを実行するよう要求します。 .It Va boot_verbose この変数を設定すると、 ブートフェーズ中に追加のデバッグ情報をカーネルが表示します。 .It Va bootfile セミコロンで区切った検索パスのリストであり、 ここからブート可能なカーネルを探します。 デフォルトは .Li Dq kernel;kernel.old です。 .It Va console 現在のコンソールを定義します。 .It Va currdev デフォルトデバイスを選択します。デバイスの文法は奇妙なものです。 .It Va init_path カーネルが初期プロセスとして実行しようとすべきバイナリのリストを指定します。 デフォルトは .Li Dq /sbin/init:/sbin/oinit:/sbin/init.bak:/stand/sysinstall です。 .It Va interpret Forth の現在の状態がインタプリタの場合、 .Li Dq ok という値を持ちます。 .It Va LINES 画面上の行数を定義します。ページャが使用します。 .It Va module_path モジュールを検索するディレクトリのリストを設定します。 モジュール名は、load コマンドまたは依存関係により暗黙的に指定されます。 この変数のデフォルト値は .Li Dq /;/boot;/modules です。 .It Va num_ide_disks IDE ディスクの数を設定します。 これは、ブート時にルートディスクを見つけることに関する問題への対処です。 .Va root_disk_unit により価値が低下しています。 .It Va prompt .Nm のプロンプトの値です。 デフォルトは .Li Dq "${currdev}>" です。 .It Va root_disk_unit ルートディスクのディスクユニット番号を検出するコードが混乱する場合、 この変数を設定することでユニット番号を強制可能です。 混乱するのは、例えば SCSI と IDE のディスクを両方持つ場合や、 IDE ディスクの並びに隙間がある場合 (プライマリスレーブが無い場合など) です。 .It Va rootdev デフォルトでは、カーネルブート時にルートファイルシステムの設定には .Va currdev が使用されます。 これは .Va rootdev を明示的に設定することによりオーバライド可能です。 .El .Pp 他の変数を使用することにより、 カーネルの調整可能なパラメータをオーバライド可能です。 次の調整可能な変数が使用可能です: .Bl -tag -width Va -offset indent .It Va kern.ipc.nmbclusters 割り当てられる mbuf クラスタ数を設定します。 カーネルコンパイル時に決定されたデフォルト値より小さくは、設定できません。 .Va NMBCLUSTERS を変更します。 .It Va kern.vm.kmem.size カーネルメモリの大きさ (バイト) を設定します。 カーネルコンパイル時に決定された値に、完全に優先します。 .Va VM_KMEM_SIZE を変更します。 .It Va machdep.pccard.pcic_irq 通常時に PCCARD コントローラに割り当てられる IRQ をオーバライドします。 典型的には、最初に利用可能な割り込みが割り当てられてしまい、 他のハードウェアと衝突してしまうかもしれません。 この値を 0 に設定すると、割り込みは割り当てられず、 コントローラはポーリングモードのみで動作します。 .It Va net.inet.tcp.tcbhashsize .Va TCBHASHSIZE のコンパイル時の設定値をオーバライドするか、 デフォルトの 512 にプリセットします。 2 のべき乗である必要があります。 .El .Ss 組み込みパーザ 組み込みコマンドが実行されるとき、 行の残りはコマンドが引数として受け取り、 通常の Forth コマンドには使用されない特別なパーザがコマンドを処理します。 .Pp この特別なパーザは、解析したテキストに対して次のルールを適用します: .Pp .Bl -enum .It すべてのバックスラッシュ文字は前処理されます。 .Bl -bullet .It \eb , \ef , \er , \en, \et は C で扱われるように処理されます。 .It \es は空白文字に変換されます。 .It \ev は .Tn ASCII の 11 に変換されます。 .It \ez は単にスキップされます。 .Dq \e0xf\ez\e0xf のように使用すると便利です。 .It \e0xN と \e0xNN は 16 進数の N と NN に変換されます。 .It \eNNN は 8 進数 NNN の .Tn ASCII 文字に変換されます。 .It \e" , \e' , \e$ は、これらの文字をエスケープし、 後述するステップ 2 における特殊な意味を与えられないようにします。 .It \e\e は単一の \e に変換されます。 .It 他の場合、バックスラッシュは単に取り除かれます。 .El .It エスケープされていないクォートまたはダブルクォートの間のすべての文字列は、 後続するステップにおいて単一の語として扱われます。 .It .Li $VARIABLE または .Li ${VARIABLE} は、環境変数 .Va VARIABLE の値に変換されます。 .It 空白で区切られた複数の引数を、呼び出した組み込みコマンドへ渡します。 空白は \e\e を使用することによりエスケープ可能です。 .El .Pp 解析ルールには例外があり、これは .Sx 組み込み語と FORTH で説明します。 .Ss 組み込み語と FORTH すべての組み込み語は、状態を意識する即時実行語です。 インタプリトされると、これらは前述の通りに振舞います。 一方コンパイルされると、 引数をコマンドラインからではなくスタックから取り出します。 .Pp コンパイルされると、 実行時に組み込み語は、スタック上で次のパラメータを見付けられると期待します: .D1 Ar addrN lenN ... addr2 len2 addr1 len1 N ここで .Ar addrX lenX は文字列であり、組み込み語の引数として解釈されるコマンドラインを構成します。 内部的には、おのおのの間に空白を狭んで、 これらの文字列は 1 から N まで結合されます。 .Pp 引数が渡されない場合、組み込み語が引数を受け付けない場合であっても、 単一の 0 を渡す .Em 必要 があります。 .Pp この動作には利点がありますが、それ自身にはトレードオフがあります。 組み込み語の実行トークンが ( .Ic No ' または .Ic No ['] を通して) 得られて、 .Ic catch または .Ic execute に渡された場合、組み込み語の動作は .Bf Em .Ic catch または .Ic execute が実行されるときの .Ef システムの状態に依存します ! これは、 例外を扱いたいまたは扱う必要があるプログラムにとっては、特に悩ましいものです。 この場合、代理 (proxy) を使用することをお勧めします。 例えば次のようにします: .Dl : (boot) boot ; .Sh FICL .Tn FICL は C で記述された Forth インタプリタであり、 C の関数などとして呼び出し可能な forth 仮想マシンライブラリの形式です。 .Pp .Nm では、対話的に読み込まれた各行は .Tn FICL に与えられます。 .Tn FICL は、組み込み語を実行するために .Nm を呼び戻します。 組み込みの .Ic include もまた、1 度に 1 行ずつを .Tn FICL へ与えます。 .Pp .Tn FICL へ使用可能な語は 4 グループへ分類可能です。それは、 .Tn ANS Forth 標準語、追加の .Tn FICL 語、追加の .Os 語、そして組み込みコマンドです。 最後のものは既に説明しました。 .Tn ANS Forth 標準語は、 .Sx 規格 の節に列挙しています。 別の 2 グループの語については、以降の小節において説明します。 .Ss FICL 追加語 .Bl -tag -width wid-set-super -offset indent .It Ic .env .It Ic .ver .It Ic -roll .It Ic 2constant .It Ic >name .It Ic body> .It Ic compare This is the STRING word set's .Ic compare . .It Ic compile-only .It Ic endif .It Ic forget-wid .It Ic parse-word .It Ic sliteral This is the STRING word set's .Ic sliteral . .It Ic wid-set-super .It Ic w@ .It Ic w! .It Ic x. .It Ic empty .It Ic cell- .It Ic -rot .El .Ss FREEBSD 追加語 .Bl -tag -width XXXXXXXX -offset indent .It Ic \&$ Pq -- 最初に入力バッファを表示した後、入力バッファの残りを評価します。 .It Ic \&% Pq -- .Ic catch 例外ガード下の、入力バッファの残りを評価します。 .It Ic .# .Ic . と同様に動作しますが、後続の空白を表示しません。 .It Ic fopen Pq Ar addr len -- fd ファイルをオープンします。ファイル記述子を返します。 失敗時には -1 を返します。 .It Ic fclose Pq Ar fd -- ファイルをクローズします。 .It Ic fkey Pq Ar fd -- char ファイルから 1 文字読み込みます。 .It Ic fload Pq Ar fd -- ファイル .Em fd を処理します。 .It Ic fopen Pq Ar addr len -- fd ファイルをオープンします。 ファイルディスクリプタを返すか、失敗時には -1 を返します。 .It Xo .Ic fread .Pq Ar fd addr len -- len' .Xc ファイル .Em fd から .Em len バイトを、バッファ .Em addr へ読み込もうとします。 実際に読み込んだバイト数を返します。 エラー時またはファイルの終了の場合には -1 を返します。 .It Ic heap ディレクトリヒープ中に残された空間を、セル数の単位で返します。 これは、動的なメモリ割り当ての意味で使われるヒープとは無関係です。 .It Ic inb Pq Ar port -- char ポートからバイトを読み込みます。 .It Ic key Pq -- Ar char コンソールから 1 文字読み込みます。 .It Ic key? Pq -- Ar flag コンソールから読み込み可能な文字がある場合、 .Ic 真 を返します。 .It Ic ms Pq Ar u -- .Em u マイクロ秒待ちます。 .It Ic outb Pq Ar port char -- ポートへバイトを書き込みます。 .It Ic seconds Pq -- Ar u 深夜 0 時からの秒数を返します。 .It Ic tib> Pq -- Ar addr len 入力バッファの残りを、スタック上の文字列として返します。 .It Ic trace! Pq Ar flag -- トレースを有効または無効にします。 .Ic catch とともには動作しません。 .El .Ss FREEBSD で定義される環境問い合わせ .Bl -tag -width Ds -offset indent .It arch-i386 アーキテクチャが IA32 の場合 .Ic 真 です。 .It arch-alpha アーキテクチャが AXP の場合 .Ic 真 です。 .It FreeBSD_version コンパイル時の .Fx バージョンです。 .It loader_version .Nm のバージョンです。 .El .Ss システム文書 .Sh 関連ファイル .Bl -tag -width /dev/loader.helpX -compact .It Pa /boot/loader .Nm 自身。 .It Pa /boot/boot.4th 追加の .Tn FICL の初期化。 .It Pa /boot/boot.conf .Nm のブートストラップスクリプト。価値が低下しています。 .It Pa /boot/loader.rc .Nm のブートストラップスクリプト。 .It Pa /boot/loader.help .Ic help がロードします。 ヘルプメッセージを含みます。 .El .Sh 使用例 シングルユーザモードでブートします: .Pp .Dl boot -s .Pp カーネルのユーザ設定ファイルをロードします。 他の .Ic load コマンドを試みる前にカーネルをロードする必要があることに注意してください。 .Pp .Bd -literal -offset indent -compact load kernel load -t userconfig_script /boot/kernel.conf .Ed .Pp カーネルと起動画面をロードし、5 秒以内に自動ブートします。 .Pp .Bd -literal -offset indent -compact load kernel load splash_bmp load -t splash_image_data /boot/chuckrulez.bmp autoboot 5 .Ed .Pp ルートデバイスのディスクユニットを 2 に設定し、ブートします。 IDE ディスクが 2 台のシステムで、 2 台目の IDE が wd1 ではなく wd2 に固定されているシステムにおいて、 必要となるでしょう。 .Pp .Bd -literal -offset indent -compact set root_disk_unit=2 boot /kernel .Ed .Pp 次を参照してください: .Bl -tag -width /usr/share/examples/bootforth/X .It Pa /boot/loader.4th 追加の組み込み的な語について。 .It Pa /boot/support.4th .Pa loader.conf が処理する語について。 .It Pa /usr/share/examples/bootforth/ 分類された使用例。 .El .Sh エラー 次の値を .Nm は返します: .Bl -tag -width XXXXX -offset indent .It 100 組み込みコマンド処理において任意のタイプのエラーが発生しました。 .It -1 .Ic Abort が実行されました。 .It -2 .Ic Abort" が実行されました。 .It -56 .Ic Quit が実行されました。 .It -256 インタプリトするテキストがありません。 .It -257 成功するためには更なるテキストが必要です -- 次の実行で終了します。 .It -258 .Ic Bye が実行されました。 .It -259 未定義エラー。 .El .Sh 関連項目 .Xr libstand 3 , .Xr loader.conf 5 , .Xr boot 8 , .Xr btxld 8 .Sh 規格 ANS Forth 互換性の観点では、loader は .Bf Em 環境に制限がある ANS Forth System です。 Core Extensions 語集合からは、 .Ef .Bf Li .No .( , .No :noname , .No ?do , parse, pick, roll, refill, to, value, \e, false, true, .No <> , .No 0<> , compile\&, , erase, nip, tuck, maker .Ef .Bf Em を提供しています。 Exception Extensions 語集合を提供しています。 Locals Extensions 語集合を提供しています。 Memory-Allocation Extensions 語集合を提供しています。 Programming-Tools 拡張語集合からは .Ef .Bf Li \&.s , bye, forget, see, words, \&[if] , \&[else] , \&[then] .Ef .Bf Em を提供しています。 Search-Order 拡張語集合を提供しています。 .Ef .Sh 歴史 .Nm が最初に登場したのは .Fx 3.1 です。 .Sh 作者 .Bl -item .It .Nm は .An Michael Smith Aq msmith@freebsd.org が記述しました。 .It .Tn FICL は .An John Sadler Aq john_sadler@alum.mit.edu が記述しました。 .El .Sh バグ .Ic expect と .Ic accept の語は、コンソールからではなく入力バッファから読み込みます。 後者については修正されますが、前者は修正されません。 diff --git a/ja_JP.eucJP/man/man8/mergemaster.8 b/ja_JP.eucJP/man/man8/mergemaster.8 index e50ffa5da6..5752b239ab 100644 --- a/ja_JP.eucJP/man/man8/mergemaster.8 +++ b/ja_JP.eucJP/man/man8/mergemaster.8 @@ -1,285 +1,286 @@ .\" Copyright (c) 1998, 1999 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 2000/03/01 14:08:02 sheldonh Exp % +.\" %FreeBSD: src/usr.sbin/mergemaster/mergemaster.8,v 1.5.2.1 2000/08/07 23:27:37 marko Exp % .\" .\" jpman %Id: mergemaster.8,v 1.3 1999/12/05 08:25:49 horikawa Stab % .Dd September 10, 1999 .Dt MERGEMASTER 8 .Os FreeBSD .Sh 名称 .Nm mergemaster .Nd アップグレード中の設定ファイルその他のマージ .Sh 書式 .Nm .Op Fl scrvah .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 .Sh 解説 .Nm は、様々な設定や FreeBSD に関連したファイルをアップデートする作業を 補助するために作られた Bourne シェルスクリプトです。 この作業を始める前に .Pa /etc ディレクトリをバックアップしておくことを .Sy 強く 勧めます。 .Pp このスクリプトは .Pa /usr/src/etc/Makefile を使って .Pa / から下の仮のルート環境を作成し、そこに様々なファイルを格納します。 .Op Fl m コマンドラインオプションで、違うソースディレクトリを指定することもできます。 そしてその環境中のそれぞれのファイルを、 インストールされているものと比較します。 スクリプトが新しいファイルに変更点を見つけた場合や、 新しいファイルに対応するインストールされているファイルがない場合には、 それを処理するための 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 オプションは以下の通りです: .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 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 です。 .El .Sh 環境変数 .Nm スクリプトは、 .Ev PAGER 環境変数がセットされていればそれを使い、さもなくば .Xr more 1 を使います。 もし .Ev PAGER に、フルパスではなく、 .Ev PATH の範囲にないプログラムを指定している場合には、 .Nm は選択肢とともにどう続行するのかを催促します。 .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 -tag -width $HOME/.mergemasterrc -compact .Pa $HOME/.mergemasterrc .Pp .Nm はこのファイルがあれば読み込みます。 コマンドラインオプションは rc ファイルオプションを上書きします。 全ての値をコメントアウトした例を示します: .Pp .Bd -literal # mergemaster のオプションが、デフォルト値とともに一覧してあります # 以下のオプションはコマンドラインが上書きします # # 仮のルート環境をインストールするディレクトリ #TEMPROOT='/var/tmp/temproot' # # CVS $Id の検査を省略して全てのファイルを比較する厳密な比較 #STRICT=no # # ファイルが食い違った時に差分を表示するための diff に使うフラグ #DIFF_FLAG='-u' # # より詳細な出力とチェックの追加を含める冗長モード #VERBOSE= # # 'make' を実行するディレクトリ (新しいファイルがある場所) #SOURCEDIR=/usr/src/etc # # mergemaster がデフォルトのファイルモードとの比較に使う umask #NEW_UMASK=022 # # 以下のオプションはコマンドラインから上書きできません # PAGER にフルパスを含めたくない人用 #DONT_CHECK_PAGER= # 上を 'yes' にしたら、ページャへの PATH が含まれているか確認してください #PATH=/bin:/usr/bin:/usr/sbin # 新旧の motd ファイルを比較しない #IGNORE_MOTD=yes .Ed .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/tutorials/, -.Pa Upgrading FreeBSD from source (using make world) , +http://www.FreeBSD.org/handbook/makeworld.html , +.Pa The Cutting Edge (using make world) , by Nik Clayton .Pp +.\" 関連項目更新に伴い、訳注も更新した +.\" horikawa@jp.FreeBSD.org 2000/08/22 (訳注: 日本語版は -http://kerberos.math.sci.kobe-u.ac.jp/~maekawa/FreeBSD/mw.html, -.Pa やってみようよ ``make world'' , -by MAEKAWA Masahide) +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 Doug@gorean.org が書きました。 .Sh バグ 今のところわかっているバグはありません。 なにか問題や、コメントや、提案があれば、どうか作者まで報告してください。 このプログラムになされた改良のいくつかは ユーザからの提案によるものです。ありがとう。 diff --git a/ja_JP.eucJP/man/man8/mount_nfs.8 b/ja_JP.eucJP/man/man8/mount_nfs.8 index 62688e3cbb..6267cf8fd0 100644 --- a/ja_JP.eucJP/man/man8/mount_nfs.8 +++ b/ja_JP.eucJP/man/man8/mount_nfs.8 @@ -1,324 +1,326 @@ .\" Copyright (c) 1992, 1993, 1994, 1995 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount_nfs.8 8.3 (Berkeley) 3/29/95 .\" -.\" %FreeBSD: src/sbin/mount_nfs/mount_nfs.8,v 1.18.2.1 2000/07/18 17:38:29 sheldonh Exp % +.\" %FreeBSD: src/sbin/mount_nfs/mount_nfs.8,v 1.18.2.2 2000/08/11 13:12:37 sheldonh Exp % .\" .\" jpman %Id: mount_nfs.8,v 1.3 1997/05/19 17:04:14 horikawa Stab % .\"" .Dd March 29, 1995 .Dt MOUNT_NFS 8 .Os BSD 4.4 .Sh 名称 .Nm mount_nfs .Nd NFS (ネットワークファイルシステム) をマウントする .Pp .Sh 書式 .Nm mount_nfs .Op Fl 23KNPTUbcdilqs .Op Fl D Ar deadthresh .Op Fl I Ar readdirsize .Op Fl L Ar leaseterm .Op Fl R Ar retrycnt .Op Fl a Ar maxreadahead .Op Fl g Ar maxgroups .Op Fl m Ar realm .Op Fl o Ar options .Op Fl r Ar readsize .Op Fl t Ar timeout .Op Fl w Ar writesize .Op Fl x Ar retrans .Ar rhost:path node .Sh 解説 .Nm は、ファイルシステムツリー上の指定された .Ar node にリモートの NFS ファイルシステム (rhost:path) をマウントするために、 .Xr mount 2 システムコールを呼び出します。このコマンドは通常、 .Xr mount 8 によって実行されます。このプログラムは、RFC 1094 の Appendix. A および .%T "NFS: Network File System Version 3 Protocol Specification" , Appendix I. に記述されているマウントプロトコルを実装しています。 .Pp オプションを以下に示します: .Bl -tag -width indent .It Fl 2 NFS バージョン 2 プロトコルを使用します (デフォルトはバージョン 3 をまず試した後にバージョン 2 を用います)。 NFS バージョン 2 では、 ファイルサイズは 2 ギガバイトに制限されることに注意してください。 .It Fl 3 NFS バージョン 3 プロトコルを使用します。 .It Fl D NQNFSにおいて .Dq "停止サーバ閾 (dead server threshold)" をタイムアウト (round trip timeout) 回数で指定します。 再送タイムアウト回数が .Dq 停止サーバ閾 に達した後は、無応答なサーバに関するキャッシュデータをいまだ有効な ものと見倣します。 値は 1 から 9 までで、9 は .Dq "無限停止閾 (infinite dead threshold)" です (キャッシュデータを有効と見倣す事はありません)。 このオプションは一般に薦められるものではなく実験的なものです。 .It Fl I readdir での読み取りサイズを指定した値にします。 値は通常 BIRBLKSIZ の倍数であり、マウントの読み取りサイズ以下です。 .It Fl K クライアント - サーバ間のユーザ認証用に Kerberos 認証書をサーバへ渡します。 -カーネルが NFSKERB オプションにて構築されている必要があります -インターネットドラフト +カーネルが NFSKERB オプションにて構築されている必要があります。 +適切な Kerberos 暗号化ルーチンを NFS ソース内に組み込まない場合、 +このオプションを使用すると、カーネルコンパイルが出来なくなります +(インターネットドラフト .%T "Authentication Mechanisms for ONC RPC" -を御覧下さい。) +を御覧下さい)。 .It Fl L NQNFS において、リース期間を指定した秒数にします。 応答遅延 (round trip delay) が大きな場合だけ使って下さい。 値は通常、10 秒から 30 秒の間です。 .It Fl N 予約されたソケットポート番号を使用し .Em ません (後述)。 .It Fl P 予約されたソケットポート番号を使います。 このフラグは廃れたものであり、互換性のためだけにあります。 現在、予約されたソケットポート番号をデフォルトで使用します。 NFS がより安全になるとの考え方 (これは誤りです) に基づいて クライアントが予約ポートを使用しないとマウントさせないサーバ をマウントするのに役立ちます。 (クライアントの root が信頼でき、ネットワークケーブルも安全な場所にあ るが、クライアントのユーザは信頼できないという、まれな場合には 役に立つでしょうが、通常のデスクトップクライアントには当てはまりません。) .It Fl R マウントする際のリトライ回数を、指定された値にします。 .It Fl T UDP の代わりに TCP を使います。これは、サーバがクライアントと 同じ LAN ケーブル上にない場合に使うことをお勧めします (注意: この機能は大抵の非 BSD サーバではサポートされていません)。 .It Fl U TCP NFS マウントであっても、マウントプロトコルに UDP を強制します。 (古い BSD サーバにて必要です。) .It Fl a 先読みブロック数を指定した値に設定します。値は 0 から 4 までの範囲で、 サイズの大きなファイルをシーケンシャルに読む場合、 何ブロック先読みするかを決定します。 帯域幅×遅延が大きな状況でマウントする場合に 1 より大きな値をお勧めします。 .It Fl b 最初にサーバの接続に失敗した場合、子プロセスを起動して、 バックグラウンドでマウントを続けようとします。 マルチユーザモードで起動する際、重要でないファイルシステムを .Xr fstab 5 に書いておく場合に役に立ちます。 .It Fl c .Tn UDP マウントポイントに対しては、 .Xr connect 2 を使いません。 これは、標準のポート番号 2049 からのリクエストに答えないサーバ に対しては使う必要があります。 .It Fl d 再送タイムアウト時間を動的に予測しません。これは、 動的に予測される再送タイムアウト時間が非常に短いために、 UDP マウントが高いリトライレートを示しているような場合に有効です。 .It Fl g 認証用のグループリストの最大サイズを、指定した値に設定します。 RFC 1057 ではグループリストのサイズは 16 と記述されていますが、これを 扱えない古いサーバをマウントするときに使うべきです。 多くのグループに属しているユーザに対してマウントポイントから 応答がない場合は、8 を指定してみて下さい。 .It Fl i マウントを割り込み可能とします。これは、応答しないサーバがあるために ファイル関連のシステムコールが遅れるような場合、 プロセスに終了シグナルが送られると、EINTR で システムコールが失敗することを意味します。 .It Fl l NQNFS と NFSV3 において、\fBReaddir_and_Lookup\fR RPCを使うことを 指定します。 このオプションは .Dq "ls -l" するようなときに RPC のトラフィックを減らしますが、 属性と名前のキャッシュをプリフェッチエントリで溢れさせる傾向があります。 このオプションを指定して性能が良くなるのか悪くなるのかを確認して下さい。 バンド幅と遅延の積が大きなネットワークにて最も有用でしょう。 .It Fl m Kerberos の管理領域を文字列で指定します。 他の管理領域にマウントする場合に .Fl K オプションと共に使います。 .It Fl o .Fl o フラグの後に、オプションをコンマで区切って並べ指定します。 指定可能なオプションとその意味は .Xr mount 8 を参照してください。 以下の NFS 固有のオプションを使用可能です: .Bl -tag -width indent .It port= 指定したポート番号を NFS 要求に使用します。 デフォルトでは portmapper に問い合わせます。 .It acregmin= .It acregmax= .It acdirmin= .It acdirmax= ファイル属性がキャッシュされたときに、 キャッシュエントリをエクスパイアするためにタイムアウトを計算します。 これらの 4 つの値は、``ディレクトリ'' および ``通常'' (ディレクトリ以外) の 上限および下限を決定します。 デフォルトでは、 通常ファイルは 3 から 60 秒、 ディレクトリは 30 から 60 秒です。 タイムアウトの算出アルゴリズムはファイルの古さを元にするものです。 ファイルが古くなると、キャッシュが有効であると見倣す期間も長くなり、 上記限界に近付きます。 .El .Pp .Bl -tag -width "dumbtimerXX" \fB歴史的な \&-o オプション\fR .Pp これらのオプションを使用する事は勧められません。 歴史的な .Nm との互換性のためにここに記述してあります。 .It bg .Fl b と同じ。 .It conn .Fl c を指定しない場合と同じ。 .It dumbtimer .Fl d と同じ。 .It intr .Fl i と同じ。 .It kerb .Fl K と同じ。 .It nfsv2 .Fl 2 と同じ。 .It nfsv3 .Fl 3 と同じ。 .It rdirplus .Fl l と同じ。 .It mntudp .Fl U と同じ。 .It resvport .Fl P と同じ。 .It seqpacket .Fl p と同じ。 .It nqnfs .Fl q と同じ。 .It soft .Fl s と同じ。 .It tcp .Fl T と同じ。 .El .It Fl q キャッシュの一貫性を保つためにプロトコルのリース拡張を NFS バージョン 3 プロトコルにて使います。 このプロトコルのバージョン 2 は Not Quite Nfs (NQNFS) と呼ばれ、 最新の NFS コードでのみサポートされています。 (4.4BSD-Lite における NQNFS のリリースとは互換性がありません。 4.4BSD-Lite NFS システムを混在させて使用する場合には、 4.4BSD-Lite ベースシステムの NFS コードをアップグレードするまで、 このオプションを使用してはなりません。) .It Fl r データのリードサイズを指定した値にします。この値は通常 1024 以上の 2 のべき乗でなければなりません。これはマウントポイント を頻繁に使っている間に、 .Dq タイムアウトで消失したフラグメント数 が大きくなっていくときに、UDP マウントに対して使います .Pf ( Xr netstat 1 を .Fl s オプション付きで使う ことで、 .Dq タイムアウトで消失したフラグメント数 の値を見ることができます)。 .Fl w オプションも参照 してください。 .It Fl s ソフトマウントを行います。これは、 タイムアウトが決められた\fBリトライ\fR回数に達すると、 システムコールが失敗することを意味します。 .It Fl t 指定した値に初期再送タイムアウト時間を設定します。パケット の消失レートの高いネットワークや負荷の高いサーバで行う UDP マウントを チューニングするときに役立ちます。 ファイルシステムがアクティブなときに .Xr nfsstat 1 が高い再送レートを示す場合には、この値を増やしてみて下さい。 一方、再送レートは低いが、応答遅延が長い場合はこの値を減らします。 (通常、-d オプションをこのオプションとともに使い、 手動でタイムアウトインターバルを調整します。) .It Fl w 指定した値にライトデータサイズを設定します。解説は .Fl r オプションと同様ですが、 .Dq タイムアウトで消失したフラグメント数 は、クライアントのかわりにサーバの値を使います。 .Fl r や .Fl w のオプションは、マウントするサーバが TCP マウントをサポートしていない場合にパフォーマンスを向上させる 最後の手段であることに注意してください。 .It Fl x ソフトマウントの再送タイムアウト回数を設定します。 .El .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr showmount 8 .Sh バグ Sun RPCは UDP (信頼性のないデータグラム) トランスポート層上に 実装されているため、マウントの性能をチューニングしても 限界があります。サーバが同じ LAN ケーブル上にない場合や、 サーバの負荷が高い場合には、 .Tn TCP トランスポートを使うことを強くすすめますが、 残念なことに、ほぼ 4.4BSD サーバに限られています。 diff --git a/ja_JP.eucJP/man/man8/periodic.8 b/ja_JP.eucJP/man/man8/periodic.8 index 36936c8e23..f50f8d42a1 100644 --- a/ja_JP.eucJP/man/man8/periodic.8 +++ b/ja_JP.eucJP/man/man8/periodic.8 @@ -1,142 +1,145 @@ .\" Copyright (c) 1997 FreeBSD, Inc. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/periodic/periodic.8,v 1.11 1999/08/28 01:17:52 peter Exp % +.\" %FreeBSD: src/usr.sbin/periodic/periodic.8,v 1.11.2.1 2000/08/08 18:05:42 brian Exp % .\" jpman %Id: periodic.8,v 1.3 1998/10/10 09:07:49 yohta Stab % .\" .\" WORD: registry レジストリ .\" WORD: script fragment スクリプトフラグメント .\" .Dd 13 August 1997 .Os FreeBSD 3.0 .Dt PERIODIC 8 .Sh 名称 .Nm periodic .Nd 定期的なシステム機能を実行する .Sh 書式 .Nm periodic .Ao .Cm daily | weekly | monthly | .Ar path Op path ... .Ac .Sh 解説 .Nm プログラムは指定されたディレクトリにあるシェルスクリプトを実行するために、 cron(8) に呼び出されることを意図しています。 .Pp 以下の引数からひとつだけを必ず指定しなければいけません : .Bl -tag -width Fl .It Cm daily 標準的な 1 日周期の実行ファイルを実行します。 これはよく (その地域の時刻で) 朝早くに行なわれます。 .It Cm weekly 標準的な 1 週間周期の実行ファイルを実行します。 これはよく日曜日の朝に行なわれます。 .It Cm monthly 標準的な 1 ヶ月周期の実行ファイルを実行します。 これはよく月の 1 日目に行なわれます。 .It Ar path 実行すべき一連の実行ファイルがあるディレクトリの絶対パスを指定します。 .El .Pp .Nm プログラムは指定されたディレクトリ (複数指定可) にある 各実行可能ファイルを実行します。もし実行可能ビットが セットされていないファイルがあっても、無視するだけで それに関するメッセージも表示しません。 .Sh 環境変数 .Nm コマンドは環境変数 .Ev PATH をすべての標準的なシステムディレクトリを含むように設定します。 ただし、 .Pa /usr/local/bin のような追加的なディレクトリは含めません。もし他のパスに 依存するような実行ファイルを加えるなら、それぞれの実行ファイルが 自己の環境変数を適切に設定する責任を負う必要があります。 .Sh 関連ファイル .Bl -tag -width /etc/periodic .It Pa /etc/crontab 典型的な .Nm プログラムの呼び出しはシステムのデフォルト cron テーブル内の エントリから行なわれます。 .It Pa /etc/periodic サブディレクトリとして .Pa daily , .Pa weekly , .Pa monthly を含む上層のディレクトリです。これらのサブディレクトリには システムの標準的な定期的実行ファイルが置かれます。 -.It Pa /etc/rc.conf -.Pa rc.conf +.It Pa /etc/defaults/periodic.conf +.Pa periodic.conf システムレジストリは変数 .Va local_periodic を含みます。これは .Pa /usr/local/etc/periodic や .Pa /usr/X11R6/etc/periodic などのような、定期的に実行する標準の上層ディレクトリを 追加指定するのに使用できます。 .El .Sh 使用例 システム crontab には下の例のような .Nm のエントリが記述されているはずです : .Pp .Dl # do daily/weekly/monthly maintenance .Dl 0 2 * * * root periodic daily 2>&1 .Dl 0 3 * * 6 root periodic weekly 2>&1 .Dl 0 5 1 * * root periodic monthly 2>&1 .Pp -さらに、典型的なシステムレジストリには変数 +さらに、典型的なシステムレジストリ +.Pa /etc/defaults/periodic.conf +には変数 .Va local_periodic について次のように記述してあるでしょう : -.Dl local_periodic="/usr/local/etc/periodic /usr/X11R6/etc/periodic" # cron script dirs. +.Pp +.Dl local_periodic="/usr/local/etc/periodic /usr/X11R6/etc/periodic" .Sh 関連項目 .Xr sh 1 , .Xr crontab 5 , -.Xr rc.conf 5 , +.Xr periodic.conf 5 , .Xr cron 8 .Rs .Sh 診断 終了状態は成功時には 0 です。もし以下のいずれかの理由で コマンドが失敗すれば、終了状態は 1 になります : .Bl -diag .It usage: periodic スクリプトフラグメントがどこにあるかを指定する ディレクトリパス引数が .Nm に渡されませんでした。 .It not found 説明するまでもありません。(訳注: 指定したディレクトリが見つかりません。) .El .Sh 歴史 .Nm プログラムは .Fx 3.0 に初めて登場しました。 .Sh 作者 .An Paul Traina Aq pst@FreeBSD.org diff --git a/ja_JP.eucJP/man/man8/ppp.8 b/ja_JP.eucJP/man/man8/ppp.8 index 3c334efe87..74291ca8d2 100644 --- a/ja_JP.eucJP/man/man8/ppp.8 +++ b/ja_JP.eucJP/man/man8/ppp.8 @@ -1,5204 +1,5327 @@ -.\" %FreeBSD: src/usr.sbin/ppp/ppp.8,v 1.209.2.8 2000/06/30 09:54:06 ps Exp % +.\" %FreeBSD: src/usr.sbin/ppp/ppp.8,v 1.209.2.9 2000/08/19 09:30:05 brian Exp % .\" .\" jpman %Id: ppp.8,v 1.4 1997/06/08 18:41:58 saeki Stab % .\" .\" WORD: expect string 受信待ち文字列[chat.8,ppp.8] .Dd 20 September 1995 .nr XX \w'\fC00' -.Os FreeBSD .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 Ns .No ... .Sh 解説 本プログラムは、ユーザプロセスとして動作する .Em PPP パッケージです。 .Em PPP は通常、( .Xr pppd 8 でそうなっているように) カーネルの一部として実装されますが、 そのため、デバッグや動作の変更が少々難しい場合があります。 それに対し、この実装ではトンネルデバイスドライバ (tun) を利用して、 ユーザプロセスで .Em PPP を実現しています。 .Pp .Fl nat フラグ (または後方互換性のための .Fl alias フラグ) は、 .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 のポート番号は どちらもエイリアスされ、返信パケットではエイリアスが元に戻されます。 .It バックグラウンド PPP 接続をサポート バックグラウンドモードでは、接続を確立するのに成功した場合に .Nm はデーモンになります。 それ以外の場合はエラーで終了します。 これにより、 接続が成功裏に確立した場合のみコマンドを実行するようなスクリプト をセットアップすることが出来ます。 .It サーバとしての PPP 接続をサポート ダイレクトモードでは、 .Nm は標準入力/標準出力からの .Em PPP 接続を受け入れるサーバとして動作させることができます。 .It PAP と CHAP (rfc 1994) による認証をサポート PAP もしくは CHAP を用いることにより、Unix スタイルの .Xr login 1 手続きをスキップし、 .Em PPP プロトコルを代りに認証に使用することが可能です。 相手が Microsoft CHAP 認証を要求し、かつ .Nm が DES をサポートするようにコンパイルされている場合、適当な MD4/DES 応答がなされます。 .It RADIUS (rfc 2138) 認証をサポート PAP と CHAP の拡張である .Em \&R Ns No emote .Em \&A Ns No ccess .Em \&D Ns No ial .Em \&I Ns No n .Em \&U Ns No ser .Em \&S Ns No ervice は、集中データベースまたは分散データベースに、 ユーザごとに異なる接続特性を含んだ認証情報を、格納できます。 コンパイル時に .Pa libradius が利用可能な場合、利用するように設定すると、 .Nm はこれを使用して .Em RADIUS 要求を作成します。 .It 代理 arp (Proxy Arp) をサポート .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 オーバイーサネットを話そうとします。 .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) 接続先への複数の物理的な回線をオープンし、すべてのリンクの 帯域幅を合わせてより高いスループットを得ることができます。 .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 name-server 行を加えることで行われます。 詳細は .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 ppp のデフォルトです。 パリティはどちらかというと古風なエラーチェック機構であり、 今となっては使用しません。 最近のモデムは各自のエラーチェック機構を持っており、 ほとんどのリンク層プロトコル ( .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 ppp を立ち上げる際に、接続先のラベル名を指定可能です。 .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 Op . Ns Ar next .Op Ar attempts .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 "/usr/libexec/getty std.38400" dialup on secure .Pp .Xr getty 8 を起動するために .Xr init 8 プロセスに .Dv HUP シグナルを送るのを 忘れないでください: .Pp .Dl # kill -HUP 1 .It .Pa /usr/local/bin/ppplogin ファイルを次のような内容で作成します: .Bd -literal -offset indent #!/bin/sh exec /usr/sbin/ppp -direct incoming .Ed .Pp ダイレクトモード .Pq Fl direct では、 .Nm は標準入力と標準出力を使って動作します。クライアント動作の .Nm と同様に、 .Xr pppctl 8 を使用することで、構成された診断ポートに接続可能です。 .Pp ここで .Pa /etc/ppp/ppp.conf 中の .Ar incoming セクションが設定されていなければなりません。 .Pp .Ar incoming セクションに適当な .Dq allow users コマンドがあることを確かめておいてください。 .It 受け入れるユーザのアカウントを用意してください。 .Bd -literal ppp:xxxx:66:66:PPP Login User:/home/ppp:/usr/local/bin/ppplogin .Ed .Pp 詳細は .Xr adduser 8 と .Xr vipw 8 のマニュアル項目を参照してください。 .Dq accept dns および .Dq set nbns コマンドを使うことで IPCP によるドメインネームサーバと NetBIOS ネームサーバの ネゴシエーションを有効にすることが可能です。 下記の記述を参照してください。 .El .Pp .Sh PPP 接続の受け入れ (方法その 2) この方法は、 .Xr login 1 ではなく .Nm で接続の認証を行うという点が異なります。 .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 add 10.0.1.0/24 10.0.4.2 .Ed .Pp セキュリティのために PAP もしくは CHAP の設定をしたいかもしれません。 PAP を有効にするには次の行を追加します: .Bd -literal -offset indent enable PAP .Ed .Pp また、次のエントリを .Pa /etc/ppp/ppp.secret に作成する必要があります: .Bd -literal -offset indent MyAuthName MyAuthPasswd .Ed .Pp .Ar MyAuthPasswd が .Pq Dq * の場合には、パスワードは .Xr passwd 5 データベースから検索されます。 .Pp awfulhak (起動側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含む必要があります: .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in/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 add 10.0.2.0/24 10.0.4.1 .Ed .Pp PAP を有効にしようとしている場合、次の設定も必要です: .Bd -literal -offset indent set authname MyAuthName set authkey MyAuthKey .Ed .Pp 我々は、 ui-gate に 10.0.4.1 のアドレスを割り当て、 awfulhak に 10.0.4.2 のアドレスを割り当てようとしています。 接続をオープンするためには、次の内容をタイプするだけで良いです。 .Pp .Dl awfulhak # ppp -background ui-gate .Pp 結果として、 awfulhak にはネットワーク 10.0.2.0/24 への新たな「経路」が、 ui-gate にはネットワーク 10.0.1.0/24 への新たな「経路」が、 TCP 接続経由でそれぞれ作成されます。 ネットワークは実質的にブリッジされます - 下位レベルの TCP 接続はパブリックなネットワーク (例えばインターネット) を またがっても良いです。 また 2 つのゲートウェイ間では ppp トラフィックは 概念的に TCP ストリーム中でカプセル化されます (パケットがパケットに対応するわけではありません)。 .Pp この機構の大きな欠点は、同時に 2 つの「配送保証」機構が存在することです - この 2 つとは、下位レベルの TCP ストリームと .Em PPP リンク上で使用されるプロトコルであり、おそらくまた TCP でしょう。 パケット喪失が起ると、両者はそれぞれの方法で喪失した パケットを再送しようと するでしょう。 .Pp このオーバヘッドを避けるために、 トランスポートとして TCP の代りに UDP を使用できます。 これは単にプロトコルを "tcp" から "udp" に変えるだけで可能です。 トランスポートとして UDP を使用するとき、 .Nm は同期モードで動作します。 入力データがパケットに再構成されないという、別の利点もあります。 .Pp .Sh ネットワークアドレス変換 (パケットエイリアシング) .Fl nat .Pq または Fl alias コマンドラインオプションにより、 ネットワークアドレス変換 (別名、パケットエイリアシング) が有効になります。 これにより、 .Nm ホストがローカルエリアネットワークの他のコンピュータに対して マスカレードゲートウェイとして動作するようになります。 送信される IP パケットは、まるで .Nm ホストから来たかのようにエイリアスされ、 受信パケットは、それがローカルエリアネットワークの正しいマシンに 送られるようにエイリアスが戻されます。 パケットエイリアシングにより、 未登録でプライベートなサブネット上のコンピュータを 外部から見えないようにしつつ、 インターネットへアクセス可能とします。 一般に、 .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 .Oo Ar proto Op src Ar cmp port .Op dst Ar cmp port .Op estab .Op syn .Op finrst +.Op timeout Ar secs .Oc .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 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 -literal -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 \&: で区切って複数指定することができます。例えば、次のようになります。 .Pq Dq \&: : .Bd -literal -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 ******** Ns が記録されます。 .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 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 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 XX .It INT このシグナルを受信すると、現在の接続がもしあればそれを終了します。 .Fl auto もしくは .Fl ddial のモードではない場合、 .Nm は終了します。 .It HUP, TERM, QUIT .Nm を終了させます。 .It USR2 .Nm に全サーバソケットを閉じさせ、すべての既存の診断ポートへの接続を 取り下げます。 .El .Pp .Sh マルチリンク PPP .Em PPP 相手に接続するのに複数の物理的なリンクを利用したいなら、 接続相手も .Em マルチリンク PPP プロトコルを理解する必要があります。 仕様の詳細は RFC 1990 を参照してください。 .Pp 接続先は、 .Dq 終点の選択 とその .Dq 認証 ID の組み合わせによって識別されます。 これらの一方、もしくは両方を指定することができます。 最低でも片方は指定しておくことが推奨されます。 そうでないと、すべてのリンクが実際に同一のプログラムに接続されていることを 確認する方法がなくなり、 混乱してロックアップを引き起こすことがあります。 ローカルには、これらの識別変数は .Dq set enddisc と .Dq set authname コマンドを用いることで指定されます。先立って接続相手と .Sq authname .Pq と Sq authkey について合意しておく必要があります。 .Pp マルチリンクの能力は .Dq set mrru コマンド (set maximum reconstructed receive unit) を用いることで 有効になります。一度マルチリンクが有効になれば、 .Nm は接続相手とマルチリンク接続のネゴシエーションを行います。 .Pp デフォルトでは .Po .Sq deflink と呼ばれる .Pc ただ 1 つの .Sq リンク のみが有効です。さらにリンクを作成するには .Dq clone コマンドが使われます。このコマンドは既存のリンクを複製します。 それは次の点を除いてすべての性質が同じものです: .Bl -enum .It 新しいリンクは .Dq clone コマンドラインで指定された独自の名前を持ちます。 .It 新しいリンクは .Sq interactive リンクです。そのモードは次の .Dq set mode コマンドで変更することができます。 .It 新しいリンクは .Sq closed の状態にあります。 .El .Pp すべての有効なリンクのまとめは、 .Dq show links コマンドを用いて見ることができます。 .Pp 一度リンクが作成されると、コマンドの使用方法が変わります。 すべてのリンク固有のコマンドの前には、 .Dq link Ar name プレフィックスをつけて、 コマンドを適用するリンクを指定する必要があります。 .Nm は十分賢いので、 利用可能なリンクが 1 つだけの場合には、 .Dq link Ar name プレフィックスは不要です。 .Pp コマンドの中には依然としてリンクの指定なしに使用できるものがあり、それは .Sq バンドル レベルの操作を行います。たとえば、2 つ以上のリンクが存在するとき .Dq show ccp はマルチリンクレベルの CPP 設定と統計を表示し .Dq link deflink show ccp は .Dq deflink のリンクレベルの同じ情報を表示します。 .Pp これらの情報を用いて、次の設定を用いることができます: .Pp .Bd -literal -offset indent mp: set timeout 0 set log phase chat set device /dev/cuaa0 /dev/cuaa1 /dev/cuaa2 set phone "123456789" set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\\" ATZ \e OK-AT-OK \\\\dATDT\\\\T TIMEOUT 45 CONNECT" set login set ifaddr 10.0.0.1/0 10.0.0.2/0 set authname ppp set authkey ppppassword set mrru 1500 clone 1,2,3 link deflink remove .Ed .Pp すべての複製が設定の最後で行われていることに注意してください。 一般にはリンクは最初に設定され、そして複製されます。 あなたが常にすべてのリンクがアップ状態であることを望む場合には、 設定の最後に次の行を追加することができます。 .Pp .Bd -literal -offset indent link 1,2,3 set mode ddial .Ed .Pp リンクが必要に応じてダイヤルされることを望む場合には、次のコマンドを 使うことができます。 .Pp .Bd -literal -offset indent link * set mode auto .Ed .Pp 上記の .Dq set device 行を取り除き、 .Dq clone コマンドに続けて次の内容を指定することで、 リンクを特定の名前に結びつけることもできます: .Pp .Bd -literal -offset indent link 1 set device /dev/cuaa0 link 2 set device /dev/cuaa1 link 3 set device /dev/cuaa2 .Ed .Pp どのコマンドが ( .Dq link コマンドを使用した) コンテキスト (文脈) を要求し、 どのコマンドがコンテキストをオプションとし、 そしてどのコマンドがコンテキストを一切とらないかを調べるには、 .Dq help コマンドを使用します。 .Pp .Nm が接続相手と .Em マルチリンク モードでネゴシエートすると、 .Nm はローカルドメインソケットを .Pa /var/run ディレクトリに作成します。このソケットは、 リンク情報 (実際のリンクファイル記述子も含む) を、異なる .Nm の間で受け渡しするために使われます。 この機能によって、 .Nm はシリアル回線の初期制御を行う必要なしに .Xr getty 8 から、もしくは直接 .Pa /etc/gettydefs から ( .Sq pp= ケーパビリティを用いて) 実行することが可能となっています。 ひとたび .Nm がマルチリンクモードのネゴシエーションを行うと、 .Nm は自分がオープンした リンクをすでに実行されている任意の他のプロセスに渡すことができます。 すでに実行されているプロセスがない場合、 .Nm はマスタとして振る舞い、ソケットを作成し、新たな接続を待ちます。 .Sh PPP コマンドリスト この節では利用可能コマンドとその効果をリストします。 .Nm ppp セッションで対話的に使用することも、 設定ファイルで指定することも、 .Xr pppctl 8 もしくは .Xr telnet 1 セッションで指定することも可能です。 .Bl -tag -width XX .It accept|deny|enable|disable Ar option.... これらのディレクティブは 最初の接続においてどのように相手とネゴシエートするかを .Nm に指示します。各 .Dq option は、accept/deny および enable/disable のデフォルトを持ちます。 .Dq accept は相手がこのオプションを要求したら、ACK を送ることを意味します。 .Dq deny は相手がこのオプションを要求したら、NAK を送ることを意味します。 .Dq enable はこのオプションを当方が要求することを意味します。 .Dq disable はこのオプションを当方が要求しないことを意味します。 .Pp .Dq option は次のいずれかです: .Bl -tag -width XX .It acfcomp デフォルト: enable かつ accept。 ACFComp はアドレスおよびコントロールフィールド圧縮 (Address and Control Field Compression) を意味します。 LCP パケット以外は通常、 アドレスフィールド 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 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 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 の実行モードに依存します。 例えば、ユーザ .Sq fred のみがラベル .Sq fredlabel に .Fl background モードでアクセスできるように、 .Nm を構成したいかもしれません。 .Pp ユーザ ID 0 はこれらのコマンドの対象外です。 .Bl -tag -width XX .It allow user[s] Ar logname... デフォルトでは、ユーザ ID 0 のみが .Nm へのアクセスを許されています。 このコマンドが指定されると、 .Dq allow users が記載されているセクションに列挙されているユーザのアクセスが可能となります。 .Sq default セクションは 常に最初にチェックされます (スタートアップ時に常にロードされる唯一の -セクションです)。後続する +セクションです)。 +セクション中では .Dq allow users -コマンドは、先行するコマンドに優先します。 +コマンドは、加算的です。 +しかしながら、セクション中で許可されたユーザ群は、 +デフォルトのユーザ群を上書きします。 あるラベル以外のすべてにアクセスを許すことが可能であり、 そのためにはデフォルトユーザを .Sq default セクションで指定し、新しいユーザリストをこのあるラベルに指定します。 .Pp ユーザ .Sq * が指定されると、全ユーザにアクセスが許されます。 .It allow mode 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 後方互換性のために、語 .Dq alias を .Dq nat の代りに使用可能です。 あなたのシステムで nat を有効にすると (コンパイル時に削除できます)、 次のコマンドが使用可能となります: .Bl -tag -width XX .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 に設定すると、 ファイアウォールとほぼ同様にパケットを落とすことにより、 このコマンドは全入力接続を拒否します。 .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 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.alias ファイル中でも議論されています。 .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 No " & " Li 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 ppp +の現在のバージョン番号と置き換えられます。 .It Li USER これは、PAP もしくは CHAP で認証されたユーザ名と置き換えられます。 通常、この変数は -direct モードでのみ割り当てられます。 この値は、utmp ロギングが有効になっているかどうかに関わらず、利用可能です。 -.It Li DNS0 No " & " Li DNS1 -これは、それぞれプライマリ DNS サーバ、セカンダリ DNS サーバの -IP アドレスに置き換えられます。IPCP によりネームサーバが -ネゴシエーションされた場合、このマクロの値は変わります。 .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 ppp が使用するインタフェースを制御します。 .Ar command は次のいずれかです: .Bl -tag -width XX .It iface add[!] Ar addr[[/bits| mask] peer] 指定された .Ar addr mask peer の組み合わせをインタフェースに追加します。 .Ar mask を指定する代りに、 .Ar /bits を使用可能です .Pq addr との間に空白を入れてはなりません 。指定したアドレスが既に存在する場合、 .Dq \&! を使用していない限りコマンドは失敗します - この場合、 以前のインタフェースアドレスエントリは新しいもので置き換えられ、 ネットマスクと相手のアドレスの変更を許します。 .Pp .Ar addr のみが指定されると、 .Ar bits はデフォルト値 .Dq 32 になり、 .Ar peer はデフォルト値 .Dq 255.255.255.255 になります。 このアドレス (ブロードキャストアドレス) は、 相手のアドレスとして複数存在することを .Nm が唯一許すものです。 .It iface clear .Nm が OPENED 状態または .Fl auto モードの場合にこのコマンドを使用すると、 IPCP ネゴシエートされたアドレス以外の全アドレスが インタフェースから削除されます。 .Nm が OPENED 状態でも .Fl auto モードでもない場合、全インタフェースアドレスが削除されます。 .Pp .It iface delete 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 .No Op up .Ar var value .Xc このオプションは次に示す変数の設定のために使用します: .Bl -tag -width XX .It set accmap Ar hex-value ACCMap は非同期制御文字マップ (Asyncronous Control Character Map) を 意味します。 これはいつも相手とネゴシエートされ、デフォルト値は 16 進数で 00000000 です。 このプロトコルが必要なのは、 (XON/XOFF などの) 特定の文字を終点間で受渡すことに依存するハードウェアを 使用する場合です。 .Pp XON/XOFF については .Dq set accmap 000a0000 を使用します。 .It set Op auth Ns Xo .No key Ar value .Xc クライアントモードでの PAP または CHAP のネゴシエーションで使用される 認証キー (もしくはパスワード) を、指定した値に設定します。 ダイヤルまたはログインスクリプトの .Sq \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\P シーケンスで使用するパスワードもまた指定します。 これにより実際のパスワードは記録されません。 .Ar command または .Ar chat のログが有効な場合、セキュリティの観点から、 .Ar value は .Sq ******** として記録されます。 .Pp .Ar value の最初の文字がエクスクラメーションマーク .Pq Dq \& の場合、 .Nm は残りの文字列を、 .Dq authname と .Dq authkey の値を確定するために実行すべきプログラムとして扱います。 .Pp .Dq \&! +が二重 +.Pq Dq \&!! +である場合には単一のリテラル +.Dq \&! +として扱われますが、そうでない場合には +.Dq \&! を無視し、前述の .Dq !bg コマンドと同様に特殊な名前を同様に置換しながら、 .Ar value は実行すべきプログラムとしてパーズされます。 プログラムを実行すると、 .Nm はこのプログラムに対して 3 行の入力を与えます。 各行は改行文字で終了しています: .Bl -bullet .It CHAP チャレンジに含めて送られるホスト名。 .It CHAP チャレンジに含めて送られるチャレンジ文字列。 .It ローカルに定義された .Dq authname 。 .El .Pp 2 行の出力が期待されています: .Bl -bullet .It CHAP 応答と共に送るべき .Dq authname 。 .It チャレンジと要求 ID で暗号化した .Dq authkey であり、応答は CHAP 応答パケットに含めて送られます。 .El .Pp .Nm をこのように設定するとき、 ホストチャレンジは ASCII の数値もしくは文字であることが期待されます。 指定されたチャレンジに対する適切な秘密情報を、 暗号化デバイスまたは Secure ID カードが計算することが求められています。 .It set authname Ar id クライアントモードでの PAP または CHAP のネゴシエーションで使用される 認証 ID を設定します。 .Pp 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 リンクでない場合、 .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 Xo .No *| Ns Ar number Ns No .Oo .No , Ns Ar number Ns .Oc .No ... .Op Ar delay Op Ar retry .Oc .Xc 引数が与えられない場合、CBCP (Microsofts CallBack Control Protocol) は disable です。言い換えれば .Dq set callback コマンドで CBCP を設定すると .Nm が CBCP フェーズでコールバック要求を行わなくなります。 そうでない場合、 .Nm は与えられた電話番号 .Ar number を使おうとします。 .Pp サーバモード .Pq Fl direct では、 .Dq \&* を使わない限り .Nm はクライアントがこれらの番号の 1 つを使うことを主張します。 .Dq \&* を使った場合には、クライアントが番号を指定するものと想定します。 .Pp クライアントモードでは .Nm は与えられた番号 (そのうち接続相手と合意可能なもの) を使用しようとします。 .Dq \&* が指定された場合には、 .Nm 接続相手が番号を指定するものと想定します。 .It set cd 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 の形式であるか、 .Ar host Ns No : Ns Ar port Ns Oo .No /tcp|udp .Oc の形式である必要があります。 .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 8 を参照してください。 .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 をチャットスクリプトに指定可能です: .Bd -unfilled -offset indent .It \\\\\\\\\\\\\\\\c .Sq 送信 文字列の最後の文字として使用した場合、 改行を追加してはならないことを意味します。 .It \\\\\\\\\\\\\\\\d チャットスクリプトがこのシーケンスに出会うと、2 秒待ちます。 .It \\\\\\\\\\\\\\\\p チャットスクリプトがこのシーケンスに出会うと、1/4 秒待ちます。 .It \\\\\\\\\\\\\\\\n 改行文字と置き換えられます。 .It \\\\\\\\\\\\\\\\r 復改文字と置き換えられます。 .It \\\\\\\\\\\\\\\\s 空白文字と置き換えられます。 .It \\\\\\\\\\\\\\\\t タブ文字と置き換えられます。 .It \\\\\\\\\\\\\\\\T 現在の電話番号と置き換えられます (後述の .Dq set phone 参照)。 .It \\\\\\\\\\\\\\\\P 現在の .Ar authkey 値と置き換えられます (前述の .Dq set authkey 参照)。 .It \\\\\\\\\\\\\\\\U 現在の .Ar authname 値と置き換えられます (前述の .Dq set authname 参照)。 .Ed .Pp 2 つのパーザがこれらのエスケープシーケンスを検査することに注意してください。 .Sq チャットのパーザ にエスケープ文字を見せるには、 .Sq コマンドパーザ からエスケープする必要があります。 つまり、2 つのエスケープを使用する必要があります。例えば次のようにします: .Bd -literal -offset indent set dial "... ATDT\\\\T CONNECT" .Ed .Pp チャットスクリプトから外部コマンドを実行することもできます。 そうするためには、 受信待ち文字列または送信文字列の最初の文字をエクスクラメーションマーク .Pq Dq \&! にします。 +リテラルのエクスクラメーションマークが必要な場合には、二重 +.Dq \&!! +にすれば、単一のリテラル +.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 終点選択値オプションを使用して、相手に情報を送ります。 次の選択値を設定可能です。 .Bd -unfilled -offset indent .It Li label 現在のラベルが使用されます。 .It Li IP 当方のローカル IP 番号を使用します。 LCP は IPCP より前にネゴシエートされますので、 IPCP 層が後からこの値を変更することが可能です。 その場合、手動でリセットしない限り、終点の選択値は古い値のままとなります。 .It Li MAC 前述の .Ar IP オプションに似ていますが、 ローカル IP 番号に関係する MAC アドレスが使用される点が異なります。 ローカル IP 番号がどのイーサネットインタフェースにも存在しない場合、 本コマンドは失敗します。 .Pp ローカル IP 番号のデフォルトは、 マシンホスト名がなんであれ、その名前になりますので、通常 .Dq set enddisc mac を .Dq set ifaddr コマンドよりも先に実行します。 .It Li magic 20 桁の乱数が使用されます。 マジックナンバを使用するときには注意が必要です。 .Nm の再開や別の .Nm を使ったリンク作成においては、別のマジックナンバを使用するため、 同じバンドルに属すとは相手に認識されないのです。 このため、 .Fl direct 接続では使えません。 .It Li psn Ar value 指定された .Ar value が使用されます。 .Ar value は、絶対的な公衆スイッチネットワーク番号の先頭に 国コードを付けたものであるべきです。 .Ed .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 Oo tcp|udp|ospf|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 .Oc .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 -literal -offset indent .Ar \&IP Ns Oo \&- Ns Ar \&IP Ns Xo .Oc Oo , Ns Ar \&IP Ns .Op \&- Ns Ar \&IP Ns .Oc No ... .Xc .Ed .Pp のフォーマットを指定できます。例えば: .Pp .Dl set ifaddr 10.0.0.1 10.0.1.2-10.0.1.10,10.0.1.20 .Pp は .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 ppp が利用できるリンクの束よりもトンネルインタフェースがはるかに 高速となりそうな場合に、送出データのフロー制御のために このキューの制限は必要になります。 .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 mrru Op Ar value このオプションを設定すると、 マルチリンクプロトコルまたは MP としても知られる、 マルチリンク PPP ネゴシエーションを有効にします。 MRRU (Maximum Reconstructed Receive Unit) の値にはデフォルトはありません。 引数を指定しないと、マルチリンクモードは無効にされます。 .It set mru Op Ar value デフォルトの MRU (最大受信単位; Maximum Receive Unit) は 1500 です。 この値を増加させた場合、相手は MTU を増加させても *かまいません*。 デフォルトの MRU より減らすことは意味がありません。 なぜなら、 .Em PPP プロトコルでは少なくとも 1500 オクテットのパケットを 受信できなければ *ならない* からです。 引数が指定されないと、1500 が仮定されます。 .It set mtu Op Ar value デフォルトの MTU は 1500 です。 ネゴシエーション時に、(296 バイト未満でなければ) 相手が望むいかなる MRU および MRRU も受け付け可能です。 MTU が設定されると、 .Nm は .Ar value よりも小さい MRU/MRRU の値を受け付けなくなります。 ネゴシエーションが完了すると、 相手がより大きな MRU/MRRU を要求していたとしても、 インタフェースに対して MTU が割り当てられます。 当方のパケットサイズを制限するのに有用です (よりよくバンド幅を共有できるようになりますが、 ヘッダデータが増えるというコストがかかります)。 .Pp .Ar value を指定しないと、1500 または相手が要求した値が使用されます。 .It set nbns Op Ar x.x.x.x Op Ar y.y.y.y このオプションは、相手の要求によって返される Microsoft NetBIOS ネームサーバの値を設定します。 値を指定しないと、 .Nm はそのような要求を拒否するようになります。 .It set openmode active|passive Op Ar delay デフォルトでは、 .Ar openmode は常に、1 秒の .Ar delay をもって .Ar active となります。 この場合、 .Nm は回線が設定されてから 1 秒が経過したなら いつでも LCP/IPCP/CCP のネゴシエーションを開始します。 相手がネゴシエーションを開始するのを待ちたい場合は、値 .Dq passive を使用します。 直ちにもしくは 1 秒以上待ってからネゴシエーションを開始したい場合、 .Ar delay を秒単位で指定します。 .It set parity odd|even|none|mark 回線のパリティを設定できます。デフォルト値は .Ar none です。 .It set phone Ar telno 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 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|LocalName|none password Op Ar mask このコマンドは .Nm に指定したソケットもしくは .Sq 診断ポート にてコマンド接続の入力を listen するように指示します。 .Pp 語 .Ar none は .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 に依存しないようにしてください。 .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 20 .It show bundle 現在のバンドル設定を表示します。 .It show ccp 現在の CCP 圧縮統計を表示します。 .It show compress 現在の VJ 圧縮統計を表示します。 .It show escape 現在のエスケープ文字を表示します。 .It show filter Op Ar name 指定したフィルタの現在のルールをリストします。 .Ar name を指定しないと、全フィルタが表示されます。 .It show hdlc 現在の HDLC 統計を表示します。 .It show help|? 利用可能な show コマンドのまとめを表示します。 .It show iface 現在のインタフェース情報 .Po Dq iface show と同じです .Pc を表示します。 .It show ipcp 現在の IPCP 統計を表示します。 .It show 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 XX .It Pa /etc/ppp/ppp.conf システムのデフォルト設定ファイル。 .It Pa /etc/ppp/ppp.secret 各システム用の認証設定ファイル。 .It Pa /etc/ppp/ppp.linkup .Nm がネットワークレベルの接続を確立した時に実行されるファイル。 .It Pa /etc/ppp/ppp.linkdown .Nm がネットワークレベルの接続を閉じる時にチェックするファイル。 .It Pa /var/log/ppp.log ログとデバッグ情報のファイル。このファイル名は .Pa /etc/syslogd.conf にて指定されます。詳細は .Xr syslog.conf 5 を参照してください。 .It Pa /var/spool/lock/LCK..* tty ポートをロックするためのファイル。詳細は .Xr uucplock 3 を参照してください。 .It Pa /var/run/tunN.pid tunN デバイスに接続されている .Nm プログラムのプロセス ID (pid) 。 ここで .Sq N はデバイスの番号です。 .It Pa /var/run/ttyXX.if このポートで使われている tun インタフェース。 このファイルも .Fl background , .Fl auto , .Fl ddial のいずれかのモードの時のみ作成されます。 .It Pa /etc/services サービス名でポート番号が指定されている場合に、ポート番号を取得します。 .It Pa /var/run/ppp-authname-class-value マルチリンクモードでは、 相手の認証名称 .Pq Sq authname と相手の終点選択クラス .Pq Sq class と相手の終点選択値 .Pq Sq value を使用して、ローカルドメインソケットが生成されます。 終点選択値はバイナリ値であってもかまわないため、 実際のファイル名を判定するために 16 進数に変換されます。 .Pp このソケットは、別の .Nm のインスタンスとリンクを受け渡しを行うために使用します。 .El .Pp .Sh 関連項目 .Xr at 1 , .Xr ftp 1 , .Xr gzip 1 , .Xr hostname 1 , .Xr 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 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 8 , .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/restore.8 b/ja_JP.eucJP/man/man8/restore.8 index 69c1192565..11b1e69904 100644 --- a/ja_JP.eucJP/man/man8/restore.8 +++ b/ja_JP.eucJP/man/man8/restore.8 @@ -1,424 +1,445 @@ .\" Copyright (c) 1985, 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. .\" .\" @(#)restore.8 8.4 (Berkeley) 5/1/95 -.\" %FreeBSD: src/sbin/restore/restore.8,v 1.20.2.1 2000/07/01 08:10:59 ps Exp % +.\" %FreeBSD: src/sbin/restore/restore.8,v 1.20.2.2 2000/08/11 10:40:51 sheldonh Exp % .\" .\" jpman %Id: restore.8,v 1.2 1997/03/31 14:58:10 horikawa Stab % .Dd May 1, 1995 .Dt RESTORE 8 .Os BSD 4 .Sh 名称 .Nm restore , .Nm rrestore .Nd "dump コマンドで作ったバックアップからファイルやファイルシステムをリストアする" .Sh 書式 .Nm restore .Fl i .Op Fl chkmNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno .Nm restore .Fl R .Op Fl ckNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno .Nm restore .Fl r .Op Fl ckNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno .Nm restore .Fl t .Op Fl chkNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno .Op file ... .Nm restore .Fl x .Op Fl chkmNuvy .Op Fl b Ar blocksize .Op Fl f Ar file .Op Fl s Ar fileno .Op file ... .Pp .in -\\n(iSu ( .Bx 4.3 オプション文法はバックワードコンパチビリティのために実装されていますが、 ここには記載していません。) .Sh 解説 .Nm restore は .Xr dump 8 と逆の動作を行います。 ファイルシステムの完全なリストアを行うには、 まず、フルバックアップのリストアから始め、 続いてその上にインクリメンタルバックアップをリストアします。 フルまたは部分バックアップから、単一のファイルやディレクトリの部分ツリー のみをリストア することも可能です。 .Nm restore は、ネットワークを介した動作も可能です。これを行うには、以下で説明されている .Fl f フラグを参照してください。 コマンドに与えるその他の引数は、リストアされるファイルを指定するための ファイルやディレクトリ名です。 .Fl h フラグを指定していない限り (下記参照)、ディレクトリ名を指定することで、 そのディレクトリ中のファイルや (再帰的に) サブディレクトリを指定することになります。 .Pp 以下のいずれか 1 つ (複数指定不可) のフラグが必要です: .Bl -tag -width Ds .It Fl i バックアップからの対話的なリストアを行います。バックアップからディレクトリ情報 を読み取ると、 .Nm restore はユーザに展開すべきファイルを選択させるために、 シェルに似たインタフェースでコマンドを受け付けます。 以下のコマンドが使用可能です。引数が必要なコマンドにおいて引数を省略すると、 デフォルトとしてカレントディレクトリが使われます。 .Bl -tag -width Fl .It Ic add Op Ar arg カレントディレクトリまたは指定した引数のファイルを、リストアするファイルの リストに付け加えます。ディレクトリ名を指定した場合には、そのディレクトリの下の すべてのファイルが展開リストに加えられます (コマンドラインに .Fl h フラグが指定されなかった場合)。 .Ic ls でファイルのリストを表示するときに、展開リストに含まれているファイルの頭 には ``*'' がつけられています。 .It Ic \&cd Ar arg カレントディレクトリを指定したディレクトリに移動します。 .It Ic delete Op Ar arg カレントディレクトリまたは引数で指定したファイル名のファイルを、展開する ファイルのリストから削除します。 ディレクトリ名を指定した場合には、そのディレクトリの下のすべてのファイルが 展開リストから削除されます (コマンドラインに .Fl h フラグが指定されなかった場合)。 ディレクトリ中のほとんどのファイルを展開する場合には、 ディレクトリ全体を展開リストに加えたあとで不要なファイルだけを 削除するのが一番便利なやりかたです。 .It Ic extract 展開ファイルリストにあるすべてのファイルをバックアップから展開します。 .Nm restore は、どのボリュームをマウントしたいかをユーザにたずねます。 数個のファイルのみを展開するのにもっとも早い方法は、最終ボリュームから開始して 最初のボリュームへと戻ることです。 .It Ic help 利用できるコマンドの簡単な説明を表示します。 .It Ic \&ls Op Ar arg カレントディレクトリまたは指定されたディレクトリのリストを表示します。 ディレクトリ名の後ろには ``/'' が付け加えられ、展開リストにあるファイルの前に は ``*'' が加えられます。冗長フラグがセットされていた場合には、 各ディレクトリエントリにあわせて inode 番号も表示されます。 .It Ic pwd カレントディレクトリのフルパス名を表示します。 .It Ic quit .Nm restore コマンドを中断します。展開リストに何かファイルがあったとしても終了します。 .It Ic setmodes 展開リストにあるすべてのディレクトリの所有者、モード、時刻がセットされる のみで、バックアップからはなにも展開されません。 これは、リストアを途中で中断してしまった時の後始末に有用です。 .It Ic verbose 冗長フラグ .Fl v の意味を反転します。冗長フラグがセットされている場合には、 .Ic ls コマンドは、すべてのエントリに対してその inode 番号を表示します。 また、 .Nm restore コマンドは、ファイルを展開するたびにその情報を表示します。 .El .It Fl R .Nm restore は、 フルリストアを再開するために、マルチボリュームのテープのうち特定のものを リストアすることを要求します (下記 .Fl r フラグを参照)。 これはリストア動作を中断したときに使われます。 .It Fl r リストア (ファイルシステムの再構築) を行います。 レベル 0 バックアップのリストアの前には、リストア先となるファイルシステムは .Xr newfs 8 で初期化しておき、マウントして、そのディレクトリへ .Xr cd で移動しておく必要があります。 レベル 0 バックアップのリストアに成功したら、 .Fl r フラグを指定することで、 それに加えて必要なインクリメンタルバックアップをリストアすることができます。 .Fl r フラグは対話的なファイルリストアを行わないため、注意して扱わないと 損害を与えることがあります (ディスクは言うに及ばず、精神的にも)。 次のように実行します: .Bd -literal -offset indent newfs /dev/da0s1a mount /dev/da0s1a /mnt cd /mnt restore rf /dev/rsa0 .Ed .Pp .Nm restore は、インクリメンタルリストアのための情報を、ルートディレクトリの .Pa restoresymtable に記録します。このファイルは、すべての増分をリストアしたあとで削除すべきです。 .Pp .Nm restore を、 .Xr newfs 8 や .Xr dump 8 と組み合わせることで、ファイルシステムのサイズやブロックサイズといった パラメータを変更するのに使うことができます。 .It Fl t 指定したファイル名のファイルがバックアップ中にあれば、その名前を表示します。 ファイル名引数がない場合にはルートディレクトリを表示するため、 .Fl h フラグを指定していない限り、バックアップ中のすべてのファイルを表示することに なります。 このフラグは、古くからあった .Xr dumpdir 8 のかわりの機能を持つことに注意してください。 .ne 1i .It Fl x メディアから、指定したファイルが読み出されます。 指定ファイルがディレクトリで、そのディレクトリの内容がバックアップ中に存在し、 かつ .Fl h フラグが指定されていないときには、ディレクトリの内容が再帰的に展開されます。 (可能であれば) ファイルの所有者、修正日時、モードもリストアされます。 もし引数が与えられていなければルートディレクトリを展開するため、 .Fl h フラグを指定していない限り、結果的にバックアップ全体が展開されます。 .El .Pp 以下の追加オプションを指定可能です: .Bl -tag -width Ds .It Fl b Ar blocksize ダンプレコードあたりのキロバイト数です。 .Fl b が指定されないときは、 .Nm restore はメディアのブロックサイズを動的に求めようとします。 .It Fl c 通常 .Nm は、ダンプ対象のファイルシステムフォーマットが 新しいか古い (4.4 以前) かを動的に決定します。 .Fl c フラグはこのチェックを無効にし、 古いフォーマットのダンプからのみ読み込むことを許します。 .It Fl f Ar file バックアップを .Ar file から読み込みます; .Ar file は、 .Pa /dev/rsa0 (テープドライブ) や .Pa /dev/da1c (ディスクドライブ) といったスペシャルデバイスファイル、 通常のファイル、 .Ql Fl (標準入力) のいずれかです。 ファイル名が .Dq host:file や .Dq user@host:file という形式である場合は、 .Nm restore は .Xr rmt 8 を用いて指定したファイルを指定のホストから読み取ります。 .Pp .It Fl k リモートテープサーバとの通信時に Kerberos 認証を使用します ( .Nm restore のコンパイル時に有効にされている場合のみ使用可能です。) .Pp .It Fl h ディレクトリ名を指定された場合に、その中のファイルではなく、 ディレクトリそのものを展開するようにします。 これによって、ダンプからディレクトリのサブツリーを階層的に 展開してしまうことを防ぎます。 .It Fl m 展開を、ファイル名ではなく inode 番号によって行います。 これは数個のファイルのみを展開したい場合で、ファイルの完全なパス名を 再生することを防ぎたい場合に有用です。 .It Fl N 通常通り展開しますが、実際には変更をディスクへ書き込みません。 ダンプメディアの完全性の確認や他のテスト目的に使用可能です。 .It Fl s Ar fileno マルチファイルテープの .Ar fileno から読みます。 ファイル番号は 1 から始まります。 .It Fl u 特定のタイプのファイルを作成する時に、 リストア先ディレクトリに既に同名のファイルが存在する場合には、 リストアは警告診断を生成し得ます。 この動作を抑制するために、 .Fl u (アンリンク) フラグを指定すると、リストアは古いエントリを削除してから 新しいエントリを作成しようとします。 .It Fl v 普通、 .Nm restore は何も表示せずにリストア動作を行います。 .Fl v (verbose, 冗長) フラグを指定すると、 扱うファイルのタイプとファイル名が表示されます。 .It Fl y エラーが発生したときに、リストア動作を中断するかどうかの問い合わせを 行いません。 これによって、不良ブロックをスキップして、可能なかぎり動作を継続します。 .El .Sh 診断 リードエラーが発生するとメッセージを表示します。 もし、 .Fl y が指定されているか、あるいはユーザが .Ql y の応答をしたならば、 .Nm restore はリストアを続行しようとします。 .Pp バックアップが 1 巻より多くのテープボリュームに格納されていたならば、 .Nm restore は次のボリュームをマウントすべき時点でそれをユーザに知らせます。 もし、 .Fl x あるいは .Fl i フラグが指定されていたら、 .Nm restore は、ユーザがマウントしたいのはどのボリュームであるかを問い合わせます。 少数のファイルを最も早く展開する方法は、最終ボリュームから開始して、 最初のボリュームへ向けて作業を進めることです。 .Pp .Nm restore は数多くの一貫性検査を行っていて、それを表示します。 ほとんどの検査結果の表示は自明であるか、あるいは「決して起こらない」ものです。 良くあるエラーを以下に示します。 .Pp .Bl -tag -width Ds -compact .It Converting to new file system format. 古い形式のファイルシステムで作られたダンプテープがロードされました。 その場合、自動的に新しいファイルシステムの形式に変換されます。 .Pp .It : not found on tape 指定したファイル名はテープのディレクトリには記録されていましたが、 テープのなかに本体が見当たりませんでした。 このような事態が起きるのは、ファイルを探している間にテープのリードエラー が発生した場合や、稼働中のファイルシステムにおいて作成したダンプテープ を使った場合です。 .Pp .It expected next file , got ディレクトリに記録されていなかったファイルが示されます。 稼働中のファイルシステムにおいて作成したダンプを使った場合に発生することが あります。 .Pp .It Incremental dump too low インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ よりも以前に書かれたものであったり、増分レベルが低すぎるダンプがロード された場合に表示されます。 .Pp .It Incremental dump too high インクリメンタルリストアを行う際に、ダンプが直前のインクリメンタルダンプ の続きの範囲から開始していなかったり、あるいは増分レベルが高すぎる ダンプがロードされた場合に表示されます。 .Pp .It Tape read error while restoring .It Tape read error while skipping over inode .It Tape read error while trying to resynchronize テープ (あるいはその他の媒体) のリードエラーが発生しました。 ファイル名が表示されていたならば、その内容はおそらく部分的に不正なものに なっているでしょう。 もし inode がスキップされたり、テープの resynchronize (再同期) が試みら れていたならば、展開されたファイルには問題はありません。しかし、テープ 上からいくつかのファイルを見付けることができないかもしれません。 .Pp .It resync restore, skipped blocks ダンプのリードエラーが発生した後に、おそらく .Nm restore は自分自身で再同期をとらなければなりません。 このメッセージはスキップしたブロックの個数を表示します。 .El .Sh 関連ファイル .Bl -tag -width "./restoresymtable" -compact .It Pa /dev/rsa0 デフォルトのテープドライブ .It Pa /tmp/rstdir* テープ中のディレクトリを保持するファイル .It Pa /tmp/rstmode* ディレクトリの所有者、モード、タイムスタンプ .It Pa \&./restoresymtable インクリメンタルリストア間で渡される情報 .El .Sh 関連項目 .Xr dump 8 , .Xr mount 8 , .Xr newfs 8 , .Xr rmt 8 .Sh バグ 使用中のファイルシステムから作成されたダンプから インクリメンタルリストアを行うと、誤動作を起こすことがあります。 .Pp フルリストアの終了後にはレベル 0 ダンプを行う必要があります。 .Nm restore はユーザコードで動作するので、inode の割り当てを制御することができません。 したがって、ファイルの内容が変更されていない場合でも、新しい inode 割り当てを 新しいディレクトリ集合に反映させるためには、 フルダンプを行わなければなりません。 .Pp ネットワークを介したリストアを行う場合、 root 権限で restore を実行する必要があります。 これは、以前の dump と restore のセキュリティ上の歴史によるものです。 (restore は root に setuid されて使われるように書かれていますが、 restore のコードから全てのバグが取れているとは思わないので、 setuid にて使用する場合は自己の責任において行って下さい。) +.Pp +一時ファイル +.Pa /tmp/rstdir* +と +.Pa /tmp/rstmode* +は、ダンプの日付とプロセス ID に基づいて、ユニークに生成されます ( +.Xr mktemp 3 +を参照してください)。ただし +.Fl r +または +.Fl R +が使用された場合は例外です。 +これは、中断された +.Fl r +の動作を +.Fl R +によって再開可能とするためであり、 +別々の処理において同一の一時ファイルを使用することが必要であるためです。 +他の場合には、ファイルはユニークです。 +これは、同時に 2 個の異なったダンプが開始する可能性があるためであり、 +別々の処理が衝突しないようにすべきだからです。 .Sh 歴史 .Nm restore コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/routed.8 b/ja_JP.eucJP/man/man8/routed.8 index 451783d6c1..2660cb72c9 100644 --- a/ja_JP.eucJP/man/man8/routed.8 +++ b/ja_JP.eucJP/man/man8/routed.8 @@ -1,667 +1,667 @@ -.\" %FreeBSD: src/sbin/routed/routed.8,v 1.15 1999/11/15 02:53:31 kris Exp % +.\" %FreeBSD: src/sbin/routed/routed.8,v 1.15.2.1 2000/08/14 17:00:04 sheldonh Exp % .\" .\" 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. .\" .\" @(#)routed.8 8.2 (Berkeley) 12/11/93 .\" -.\" %FreeBSD: src/sbin/routed/routed.8,v 1.15 1999/11/15 02:53:31 kris Exp % +.\" %FreeBSD: src/sbin/routed/routed.8,v 1.15.2.1 2000/08/14 17:00:04 sheldonh Exp % .\" .\" jpman %Id: routed.8,v 1.2 1997/03/31 14:11:11 horikawa Stab % .\" .\" WORD: route 経路 .\" WORD: default route デフォルトルート .\" WORD: host route ホストルート .\" WORD: network route ネットワークルート .\" WORD: point-to-point route point-to-point ルート .Dd June 1, 1996 .Dt ROUTED 8 .Os BSD 4.4 .Sh 名称 .Nm routed , .Nm rdisc .Nd ネットワークの RIP と router discovery のルーティングデーモン .Sh 書式 .Nm routed .Op Fl sqdghmpAtv .Op Fl T Ar tracefile .Oo .Fl F .Ar net Ns Op /mask Ns Op ,metric .Oc .Op Fl P Ar parms .Sh 解説 .Nm はネットワークのルーティングテーブルを管理するデーモンで、 システムのブート時に起動されます。 デーモンはカーネルのルーティングテーブルを管理するために、 ルーティング情報プロトコル (Routing Information Protocol) の RIPv1 (RFC\ 1058), RIPv2 (RFC\ 1723) および Internet Router Discovery Protocol (RFC 1256) を用います。 RIPv1 プロトコルは .Bx 4.3 のデーモンのものをベースとしています。 .Pp デーモンはルーティング情報プロトコルのパケットを待つために、 .Xr route 8 サービス .Ns ( Xr services 5 参照) 用の .Xr udp 4 ソケットを listen します。また、マルチキャストによる Router Discovery の ICMP メッセージの送受信も行います。 ホストがルータだった場合、 .Nm は直接接続されている全てのホストとネットワークに、 ルーティングテーブルの複製を定期的に提供します。 また、 Router Discovery の ICMP メッセージを用いて デフォルトルートの広告や要求を行います。 .Pp .Nm が動作し始めると (または、ネットワークインタフェースがオンになると)、 .Nm は AF_ROUTE アドレスファミリを用いて、システムに直結されていて コンフィギュレーションされているインタフェースのうちで "up" とマークされて いるものを探します。そしてそのインタフェースに必要な経路をカーネルの ルーティングテーブルに追加します。スタート直後で、RIP が無効になっていない インタフェースが少なくとも 1 つある場合、 .Nm はカーネルのテーブル内に既に存在する静的でない経路を全て削除します。 カーネルのテーブル内にある静的な経路は保存され、有効な RIP metric を 持っているものは RIP レスポンスに含められます .Ns ( Xr route 8 参照)。 .Pp 複数のインタフェース (ループバックインタフェースは含めません) が存在する 場合、そのホストは接続されているネットワーク間でパケットを中継するものと みなされます。RIP .Em リクエスト と Router Discovery の広告や要求を新しいインタフェース上で送信した後、 デーモンはループに入り、他のホストからの RIP リクエスト、RIP レスポンス、 Router Discovery のパケットを listen します。 .Pp .Em リクエスト パケットを受信すると、 .Nm は内部テーブルに持っている情報からリプライを作成します。 作成された .Em レスポンス パケットは既知の経路のリストを含み、各経路に "hop count" metric がつきます (16 以上は "無限大" とみなされます)。 広告した metric はインタフェースに設定した metric を反映するため .Ns ( Xr ifconfig 8 参照)、トラフィックを制御するにはインタフェースの metric を設定するのが 良い方法です。 .Pp .Em split-horizon をある程度実装しているため、レスポンスは リクエストしてきたネットワークの 1 hop 先の経路を含みません。 .Xr rtquery 8 のような問い合わせプログラムからのリクエストに対しては、テーブル全体 から答を導き出します。 .Pp ルータの故障から素早く復旧できるようにするため、 デーモンが管理するルーティングテーブルには各到達先用のゲートウェイをいくつか 覚えておくための空間があります。受けとった RIP .Em レスポンス パケットがルーティングテーブルの更新に使用されるのは、 現在認識しているゲートウェイのうちの 1 つから提供された場合、 もしくは現在あるゲートウェイのうちの少なくとも 1 つよりも よい metric を広告している場合です。 .Pp 更新を行う時、 .Nm は自分自身が持つテーブルに変更を記録し、到達先への最適な経路が変更された 場合にはカーネルのルーティングテーブルを更新します。カーネルの ルーティングテーブルに対するこの変更は、次に送出される .Em レスポンス パケットに反映されます。次のレスポンスがしばらくの間スケジューリングされない 場合には、最近変更された経路だけを含んだ .Em flash update レスポンスが送られます。 .Pp 到着パケットの処理に加えて、 .Nm は定期的にルーティングテーブルのエントリをチェックします。 あるエントリが 3 分間更新されなかった場合、 そのエントリの metric は無限大として設定され、 削除のためのマークがつけられます。 この無効化がローカルなインターネット全体に伝搬されるのを保証するために、 削除はその経路が無限大の metric を持つと広告されるまで延期されます。これが .Em poison reverse 方式です。 .Pp カーネルのテーブル内の経路のうちで ICMP Redirect メッセージの結果として 追加や変更されたものは、 .Em black-holes を最小にするために、しばらく経ってから削除されます。 TCP コネクションのタイムアウトが起こると、カーネルは .Nm に対し、そのゲートウェイを通る全てのリダイレクトされた経路を削除し、 そのゲートウェイを通る全ての RIP の経路の年齢を増やすことで他のゲートウェイが 選択されるようにし、関連する全ての Router Discovery Protocol の デフォルトルートの年齢を増やします。 .Pp ネットワーク間ルータとして動作するホスト群は、直接接続されているホストおよび ネットワークすべてに対し、30 秒ごとにルーティングテーブルを無条件で提供します。 この RIP レスポンスは、ブロードキャストをサポートしているネット上の ブロードキャストアドレス、point-to-point リンクの到達先アドレス、 ルータ自身の他のネットワークでのアドレスに対して送信されます。 RIPv2 が有効になっている場合は、マルチキャストをサポートしているインタフェース に対してマルチキャストパケットが送られます。 .Pp リモートインタフェース上でレスポンスが受信されない場合や、 レスポンスを送信中にエラーが起こった場合や、 エラーが入力や出力よりも多い場合 .Ns ( Xr netstat 1 参照) は、ケーブルやインタフェースの他の部分が接続されていないか壊れている とみなされ、その経路は適切に変更されます。 .Pp .Em Internet Router Discovery Protocol も同様に扱われます。デーモンが RIP の経路を配っている時は、 Router Discovery の要求の listen と Router Discovery の広告の送信も行います。 デーモンが静かな状態で他の RIP ルータからのパケットを listen している時には、 Router Discovery の要求を送信して、Router Discovery の広告を listen します。 デーモンは信頼できる広告を受信して、かつ複数のホームを持たない場合に、 RIP レスポンスのブロードキャストやマルチキャストを listen するのをやめます。 現在利用中のルータが死んだ場合に障害のある状態から短時間で修復できるよう、 広告されているルータのいくつかを追跡します。 もし発見しておいたルータが全て見えなくなった場合、デーモンは RIP レスポンスの listen を再開します。 デーモンは、複数のホームを持つ場合に すべてのインタフェースが使用されていることを確実にするため、 Router Discovery の使用中は RIP の listen を継続します。 .Pp Router Discovery の仕様では、広告の "存続期間" をデフォルトで 30 分とすることを 要求しています。これは、何かが起こった場合に クライアントに 30 分間よい経路がなくなる可能性があることを意味しています。 コマンドラインで .Fl P Cm rdisc_interval=45 と指定したり .Pa /etc/gateways に .Cm rdisc_interval=45 と書くことでデフォルトを 45 秒にするのは良い考えです。 .Pp Router Discovery を利用している場合 (システムが持っている ネットワークインタフェースが 1 つだけでかつ Router Discovery の広告を 受けた場合にはこれがデフォルトです)、カーネルのテーブル内には デフォルトルートは 1 つだけで、ホストへの経路は可変個数となります。 複数のネットワークインタフェースを持つホストでは、 このデフォルトルートはそのインタフェースのうちの 1 つだけを経由します。 このため、複数のホームを持つホストで \f3\-q\f1 つきで動作しているものは、 以下に示す .Cm no_rdisc が必要です。 .Pp RIPv2 と Router Discovery のどちらも扱うことができない "遺物の" システムを サポートするためには、以下に記述してある .Cm pm_rdisc を参照して下さい。 .Pp デフォルトでは、point to point リンク (たとえば PPP) には Router Discovery の広告も要求も送信されません。 .Nm は、 point-to-point リンク (SLIP や PPP のような、IFF_POINTOPOINT フラグ のついたもの) のネットマスクを使用して、 RIPv1 利用時にリモートシステムで使われているネットマスクを 推定します。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl s .Nm は強制的にルーティング情報を提供します。 これは、RIP や Router Discovery を無効にしていない状態で複数の ネットワークインタフェースが存在し、カーネルが ipforwarding=1 に なっている場合にはデフォルトです。 .It Fl q .Fl s オプションとは逆の動作をします。 インタフェースが 1 つだけの場合は、これがデフォルトです。 このオプションを指定すると、デーモンは RIP に対して常に "quite-mode" となり、ルーティング情報を他のコンピュータに提供しません。 .It Fl d バックグラウンドでは動作しません。このオプションは対話的に使用するための ものです。 .It Fl g ネットワーク間ルータにおいて "default" の到達先への経路を設ける ために使われます。これは .Fl F .Cm 0/0,1 と同じ意味を持ち、主として歴史的理由のために存在します。 これよりは、 .Fl P Cm pm_rdisc をコマンドラインで指定するか、 .Cm pm_rdisc を .Pa /etc/gateways で指定するほうがよいでしょう。 大きな metric を使用すれば、 潜在的に危険なデフォルトルートが広まる可能性を減らせます。 これは、典型的にはインターネットへのゲートウェイで用いられるか、 経路を他のローカルルータに対して報告しない、別の ルーティングプロトコルを利用しているゲートウェイで用いられます。 metric には 1 が使われるため、この機能は危険です。このオプションは一般に、 問題を解決するよりも、ルーティングのループによる混乱を引き起こしがちです。 .It Fl h ホストルートまたは point-to-point ルートを広告しません。 これらは同一方向へ向かうネットワークルートであると規定されます。これは 特別な性質を持つ集合です。このオプションは、 SLIP のような point-to-point リンクで他のゲートウェイマシンを接続させている Ethernet へのゲートウェイにおいて有効です。 .It Fl m マシンが、そのプライマリインタフェースへのホストルートや point-to-point ルート を広告するようになります。 これは NFS サーバのような複数のホームを持つマシンにおいて有効です。 このオプションは、作成したホストルートのコストがサーバの人気で正当化される 場合を除いて、使うべきではありません。 これは、マシンがルーティング情報を供給していて、複数のインタフェースを 持っている場合にのみ効果があります。 .Fl m オプションは、 .Fl q オプションを無効にして、 ホストルートの広告を限定した範囲に制限します。 .It Fl A RIPv2 の認証に注意を払わない場合に、RIPv2 の認証を無視しません。 RFC 1723 に準拠するためにはこのオプションが必要です。 しかしながら、これは意味がなく、マシンが認証について注意を払わない場合に 認証を運ぶ全ての RIPv2 パケットを無視する目的で検出プロトコルとして RIP を使うことの妨げとなります。 .It Fl t デバッグレベルを増やします。 .Fl T で指定したトレースファイルや標準出力に対し、より詳細な情報を記録するように なります。デバッグレベルは .Em SIGUSR1 シグナルや .Em SIGUSR2 シグナルや .Xr rtquery 8 で増減できます。 .It Fl T Ar tracefile デバッグレベルを最低でも 1 まで上げ、デバッグ情報をトレースファイルに 書き加えるようにします。セキュリティ上の都合により、 .Nm がファイルへのトレースを日常的に行うようにはしないのが賢明です。 .It Fl v デーモンのバージョンを表示して記録します。 .It Fl F Ar net[/mask][,metric] .Em net/mask にマッチするアドレスを持つインタフェースを介した転送における経路を最小にし、 このマシンへのデフォルトルートを metric 数 .Em metric で作成します。この目的は、RIP 情報をもつ多数の大きな UDP パケットを "にせ" の デフォルトルートを含んだ 1 つの小さなパケットに置き換えることで、 遅い、たとえば PPP のような point-to-point リンクでの RIP のトラフィックを 減らすことにあります。 もし .Em metric がない場合は、"にせ" のデフォルトルートが広まるのを制限するために 14 が 指定されたものとみなします。 この機能は、不注意に使うとルーティングのループを引き起こすので危険です。 指定したネットワーク番号とマスクに複数のインタフェースがマッチする可能性がある ことにも注意して下さい。 .Fl g も参照してください。 .It Fl P Ar parms パラメータ行 .Em parms を .Pa /etc/gateways ファイルに書くのと同じです。 .El .Pp 提供された他の引数は、 .Nm の動作を記録するファイルの名前として解釈されます。 トレースファイルの名前をコマンドに追加するよりは、 .Fl T を使った方がよいでしょう。 .Pp 上記の機能に加えて、 .Nm は "遠隔にある" .Em passive もしくは .Em active なゲートウェイという概念をサポートします。 .Nm は動作を開始すると、 .Pa /etc/gateways を読み込んで、 ルーティングソケットからの情報だけでは突き止められない可能性を持つ 遠隔のゲートウェイを見つけ、ローカルのゲートウェイが .Em passive かどうかを知り、そしてその他のパラメータを取得します。 このようにして指定したゲートウェイには、 ルーティング情報を交換するつもりがない場合には passive 、 RIP パケットを交換しても構わない場合には active の マークを付ける必要があります。 .Em passive ゲートウェイを通る経路は、起動時に一度だけ カーネル内の経路表に設定され、送出される RIP レスポンスには 含められません。 .Pp 遠隔の active ゲートウェイは、ネットワークインタフェースと同様に扱われます。 RIP レスポンスを遠隔の .Em active ゲートウェイに送出します。 応答がない場合、 カーネルのテーブルと他のインタフェースから広告される RIP レスポンス からその経路を削除します。遠隔のゲートウェイが RIP レスポンスの送出を 再開した場合は、その経路を再び追加します。 .Pp このようなゲートウェイは、 ブロードキャストやマルチキャストはサポートしないがそれ以外は Ethernet のような 伝統的な共有メディア同様にふるまう、 ATM ネットワークなどのメディアで有効です。 HIPPI や ATM のネットワーク上にある到達可能な全ての RIP ルータを .Pa /etc/gateways の "host" 行を使って記述することができます。 通常、そのような状況では、 推定されたホスト経路のリスト生成を避けるために RIPv2 の使用が望ましいことに注意してください。 .Pp .Em external マークをつけたゲートウェイは passive と同様の扱いになりますが、 カーネル内のルーティングテーブルに載ることはなく、 ルーティングの更新時にその情報が含められることもありません。 external エントリの機能は、別のルーティングプロセスがそのような経路を 必要時に追加する可能性があり、 .Nm がその到達先への他の経路を設定すべきでないことを知らせることです。 external エントリは、2 つのルータが同じ到達先への経路を覚えてもよい場合にのみ 必要です。 .Pp .Pa /etc/gateways ファイルは、各行が以下の 2 つのフォーマットのどれか、 または後述のパラメータからなる行で構成されます。 空行と '#' で始まる行はコメントです。 .Pp .Bd -ragged .Cm net .Ar Nname[/mask] .Cm gateway .Ar Gname .Cm metric .Ar value .Pf < Cm passive No \&| .Cm active No \&| .Cm extern Ns > .Ed .Bd -ragged .Cm host .Ar Hname .Cm gateway .Ar Gname .Cm metric .Ar value .Pf < Cm passive No \&| .Cm active No \&| .Cm extern Ns > .Ed .Pp キーワード .Ar Nname や .Ar Hname は、到達先のネットワークもしくはホストの名前です。 これはネットワークのシンボル名または "ドット" 表記による インターネットアドレスのどちらでも構いません .Ns ( Xr inet 3 参照)。(もし名前の場合は、 .Pa /etc/networks または .Pa /etc/hosts で定義されているか、 .Nm の動作開始前に .Xr named 8 が起動されていなければなりません。) .Pp .Ar mask は省略可能な数値で、 .Ar Nname のネットマスクを表す 1 から 32 までの値をとります。 .Pp .Ar Gname は、RIP レスポンスがフォワードされるべきゲートウェイの名前もしくは アドレスです。 .Pp .Ar value は、到達先ホストもしくはネットワークへの hop 数です。 .Ar " host hname " は .Ar " net nname/32 " と同じです。 .Pp ゲートウェイが .Cm passive または .Cm active として(前述の通り)扱われる必要があるか、 あるいは RIP プロトコルのスコープの範囲外つまり .Cm external であるかを指示するために、 .Cm passive , .Cm active , .Cm external のキーワードのうちの 1 つを指定する必要があります。 .Pp .Fl t でデバッグ出力をオンとする時に見受けられる様に、 そのような行は疑似インタフェースを作成します。 remote インタフェースや external インタフェースのパラメータ設定をするには、 その行を .Cm if=alias(Hname) や .Cm if=remote(Hname) 等で始める必要があります。 .Pp "net" と "host" のどちらでも始まらない行は、以下のようなパラメータ設定 でなければなりません。これは 1 つでも複数でもよく、複数の場合はコンマや 空白で区切ります: .Bl -tag -width Ds .It Cm if Ns \&= Ns Ar ifname その行にある他のパラメータが、名前が .Ar ifname のインタフェースに適用されることを示します。 .It Cm subnet Ns \&= Ns Ar nname[/mask][,metric] ネットワーク .Ar nname への経路をマスク .Ar mask と指定された metric (デフォルトは 1) で広告します。 これは CIDR の確保において "穴" を埋めるのに有効です。 このパラメータはその行にそれだけで出現しなければなりません。 ネットワーク番号は、例えば 192.0.2 ではなく 192.0.2.0 の様に、 32 ビットの完全な値を指定する必要があります。 .Pp この機能を不必要に使ってはいけません。危険です。 .It Cm ripv1_mask Ns \&= Ns Ar nname/mask1,mask2 .Cm nname/mask1\f1 がサブネットであるネットワークのネットマスクを .Cm mask2 とする様に指定します。 例えば \f2ripv1_mask=192.0.2.16/28,27\f1 は 192.0.2.16/28 を 192.0.2.0/24 ではなく 192.0.2.0/27 のサブネットとしてマークします。 このファシリティを使わずに、 \f2ripv2_out\f1 を用いて RIPv2 を有効にするのが、より望ましい方法です。 .It Cm passwd Ns \&= Ns Ar XXX[|KeyID[start|stop]] RIPv2 の生のパスワードを指定します。 これは、送信される全ての RIPv2 レスポンスに含められ、 受信した全ての RIPv2 レスポンスでチェックされます。 パスワード内の空白、タブ文字、コンマ、'#'、'|'、NULL 文字は、 バックスラッシュ (\\) でエスケープしなければなりません。 よく使われる \\n, \\r, \\t, \\b, \\xxx などのエスケープシーケンスは、 それぞれ通常の意味を持っています。 .Cm KeyID は一意でなければなりませんが、生のパスワードの場合は無視されます。 .Cm start と .Cm stop がある場合、これはタイムスタンプで、 year/month/day@hour:minute の形式をとります。 これらはパスワードの有効期限を指定します。 出力パケットで使われるパスワードには、期限が最も遠い将来まで設定されている パスワードが使われます。 ただし、全てのパスワードの期限が切れてしまった場合には、 最も最近期限切れになったパスワードが使われます。 また、パスワードがどれもまだ有効でない場合には、 パスワードは出力されません。 到着パケットは有効なパスワードを運んでくる可能性があります。 ここで有効とは、未来の 24 時間内で有効になるものか、 過去 24 時間内で有効であったものを指します。 秘密を守るため、パスワードの設定は .Em /etc/gateways 内のものだけが有効であり、かつ、このファイルが UID 0 でのみ読み込み可能 でなければなりません。 .It Cm md5_passwd Ns \&= Ns Ar XXX|KeyID[start|stop] RIPv2 の MD5 パスワードを指定します。 .Cm KeyID が必須であること以外は、このキーワードは .Cm passwd と同様です。 .It Cm no_ag RIPv1 と RIPv2 のレスポンスにおいてサブネットの集約を行いません。 .It Cm no_super_ag RIPv2 のレスポンスにおいてネットワークのスーパネットへの集約を行いません。 .It Cm passive そのインタフェースが更新時に他のインタフェースを通して広告されないように マークし、指定したインタフェースでは RIP および router discovery 処理を 全く行わないようにします。 .It Cm no_rip 指定したインタフェースでの全 RIP 処理を行いません。 RIP パケットを処理するインタフェースがない場合は、 .Nm は単に Router Discovery デーモンとして動作します。 .Pp .Cm rdisc_adv または .Fl s で明示的に Router Discovery の広告を行うように指示せずに RIP を 行わないようにすると、 .Nm は広告を行わない Router Discovery デーモンとして動作することに注意して下さい。 .It Cm no_rip_mcast RIPv2 パケットをマルチキャストせずにブロードキャストします。 .It Cm no_ripv1_in 受信した RIPv1 レスポンスを無視します。 .It Cm no_ripv2_in 受信した RIPv2 レスポンスを無視します。 .It Cm ripv2_out 可能な場合にマルチキャストができるよう、 RIPv2 の出力を有効にして RIPv2 による広告を行います。 .It Cm ripv2 .Cm no_ripv1_in と .Cm no_ripv1_out を指定した場合と同じです。 RIPv2 を有効にします。 .It Cm no_rdisc Internet Router Discovery Protocol を無効にします。 .It Cm no_solicit Router Discovery の要求を送信しません。 .It Cm send_solicit たとえ point-to-point リンクであっても Router Discovery の要求を送信します。 デフォルトでは Router Discovery のメッセージを聞くだけです。 .It Cm no_rdisc_adv Router Discovery の広告の送信を行いません。 .It Cm rdisc_adv たとえ point-to-point リンクであっても Router Discovery の広告を送信します。 デフォルトでは Router Discovery のメッセージを聞くだけです。 .It Cm bcast_rdisc Router Discovery のパケットをマルチキャストせずにブロードキャストします。 .It Cm rdisc_pref Ns \&= Ns Ar N Router Discovery の広告の優先度を整数 .Ar N に設定します。 優先度のデフォルトは 0 です。 クライアントは、 より小さな、あるいはより負の優先度を持つデフォルトルートを選択します。 .It Cm rdisc_interval Ns \&= Ns Ar N Router Discovery の広告を行う上での名目の送信間隔を N 秒に設定し、 その存続期間を 3*N にします。 .It Cm fake_default Ns \&= Ns Ar metric 指定したインタフェースのネットワークとネットマスクを用いて .Fl F Ar net[/mask][=metric] を指定した場合と同じです。 .It Cm pm_rdisc .Cm fake_default に似ています。RIPv2 の経路がマルチキャストの場合、RIPv1 を聞いている マシンはそれを受信することができないので、この機能を使えば RIPv1 のデフォルト ルートが RIPv1 を聞いているマシンにブロードキャストされるようになります。 .Cm fake_default で変更しない限り、 デフォルトルートは metric 14 でブロードキャストされます。 これは "安上がりな router discovery" プロトコルを提供することになります。 .It Cm trust_gateway Ns \&= Ns Ar rname[|net1/mask1|net2/mask2|...] 指定したルータや他の .Cm trust_gateway キーワードで指定したルータからの RIP パケットを受け付け、 これら以外のルータからのパケットを無視します。 ネットワークを指定した場合、他のネットワークへの経路は 指定したルータからは無視されます。 .It Cm redirect_ok システムがルータとして動作してパケットのフォワードを行っている場合に、 RIP が ICMP Redirect メッセージを許可するようになります。 そうでなければ、ICMP Redirect メッセージは無効にされます。 .El .Pp .Sh 関連ファイル .Bl -tag -width /etc/gateways -compact .It Pa /etc/gateways 遠隔ゲートウェイについての情報を記述するファイル。 .El .Sh 関連項目 .Xr icmp 4 , .Xr udp 4 , .Xr rtquery 8 .Rs .%T Internet Transport Protocols .%R XSIS 028112 .%Q Xerox System Integration Standard .Re .Sh バグ 出力方向にのみ失敗するなどの、ネットワークインタフェースの一方向の失敗 を常に検出できるとは限りません。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/sysctl.8 b/ja_JP.eucJP/man/man8/sysctl.8 index 3d4bea7bdc..3bf7b59091 100644 --- a/ja_JP.eucJP/man/man8/sysctl.8 +++ b/ja_JP.eucJP/man/man8/sysctl.8 @@ -1,250 +1,251 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.23.2.1 2000/07/26 08:54:43 sheldonh Exp % +.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.23.2.2 2000/07/27 22:59:01 obrien Exp % .\" jpman %Id: sysctl.8,v 1.2 1997/05/30 00:57:58 yugawa Stab % .\" .Dd September 23, 1994 .Dt SYSCTL 8 .Os .Sh 名称 .Nm sysctl .Nd カーネル状態の取得や設定 .Sh 書式 .Nm sysctl .Op Fl bn .Ar name ... .Nm sysctl .Op Fl bn .Fl w .Ar name=value ... .Nm sysctl .Op Fl bn .Fl aAX .Sh 解説 .Nm はカーネル状態を取り出し、適切な権限があれば プロセスがカーネル状態を設定することを許します。取り出され たり、設定されたりした状態は、``Management Information Base''(``MIB'') 形式を使って記述されます。この形式では、要素はドット ``.'' で 接続されます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl a 現在有効な文字列や整数値をすべて表示します。 .It Fl A データ形式を知らないもの(以下、形式不明の変数と称する) を含めて、 存在している全ての MIB を表示します。 .Fl a フラグ同様、文字列や整数値も表示されます。 形式不明の変数に関しては、 そのフォーマットおよび長さに関する情報と、その変数の内容の最初の数バイトを 16 進数でダンプします。 .It Fl X フラグは、形式不明の変数の全ての内容が 16 進数でダンプされる以外は .Fl A と同じです。 .It Fl n フィールド名の出力は抑制されて、値 だけが表示されます。これはシェル変数を設定するのに役に 立ちます。たとえば、ページサイズを変数 psize に保存する には、以下のようにします: .Bd -literal -offset indent -compact set psize=`sysctl -n hw.pagesize` .Ed .Pp .It Fl b 変数の値を加工せずに、バイナリ形式で表示します。 変数名や、最後の改行文字は出力されません。これは、単一の変数に対して 操作する際に便利でしょう。 .It Fl w Ar name=value ... MIB の .Ar name を新しい値 .Ar value に設定します。 MIB 形式 .Ar name だけが指定された場合、その名前に対応する値が得られます。 .El .Nm で得られる情報は、整数、文字列、形式不明の変数です。 .Nm はいくつかの形式不明の変数の形式を知っているだけで、それ以外のものに 対しては 16 進ダンプに頼ります。 形式不明の変数の情報は、 .Nm ps や .Nm systat , .Nm netstat などの特別な目的のプログラムによって取得された場合に、より効果的です。 .Pp 文字列と整数の情報を簡単にまとめて以下に示します。これらの 変数の詳細な説明は、 .Xr sysctl 3 を参照してください。 .Pp changeable の列は、適切な権限を持つプロセスがその値を変更 できるかどうかを示しています。 .Bl -column net.inet.ip.forwardingxxxxxx integerxxx .It Sy Name Type Changeable .It kern.ostype string no .It kern.osrelease string no .It kern.osrevision integer no .It kern.version string no .It kern.maxvnodes integer yes .It kern.maxproc integer no .It kern.maxprocperuid integer yes .It kern.maxfiles integer yes .It kern.maxfilesperproc integer yes .It kern.argmax integer no .It kern.securelevel integer raise only .It kern.hostname string yes .It kern.hostid integer yes .It kern.clockrate struct no .It kern.posix1version integer no .It kern.ngroups integer no .It kern.job_control integer no .It kern.saved_ids integer no .It kern.boottime struct no .It kern.domainname string yes .It kern.filedelay integer yes .It kern.dirdelay integer yes .It kern.metadelay integer yes .It kern.osreldate string no .It kern.bootfile string yes .It kern.corefile string yes .It kern.logsigexit integer yes .It vm.loadavg struct no .It hw.machine string no .It hw.model string no .It hw.ncpu integer no .It hw.byteorder integer no .It hw.physmem integer no .It hw.usermem integer no .It hw.pagesize integer no .It hw.floatingpoint integer no .It hw.machine_arch string no .It machdep.console_device dev_t no .It machdep.adjkerntz integer yes .It machdep.disable_rtc_set integer yes .It user.cs_path string no .It user.bc_base_max integer no .It user.bc_dim_max integer no .It user.bc_scale_max integer no .It user.bc_string_max integer no .It user.coll_weights_max integer no .It user.expr_nest_max integer no .It user.line_max integer no .It user.re_dup_max integer no .It user.posix2_version integer no .It user.posix2_c_bind integer no .It user.posix2_c_dev integer no .It user.posix2_char_term integer no .It user.posix2_fort_dev integer no .It user.posix2_fort_run integer no .It user.posix2_localedef integer no .It user.posix2_sw_dev integer no .It user.posix2_upe integer no .It user.stream_max integer no .It user.tzname_max integer no .El .Pp .Sh 使用例 たとえば、システム中で許されている最大のプロセス数を知りたい ときは、以下のようにします: .Bd -literal -offset indent -compact sysctl kern.maxproc .Ed .Pp システム中で許されている最大のプロセス数を 1000 に設定する には、以下のようにします: .Bd -literal -offset indent -compact sysctl -w kern.maxproc=1000 .Ed .Pp システムのクロックレートに関する情報を得るには、以下の ようにします: .Bd -literal -offset indent -compact sysctl kern.clockrate .Ed .Pp システム負荷(ロード・アベレージ)の履歴に関する情報を 得るには、以下のようにします: .Bd -literal -offset indent -compact sysctl vm.loadavg .Ed .Pp ここに挙げたもの以外の変数も存在します。それらに関するより深い意味を知る もっとも良く、かつ、おそらく唯一の方法は、それらを定義しているソースコードを みる事であることは疑いのない事実でしょう。 .Sh 関連ファイル .Bl -tag -width -compact .It Pa トップレベルの識別子、第 2 レベルのカーネル/ハードウェア識別子、 そしてユーザレベル識別子の定義 .It Pa 第 2 レベルのネットワーク識別子の定義 .It Pa 第 3 レベルのプロファイル識別子の定義 .It Pa 第 2 レベルの仮想メモリ識別子の定義 .It Pa 第 3 レベルのインターネット識別子と 第 4 レベルの IP 識別子の定義 .It Pa 第 4 レベルの ICMP 識別子の定義 .Xr blackhole 4 .It Pa 第 4 レベルの UDP 識別子の定義 .El .Sh 関連項目 .Xr sysctl 3 , -.Xr blackhole 4 +.Xr blackhole 4 , +.Xr sysctl.conf 5 .Sh バグ 現状では .Nm は、sysctl ツリーの追跡、および、形式と名前の情報を得る際に、 文書化されていないカーネルの sysctl 機能へのインタフェースを使用しています。 この方法に関する正しいインタフェースは、現在検討中です。 .Sh 歴史 .Nm sysctl は .Bx 4.4 ではじめて登場しました。 .Pp .Fx 2.2 の .Nm sysctl は著しく改良されています。 diff --git a/ja_JP.eucJP/man/man8/syslogd.8 b/ja_JP.eucJP/man/man8/syslogd.8 index 5d7dd96bb5..8de04bfcb8 100644 --- a/ja_JP.eucJP/man/man8/syslogd.8 +++ b/ja_JP.eucJP/man/man8/syslogd.8 @@ -1,244 +1,246 @@ .\" Copyright (c) 1983, 1986, 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. .\" .\" @(#)syslogd.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/syslogd/syslogd.8,v 1.22 2000/03/01 14:08:36 sheldonh Exp % +.\" %FreeBSD: src/usr.sbin/syslogd/syslogd.8,v 1.22.2.1 2000/08/07 01:11:31 ps Exp % .\" .\" jpman %Id: syslogd.8,v 1.3 1997/05/19 17:08:30 horikawa Stab % .\" .Dd October 12, 1995 .Dt SYSLOGD 8 .Os BSD 4.2 .Sh 名称 .Nm syslogd .Nd システムメッセージの記録をとる .Sh 書式 .Nm syslogd .Op Fl dsuv .Op Fl a Ar allowed_peer .Op Fl f Ar config_file .Op Fl m Ar mark_interval .Op Fl p Ar log_socket .Op Fl l Ar path .Sh 解説 .Nm デーモンは設定ファイルに指定された通りに、システムコンソール、 ログファイル、他のマシンやユーザへのメッセージを読み込み、記録します。 .Pp オプションには以下のものがあります。 .Bl -tag -width indent .It Fl a Ar allowed_peer .Ar allowed_peer がこの .Nm に UDP データグラムを使用してログすることを許します。複数の .Fl a オプションを指定可能です。 .Pp .Ar allowed_peer は以下のいずれかです: .Bl -tag -width "ipaddr/masklen[:service]XX" .It Ar ipaddr/masklen Ns Op Ar :service .Ar ipaddr (通常のドット表記の 4 つ組) からのデータグラムを受け付けます。 アドレス比較の際、 .Ar masklen ビットを考慮します。 .Ar service が指定された場合、パケット送出元が属すべき UDP service の名前もしくは番号となります ( .Xr services 5 参照)。 .Ar service に .Ql \&* を指定すると、全ての UDP ポートから送信されたパケットを受け付けます。 デフォルトの .Ar service は .Ql syslog です。 .Ar masklen を指定しないと、 .Ar ipaddr がクラス A もしくは B のアドレス範囲に属す場合にはそれぞれ 歴史的なクラス A もしくは B のネットマスクが使用され、 そうでない場合には 24 が使用されます。 .It Ar domainname Ns Op Ar :service 送信アドレスのアドレス逆引きにおいて .Ar domainname が得られたデータグラムを受け付けます。 .Ar service の意味は前述の通りです。 .It Ar *domainname Ns Op Ar :service 上述の通りですが、送信ホスト名が .Ar domainname で .Em 終る 全てのホストから受け付けます。 .El .It Fl d .Nm をデバッグモードで実行します。これは恐らく、 .Nm の開発者にのみ役立ちます。 .It Fl f 代りの設定ファイルのパス名を指定します。 デフォルトは .Pa /etc/syslog.conf です。 .It Fl m .Dq mark されたメッセージの間隔を分単位で指定します。 デフォルトは 20 分です。 +.It Fl n +すべての要求に対し、DNS への問い合わせを抑止します。 .It Fl p 代りに使用するログ用ソケットのパス名を指定します。 デフォルトは .Pa /var/run/log です。 .It Fl l .Nm が追加のログ用ソケットを置く場所を指定します。 19 個まで追加のログ用ソケットを指定可能です。 主な用法は、 様々に chroot したファイル空間において追加のログ用ソケットを .Pa /var/run/log に置くというものです。 .It Fl s セキュアモードで操作します。リモートマシンからのログメッセージをログしません。 2 度指定すると、ネットワークソケットを全くオープンせず、 またリモートマシンへのログ動作も無効にします。 .It Fl u ただ 1 つの優先度のログのみ行います。 指定した優先度のメッセージのみログします。 このオプションを指定しないと、指定した優先度以上のメッセージがログされます。 このオプションにより、デフォルトの比較を .Dq => から .Dq = に変更します。 .It Fl v 冗長なログを行います。1 度指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が数値でログされます。 複数回指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が名前でログされます。 .El .Pp .Nm デーモンは 起動時と hangup シグナルを受けとった時はいつでも設定ファイルを 読み込みます。 設定ファイルのフォーマットに関する情報は、 .Xr syslog.conf 5 参照して下さい。 .Pp .Nm デーモンは .Tn UNIX ドメインソケット .Pa /var/run/log、 .Pa /etc/services で指定されるインターネットドメインソケット および特殊デバイス .Pa /dev/klog (カーネルメッセージを読むため) からメッセージを読み込みます。 .Pp .Nm デーモンはファイル .Pa /var/run/syslog.pid を作成し、プロセス ID を記録します。 これは .Nm を kill や、設定ファイルを読み込ませるために使えます。 .Pp .Nm に送られるメッセージは単一の行で構成されます。このメッセージは先頭に 優先順位コードを含んでいます。このコードは .Sq Aq 5 のように括弧でくくられた 10 進数から構成されており、インクルードファイル .Aq Pa sys/syslog.h で定義されている優先順位に対応します。 .Sh 関連ファイル .Bl -tag -width /var/run/syslog.pid -compact .It Pa /etc/syslog.conf コンフィギュレーションファイル .It Pa /var/run/syslog.pid 動作中の .Nm のプロセス ID .It Pa /var/run/log .Tn UNIX ドメインデータグラムのログ用ソケットの名前 .It Pa /dev/klog カーネルログ用のデバイス .El .Sh 関連項目 .Xr logger 1 , .Xr syslog 3 , .Xr services 5 , .Xr syslog.conf 5 .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 .Pp .Fl a , .Fl s , .Fl u , .Fl v のオプションは .Fx 2.2 における拡張です。 .Sh バグ UDP パケットで受けとったメッセージを記録する能力は認証されていない ディスクを溢れさせるリモートサービスと等価であり、恐らくデフォルトで無効に されるべきです。ある種の .Nm 間の認証メカニズムが用意されるべきでしょう。 最悪の無駄遣いを避けるために、 .Fl a オプションの使用を強く勧めます。 .Pp .Fl a のマッチングアルゴリズムは非常に効率的には見えません; ドメイン名比較より、数値による IP アドレスを使用する方が高速です。 許可されたピアのリストの検索は線型に行なわれるため、 多くのメッセージを受け付けると予測されるピアグループは .Fl a リストの最初の方に置くべきです。 .Pp ログ用ソケットは読み込み専用のルートファイルシステムの扱いを容易にする ために .Pa /dev から移されました。このことは古いバイナリを混乱させるかもしれないので、 過渡期の間はシンボリックリンクが役に立つでしょう。 diff --git a/ja_JP.eucJP/man/man8/wicontrol.8 b/ja_JP.eucJP/man/man8/wicontrol.8 index 9fd5eebb9b..296425ec45 100644 --- a/ja_JP.eucJP/man/man8/wicontrol.8 +++ b/ja_JP.eucJP/man/man8/wicontrol.8 @@ -1,320 +1,321 @@ .\" 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/wicontrol/wicontrol.8,v 1.14 2000/03/02 14:53:39 sheldonh Exp % +.\" %FreeBSD: src/usr.sbin/wicontrol/wicontrol.8,v 1.14.2.1 2000/07/30 14:47:54 sanpei Exp % .\" .\" jpman %Id: wicontrol.8,v 1.3 1999/07/31 05:08:56 kuma Stab % .\" .Dd April 21, 1999 .Dt WICONTROL 8 .Os FreeBSD 3.0 .Sh 名称 .Nm wicontrol .Nd WaveLAN/IEEE デバイスの設定 .Sh 書式 .Nm wicontrol .Fl i Ar iface Op Fl o .Nm wicontrol .Fl i Ar iface Fl t Ar tx rate .Nm wicontrol .Fl i Ar iface Fl n Ar network name .Nm wicontrol .Fl i Ar iface Fl s Ar station name .Nm wicontrol .Fl i Ar iface Fl c Ar 0|1 .Nm wicontrol .Fl i Ar iface Fl q Ar SSID .Nm wicontrol .Fl i Ar iface Fl p Ar port type .Nm wicontrol .Fl i Ar iface Fl a Ar access point density .Nm wicontrol .Fl i Ar iface Fl m Ar mac address .Nm wicontrol .Fl i Ar iface Fl d Ar max data length .Nm wicontrol .Fl i Ar iface Fl e Ar 0|1 .Nm wicontrol .Fl i Ar iface Fl k Ar key .Op Fl v Ar 1|2|3|4 .Nm wicontrol .Fl i Ar iface Fl T Ar 1|2|3|4 .Nm wicontrol .Fl i Ar iface Fl r Ar RTS threshold .Nm wicontrol .Fl i Ar iface Fl f Ar frequency .Nm wicontrol .Fl i Ar iface Fl P Ar 0|1 .Nm wicontrol .Fl i Ar iface Fl S Ar max_sleep_duration .Nm wicontrol .Fl i Ar iface Fl Z (zero signal cache) .Nm wicontrol .Fl i Ar iface Fl C (display signal cache) .Sh 解説 .Nm コマンドは、 .Xr wi 4 ドライバを介し、 WaveLAN/IEEE ワイヤレスネットワークデバイスの動作を制御します。 変更可能なほとんどのパラメータは、 WaveLAN が実装している IEEE 802.11 プロトコルに関連するものです。 これに含まれるのは、 ステーション名、 ステーションの動作がアドホック (ポイントツーポイント) と BBS (サービスセット) のどちらであるか、 BSS モードが有効な場合には加入するサービスセットのネットワーク名 (IBSS) です。 .Nm コマンドを使用して、これらのパラメータの現在の設定を見ることができますし、 カードの統計情報カウンタの値をダンプできます。 .Pp .Nm に与えられる .Ar iface 引数は、 WaveLAN/IEEE デバイスに関連付けられる論理インタフェース名であることが必要です (wi0 や wi1 など)。 .Sh オプション オプションを示します: .Bl -tag -width Fl .It Fl i Ar iface Op Fl o 指定した WaveLAN/IEEE インタフェースの現在の設定を表示します。 現在のカードの設定をドライバから取り出し、表示します。 追加の .Fl o フラグを使用すると、 .Nm は、カードの設定の代りに統計情報カウンタを表示します。 .It Fl i Ar iface Fl t Ar tx rate 指定したインタフェースの転送レートを設定します。 転送レートとしての正当な値は、 インタフェースが標準の WaveLAN/IEEE であるか WaveLAN/IEEE Turbo アダプタ かによって変わります。 標準の NIC でサポートする最大転送レートは 2Mbps ですが、 ターボ版の NIC では最大速度 6Mbps をサポートします。 次の表は、正当な転送レートの設定と対応する転送速度を示します: .Bd -filled -offset indent .Bl -column "TX rate " "NIC speed " .Em "TX レート NIC 速度" 1 固定低速 (1Mbps) 2 固定標準速 (2Mbps) 3 自動レート選択 (高速) 4 固定中速 (4Mbps) 5 固定高速 (6Mbps) 6 自動レート選択 (標準) 7 自動レート選択 (中速) .El .Ed .Pp 標準の NIC は 1 から 3 までの設定のみサポートします。 ターボ版の NIC は前述の設定すべてをサポートします。 デフォルトのドライバの設定は 3 (自動レート選択) です。 .It Fl i Ar iface Fl n Ar network name このステーションが加入を望んでいるサービスセット (IBSS) の名前を設定します。 .Ar network name は、30 文字までの長さの任意のテキスト文字列です。 デフォルトの名前は文字列 "ANY" であり、 最初に利用可能となったアクセスポイントにステーションが接続することを 許します。 このオプション設定が動作するためには、 .Fl p フラグを使用して、インタフェースを BSS モードにすることが必要です。 .Pp 注: WaveLAN のマニュアルによると、 空文字列を指定すると ホストがすべてのアクセスポイントへ接続可能となるとあります。 一方、別のドライバを見たところ、文字列 "ANY" も同様に動作するとありました。 .It Fl i Ar iface Fl s Ar station name 指定したインタフェースの .Ar station name を設定します。 .Ar station name は診断のために使用されます。 Lucent の WaveMANAGER ソフトウェアは、リモートホストの名前を調査可能です。 .It Fl i Ar iface Fl c Ar 0|1 ステーションがサービスセット (IBSS) を作成することを許します。 許される値は、0 (IBSS を作成しません) と 1 (IBSS の作成を有効にします) です。 デフォルトは 0 です。 .Pp 注: このオプションは実験的な目的でのみ提供されています: ホストシステム上で IBSS の作成を有効にしても、 実際には動作していないようです。 .It Fl i Ar iface Fl q Ar SSID 指定したインタフェース上に作成する IBSS の名前 (SSID) を指定します。 .Ar SSID は、30 文字までの長さの任意のテキスト文字列です。 .Pp 注: このオプションは実験的な目的でのみ提供されています: ホストシステム上で IBSS の作成を有効にしても、 実際には動作していないようです。 .It Fl i Ar iface Fl p Ar port type 指定したインタフェースの .Ar port type を設定します。 .Ar port type の正当な値は、1 (BSS モード) と 3 (アドホック) モードです。 アドホックモードでは、 あるステーションは直接電波が届く範囲の他のステーション (これらもアドホックモードで動作していることが必要です) と直接通信可能です。 BSS モードでは、 アクセスポイントが制御するサービスセットとホストとが関連付けられることが 必要です。 アクセスポイントは、エンドステーション間のトラフィックを中継します。 デフォルトの設定は 3 (アドホックモード) です。 .It Fl i Ar iface Fl a Ar access_point_density 指定したインタフェースの .Ar access point density を指定します。 正当な値は、1 (低)、2 (中)、3 (高) です。 この設定は、電波モデムの閾値の設定に影響します。 .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 までの任意の数値です。デフォルトは 2304 です。 .It Fl i Ar iface Fl e Ar 0|1 WEP 暗号化を有効化または無効化します。 使用可能な値は .Ar 0 (暗号化無効) または .Ar 1 (暗号化有効) です。 暗号化はデフォルトでは無効です。 .It Fl i Ar iface Fl k Ar key "[-v 1|2|3|4]" WEP 暗号化キーを設定します。 プログラム可能な暗号化キーは、デフォルトで 4 個あります。 個々のキーは .Fl v フラグで設定可能です。 .Fl v フラグが指定されないと、最初のキーが設定されます。 暗号化キーは、通常テキスト (すなわち "hello") または一連の 16 進数 (すなわち "0x1234512345") のどちらかです。 WaveLAN Turbo Silver カードでは、キーは 40 ビットに制限されていますので、 キーは 5 文字までのテキスト文字列か 10 桁の 16 進数です。 WaveLAN Turbo Gold カードでは、キーは 128 ビットまでですので、 キーは 16 文字までのテキスト文字列か 32 桁の 16 進数です。 .Pp 注: NIC へキーをプログラムするために使用される構造体中のフィールドは、 現在 14 バイトであり、16 バイトではありません。 この方法でどうやって 128 ビットキーを gold カードへプログラム可能とするのか、私には分かりません。 .It Fl i Ar iface Fl T Ar 1|2|3|4 4 個の WEP 暗号化キーのどれを使用して転送パケットを暗号化するかを指定します。 .It Fl i Ar iface Fl r Ar RTS threshold 指定したインタフェースの RTS/CTS 閾値を設定します。 これは、RTS/CTS ハンドシェーク境界に使用するバイト数を制御します。 .Ar RTS threshold は 0 から 2047 までの任意の数値です。デフォルトは 2347 です。 .It Fl i Ar iface Fl f Ar frequency 指定したインタフェースの電波の周波数を設定します。 .Ar frequency は次の表に示すチャネル ID で指定することが必要です。 利用可能な周波数は、各地の当局によって指定される電波規制に依存します。 既知の規制元としては、 FCC (米国)、ETSI (欧州)、フランス、日本があります。 表中の周波数は Mhz です。 .Bd -filled -offset indent .Bl -column "チャネル ID " "FCC " "ETSI " "仏 " "日 " .Em "チャネル ID FCC ETSI 仏 日" -1 2412 2412 - - -2 2417 2417 - - -3 2422 2422 - - -4 2427 2427 - - -5 2432 2432 - - -6 2437 2437 - - -7 2442 2442 - - -8 2447 2447 - - -9 2452 2452 - - -10 2457 2457 2457 - -11 2462 2462 2462 - -12 - 2467 2467 - -13 - 2472 2472 - +1 2412 2412 - 2412 +2 2417 2417 - 2417 +3 2422 2422 - 2422 +4 2427 2427 - 2427 +5 2432 2432 - 2432 +6 2437 2437 - 2437 +7 2442 2442 - 2442 +8 2447 2447 - 2447 +9 2452 2452 - 2452 +10 2457 2457 2457 2457 +11 2462 2462 2462 2462 +12 - 2467 2467 2467 +13 - 2472 2472 2472 14 - - - 2484 .El .Ed .Pp 不正なチャネルを指定すると、NIC はデフォルトチャネルに戻ります。 米国および欧州で販売されている NIC では、デフォルトチャネルは 3 です。 フランスで販売されている NIC では、デフォルトチャネルは 11 です。 -日本で販売されている NIC では、利用可能なチャネルは 14 のみです。 +日本で販売されている NIC では、デフォルトチャネルは 14 です。 +これは、11Mbps 以前の NIC においては唯一利用可能なチャネルです。 2 つのステーションが通信するためには、 同一のチャネルに設定されていることが必要であることに注意してください。 .It Fl i Ar iface Fl P Ar 0|1 指定したインタフェースの電源管理を有効または無効にします。 電源管理を有効にすると、 交互にスリープ/ウェイクプロトコルを使用することにより、 モバイルステーションの省電力を助けます。 このために受信遅延がいくぶん増加します。 デフォルトでは、電源管理はオフです。 電源管理が機能するためには、 アクセスポイントとの協調が必要なことに注意してください。 アドホックモードでは動作しません。 また電源管理がサポートされているのは、 Lucent WavePOINT のバージョン 2.03 以降のファームウェア、 WaveLAN PCMCIA アダプタのバージョン 2.00 以降のファームウェアのみです。 古いリビジョンでは、電源管理の設定は黙って無視されます。 このパラメータにとって正当な値は、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 wi ドライバ内部で管理される信号強度キャッシュをクリアします。 .It Fl i Ar iface Fl C .Nm wi ドライバ内部で管理されるキャッシュされた信号強度情報を表示します。 ドライバは、他のホストから受信するパケットに関し、 信号強度とノイズレベルに関する情報を維持します。 信号強度とノイズレベルの値は dBms の単位で表示されます。 信号品質値は、信号強度からノイズレベルを減じたものです (すなわち、低ノイズで良い信号の場合、信号品質が向上します)。 .El .Sh 関連項目 .Xr wi 4 , .Xr ifconfig 8 .Sh 歴史 .Nm コマンドが最初に登場したのは .Fx 3.0 です。 .Sh 作者 .Nm コマンドは .An Bill Paul Aq wpaul@ctr.columbia.edu が記述しました。