diff --git a/ja_JP.eucJP/man/man1/catman.1 b/ja_JP.eucJP/man/man1/catman.1 index 1260566194..8ebda730fa 100644 --- a/ja_JP.eucJP/man/man1/catman.1 +++ b/ja_JP.eucJP/man/man1/catman.1 @@ -1,141 +1,141 @@ .\" Copyright (c) March 1996 Wolfram Schneider . Berlin. .\" 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. .\" .\" /usr/bin/catman - preformat man pages .\" -.\" %FreeBSD: src/gnu/usr.bin/man/catman/catman.1,v 1.17 1999/09/11 18:30:23 ache Exp % +.\" %FreeBSD: src/gnu/usr.bin/man/catman/catman.1,v 1.17.2.1 2000/09/17 20:32:46 ache Exp % .\" jpman %Id: catman.1,v 1.3 1997/04/01 14:14:59 horikawa Stab % .Dd Mar 12, 1995 .Dt CATMAN 1 .Os .Sh 名称 .Nm catman .Nd オンラインマニュアルを事前にフォーマットする .Sh 書式 .Nm catman .Op Fl f | Fl force .Op Fl h | Fl help .Op Fl L | Fl locale .Op Fl p | Fl print .Op Fl r | Fl remove .Op Fl v | Fl verbose .Op Ar directories... .Sh 解説 .Nm catman はマニュアルを ASCII 形式にフォーマットします。これは .Ar directories で全てのマニュアルについて .Sq man program とタイプするのと似ています。 .Ar directories はマニュアルの格納されているディレクトリやサブディレクトリを スペースかコロンで区切ったものです。 .Ar directories が指定されなかった場合、デフォルトとして .Ar /usr/share/man が使われます。 .Sh オプション .Bl -tag -width Ds .It Fl f , Fl force 既にある cat 形式のマニュアルへの上書きを強制します。 普通は、マニュアルが古くなったときだけ、 フォーマットしなおされるべきものです。 このオプションは時間と CPU と RAM の無駄使いです。 .It Fl h , Fl help オプションを表示して終了します。 .It Fl L , Fl locale ロケール環境変数を調査し、 ローカライズされたマニュアルサブディレクトリと 本エントリのみに使用する処理を調べます。 .It Fl p , Fl print 実際にはマニュアルのフォーマットを行わず、何を行うかのみを表示します。 .It Fl r , Fl remove 不要ファイルを削除します。例えば、 man 形式の無い cat 形式、 圧縮された cat 形式がある非圧縮の cat 形式、 英数字で構成されていないファイル名を持つファイル、 圧縮された man 形式がある非圧縮の man 形式です。 .It Fl v , Fl verbose より多くの警告を表示します。 .Sh 使用例 .Pp .Dl $ catman .Pp .Ar /usr/share/man 以下のマニュアルを、必要な分だけフォーマットします。 .Pp .Dl $ catman $MANPATH .Pp ユーザの全てのマニュアルパス以下の マニュアルを、必要な分だけフォーマットします。 .Pp .Dl $ catman -f /usr/local/man/man1 /usr/local/man/manl .Pp .Pa /usr/local/man/man1 と .Pa /usr/local/man/manl 以下のマニュアルを強制的にフォーマットしなおします。 .Pp .Dl $ catman -p /usr/X11/man .Pp 何が行われるかを表示するだけです。 .Sh 関連ファイル .Pa /etc/periodic/weekly/330.catman このプログラムを起動します .Sh 特徴 既に全てのマニュアルがフォーマットされている場合、 動作が非常に速くなります。 いくつかのシステムで採用されている .Fl w はサポートされていません。 .Ql whatis データベースを再構築するには .Xr makewhatis 1 を使って下さい。 .Sh バグ .Xr man 1 は setuid プログラムです。ユーザ .Sq man が cat 形式のマニュアルを格納するディレクトリに 対して書き込み権限を持つように注意して下さい。 .Nm catman は .Sq .so というマニュアルをチェックしません。 マニュアルの必要以上のフォーマットを避けるには ハードリンク、シンボリックリンクを使って下さい。 .Sh 関連項目 .Xr makewhatis 1 , .Xr man 1 , .Xr manpath 1 .Sh 歴史 このバージョンの .Nm catman は .Fx 2.1 から付属されました。 .Sh 作者 Wolfram Schneider .Aq wosch@FreeBSD.org , Berlin. diff --git a/ja_JP.eucJP/man/man1/ctm_rmail.1 b/ja_JP.eucJP/man/man1/ctm_rmail.1 index 822705e22d..8f7ef05344 100644 --- a/ja_JP.eucJP/man/man1/ctm_rmail.1 +++ b/ja_JP.eucJP/man/man1/ctm_rmail.1 @@ -1,498 +1,498 @@ .\" NOTICE: This is free documentation. I hope you get some use from these .\" words. In return you should think about all the nice people who sweat .\" blood to document their free software. Maybe you should write some .\" documentation and give it away. Maybe with a free program attached! .\" .\" Author: Stephen McKay .\" -.\" %FreeBSD: src/usr.sbin/ctm/ctm_rmail/ctm_rmail.1,v 1.19 2000/01/29 21:44:42 chuckr Exp % +.\" %FreeBSD: src/usr.sbin/ctm/ctm_rmail/ctm_rmail.1,v 1.19.2.1 2000/08/27 17:31:44 gshapiro Exp % .\" jpman %Id: ctm_rmail.1,v 1.3 1997/09/27 16:25:48 ryo2 Stab % .\" .Dd January 24, 1995 .Dt CTM_MAIL 1 .Os .Sh 名称 .Nm ctm_smail , .Nm ctm_dequeue , .Nm ctm_rmail .Nd メールを介しての .Nm ctm デルタの送受信 .Sh 書式 .Nm ctm_smail .Op Fl l Ar log .Op Fl m Ar maxmsgsize .Op Fl c Ar maxctmsize .Op Fl q Ar queue-dir .Ar ctm-delta .Ar mail-alias .Nm ctm_dequeue .Op Fl l Ar log .Op Fl n Ar numchunks .Ar queue-dir .Nm ctm_rmail .Op Fl Dfuv .Op Fl l Ar log .Op Fl p Ar piecedir .Op Fl d Ar deltadir .Op Fl b Ar basedir .Op Ar .Sh 解説 .Nm ctm_smail , .Nm ctm_dequeue , .Nm ctm_rmail は .Xr ctm 1 コマンドと組み合わせて、 ソースツリーへの変更を電子メールで配布するために使われます。 .Nm ctm_smail には圧縮した .Xr ctm のデルタとそれを送るメーリングリストを与えます。 するとデルタを送信できる大きさに切り分けて、メールメッセージとして エンコードしたものをメーリングリストに送ります (メールの負荷を分散させるためにキューに入れるように選択できます)。 各受信者は .Nm ctm_rmail を使い (手動または自動で) デルタのデコードと再組み立てを行い、 それをソースツリーに適用するために .Xr ctm を呼び出すようにも指定できます。 現在、 いくつかのソースツリーが、いくつかのサイトによって配布されています。 その中には .Li freefall.FreeBSD.org が配布している FreeBSD-current のソースと CVS のツリーもあります。 .Pp .Nm ctm_smail のコマンドラインの引数には以下があります: .Bl -tag -width indent .It Fl l Ar log .Em stderr に出力する代わりに、 (コマンドラインのエラー以外の) エラー診断と情報メッセージ にタイムスタンプを付けた物がファイル .Em log に書き込まれます。 .It Fl m Ar maxmsgsize .Nm ctm_smail が送信できるメールメッセージの最大サイズを制限します。 メールヘッダとその他の細かい物をこの制限に入れていないため およその値となります。 指定されないとデフォルトは、メールの限界と噂される 64k に対して ヘッダのための 1535 バイトを残した 64000 バイトです。 .It Fl c Ar maxctmsize 送信されるデルタの最大サイズを制限します。この制限より大きいデルタは 謝罪メールをメーリングリストに送り出します。 これは大幅な変更でユーザのメールボックスを圧迫してしまうのを 避けるためです。これはエンコードする前のサイズなので注意して下さい。 エンコードされるとメールヘッダを付ける前でサイズは 4/3 倍になります。 指定されないと無制限になります。 .It Fl q Ar queue-dir デルタのかけらをメールする代わりに、後で .Nm ctm_dequeue を使ってメールされるように指定されたディレクトリに格納します。 この機能によって、巨大なデルタを数時間または数日にも渡って分散させ、 ネットワークのバンド幅が狭かったりメールのスプール領域が小さい 受信者へのインパクトを押えることが可能です。 .El .Pp .Ar ctm-delta は送信されるデルタで、 .Ar mail-alias はデルタを送信するメーリングリストです。 メールメッセージは .Xr sendmail 8 を使って送信されます。 .Pp .Nm ctm_dequeue のコマンドラインの引数には以下があります: .Bl -tag -width indent .It Fl l Ar log .Em stderr に出力する代わりに、 (コマンドラインのエラー以外の) エラー診断と情報メッセージ にタイムスタンプを付けた物がファイル .Em log に書き込まれます。 .It Fl n Ar numchunks 1 回の .Nm ctm_dequeue の実行で送信するメールメッセージの数を制限します。 デフォルトでは、 .Nm ctm_dequeue は 1 回の実行で 1 つのメールメッセージを送信します。 .El .Pp .Ar queuedir は .Nm ctm_smail が格納したメールメッセージのあるディレクトリです。 .Ar numchunks 個までのメールメッセージが実行ごとに送信されます。 受信者のメーリングリストは、溜められたファイルに すでにエンコードされています。 .Pp .Nm ctm_smail がキューにエントリを追加している最中や、複数の .Nm ctm_smail を並行に実行している最中でも .Nm ctm_dequeue を安全に実行できますが、配布される各ツリーごとに独立した キューのディレクトリを使うべきです。 これはエントリがアルファベット順に処理されるので、デルタの 作成時刻ではなく、デルタ名に従って 1 つのツリーが他の物より 前に処理されて不公平になるからです。 .Pp .Nm ctm_rmail のコマンドラインの引数には以下があります: .Bl -tag -width indent .It Fl l Ar log .Em stderr に出力する代わりに、 (コマンドラインのエラー以外の) エラー診断と情報メッセージ にタイムスタンプを付けた物がファイル .Em log に書き込まれます。 .It Fl p Ar piecedir デルタのかけらをこのディレクトリに集めます。 それぞれのかけらは 1 つのメールメッセージに対応します。 かけらは完全なデルタが出来上がると削除されます。 もし このフラグが指定されないと、入力ファイルは読まれませんが、 .Fl b フラグが指定されていれば完成しているデルタは .Xr ctm を使って適用されるかもしれません。 .It Fl d Ar deltadir このディレクトリ内の完成したデルタを集めます。デルタは、すべてのかけらが 揃っている時に 1 つ以上のかけらから組み立てられます。 .It Fl b Ar basedir 完成しているデルタを このソースツリーに適用します。このフラグが 指定されていない場合、デルタは格納されますが適用はされません。 ユーザは手動、または .Nm ctm_rmail を .Fl p フラグ無しで使ってデルタを適用できます。 もしデルタが .Ar basedir の .Li .ctm_status ファイルとマッチしない場合 (もしくは .Li .ctm_status が存在しない場合) には、デルタは適用されません。 .It Fl D .Xr ctm による適用が成功した後でデルタを削除します。 .Xr ctm はデルタのフルセットからファイルの小グループを回復する機能を 持つので、このフラグを避けて (そしてすべてのデルタを取って) おくのが 良いでしょう。 .It Fl f fork して .Xr ctm でのデルタの適用をバックグラウンドで実行します。 これは .Xr sendmail から .Nm ctm_rmail を自動的に呼び出す場合に有効です。なぜなら .Xr ctm は終了までに、とても長い時間を要し、それによって他の人のメールを 遅らせる原因になり、理論的にはリモート側の .Xr sendmail のタイムアウトによるメールの不要な再送信や、 .Xr "MH" の .Xr slocal のようなメールフィルタによる .Nm ctm_rmail の強制終了を引き起こす可能性があるからです。 膨大な数のバックグラウンドの .Xr ctm プロセスでマシンに負荷がかかる心配はありません。同時に 2 つ以上の .Xr ctm が起動されないようにロックが行われているからです。 .It Fl u 完成したデルタを適用する時に .Fl u フラグを .Xr ctm コマンドに渡します。これによって作成、変更されたファイルの 変更時刻が CTM デルタの作成時刻にセットされます。 .It Fl v 完成したデルタを適用する時に .Fl v フラグを .Xr ctm コマンドに渡します。これによってより多くの情報出力が得られます。 すべての .Xr ctm からの出力は .Nm ctm_rmail のログファイルに記録されます。 .El .Pp 引数のファイル (もし無ければ .Em 標準入力 ) がデルタのかけらとしてスキャンされます。 1 つのファイルから複数のデルタのかけらを読む事ができるので、 メールドロップ全体を 1 回のコマンドでスキャンして処理できます。 .Pp .Nm ctm_rmail を並行に (異なる入力ファイルで) 複数回起動しても安全です。 .Xr sendmail .nh がメールを非同期に配送した時にこのようなことが起こり得ます。 これは処理を順序通りに保つためにロックが行われているからです。 .Sh ファイルフォーマット 以下は実際の (とても小さい) デルタのかけらの重要部分です: .Bd -literal From: owner-src-cur To: src-cur Subject: ctm-mail src-cur.0003.gz 1/4 CTM_MAIL BEGIN src-cur.0003.gz 1 4 H4sIAAAAAAACA3VU72/bNhD9bP0VByQoEiyRSZEUSQP9kKTeYCR2gDTdsGFAwB/HRogtG5K8NCj6 v4+UZSdtUQh6Rz0eee/xaF/dzx8up3/MFlDkBNrGnbttAwyo1pxoRgoiBNX/QJ5d3c9/X8DcPGGo lggkPiXngE4W1gUjKPJCYyk5MZRbIqmNW/ASglIFcdwIzTUxaAqhnCPcBqloKEkJVNDMF0Azk+Bo dDzzk0Ods/+A5gXv9YyJHjMCtJwQNeESNma7hOmXDRxn CTM_MAIL END 61065 .Ed .Pp メッセージのサブジェクトは常に .Dq ctm-mail で始まりデルタの名前、いくつ目のかけらか、そして全部でいくつの かけらがあるのかが続きます。データは .Dq CTM_MAIL BEGIN と .Dq CTM_MAIL END という行で囲まれており、サブジェクト行の情報の複製、加えて単純な チェックサムが付きます。 .Pp デルタが .Ar maxctmsize を超えると、代わりに以下のようなメッセージが送られます: .Bd -literal From: owner-src-cur To: src-cur Subject: ctm-notice src-cur.0999.gz src-cur.0999.gz is 792843 bytes. The limit is 300000 bytes. このデルタは ftpmail か、または大学の仲良しから得られます。 .Ed .Pp これでもうあなたのものです! .Sh 使用例 .Em src-cur の 32 番目のデルタを .Em src-guys として .Xr sendmail に登録されている素晴らしいコードハッカーのグループに、 メールのサイズをおよそ 60000 バイトに制限して送るためには 以下のように出来ます: .Bd -literal -offset indent ctm_smail -m 60000 /wherever/it/is/src-cur.0032.gz src-guys .Ed .Pp メールボックスの各 .Nm ctm-mail メッセージをデコードして、それらを完全なデルタに組み立て、そして 出来上がったデルタやそこらに転がっているデルタはどれも、 以下のように適用出来ます: .Bd -literal -offset indent ctm_rmail -p ~/pieces -d ~/deltas -b /usr/ctm-src-cur $MAIL .Ed .Pp ( .Nm ctm_rmail はメッセージを削除しないので注意して下さい。 削除には どんなメールリーダでも使用できます。) .Pp .Em receiver-dude という名前の自動的にデコードとデルタの組み立てを行うけれども、 それらの適用は行わないようなメールエイリアスは、以下の行を -.Pa /etc/aliases +.Pa /etc/mail/aliases ファイルに入れる事で作成可能です ( .Pa /ctm/tmp と .Pa /ctm/deltas ディレクトリ そして .Pa /ctm/log ファイルが .Em daemon ユーザか .Em wheel グループで書き込み可能な事を仮定しています) : .Bd -literal -offset indent receiver-dude: "|ctm_rmail -p /ctm/tmp -d /ctm/deltas -l /ctm/log" owner-receiver-dude: real_dude@wherever.you.like .Ed .Pp 2 行目は、失敗した場合にそれを通常のメールボックスか、または どこか好きな所へ転送するためにあります。 .Pp 集められた全デルタを適用して、適用したものを削除するには以下のように します: .Bd -literal -offset indent ctm_rmail -D -d /ctm/deltas -b /ctm/src-cur -l /ctm/apply.log .Ed .Pp 柔軟性を最大限生かすためには、この .Xr procmail スクリプトからの引用の利用を考えてみて下さい: .Bd -literal -offset indent PATH=$HOME/bin:$PATH :0 w * ^Subject: ctm-mail cvs-cur | ctm_incoming .Ed .Pp 以下のシェルスクリプト .Pa ~/bin/ctm_incoming と一緒に使います: .Bd -literal -offset indent #! /bin/sh PATH="$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin" export PATH cd $HOME/ctm && ctm_rmail -f -p pieces -d deltas -l log -b /ctm .Ed .Pp これは全部の .Xr ctm デルタを .Pa ~/ctm/deltas に置き、それらを .Pa /ctm 内のツリーに適用し、失敗したものは、すべてあなたの通常の メールボックスに落します。 .Pa ctm_incoming での .Ev PATH の操作は、このサンプルを取って来た (FreeBSD でない) マシンで .Nm ctm_rmail から .Xr ctm の実行を可能にするためのものです。 .Sh セキュリティ .Pp CTM 自身、 安全ではないプロトコルです - ソースコードへ加えられた修正が信頼できるところから送られたことを 認証しませんので、 通常の電子メール等の信頼できない媒体から CTM デルタを得た場合には注意が必要です。 CTM デルタを偽造して、正当なものを交換または上書きし、 悪意あるコードをあなたのソースツリーに挿入することは、 攻撃者にとって比較的簡単です。 正当なデルタの到着がなんらかの方法で妨げられた場合、 これを感知できるのは、後のデルタが同じファイルを触ろうとする時点です。 この時点で、MD チェックサムが失敗します。 .Pp これを回避して安全なものにするために、 freebsd.org が作った CTM 部品には、 GNU Privacy Guard ユーティリティ互換なフォーマットで暗号的に署名しています。 このユーティリティは /usr/ports/security/gpg および Pretty Good Privacy v5 ユーティリティ /usr/ports/security/pgp5 から入手できます。 適切な公開鍵は ctm@freebsd.org を finger することで得られます。 .Pp このように署名された CTM デルタは、 検知されることなく攻撃者が改変することはできません。 それゆえ、CTM デルタを電子メールで受信する場合には、 GPG または PGP5 を使用して署名を確認することを勧めます。 .\" This next request is for sections 1, 6, 7 & 8 only .Sh 環境変数 デルタを適用するのならば .Xr ctm 1 と .Xr gunzip 1 が .Ev PATH に含まれていなければなりません。 .Sh 関連ファイル .Bl -tag -width indent .It Pa QUEUEDIR/* メールメッセージとしてエンコードされて、メーリングリストに 送信されるのを待っているデルタのかけら。 .It Pa PIECEDIR/* 残りのかけらの到着を待っているデルタのかけら。 .It Pa DELTADIR/* 完成したデルタ。 .It Pa BASEDIR/.ctm_status このソースツリーに次に適用されるべきデルタの名前と番号を含むファイル。 .\" This next request is for sections 1, 6, 7 & 8 only .\" (command return values (to shell) and fprintf/stderr type diagnostics) .Sh 診断 .Nm ctm_smail , .Nm ctm_dequeue , .Nm ctm_rmail は正常に終了するとステータスとして 0 を、何らかの障害が あった場合は 1 を返します。 .Nm ctm_rmail は、メールの配送プログラムから呼ばれる事を想定しています。そして そのため入力されたメールメッセージが (送信者にではなく、 なるべく あなたの通常のメールドロップに) 返送されるべき状態に なった時にのみ障害を通知するようになっています。 いいかえれば、完成したデルタを .Xr ctm で適用する際に発生した障害はメールを返送する程に重要なエラーでは ないと判断されて、 .Nm ctm_rmail は終了ステータスとして 0 を返すということです。 .Pp 通常の操作では、 .Nm ctm_smail は以下のようなメッセージで報告します: .Bd -literal -offset indent ctm_smail: src-cur.0250.gz 1/2 sent to src-guys .Ed .Pp または、キューに入れたなら、 .Bd -literal -offset indent ctm_smail: src-cur.0250.gz 1/2 queued for src-guys .Ed .Pp .Nm ctm_dequeue は以下のようなメッセージで報告します: .Bd -literal -offset indent ctm_dequeue: src-cur.0250.gz 1/2 sent .Ed .Pp .Nm ctm_rmail は以下のようなメッセージで報告します: .Bd -literal -offset indent ctm_rmail: src-cur.0250.gz 1/2 stored ctm_rmail: src-cur.0250.gz 2/2 stored ctm_rmail: src-cur.0250.gz complete .Ed .Pp もし入力ファイルのいずれもが正しいデルタのかけらを含んでいないと、 .Nm ctm_rmail は以下のように報告します: .Bd -literal -offset indent ctm_rmail: message contains no delta .Ed .sp \n(Ppu そして終了ステータスとして 1 を返します。もしメールフィルタが 当てにならないのなら、これを使って気まぐれなメッセージを リダイレクトして本当のメールボックスに入れる事ができます。 .Pp これらのメッセージは .Em stderr かログファイルに出力されます。 .Xr ctm からのメッセージも同様にここに現れます。 エラーメッセージは それ自身が説明的であるべきです。 .Sh 関連項目 .Xr ctm 1 , .Xr ctm 5 .\" .Sh HISTORY .Sh 作者 Stephen McKay .Sh 日本語訳 野首 寛高 (h-nokubi@nmit.mt.nec.co.jp): FreeBSD 用に翻訳 diff --git a/ja_JP.eucJP/man/man1/finger.1 b/ja_JP.eucJP/man/man1/finger.1 index 8c1bfeed6a..6759456fce 100644 --- a/ja_JP.eucJP/man/man1/finger.1 +++ b/ja_JP.eucJP/man/man1/finger.1 @@ -1,219 +1,232 @@ .\" Copyright (c) 1989, 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. .\" .\" @(#)finger.1 8.3 (Berkeley) 5/5/94 -.\" %FreeBSD: src/usr.bin/finger/finger.1,v 1.9 2000/03/01 12:19:40 sheldonh Exp % +.\" %FreeBSD: src/usr.bin/finger/finger.1,v 1.9.2.2 2000/09/01 20:14:16 brian Exp % .\" jpman %Id: finger.1,v 1.2 1997/04/07 05:53:49 mutoh Stab % .\" .Dd August 1, 1997 .Dt FINGER 1 .Os BSD 4 .Sh 名称 .Nm finger .Nd ユーザ情報を調べるプログラム .Sh 書式 .Nm finger .Op Fl lmpshoT .Op Ar user ... .Op Ar user@host ... .Sh 解説 .Nm finger はシステムのユーザに関する情報を表示します。 .Pp オプションは以下の通りです: .Bl -tag -width flag .It Fl s .Nm finger はユーザのログイン名、本名、端末名、端末への書き込み 状態(書き込みが不可の場合は、端末名の前に``*''が付きます)、 アイドル時間、ログイン時間、また、オフィスの所在地と電話番号もしくは リモートホスト名を表示します。もし .Fl h が指定されていた場合(デフォルト)は、リモートホスト名が表示 されます。また、 .Fl o が指定されていた場合は、オフィスの所在地と電話番号が リモートホスト名の代わりに表示されます。 .Pp アイドル時間の単位は、数字だけの場合は 何分か、``:''がある場合は何時間何分か、``d''がある場合は何日か、です。 ログイン時間は、6日以内の場合は何曜日の何時何分からか、それ以上の 場合は何月何日の何時何分からかが表示されます。もし6ヶ月を超えて いる場合は、何年何月何日からかが表示されます。 .Pp アイドル時間やログイン時間がない場合と同様に、 不明なデバイスは一つのアスタリスクとして表示されます。 .Pp .It Fl h .Fl s オプションと共に指定されたとき、オフィスの所在地と電話番号の代わりに リモートホスト名を表示します。 .Pp .It Fl o .Fl s オプションと共に指定されたとき、リモートホスト名の代わりに オフィスの所在地と電話番号を表示します。 .Pp .It Fl l ユーザのホームディレクトリ、自宅の電話番号、ログインシェル、 メールの状態、そしてユーザのホームディレクトリの .Dq Pa .forward 、 .Dq Pa .plan および .Dq Pa .project の内容に加えて、 .Fl s オプションの解説で述べた情報全てが複数行にわたる形式で出力されます。 .Pp アイドル時間は1分以上1日以内の場合は、``hh:mm''の形式と なります。1日よりも大きいときには、``d day[s]hh:mm''の 形式となります。 .Pp 電話番号は、11桁の場合には``+N-NNN-NNN-NNNN''と表示 されます。10桁もしくは7桁の場合には、上の文字列の適切な 部分として表示されます。5桁の場合は``xN-NNNN''、4桁の 場合は``xNNNN''と表示されます。 .Pp デバイスの書き込み許可がない場合、デバイス名を含む 行に``(messages off)''という語句が追加されます。 .Fl l オプションを指定すると、1人のユーザにつき1つの項目が表示されます。 もしあるユーザが複数回ログインしている場合には、端末の情報は その各ログインについて表示されます。 .Pp メールの状態は、全くメールがない場合には``No Mail.''、その人が自分の メールボックスに届いた新着メールを全て読んでいた場合 には``Mail last read DDD MMM ## HH:MM YYYY (TZ)''、その人あての新着 メールがあれば``New mail received ...''や``Unread since ...''の ように表示されます。 .Pp .It Fl p オプションは、 .Nm finger の .Fl l オプションが、 .Dq Pa .forward 、 .Dq Pa .plan および .Dq Pa .project のファイルの内容を表示するのを抑制します。 .It Fl m ユーザの本名と .Ar user とが名前の比較で一致しないようにします。 .Ar user は、たいていはログイン名なのですが、 .Fl m オプションを指定しない限り、ユーザの本名との比較もまた行われてしまいます。 .Nm finger によって比較される名前は、大文字小文字を区別しません。 .Pp .It Fl T T/TCP の使用を行いません( .Xr ttcp 4 を参照してください)。 このオプションは,いい加減な TCP の実装が行われている ホストに finger を行う時に必要です。 .El .Pp オプションが指定されなかった場合は、 .Nm finger は、対象が与えられた場合は .Fl l の出力形式、与えられなかった場合は .Fl s の出力形式をデフォルトの形式とします。 どちらの形式であったとしても、情報が有効でなかった場合には、その フィールドは欠けているかもしれないことに注意してください。 .Pp 引数が全く指定されていない場合は、 .Nm finger は、現在システムにログインしている各ユーザについての情報を表示します。 .Pp .Nm finger は、リモートマシン上のユーザを調べることにも利用できます。 これには、 .Ar user として .Dq Li user@host もしくは .Dq Li @host と指定する形式を使います。デフォルトでは、前者は .Fl l 形式の出力、後者は .Fl s 形式の出力となります。 .Fl l オプションは、リモートマシンに渡される唯一のオプションかも知れません。 .Pp もし、ユーザのホームディレクトリに .Dq Pa .nofinger というファイルが存在した場合、 .Nm finger は、そのユーザが存在していないかのように振る舞います。 +.Pp +オプションの +.Xr finger.conf 5 +設定ファイルを使用して、別名を指定可能です。 +.Xr finger 1 +は +.Xr fingerd 8 +が起動しますので、 +ローカルの問い合わせとネットワークの問い合わせの両方で有効です。 .Sh 環境変数 .Nm finger は、もし設定されていれば、以下の環境変数を利用します: .Bl -tag -width Fl .It Ev FINGER .Nm finger に好みのオプションがあれば、この環境変数に設定しておくとよいでしょう。 .El .Sh 関連ファイル .Bl -tag -width /var/log/lastlog -compact +.It Pa /etc/finger.conf +別名定義のデータベース .It Pa /var/log/lastlog 最後にログインした時間のデータベース .El .Sh 関連項目 .Xr chpass 1 , .Xr w 1 , .Xr who 1 , -.Xr ttcp 4 . +.Xr ttcp 4 , +.Xr finger.conf 5 , +.Xr fingerd 8 . .Rs .%A D. Zimmerman .%T The Finger User Information Protocol .%R RFC 1288 .%D December, 1991 .Re .Sh 歴史 .Nm finger コマンドは、 .Bx 3.0 で登場しました。 .Sh バグ 現在の FINGER プロトコルの RFC では、 サーバが接続を閉じるまでクライアントはフルに接続をオープンする必要があります。 これでは、最適な 3 パケット T/TCP 交換を妨げてしまいます。 (この仕様に依存するサーバは壊れていますが、 広いインターネットにはこのようなサーバが存在します。) diff --git a/ja_JP.eucJP/man/man1/killall.1 b/ja_JP.eucJP/man/man1/killall.1 index fabb32502d..2ebb6ca9c7 100644 --- a/ja_JP.eucJP/man/man1/killall.1 +++ b/ja_JP.eucJP/man/man1/killall.1 @@ -1,141 +1,154 @@ .\" Copyright (C) 1995 by Joerg Wunsch, Dresden .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS .\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING .\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.bin/killall/killall.1,v 1.11 1999/08/28 01:02:31 peter Exp % +.\" %FreeBSD: src/usr.bin/killall/killall.1,v 1.11.2.1 2000/09/09 23:58:19 ps Exp % .\" jpman %Id: killall.1,v 1.3 1997/07/22 18:03:26 horikawa Stab % .\" .Dd June 25, 1995 .Os FreeBSD 2.2 .Dt KILLALL 1 .Sh 名称 .Nm killall .Nd 名前で指定されるプロセスにシグナルを送る .\"(訳注)原文では、 kill processes by name であるが、機能から考えて .\" "プロセスにシグナルを送る"と訳した。 .\" 2.2.1R 対象(1997/04/13) Takeshi MUTOH .Sh 書式 .Nm killall .Op Fl d \&| Ns Fl v .Op Fl h \&| Ns Fl \&? .Op Fl help .Op Fl l .Op Fl m .Op Fl s +.Op Fl u Ar user +.Op Fl t Ar tty +.Op Fl c Ar procname .Op Fl SIGNAL -.Ar procname ... +.Op Ar procname ... .Sh 解説 .Nm killall は、 .Xr kill 1 がプロセス id で指定されるプロセスにシグナルを送るのに対して、 名前で指定されるプロセスにシグナルをおくります。 デフォルトでは、 .Dv TERM シグナルを、 .Nm 実行者と同じ実効 UID を持つ、 .Ar procname に名前が一致する全てのプロセスに送ります。 スーパユーザはどんなプロセスにたいしてもシグナルを送ることができます。 .Pp 以下のようなオプションがあります。 .Bl -tag -width 10n -offset indent .It Fl d \&| Ns Fl v これから、行おうとすることをより冗長に報告します。一つの .Fl d オプションによって、シグナルを送ろうとするプロセスの一覧が表示されるか、 一つも一致するプロセスが見付からなかったことが示されます。 -.Fl d -オプションが少なくとも 2 回指定された時は、 -.Xr procfs 5 -で見付かった全てのプロセスの実効 UID, PID とプロセスの名前が更に -付け加えて表示されます。 .It Fl h \&| Ns Fl \&? .It Fl help コマンドの使い方のヘルプを表示し、終了します。 .It Fl l .Xr kill 1 の様に利用可能なシグナルの名前の一覧を表示し、終了します。 .It Fl m 引数 .Ar procname を ( 大文字小文字を区別しない ) 正規表現として、 -.Xr procfs 5 -から得られた名前に対して対応を取ります。 +得られた名前に対して対応を取ります。 注意! 一つのドット (.) は、呼び出しユーザと同一の実効 UID を持つ 全てのプロセスに一致し、 -危険です。正規表現の文法は -.Xr perl 1 -で使っているものと同じです。 +危険です。 .It Fl s 何が行われるのかだけを表示し、シグナルは送られません。 .It Fl SIGNAL デフォルトの .Dv TERM とは違うシグナルを送ります。シグナルは、 (頭に .Dv SIG を付けても付けなくても良い) 名前もしくは数字で指定します。 +.It Fl u Ar user +潜在的に対応するプロセスを、指定した +.Ar user +に属するものに限定します。 +.It Fl c Ar tty +潜在的に対応するプロセスを、指定した +.Ar tty +で動作するものに限定します。 +.It Fl c Ar procname +.Fl u +または +.Fl t +のフラグと共に使用されたとき、潜在的に対応するプロセスを、指定した +.Ar progname +に限定します。 .El - .Sh 全てのプロセス uid が .Nm XYZ である全てのプロセスに対してシグナルを送る動作は、 .Xr kill 1 で既にサポートされています。したがって、このような仕事を行うためには .Xr kill 1 を使ってください(たとえば、 $ kill -TERM -1 もしくは、 root になって、 $ echo kill -TERM -1 |su -m で可能です。)。 - - .Sh 診断 .Nm コマンドは、コマンドエラーが起こった場合は、短い利用法のメッセージを 表示し、終了状態 2 で終了します。 終了状態 1 は、一致するプロセスが見付からなかった時か、全ての プロセスに対してシグナルを送ることに成功しなかった時に返されます。 それ以外の場合は、終了状態 0 が返されます。 .Pp 診断メッセージは、 .Fl d オプションで要求された場合だけ表示されます。 .Sh 関連項目 .Xr kill 1 , -.Xr procfs 5 +.Xr sysctl 3 .Sh 歴史 .Nm コマンドは .Fx 2.1 から導入されました。 .Nm コマンドは他のプラットホームでも利用可能なように設計されています。 .Sh 作者 -このプログラムは、 +.Nm +プログラムは、 .An Wolfram Schneider によって提供されました。 このマニュアルページは .if n Joerg Wunsch. .if t J\(:org Wunsch によって書かれました。 +現在のバージョンの +.Nm +は、Peter Wemm が +.Xr sysctl 3 +を使った C で書き直しました。 diff --git a/ja_JP.eucJP/man/man1/ln.1 b/ja_JP.eucJP/man/man1/ln.1 index 13ca7e2e95..098310a2bd 100644 --- a/ja_JP.eucJP/man/man1/ln.1 +++ b/ja_JP.eucJP/man/man1/ln.1 @@ -1,157 +1,179 @@ .\" 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. .\" .\" @(#)ln.1 8.2 (Berkeley) 12/30/93 -.\" %FreeBSD: src/bin/ln/ln.1,v 1.11 1999/12/21 08:57:58 sheldonh Exp % +.\" %FreeBSD: src/bin/ln/ln.1,v 1.11.2.1 2000/09/18 02:07:11 jkh Exp % .\" jpman %Id: ln.1,v 1.2 1997/04/15 00:24:41 mutoh Stab % .\" .Dd December 30, 1993 .Dt LN 1 .Os BSD 4 .Sh 名称 .Nm ln , .Nm link .Nd リンクファイルの作成 .Sh 書式 .Nm ln -.Op Fl fsv +.Op Fl fisv .Ar source_file .Op target_file .Nm ln -.Op Fl fsv +.Op Fl fisv .Ar source_file ... .Op target_dir .Nm link .Ar source_file Ar target_file .Sh 解説 .Nm は新しいディレクトリエントリ (リンクファイル) を作成するユーティリティです。 リンクファイルのモードはオリジナルファイルと同じになります。 リンクファイルは .Dq ファイルの内容のコピー ではなく、 .Dq ファイルを指し示すポインタ であり、1 つのオリジナル ファイルを多くのディレクトリで取り扱えるようにするのに有効です。 リンクファイルには、ハードリンクとシンボリックリンクの 2 つの形式があり ます。違いは、リンクの方法です。 .Pp オプションとしては以下のものがあります。 .Bl -tag -width flag .It Fl f -リンクが成功するように、target_file を削除してから -source_file を target_file にリンクします。 +target_file が既に存在する場合、 +リンクが成功するように、これをアンリンクします。 +( +.Fl f +オプションが指定されると、それ以前の +.Fl i +オプションは無視されます。) +.It Fl i +すでに target_file が存在する場合、 +.Nm +に標準エラー出力を使用して確認を求めさせます。 +標準入力から +.Sq Li y +または +.Sq Li Y +で始まる文字列が入力されると、target_file が既に存在する場合、 +リンクが成功するように、これをアンリンクします。 +( +.Fl i +オプションが指定されると、それ以前の +.Fl f +オプションは無視されます。) .It Fl s シンボリックリンクを作成します。 .It Fl v .Nm を冗長にし、処理するファイルを表示します。 .El .Pp デフォルトでは、 .Nm は .Em ハードリンク を作成します。 ファイルへのハードリンクはオリジナルのディレクトリエントリと区別できません。 ファイルの参照に使われる名前にかかわらず、 そのファイルへのいかなる修正も同じように有効です。 通常、ハードリンクはディレクトリを指すことはできませんし、 ファイルシステムを拡張することもできません。 .Pp シンボリックリンクはリンク先ファイルの名前を保持します。 リンクに対して .Xr open 2 操作を行うと、その参照先ファイルが用いられます。 シンボリックリンクに対して .Xr stat 2 操作を行うと、参照先ファイルの情報を返します。 リンクそのものの情報を得るには .Xr lstat 2 を用いなければなりません。 .Xr readlink 2 呼び出しによってシンボリックリンクの内容を読むこともできます。 シンボリックリンクによってファイルシステムを拡張したり、 ディレクトリを参照したりすることが可能です。 .Pp 1 個あるいは 2 個の引数が与えられた場合、 .Nm は既存のファイル .Ar source_file に対するリンクを作成します。 .Ar target_file が指定された場合、リンクの名前はそれと同一になります。 .Ar target_file はリンクファイルを置くディレクトリであっても構いません。 それ以外の場合はリンクはカレントディレクトリに置かれます。 ディレクトリ名だけが指定された場合は、 .Ar source_file のパス名の最後のファイル名が指定されたものとみなします。 .Pp 2 個以上の引数が与えられた場合、 .Nm はディレクトリ .Ar target_file 内に指定された全てのファイルのリンクを作成します。作られるリンクの 名前は、リンクされるファイルの名前と同じになります。 .Pp 本ユーティリティを .Nm link として呼び出す場合、正確に 2 個の引数が必要であり、 どちらもディレクトリであってはなりません。 この単純モードでは、オプションは指定不可であり、渡された 2 個の引数を使用して .Xr link 2 の動作を行います。 .Pp .Sh 関連項目 .Xr link 2 , .Xr lstat 2 , .Xr readlink 2 , .Xr stat 2 , .Xr symlink 2 , .Xr symlink 7 .Sh 互換性 +.Fl i +と .Fl v は標準ではありませんし、スクリプト中での使用はお勧めしません。 単純化された .Nm link は .St -susv2 準拠です。 .Sh 歴史 .Nm ln コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/mail.1 b/ja_JP.eucJP/man/man1/mail.1 index fcacb69047..70a8dbaca5 100644 --- a/ja_JP.eucJP/man/man1/mail.1 +++ b/ja_JP.eucJP/man/man1/mail.1 @@ -1,1018 +1,1018 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mail.1 8.2 (Berkeley) 12/30/93 -.\" %FreeBSD: src/usr.bin/mail/mail.1,v 1.18 2000/03/01 12:19:51 sheldonh Exp % +.\" %FreeBSD: src/usr.bin/mail/mail.1,v 1.18.2.1 2000/08/27 17:31:43 gshapiro Exp % .\" jpman %Id: mail.1,v 1.3 1997/10/30 01:42:49 h-nokubi Stab % .\" .Dd December 30, 1993 .Dt MAIL 1 .Os BSD 4 .Sh 名称 .Nm mail .Nd メールの送信と受信 .Sh 書式 .Nm mail .Op Fl iInv .Op Fl s Ar subject .Op Fl c Ar cc-addr .Op Fl b Ar bcc-addr .Ar to-addr ... .Op \&- Ar sendmail-option ... .Nm mail .Op Fl iInNv .Fl f .Op Ar name .Nm mail .Op Fl iInNv .Op Fl u Ar user .Sh 紹介 .Nm mail はインテリジェントなメール処理システムです。 コマンド文法は .Xr \&ed 1 に似ており、 .Xr \&ed 1 での行の代わりにメッセージを扱う形になっています。 .Pp .Bl -tag -width flag .It Fl v 冗長 (verbose) モードです。 メールの配送の詳細がユーザのターミナルに表示されます。 .It Fl i tty の割り込みシグナルを無視します。 これは特に雑音の多い電話回線を通して .Nm mail を使う場合に役に立ちます。 .It Fl I 入力がターミナルでない場合にでも強制的に mail を対話モードで実行します。 特にメールを送る時の特殊文字 .Sq Ic \&~ は対話モードでのみ有効となります。 .It Fl n 起動時にシステム全体の .Pa mail.rc ファイルを読み込みません。 .It Fl N メールを読んだりメールフォルダを編集する時に、最初のメッセージヘッダの 表示を行いません。 .It Fl s コマンドラインからサブジェクトを指定します ( .Fl s フラグの後の最初の引数だけがサブジェクトとして使われます。空白を含む サブジェクトは引用符で囲むように注意して下さい。) .It Fl c カーボンコピーをユーザの .Ar list へ送ります。 .It Fl b ブラインドカーボンコピーを .Ar list へ送ります。 .Ar list はコンマで区切られた名前のリストとなります。 .It Fl f あなたの .Ar mbox (もしくは指定されたファイル) の内容を処理対象として読み込みます。 .Ar quit した時には .Nm mail は削除されなかったメッセージをこのファイルに書き戻します。 .It Fl u これは以下と等価です。 .Pp .Dl mail -f /var/mail/user .El .Ss 起動時の動作 .Nm は、起動時に、システムのコマンドファイル .Pa /usr/share/misc/mail.rc , .Pa /usr/local/etc/mail.rc , .Pa /etc/mail.rc をこの順番に実行します。ただし、 .Fl n オプションを使用して、実行しないよう明示的に指定された場合は例外です。 次に、ユーザの個人的なコマンドファイル .Pa ~/.mailrc を実行します。その後 .Nm はコマンドラインオプションを検査し、 新規メッセージを送るのか既存のメールボックスを読むのかを決定します。 .Ss メールを送る メッセージを 1 人かそれ以上の人に送るために .Nm mail をメールが送られる相手の名前を引数として起動することができます。 メッセージをタイプした後、行の先頭で .Sq Li control\-D を入力します。 下記の .Ar 「メールにリプライしたり、メールを始める」 のセクションでは手紙を編集する際に役に立つ .Nm mail の機能について説明しています。 .Pp .Ss メールを読む 通常の使い方では .Nm mail は引数を指定しないで起動すると、ポストオフィスのメールをチェックし、見 つかった各メッセージにつき 1 行ずつヘッダを表示します。 現在のメッセージは初期状態では最初のメッセージ ( 1 番に番号が振られて います) となっており、 .Ic print コマンド (省略形 .Ic p を使うことができます) によって表示することができます。 メッセージの位置を .Xr \&ed 1 と同様に .Ql Ic \&+ と .Ql Ic \&\- のコマンドを使って後や前に移動したり、単に数字を指定して移動したりする ことができます。 .Pp .Ss メールを廃棄する メッセージをチェックした後、メッセージを .Ic delete コマンド .Pq Ic d で削除したり、それに .Ic reply コマンド .Pq Ic r でリプライ (返事を出す) したりすることができます。 メッセージを削除すると .Nm mail プログラムはそのメッセージのことを忘れますが、 この操作は取り消すことができます。 メッセージは .Ic undeleted コマンド .Pq Ic u を使ってメッセージの番号を指定するか、 .Nm mail のセッションを .Ic exit コマンド .Pq Ic x で中途終了することによって削除をとりやめることができます。 しかし、削除されたメッセージは通常はなくなり二度と見ることはできませ ん。 .Pp .Ss メッセージを指定する .Ic print や .Ic delete のようなコマンドは、引数に複数のメッセージの番号を指定することによって 複数のメッセージに対して一度に適用することができます。 たとえば .Dq Li delete 1 2 はメッセージ 1 と 2 を削除し、 .Dq Li delete 1\-5 は 1 から 5 のメッセージを削除します。 特別な名前 .Ql Li \&* は全てのメッセージを意味し、 .Ql Li \&$ は最後のメッセージを意味します。 メッセージの最初の数行を表示するコマンド .Ic top を使って .Dq Li top \&* で全てのメッセージの最初の数行を表示することができます。 .Pp .Ss メールにリプライしたり、メールを始める .Ic reply コマンドを使ってメッセージに対する返事を用意して、それをメッセージの差 出人に送り返すことができます。 タイプインしたメッセージは end-of-file までがメッセージの内容として定 義されます。 メッセージを編集している時に .Nm mail は 文字 .Ql Ic \&~ で始まる行を特別に扱います。 例えば、 .Ql Ic \&~m とタイプする (行にこれだけタイプします) と現在のメッセージを タブの分 (下記の変数 .Em indentprefix を参照) だけ右にシフトして返事のメッセージにコピーします。 他のエスケープはサブジェクトの設定や、メッセージの受取人の追加や削除を 行なったり、またメッセージを修正するためにエディタを起動したり、コマン ドを実行するためにシェルを起動したりします。 (下にこれらのオプションの要約があります。) .Pp .Ss メールの処理セッションを終了する .Nm mail セッションは .Ic quit コマンド .Pq Ic q で終了することができます。 チェックされたメッセージは削除されていなければ .Ar mbox ファイルにセーブされます。削除されている場合は本当に廃棄されます。 チェックされていないメッセージはポストオフィスに書き戻されます (上記の .Fl f オプション参照)。 .Pp .Ss 個人の配布リストとシステム全体の配布リスト たとえば .Dq Li cohorts へメールを送ると複数の人に配布されるように、個人の配布リストを作成する こともできます。 このようなリストは .Pp .Dl alias cohorts bill ozalp jkf mark kridle@ucbcory .Pp というような行をホームディレクトリの .Pa \&.mailrc ファイルに書いておくことによって定義できます。 このようなエイリアス (別名) の現在のリストは .Nm mail 内で .Ic alias コマンドを使って表示することができます。 システム全体にわたる配布リストは -.Pa /etc/aliases +.Pa /etc/mail/aliases を編集することによって作成することができます。 これについては .Xr aliases 5 と .Xr sendmail 8 を参照してください。これらでは違った形式で記述されます。 あなたが送ったメールの中では個人のエイリアスが展開され、そのメールの受取 人が他の受取人に .Ic reply できるようになります。 システム全体の .Ic aliases はメールが送られた時には展開されませんが、 そのマシンに返信されたメールは .Xr sendmail によって処理される際にシステム全体のエイリアスで展開されます。 .Pp .Ss ネットワークメール (ARPA, UUCP, Berknet) ネットワークアドレスの説明については .Xr mailaddr 7 を参照してください。 .Pp .Nm mail には .Pa .mailrc ファイルの中でセットして動作方法を変更するためのオプションがたくさんあ ります。 たとえば .Dq Li set askcc は .Ar askcc 機能を有効にします。 (これらのオプションについては下にまとめてあります。) .Sh 要約 (`Mail Reference Manual' より抜粋) .Pp 各コマンドは行中に単独入力されるか、またコマンドの後に引数をとることも あります。 コマンドは全て入力する必要はありません。途中まで入力されたも のに最初にマッチしたコマンドが使われます。 メッセージリストを引数として取るコマンドについては、メッセージリストが 与えられなければコマンドに要求されるものを満たす次のメッセージが使われ ます。 次のメッセージがない場合にはサーチは逆順に行なわれ、もし適用されるメッ セージが発見できない場合には .Nm mail は .Dq Li No applicable messages と表示しコマンドを中断します。 .Bl -tag -width delete .It Ic \&\- 前のメッセージを表示します。 数字の引数 .Ar n が指定されると、 .Ar n 個前に移動してメッセージを表示します。 .It Ic \&# 行中のこれ以降をコメントとして無視します。 .It Ic \&? コマンドの短い要約を表示します。 .It Ic \&! これに引き続くシェルコマンドを実行します ( .Xr sh 1 と .Xr csh 1 を参照) 。 .It Ic Print .Pq Ic P .Ic print と同様ですが、無視されるヘッダフィールドも表示されます。 .Ic print , .Ic ignore , .Ic retain を参照してください。 .It Ic Reply .Pq Ic R 発信者に返信します。 元のメッセージの他の受取人には返信されません。 .It Ic Type .Pq Ic T .Ic Print と同じです。 .It Ic alias .Pq Ic a 引数がない場合は、現在定義されている全てのエイリアスを表示します。 引数がひとつ伴うと、そのエイリアスを表示します。 複数の引数が指定されると、新しいエイリアスを作成するか、古いものを変更 します。 .It Ic alternates .Pq Ic alt .Ic alternates コマンドはいくつかのマシンにアカウントがある場合に便利な機能です。 .Nm mail に対してリストされたアドレスがあなたのアドレスであることを指示するため に使われます。 .Ic reply コマンドによってメッセージに返信するときに .Nm mail は .Ic alternates リストにリストされているアドレスにはメッセージのコピーを送付しません。 .Ic alternates コマンドが引数なしで指定された場合、現在の alternate の内容が表示され ます。 .It Ic chdir .Pq Ic c ユーザの作業ディレクトリを指定されたものに変更します。 ディレクトリが指定されていなければ、ユーザのログインディレクトリに変更 します。 .It Ic copy .Pq Ic co .Ic copy コマンドは .Ic save と同様のことを行ないますが、終了時に削除を行なうためのマークをメッセー ジにつけません。 .It Ic delete .Pq Ic d メッセージのリストを引数として取り、それら全てを削除されたものとしてマー クします。 削除されるメッセージは .Ar mbox にはセーブされず、また他のほとんどのコマンドの対象となりません。 .It Ic dp (もしくは .Ic dt ) 現在のメッセージを削除し、次のメッセージを表示します。 次のメッセージがなければ、 .Nm mail は .Dq Li "at EOF" と表示します。 .It Ic edit .Pq Ic e メッセージのリストを引数として取り、各々を順にテキストエディタで開きま す。 メッセージはテキストエディタから戻ってきた時に再度読み込まれます。 .It Ic exit .Pf ( Ic ex もしくは .Ic x ) ユーザのシステムメールボックス、 .Ar mbox ファイル、 .Fl f での編集ファイルを変更せずにシェルへ直ちに戻ります。 .It Ic file .Pq Ic fi .Ic folder と同様です。 .It Ic folders フォルダディレクトリ内のフォルダ名をリストします。 .It Ic folder .Pq Ic fo .Ic folder コマンドは新しいメールファイルかフォルダに切り替えます。 引数がないと、現在どのファイルを読んでいるかを表示します。 引数を指定すると、現在のファイルに対して行なった変更 (削除など) を書き 出し、新しいファイルを読み込みます。 引数の名前にはいくつかの特別な記法を使うことができます。 # は前のファイルを意味します。 % はあなたのシステムメールボックスを意味します。 %user は user のシステムメールボックスを意味します。 & はあなたの .Ar mbox ファイルを意味します。 \&+\&folder はあなたのフォルダディレクトリ中のファイルを意味します。 .It Ic from .Pq Ic f メッセージのリストを引数として取り、それらのメッセージのヘッダを表示し ます。 .It Ic headers .Pq Ic h 現在の範囲のヘッダをリストします。現在の範囲は 18 個のメッセージのグルー プです。 引数として .Ql \&+ が指定されると次の 18 個のメッセージのグループが表示され、 .Ql \&\- が指定されると前の 18 個のメッセージのグループが表示されます。 .It Ic help .Ic \&? と同じです。 .It Ic hold .Pf ( Ic ho , もしくは .Ic preserve ) メッセージのリストを引数として取り、各メッセージを .Ar mbox ではなくユーザのシステムメールボックスにセーブするためのマークをつけ ます。 .Ic delete によってマークが付けられているメッセージにはマークはつけません。 .It Ic ignore .Ar ignored list にヘッダフィールドのリストを追加します。 ignore list (無視リスト) に登録されているヘッダフィールドは メッセージを表示する際にターミナルに表示されません。 このコマンドはマシンが生成するヘッダフィールドの表示を省略するのに非常 に便利です。 .Ic Type と .Ic Print コマンドを使うと表示の際に無視するフィールドも含めメッセージの全てを表 示することができます。 .Ic ignore が引数なしで実行されると現在の無視するフィールドのリストが表示されます。 .It Ic mail .Pq Ic m ログイン名と配布グループ名を引数として取り、メールをそれらの人々に送付 します。 .It Ic more .Pq Ic \mo メッセージのリストを引数として取り、そのリストに対してページャを起動し ます。 .It Ic mbox 終了時にあなたのホームディレクトリの .Ic mbox へ書き込むメッセージのリストを指定します。 .Ic hold オプションをセットして .Em いなければ 、これはメッセージに対するデフォルトの動作となります。 .It Ic next .Pq Ic n ( .Ic \&+ や .Tn CR と同様) 次のメッセージへ進み、それを表示します。 引数リストを指定すると、次にマッチするメッセージを表示します。 .It Ic preserve .Pq Ic pre .Ic hold と同様です。 .It Ic print .Pq Ic p メッセージリストを引数として取り、各メッセージをユーザのターミナルに表 示します。 .It Ic quit .Pq Ic q セッションを終了し、全ての未削除のまだセーブしていないメッセージをユー ザのホームディレクトリの .Ar mbox ファイルへセーブし、 .Ic hold か .Ic preserve でマークされたメッセージか参照されなかったメッセージはシステムメールボッ クスに残し、その他の全てのメッセージをシステムメールボックスから削除し ます。 もし新しいメールがセッション中に届いていたら、メッセージ .Dq Li "You have new mail" を表示します。 もしメールボックスのファイルを .Fl f フラグ付きで編集している途中であれば、編集中のファイルは再度書き込まれ ます。 編集中のファイルの再書き込みが失敗しなければシェルに戻ります。 編集中のファイルの再書き込みが失敗した場合、ユーザは .Ic exit コマンドによって抜け出すことができます。 .It Ic reply .Pq Ic r メッセージリストを引数として取り、メールを指定されたメッセージの差出人 と全ての受取人に送ります。 デフォルトのメッセージは削除されていてはいけません。 .It Ic respond .Ic reply と同様です。 .It Ic retain .Ar retained list (保持リスト) にヘッダフィールドのリストを追加します。 メッセージを表示する時には、retain list に登録されているヘッダ フィールドのみがターミナルに表示されます。 他の全てのフィールドは省略されます。 .Ic Type と .Ic Print コマンドを使うとメッセージの全てを表示することができます。 .Ic retain が引数を指定されずに実行されると、現在 retain list に登録されているフィー ルドのリストを表示します。 .It Ic save .Pq Ic s メッセージのリストとファイル名を引数として取り、各メッセージを順にファ イルの末尾に追加します。 ファイル名が引用符で囲まれて表示され、それに続いて行数と文字数がユーザ のターミナルにエコーされます。 .It Ic set .Pq Ic se 引数がない場合には全ての変数の値を表示します。 引数が指定された場合はオプションをセットします。 引数は .Ar option=value ( = の前後にはスペースは入りません) か .Ar option の形式を取ります。 空白やタブを代入式に含めるために引用符を代入文の どの部分にでも 置いてかまいません。例えば次のようになります。 .Dq Li "set indentprefix=\*q->\*q" .It Ic saveignore .Ic saveignore は .Ic ignore コマンドが .Ic print や .Ic type の際に行なうことを .Ic save の際に行なうものです。 これでマークされたヘッダフィールドは .Ic save コマンドによって保存される時や自動的に .Ar mbox へ保存される時にフィルタリングされて取り除かれます。 .It Ic saveretain .Ic saveretain は .Ic retain が .Ic print や .Ic type の際に行なうことを .Ic save の際におこなうものです。 .Ic save コマンドによって保存される時や自動的に .Ar mbox へ保存される時には、これでマークされたヘッダフィールドのみが保存されます。 .Ic saveretain は .Ic saveignore に優先します。 .It Ic shell .Pq Ic sh シェルを対話モード起動します。 .It Ic size メッセージのリストを引数として取り、各メッセージのサイズを文字数で表示 します。 .It Ic source .Ic source コマンドはファイルからコマンドを読み込みます。 .It Ic top メッセージのリストを引数として取り、各メッセージの先頭の数行を表示しま す。 表示する行数は変数 .Ic toplines によって制御でき、デフォルトでは 5 行となっています。 .It Ic type .Pq Ic t .Ic print と同様です。 .It Ic unalias .Ic alias コマンドによって定義された名前のリストを引数として取り、記憶されている ユーザのグループを無効にします。 グループの名前は以後意味を持たなくなります。 .It Ic undelete .Pq Ic u メッセージのリストを引数として取り、各メッセージを削除されて .Ic いない ものとしてマークします。 .It Ic unread .Pq Ic U メッセージのリストを引数として取り、各メッセージを .Ic 未読 としてマークします。 .It Ic unset オプションの名前のリストを引数として取り、それらの記憶されている値を無 効とします。 .Ic set の逆です。 .It Ic visual .Pq Ic v メッセージのリストを引数として取り、各メッセージについてスクリーンエディ タを起動します。 .It Ic write .Pq Ic w .Ic save と同様ですが、 .Pq Ar ヘッダを除いて メッセージの本文 .Ic のみ が保存されます。 メッセージシステムを使ってソースプログラムテキストを送受信するような作 業で非常に便利です。 .It Ic xit .Pq Ic x .Ic exit と同様です。 .It Ic z .Nm mail は .Ic headers コマンドにて説明されているようにウィンドウいっぱいにメッセージヘッダを 表示します。 .Nm mail が指し示しているメッセージの位置は .Ic \&z コマンドによって次のウィンドウに進めることができます。 また、 .Ic \&z\&\- コマンドを使って前のウィンドウに戻ることもできます。 .El .Ss チルダ/エスケープ .Pp ここではチルダエスケープを要約します。 チルダエスケープはメッセージを編集している時に特別の機能を実行するため に使われます。 チルダエスケープは行の先頭でのみ認識されます。 実際のエスケープ文字は .Ic escape オプションによってセットできるので、 .Dq Em チルダエスケープ という呼び方は多少間違ったものです。 .Bl -tag -width Ds .It Ic \&~! Ns Ar command 指定されたシェルコマンドを実行し、メッセージに戻ります。 .It Ic \&~b Ns Ar name ... カーボンコピーの受取人のリストへ指定された name を追加します。 ただし name は Cc: 行へは表示されません ("ブラインド" カーボ ンコピー)。 .It Ic \&~c Ns Ar name ... 指定された name をカーボンコピーの受取人のリストに追加します。 .It Ic \&~d ホームディレクトリの .Dq Pa dead.letter ファイルをメッセージ中に読み込みます。 .It Ic \&~e 今までに編集したメッセージをテキストエディタで開きます。 編集セッションの終了後、メッセージに続けてテキストを追加することができ ます。 .It Ic \&~f Ns Ar messages 指定されたメッセージを送ろうとしているメッセージ中に読み込みます。 メッセージが指定されない場合は、現在のメッセージを読み込みます。 現在無視されているメッセージヘッダ ( .Ic ignore か .Ic retain コマンドによる) は読み込まれません。 .It Ic \&~F Ns Ar messages .Ic \&~f と同様ですが、全てのメッセージヘッダが含まれます。 .It Ic \&~h メッセージヘッダを順に各々を入力して編集し、テキストを末尾に追加したり、 現在のターミナルの erase 文字や kill 文字を使ってフィールドを変更した りします。 .It Ic \&~m Ns Ar messages 指定されたメッセージを現在送ろうとしているメッセージの中に読み込み、タ ブか .Ar indentprefix に設定されている値でインデントします。 メッセージが指定されていない場合は現在のメッセージが読み込まれます。 現在無視されているメッセージヘッダ ( .Ic ignore か .Ic retain コマンドによる) は読み込まれません。 .It Ic \&~M Ns Ar messages .Ic \&~m と同様ですが、全てのメッセージヘッダが読み込まれます。 .It Ic \&~p 今までに修正したメッセージをメッセージヘッダフィールドと共に表示します。 .It Ic \&~q 送ろうとしているメッセージを中断し、 .Ic save がセットされている場合はホームディレクトリの .Dq Pa dead.letter にメッセージをセーブします。 .It Ic \&~r Ns Ar filename 指定されたファイルをメッセージに読み込みます。 .It Ic \&~R Ns Ar string .Ar string を Reply-To: フィールドとして使用します。 .It Ic \&~s Ns Ar string 指定された文字列を現在のサブジェクトフィールドに設定します。 .It Ic \&~\&t Ns Ar name ... 指定された名前を受取人のリストに追加します。 .It Ic \&~\&v 別のエディタ ( .Ev VISUAL オプションによって定義されているもの) で現在までに修正したメッセージを 開きます。 通常は別のエディタはスクリーンエディタとなります。 エディタを終了した後、メッセージの末尾にテキストを追加できるようになり ます。 .It Ic \&~w Ns Ar filename 指定されたファイルにメッセージを書き込みます。 .It Ic \&~\&| Ns Ar command 指定されたコマンドをフィルタとし、パイプを通してメッセージに適用します。 コマンドから何の出力もないか、コマンドが異常終了した場合は、メッセージ のテキストは元のままとなります。 メッセージを整形するためによく .Xr fmt 1 コマンドが .Ic command として使われます。 .It Ic \&~: Ns Ar mail-command 指定されたメールコマンドを実行します。 しかし全てのコマンドが使えるわけではありません。 .It Ic \&~~ Ns Ar string メッセージに単独の ~ で始まるテキスト文字列を挿入します。 エスケープ文字が変更されている場合は、それを送るためにはエスケープ文字 を 2 つ指定しなければなりません。 .El .Ss メールオプション オプションは .Ic set と .Ic unset コマンドで制御します。 オプションは 2 値か文字列となります。 2 値の場合はセットされているか、されていないかだけが意味を持ちます。 文字列の場合は実際にセットしている値が意味を持ちます。 2 値のオプションには次のものがあります。 .Bl -tag -width append .It Ar append メッセージを .Ar mbox にセーブする場合、先頭に書くのではなく、末尾に追加します。 これは常にセットされていなければなりません (システムの .Pa mail.rc ファイルにおいて設定することが望ましいです)。 .It Ar ask .Nm mail は送ろうとしている各メッセージのサブジェクトの入力を促します。 改行のみを入力するとサブジェクトフィールドは送られません。 .It Ar askcc 各メッセージの編集後に追加のカーボンコピーの受取人の入力を促します。 現在のリストで十分な場合は改行のみを入力してください。 .It Ar autoprint .Ic delete コマンドを .Ic dp のように動作させます。 すなわちメッセージの削除後、次のものが自動的に表示されます。 .It Ar debug 2 値のオプション .Ar debug をセットするとコマンド行で .Fl d を指定した時と同じ動作になり、 .Nm mail はデバッグに有用な全ての種類の情報を出力します。 .It Ar dot 2 値のオプション .Ar dot をセットすることによって、 .Nm mail は行中にピリオドが単独で入力されると、送ろうとしているメッセージが終了した ものとみなします。 .It Ar hold このオプションはデフォルトでメッセージをシステムメールボックス中に保持 するために使われます。 .It Ar ignore ターミナルからの割り込み信号を無視し、@ としてエコーします。 .It Ar ignoreeof .Ar ignoreeof は .Ar dot に関連するオプションであり、 .Nm mail にメッセージの最後での control-d を無視させます。 .Ar Ignoreeof は .Nm mail のコマンドモード中でも有効となります。 .It Ar metoo 通常、差出人を含むグループの展開時には差出人は取り除かれます。 このオプションをセットすることによって差出人も展開されたグループに含ま れるようになります。 .It Ar noheader .Ar noheader オプションをセットすると、コマンド行で .Fl N フラグを指定するのと同様の動作となります。 .It Ar nosave 普通は .Tn RUBOUT (erase もしくは delete) を 2 回入力してメッセージの編集を中断する時、 .Nm mail はホームディレクトリのファイル .Dq Pa dead.letter に中断した手紙をコピーします。 この 2 値のオプション .Ar nosave をセットすると、ファイルへのコピーは行なわれません。 .It Ar Replyall .Ic reply コマンドと .Ic Reply コマンドの意味を逆転させます。 .It Ar quiet 最初に起動された時にバージョンの表示を省略します。 .It Ar searchheaders このオプションがセットされていると、``/x:y'' の形式でのメッセージリス トの指定はヘッダフィールド ``x'' 中にサブストリング ``y'' を含む全ての メッセージに展開されます。ストリングのサーチは大文字と小文字を区別しま せん。 .It Ar verbose .Ar verbose オプションをセットするとコマンド行で .Fl v フラグをセットした時と同様の動作となります。 .Nm mail が verbose (饒舌) モードで実行されている時、実際のメッセージの配送の様 子がターミナルに表示されます。 .El .Ss オプションストリング値 .Bl -tag -width Va .It Ev EDITOR .Ic edit コマンドと .Ic \&~e エスケープで使われるテキストエディタのパス名です。 定義されていない場合はデフォルトのエディタが使われます。 .It Ev LISTER .Ic folders コマンドで使われるディレクトリをリストするコマンドのパス名です。 デフォルトは .Pa /bin/ls です。 .It Ev PAGER .Ic more コマンドや変数 .Ic crt がセットされている時に使われるプログラムのパス名です。 このオプションが定義されていないとデフォルトのページャ .Xr more 1 が使われます。 .It Ev REPLYTO 設定されている場合、送信メッセージの Reply-To フィールドの初期化に使用 されます。 .It Ev SHELL .Ic \&! コマンドや .Ic \&~! エスケープで使われるシェルのパス名です。 このオプションが定義されていないとデフォルトのシェルが使われます。 .It Ev VISUAL .Ic visual コマンドや .Ic \&~v エスケープで使われるテキストエディタのパス名です。 .It Va crt 値をとるオプション .Va crt は、メッセージを読むために .Ev PAGER が使われるメッセージの長さの閾値として使われます。 .Va crt が値なしでセットされていると、システムに保存されているターミナルの画面 の高さが閾値の計算に使われます ( .Xr stty 1 を参照して下さい)。 .It Ar escape これが定義されていると、このオプションの最初のキャラクタがエスケープを 示すための ~ の代わりに使われます。 .It Ar folder メッセージのフォルダを置くためのディレクトリ名です。 これが `/' で始まっていると .Nm mail は絶対パスとして解釈します。それ以外の場合はフォルダのディレクトリはホー ムディレクトリからの相対パスとして扱われます。 .It Ev MBOX .Ar mbox の名前です。 これはフォルダの名前とすることもできます。 デフォルトはホームディレクトリの .Dq Li mbox となります。 .It Ar record これが定義されていると、全ての発信されるメールを記録するために使われる ファイルのパス名となります。 定義されていない場合は、発信メールはセーブされません。 .It Ar indentprefix チルダエスケープ ``~m'' で、通常のタブ文字 (^I) の代わりにメッセージを インデントするために使われる文字列となります。 これにスペースやタブが含まれている場合は引用符で囲んで下さい。 .It Ar toplines これが定義されていると、 .Ic top コマンドで表示するメッセージの行数となります。通常は先頭の 5 行が表示 されます。 .El .Sh 環境変数 .Nm mail は環境変数 .Ev HOME と .Ev USER を使用します。また、環境変数 .Ev MAIL がセットされていると、デフォルトの /var/mail の代わりにユーザのメール ボックスの位置として使われます。 .Sh 関連ファイル .Bl -tag -width /usr/share/misc/mail.*help -compact .It Pa /var/mail/* ポストオフィスです。 .It ~/mbox ユーザの古いメールです。 .It ~/.mailrc 起動時に実行されるメールコマンドを指定するファイルです。 .It Pa /tmp/R* 一時ファイルです。 .It Pa /usr/share/misc/mail.*help ヘルプファイルです。 .sp .It Pa /usr/share/misc/mail.rc .It Pa /usr/local/etc/mail.rc .It Pa /etc/mail.rc システムの初期化ファイルです。 各ファイルが存在すればこの順に読み込まれます。 .El .Sh 関連項目 .Xr fmt 1 , .Xr newaliases 1 , .Xr vacation 1 , .Xr aliases 5 , .Xr mailaddr 7 , .Xr sendmail 8 , .Rs .%T "The Mail Reference Manual" . .Re .Sh 歴史 .Nm コマンドは .At v1 で登場しました。 本マニュアルページは 元々 Kurt Shoens によって書かれた .%T "The Mail Reference Manual" をベースにしています。 .Sh バグ ここに文書化されていないフラグがいくつか存在します。 ほとんどは一般のユーザには役に立たないものです。 .Pp 混乱しやすいのですが、通常 .Nm mail は .Nm Mail への単なるリンクとなっています。 diff --git a/ja_JP.eucJP/man/man1/mailq.1 b/ja_JP.eucJP/man/man1/mailq.1 index 502b990fbd..5eda23f12c 100644 --- a/ja_JP.eucJP/man/man1/mailq.1 +++ b/ja_JP.eucJP/man/man1/mailq.1 @@ -1,67 +1,74 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. +.\" Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +.\" All rights reserved. .\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved. .\" Copyright (c) 1985, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" .\" @(#)mailq.1 8.10 (Berkeley) 5/19/1998 .\" .\" jpman %Id: mailq.1,v 1.2 1997/03/29 06:21:16 horikawa Stab % .\" -.Dd May 19, 1998 -.Dt MAILQ 1 -.Os BSD 4 -.Sh 名称 -.Nm mailq -.Nd メールのキューを表示する -.Sh 書式 -.Nm mailq -.Op Fl v -.Sh 解説 -.Nm mailq +.\" %FreeBSD: src/contrib/sendmail/src/mailq.1,v 1.3.6.1 2000/08/27 17:31:27 gshapiro Exp % +.\" +.TH MAILQ 1 "%Date: 2000/07/14 05:07:01 %" +.SH 名称 +.B mailq +\- メールのキューを表示する +.SH 書式 +.B mailq +.RB [ \-v ] +.SH 解説 +.B mailq は、後で配送するためにキューに蓄えたメールを一覧表示します。 -.Pp -各メッセージの 1 行目は、ホストがメッセージにつける内部の識別子、 +.PP +各メッセージの 1 行目は、 +ステータス文字が付くことがある、ホストがメッセージにつける内部の識別子と、 メッセージのバイト数、キューに入れられた日付と時間、 メッセージの送り手を表示します。 2 行目は、このメールがキューに入れられる原因となったエラーを表示します。 このメッセージは、 キューのなかでメールが最初に処理されているときには表示されません。 +ステータス文字は次のいずれかです: +.B * +は、ジョブが処理中であることを示し、 +.B X +は、ジョブを処理するには負荷が高すぎることを示し、 +.B - +は、ジョブが処理するには若すぎることを示します。 そのあとの行には、メールの受け手が 1 行に 1 人ずつ表示されます。 -.Pp +.PP 次のオプションを使用可能です: -.Bl -tag -width flag -.It Fl v +.TP +.B \-v 詳細な情報を表示します。 通常の表示に加え、メッセージの優先度と、 警告メッセージを送ったか否かを示す 1 文字の記号 (``+'' か空白) を最初の行に追加します。 さらに、メールの受け手の ``制御ユーザ (controlling user)'' 情報を表示します; これは、このメールによって実行されるプログラムの所有者および、 存在するのであれば、このコマンドが展開される元のエイリアス名です。 -.El -.Pp -.Nm mailq -は成功した場合は0を、エラーが起きた場合は0より大きな +.PP +.B mailq +は成功した場合は 0 を、エラーが起きた場合は 0 より大きな 値を返します。 -.Sh 注 -.Nm +.SH 注 +.B mailq は -.Dq Li "sendmail -bp" +"sendmail -bp" と等価です。 -.Xr sendmail 8 +sendmail(8) に適用可能なオプションのほとんどは、 -.Nm +.B mailq にも適用可能です。 -.Sh 関連項目 -.Xr sendmail 8 -.Pp -.Sh 歴史 -.Nm mailq +.SH 関連項目 +sendmail(8) +.SH 歴史 +.B mailq は -.Bx 4.0 +4.0BSD から登場しました。 diff --git a/ja_JP.eucJP/man/man1/msgs.1 b/ja_JP.eucJP/man/man1/msgs.1 index 772f88a35d..628e3d2c3c 100644 --- a/ja_JP.eucJP/man/man1/msgs.1 +++ b/ja_JP.eucJP/man/man1/msgs.1 @@ -1,217 +1,217 @@ .\" 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. .\" .\" @(#)msgs.1 8.2 (Berkeley) 4/28/95 -.\" %FreeBSD: src/usr.bin/msgs/msgs.1,v 1.9 2000/03/01 12:19:58 sheldonh Exp % +.\" %FreeBSD: src/usr.bin/msgs/msgs.1,v 1.9.2.1 2000/08/27 17:31:43 gshapiro Exp % .\" jpman %Id: msgs.1,v 1.2 1997/03/29 06:23:20 horikawa Stab % .\" .Dd April 28, 1995 .Dt MSGS 1 .Os BSD 4 .Sh 名称 .Nm msgs .Nd システムからのメッセージを読むための簡単なメールプログラム .Sh 書式 .Nm .Op Fl fhlpq .Op Ar number .Op Ar \-number .Nm msgs .Op Fl s .Nm msgs .Op Fl c .Op \-days .Sh 解説 .Nm は、システムからのメッセージを読むためのプログラムです。 これらのメッセージはユーザ `msgs' あてにメールを送ることで送信されます。 これらのメッセージは、ユーザがシステムにログインした時に、 システムからの簡単なメッセージを一度だけ表示するのに便利です。 .Pp .Nm を .Pa .login ファイル ( .Xr sh 1 を使っているならば、 .Pa .profile ) に書いておくことによって、 ログインするたびに .Nm が実行されます。 もし、新しいメッセージがあれば、誰からのメッセージかという情報と、 Subject とを表示します。 もし Subject 行が無ければ、先頭の空行でない数行を表示します。 もし、より多くのメッセージがあれば、残りのメッセージ量を示し、 残りのメッセージを見るかどうかを尋ねます。 返事としては、以下のものを使うことができます: .Bl -tag -width Fl .It Ic y メッセージを表示します。 .It Ic RETURN y と同じです。 .It Ic n このメッセージをスキップして、次のメッセージに行きます。 .It Fl 最後に表示したメッセージを再表示します。 .It Ic q .Nm を終了します。次回には読まなかったメッセージを読むことができます。 .It Ic s メッセージをセーブします。現在のメッセージをカレントディレクトリの ``Messages'' というファイルに追加します。 `s\-' は表示する前にセーブします。 `s' や `s\-' はその後ろに空白をはさんでセーブするファイル名を指定できます。 .It Ic m 指定されたメッセージを、一時的な mailbox としてファイルに記録し、 .Xr mail 1 を起動して、記録したファイルをメールとして扱うことができるようにします。 `m' , `s' コマンドは、`-' の代わりに数字の引数を受け付けます。 .El .Pp .Nm は、各ユーザのホームディレクトリの .Pa \&.msgsrc に記録されている番号を読み込んで、新たに読むべきメッセージを決定します。 .Pa /var/msgs というディレクトリには、(シーケンシャルな)メッセージ番号を ファイル名として格納しています。 .Pa /var/msgs/bounds というファイルには、 このディレクトリにあるメッセージの一番小さな番号と大きな番号を記録しています。 これにより、 .Nm はメッセージがあるかどうか、ただちに判定できます。 .Pa bounds の内容が壊れている場合は、このファイルを削除することで、次回 .Fl s オプション付きで起動されたときに、新しく .Pa bounds を作成します。 .Nm が .Fl s 以外のオプションを指定されて実行された場合、 .Pa /var/msgs/bounds が存在しないとエラーが表示されます。 .Pp .Fl s オプションは、メッセージの配送を設定する時に使います。 .Pp .Dl msgs: \&"\&| /usr/bin/msgs \-s\&" .Pp という行を -.Pa /etc/aliases +.Pa /etc/mail/aliases に挿入して ( .Xr newaliases 1 参照)、メッセージを投函できるようにします。 .Pp .Fl c オプションは .Pa /var/msgs をクリアするために使います。 .Nm を .Fl c つきで実行するシェルスクリプトのエントリを、 .Pa /etc/periodic/daily ( .Xr periodic 8 参照) に記述して、毎晩実行するようにするといいでしょう。 これで、21 日より古いメッセージを消すことができます。 デフォルトの日付を変更するにはコマンドラインで設定する必要があります。 .Pp メッセージを読む時のオプションとしては以下のものがあります: .Bl -tag -width Fl .It Fl f ``No new messages.'' を表示しません。これは、 .Pa .login ファイルなどに .Nm を書いておく場合に便利です。 .It Fl q メッセージがある場合に、``There are new messages.'' と表示するようにし ます。 .Pa .login ファイルなどに ``msgs \-q'' と書いておくと便利です。 .It Fl h メッセージの最初の部分だけを表示します。 .It Fl l ローカルに作られたメッセージだけを報告します。 .It Ar num コマンドラインから番号を与えると、 .Pa \&.msgsrc に記録されている番号を使わずに、指定した番号以降のメッセージを表示します。 つまり、 .Pp .Dl msgs \-h 1 .Pp は、すべてのメッセージのはじめの部分を表示します。 .It Ar \-number .Pa \&.msgsrc に記録されている番号より .Ar number 分だけ戻ったメッセージから表示します。最近のメッセージを見るのに便利です。 .It Fl p 長いメッセージは、 .Xr more 1 を使います。 .El .Pp .Nm のコマンド対話モードの時に、コマンドの代わりに番号を入力することで、 指定した番号のメッセージに移動することができます。 .Sh 環境変数 .Nm は、デフォルトのホームディレクトリと端末タイプを知るために、 .Ev HOME と .Ev TERM を参照します。 .Sh 関連ファイル .Bl -tag -width /var/msgs/* -compact .It Pa /var/msgs/* メッセージデータベース .It ~/.msgsrc 次のメッセージ番号を記録しているファイル .El .Sh 関連項目 .Xr mail 1 , .Xr more 1 , .Xr aliases 5 , .Xr periodic 8 .Sh 歴史 .Nm コマンドは、 .Bx 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/newaliases.1 b/ja_JP.eucJP/man/man1/newaliases.1 index 0b4500a7e5..90813f9122 100644 --- a/ja_JP.eucJP/man/man1/newaliases.1 +++ b/ja_JP.eucJP/man/man1/newaliases.1 @@ -1,53 +1,50 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. +.\" Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +.\" All rights reserved. .\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved. .\" Copyright (c) 1985, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" -.\" @(#)newaliases.1 8.10 (Berkeley) 5/19/1998 +.\" %Id: newaliases.1,v 8.15 1999/06/22 20:41:34 tony Exp % .\" jpman %Id: newaliases.1,v 1.2 1997/05/07 02:31:13 mutoh Stab % .\" -.Dd May 19, 1998 -.Dt NEWALIASES 1 -.Os BSD 4 -.Sh 名称 -.Nm newaliases -.Nd メールエイリアスのデータベースを再構築する -.Pp -.Sh 書式 -.Nm newaliases -.Sh 解説 -.Nm newaliases +.TH NEWALIASES 1 "%Date: 1999/06/22 20:41:34 %" +.SH 名称 +.B newaliases +\- メールエイリアスのデータベースを再構築する +.SH 書式 +.B newaliases +.SH 解説 +.B newaliases は、 -.Pa /etc/aliases +/etc/mail/aliases ファイルに記述されているメール エイリアスのデータベースを再構築します。 -.Pa /etc/aliases +/etc/mail/aliases の内容を変更したときには、その内容を反映させるために、 このコマンドを実行しなければなりません。 -.Pp -.Nm newaliases +.PP +.B newaliases は、 -.Dq Li sendmail \-bi +``sendmail \-bi'' とまったく同じです。 .Sh 戻り値 -.Nm newaliases +.B newaliases は、成功すると 0 を、エラーが起きた場合は 0 より大きな値を 返します。 -.Sh 関連ファイル -.Bl -tag -width /etc/aliases -compact -.It Pa /etc/aliases +.SH 関連ファイル +.TP 2i +/etc/mail/aliases メールエイリアスファイル -.El -.Sh 関連項目 -.Xr aliases 5 , -.Xr sendmail 8 -.Sh 歴史 -.Nm +.SH 関連項目 +aliases(5), +sendmail(8) +.SH 歴史 +.B newaliases コマンドは -.Bx 4.0 +4.0BSD から登場しました。 diff --git a/ja_JP.eucJP/man/man1/passwd.1 b/ja_JP.eucJP/man/man1/passwd.1 index 3806716039..e783eb5249 100644 --- a/ja_JP.eucJP/man/man1/passwd.1 +++ b/ja_JP.eucJP/man/man1/passwd.1 @@ -1,242 +1,242 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)passwd.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/passwd/passwd.1,v 1.18 2000/03/01 12:20:07 sheldonh Exp % +.\" %FreeBSD: src/usr.bin/passwd/passwd.1,v 1.18.2.1 2000/09/18 07:46:39 sheldonh Exp % .\" .\" jpman %Id: passwd.1,v 1.4 1997/07/21 09:41:51 konuma Stab % .Dd June 6, 1993 .Dt PASSWD 1 .Os BSD 4 .Sh 名称 .Nm passwd, yppasswd .Nd ユーザのパスワードを変更する .Sh 書式 .Nm passwd .Op Fl l .Op Ar user .Nm yppasswd .Op Fl l .Op Fl y .Op Fl d Ar domain .Op Fl h Ar host .Op Fl o .Sh 解説 .Nm passwd は、ユーザの local, Kerberos, NIS パスワードを変更します。 ユーザがスーパユーザでない場合、 .Nm passwd は最初に現在のパスワードを求め、 正しいパスワードが入力されない場合には処理を停止します。 .Pp 新規パスワード入力時、パスワードは表示されません。 通りがかりの人にパスワードを見られることを避けるためです。 .Nm passwd は、タイプミスを検出するため、2 度新規パスワード入力を求めます。 .Pp 新しいパスワードは、少なくとも 6 文字以上 (ユーザのログインクラスに対する .Xr login.conf 5 の .if t ``minpasswordlen'' .if n "minpasswordlen" 設定が優先します) で、アルファベットだけにならな いようにすべきです。パスワードの最大文字数は、 .Dv _PASSWORD_LEN (現在は 128 文字) より短いことが必要です。 .Pp 新規パスワードは大文字と小文字を混合して含む必要があります (ユーザのログインクラスに対して .Xr login.conf 5 の .if t ``mixpasswordcase'' .if n "mixpasswordcase" の設定を使用することで、上書き可能です)。 小文字だけのワスワードのみ許可可能な場合に、 小文字パスワードを許すと有用でしょう。 例えば Windows クライアントを認証するために Samba を使用する場合が、 該当します。 他のすべての場合、数字、大文字、メタ文字が推奨されます。 .Pp 新しいパスワードが確認されたら .Nm passwd は新しいパスワードを Kerberos 認証ホストに伝えます。 .Bl -tag -width flag .It Fl l Kerberosデータベースではなく、 ローカルマシンのパスワードだけを変更します。 ローカルマシンのパスワードだけを変更する場合は、 .Xr pwd_mkdb 8 がパスワードデータベースの更新に使われます。 .Pp .El ローカルまたは NIS パスワードを変更する場合、 ユーザのログインクラスの .if t ``passwordtime'' .if n "passwordtime" ケーパビリティに基づき、 次にパスワードを変更すべき日付が設定されます。 .Pp 別のユーザの Kerberos パスワードを変更するには、 .Xr kinit 1 を実行してから、 .Xr passwd 1 を実行する必要があります。 スーパユーザがローカルマシンのパスワードを修正するときにかぎり、現在の パスワードの入力は不要です。 .Sh NIS との相互作用 .Nm passwd は NIS のサポートが組み込まれています。 もしユーザ名が NIS のパスワードデータベースの中にあり、 ローカルにはない場合、 .Nm passwd は自動的に .if t ``yppasswd'' .if n "yppasswd" に切り替わります。 指定されたユーザ名がローカルのパスワードデータベースにも、 NIS のパスワードマップにも存在しない場合、 .Nm passwd はエラーを返します。 .Pp NIS のパスワードを変更するとき、非特権ユーザは 確認のために現在のパスワードの入力を求められます ( .Xr rpc.yppasswdd 8 デーモンはいかなる変更でも NIS パスワードマップに加える前に 現在のパスワードの入力を求めます)。 この制限はスーパユーザにも適用されますが、大きな例外があります。 NIS マスタサーバのスーパユーザはパスワードの確認が省略されるの です。 したがって、NIS マスタサーバのスーパユーザは、すべてのユーザの NIS パスワードを無制限に変更できます。 しかし、NIS クライアントや NIS スレーブサーバのスーパユーザは 変更にパスワードが必要です。 .Pp 以下のオプションは NIS のためのものです: .Bl -tag -width flag .It Fl y .Nm passwd は強制的に NIS 用になります。 .It Fl l NIS が有効な場合に .Nm passwd を強制的にローカル用にします。 このフラグは同じログイン名で NIS のユーザと ローカルなユーザが存在するときに、 .if t ``ローカルユーザの'' .if n "ローカルユーザの" パスワードエントリを変更するために使われます。 例えば、システム用の .Pa bin や .Pa daemon といった .if t ``場所取り'' .if n "場所取り" エントリは NIS パスワードマップとローカルユーザデータベース の両方に存在することが、よくあります。 この場合デフォルトでは .Nm passwd は NIS のパスワードを変更しようとします。 NIS ではなくローカルのパスワードを変更するとき .Fl l を使います。 .It Fl d Ar domain NIS パスワードを変更するとき、ドメイン名を指定します。デフォルトで .Nm passwd は、システムのデフォルトドメイン名を使います。このフラグは主に NIS マスタサーバのスーパユーザが使用するものです。一つの NIS マスタサーバが複数のドメインを扱っている場合や、NIS マスタサーバでは ドメイン名が設定されていない (NIS サーバは必ずしもクライアントになる 必要はありません) 場合に、 .Nm passwd コマンドがどのドメインを扱うのかを指定する必要があります。 -.It Fl s Ar host +.It Fl h Ar host NIS サーバの名前を指定します。このオプションを .Fl d オプションと共に用いることで、非ローカルな NIS サーバ上の NIS パスワードを変えることが出来ます。 .Fl d オプションでドメイン名を指定し、 NIS マスタサーバの名前が決定できな い (おそらく、ローカルのドメイン名が設定されていないため) ときには、 NIS マスタサーバは、 .if t ``localhost''. .if n "localhost". であると仮定されます。 このサーバ名を -.Fl s +.Fl h で指定することが出来ます。指定するホスト名は NIS マスタサーバ でなくても構いません。 NIS マスターサーバー名はドメイン内の NIS (マスタもしくはスレーブ) サーバに問い合わせることで決定される ので、スレーブサーバを指定しても構いません。 .Pp .It Fl o NIS マスタサーバにおいて、スーパユーザの確認を省略しません。 \'old' モードにします。このフラグはあまり実用的ではありませんが、 パスワードのテストに使うことが出来ます。 .El .Sh 関連ファイル .Bl -tag -width /etc/master.passwd -compact .It Pa /etc/master.passwd パスワードのマスタファイル .It Pa /etc/passwd Version 7 形式のパスワードファイル .It Pa /etc/passwd.XXXXXX パスワード変更時に作られるテンポラリファイル .It Pa /etc/login.conf ログインクラスケーパビリティデータベース .It Pa /etc/auth.conf 認証サービスの設定 .El .Sh 関連項目 .Xr chpass 1 , .Xr kerberos 1 , .Xr kinit 1 , .Xr login 1 , .Xr login.conf 5 , .Xr passwd 5 , .Xr kpasswdd 8 , .Xr pwd_mkdb 8 , .Xr vipw 8 .Rs .%A Robert Morris .%A Ken Thompson .%T "UNIX password security" .Re .Sh 注 .Xr yppasswd 1 は実際には .Nm passwd へのリンクです。 .Sh 歴史 .Nm passwd コマンドは .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/pkg_version.1 b/ja_JP.eucJP/man/man1/pkg_version.1 index 532411c848..8dbd6cc842 100644 --- a/ja_JP.eucJP/man/man1/pkg_version.1 +++ b/ja_JP.eucJP/man/man1/pkg_version.1 @@ -1,179 +1,188 @@ .\" .\" Copyright 1998 Bruce A. Mah .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/pkg_install/version/pkg_version.1,v 1.5 2000/03/01 14:09:02 sheldonh Exp % +.\" %FreeBSD: src/usr.sbin/pkg_install/version/pkg_version.1,v 1.5.2.3 2000/09/20 08:53:55 jkh Exp % .\" jpman %Id: pkg_version.1,v 1.3 1999/12/05 08:25:39 horikawa Stab % .Dd July 17, 1998 .Dt PKG_VERSION 1 .Os FreeBSD .Sh 名称 .Nm pkg_version .Nd インストールされた package のバージョンを要約表示 .Sh 書式 .Nm pkg_version .Op Fl cdhv .Op Fl l Ar limchar .Op Ar index .Sh 解説 .Nm コマンドは、 .Xr pkg_add 1 コマンドを使ってインストールされた、基本ソフトウェア以外の ソフトウェア package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) に関するレポートを作成するために使います。 どの package について更新処理が必要となるのかを調べるために、 バージョン番号をインデックスファイルに対して比較します。 .Pp 各 package 名が、次に示す 1 文字のステータスフラグと一緒に表示されます: .Bl -tag -width indent .It Li = インストールされている package のバージョンは、インデックスと一致します。 .It Li < インストールされている package のバージョンは、 インデックスに記載されるバージョンより古いものです。 .It Li > インストールされている package のバージョンは、 インデックスで記載されるものよりも新しいものです。 .It Li ? -インストールされている package のバージョンと、 -インデックスファイルとの関係を、特定することができませんでした。 -このメッセージが表示される理由は普通、 -ある特定のソフトウェア package で、 -複数バージョンがインストールされているものがあるからです。 -あるいは、複数のバージョンが -インデックスファイルに記載されていることが原因です。 +シンストールされた package がインデックス中に見付かりませんでした。 +原因としては、インデックスが古いことか、 +コミットされていない package を PR から取得したことがあり得ます。 +.It Li * +ある特定のソフトウェア package で +複数バージョンがインストールされているものがあるか、 +ある特定のソフトウェア package で +複数バージョンがインデックスに列挙されているものがあります。 .Fx port コレクションを例に取ると、 Tcl ツールキットや .Tn EMACS が該当します。 +.It Li ! +インストールされた package がインデックス中にありますが、 +なんらかの理由で、 +インストールされた package のバージョン番号と +インデックス中の対応するエントリとを +.Nm +が比較できませんでした。 .Sh オプション .Nm は、いくつかのコマンドライン引数をサポートしています: .Bl -tag -width indent .It Fl c コマンド出力を可能にします。 コマンド出力は、 インストール済み package を port システムにおいて 最新バージョンのものに更新するために、 あなたが打込む必要があるコマンドを含んでいます。 .It Fl d デバッグ出力を有効にします。 .It Fl h ヘルプメッセージを表示します。 .It Fl l 出力する package を、ステータスフラグが .Ar limchar にマッチするものに制限します。 マッチに使用する文字を、複数個 .Ar limchar に指定可能です。 ステータスフラグの文字にはシェルの特殊文字でもあるものが存在するため、 .Ar limchar をシングルクォートで括るのが最善手です。 .It Fl v 冗長出力を有効にします。 冗長出力は 英文による、バージョン番号比較に関する若干の説明と、 各 package の比較に使われたバージョン番号の説明が含まれています。 スクリプトやプログラムで処理するには、 おそらく冗長でない出力の方が簡単でしょう。 .It Ar index 比較の基準として利用するインデックスを指定します。 インデックスとして、ファイル名 (ローカルなファイルシステム内) または URL を指定することができます。 .Xr fetch 1 が解釈可能な URL であれば、どのようなものでも指定することができます。 コマンドラインで .Ar index ファイルが指定されていない場合は .Pa /usr/ports/INDEX が利用されます。 .El .Sh 関連項目 .Xr fetch 1 , .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 .Sh 関連ファイル .Bl -tag -width /usr/ports/INDEX -compact .It Pa /usr/ports/INDEX デフォルトのインデックスファイル。 .El .Sh 使用例 以下は .Nm コマンドの典型的な起動方法です。 インストール済み package を ローカルの port インデックスファイルと照合します: .Pp .Dl % pkg_version -v .Pp 下のコマンドは、 オンラインの port コレクションにおける バージョン番号に対してレポートを生成します: .Pp .Dl % pkg_version ftp://ftp.FreeBSD.org/pub/FreeBSD/ports-current/INDEX .Pp 下のコマンドは、 インストールされたファイルの更新を行うために実行するコマンド群の ファイルを生成します。 このコマンドを自動的に実行させることは推奨 .Bf Em できません。 .Ef 必ず報告を再検討してから、あなたが実行したいコマンドを、 カットアンドペースト (あるいは再入力) で入力してください。 .Pp .Dl % pkg_version -c > do_update .Sh 作者 -.An Bruce A. Mah Aq bmah@ca.sandia.gov +.An Bruce A. Mah Aq bmah@FreeBSD.org .Sh 寄贈者 .An Nik Clayton Aq nik@freebsd.org , -.An Dominic Mitchell Aq dom@palmerharvey.co.uk +.An Dominic Mitchell Aq dom@palmerharvey.co.uk , +.An Mark Ovens Aq marko@FreeBSD.org .Sh バグ 複数のバージョンでインストールされた package について、 うまく処理できる方法が必要です。 .Pp パッチレベルに関しては、うまく取り扱うことができません (すなわち 1.2p3 あるいは 1.2pl3 といった形式のバージョン番号) 。 .Pp バージョン番号が変更されない (例えば、package / port 自身の ちょっとしたバグフィックス) ような package に関しては 更新できません。 .Pp コマンド出力は、package 間における依存関係については関知していません。 例えば、2 つの package が異なるバージョンを必要とするために、 2 バージョンの Tcl をインストールする必要があるかもしれません。 .Nm は、古いバージョンの消去を提案します。 .Pp コマンド出力は、 .Xr pkg_add 1 を使うのではなく、 port システムを使って新しいソフトウェアをインストールすると 仮定しています。 diff --git a/ja_JP.eucJP/man/man1/sed.1 b/ja_JP.eucJP/man/man1/sed.1 index 07f0ea6ec9..a0ceaef339 100644 --- a/ja_JP.eucJP/man/man1/sed.1 +++ b/ja_JP.eucJP/man/man1/sed.1 @@ -1,486 +1,495 @@ .\" Copyright (c) 1992, 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. .\" .\" @(#)sed.1 8.2 (Berkeley) 12/30/93 -.\" %FreeBSD: src/usr.bin/sed/sed.1,v 1.9 2000/02/15 03:00:47 unfurl Exp % +.\" %FreeBSD: src/usr.bin/sed/sed.1,v 1.9.2.1 2000/09/20 23:59:22 green Exp % .\" jpman %Id: sed.1,v 1.2 1997/03/29 08:28:32 horikawa Stab % .\" .Dd December 30, 1993 .Dt SED 1 .Os .Sh 名称 .Nm sed .Nd ストリームエディタ .Sh 書式 .Nm -.Op Fl an +.Op Fl Ean .Ar command .Op Ar file ... .Nm sed -.Op Fl an +.Op Fl Ean .Op Fl e Ar command .Op Fl f Ar command_file .Op Ar file ... .Sh 解説 .Nm は、指定されたファイル、ファイルが指定されていないときは標準入力を読み込み、 指定されたコマンドリストに従って入力に変更を加え、変更結果を標準出力に書き 出します。 .Pp .Nm への第一引数として単一のコマンドを指定することができます。複数のコマンドを指定するときは、 .Fl e または .Fl f オプションで行います。どちらの場合でも、入力に対して指定されたコマンドを、 指定された順序で実行します。 .Pp オプションは以下のとおりです。 .Bl -tag -width indent +.It Fl E +正規表現を、Basic Regular expression (BRE) ではなく、 +拡張 (モダン) 正規表現として解釈します。 +.Xr re_format 7 +マニュアルページは、どちらの書式も完全に記述しています。 .It Fl a 通常、 .Dq w 関数の引数となるファイルは、処理に先立って空のファイルとして作成されます。 .Fl a オプションを指定することにより、 .Dq w 関数が入力に対して適用されるときまで、 ファイルの作成が遅延されます。 .It Fl e Ar command 編集コマンド .Ar command をコマンドリストに追加します。 .It Fl f Ar command_file ファイル .Ar command_file に記述されたコマンドをコマンドリストに追加します。 編集コマンドは 1 行ごとに記述します。 .It Fl n デフォルトでは、入力行は、すべてのコマンドを適用した後に標準出力に書 き出されます。 .Fl n オプションはこの動作を禁止し、明示的な出力コマンド ( .Dq p 等)が適用された入力のみを出力します。 .El .Pp .Nm のコマンドは以下の形式です。 .sp .Dl [address[,address]]function[arguments] .sp 最初の address の前と function の前に空白を置くことができます。 .Pp 通常 .Nm は、入力ファイルの各行を改行コードを含めずに .Em "パタンスペース" にコピーし( .Dq D 関数の後でパタンスペースになにか残っている場合を除きます)、 順にコピーされた内容に適応する address 指定を持つコマンドを 適用し、パタンスペースの内容を改行を付与して標準出力へ書き出し、パ タンスペースを消去するという動作を繰り返します。 .Pp いくつかの関数は、パタンスペースの一部または全部を保持できる .Em "ホールドスペース" を利用します。ホールドスペースの内容は、以降の処理に用いることができ ます。 .Sh "sed の address 表記" address の指定は必須ではありません。address は行番号 (複数の入力ファイ ルに対しては通し番号を用います)、入力の最後の行を示すドル記号 .Pq Dq $ 、コンテキストアドレス (区切り記号にはさまれた正規表現) のいずれかです。 .Pp address 指定を持たないコマンドは、すべてのパタンスペースを選択します。 .Pp 1つの address 指定を持つコマンドは、その address 指定にマッチする すべてのパタンスペースを選択します。 .Pp 2 つの address 指定を持つコマンドは、address の両端を含んだ範囲を 選択します。 この範囲は、1 つめの address にマッチしたパタンスペースで始まり、 その後に続く 2 つめの address にマッチしたパタンスペースで終わります。 2 つめの address が、1 つめの address で選択された行番号以下の 番号である場合、1 つめの address が指定する行のみ選択されます。 2 つめの address がコンテキストアドレスである場合、sed は、 1 つめの address にマッチしたパタンスペースを 2 つめの address に再びマッチさせようとはしません。sed は、選択された範囲の 次の行から、1 つめの address にマッチする行の検索を 再開します。 .Pp エクスクラメーション関数 .Pq Dq ! を用いることにより、address で選択されていない範囲に編集コマンドを適用させることもできます。 .Sh "sed の正規表現" +.Nm sed +で使われる正規表現は、デフォルトでは Basic Regular expression (BRE +.Xr re_format 7 +を参照) です。 .Nm -で用いる正規表現は、Basic Regular expression (BRE、 -.Xr regex 3 -を参照) -です。BRE に加え、 +は、 +.Fl E +フラグを指定されると、拡張 (モダン) 正規表現を使用可能です。 +正規表現に加え、 .Nm では以下の拡張がなされています。 .sp .Bl -enum -compact .It コンテキストアドレスにおいて、バックスラッシュ .Pq Dq \e と改行以外の文字を正規表現の区 切りとして用いることできます。区切り文字の直前にバックスラッシュを置く ことで、区切り文字をリテラルに解釈させることができます。たとえば、コンテキ ストアドレス \exabc\exdefx において、区切り文字は .Dq x で、2つめの .Dq x は .Dq x という文字を表します。よって、正規表現は .Dq abcxdef と解釈されま す。 .sp .It エスケープシーケンス \en は、パタンスペースに埋め込まれた改行にマッチします。 しかし、address と置換コマンド中にリテラルな改行を含めること はできません。 .El .Pp .Nm の正規表現には、デフォルト値の機能があります。 もし、正規表現が空、すなわち、区切りのみが指定されたなら、直前に用いられた正規表 現が用いられます。直前の正規表現とは、最後に使われた address または置換 コマンド中の正規表現です。最後とは実行時の順番であり、指定さ れたコマンドの並びとは異なります。たとえば、 .Dq /abc/s//XXX/ はパタン .Dq abc を .Dq XXX で置換します。 .Sh "sed の関数" 以下のコマンドの一覧では、指定可能な最大 address 数を、[0addr]、 [1addr]、[2addrs] と表記しています。これらは、それぞれ最大 0、1、2 個 の address を指定することができることを意味します。 .Pp .Em text 引数のテキストは複数行に渡ることができます。改行の直前にバックスラッシュ を置くことで、テキストに改行を含めることができます。その他のバックスラッ シュは取り除かれ、直後の文字がリテラルに解釈されます。 .Pp .Dq r と .Dq w 関数は、オプショナルなファイル名引数をとります。ファイル名は、 関数名のあとに空白を置いてから指定する必要があります。引数として指定され たファイルは、入力ファイルの処理を開始する前に作成(または、内容を消去)し ます。 .Pp .Dq b , .Dq r , .Dq s , .Dq t , .Dq w , .Dq y , .Dq ! , .Dq \&: 関数は、オプショナルな引数をとることが できます。以下の一覧に、どの引数が関数名のあとに空白を置いてから指定し なければならないかが記述してあります。 .Pp 2つの関数は引数として関数リストをとります。関数リストは、以下の形式の 改行で区切られた .Nm 関数の羅列です。 .Bd -literal -offset indent { function function ... function } .Ed .Pp .Dq { の前後に空白を置くことができます。関数の前に空白を置くことができま す。最後の .Dq } は、改行の直後に置く必要があります。 .Dq } の直前に空白を置 くこともできます。 .sp .Bl -tag -width "XXXXXX" -compact .It [2addr] function-list 選択されたパタンスペースに関数リストを適用します。 .sp .It [1addr]a\e .It text .br 次の入力行を読み込む直前に .Em text を標準出力に書き出します。 これは .Dq N 関数によって実行される場合でも新しい繰り返しの開始時であっても変わりません。 .sp .It [2addr]b[lable] 指定された label を持つ .Dq \&: 関数に分岐します。label が指定さ れていない場合は、スクリプトの最後に分岐します。 .sp .It [2addr]c\e .It text .br パタンスペースを削除します。address が指定されていない場合と、1つだけ 指定された場合は .Em text が標準出力に書き出されます。2つの address が 指定された場合は、選択された範囲の最終行を処理した後に、text が標準出力に書き出されま す。 .sp .It [2addr]d パタンスペースを削除し、次の繰り返しを開始します。 .sp .It [2addr]D パタンスペースの最初の改行までの部分を削除し、次の繰り返しを開始します。 .sp .It [2addr]g ホールドスペースの内容をパタンスペースにコピーします。 .sp .It [2addr]G 改行文字とホールドスペースの内容をパタンスペースに追加します。 .sp .It [2addr]h パタンスペースの内容をホールドスペースにコピーします。 .sp .It [2addr]H 改行文字とパタンスペースの内容をホールドスペースに追加します。 .sp .It [1addr]i\e .It text .br 標準出力に .Em text を書き出します。 .sp .It [2addr]l パタンスペースの内容を読めるような以下の形式で出力します。 .sp .Bl -tag -width "carriage-returnXX" -offset indent -compact .It backslash \e\e .It alert \ea .It form-feed \ef .It newline \en .It carriage-return \er .It tab \et .It vertical tab \ev .El .Pp 印字不可能な文字は、各バイトごとに .Dq \e に続いて 3 桁の 8 進数で出力されま す (Most Significant Byte が先頭です)。 長い行は折り返して表示されます。折り返した部分は .Dq \e に続く改行で 示されます。各行の最後には .Dq $ が出力されます。 .sp .It [2addr]n もし、( .Fl n オプションによって)デフォルトの出力が停止されていないなら、 パタンスペースの内容を標準出力に書き出します。 また、パタンスペースを次の入力行 で置き換えます。 .sp .It [2addr]N パタンスペースに、次の入力行を追加します。このとき、元の内容との 間に改行を埋め込みます。現在の行番号が変化することに注意してください。 .sp .It [2addr]p パタンスペースの内容を標準出力に書き出します。 .sp .It [2addr]P パタンスペースの最初の改行までの内容を標準出力に書き出します。 .sp .It [1addr]q スクリプトの残りをスキップし、次の繰り返しを開始せずに終了します。 .sp .It [1addr]r file 次の入力行を読み込む直前に、ファイル .Em file の内容を標準出力に書き出します。 .sp .It [2addr]s/regular expression/replacement/flags パタンスペース内で、 regular expression に対応する最初の部分を replacement で 置換します。バックスラッシュと改行以外の文字をスラッシュのかわりに用 いることができます。regular expression と replacement の中に、リテラルな区切り文 字を置きたいときは、 .Dq \e に続けて区切り文字を置きます。 .Pp replacement 中のアンパサンド .Pq Dq & は、regular expression にマッチした文 字列に置換されます。 .Dq & の前に .Dq \e を置くことで、この特殊な .Dq & の解釈を禁止 することができます。 .Dq \e# ( .Dq # は数字)は、regular expression の 後方参照(back reference)表現にマッチするテキストに置換されます( .Xr re_format 7 参照)。 .Pp replacement に改行を含めることで、入力行を分割することができます。 改行の直前に .Dq \e を置くことで、replacement 中に改行を含めることができ ます。 .Pp s 関数の .Em flags には、以下のものを0個以上指定できます。 .Bl -tag -width "XXXXXX" -offset indent .It "0 ... 9" パタンスペースの N 回目にマッチした内容を replacement で置換します。 .It g 先頭だけではなく、重なりあわない全てのマッチした内容を replacementで置換します。 .It p 置換が行われたら、パタンスペースの内容を標準出力に書き出します。 もし、置換後の内容が置換前のものと同一でも置換が行われたとみなします。 .It w Em file もし置換が行われたなら、パタンスペースの内容をファイル .Em file に追加します。 もし、置換後の内容が置換前のものと同一でも置換が行われたとみなします。 .El .sp .It [2addr]t [label] 入力行が読み込まれてから、あるいは .Dq t 関数が実行されてから、置換が 行われていれば、指定した label を持つ .Dq \&: コマンドへ分岐します。label が指 定されていない場合は、スクリプトの最後に分岐します。 .sp .It [2addr]w Em file パタンスペースの内容をファイル .Em file に追加します。 .sp .It [2addr]x パタンスペースとホールドスペースの内容を交換します。 .sp .It [2addr]y/string1/string2/ .Em string1 に現れるパタンスペース中の文字を .Em string2 の対応した 文字に置換します。たとえば、`y/abc/ABC/' はパタンスペース中の文字 a、b、c を大文字に置換します。 `\e' と改行以外のすべての文字を区切りとし て用いることができます。 .Em string1 、 .Em stirng2 中では、`\e' 直後に改行以外の文字が続く場合はリテラルに解釈され、 `\en' は改行と解釈されます。 .sp .It [2addr]!function .It [2addr]!function-list 関数または関数リストを、 address で選択されていない行に適用します。 .sp .It [0addr]:label この関数は何も行いません。 .Dq b 、 .Dq t で用いるラベルを生成します。 .sp .It [1addr]= 行番号と改行を標準出力に書き出します。 .sp .It [0addr] 空行は無視されます。 .sp .It [0addr]# .Dq # とそれ以降の文字は無視されます(コメントとして扱われます)。 ただし、ファイルの行頭の 2 文字が `#n' の場合、デフォルトの出力が禁止されます。これは、コマンドライン に .Fl n オプションを指定した場合と等価です。 .El .Pp .Nm は成功すれば、終了ステータス 0 を、失敗すれば 0 より大きな 終了ステータスを返します。 .Sh 関連項目 .Xr awk 1 , .Xr ed 1 , .Xr grep 1 , .Xr regex 3 , .Xr re_format 7 .Sh 歴史 .Nm は .At v7 で登場しました。 .Sh 規格 本 .Nm の関数は .St -p1003.2 のスーパセットとなっているはずです。 diff --git a/ja_JP.eucJP/man/man5/aliases.5 b/ja_JP.eucJP/man/man5/aliases.5 index 307112aeb9..c52d4e55c6 100644 --- a/ja_JP.eucJP/man/man5/aliases.5 +++ b/ja_JP.eucJP/man/man5/aliases.5 @@ -1,85 +1,117 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. +.\" Copyright (c) 1998-2000 Sendmail, Inc. and its suppliers. +.\" All rights reserved. .\" Copyright (c) 1983, 1997 Eric P. Allman. All rights reserved. .\" Copyright (c) 1985, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" -.\" @(#)aliases.5 8.8 (Berkeley) 5/19/1998 -.\" jpman %Id: aliases.5,v 1.3 1998/05/28 15:47:09 kuma Stab % +.\" %Id: aliases.5,v 8.15.4.1 2000/07/18 07:23:02 gshapiro Exp % +.\" +.\" %FreeBSD: src/contrib/sendmail/src/aliases.5,v 1.3.6.1 2000/08/27 17:31:25 gshapiro Exp % .\" .\" WORD: alias (名)別名(sendmail),エイリアス(csh)(動)エイリアスする(sendmail)[aliases.5,csh.1] .\" -.Dd May 19, 1998 -.Dt ALIASES 5 -.Os BSD 4 -.Sh 名称 -.Nm aliases -.Nd sendmail のためのエイリアスファイル -.Sh 書式 -.Nm aliases -.Sh 解説 +.TH ALIASES 5 "%Date: 2000/07/18 07:23:02 %" +.SH 名称 +.B aliases +\- sendmail のためのエイリアスファイル +.SH 書式 +.B aliases +.SH 解説 このファイルには、 -.Pa /usr/sbin/sendmail +sendmail が使用する、ユーザ -.Tn ID +ID の別名を記述します。 このファイルは -.Pa /etc +/etc/mail に置かれる、下記の形式の一連の行です。 -.Bd -filled -offset indent -name: name_1, name_2, name_3, . . . -.Ed -.Pp -.Em name +.IP +name: addr_1, addr_2, addr_3, . . . +.PP +.I name はエイリアスする名前、 -.Em name_n +.I name_n はその名前の別名です。 +.I addr_n +は、別の別名、ローカルユーザ名、ローカルファイル名、コマンド、 +インクルードファイル、外部アドレスのいずれかです。 +.TP +.B ローカルユーザ名 +username +.IP +username は、getpwnam(3) で使用可能であることが必要です。 +.TP +.B ローカルファイル名 +/path/name +.IP +フルパス名 (スラッシュ (/) で開始) で指定されたファイルに、 +メッセージが追加されます。 +.TP +.B コマンド +|command +.IP +コマンドはパイプシンボル (|) で開始し、メッセージを標準入力から受け取ります。 +.TP +.B インクルードファイル +:include: /path/name +.IP +パス名にあるエイリアスが、 +.I name +のエイリアスに追加されます。 +.TP +.B E-Mail アドレス +user@domain +.IP +RFC 822 書式の e-mail アドレス。 +.PP 空白ではじまる行は継続行です。 -.Ql # +行を続ける別の方法として、改行の前にバックスラッシュを置く方法があります。 +# ではじまる行はコメントです。 -.Pp +.PP エイリアスはローカル名でのみ適用されます。 ループは起りえません。 なぜなら、メッセージは同じ人に複数回送られないからです。 -.Pp +.PP エイリアス適用後、ローカルかつ有効な受信者で -.Dq Pa .forward +``.forward'' ファイルをホームディレクトリに持つ人のメッセージは、 このファイルに定義された一連のユーザに転送されます。 -.Pp +.PP これは単なる生のデータファイルです; 実際のエイリアス情報は -.Xr newaliases 1 +newaliases(1) プログラムを使用することにより、バイナリ形式でファイル -.Pa /etc/aliases.db +/etc/mail/aliases.db に置かれます。aliases ファイルを更新したときには、その内容を反映させるために、 -.Xr newaliases +newaliases コマンドを実行する必要があります。 -.Sh 関連項目 -.Xr newaliases 1 , -.Xr dbm 3 , -.Xr dbopen 3 , -.Xr sendmail 8 -.Rs -.%T "SENDMAIL Installation and Operation Guide" -.Re -.Rs -.%T "SENDMAIL An Internetwork Mail Router" -.Re -.Sh バグ -.Xr sendmail +.SH 関連項目 +newaliases(1), +dbm(3), +dbopen(3), +sendmail(8) +.PP +.I +SENDMAIL Installation and Operation Guide. +.PP +.I +SENDMAIL An Internetwork Mail Router +.SH バグ +sendmail を NEWDB サポート付きではなく DBM サポート付きでコンパイルした時には、 エイリアス 1 つがおよそ 1000 バイトまでの情報に限るという -.Xr dbm 3 +dbm(3) の制約が問題となるかもしれません。 このような場合に長いエイリアスを使用するためには ``連鎖'' を使用します; これは別名の最後の名前をダミーの名前にし、 これを引続き別の別名として使用するというものです。 -.Sh 歴史 -.Nm +.SH 歴史 +.B aliases ファイルフォーマットは -.Bx 4.0 +4.0BSD に登場しました。 diff --git a/ja_JP.eucJP/man/man5/login.conf.5 b/ja_JP.eucJP/man/man5/login.conf.5 index 843b8956ac..240dc58dc0 100644 --- a/ja_JP.eucJP/man/man5/login.conf.5 +++ b/ja_JP.eucJP/man/man5/login.conf.5 @@ -1,359 +1,360 @@ .\" Copyright (c) 1996 David Nugent .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, is permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice immediately at the beginning of the file, without modification, .\" this list of conditions, and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. This work was done expressly for inclusion into FreeBSD. Other use .\" is permitted provided this notation is included. .\" 4. Absolutely no warranty of function or purpose is made by the author .\" David Nugent. .\" 5. Modifications may be freely made to this file providing the above .\" conditions are met. .\" -.\" %FreeBSD: src/lib/libutil/login.conf.5,v 1.22.2.2 2000/07/18 09:45:40 sheldonh Exp % +.\" %FreeBSD: src/lib/libutil/login.conf.5,v 1.22.2.3 2000/09/20 09:53:24 jkh Exp % .\" .\" jpman %Id: login.conf.5,v 1.3 1998/07/21 23:10:00 jsakai Stab % .Dd November 22, 1996 .Dt LOGIN.CONF 5 .Os FreeBSD .Sh 名称 .Nm login.conf .Nd ログインクラス ケーパビリティ データベース .Sh 書式 .Pa /etc/login.conf , .Pa ~/.login_conf .Sh 解説 .Nm login.conf には、ログインクラスについてのさまざまな属性やケーパビリティが 含まれています。 ログインクラス (ユーザアカウントデータベースである .Pa /etc/master.passwd のそれぞれの行について自由に設定できる注釈) は、セッションの アカウンティングやリソース制限、ユーザ環境設定などを決定します。 ログインクラスはシステム内のさまざまなプログラムから利用され、 ユーザのログイン環境を設定するほか、 ポリシー、アカウンティング及び管理上の制限を設定します。 ログインクラスはまた、 システムや利用可能な種々の認証機構に対するユーザ認証手段を提供します。 .Pp システムのユーザクラスケーパビリティデータベースである .Pa /etc/login.conf の中の "default" という特別なレコードは、 .Pa /etc/master.passwd 内に有効なログインクラスを持たない root 以外のすべてのユーザに よって自動的に使われます。有効なログインクラスを持たない uid が 0 の ユーザは、"root" レコードが存在する場合はそのレコードが、 存在しない場合は "default" レコードがログインクラスとして使われます。 .Pp FreeBSD においては、個々のユーザは .Pa .login_conf というファイルをホームディレクトリに作成することができます。 このファイルは (/etc/login.conf と) 同じフォーマットで、 レコード id が "me" である 1 エントリのみで構成されます。 もし .login.conf が存在するならば、このファイルは .Xr login 1 によって使用され、システムのログインケーパビリティデータベースによって 指定されたユーザ環境設定を上書き設定します。 その際、ログインケーパビリティのサブセット、 典型的には承認やリソース制限そしてアカウンティングを含まないもの のみが上書きされます。 .Pp クラスケーパビリティデータベースのレコードは、コロンで区切られた いくつかのフィールドから構成されています。 各レコードの最初のフィールドは、レコードを特定するための 1 つまたは複数の名前で、それらは '|' 文字で区切られます。 その最初の名前が、最も一般化された短縮名称です。 最後の名前は、ログインケーパビリティエントリをより分かりやすく説明した 長い名前であるべきで、他の名前はその同義語です。 すべての名前は小文字かつ空白を含まないようにすべきですが、 最後の名前は可読性を考慮して、大文字やブランクを含んでいてもよいでしょう。 .Pp ケーパビリティデータベースのフォーマットについての詳細な説明は .Xr getcap 3 を参照してください。 .Sh ケーパビリティ データベース内のそれぞれの行に含まれるフィールドは、 .Xr getcap 3 の慣習に従い、ブール型、文字列型 .Ql \&= 数値型 .Ql \&# があります。 しかしながら数値データのところは、数値型が拒否され文字列型が 受け入れられることがあったり、両方の書式が受け入れられることもあります。 値は次のカテゴリに分類されます。 .Bl -tag -width "program" .It file データファイルへのパス名 .It program 実行可能ファイルへのパス名 .It list コンマや空白で区切られた値のリスト (または値の組) .It path 普通の csh の慣習に従った、空白やコンマで区切られたパス名のリスト (先頭のユーザ名を伴う/伴わないチルダはホームディレクトリに展開される等) .It number 10 進数 (デフォルト)、16 進数 (0x で始まる)、または 8 進数 (0 で始まる) の 数値型の値。数値型の場合、設定できる値は 1 つだけです。 数値型は文字列型のフォーマットでも指定できる場合があります (ケーパビリティタグ '#' の代わりに '=' で値が区切られているなど)。 どの方法が使われた場合でも、データベース中のすべての行は修正したい行の値を 正確に上書きするために、同じ方法を用いなければなりません。 .It size サイズを表す文字。単位のデフォルトの解釈はバイトで、サフィックスに よって別の単位を指定できます。 .Bl -tag -offset indent -compact -width xxxx .It b 512 バイトブロックの明示的な指定 .It k キロバイトの指定 (1024 バイト) .It m 1 メガバイトの乗数の指定 (1048576 バイト) .It g ギガバイト単位の指定。そして .It t テラバイトの記述。 .El サイズの値は数値であり、サフィックスの大文字小文字は重要ではありません。 連続した値は足し込まれます。 .It time 時間の期間。デフォルトの単位は秒。 プレフィックスによって別の単位を指定できます。 .Bl -tag -offset indent -compact -width xxxx .It y 1 年を 365 日で数えた年数の指定 .It w 週の数の指定 .It d 日数 .It h 時間数 .It m 分数 .It s 秒数 .El 連続した値は足し込まれます。 たとえば 2 時間 40 分は 9600s、160m または 2h40m と 表現することができます。 .El .Pp 特別な .Em tc=value 表記を使用することにより、通常の約束事であるケーパビリティエントリの 補間が可能です。 .Pp .Sh リソース制限 .Bl -column coredumpsize indent indent .Sy Name Type Notes Description .It cputime time CPU 使用制限 .It filesize size ファイルサイズの最大値制限 .It datasize size データサイズの最大値制限 .It stacksize size スタックサイズの最大値制限 .It coredumpsize size コアダンプサイズの最大値制限 .It memoryuse size コアメモリ使用量の最大値制限 .It memorylocked size コアメモリロック可能量の最大値制限 .It maxproc number プロセス数の最大値制限 .It openfiles number プロセスごとにオープンできるファイル数の最大値制限 .It sbsize size 最大のソケットバッファサイズ .El .Pp これらのリソース制限エントリは、実際には最大値と現在の 制限値の両方を指定します ( .Xr getrlimit 2 を参照してください)。 普通は現在の制限値 (ソフトリミット) が使われますが、 ユーザは現在の制限値を最大制限値 (ハードリミット) まで増やすことが 許されています。 最大制限値と現在の制限値はケーパビリティ名に各々 -max 及び -cur を 追加することによって指定できます。 .Pp .Sh 環境 .Bl -column ignorenologin indent xbinxxusrxbin .Sy Name Type Notes Description .It charset string $MM_CHARSET 環境変数の明示的な設定値 .It hushlogin bool false ~/.hushlogin ファイルがある場合と同じ .It ignorenologin bool false nologin によってログインを禁止されません .It lang string $LANG 環境変数を指定した値に設定します .It manpath path マニュアルページのデフォルト検索パス .It nologin file このファイルが存在する場合、ファイルの内容が画面に表示され、そのログインセッションは終了されます .It path path /bin /usr/bin デフォルトコマンド検索パス .It priority number 優先度 (nice) レベルの初期値 .It requirehome bool false ログインのために有効なホームディレクトリが必要 .It setenv list コンマで区切られた環境変数とその設定値のリスト .It shell prog パスワードファイルで指定されているシェルより優先して実行されるセッションシェル。SHELL 環境変数の値は、パスワードファイルで指定されているものになります。 .It term string 他の手段によって決定できない場合のデフォルトの端末タイプ .It timezone string $TZ 環境変数のデフォルト値 .It umask number 022 umask の初期値。続く数字が 8 進数と解釈されるように、常に 0 から始めます .It welcome file /etc/motd ウェルカムメッセージが入っているファイル .El .Pp .Sh 認証 .Bl -column minpasswordlen indent indent .Sy Name Type Notes Description .It minpasswordlen number 6 ローカルパスワード文字列長の最小値 .\" .It approve program Program to approve login. .It mixpasswordcase bool true Whether すべて小文字のパスワードが入力された場合、 .Xr passwd 1 がユーザに警告します .It copyright file 追加のコピーライト情報を含んだファイル .\".It widepasswords bool false Use the wide password format. The wide password .\" format allows up to 128 significant characters in the password. .It host.allow list クラス内のユーザがアクセス可能なリモートホストワイルドカードのリスト .It host.deny list クラス内のユーザがアクセス不可なリモートホストワイルドカードのリスト .It times.allow list ログインが許されている時間帯のリスト .It times.deny list ログインが許されない時間帯のリスト .It ttys.allow list クラス内のユーザがアクセスに使用できる端末と端末グループのリスト .It ttys.deny list クラス内のユーザがアクセスに使用不可な端末と端末グループのリスト .El .Pp これらのフィールドは、ログイン認証システムの中で .Xr passwd 1 や、その他のプログラムから使用される予定です。 .Pp 環境変数を設定するケーパビリティは、その中の文字 .Ql \&~ と .Ql \&$ の両方がスキャンされ、これらはそれぞれ ユーザのホームディレクトリ及びユーザ名に置換されます。 環境変数中にこれらの文字をそのまま含める場合には、 その前にバックスラッシュ '\\' をつけてエスケープします。 .Pp .Em host.allow と .Em host.deny エントリはコンマで区切られたリストで、システムへのリモートアクセスの チェックに使われます。 これらはホスト名か IP アドレスまたはその両方を含むリストからなり、 それらに対してリモートログインのチェックが行われます。 このリストの各項目は、ワイルドカード一致用にシェルプログラムが使用しているのと 同じ書式のワイルドカードを含むことができます (実装の詳細は .Xr fnmatch 3 を参照してください)。 ホストのチェックは、リモートシステムのインターネットアドレス と (もし有効なら) ホスト名の両方をつきあわせて行われます。 両方のリストが空かもしくは指定されていない場合、あらゆるリモートホスト からのログインは許可されます。 host.allow が 1 つかそれ以上のホストを含む場合、リスト中の 各項目のどれかにマッチしたリモートシステムのみがログインを許されます。 host.deny が 1 つかそれ以上のホストを含む場合、そのリストのどれかに マッチしたホストからのログインが禁止されます。 .Pp .Em times.allow と .Em times.deny エントリはコンマで区切られた期間のリストであり、この期間はクラス内の ユーザがログインを許されます。 これらは 1 つ以上の日のコード指定と、これに続けて 24 時間表記の開始時刻と 終了時刻をハイフンまたはダッシュで区切ったものとして表現されます。 たとえば MoThSa0200-1300 は、月、木、土の 午前 2 時から午後 1 時と解釈されます。 これらの時間指定リストの両方が空だった場合、クラス内のユーザはいつでもアクセス 可能になります。 .Em times.allow が指定されている場合、ログインは指定された期間のみ許可されます。 もし .Em times.deny が指定されている場合、 .Em times.allow の中で期間が指定されているかどうかに関わらず、指定された期間は ログインできなくなります。 .Pp .Xr login 1 が強制することは、これらのエントリにより許可された期間内に実際の ログインが行なわれることのみである点に注意して下さい。 セッションの生存期間に関して更なる規制をかけるには、別のデーモンを用意し、 許可されている期間から許可されていない期間への 遷移を監視する必要があります。 .Pp .Em ttys.allow と .Em ttys.deny エントリは、クラス内のユーザがシステムにアクセスするために使う コンマで区切られた (/dev/ プレフィックスを除く) 端末デバイスと、 端末グループ (ttygroup) のリストです (ttygroup の詳細は .Xr getttyent 3 と .Xr ttys 5 を参照して下さい)。 どちらのエントリも存在しない場合、ユーザが使用するログインデバイスの選択には 制限はありません。 .Em ttys.allow のみ指定されている場合、ユーザの使えるデバイスは指定されたグループ またはデバイスリストのみに制限されます。 .Em ttys.deny のみ指定されている場合、ユーザは指定されたデバイスやデバイス グループを使用できません。 両方が与えられていてかつどちらも空でない場合、ユーザは ttys.allow で指定されていて、ttys.deny では指定されていないデバイス群のみ 使用できます。 .Sh アカウント制限 .Bl -column host.accounted indent indent .Sy Name Type Notes Description .It accounted bool false このクラス内の全ユーザの セッション時間アカウウンティングを有効化 .It autodelete time アカウント失効後自動で削除されるまでの時間 .It bootfull bool false セッション終了時の「ttygroup が一杯の場合にのみブート」戦略を 有効にする .It daytime time 1 日あたりのログイン最大時間 .It expireperiod time 期限切れまでの割り当て時間 .It graceexpire time 失効したアカウントの猶予日数 .It gracetime time 追加された、猶予ログイン許可時間 .It host.accounted list ログインセッションがアカウントされる リモートホストワイルドカードのリスト .It host.exempt list ログインセッションのアカウンティング を免除されたリモートホストワイルドカードのリスト .It idletime time ログアウトまでの最大アイドル時間 .It monthtime time 月毎の最大ログイン時間 .It passwordtime time 次回パスワード無効日を指定するために .Xr passwd 1 が使用 .It refreshtime time アカウントのリフレッシュ許可時間 .It refreshperiod str リフレッシュが行なわれる頻度 .It sessiontime time セッション毎の最大ログイン時間 .It sessionlimit number すべてのグループに対する tty 上の 同時最大ログイン数 .It ttys.accounted list ログインアカウントが有効な tty と ttygroup のリスト .It ttys.exempt list ログインアカウントが無効な tty と ttygroup のリスト .It warnexpire time 失効しそうなアカウントに対する事前の注意を 行なう時間 .It warnpassword time 失効しそうなパスワードに対する事前の 注意を行なう時間 .It warntime time 時間切れになりそうな場合に対する事前の注意を 行なう時間 .It weektime time 1 週間毎の最大ログイン時間 .El .Pp これらのフィールドは、ユーザのログインアクセスを規制、コントロール、記録する タイムアカウンティングシステムによって使われます。 .Pp .Em ttys.accounted と .Em ttys.exempt フィールドは、先に述べた .Em ttys.allow と .Em ttys.deny と同じような方法で状態を操作します。 .Em host.accounted と .Em host.exempt のリストも同様です。 .Sh 関連項目 +.Xr cap_mkdb 1 , .Xr login 1 , .Xr getcap 3 , .Xr getttyent 3 , .Xr login_cap 3 , .Xr login_class 3 , .Xr passwd 5 , .Xr ttys 5 diff --git a/ja_JP.eucJP/man/man5/pccard.conf.5 b/ja_JP.eucJP/man/man5/pccard.conf.5 index 12be0e60a7..eabc33981d 100644 --- a/ja_JP.eucJP/man/man5/pccard.conf.5 +++ b/ja_JP.eucJP/man/man5/pccard.conf.5 @@ -1,270 +1,270 @@ .\" jpman %Id: pccard.conf.5,v 1.3 1998/07/10 15:23:53 jsakai Stab % .\" .\" Copyright (c) 1994 Andrew McRae. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/pccard/pccardd/pccard.conf.5,v 1.12.2.4 2000/07/18 18:29:27 imp Exp % +.\" %FreeBSD: src/usr.sbin/pccard/pccardd/pccard.conf.5,v 1.12.2.5 2000/09/15 19:19:28 iwasaki Exp % .\" .\" WORD: resource リソース[pccard.conf.5] .\" .Dd November 2, 1994 .Dt PCCARD.CONF 5 .Os FreeBSD .Sh 名称 .Nm pccard.conf .Nd .Xr pccardd 8 設定ファイル .Sh 解説 .Nm pccard.conf ファイルは、PC-CARD スロット管理デーモン .Xr pccardd 8 用の設定ファイルです。カードを識別し、 PC-CARD カードにドライバ (ドライバ用リソースも含む) を 対応させることが出来る情報を提供します。 .Pp 設定ファイル内には四つの基本的な要素があります。 オプションとして他のセクションに先立って .Em "リソースプール" があり、その後 1 つ以上の .Em "カード識別子" と .Em "デバイス実体" が続きます。 最後の 2 つはどんな順序で現れてもよく、 都合に応じてあちこちへ散在しても構いません。 .Pp .Pa /etc/pccard.conf ファイルは、デフォルトのリソースプール設定と pccard 識別子データベースを持つ .Pa /etc/defaults/pccard.conf からインクルードされます。 ユーザ固有の設定を -.Pa /etc/rc.conf +.Pa /etc/pccard.conf で指定して、これらのデフォルトを上書きしたり追加エントリを追加可能です。 .Pp それぞれの PC-CARD カードは、製造者やカードのバージョンを規定する 設定タプルを含んでいます。これらは、設定ファイル中でカードの仕様を 特定するのに使われ、それによって、そのカードとインタフェースをとれる ドライバを見つけます。 カードとドライバの間には、多対 1 の対応関係があります。すなわち、 単一のドライバが複数の型のカードにインタフェースをとることがあります。 この助けとして、ドライバの指定とは別に、カードの初期化や (ネットワークカードの場合なら) イーサネットアドレスの取り出し用に パラメータを指定することもできます。 .Pp ドライバは一度カードに割り当てられると、そのカードに割り当てられた ままになります。しかし、同じ型のドライバの複数の実体が設定される こともあるため、もし、同じの型のドライバが対応づけられているカードが 2 枚挿し込まれたら、同じ名前で別のドライバ実体が設定される可能性があります。 .Pp .Em insert と .Em remove コマンドは、実行可能なシェルコマンド行を指定することができます。 実行されるコマンドは、そのキーワードの後の行の残りです。 行は、バックスラッシュを使って継続することができます。 簡単なマクロ置換によって、現在のカーネルのデバイス名 .Em ( $device ) とネットワークカードのイーサネットアドレス .Em ( $ether ) をコマンド行へ入れることが可能です。 .Xr pccardd 8 は、コマンド行を実行するために .Xr system 3 サブルーチンを使います。 .Pp .Xr pccardd 8 は、syslog を使用して、カードの挿抜をアナウンスします。 .Em logstr コマンドで設定された文字列を使用するか、 これが設定されていない場合には、製造者とカードバージョンの文字列を使用します。 .Pp 数値は 8 進数、16 進数、10 進数のいずれかの表現をとります。 もし 10 進数に .Em k か .Em K が付いていれば、その値は 1024 を掛けたものになります。 名前にスペースを含める必要があるならば、 ダブルクォートで括っておくとよいでしょう。 ハッシュ文字 (#) は、その行の残りをコメントにします。 .Ss "リソースプール" この (オプションである) セクションは、ISA バスのメモリアドレス空間や I/O ポート、割込み要求番号 (IRQ) といったシステムリソースのプールを指定します。 このリソースプールは、それぞれのドライバの記述中で指定された要求に応じて、 動的にアドレス空間や割り込み番号を割り当てるのに使われます。 .Pp リソースに関する構文は以下の通りです。 .Pp .Dl io Ar start - end ... .Dl memory Ar address size ... .Dl irq Ar irq-number ... .Pp 各文では、初期化時にドライバへ割り当てるのに使える、 I/O やメモリや IRQ のブロックを定義します。 .Pp デバッグレベルパラメータの文法は次の通りです: .Pp .Dl debuglevel Ar level .Pp 上の文はどれも複数行にすることができ、 これで各々のリソースをかたまりに分けて定義することができます。 .Ss "カード識別子" カード識別子の構文は以下の通りです。 .Pp .Dl card Ar manufacturer version [ add_info1 [ add_info2 ]] .Dl config Ar index driver interrupt [ flags ] .Dl ether Ar offset .Dl reset Ar time .Dl iosize Ar size .Dl memsize Ar size .Dl insert Ar command .Dl remove Ar command .Dl logstr Ar string .Pp 第 1 行は必須です。あとの文はオプションであり、 どのような順序で現れても構いません。 .Em config 行は複数存在することもあります。 .Em card のパラメータには、製造者名、カードのバージョン、 そして追加情報 add_info1 と add_info2 があり、 カードの CIS メモリから得た値との一致をみるのに使われます。 \&"/.*/" のように '/' で文字列を括れば、 これらのパラメータは、拡張正規表現 .Xr regex 3 で記述可能です。 各式は、先頭において文字 '^' で評価されます。 .Pp .Em config パラメータは、 カードの CIS で得られる範囲からそのカードの設定インデックスを選択し、 この設定で関連づけられたドライバを選択し、 そして (もしあれば) 割り当てられるべき割り込みレベルを選択します。 オプションとしてフラグの集合を割り当てることもできます。 .Ar index では、``auto'' または ``default'' か、 カードの CIS から取得可能な取得可能な範囲を指定します。 ``auto'' により、CIS から取得される情報と使用中の I/O リソースの状態から、 自動的にリソースを割り当て可能です。 .Pp オプションの .Em ether キーワードは、カードの属性メモリ内に ネットワークカードの物理イーサネットアドレスが保持されているときに使われます。 この文のパラメータは、イーサネットアドレスの属性メモリ内での オフセットを指しています。この値は、 .Em $ether マクロを使うことで、insert/remove コマンド内でも使用できます。 .Pp オプションの .Em reset キーワードは、カード挿入時のリセット期間を .Ar time ミリ秒であると指定します。 デフォルトは 100 ミリ秒です。 .Pp .Em iosize と .Em memsize のキーワードは、 I/O ポートや共有メモリブロック等のリソースが CIS タプルに指定されていない カード用に使用します。 .Pp .Em insert 及び .Em remove セクションでは、カードが挿入されたり取り外されたりしたときに 実行されるべきシェルコマンドを書くことができます。複数の .Em insert や .Em remove コマンドも書くことができ、その場合列挙された順に実行されます。 .Pp .Em logstr コマンドで、カード挿抜時にログされる文字列を、ユーザが指定可能です。 .Em logstr が指定されていない場合、 CIS 中の製造者とカードバージョンの文字列を使用して、出力文字列を生成します。 .Ss ワイルドカードエントリ 次の、カード識別子の 2 個のワイルドカードエントリは、 汎用カードに使用可能です: .Pp .Dl generic serial .Dl generic fixed_disk .Pp キーワード .Em serial は ``Functional ID: Serial port/modem'' にマッチし、 .Em fixed_disk は ``Fixed disk card' にマッチします。 構文は .Em "card identifiers" と同じですが、最初の行で ``card'' の代りに ``generic'' が使用されます。 これらは、 .Nm の最後に置かれ、他の .Em card エントリにマッチしなかったカードが次にこれらにマッチできるようにします。 歴史的な事情で、 エイリアス ``function'' を ``generic'' の代りに使用可能です。 .Pp .Sh 使用例 典型的な設定ファイルは以下のような体裁でしょう。 .Bd -literal # # サンプル設定ファイル # # パラメータのプール # io 0x280 - 0x2F0 0x300 - 0x360 irq 5 6 8 9 10 15 memory 0xd4000 96k memory 0xc4000 32k # # カードデータベース # card "RPTI LTD." "EP400" # NE2000 clone ether 0x110 config 0x21 "ed0" 5 insert ifconfig $device physical $ether insert ifconfig $device bean remove ifconfig $device down card "XYZZY" "FAX/1.0" tty config 0x30 "sio1" 11 insert echo start getty remove echo stop getty .Ed .Sh 関連ファイル .Bl -tag -width /etc/defaults/pccard.conf -compact .It Pa /etc/defaults/pccard.conf .Xr pccardd 8 の設定ファイル。 .It Pa /etc/pccard.conf ユーザの設定ファイル。 .El .Sh 関連項目 .Xr pccardd 8 diff --git a/ja_JP.eucJP/man/man7/mdoc.samples.7 b/ja_JP.eucJP/man/man7/mdoc.samples.7 index 3850589227..4fe37bd6b5 100644 --- a/ja_JP.eucJP/man/man7/mdoc.samples.7 +++ b/ja_JP.eucJP/man/man7/mdoc.samples.7 @@ -1,2845 +1,2847 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mdoc.samples.7 8.2 (Berkeley) 12/30/93 -.\" %FreeBSD: src/share/man/man7/mdoc.samples.7,v 1.28.2.4 2000/06/24 23:03:42 mpp Exp % +.\" %FreeBSD: src/share/man/man7/mdoc.samples.7,v 1.28.2.5 2000/09/22 14:37:16 phantom Exp % .\" .\" This tutorial sampler invokes every macro in the package several .\" times and is guaranteed to give a worst case performance .\" for an already extremely slow package. .\" .\" jpman %Id: mdoc.samples.7,v 1.4 1999/01/21 17:52:58 kuma Stab % .\" .\" WORD: display 表示内容 .\" WORD: angle bracket カギ括弧 <> .\" WORD: keep キープ .\" WORD: display ディスプレイ .\" WORD: literal リテラル .\" WORD: content macro コンテントマクロ .\" WORD: command modifier コマンド修飾子 .\" WORD: enclosure 囲い .\" WORD: quoting クォート .\" WORD: nest 入れ子 .\" WORD: block ragged 凹凸ブロック .\" WORD: constant width character 定幅文字 .\" .Dd December 30, 1993 .Os .Dt MDOC.SAMPLES 7 .Sh 名称 .Nm mdoc.samples .Nd .Nm \-mdoc を使って .Bx マニュアルを書くためのチュートリアルサンプル .Sh 書式 .Nm man mdoc.samples .Sh 解説 .Xr troff 1 用の .Em コンテントベース でかつ .Em 領域ベース なフォーマットパッケージである .Nm \-mdoc マクロパッケージを使って .Bx マニュアルを書くためのチュートリアルサンプルです。 前身である .Xr \-man 7 パッケージはフォントの操作や他の写植方法の詳細は個々の作者に任せた ページレイアウトベースのものでした。 .Nm \-mdoc では、ページレイアウトマクロは タイトル、セクションのヘッダ、ディスプレイ、リストのマクロからなる .Em "ページ構造領域" を形成しています。 ページ構造領域に加え、 さらにマニュアル領域および一般テキスト領域の 2 つの領域があります。 一般テキスト領域はテキストの一部をクォートしたり、強調するといったような作業を 実行するマクロとして定義されています。 マニュアル領域はコマンドやルーチン、それに .Bx の関連ファイルを記述するための日常使用されるインフォーマルな言葉の サブセットであるマクロとして定義されています。 マニュアル領域のマクロはコマンド名、コマンド行の引数とオプション、 関数名、関数のパラメータ、パス名、変数名、他のマニュアルページへの クロスリファレンスなどを扱います。 これらの領域の項目は作者とマニュアルページの将来のユーザの両者に とって価値のあるものです。 マニュアル間で一貫性を高めることによって将来のドキュメントツールへの 移行が容易になることが望まれます。 .Pp マニュアルのエントリは、実際の長さに関わらず、 また男女の区別をするような意図なしで、 .Ux のマニュアルページを通して、単純に man ページとして参照されています。 .Sh さあ、始めよう 通常チュートリアルドキュメントは、そこに示された題材をすぐに使いたい時 に読むものですので、このドキュメントのユーザはせっかちな人だと 仮定しています。 このドキュメントの残りの部分で説明されている題材は以下のような構成に なっています。 .Bl -enum -offset indent .It .Tn "TROFF に特有な表現" .Bl -tag -width flag -compact -offset indent .It "マクロの使用方法" .It "引数に空白文字を指定する" .It "行末の空白文字 (警告)" .It "特殊文字のエスケープ" .El .It .Tn "MAN ページの分析" .Bl -tag -width flag -compact -offset indent .It "マニュアルページのテンプレート" .El .It .Tn "タイトルマクロ" .It .Tn "マニュアル領域および一般テキスト領域の紹介" .Bl -tag -width flag -compact -offset indent .It "この名前には何が...?" .It "一般的な構文" .El .It .Tn "マニュアル領域" .Bl -tag -width flag -compact -offset indent .It "アドレス" .It "作者名" .It "引数" .It "コンフィギュレーション宣言 (セクション 4 のみ)" .It "コマンド修飾子" .It "定義済みの変数" .It "errno (セクション 2 のみ)" .It "環境変数" .It "関数の引数" .It "関数の宣言" .It "フラグ" .It "関数 (ライブラリルーチン)" .It "関数の型" .\" .It "ヘッダファイル (ソースコードを含む)" .It "ライブラリ名" .It "対話的なコマンド" .It "名称" .It "オプション" .It "パス名" .It "標準" .It "変数" .It "クロスリファレンス" .El .It .Tn "一般テキスト領域" .Bl -tag -width flag -compact -offset indent .It "AT&T マクロ" .It "BSD マクロ" .It "FreeBSD/NetBSD/OpenBSD マクロ" .It "UNIX マクロ" .It "囲い/クォート マクロ" .Bl -tag -width flag -compact -offset indent .It "カギ括弧 <> によるクォート/囲い" .It "角括弧 [] によるクォート/囲い" .It "二重引用符マクロ/囲い" .It "括弧 () によるクォート/囲い" .It "一重引用符によるクォート/囲い" .It "プレフィックスマクロ" .El .It "no\-op もしくは通常テキストマクロ" .It "空白なしマクロ" .It "セクションのクロスリファレンス" .It "参考文献と引用" .It "戻り値 (セクション 2 および 3 のみ)" .It "商標名 (頭字語とタイプ名)" .It "拡張引数" .El .It .Tn "ページ構造領域" .Bl -tag -width flag -compact -offset indent .It "セクションヘッダ" .It "段落と行スペース" .It "キープ" .It "例示とディスプレイ" .It "フォントモード (強調、リテラル、およびシンボリック)" .It "リストと列" .El .It .Tn "定義済みの文字列" .It .Tn "診断" .It .Tn "GROFF、TROFF、および NROFF を使用したフォーマッティング" .It .Tn "バグ" .El .ne 7 .Sh TROFF に特有な表現 .Nm \-mdoc パッケージは man ページを記述するプロセスを簡単にすることを 目的としています。 .Nm \-mdoc を使うために .Xr troff 1 のゴタゴタした詳細を学ぶ必要がないのが理想ですが、 いくつか片付けるべき避けられない制限事項があります。 また、このパッケージは高速で .Em ない ということも予め警告しておきます。 .Ss マクロの使用方法 .Xr troff 1 のように、マクロは .Ql \&\. (ドット文字) を行頭に置き、それに続けて 2 文字からなるマクロの名称を指定することによって 呼び出されます。 引数はマクロの後にスペースで区切って指定することができます。 行頭にドット文字を指定することによって .Xr troff 1 にそれに続く 2 文字をマクロ名として解釈するよう指示しています。 マクロを起動せずに、ある文脈の行の先頭に .Ql \&\. (ドット文字) を置くためには、 .Ql \&\. (ドット) の前にエスケープシーケンス .Ql \e& を指定します。 .Ql \e& は文字通りスペース幅が 0 として解釈され、出力には現れません。 .Pp 一般的に .Xr troff 1 マクロは引数を 9 つまで取ることができ、それ以上指定された引数は無視されます。 .Nm \-mdoc でのほとんどのマクロは 9 つの引数を取ることができ、 限られた場合にのみ引数は次の行に続けて指定することができます ( .Sx 拡張引数 セクションを参照)。 いくつかのマクロは引用符に囲まれた引数を扱うことができます (下の .Sx 引数に空白文字を指定する セクションを参照)。 .Pp .Nm \-mdoc での一般テキスト領域とマニュアル領域のほとんどのマクロは特別であり、 その引数のリストは呼び出し可能なマクロ名として .Em 解析 されます。 これは一般テキスト領域またはマニュアル領域のマクロ名に一致し、 呼び出し可能であると判断された引数リストの中の引数は、 実行されるか、それが処理される時に呼び出されることを意味しています。 この場合、引数はマクロ名にも関わらず、 .Ql \&\. (ドット) で前置されません。 このようにしてたくさんのマクロを入れ子にすることができます。 例えばオプションマクロ .Ql \&.Op はフラグマクロ .Ql \&Fl と引数マクロ .Ql \&Ar を .Em 呼び出して 、オプションのフラグを引数とともに指定することができます。 .Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent .It Op Fl s Ar bytes は .Li \&.Op \&Fl s \&Ar bytes によって生成される .El .Pp 2 文字からなる文字列をマクロ名として解釈されないようにするには、 その文字列の前にエスケープシーケンス .Ql \e& を指定します。 .Bl -tag -width "\&.Op \&Fl s \&Ar bytes" -offset indent .It Op \&Fl s \&Ar bytes は .Li \&.Op \e&Fl s \e&Ar bytes によって生成される .El .Pp ここで文字列 .Ql \&Fl と .Ql \&Ar はマクロとして解釈されていません。 本ドキュメントと関連のクイックリファレンスマニュアル .Xr mdoc 7 を通して、 引数リストが呼び出し可能な引数として解析されるマクロは「解析される」、 引数リストから呼び出されることができるマクロは「呼び出し可能」 と表現します。 .Nm \-mdoc のほとんどすべてのマクロは解析されるのですから、これは技術的には .Em 不謹慎な ことですが、常にマクロを「呼び出し可能である」とか「他のマクロを 呼び出すことができる」と表現するのは面倒なことであるため、 「解析される」という用語が使われています。 .Ss 引数に空白文字を指定する ひとつ以上の空白文字を含む文字列をひとつの引数として指定したい場合が よくあります。 これは 9 個を越える引数を指定できないという制限に対処したり、 引数のリストにある特有な配置をおこなうことが必要なマクロに引数を指定するような 場合に必要となることがあります。 たとえば、関数マクロ .Ql \&.Fn では最初の引数は関数名であり、残りの引数が関数のパラメータであることが 必要です。 .Tn "ANSI C" の括弧で囲まれたパラメータリストにおける関数のパラメータの宣言の規定に より、各パラメータは最低でも 2 語の文字列となります。 たとえば .Fa int foo のようになります。 .Pp 空白を含む引数を指定するには 2 通りの方法があります。 .Em 実装における注 : 解析の前に個々の引数を再割り当てすることによって、 引用符の間に空白を含めて渡すのが最も便利な方法なのですが、 .Tn AT&T の .Xr troff のすべてのマクロを実装するには処理速度およびメモリ使用量の点で かなり高価な方法となります。 .Xr groff では高価な処理にはなりませんが、移植性のため、この方法は 空白を含めることが最も必要である以下のマクロだけに限っています。 .Pp .Bl -tag -width 4n -offset indent -compact .It Li \&Cd コンフィギュレーション宣言 (セクション 4 の .Sx SYNOPSIS ) .It Li \&Bl リスト開始 (幅指定用) .It Li \&Em テキスト強調 .It Li \&Fn 関数 (セクション 2 と 4) .It Li \&It リストの項目 .It Li \&Li リテラルテキスト .It Li \&Sy シンボリックテキスト .It Li \&%B 書籍のタイトル .It Li \&%J 定期刊行物のタイトル .It Li \&%O 参照の追加的な注釈 .It Li \&%R 報告書のタイトル (参照の中で) .It Li \&%T 書籍もしくは定期刊行物の中の記事のタイトル .El .Pp 空白を含む文字列を渡すのに、固定空白、すなわち詰め込まれない空白文字 .Ql \e\ を使う方法があります。すなわち、空白の前にエスケープ文字 .Ql \e を指定する方法です。 この方法はどのマクロでも使うことができますが、1 行を越える長さのテキストの 調整の邪魔になるという副作用があります。 .Xr troff では固定空白は他の印刷可能文字と同様に扱われ、通常期待されるように、 そこで文字列を空白や改行で分けることを行なわなくなります。 この方法は文字列が行の境界をまたがないであろう場合に有用です。 例えば、 .Bl -tag -width "fetch(char *str)" -offset indent .It Fn fetch char\ *str は .Ql \&.Fn fetch char\e *str によって生成される .It Fn fetch "char *str" は .Ql \&.Fn fetch "\\*qchar *str\\*q" でも生成される .El .Pp もし .Ql \e や引用符が省かれると、 .Ql \&.Fn は引数を 3 つ取り、その結果は .Pp .Dl Fn fetch char *str .Pp となります。 .Pp パラメータのリストが改行の境界をまたぐ場合に何がおこるかについては、 .Sx バグ のセクションを参照してください。 .Ss 行末の空白文字 .Xr troff は行末に空白文字があると混乱してしまうことがあります。 <空白><行末>の文字シーケンスからすべての空白文字を取り除くのは良い予防策です。 どうしても行末に空白文字をおく必要性が出てきた場合は、 詰め込まれない空白とエスケープ文字 .Ql \e& を使用することによって対応できます。 例えば、 .Ql string\e\ \e& のようにします。 .Ss 特殊文字のエスケープ 改行 .Ql \en のような特殊文字は .Ql \e を .Ql \ee で置き換える (すなわち .Ql \een とする) ことによって、バックスラッシュを残して扱うことができます。 .Sh MAN ページの分析 man ページの本文はファイル .Pa /usr/share/misc/mdoc.template の基本テンプレートを使って容易に作り上げることができます。 .Pa /usr/share/examples/mdoc にはいくつかのサンプルの man ページが収められています。 .Pp .Ss マニュアルページのテンプレート .Bd -literal -offset indent \&.\e" 以下の項目はすべての man ページで必要な項目です。 \&.Dd 月\ 日, 年 \&.Os オペレーティングシステム [バージョン/リリース] \&.Dt ドキュメントタイトル [セクション番号] [ボリューム] \&.Sh NAME \&.Nm 名称 \&.Nd 名称の 1 行での説明 \&.Sh SYNOPSIS \&.Sh DESCRIPTION \&.\e" 以下の項目については、必要に応じてコメントをはずして使用してく \&.\e" ださい。 \&.\e" .Sh IMPLEMENTATION NOTES \&.\e" この次の項目はセクション 2, 3, 9 でのみ必要な、関数の \&.\e" 戻り値です。 \&.\e" .Sh RETURN VALUES \&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 \&.\e" .Sh ENVIRONMENT \&.\e" .Sh FILES \&.\e" .Sh EXAMPLES \&.\e" 次の項目はセクション 1, 6, 7, 8, 9 でのみ必要なものです。 \&.\e" ((シェルへの)コマンドの戻り値と fprintf/stderr の型の診断 \&.\e" です。) \&.\e" .Sh DIAGNOSTICS \&.\e" .Sh COMPATIBILITY \&.\e" 次の項目はセクション 2, 3, 9 でのみ必要な、エラーハンドリングと \&.\e" シグナルハンドリングです。 \&.\e" .Sh ERRORS \&.\e" .Sh SEE ALSO \&.\e" .Sh STANDARDS \&.\e" .Sh HISTORY \&.\e" .Sh AUTHORS \&.\e" .Sh BUGS .Ed .Pp このテンプレートにおける最初の項目はマクロ .Pq Li \&.Dd , \&.Os , \&.Dt であり、それぞれドキュメントの日付、 man ページもしくは題材となっているソースの開発や変更のベースとなった オペレーティングシステム、 .Pq Em 大文字で man ページタイトルをそのページが属するマニュアルのセクション番号とともに 指定したもの、となっています。 これらのマクロはそのページを識別するものであり、後述の .Sx タイトルマクロ で議論されています。 .Pp テンプレート中の残りの項目はセクションのヘッダ .Pq Li \&.Sh であり、それらのうち .Sx NAME と .Sx SYNOPSIS と .Sx DESCRIPTION は必須項目です。 これらのヘッダについては .Sx マニュアル領域 を説明した後、 .Sx ページ構造領域 で議論されます。 いくつかのコンテントマクロはページレイアウトマクロの説明に 使われていますので、ページレイアウトマクロの前にコンテントマクロについて 読むことを推奨します。 .Sh タイトルマクロ タイトルマクロはページ構造領域の最初の部分ですが、man ページを 前日に書き始めたいという人のために、最初に分けて記述されます。 3 つのヘッダマクロでドキュメントか man ページのタイトル、 オペレーティングシステム、および原著の日付を指定します。 これらのマクロはドキュメントの最初に一度だけ呼び出されるもので、 ヘッダとフッタを構成するためだけに使用されます。 .Bl -tag -width 6n .It Li \&.Dt ドキュメントタイトル セクション番号 [ボリューム] ドキュメントタイトルは man ページの主題であり、troff の制限により .Tn 大文字 でなければいけません。 セクション番号は 1,\ ...,\ 9 となり、これが指定されると ボリュームタイトルを省略してもかまいません。 .Pp .Tn FreeBSD では、次のセクション番号と解説について後述します: .Pp .Bl -column SMM -offset indent -compact .It Li 1 FreeBSD General Commands Manual .It Li 2 FreeBSD System Calls Manaul .It Li 3 FreeBSD Library Calls Manual .It Li 4 FreeBSD Kernel Interfaces Manual .It Li 5 FreeBSD File Formats Manual .It Li 6 FreeBSD Games Manual .It Li 7 FreeBSD Miscellaneous Information Manual .It Li 8 FreeBSD System Manager's Manual .It Li 9 FreeBSD Kernel Developers Guide .El .Pp ボリュームタイトルは任意のものか、以下のうちいずれかになります。 .\" .Cl .\" USD UNIX User's Supplementary Documents .\" .Cl .\" PS1 UNIX Programmer's Supplementary Documents .Pp .Bl -column SMM -offset indent -compact .It Li AMD UNIX Ancestral Manual Documents .It Li SMM UNIX System Manager's Manual .It Li URM UNIX Reference Manual .It Li PRM UNIX Programmer's Manual .El .Pp デフォルトのボリュームは セクション 1, 6, 7 では .Li URM 、セクション 8 では .Li SMM 、セクション 2, 3, 4, 5 では .Li PRM となっています。 .\" .Cl .\" MMI UNIX Manual Master Index .\" .Cl .\" CON UNIX Contributed Software Manual .\" .Cl .\" LOC UNIX Local Manual .It Li \&.Os オペレーティングシステム リリース番号 オペレーティングシステムの名称には一般的な頭字語 (略称) を使わなければなりません。 例えば、 .Tn BSD や .Tn FreeBSD や .Tn ATT といったものです。 リリース番号は、例えば4.3, 4.3+Tahoe, V.3, V.4 というような各システム での標準のリリースの命名法を使用します。 認識されない引数はページのフッタ中に記述された通りに表示されます。 以下にフッタの典型的な例を示します。 .Pp .Dl \&.Os BSD 4.3 .Pp や .Dl \&.Os FreeBSD 2.2 .Pp ローカルで作られたセットの例。 .Pp .Dl \&.Os CS Department .Pp Berkeley でのデフォルトである、引数なしの .Ql \&.Os はサイト固有のファイル .Pa /usr/share/tmac/mdoc/doc-common において .Tn BSD として定義されています。 これは実際には .Tn LOCAL として定義すべきです。 .Ql \&.Os マクロがない場合は、ページの左下角はみにくくなるであろうことに 注意してください。 .It Li \&.Dd 月 日, 年 日付は次のようにフォーマルな形式で記述しなければなりません。 .Pp .ne 5 .Dl January 25, 1989 .El .Sh マニュアル領域および一般テキスト領域の紹介 .Ss この名前には何が...? マニュアル領域のマクロ名はコマンドやサブルーチン、それに関連ファイルを 説明するために使われている日常のインフォーマルな言葉から取られています。 この言葉と少し違うバリエーションのものが man ページを書く上での 3 つの異なった面を記述するのに使われます。 最初のものは、 .Nm \-mdoc マクロ使用方法の説明です。 2 番目のものは .Nm \-mdoc マクロを用いた .Ux コマンドの記述です。 3 番目はコマンドを通常の言葉の感覚でユーザに示したものです。 これはすなわち、man ページのテキスト中でのコマンドの議論となります。 .Pp 最初のケースでは、 .Xr troff 1 マクロはそれ自身、一種のコマンドとなっています。 troff コマンドは一般的に以下のような形式をとります。 .Bd -filled -offset indent \&.Va argument1 argument2 ... argument9 .Ed .Pp .Ql \&.Va はマクロコマンドもしくは要求を示しており、それに続くものは すべて引数として処理されます。 2 番目のケースでは、コンテントマクロを使用する .Ux コマンドの記述がもう少し含まれます。 典型的な .Sx SYNOPSIS コマンド行はこのように表示されます。 .Bd -filled -offset indent .Nm filter .Op Fl flag .Ar infile outfile .Ed .Pp ここで .Nm filter はコマンド名であり、角括弧で囲まれた文字列 .Fl flag は .Em フラグ 引数で、これは角括弧で囲むことによってオプションであることを示しています。 .Nm \-mdoc の用語では .Ar infile と .Ar outfile は .Em 引数 と称されています。 上の例のフォーマットを行なったマクロは以下のものです。 .Bd -literal -offset indent \&.Nm filter \&.Op \&Fl flag \&.Ar infile outfile .Ed .Pp 3 番目のケースでは、コマンドの説明や構文に上記の例の両方が使われ、 さらに細かい記述が追加されるでしょう。 上の例での引数 .Ar infile と .Ar outfile は .Em オペランド もしくは .Em ファイル引数 として参照されます。 コマンド行の引数のリストはかなり長くなる場合もあります。 .Bl -tag -width make -offset indent .It Nm make .Op Fl eiknqrstv .Op Fl D Ar variable .Op Fl d Ar flags .Op Fl f Ar makefile .Bk -words .Op Fl I Ar directory .Ek .Op Fl j Ar max_jobs .Op Ar variable=value .Bk -words .Op Ar target ... .Ek .El .Pp ここではコマンド .Nm make について記述しており、 .Ar makefile をフラグ .Fl f の引数としています。 またオプションのファイルオペランド .Ar target についても議論しています。 言葉での説明では、こういった詳細な記述が混乱を防いでくれますが、 .Nm \-mdoc パッケージにはフラグ .Em への 引数のためのマクロがありません。 その代わりに .Ar target のようなオペランドやファイル引数に使われる引数マクロ .Ql \&Ar が .Ar variable のようなフラグへの引数にも使われます。 この make コマンド行は以下の指定により生成されています。 .Bd -literal -offset indent \&.Nm make \&.Op Fl eiknqrstv \&.Op Fl D Ar variable \&.Op Fl d Ar flags \&.Op Fl f Ar makefile \&.Op Fl I Ar directory \&.Op Fl j Ar max_jobs \&.Op Ar variable=value \&.Bk -words \&.Op Ar target ... \&.Ek .Ed .Pp マクロ .Ql \&.Bk と .Ql \&.Ek は .Sx キープ セクションにおいて解説されています。 .Ss 一般的な構文 マニュアル領域と一般テキスト領域のマクロはいくつかの小さな違い があるものの、同様な構文を使用しています。 .Ql \&.Ar , .Ql \&.Fl , .Ql \&.Nm , .Ql \&.Pa は引数なしで呼び出された時のみ異なります。 .Ql \&.Fn と .Ql \&.Xr は引数のリストの順番が異なります。 マクロ .Ql \&.Op と .Ql \&.Fn には入れ子の制限があります。 すべてのコンテントマクロが句読点を認識し、正しく扱うには、 各々の句読点文字が先行する空白で分離されている必要があります。 以下のように指定されている場合、 .Pp .Dl \&.Li sptr, ptr), .Pp その結果は以下のようになります。 .Pp .Dl Li sptr, ptr), .Pp ここでは句読点は認識されずすべての出力はリテラルなフォントで行なわれて います。句読点が空白文字で区切られている場合、 .Pp .Dl \&.Li "sptr , ptr ) ," .Pp 結果は以下のようになります。 .Pp .Dl Li sptr , ptr ) , .Pp 今度は句読点が認識され、出力はデフォルトのフォントで行なわれ リテラルフォントの文字列と区別されています。 .Pp .Ql \e& でエスケープすることによって句読点文字の特別な意味を取り除くことができます。 .Xr troff はマクロ言語としての限界から、数学、論理学、もしくは以下の引用符の 集合のメンバを含んだ文字列を表現するのは困難です。 .Bd -literal -offset indent-two \&{+,\-,/,*,\&%,<,>,<=,>=,=,==,&,`,',"} .Ed .Pp .Xr troff が文字によって示唆されている操作もしくは評価を実際に行なっていることが、 その問題の原因となっています。 .Ql \e& でこれらをエスケープすることによって、これらの文字が予期せずに 評価されることを防止することができます。 最初のコンテントマクロは、以下の .Ql \&.Ad において、その典型的な構文が示されています。 .Sh マニュアル領域 .Ss アドレスマクロ アドレスマクロは addr1[,addr2[,addr3]] の形式からなるアドレスを識別します。 .Pp .Dl 使い方: .Ad address ... \*(Pu .Bl -tag -width ".Ad f1 , f2 , f3 :" -compact -offset 14n .It Li \&.Ad addr1 .Ad addr1 .It Li \&.Ad addr1\ . .Ad addr1 . .It Li \&.Ad addr1\ , file2 .Ad addr1 , file2 .It Li \&.Ad f1\ , f2\ , f3\ : .Ad f1 , f2 , f3 : .It Li \&.Ad addr\ )\ )\ , .Ad addr ) ) , .El .Pp .Ql \&.Ad を引数なしで呼び出すのはエラーです。 .Ql \&.Ad は他のマクロから呼び出し可能で解析されます。 .Ss 作者名 .Ql \&.An マクロは文書化されている項目の作者の名前、もしくは実際の マニュアルページの作者の名前を指定するために使われます。 名前の情報の後のすべての引数は句読点として扱われます。 .Pp .Dl 使い方: .An author_name \*(Pu .Bl -tag -width ".An Joe Author ) ) ," -compact -offset 14n .It Li \&.An Joe\ Author .An Joe Author .It Li \&.An Joe\ Author\ , .An Joe\ Author , .It Li \&.An Joe\ Author\ \&Aq\ nobody@FreeBSD.ORG .An Joe Author Aq nobody@FreeBSD.ORG .It Li \&.An Joe\ Author\ )\ )\ , .An Joe Author ) ) , .El .Pp .Ql \&.An マクロは解析され、呼び出し可能です。 .Ql \&.An を引数なしで呼び出すのはエラーです。 .Ss 引数マクロ 引数マクロ .Ql \&.Ar はコマンド行の引数を参照する際に使用することができます。 .Pp .Dl 使い方: .Ar argument ... \*(Pu .Bl -tag -width ".Ar file1 file2" -compact -offset 15n .It Li \&.Ar .Ar .It Li \&.Ar file1 .Ar file1 .It Li \&.Ar file1\ . .Ar file1 . .It Li \&.Ar file1 file2 .Ar file1 file2 .It Li \&.Ar f1 f2 f3\ : .Ar f1 f2 f3 : .It Li \&.Ar file\ )\ )\ , .Ar file ) ) , .El .Pp .Ql \&.Ar が引数なしで呼び出されると、 .Ql Ar として扱われます。 .Ql \&.Ar マクロは解析され、呼び出し可能です。 .Ss コンフィギュレーション宣言 (セクション 4 のみ) .Ql \&.Cd マクロはセクション 4 のマニュアルにおいて、デバイスインタフェースの .Xr config 8 による宣言の説明に使われます。 このマクロは引用符 (2 重引用符のみ) で囲まれた引数を取ることができます。 .Pp .Bl -tag -width "device le0 at scode?" -offset indent .It Cd "device le0 at scode?" は .Ql ".Cd device le0 at scode?" によって生成されます。 .El .Ss コマンド修飾子 コマンド修飾子は .Ql \&.Cm マクロがすべての引数の前にダッシュ文字を付けないことを除いて、 .Ql \&.Fl (フラグ) コマンドと同じです。 伝統的にフラグはダッシュ文字に引き続いて指定されますが、 いくつかのコマンドやコマンドのサブセットはこの方法を使っていません。 コマンド修飾子はエディタコマンドのような対話的なコマンドでも 指定されることがあります。 .Sx フラグ のセクションを参照してください。 .Ss 定義済みの変数 インクルードファイルにおいて定義されている変数は .Ql \&.Dv マクロによって指定します。 .Pp .Dl 使い方: .Dv defined_variable ... \*(Pu .Bl -tag -width ".Dv MAXHOSTNAMELEN" -compact -offset 14n .It Li ".Dv MAXHOSTNAMELEN" .Dv MAXHOSTNAMELEN .It Li ".Dv TIOCGPGRP )" .Dv TIOCGPGRP ) .El .Pp .Ql \&.Dv を引数なしで呼び出すのはエラーです。 .Ql \&.Dv は解析され、呼び出し可能です。 .Ss errno (セクション 2 のみ) エラーマクロ .Ql \&.Er はセクション 2 のライブラリルーチンにおけるエラーの戻り値を指定します。 下記の 2 番目の例では .Ql \&.Er は一般テキスト領域マクロである .Ql \&.Bq (これはセクション 2 のマニュアルページで使われています) と共に使われています。 .Pp .Dl 使い方: .Er ERRNOTYPE ... \*(Pu .Bl -tag -width ".Bq Er ENOTDIR" -compact -offset 14n .It Li \&.Er ENOENT .Er ENOENT .It Li \&.Er ENOENT\ )\ ; .Er ENOENT ) ; .It Li \&.Bq \&Er ENOTDIR .Bq Er ENOTDIR .El .Pp .Ql \&.Er を引数なしで呼び出すのはエラーです。 .Ql \&.Er は解析され、呼び出し可能です。 .Ss 環境変数 .Ql \&.Ev マクロは環境変数を指定します。 .Pp .Dl 使い方: .Ev argument ... \*(Pu .Bl -tag -width ".Ev PRINTER ) ) ," -compact -offset 14n .It Li \&.Ev DISPLAY .Ev DISPLAY .It Li \&.Ev PATH\ . .Ev PATH . .It Li \&.Ev PRINTER\ )\ )\ , .Ev PRINTER ) ) , .El .Pp .Ql \&.Ev を引数なしで呼び出すのはエラーです。 .Ql \&.Ev は解析され、呼び出し可能です。 .Ss 関数の引数 .Ql \&.Fa マクロは関数の引数 (パラメータ) を マニュアルの .Sx SYNOPSIS のセクション外、もしくは .Sx SYNOPSIS のセクション内で参照する場合に使われます。 パラメータのリストが .Ql \&.Fn マクロでは長すぎる場合は、 囲って使うマクロ .Ql \&.Fo と .Ql \&.Fc を使わなければなりません。 .Ql \&.Fa は構造体のメンバを参照する場合にも使われます。 .Pp .Dl 使い方: .Fa function_argument ... \*(Pu .Bl -tag -width ".Fa d_namlen\ )\ )\ ," -compact -offset 14n .It Li \&.Fa d_namlen\ )\ )\ , .Fa d_namlen ) ) , .It Li \&.Fa iov_len .Fa iov_len .El .Pp .Ql \&.Fa を引数なしで呼び出すのはエラーです。 .Ql \&.Fa は解析され、呼び出し可能です。 .Ss 関数の宣言 .Ql \&.Fd マクロは .Sx SYNOPSIS セクションにおいて、セクション 2 または 3 の関数の説明で使われます。 .Ql \&.Fd マクロから他のマクロを呼び出すことはなく、他のマクロから呼び出すことも できません。 .Pp .Dl 使い方: .Fd include_file (or defined variable) .Pp .Sx SYNOPSIS セクションにおいて、関数がすでに示されていて改行が入っていない場合、 .Ql \&.Fd によって改行が挿入されます。 これによって前の関数呼び出しと次の関数の宣言の間に最適な行間が設定されます。 .Ss フラグ .Ql \&.Fl マクロはコマンド行のフラグを扱います。 フラグの前にはダッシュ .Ql \- が挿入されます。 対話的なコマンドのフラグでは、ダッシュがフラグの前には挿入されませんが、 .Ql \&.Cm (コマンド修飾子) マクロは、ダッシュを付けないことを除き、同じ働きをします。 .Pp .Dl 使い方: .Fl argument ... \*(Pu .Bl -tag -width ".Fl \-s \-t \-v" -compact -offset 14n .It Li \&.Fl .Fl .It Li \&.Fl cfv .Fl cfv .It Li \&.Fl cfv\ . .Fl cfv . .It Li \&.Fl s v t .Fl s v t .It Li \&.Fl -\ , .Fl - , .It Li \&.Fl xyz\ )\ , .Fl xyz ) , .El .Pp 引数なしで .Ql \&.Fl マクロを指定すると、標準入力/標準出力を意味するダッシュとなります。 ひとつのダッシュに .Ql \&.Fl マクロを使用すると、2 つダッシュとなることに注意して下さい。 .Ql \&.Fl マクロは解析され、呼び出し可能です。 .Ss 関数 (ライブラリルーチン) .Ql \&.Fn マクロは ANSI C の記法を規範としています。 .Bd -literal 使い方: .Fn [type] function [[type] parameters ... \*(Pu] .Ed .Bl -tag -width ".Fn .int align. .const * char *sptrsxx" -compact .It Li "\&.Fn getchar" .Fn getchar .It Li "\&.Fn strlen ) ," .Fn strlen ) , .It Li \&.Fn "\\*qint align\\*q" "\\*qconst * char *sptrs\\*q" , .Fn "int align" "const * char *sptrs" , .El .Pp .Ql \&.Fn を引数を指定せずに呼び出すのはエラーです。 .Ql \&.Fn マクロは解析され、呼び出し可能です。他のマクロの呼び出しは .Ql \&.Fn の呼び出しの終了を意味することに注意して下さい (閉じ括弧がその点で挿入されます)。 .Pp 9 個以上のパラメータをとる関数 (これは滅多にないことですが) では、 .Ql \&.Fo マクロ (関数オープン) と .Ql \&.Fc マクロ (関数クローズ) を .Ql \&.Fa (関数引数) と共に使って、この制限を回避することができます。 以下にその例を示します。 .Bd -literal -offset indent \&.Fo "int res_mkquery" \&.Fa "int op" \&.Fa "char *dname" \&.Fa "int class" \&.Fa "int type" \&.Fa "char *data" \&.Fa "int datalen" \&.Fa "struct rrec *newrr" \&.Fa "char *buf" \&.Fa "int buflen" \&.Fc .Ed .Pp これは以下のような結果になります。 .Bd -filled -offset indent .Fo "int res_mkquery" .Fa "int op" .Fa "char *dname" .Fa "int class" .Fa "int type" .Fa "char *data" .Fa "int datalen" .Fa "struct rrec *newrr" .Fa "char *buf" .Fa "int buflen" .Fc .Ed .Pp .Ql \&.Fo と .Ql \&.Fc マクロは解析され、呼び出し可能です。 .Sx SYNOPSIS セクションでは、関数は常に行の先頭から開始されます。 .Sx SYNOPSIS セクションにおいて、複数の関数が示されており、関数の型が示されない場合、 改行が挿入され、現在の関数名とその前の関数名の間に最適な改行量が設定されます。 現在、 .Ql \&.Fn は troff の行の長さに対して、語の境界をチェックしておらず、予期しない 場所で改行が挿入されてしまうことがあります。 これは近い将来修正されるでしょう。 .Ss 関数の型 このマクロは .Sx SYNOPSIS セクションで使うものです。 man ページ中の他の場所でも問題なく使うことができますが、 セクション 2 と 3 の .Sx SYNOPSIS セクションでカーネルの通常の形式で関数の型を示すことがこのマクロの目的です (このマクロは関数名が次の行に置かれるように改行を挿入します)。 .Pp .Dl 使い方: .Ft type ... \*(Pu .Bl -tag -width "\&.Ft struct stat" -offset 14n -compact .It Li \&.Ft struct stat .Ft struct stat .El .Pp .Ql \&.Ft は他のマクロからは呼び出せません。 .Ss 対話的なコマンド .Ql \&.Ic マクロは対話的なコマンド、もしくは内部コマンドを指定します。 .Pp .Dl 使い方: .Ic argument ... \*(Pu .Bl -tag -width ".Ic setenv , unsetenvxx" -compact -offset 14n .It Li \&.Ic :wq .Ic :wq .It Li \&.Ic do while {...} .Ic do while {...} .It Li \&.Ic setenv\ , unsetenv .Ic setenv , unsetenv .El .Pp .Ql \&.Ic を引数なしで呼び出すのはエラーです。 .Ql \&.Ic マクロは解析され、呼び出し可能です。 .Ss ライブラリ名 .Ql \&.Lb マクロは、関数がどのライブラリに組み込まれるかを指定します。 .Pp .Dl 使い方: .Lb argument ... \*(Pu .Pp .Ql \&.Lb マクロに対して使用可能な引数と結果は次の通りです: .Pp .Bl -tag -width "libnetgraph" -compact -offset indent .It Li "libc" .Lb libc .It Li "libc_r" .Lb libc_r .It Li "libcalendar" .Lb libcalendar .It Li "libcam" .Lb libcam .It Li "libcrypt" .Lb libcrypt .It Li "libdevstat" .Lb libdevstat .It Li "libdisk" .Lb libdisk .It Li "libedit" .Lb libedit .It Li "libfetch" .Lb libfetch .It Li "libipsec" .Lb libipsec .It Li "libipx" .Lb libipx .It Li "libkvm" .Lb libkvm .It Li "libm" .Lb libm .It Li "libmd" .Lb libmd .It Li "libnetgraph" .Lb libnetgraph .It Li "libposix1e" .Lb libposix1e .It Li "libskey" .Lb libskey +.It Li "libusb" +.Lb libusb .It Li "libutil" .Lb libutil .It Li "libvgl" .Lb libvgl .El .Ss 名称マクロ .Ql \&.Nm マクロは文書のタイトルやサブジェクト名を指定するために使われます。 このマクロは最初に呼び出された時の引数を覚えておくという特性を持っており、 それは常にそのページのサブジェクト名であるべきです。 引数なしで呼び出されると .Ql \&.Nm は作者の作業を少なくするためだけの目的で、最初の名称を出力します。 注: セクション 2 または 3 のドキュメントの関数名は .Sx NAME セクションにおいて .Ql \&.Nm で指定され、 .Sx SYNOPSIS セクションや残りのセクションでは .Ql \&.Fn で指定されます。 .Xr csh 1 での .Ql while コマンドのキーワードのような対話的なコマンドでは .Ql \&.Ic マクロを使うべきです。 .Ql \&.Ic はほとんど .Ql \&.Nm と同一ですが、 それが最初に使われたときの引数を記憶することはできません。 .Pp .Dl 使い方: .Nm argument ... \*(Pu .Bl -tag -width ".Nm mdoc.sample" -compact -offset 14n .It Li \&.Nm mdoc.sample .Nm mdoc.sample .It Li \&.Nm \e-mdoc .Nm \-mdoc . .It Li \&.Nm foo\ )\ )\ , .Nm foo ) ) , .It Li \&.Nm .Nm .El .Pp .Ql \&.Nm マクロは解析され、呼び出し可能です。 .Ss オプション .Ql \&.Op マクロはコマンド行の残りのすべての引数を オプションであることを示す角括弧で囲み、 末尾の句読点は角括弧の外に置きます。 .Ql \&.Oc マクロと .Ql \&.Oo マクロは複数行に渡って使うことができます。 .Pp .Dl 使い方: .Op options ... \*(Pu .Bl -tag -width ".Op Fl c Ar objfil Op Ar corfil ," -compact -offset indent .It Li \&.Op .Op .It Li ".Op Fl k" .Op Fl k .It Li ".Op Fl k ) ." .Op Fl k ) . .It Li ".Op Fl k Ar kookfile" .Op Fl k Ar kookfile .It Li ".Op Fl k Ar kookfile ," .Op Fl k Ar kookfile , .It Li ".Op Ar objfil Op Ar corfil" .Op Ar objfil Op Ar corfil .It Li ".Op Fl c Ar objfil Op Ar corfil ," .Op Fl c Ar objfil Op Ar corfil , .It Li \&.Op word1 word2 .Op word1 word2 .El .Pp .Ql \&.Oc マクロと .Ql \&.Oo マクロ: .Bd -literal -offset indent \&.Oo \&.Op \&Fl k \&Ar kilobytes \&.Op \&Fl i \&Ar interval \&.Op \&Fl c \&Ar count \&.Oc .Ed .Pp 出力結果: .Oo .Op Fl k Ar kilobytes .Op Fl i Ar interval .Op Fl c Ar count .Oc .Pp .Ql \&.Op と .Ql \&.Oc と .Ql \&.Oo マクロは解析され、呼び出し可能です。 .Ss パス名 .Ql \&.Pa マクロはパス名もしくはファイル名をフォーマットします。 .Pp .Dl 使い方: .Pa pathname \*(Pu .Bl -tag -width ".Pa /tmp/fooXXXXX ) ." -compact -offset 14n .It Li \&.Pa /usr/share .Pa /usr/share .It Li \&.Pa /tmp/fooXXXXX\ )\ . .Pa /tmp/fooXXXXX ) . .El .Pp .Ql \&.Pa マクロは解析され、呼び出し可能です。 .Ss 規格 .Ql \&.St マクロは、規格の短縮名称を正式名称に置換します。 .Pp .Dl 使い方: .St abbreviature .Pp 使用可能な .Dq 短縮名称/正式名称 の組は次の通りです: .Bl -tag -width "-p1003.2-92XX." -compact -offset indent .It Li "-ansiC" .St -ansiC .It Li "-ansiC-89" .St -ansiC-89 .It Li "-ieee754" .St -ieee754 .It Li "-iso8802-3" .St -iso8802-3 .It Li "-iso9899" .St -iso9899 .It Li "-iso9945-1" .St -iso9945-1 .It Li "-isoC" .St -isoC .It Li "-p1003.1" .St -p1003.1 .It Li "-p1003.1-88" .St -p1003.1-88 .It Li "-p1003.1-90" .St -p1003.1-90 .It Li "-p1003.1b" .St -p1003.1b .It Li "-p1003.1b-93" .St -p1003.1b-93 .It Li "-p1003.1g" .St -p1003.1g .It Li "-p1003.2" .St -p1003.2 .It Li "-p1003.2-92" .St -p1003.2-92 .It Li "-susv2" .St -susv2 .It Li "-xpg3" .St -xpg3 .It Li "-xpg4" .St -xpg4 .It Li "-xpg4.2" .St -xpg4.2 .El .Ss 変数 一般的な変数への参照です。 .Pp .Dl 使い方: .Va variable ... \*(Pu .Bl -tag -width ".Va char s ] ) ) ," -compact -offset 14n .It Li \&.Va count .Va count .It Li \&.Va settimer , .Va settimer , .It Li \&.Va int\ *prt\ )\ : .Va int\ *prt ) : .It Li \&.Va char\ s\ ]\ )\ )\ , .Va char\ s ] ) ) , .El .Pp .Ql \&.Va を引数なしで呼び出すのはエラーです。 .Ql \&.Va マクロは解析され、呼び出し可能です。 .Ss マニュアルページのクロスリファレンス .Ql \&.Xr マクロは最初の引数にマニュアルページの名称を取り、もしあれば次の引数に セクションのページ数か句読点を取ります。 すべての残りの引数は句読点と見なされます。 .Pp .Dl 使い方: .Xr man_page [1,...,9] \*(Pu .Bl -tag -width ".Xr mdoc 7 ) ) ," -compact -offset 14n .It Li \&.Xr mdoc .Xr mdoc .It Li \&.Xr mdoc\ , .Xr mdoc , .It Li \&.Xr mdoc 7 .Xr mdoc 7 .It Li \&.Xr mdoc 7\ )\ )\ , .Xr mdoc 7 ) ) , .El .Pp .Ql \&.Xr マクロは解析され、呼び出し可能です。 .Ql \&.Xr を引数なしで呼び出すのはエラーです。 .Sh 一般テキスト領域 .Ss AT&T マクロ .Bd -literal -offset indent -compact 使い方: .At [v6 | v7 | 32v | V.1 | V.4] ... \*(Pu .Ed .Bl -tag -width ".At v6 ) ," -compact -offset 14n .It Li ".At" .At .It Li ".At v6 ." .At v6 . .El .Pp .Ql \&.At マクロは解析 .Em されず 、呼び出し .Em 不可能 です。 最大 2 つまでの引数を取ることができます。 .Ss BSD マクロ .Dl 使い方: .Bx [Version/release] ... \*(Pu .Bl -tag -width ".Bx 4.3 ) ," -compact -offset 14n .It Li ".Bx" .Bx .It Li ".Bx 4.3 ." .Bx 4.3 . .El .Pp .Ql \&.Bx マクロは解析され、呼び出し可能です。 .Ss FreeBSD/NetBSD/OpenBSD マクロ .Bd -literal -offset indent -compact 使い方: .Fx [ Version.release ] ... \*(Pu .Ed .Bl -tag -width ".Fx 2.2 ) ," -compact -offset 14n .It Li ".Fx 2.2 ." .Fx 2.2 . .El .Pp .Bd -literal -offset indent -compact 使い方: .Nx [ Version.release ] ... \*(Pu .Ed .Bl -tag -width ".Nx 1.4 ) ," -compact -offset 14n .It Li ".Nx 1.4 ." .Nx 1.4 . .El .Pp .Bd -literal -offset indent -compact 使い方: .Ox [ Version.release ] ... \*(Pu .Ed .Bl -tag -width ".Ox 2.5 ) ," -compact -offset 14n .It Li ".Ox 2.5 ." .Ox 2.5 . .El .Pp .Ql \&.Fx , .Ql \&.Nx , .Ql \&.Ox マクロは解析され、呼び出し可能です。 最大 2 つまでの引数を取ることができます。 .Ss UNIX マクロ .Dl 使い方: .Ux ... \*(Pu .Bl -tag -width ".Ux 4.3 ) ," -compact -offset 14n .It Li ".Ux" .Ux .El .Pp .Ql \&.Ux マクロは解析され、呼び出し可能です。 .Ss 囲い/クォートマクロ 囲いの概念はクォートと似たものです。 1 つ以上の文字列が引用符や括弧のような文字のペアで囲まれている オブジェクトを指します。 クォートと囲いという用語はこの文書を通して同じ意味で使われます。 ほとんどの 1 行の囲いマクロはクォート (quote) のヒントとするために、小文字の .Ql q で終了しますが、いくつかの例外があります。 各々の囲いマクロに対し、開始マクロと終了マクロのペアもあり、それぞれ小文字の .Ql o と .Ql c で終了します。 これらは 1 行以上のテキストに渡って使うことができますが、 入れ子にする場合に制限があります。 その中では 1 行形式のクォートマクロのみ使用することができます。 .Pp .ne 5 .Bd -filled -offset indent .Bl -column "クォート " "終了 " "開始 " "クォートされたリテラル " XX文字列XX .Em " クォート 終了 開始 機能 結果" \&.Aq .Ac .Ao カギ括弧による囲い <文字列> \&.Bq .Bc .Bo 角括弧による囲い [文字列] \&.Dq .Dc .Do 2 重引用符 ``文字列'' .Ec .Eo 囲い文字列 (XXによる) XX文字列XX \&.Pq .Pc .Po 括弧による囲い (文字列) \&.Ql クォートされたリテラル `st' または文字列 \&.Qq .Qc .Qo まっすぐな 2 重引用符 "文字列" \&.Sq .Sc .So 1 重引用符 `文字列' .El .Ed .Pp 下記の不正なマクロを除き、すべてのクォートマクロは解析され、呼び出し可能です。 句読点がひとつずつ置かれていて、スペースで区切られていれば、 すべてのクォートマクロは句読点を適切に扱います。 クォートマクロは開く句読点、閉じる句読点 (訳注: 句読点には括弧なども含みます) を調べ、 それが囲む文字列より前か後かを決めます。 これによって、ある程度の入れ子が可能になっています。 .Bl -tag -width xxx,xxxx .It Li \&.Ec , \&.Eo これらのマクロは各々開始および終了の文字列を最初の引数に取ります。 .It Li \&.Ql リテラルをクォートするマクロは .Xr troff では .Xr nroff と異なった処理を行ないます。 .Xr nroff でフォーマットされた場合、クォート指定されたリテラルは常にクォートされます。 .Xr troff でフォーマットされた場合は、アイテムの幅が固定幅文字 3 つ分より 狭い場合にのみクォートされます。 これはリテラル (固定幅) のフォントの変更があまり気づかれないものであるため、 短い文字列を良く見えるようにするためです。 .It Li \&.Pf プレフィックスマクロは呼び出し可能ではありませんが、解析されます。 .Bl -tag -width "(namexx" -offset indent .It Li ".Pf ( Fa name2" は .Pf ( Fa name2 となります。 .El .Pp .Ql \&.Ns (空白なし) マクロはサフィックス機能と同様の作用があります。 .El .Pp .ne 4 クォートの例: .Bl -tag -width ".Aq Pa ctype.h ) ,xxxxxxxx" -compact -offset indent .It Li \&.Aq .Aq .It Li \&.Aq \&Ar ctype.h\ )\ , .Aq Ar ctype.h ) , .It Li \&.Bq .Bq .It Li \&.Bq \&Em Greek \&, French \&. .Bq Em Greek , French . .It Li \&.Dq .Dq .It Li ".Dq string abc ." .Dq string abc . .It Li ".Dq \'^[A-Z]\'" .Dq \'^[A-Z]\' .It Li "\&.Ql man mdoc" .Ql man mdoc .It Li \&.Qq .Qq .It Li "\&.Qq string ) ," .Qq string ) , .It Li "\&.Qq string Ns )," .Qq string Ns ), .It Li \&.Sq .Sq .It Li "\&.Sq string .Sq string .El .Pp 囲いマクロの入れ子についての良い例については、 オプションマクロ .Ql \&.Op を参照してください。 このマクロは上でリストされているような囲いマクロと同じベースの上に 作られています。 拡張引数リストマクロ .Ql \&.Xo と .Ql \&.Xc もまた同じルーチンをベースに作られており、 .Nm \-mdoc マクロの使い方の非常に良い例となっています。 .Ss no\-op もしくは通常テキストマクロ .Ql \&.No マクロはマクロコマンド行において、コンテントマクロの構文形式に従うが、 フォーマットされては .Em ならない 単語をハックするものです。 .Ss 空白なしマクロ .Ql \&.Ns マクロはマクロ間での不要な空白を除去します。 これはフラグと引数の間に空白を含まない古いスタイルの引数リストを使う場合に 便利です。 .Bl -tag -width ".Op Fl I Ns Ar directoryxx" -offset indent .It Li ".Op Fl I Ns Ar directory" これは以下の結果になります。 .Op Fl I Ns Ar directory .El .Pp 注: .Ql \&.Ns マクロは他のマクロ名が続かなければ、スペースを除去したあとに .Ql \&.No マクロを常に起動します。 .Ql \&.Ns マクロは解析され、呼び出し可能です。 .Ss セクションのクロスリファレンス .Ql \&.Sx マクロは同一文書内でのセクションのヘッダへの参照を指定します。 これは解析され、呼び出し可能です。 .Pp .Bl -tag -width "Li \&.Sx FILES" -offset 14n .It Li \&.Sx FILES .Sx FILES .El .Ss 参考文献と引用 以下のマクロは多少なりとも参考文献を扱えるようにと意図したものです。 これらのマクロは、せいぜい参照スタイルの参考文献のサブセットを手動で 作成しやすくする程度です。 .Pp .Bl -tag -width 6n -offset indent -compact .It Li ".Rs" 参考文献の開始。 改行を挿入してから、参考文献の終了マクロが読み込まれるまで 参考文献の情報を収集する。 .It Li ".Re" 参考文献の終了。 参考文献が表示される。 .It Li ".%A" 参考文献の作者名。1 回の呼び出しにつき、作者名をひとつ指定する。 .It Li ".%B" 書籍のタイトル。 .It Li ".\&%C" 市 / 場所。 .It Li ".\&%D" 日付。 .It Li ".%J" 定期刊行物の名称。 .It Li ".%N" 発行番号。 .It Li ".%O" 追加情報。 .It Li ".%P" ページ番号。 .It Li ".%R" 報告書の名称。 .It Li ".%T" 記事のタイトル。 .It Li ".%V" 巻数。 .El .Pp .Ql % で始まるマクロは呼び出し不可能ですが、 呼び出し側に戻る商標名マクロだけは解析されます。 (現時点では予期できないことです。) 商標名のみ解析されるのは .Xr troff Ns / Ns Xr ditroff の出力をきれいにするためです。 .Ss 戻り値 .Ql \&.Rv マクロは .Sx RETURN VALUES のセクションで使うテキストを生成します。 .Pp .Dl 使い方: .Rv [-std function] .Pp .Ql \&.Rv -std atexit これは以下のテキストを生成します。 .Pp .Rv -std atexit .Pp .Fl std オプションはセクション 2 と 3 のマニュアルページでのみ有効です。 .Ss 商標名 (頭字語とタイプ名) 商標名マクロは一般的に長さが 2 文字を越えるすべてが大文字の単語用 に使われる小さな大文字のマクロです。 .Pp .Dl 使い方: .Tn symbol ... \*(Pu .Bl -tag -width ".Tn ASCII" -compact -offset 14n .It Li \&.Tn DEC .Tn DEC .It Li \&.Tn ASCII .Tn ASCII .El .Pp .Ql \&.Tn マクロは解析され、他のマクロから呼び出し可能です。 .Ss 拡張引数 .Ql \&.Xo と .Ql \&.Xc マクロでマクロの境界における引数リストを拡張することができます。 引数リストは .Ql \&.Op のようなすべての引数が 1 行中に指定されていることを前提としている マクロの中では行に渡って拡張することができません。 .Pp 以下に空白モードマクロをスペーシングをオフにするために使った .Ql \&.Xo での例を示します。 .Bd -literal -offset indent \&.Sm off \&.It Xo Sy I Ar operation \&.No \een Ar count No \een \&.Xc \&.Sm on .Ed .Pp これは以下のような結果になります。 .Bd -filled -offset indent .Bl -tag -width flag -compact .Sm off .It Xo Sy I Ar operation .No \en Ar count No \en .Xc .Sm on .El .Ed .Pp 例をもうひとつ: .Bd -literal -offset indent \&.Sm off \&.It Cm S No \&/ Ar old_pattern Xo \&.No \&/ Ar new_pattern \&.No \&/ Op Cm g \&.Xc \&.Sm on .Ed .Pp これは以下のような結果になります。 .Bd -filled -offset indent .Bl -tag -width flag -compact .Sm off .It Cm S No \&/ Ar old_pattern Xo .No \&/ Ar new_pattern .No \&/ Op Cm g .Xc .Sm on .El .Ed .Pp 囲いマクロを使った .Ql \&.Xo の他の例: 変数の値をテストして下さい。 .Bd -literal -offset indent \&.It Xo \&.Ic .ifndef \&.Oo \e&! Oc Ns Ar variable \&.Op Ar operator variable ... \&.Xc .Ed .Pp 結果は以下の通りです。 .Bd -filled -offset indent .Bl -tag -width flag -compact .It Xo .Ic .ifndef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc .El .Ed .Pp 上のすべての例では .Ql \&.It (リスト項目) マクロの引数リストに .Ql \&.Xo マクロを使用しています。 拡張マクロが使われることはあまりありません。 使われるとすれば、リスト項目の引数リストを拡張する場合です。 残念なことに、これが拡張マクロが最も懲り性であるところでもあります。 最初の 2 つの例では、スペーシングはオフになっています。 3 番目では、ある箇所にはスペーシングを入れることが望ましいのですが、 出力全体に入れたいわけではありません。 そのような状況でこれらのマクロが適切に動作するためには、 .Ql \&.Xo と .Ql \&.Xc マクロが 3 番目の例にあるように指定されていることを確認してください。 .Ql \&.Xo マクロが置かれた .Ql \&.It の引数リストに他のものが置かれると、スペーシングがどうなるかは予測不可能です。 この場合、 .Ql \&.Ns (空白なしマクロ) は行中の最初もしくは最後のマクロに指定してはいけません。 現在 .Bx でリリースされている 900 のマニュアルページ (実際のページでは約 1500 ページ) のうち 15 のマニュアルページでのみしか .Ql \&.Xo が使われていません。 .Sh ページ構造領域 .Ss セクションヘッダ 以下にリストされている、最初の 3 つのセクションヘッダマクロ .Ql \&.Sh はすべての man ページで必須のものです。 残りのセクションヘッダはマニュアルページの作者の裁量において、 推奨されているものです。 .Ql \&.Sh マクロは 9 つまでの引数を取ることができます。 これは解析されますが、呼び出し不可能です。 .Bl -tag -width ".Sh SYNOPSIS" .It \&.Sh NAME .Ql \&.Sh NAME (訳注: 名称) マクロは必須のものです。 これが指定されていないと、ヘッダとフッタ、それにデフォルトの ページレイアウトが設定されず、結果はかなり好ましくないものになるでしょう。 .Sx NAME セクションは最低 3 つの項目からなります。 最初のものは名称マクロ .Ql \&.Nm であり、man ページのサブジェクトとなります。 2 番目のものは名称説明マクロ .Ql \&.Nd であり、サブジェクト名を 3 つめの項目、 すなわちその名称の説明と分離します。 説明に割り当てられるスペースは小さいものですので、 できるだけ簡潔で分かりやすいものでなければなりません。 .It \&.Sh SYNOPSIS .Sx SYNOPSIS (訳注: 書式) セクションはその man ページのサブジェクトとなっている項目の 典型的な使用法を説明します。 必須のマクロは .Ql ".Nm" , .Ql ".Cd" , .Ql ".Fn" のいずれかです。 (他には .Ql ".Fo" , .Ql ".Fc" , .Ql ".Fd" , .Ql ".Ft" のマクロも必要な場合があります。) 関数名マクロ .Ql ".Fn" はセクション 2 と 3 のマニュアルページにおいて必須のもので、 コマンドと一般名称マクロ .Ql \&.Nm はセクション 1, 5, 6, 7, 8 で必須の項目です。 セクション 4 のマニュアルでは .Ql ".Nm" か .Ql ".Fd" 、もしくはコンフィギュレーションデバイス使用法マクロ .Ql ".Cd" が必要です。 その他のいくつかのマクロが下に示すような書式行を生成するために必要なこと があります。 .Pp .Bd -filled -offset indent .Nm cat .Op Fl benstuv .Op Fl .Ar .Ed .Pp 以下のマクロが使われています。 .Pp .Dl \&.Nm cat .Dl \&.Op \&Fl benstuv .Dl \&.Op \&Fl .Dl \&.Ar .Pp .Sy 注 : マクロ .Ql \&.Op , .Ql \&.Fl , .Ql \&.Ar はパイプの文字 .Ql \*(Ba を認識し、下記のようなコマンド行 .Pp .Dl ".Op Fl a | Fl b" .Pp はうまくいきません。 .Xr troff は通常 \*(Ba を特別のオペレータとして解釈します。 この他で \*(Ba が使える場合については .Sx 定義済みの文字列 セクションを参照して下さい。 .It \&.Sh DESCRIPTION .Sx DESCRIPTION (訳注: 解説) セクションでの最初のテキストは、ほとんどの場合ではそのコマンド、 関数もしくはファイルについての短い段落で、オプションの構文リストと それぞれの説明がそれに続きます。 そのようなリストを作成するには リスト開始マクロ .Ql \&.Bl 、リスト項目マクロ .Ql \&.It 、リスト終了マクロ .Ql \&.El を使います (後述の .Sx リストと列 セクションを参照)。 .El .Pp 以下の .Ql \&.Sh のセクションヘッダはマニュアルページの好ましいレイアウトの一部であり、 一貫性を保つために適切に使われなければなりません。 これらは使われる順番にリストされています。 .Bl -tag -width 書式 .It \&.Sh ENVIRONMENT (訳注: 環境変数) .Sx ENVIRONMENT セクションは関連する環境変数を明らかにし、 それらの振舞や使用方法を示します。 .It \&.Sh EXAMPLES (訳注: 使用例、実行例) 使用例、実行例を作成するには様々な方法があります。 詳細については、下の .Sx 例示とディスプレイ のセクションを参照してください。 .It \&.Sh FILES (訳注: 関連ファイル) man ページのサブジェクトによって使用されるか生成されるファイルで、 .Sx FILES のセクション中でマクロ .Ql \&.Pa によってリストされます。 .It \&.Sh SEE ALSO (訳注: 関連項目) .Sx SEE ALSO セクションには、その man ページの題材に関する資料への参照と 他の関連する man ページへのクロスリファレンスが記載されます。 クロスリファレンスは .Ql \&.Xr マクロによって指定されます。 .Sx SEE ALSO セクションでのクロスリファレンスはセクション番号順に並べ、 セクション中ではカンマで区切ってアルファベット順に並べなければなりません。 以下に例を示します。 .Pp .Xr ls 1 , .Xr ps 1 , .Xr group 5 , .Xr passwd 5 . .Pp ここで参考スタイルである .Xr refer 1 は適応されていません。 .It \&.Sh STANDARDS (訳注: 規格) コマンドやライブラリ関数やファイルが、 .St -p1003.2 や .St -ansiC のような特定の実装によるものであれば、ここで記述します。 もしコマンドがどの規格にも基づいていなければ、その歴史は .Sx HISTORY のセクションで説明されなければなりません。 .It \&.Sh HISTORY (訳注: 歴史) 特定の規格に基づいていないコマンドは、 このセクションでその歴史の概要が説明されるべきです。 .It \&.Sh AUTHORS (訳注: 作者) クレジットが必要であれば、ここで入れます。 人物名を指定するには .Ql \&.An マクロを使用すべきです。 .It \&.Sh DIAGNOSTICS (訳注: 診断) コマンドからの診断はこのセクションに入れます。 .It \&.Sh ERRORS (訳注: エラー) 特定のエラーハンドリング、特にライブラリ関数 (man ページのセクション 2, 3, 9) でのエラーハンドリングは、ここで説明します。 .Ql \&.Er マクロが errno を記述するために使われます。 .It \&.Sh BUGS (訳注: バグ) あきらかな問題はここで記述します。 .El .Pp ユーザ指定の .Ql \&.Sh セクションを追加することができます。 たとえば、このセクションは以下のように設定されています。 .Bd -literal -offset 14n \&.Sh ページ構造領域 .Ed .Ss 段落と行スペース .Bl -tag -width 6n .It \&.Pp .Ql \&.Pp 段落コマンド は必要な場合に行スペースを指定するために使われます。 このマクロは .Ql \&.Sh マクロや .Ql \&.Ss マクロのあと、それに .Ql \&.Bl マクロの前では必要ありません。 ( .Ql \&.Bl マクロは -compact フラグが指定されていなければ、縦方向の距離を宣言します )。 .El .\" This worked with version one, need to redo for version three .\" .Pp .\" .Ds I .\" .Cw (ax+bx+c) \ is\ produced\ by\ \& .\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& .\" .Cl Cx \t\t .\" .Li \&.Cx\ ( .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va ax .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy \+ .\" .Cx .\" .Cl Cx \&(\& .\" .Va ax .\" .Cx + .\" .Va by .\" .Cx + .\" .Va c ) .\" .Cx \t .\" .Em is produced by .\" .Cx \t .\" .Li \&.Va by .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy \+ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va c ) .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .\" This example shows the same equation in a different format. .\" The spaces .\" around the .\" .Li \&+ .\" signs were forced with .\" .Li \e : .\" .Pp .\" .Ds I .\" .Cw (ax\ +\ bx\ +\ c) \ is\ produced\ by\ \& .\" .\".Cw (ax+bx+c) \&.Va_by_) \&_and_\& \&[?/]m_b1_e1_f1[?/]\& .\" .Cl Cx \t\t .\" .Li \&.Cx\ ( .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va a .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy x .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx \e\ +\e\ \e& .\" .Cx .\" .Cl Cx \&(\& .\" .Va a .\" .Sy x .\" .Cx \ +\ \& .\" .Va b .\" .Sy y .\" .Cx \ +\ \& .\" .Va c ) .\" .Cx \t .\" .Em is produced by .\" .Cl Cx \t\t .\" .Li \&.Va b .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Sy y .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx \e\ +\e\ \e& .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Va c ) .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .\" The incantation below was .\" lifted from the .\" .Xr adb 1 .\" manual page: .\" .Pp .\" .Ds I .\" .Cw \&[?/]m_b1_e1_f1[?/]\& is\ produced\ by .\" .Cl Cx \t\t .\" .Li \&.Cx Op Sy ?/ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Nm m .\" .Cx .\" .Cl Cx Op Sy ?/ .\" .Nm m .\" .Ad \ b1 e1 f1 .\" .Op Sy ?/ .\" .Cx \t .\" .Em is produced by .\" .Cx \t .\" .Li \&.Ar \e\ b1 e1 f1 .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Op Sy ?/ .\" .Cx .\" .Cl Cx \t\t .\" .Li \&.Cx .\" .Cx .\" .Cw .\" .De .\" .Pp .Ss キープ 現在実装されているキープは単語に対するものだけです。 それらは .Ql \&.Bk (キープ開始) マクロと .Ql \&.Ek (キープ終了) マクロです。 .Ql \&.Bk に指定できるオプションは .Fl words のみであり、これはオプションの途中で改行が入らないようにするのに便利です。 コマンド行の引数を生成する例 ( .Sx この名前には何が...? セクションを参照) において、キープは .Xr nroff がフラグと引数を別の行に分けないように使われています。 (実際には、オプションマクロがこの目的で使われていましたが、 オプションが行中にわたって散らばってしまうと 一般的に見栄えが悪くなるという理由により .Xr troff で右揃えのマージンを強制的に行なう (宗教的な) 決定がなされてから、 オプションマクロをこの目的で使わないようになりました。 キープマクロについてはもっと機能を向上する作業が必要であり、 .Fl line オプションを追加していく必要があります。) .Ss 例示とディスプレイ ディスプレイには 5 つのタイプがあります。 即席 1 行インデントディスプレイ .Ql \&.D1 、即席 1 行リテラルディスプレイ .Ql \&.Dl 、それに ディスプレイ開始マクロ .Ql \&.Bd とディスプレイ終了マクロ .Ql \&.Ed を使用するリテラルブロック、フィルブロックおよび凸凹ブロックです。 .Pp .Bl -tag -width \&.Dlxx .It Li \&.D1 (D-いち) インデントされたテキストを 1 行表示します。 このマクロは解析されますが、呼び出し不可能です。 .Pp .D1 Fl ldghfstru .Pp これは次の指定で生成されたものです。 .Li \&.D1 \&Fl ldghfstru .It Li \&.Dl (D-エル) インデントされた .Em リテラル テキストを 1 行表示します。 .Ql \&.Dl マクロの例は本ファイルの中に渡って使われています。 これによって 1 行のテキストのインデント (表示) が可能になります。 このマクロは解析され、他のマクロを認識することができますが、 デフォルトのフォントは固定幅 (リテラル) にセットされています。 しかしながら、呼び出しは不可能です。 .Pp .Dl % ls -ldg /usr/local/bin .Pp これは .Li \&.Dl % ls -ldg /usr/local/bin から生成されています。 .It Li \&.Bd ディスプレイ開始です。 .Ql \&.Bd によるディスプレイは .Ql \&.Ed マクロによって終了しなければなりません。 ディスプレイはディスプレイ内およびリスト内で入れ子にすることができます。 .Ql \&.Bd は以下の書式をとります。 .Pp .Dl ".Bd ディスプレイタイプ [-offset オフセット値] [-compact]" .Pp ディスプレイタイプは以下の 4 つのタイプの内の 1 つでなければならず、 インデント .Ql \&.Bd のオフセット値を指定することができます。 .Pp .Bl -tag -width "file ファイル名 " -compact .It Fl ragged テキストのブロックをタイプされた通りに表示します。 右マージン (と左マージン) のエッジは左に不揃いに寄せられます。 .It Fl filled フィル (フォーマット) されたブロックを表示します。 テキストのブロックがフォーマットされます (エッジは左非揃えではなく、フィルされます)。 .It Fl literal リテラルなブロックを表示します。 ソースコードや、単純にタブもしくはスペースで整えられたテキストで便利です。 .It Fl file Ar ファイル名 .Fl file フラグに続く名称のファイルが読み込まれ、表示されます。 表示はリテラルなモードで行われ、タブは定幅文字 8 つ分に固定されますが、 ファイル中のすべての .Xr troff/ Ns Nm \-mdoc コマンドは解釈されます。 .It Fl offset Ar 文字列 .Fl offset が以下の文字列のいずれかとともに指定されていると、 その文字列は次のテキストのブロックのインデントのレベルを示すものとして 解釈されます。 .Pp .Bl -tag -width "indent-two" -compact .It Ar left ブロックを現在の左マージンに揃えます。 これは .Ql \&.Bd のデフォルトのモードです。 .It Ar center ブロックを中央揃えにします。 残念ながら現時点では、 単にブロックの左側を仮想的な中央マージンに揃えるだけです。 .It Ar indent デフォルトのインデント値もしくはタブの分だけインデントします。 デフォルトのインデント値はディスプレイ .Ql \&.D1 でも使われ、これら 2 つのタイプのディスプレイを使った場合、 行が揃うことが保証されています。 このインデントは通常 6n か約 2/3 インチ (定幅文字 6 つ分) です。 .It Ar indent-two デフォルトのインデント値の 2 倍分インデントします。 .It Ar right これはブロックをページの右端から約 2 インチ離して .Em 左 揃えします。 このマクロはちゃんと動作する必要があるのですが、 .Xr troff ではまったくちゃんと動作してくれていません。 .El .El .It ".Ed" ディスプレイ終了。 .El .Ss フォントモード マニュアルページのテキストの見栄えを変更するマクロは 5 つあります。 .Bl -tag -width \&.Emxx .It \&.Em テキストは .Ql \&.Em マクロで強調することができます。 強調の場合、通常イタリック体のフォントが使われます。 .Pp .Dl 使い方: .Em argument ... \*(Pu .Bl -tag -width ".Em vide infra ) ) ," -compact -offset 14n .It Li ".Em does not" .Em does not .It Li ".Em exceed 1024 ." .Em exceed 1024 . .It Li ".Em vide infra ) ) ," .Em vide infra ) ) , .El .Pp .Ql \&.Em マクロは解析され、呼び出し可能です。 .Ql \&.Em を引数なしで呼び出すのはエラーです。 .It \&.Li リテラルマクロ .Ql \&.Li は特殊文字や変数定数、その他タイプされた通りに表示する必要があるものに 使用することができます。 .Pp .Dl 使い方: .Li argument ... \*(Pu .Bl -tag -width ".Li cntrl-D ) ," -compact -offset 14n .It Li \&.Li \een .Li \en .It Li \&.Li M1 M2 M3\ ; .Li M1 M2 M3 ; .It Li \&.Li cntrl-D\ )\ , .Li cntrl-D ) , .It Li \&.Li 1024\ ... .Li 1024 ... .El .Pp .Ql \&.Li マクロは解析され、呼び出し可能です。 .It \&.Sy シンボリック体強調マクロはシンボリックの意味でも 伝統的な英語の使いかたにおいても、 通常はボールドマクロとなっています。 .Pp .Dl 使い方: .Sy symbol ... \*(Pu .Bl -tag -width ".Sy Important Noticex" -compact -offset 14n .It Li \&.Sy Important Notice .Sy Important Notice .El .Pp .Ql \&.Sy マクロは解析され、呼び出し可能です。 .Ql \&.Sy の引数は引用符で囲むことができます。 .It Li \&.Bf フォントモード開始。 フォントモード .Ql \&.Bf は .Ql \&.Ef マクロで終了しなければなりません。 フォントモードは他のフォントモードと入れ子にすることができます。 .Ql \&.Bf は次の構文を取ります。 .Pp .Dl ".Bf フォントモード" .Pp フォントモードは以下の 3 つのタイプのうちのいずれかでなければなりません。 .Pp .Bl -tag -width "file file_name " -compact .It Sy \&Em | Fl emphasis 強調モード。 .Ql \&.Em マクロがテキストブロック全体に使われているのと同様です。 .It Sy \&Li | Fl literal リテラルモード。 .Ql \&.Li マクロがテキストブロック全体に使われているのと同様です。 .It Sy \&Sy | Fl symbolic シンボリックモード。 .Ql \&.Sy マクロがテキストブロック全体に使われているのと同様です。 .El .It ".Ef" フォントモードの終了。 .El .Ss タグつきリストと列 リスト開始マクロ .Ql ".Bl" で開始されるリストにはいくつかのタイプがあります。 リスト中の項目は項目マクロ .Ql ".It" で指定され、各リストは .Ql ".El" マクロで終了しなければなりません。 リストはリスト自身やディスプレイの中で入れ子にすることができます。 列はリストの中で使うことができますが、 リストが列の中で使えるかどうかは検証されていません。 .Pp さらに、タグの幅、リストのオフセット、コンパクトさ (項目間の空白行が許されているかどうか) のような、 いくつかのリストの属性を指定することができます。 本ドキュメントのほとんどはタグ .Pq Fl tag スタイルリストでフォーマットされています。 各種リストタイプは、調子を変えるためにオーバーハング .Pq Fl ohang でリストしました。 このリストのタイプは .Tn TeX のユーザに非常に人気のあるものですが、tag リストで構成されたページを 何ページも読んだ後には幾分変に見えるでしょう。 以下のリストタイプを .Ql ".Bl" で使うことができます。 .Pp .Bl -ohang -compact .It Fl bullet .It Fl item .It Fl enum これら 3 つは最も単純なリストのタイプです。 一旦 .Ql ".Bl" マクロが与えられると、リスト中の項目は単に .Ql ".It" マクロによってのみ構成される行で指定されます。 例として、簡単な列挙リストのソーステキストは、このようになります。 .Bd -literal -offset indent-two \&.Bl -enum -compact \&.It \&ひとつめはここ。 \&.It \&そしてふたつめ。 \&.It \&最後にみっつめはここ。 \&.El .Ed .Pp これらの結果は以下のようになります。 .Pp .Bl -enum -offset indent-two -compact .It ひとつめはここ。 .It そしてふたつめ。 .It 最後にみっつめはここ。 .El .Pp 簡単な bullet リスト構成の例を示します。 .Bd -literal -offset indent-two \&.Bl -bullet -compact \&.It \&ひとつめの bullet。 \&.It \&これはふたつめの bullet。 \&.El .Ed .Pp その結果はこうなります。 .Bl -bullet -offset indent-two -compact .It ひとつめの bullet。 .It これはふたつめの bullet。 .El .Pp .It Fl tag .It Fl diag .It Fl hang .It Fl ohang .It Fl inset これらのリストタイプは .Ql \&.It マクロによって指定されている引数からラベルを生成します。 そして、 .Em inset では、次のテキストへそのラベルを挿入します。 .Em hang では、次のテキストをラベルの位置へインデントします。 .Em ohang (オーバーハング) では、次のテキストをラベルの位置にぶら下げ、インデントしません。 .Em tag では、タグつきテキストの形式にします。 ちなみに上のリストは .Ql Fl ohang リストタイプで構成されています。 .Ql \&.It マクロは inset, hang, tag のリストタイプでのみ解析され、 呼び出し不可能です。 以下に inset ラベルの例を示します。 .Bl -inset -offset indent .It Em tag tag リスト (tag 段落とも呼ばれる) は、 Berkely マニュアルで使われているリストのうち最も一般的なタイプです。 .It Em diag (診断) 診断リストはセクション 4 の診断リストを生成するもので、 呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 .It Em hang hang ラベルは好みの問題です。 .It Em ohang ohang ラベルはスペースに制限がある時に便利です。 .It Em inset inset ラベルは段落のブロックを制御するのに便利で、 .Nm \-mdoc マニュアルを他の形式に変換する時に役立ちます。 .El .Pp 上の例を生成したソーステキストはこうなっています。 .Bd -literal -offset indent \&.Bl -inset -offset indent \&.It Em tag \&tag リスト (tag 段落とも呼ばれる) は、 \&Berkely マニュアルで使われているリストのうち最も一般的なタイプです。 \&.It Em diag (診断) \&診断リストはセクション 4 の診断リストを生成するもので、 \&呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 \&.It Em hang \&hang ラベルは好みの問題です。 \&.It Em ohang \&ohang ラベルはスペースに制限がある時に便利です。 \&.It Em inset \&inset ラベルは段落のブロックを制御するのに便利で、 \&.Nm \-mdoc \&マニュアルを他の形式に変換する時に役立ちます。 \&.El .Ed .Pp 以下は 2 つの項目を持つ hang リストです。 .Bl -hang -offset indent .It Em hang ラベルがラベルの幅より小さいときには、 ラベルは tag リストと同じようになります。 .It Em 長い hang リストラベル は、tag 段落のラベルとは異なり、 段落の中に埋め込まれます。 .El .Pp これを生成している元のテキストは以下の通りです。 .Bd -literal -offset indent \&.Bl -hang -offset indent \&.It Em hang \&ラベルがラベルの幅より小さいときには、 \&ラベルは tag リストと同じようになります。 \&.It Em 長い hang リストラベル \&は、tag 段落のラベルとは異なり、 \&段落の中に埋め込まれます。 \&.El .Ed .Pp タグ幅を制御するためのオプションの幅指定を使ったタグつきリストは 以下の通りです。 .Pp .Bl -tag -width "PAGEIN" -compact -offset indent .It SL プロセスが sleep している時間 (ブロックされた秒数) .It PAGEIN そのプロセスによるコアにロードされていないページへの参照によるディスク .Tn I/O の回数 .It UID プロセスの所有者の数字表記によるユーザID .It PPID 親プロセスの数字表記によるID、プロセスの優先度 (割り込み不可のウエイトであるときには非正値) .El .Pp 元のテキストは以下の通りです。 .Bd -literal -offset indent \&.Bl -tag -width "PAGEIN" -compact -offset indent \&.It SL \&プロセスが sleep している時間 (ブロックされた秒数) \&.It PAGEIN \&そのプロセスによるコアにロードされていないページへの参照によるディスク \&.Tn I/O \&の回数 \&.It UID \&プロセスの所有者の数字表記によるユーザID \&.It PPID \&親プロセスの数字表記によるID、プロセスの優先度 \&(割り込み不可のウエイトであるときには非正値) \&.El .Ed .Pp 幅指定として以下のものを使うことができます。 .Bl -tag -width Ar -offset indent .It Fl width Ar "\&Fl" そのフラグでのデフォルトの幅を指定します。 すべての呼び出し可能なマクロは各々デフォルトの幅の値を持っています。 現在、 .Ql \&.Fl の値は定幅文字 10 個分、もしくは約 5/6 インチとなっています。 .It Fl width Ar "24n" 定幅文字 24 個分の幅、もしくは約 2 インチの幅をセットします。 これが正しく動作するには .Ql n が必ず必要となります。 .It Fl width Ar "ENAMETOOLONG" 指定された文字列の固定長に幅をセットします。 .It Fl width Ar "\\*qint mkfifo\\*q" これも、指定された文字列の固定長に幅をセットします。 .El .Pp タグつきリストタイプで幅が指定されていないと、 .Ql \&.It が最初に起動された時に適した幅を決定することが試みられます。 .Ql ".It" の最初の引数が呼び出し可能なマクロであれば、そのマクロのデフォルトの幅が そのマクロ名が幅として指定されたように使用されます。 しかしながら、そのリスト中に他の項目が別の呼び出し可能なマクロ名で 与えられていると、新しく入れ子となったリストとして処理されます。 .Sh 定義済みの文字列 以下の文字列はあらかじめ定義されているものであり、 troff の文字列解釈シーケンス .Ql \&\e*(xx もしくは .Ql \&\e*x を前に伴って使われます。 ここで、 .Em xx もしくは .Em x は定義されている文字列の名称です。 解釈シーケンスはテキストのどこでも使うことができます。 .Pp .Bl -column "文字列 " "Nroff " "Troff " -offset indent .It Sy "文字列 Nroff Troff" .It Li "<=" Ta \&<\&= Ta \*(<= .It Li ">=" Ta \&>\&= Ta \*(>= .It Li "Rq" Ta "''" Ta \*(Rq .It Li "Lq" Ta "``" Ta \*(Lq .It Li "ua" Ta ^ Ta \*(ua .It Li "aa" Ta ' Ta \*(aa .It Li "ga" Ta \` Ta \*(ga .\" .It Li "sL" Ta ` Ta \*(sL .\" .It Li "sR" Ta ' Ta \*(sR .It Li "q" Ta \&" Ta \*q .It Li "Pi" Ta pi Ta \*(Pi .It Li "Ne" Ta != Ta \*(Ne .It Li "Le" Ta <= Ta \*(Le .It Li "Ge" Ta >= Ta \*(Ge .It Li "Lt" Ta < Ta \*(Gt .It Li "Gt" Ta > Ta \*(Lt .It Li "Pm" Ta +- Ta \*(Pm .It Li "If" Ta infinity Ta \*(If .It Li "Na" Ta \fINaN\fP Ta \*(Na .It Li "Ba" Ta \fR\&|\fP Ta \*(Ba .El .Pp .Sy 注 : .Ql q の名称がつけられている文字列は、1 文字であるため .Ql \e*q と書かなければなりません。 .Sh 診断 .Nm \-mdoc は限られたデバッグ機能しか持っていませんが、 引数名と内部レジスタやマクロ名との衝突のような 潜在的なエラーを検出するのに役立ちます。 (A って何?) レジスタは .Xr troff での演算用記憶クラスであり、1 文字か 2 文字の名称がついています。 .Xr troff と .Xr ditroff での .Nm \-mdoc のすべての内部レジスタは .Ql \&Ar のように2 文字からなる <大文字><小文字> の形式か、 .Ql \&aR のように <小文字><大文字> の形式か、 .Ql \&C\&1 のように <大文字もしくは小文字><数字> の形式を取ります。 さらに混乱することに、 .Xr troff はそれ自身の内部レジスタを持ち、 それらすべては小文字 2 文字か、ドットに文字もしくはメタ文字が続く形式を取ります。 紹介例の 1 つに、 エスケープシーケンス .Ql \e& でマクロ名を解釈させない方法がありました。 これは内部レジスタ名にも有効です。 .Pp .\" Every callable macro name has a corresponding register .\" of the same name (). .\" There are also specific registers which have .\" been used for stacks and arrays and are listed in the .\" .Sx Appendix . .\" .Bd -ragged -offset 4n .\" [A-Z][a-z] registers corresponding to macro names (example ``Ar'') .\" [a-z][A-Z] registers corresponding to macro names (example ``aR'') .\" C[0-9] argument types (example C1) .\" O[0-9] offset stack (displays) .\" h[0-9] horizontal spacing stack (lists) .\" o[0-9] offset (stack) (lists) .\" t[0-9] tag stack (lists) .\" v[0-9] vertical spacing stack (lists) .\" w[0-9] width tag/label stack .\" .Ed .\" .Pp エスケープされていないレジスタ名が引数リストに指定されると、 予期できない振舞いとなります。 一般的には、テキストのかなり大きな部分が出力されるべきところに 出力されないとか、リストのタグのような小さな文字列が消えてしまうとか、 引数リストの中の引数のタイプが間違って解釈されるとかいうことが、起こり得ます。 きっとあなたのお母さんは、あなたにこんな面倒なことを覚えるようにとは 考えていないでしょう。 そこで、与えられた引数が有効か無効かを判断する方法があります。 そんなときには、 .Ql \&.Db (デバッグ) マクロによってほとんどのマクロの引数リストがどう解釈されるか を表示することができます。 .Ql \&.Pp (段落) マクロのようなマクロはデバッグ情報を含んでいません。 呼び出し可能なマクロはすべてデバッグ情報を含んでおり、 疑いがある場合はいつでも .Ql \&.Db マクロをオンにすることを強くお勧めします。 .Pp .Dl 使い方: \&.Db [on | off] .Pp 以下の例では、 問題が故意に発生するようにされた部分の上と下で デバッグマクロが指定されています (フラグ引数 .Ql \&aC は正しく動作するためには .Ql \e&aC でなければなりません)。 .Bd -literal -offset indent \&.Db on \&.Op Fl aC Ar file ) \&.Db off .Ed .Pp この結果の出力は以下の通りです。 .Bd -literal -offset indent DEBUGGING ON DEBUG(argv) MACRO: `.Op' Line #: 2 Argc: 1 Argv: `Fl' Length: 2 Space: `' Class: Executable Argc: 2 Argv: `aC' Length: 2 Space: `' Class: Executable Argc: 3 Argv: `Ar' Length: 2 Space: `' Class: Executable Argc: 4 Argv: `file' Length: 4 Space: ` ' Class: String Argc: 5 Argv: `)' Length: 1 Space: ` ' Class: Closing Punctuation or suffix MACRO REQUEST: .Op Fl aC Ar file ) DEBUGGING OFF .Ed .Pp この情報の最初の行では呼び出されているマクロの名称が出力されています。 ここでは .Ql \&.Op とそれが現れた行番号が表示されています。 複数のファイルが処理されている場合 (特にテキストが他のファイルからインクルードされている場合)、 行番号は正しくないでしょう。 ファイルが 1 つだけの場合には正しい行番号が出力されます。 2 番目の行では引数の個数と引数 .Pq Ql \&Fl とその長さが出力されています。 引数の長さが 2 文字であれば、 その引数が実行可能 (ゼロでない値を含むすべてのレジスタは実行可能なように見えます) かどうかテストされます。 3 番目の行ではそのクラスで指定されているスペースとクラスタイプが 出力されています。 ここでの問題は引数 aC が実行不可能でなければならないことです。 クラスの 4 つのタイプは文字列、実行可能、閉じる句読点、開く句読点です。 最後の行では引数リスト全体が読み込まれた通りに表示されています。 次の例では問題の原因となっている .Ql \&aC がエスケープされています。 .Bd -literal -offset indent \&.Db on \&.Em An escaped \e&aC \&.Db off .Ed .Bd -literal -offset indent DEBUGGING ON DEBUG(fargv) MACRO: `.Em' Line #: 2 Argc: 1 Argv: `An' Length: 2 Space: ` ' Class: String Argc: 2 Argv: `escaped' Length: 7 Space: ` ' Class: String Argc: 3 Argv: `aC' Length: 2 Space: ` ' Class: String MACRO REQUEST: .Em An escaped &aC DEBUGGING OFF .Ed .Pp .Ql \e& シーケンスは長さが 0 となるために 引数 .Ql \e&aC は先の例と同様に長さ 2 と表示されています。 しかし、 .Ql \e&aC という名称のレジスタが見つからず、タイプは文字列と判断されています。 .Pp この他の診断は使用方法を報告するものであり、 それ自身が説明を含んでいます。 .Sh GROFF, TROFF, NROFF .Nm \-mdoc パッケージは .Xr groff との互換モードは必要ではありません。 .Pp このパッケージでは改ページと、 .Xr nroff で改ページ時に通常挿入されるヘッダとフッタは禁止されており、 マニュアルをオンラインで効率良く見ることができるようになっています。 現在の所、 .Fl T Ns Ar ascii が指定された .Xr groff はページ内容の無いファイル末の残りの部分まで出力します。 改ページを禁止することによって .Xr nroff による出力はハードコピーには適さないものとなっています。 サイト依存のスタイルファイル .Pa /usr/src/share/tmac/doc-nroff において 0 にセットすることができる .Ql \&cR の名称を持つレジスタが古いスタイルの振る舞いを実現するために用意されています。 .Sh 関連ファイル .Bl -tag -width /usr/share/man0/template.doc -compact .It Pa /usr/share/tmac/tmac.doc マニュアルマクロパッケージ .It Pa /usr/share/misc/mdoc.template man ページを書くためのテンプレート .It Pa /usr/share/examples/mdoc/* man ページのいくつかの例 .El .Sh 関連項目 .Xr man 1 , .Xr troff 1 , .Xr mdoc 7 .Sh バグ フラグ引数のダッシュにおいて好ましくないハイフンが挿入される問題は、 まだ解決されておらず、 .Sx DESCRIPTION セクションにおいて災いをおこすことがあります (ハイフンにおいて改行が挿入される)。 .Pp あらかじめ定義されている文字列は文書において宣言されていません。 .Pp セクション 3f はヘッダルーチンには追加されていません。 .Pp .Ql \&.Nm フォントは .Sx NAME セクションにおいて変更されるべきです。 .Pp .Ql \&.Fn は分割されるのを防止するために、 行の長さが短すぎないかどうかをチェックする必要があります。 ときどき、最後の括弧が分割されることがあり、 行がフィルモードであるときには全くおかしな結果になることがあります。 .Pp nroff を使用している時に、 ヘッダとフッタで改ページを防止 (最初のヘッダとフッタ以外) している方法は、 時々おそらくページの下端に一部見苦しくフィルされた行 (空白行) を挿入する ことがあります。 .Pp リストマクロとディスプレイマクロはキープを行いませんが、 これはキープを行うべきです。 .\" Note what happens if the parameter list overlaps a newline .\" boundary. .\" to make sure a line boundary is crossed: .\" .Bd -literal .\" \&.Fn struct\e\ dictionarytable\e\ *dictionarylookup struct\e\ dictionarytable\e\ *tab[] .\" .Ed .\" .Pp .\" produces, nudge nudge, .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] , .\" nudge .\" .Fn struct\ dictionarytable\ *dictionarylookup char\ *h struct\ dictionarytable\ *tab[] . .\" .Pp .\" If double quotes are used, for example: .\" .Bd -literal .\" \&.Fn \*qstruct dictionarytable *dictionarylookup\*q \*qchar *h\*q \*qstruct dictionarytable *tab[]\*q .\" .Ed .\" .Pp .\" produces, nudge nudge, .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , .\" nudge .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" , .\" nudge .\" .Fn "struct dictionarytable *dictionarylookup" "char *h" "struct dictionarytable *tab[]" . .\" .Pp .\" Not a pretty sight... .\" In a paragraph, a long parameter containing unpaddable spaces as .\" in the former example will cause .\" .Xr troff .\" to break the line and spread .\" the remaining words out. .\" The latter example will adjust nicely to .\" justified margins, but may break in between an argument and its .\" declaration. .\" In .\" .Xr nroff .\" the right margin adjustment is normally ragged and the problem is .\" not as severe. diff --git a/ja_JP.eucJP/man/man7/symlink.7 b/ja_JP.eucJP/man/man7/symlink.7 index 37fd2be71c..0c8ce33bbd 100644 --- a/ja_JP.eucJP/man/man7/symlink.7 +++ b/ja_JP.eucJP/man/man7/symlink.7 @@ -1,439 +1,439 @@ .\" Copyright (c) 1992, 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. .\" .\" @(#)symlink.7 8.3 (Berkeley) 3/31/94 -.\" %FreeBSD: src/bin/ln/symlink.7,v 1.13 2000/03/01 11:34:04 sheldonh Exp % +.\" %FreeBSD: src/bin/ln/symlink.7,v 1.13.2.1 2000/09/06 20:15:28 marko Exp % .\" .\" jpman %Id: symlink.7,v 1.5 1999/01/21 17:50:41 kuma Stab % .\" .\" WORD: dereference 手繰る .\" WORD: traverse たどる .Dd March 31, 1994 .Dt SYMLINK 7 .Os BSD 4 .Sh 名称 .Nm symlink .Nd シンボリックリンクの扱い .Sh シンボリックリンクの扱い シンボリックリンクは、他のファイルへのポインタとして働くファイルです。 動作を理解するためには、ハードリンクの動作を理解する必要があります。 ファイルへのハードリンクは元のファイルとは区別できません。 なぜなら、ハードリンクは元のファイル名の下敷きとなるオブジェクトを 参照するからです。 ファイルに対する変更は、ファイルを参照するために使用する名前には依存しません。 ハードリンクは、ディレクトリを参照してはなりませんし、 他のファイルシステム上のファイルを参照してもなりません。 シンボリックリンクは、リンクされたファイルの名前を格納します。 すなわち、他の名前へのポインタです。 下敷きとなるオブジェクトを参照するわけではありません。 このため、シンボリックリンクは、ディレクトリを参照することができますし、 ファイルシステムをまたがることが可能です。 .Pp シンボリックリンクとこれが参照するオブジェクトは ファイルシステムの名前空間において共存しますので、 リンク自身と参照されるオブジェクトの区別に関して混乱が生じることがあります。 歴史的には、コマンドおよびシステムコールは、 場当たり的にそれぞれ独自のリンク追跡規則を採用してきました。 このシステムに実装されている、統一的なアプローチの規則をここに示します。 ユーザインタフェースをできる限り一貫性あるものとするために、 ローカルアプリケーションもまたこの規則を守ることが重要です。 .Pp シンボリックリンクの操作は、リンク自身への操作、 もしくはリンクによって参照されるオブジェクトへの操作によって実現されます。 後者の場合、アプリケーションまたはシステムコールがリンクを .Dq 追跡 (follow) したと言います。 シンボリックリンクは他のシンボリックリンクを参照することができます。 この場合、シンボリックリンクではないオブジェクトが見付かるか、 存在しないファイルを参照するシンボリックリンクが見付かるか、 ループが検出されるまで、 リンクが手繰られます。 (ループ検出は、追跡可能なリンク数の上限を設定することにより実現されます。 この制限を超過する場合にはエラーとなります。) .Pp 議論すべき領域で異なるものが 3 つあります。それらは次の通りです: .sp .Bl -enum -compact -offset indent .It システムコールのファイル名引数として使用されるシンボリックリンク。 .It ファイルツリーをたどらないユーティリティの コマンドライン引数として指定されるシンボリックリンク。 .It ファイルツリーをたどる (traverse) ユーティリティが扱うシンボリックリンク (コマンドラインで指定されるもの、 およびファイル階層をたどるときに出会うものの両方です)。 .El .Ss システムコール 最初の領域は、 システムコールのファイル名引数として使用されるシンボリックリンクです。 .Pp 次の例外を除き、全システムコールはシンボリックリンクを追跡します。 例えば、 .Dq Li afile という名前のファイルを指すシンボリックリンク .Dq Li slink が存在する場合、システムコール .Dq Li open("slink" ...) はファイル .Dq afile のファイルディスクリプタを返します。 .Pp リンクを追跡せずに、シンボリックリンク自身を操作するシステムコールが 5 つあります。 それらは次の通りです: .Xr lchown 2 , .Xr lstat 2 , .Xr readlink 2 , .Xr rename 2 , .Xr unlink 2 。 .Xr remove 3 は .Xr unlink 2 の別名ですから、これもまたシンボリックリンクを追跡しません。 .Pp 既存のシンボリックリンクの所有者およびグループの変更は、 .Xr lchown 2 システムコールにて可能です。 他のファイル属性、例えば修正時刻やアクセスパーミッションは、 システムが使用しませんし、変更不能です。 .Pp .Bx 4.4 システムは歴史的な 4BSD システムとは異なり、システムコール .Xr chown 2 がシンボリックリンクを追跡するように変更されました。 後になって、新しい .Xr chown 2 の制限が明らかになると、 .Xr lchown 2 システムコールが追加されました。 .Ss ファイルツリーをたどらないコマンド 第 2 の領域は、 ファイルツリーをたどらないコマンドに対する コマンドラインのファイル名引数として指定されるシンボリックリンクです。 .Pp 下に述べる例外を除き、コマンドは、 コマンドライン引数として指定されるシンボリックリンクを追跡します。 例えば、 .Dq Li afile という名前のファイルを指すシンボリックリンク .Dq Li slink が存在する場合、コマンド .Dq Li cat slink はファイル .Dq afile の内容を表示します。 .Pp この規則は、ファイルツリーをたどることもできるコマンドも含みます。 これを認識することが重要です。 例えば、コマンド .Dq Li "chown file" はこの規則に含まれますが、コマンド .Dq Li "chown -R file" は含まれません。 (後者は第 3 の領域で後述します。) .Pp コマンドがシンボリックリンクを追跡するのではなく シンボリックリンク自身を操作する ことが明示的に意図されている場合、 例えば .Dq Li "chown slink" が、シンボリックリンクであるか否かにかかわらず、 .Dq Li slink 自身の所有者を変更したい場合、 .Fl h オプションを使用します。 先の例では、 .Dq Li "chown root slink" は .Dq Li slink が参照するファイルの所有者を変更しますが、 .Dq Li "chown -h root slink" は .Dq Li slink 自身の所有者を変更します。 .Pp この規則には 4 つの例外があります。 .Xr mv 1 および .Xr rm 1 のコマンドは、引数として指定されるシンボリックリンクを追跡せずに、 それぞれシンボリックリンク自身を改名したり削除しようとします。 (シンボリックリンクがファイルを相対パスで指定する場合、 シンボリックリンクを他のディレクトリに移動してしまうと、 パスが正しくなくなってしまいますので、 追跡できなくなります。) .Pp .Xr ls 1 コマンドもまたこの規則の例外です。 歴史的なシステムとの互換性のために ( .Nm ls がツリーをたどらない場合、すなわち .Fl R オプションが指定されない場合)、 .Fl H , .Fl L オプションが指定されるか .Fl F , .Fl d , .Fl l オプションが指定されない場合、 .Nm ls コマンドは引数として指定されたシンボリックリンクを追跡します。( ファイルツリーをたどらない場合にも、 .Fl H , .Fl L オプションが動作に影響を与えるコマンドは .Nm ls だけです。) .Pp .Xr file 1 コマンドもまたこの規則の例外です。 .Xr file 1 コマンドは、引数として指定されるシンボリックリンクを、 デフォルトでは追跡しません。 .Fl L オプションが指定されると、 .Xr file 1 コマンドは引数として指定されるシンボリックリンクを追跡します。 .Pp .Bx 4.4 システムは歴史的な 4BSD システムとは異なり、 .Nm chown , .Nm chgrp のコマンドがコマンドラインに指定されたシンボリックリンクを追跡します。 .Ss ファイルツリーをたどるコマンド 次のコマンドは、オプションとしてまたは常にファイルツリーをたどります: .Xr chflags 1 , .Xr chgrp 1 , .Xr chmod 1 , .Xr cp 1 , .Xr du 1 , .Xr find 1 , .Xr ls 1 , .Xr pax 1 , .Xr rm 1 , .Xr tar 1 , .Xr chown 8 。 .Pp ファイルシステムをたどるときに出会うシンボリックリンクおよび コマンドライン引数として指定されるシンボリックリンクに対し、 次の規則が等しく適用されることを認識することが重要です。 .Pp 最初の規則は、 ディレクトリ型ではない ファイルを参照するシンボリックリンクに対して適用されます。 シンボリックリンクに対して適用される操作は、 リンク自身に対してなされますが、 そうでない場合にはリンクは無視されます。 .Pp 例えば、コマンド .Dq Li "chown -R user slink directory" は .Dq Li slink を無視します。 なぜなら本システムにおけるシンボリックリンクは所有者を持たないためです。 ツリーをたどるときに出会うシンボリックリンクもまた無視されます。 コマンド .Dq Li "rm -r slink directory" は .Dq Li slink を削除し、 .Dq Li directory のツリーをたどるときに出会うシンボリックリンクもまた削除します。 なぜなら、シンボリックリンクは削除可能であるためです。 いかなる場合も、 .Dq Li slink が参照するファイルに .Nm chown および .Nm rm が影響することはありません。 .Pp 第 2 の規則は、 タイプがディレクトリであるファイルを参照するシンボリックリンクに適用されます。 デフォルトでは、 タイプがディレクトリであるファイルを参照するシンボリックリンクは .Dq 追跡 されません。 これはしばしば .Dq 物理 探索と呼ばれ、 .Dq 論理 探索 (ディレクトリを参照するシンボリックリンクが追跡される場合です) の対極に位置します。 .Pp 可能な限り一貫性を持たせるため、 シンボリックリンクが参照するファイルのタイプに依存せずに、 ファイルツリーをたどるコマンドに コマンドラインで指定されるシンボリックリンクを追跡させるためには、 .Fl H .Pf ( Dq 半論理 ) フラグを指定します。 このフラグは、 コマンドラインの名前空間を論理的な名前空間とすることを意図しています。 (注: 常にファイルツリーをたどるわけではないコマンドにおいては、 .Fl R フラグも指定されていない場合には、 .Fl H フラグは無視されます。) .Pp 例えば、コマンド .Dq Li "chown -HR user slink" は、 .Dq Li slink で指されるファイルを根とするファイル階層をたどります。 注: .Fl H は、以前議論した .Fl h フラグとは同じではありません。 .Fl H フラグは、 実行される操作およびファイルツリーをたどるときの両方において、 コマンドラインで指定されるシンボリックリンクを手繰るようにします。 これにより、シンボリックリンクが指すファイルの名前を、 ユーザが指定したかのようになります。 .Pp 可能な限り一貫性を持たせるため、 シンボリックリンクが参照するファイルのタイプに依存せずに、 ファイルツリーをたどるコマンドに コマンドラインで指定されるシンボリックリンクだけでなく ファイルツリーをたどっているときに出会うシンボリックリンクも 追跡させるためには、 .Fl L .Pf ( Dq 論理 ) フラグを指定します。 このフラグは、 すべての名前空間を論理的な名前空間とすることを意図しています。 (注: 常にファイルツリーをたどるわけではないコマンドにおいては、 .Fl R フラグも指定されていない場合には、 .Fl L フラグは無視されます。) .Pp 例えば、コマンド .Dq Li "chown -LR user slink" は、 .Dq Li slink で指されるファイルの所有者を変更します。 .Dq Li slink がディレクトリを参照する場合、 .Nm chown は .Dq Li slink で指されるディレクトリを根とするファイル階層をたどります。 さらに、 .Nm chown がたどるファイルツリーの中でシンボリックリンクに出会うと、 そのシンボリックリンクは .Dq Li slink と同じ方法で扱われます。 .Pp 可能な限り一貫性を持たせるため、 デフォルトの動作を指定するには、 .Fl P .Pf ( Dq 物理 ) フラグを指定します。 このフラグは、 名前空間全体を物理的な名前空間のように見せるためのものです。 .Pp デフォルトでファイルツリーをたどらないコマンドにおいては、 .Fl R もまた指定しない場合には、 .Fl H , .Fl L , .Fl P フラグは無視されます。 また、 .Fl H , .Fl L , .Fl P オプションは複数回指定可能です。 この場合、最後に指定したものがコマンドの動作を指定します。 ある動作を行うようにコマンドをエイリアスし、 それをコマンドラインで上書きできるようにすることを意図しています。 .Pp .Xr ls 1 と .Xr rm 1 のコマンドは、これらの規則において例外を持ちます。 .Nm rm コマンドはシンボリックリンクを操作し、 シンボリックリンクが参照するファイルを操作しません。 また、シンボリックリンクを追跡しません。 .Nm rm コマンドは .Fl H , .Fl L , .Fl P のオプションをサポートしません。 .Pp 歴史的なシステムとの互換性を維持するために、 .Nm ls コマンドは少し異なる挙動を示します。 .Fl F, .Fl d, .Fl l オプションのいずれも指定しない場合、 .Nm ls コマンドは、コマンド行で指定したシンボリックリンクを追跡します。 .Fl L フラグが指定されると、シンボリックリンクのタイプにかかわらず、 またコマンドラインで指定されたのかファイルツリーをたどる途中に 出会ったのにかもかかわらず、 .Nm ls は全シンボリックリンクを追跡します。 .Sh 関連項目 .Xr chflags 1 , .Xr chgrp 1 , .Xr chmod 1 , .Xr cp 1 , .Xr du 1 , .Xr find 1 , .Xr ln 1 , .Xr ls 1 , .Xr mv 1 , .Xr pax 1 , .Xr rm 1 , .Xr tar 1 , .Xr lchown 2 , .Xr lstat 2 , .Xr readlink 2 , .Xr rename 2 , .Xr symlink 2 , .Xr unlink 2 , .Xr fts 3 , .Xr remove 3 , .Xr chown 8 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1-21 diff --git a/ja_JP.eucJP/man/man8/adding_user.8 b/ja_JP.eucJP/man/man8/adding_user.8 index 9d8159c1f4..aa0937226f 100644 --- a/ja_JP.eucJP/man/man8/adding_user.8 +++ b/ja_JP.eucJP/man/man8/adding_user.8 @@ -1,126 +1,126 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)adduser.8 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man8/adding_user.8,v 1.3 1999/08/28 00:21:00 peter Exp % +.\" %FreeBSD: src/share/man/man8/adding_user.8,v 1.3.2.1 2000/08/27 17:31:42 gshapiro Exp % .\" jpman %Id: adding_user.8,v 1.3 1997/07/22 16:44:29 horikawa Stab % .\" .Dd June 5, 1993 .Dt ADDING_USER 8 .Os BSD 4 .Sh 名称 .Nm adding_user .Nd 新規ユーザ登録のためのプロシージャ .Sh 解説 新規ユーザはログイン名を選ばなければなりません。 ここで、ログイン名は既に .Pa /etc/passwd や -.Pa /etc/aliases +.Pa /etc/mail/aliases に登録されているものであってはいけません。 また、ハイフン .Ql Fl 文字で始まるものも使えません。 メーラを混乱させないためにも、全ての文字は英小文字でドット .Ql \&. 文字を含まないことが、強く推奨されています。 アカウントは、パスワードファイルを一行編集することで加えることが できます。これを行う時は、パスワードファイルはロックされていなければ なりません。このロックは、 .Xr chpass 1 や .Xr vipw 8 を使うことで可能です。 .Pp 新規ユーザには、グループとユーザ id を与えます。 ログイン名とユーザ id は、システム全体やしばしばシステムグループで 一意でなければなりません。これは、ファイルのアクセスを制御するために 使われるからです。 典型的には、似たようなプロジェクトで働いているユーザは同じグループに 入ります。 University of California の Berkley 校では、システムスタッフ・ 学部・大学院・大きなプロジェクトのための特別なプロジェクトのグループが あります。 .Pp 新規ユーザ \*(lqernie\*(rq のための骨格となるアカウントは、以下のようになります。 .Bd -literal ernie::25:30::0:0:Ernie Kovacs,508 Evans Hall,x7925, 642-8202:/a/users/ernie:/bin/csh .Ed .Pp 個々のフィールドの解説は、 .Xr passwd 5 を参照してください。 .Pp 新規ユーザに始めるにあたっていくつかの助けを与えることは良いことです。 このために、いくつかの骨格となるファイルを与えてあげれます。 .Pa /bin/sh ユーザには、 .Pa \&.profile を、 .Pa /bin/csh ユーザには、 .Pa \&.cshrc や .Pa \&.login を与えれば良いでしょう。 .Pa /usr/share/skel ディレクトリに、そのようなファイルの骨格の定義を置いておけます。 新規ユーザは、これらのファイルの複製を与えられます。 ここで、例えば .Xr tset 1 をログインする度に自動的に実行するように設定できます。 .Sh 関連ファイル .Bl -tag -width /etc/master.passwdxx -compact .It Pa /etc/master.passwd ユーザデータベース .It Pa /usr/share/skel ログインディレクトリのための骨格データ .El .Sh 関連項目 .Xr chpass 1 , .Xr finger 1 , .Xr passwd 1 , .Xr aliases 5 , .Xr passwd 5 , .Xr adduser 8 , .Xr pwd_mkdb 8 , .Xr vipw 8 .Sh バグ ユーザ情報は (段々とそうなってきていますが)、別のところに 記憶するべきです。 .Sh 歴史 .Nm 手続きは .Bx 3.0 から導入されました. diff --git a/ja_JP.eucJP/man/man8/adduser.8 b/ja_JP.eucJP/man/man8/adduser.8 index 93fa36d640..1462160d53 100644 --- a/ja_JP.eucJP/man/man8/adduser.8 +++ b/ja_JP.eucJP/man/man8/adduser.8 @@ -1,252 +1,252 @@ .\" Copyright (c) 1995-1996 Wolfram Schneider . Berlin. .\" 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/adduser/adduser.8,v 1.30 2000/03/06 09:45:31 sheldonh Exp % +.\" %FreeBSD: src/usr.sbin/adduser/adduser.8,v 1.30.2.1 2000/08/27 17:31:44 gshapiro Exp % .\" jpman %Id: adduser.8,v 1.4 1997/08/07 17:53:51 ken Stab % .\" .Dd January 9, 1995 .Dt ADDUSER 8 .Os FreeBSD 2.1 .Sh 名称 .Nm adduser .Nd 新しいユーザを加えるためのコマンド .Sh 解説 .Nm adduser .Op Fl check_only .br .Op Fl class Ar login_class .br .Op Fl config_create .br .Op Fl dotdir Ar dotdir .br .Op Fl group Ar login_group .br .Op Fl h | help .br .Op Fl home Ar home .br .Op Fl message Ar message_file .br .Op Fl noconfig .br .Op Fl shell Ar shell .br .Op Fl s | silent | q | quiet .br .Op Fl uid Ar uid_start .br .Op Fl v | verbose .Sh 解説 .Nm は新しいユーザを加えるための簡単なプログラムです。 .Nm はパスワード, グループ, シェル等のデータベースをチェックし、 passwd/group の登録を行い、 .Ev HOME ディレクトリとドットファイルを作成し、 新しいユーザに歓迎メッセージを送ります。 .Sh 制限事項 .Bl -tag -width Ds -compact .It Sy username ログイン名です。 英小文字と数字のみ使用可能です。 長さは 16 文字までです ( .Xr setlogin 2 のバグの章を参照してください)。この制限の理由は、 ``歴史的な'' 物です。 美的な理由からこの制限を破りたいとする人々はいつもいましたが、 UNIX における基本的なパラメータを変更するほどの重要な理由ではありま せんでした。 .Pa /usr/include/utmp.h ファイル内の .Dv UT_NAMESIZE パラメータを変更し、全てを再コンパイルすることで、変更できますが、 コンパイル済みのプログラムや名前の 8 文字制限を前提としたソースコード、 そして NIS については、問題が起こるでしょう。 NIS のプロトコルは、 ユーザ名を 8 文字と定めています。電子メールアドレスとして、もっと長い ログイン名を必要とする場合には、別名を -.Pa /etc/aliases +.Pa /etc/mail/aliases ファイルに定義することができます。 .It Sy fullname 名と姓です。 .Ql Pa \: (コロン) は、使えません。 .It Sy shell シェルデータベースに定義されている有効なシェル、もしくは、sliplogin と pppd だけが有効です。 .It Sy uid 自動生成されますが、自分で指定することもできます。ただし、32000 よ りも小さい数字でなければなりません。 .It Sy gid/login group あなたが指定したものです。さもなければ、自動的に生成されます。 .It Sy password 定義した時には、パスワードは .Xr crypt 3 を利用して暗号化されます。 .El .Sh 一意なグループ ひょっとして、あなたは、この方法ではできても他のほとんどの方法ではう まく行かないことがあるのを見逃しているかもしれません。個々のユーザを そのユーザ独自のグループに入れることで、 umask を 002 としておいても 安全になり、ホームディレクトリにファイルを作っても、他の人にファイル を読まれる心配がなくなります。 .Pp 共有場所を作るためには、 (freefall における cvs や ncvs のように) uid/gid を別に設けて、ユーザを個別にその新しいグループに入れることで、 その場所へのアクセスを可能とすべきです。 .Pp この uid/gid の管理モデルは、たくさんのユーザをグループにまとめるよ り柔軟性があり、共有場所で仕事をする時に umask をいじり回さずにすみ ます。 .Pp この方法をほぼ 10 年間使っていますが、ほとんどの場合に使えることがわ かり、じゃまになったことはありませんでした。 (Rod Grimes) .Sh 設定 .Bl -enum .It 内部変数を読込みます。 .It 設定ファイル (/etc/adduser.conf) を読込みます。 .It コマンドラインオプションを解析します。 .El .Sh オプション .Bl -tag -width Ds .It Sy -check_only /etc/passwd, /etc/group, /etc/shells をチェックし、終了します。 .It Sy -class Ar login_class デフォルトのログインクラスを設定します。 .It Sy -config_create 新しい設定を設定ファイルに書込み、メッセージファイルを作成して、 終了します。 .It Sy -dotdir Ar directory ファイルを .Ar directory から、新しいユーザの .Ev HOME ディレクトリへコピーします。 .Ql Pa dot.foo というファイルは、 .Ql Pa .foo という名前に変更されます。 .Ar directory として .Ar no が指定された場合には、コピーを行いません。セキュリティ的な理由から全 てのファイルは所有者に対して読み書き可能となり、グループや他の人達に 対しては書込み可能にはなりません。また、以下のファイルは、所有者に 対してのみ読み書き実行可能となります。 .Pa .rhost , .Pa .Xauthority , .Pa .kermrc , .Pa .netrc , .Pa Mail , .Pa prv , .Pa iscreen , .Pa term .It Sy -group Ar login_group ログイングループの指定です。 .Ar USER はユーザ名がログイングループとして使用されることを意味します。 .It Sy -help,-h,-? オプションの要約を表示して、終了します。 .It Sy -home Ar partition 全てのユーザがホームディレクトリを持つデフォルトのディレクトリ (home partition) を指定します。 .It Sy -message Ar file 新しいユーザに .Ar file の歓迎メッセージを送ります。 .Ar file が .Ar no であった時にはメッセージは送りません。 .It Sy -noconfig デフォルトの設定ファイルを読みません。 .It Sy -shell Ar shell 新しいユーザに対するデフォルトのシェルを指定します。 .It Sy -silent,-s,-quiet,-q 警告や質問、バグの報告を少ししか行いません。 .It Sy -uid Ar uid ユーザ id を .Ar uid かそれ以上にします。 .It Sy -verbose,-v 警告と質問をたくさん行います。初心者ユーザにはおすすめです。 .Sh フォーマット .Bl -tag -width Ds -compact .Ql Pa # はコメントです。 .It Sy 設定ファイル .Nm はこのファイルを読み書きします。 より詳しくは、 .Pa /etc/adduser.conf を見てください。 .It Sy メッセージファイル このファイル内では変数は評価されます。 より詳しくは、 .Pa /etc/adduser.message を見てください。 .El .Sh 関連ファイル .Bl -tag -width /etc/master.passwdxx -compact .It Pa /etc/master.passwd ユーザのデータベース .It Pa /etc/group グループのデータベース .It Pa /etc/shells シェルデータベース .It Pa /etc/login.conf ログインクラスデータベース .It Pa /etc/adduser.conf adduser 用の設定ファイル .It Pa /etc/adduser.message adduser 用のメッセージファイル .It Pa /usr/share/skel ログインディレクトリの雛型 .It Pa /var/log/adduser adduser の ログ記録ファイル .El .Sh 関連項目 .Xr chpass 1 , .Xr finger 1 , .Xr passwd 1 , .Xr setlogin 2 , .Xr yp 4 , .Xr aliases 5 , .Xr group 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr shells 5 , .Xr pw 8 , .Xr pwd_mkdb 8 , .Xr rmuser 8 , .Xr vipw 8 .\" .Sh バグ .Sh 歴史 .Nm コマンドは .Fx 2.1 から導入されました. diff --git a/ja_JP.eucJP/man/man8/amd.8 b/ja_JP.eucJP/man/man8/amd.8 index eaea630dce..3685bfc4ce 100644 --- a/ja_JP.eucJP/man/man8/amd.8 +++ b/ja_JP.eucJP/man/man8/amd.8 @@ -1,343 +1,343 @@ .\" .\" 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. .\" .\" %W% (Berkeley) %G% .\" .\" %Id: amd.8,v 1.3 1999/09/30 21:01:29 ezk Exp % -.\" %FreeBSD: src/contrib/amd/amd/amd.8,v 1.6.2.3 2000/07/12 20:34:02 ben Exp % +.\" %FreeBSD: src/contrib/amd/amd/amd.8,v 1.6.2.4 2000/09/20 02:17:04 jkh Exp % .\" .\" jpman %Id: amd.8,v 1.2 1997/04/15 00:24:08 mutoh Stab % .\" .Dd April 19, 1994 .Dt AMD 8 .Os .Sh 名称 .Nm amd .Nd 自動マウントファイルシステム .Sh 書式 .Nm amd .Fl H .Nm amd .Op Fl F Ar conf_file .Nm amd .Op Fl nprvHS .Op Fl a Ar mount_point .Op Fl c Ar duration .Op Fl d Ar domain .Bk -words .Op Fl k Ar kernel-arch .Ek .Op Fl l Ar logfile .Op Fl o Ar op_sys_ver .Op Fl t Ar timeout.retransmit .Bk -words .Op Fl w Ar interval .Ek .Op Fl x Ar log-option .Op Fl y Ar YP-domain .Bk -words .Op Fl C Ar cluster-name .Ek .Op Fl D Ar option .Op Fl F Ar conf_file .Op Fl O Ar op_sys_name .Op Fl T Ar tag .Oo .Ar directory mapname .Op Fl map-options .Oc .Ar ... .Sh 解説 .Nm は、ファイルシステムがアクセスされたときに自動的にそのファイルシステムを マウントするデーモンです。マウントされたファイルシステムは、アクセスがな ければ自動的にアンマウントされます。 .Pp .Nm は、自分自身をNFSサーバとして、指定された .Ar directory に結び付けます。 その指定ディレクトリ内でのファイルアクセスは .Nm によって処理されます。 .Nm は、 .Ar mapname で定義されたマップを使って、あるディレクトリ にどのファイルシステムを割り当てるかを決定します。 一般に .Ar mapname は、ホスト名やファイルシステムの情報、 マウントオプションから構成されます。 .Pp 前述の最初の形式では、 .Nm は短いヘルプ文字列を表示します。 第 2 の形式では、オプションを指定しないか、 .Fl F が使用されると、 .Nm は設定パラメータをファイル .Ar conf_file から読み込みます。設定ファイルのデフォルトは .Pa /etc/amd.conf です。 最後の形式についてはここから記述します。 .Sh オプション .Bl -tag -width Ds .It Fl a Ar temporary-directory 実際にファイルシステムをマウントする位置を指定します。 デフォルトは -.Pa /a +.Pa /.amd_mnt です。 .It Fl c Ar duration ディレクトリが使われないときに、探索に使われた名前をキャッシュ して保持する秒数を指定します。デフォルトは5分です。 .It Fl d Ar domain ローカルドメイン名を指定します。もしこのオプションが与 えられなければ、ドメイン名はホスト名から決定されます。 .It Fl k Ar kernel-arch カーネルアーキテクチャを指定します。これは単に ${karch} セレクタ を指定するだけです。 .It Fl l Ar logfile マウントおよびアンマウントのイベントを記録するログファイル を指定します。 もし、 .Ar logfile が ``syslog'' という文字列なら、ログメッセージは .Xr syslog 3 によってシステムログデーモンに送られます。 デフォルトの syslog ファシリティは LOG_DAEMON です。 変更したい場合は、ログファイル名の後にコロンで区切って、 その名前を付けてください。 例えば、 .Ar logfile が文字列 .Nm syslog:local7 である場合、 .Nm は、 .Xr syslog 3 の LOG_LOCAL7 ファシリティを使用してログを取ります (ただしシステムに本ファイシリティが存在する場合)。 .It Fl n ホスト名を正規化します。${rhost}で参照される名前は、使わ れる前にホストデータベースに関連づけて正規化されます。 これは、エイリアスを ``公式 (official)'' ホスト名に変換する効果があります。 .It Fl o Ar op_sys_ver 組み込まれているオペレーティングシステムバージョン番号を上書きします。 後方互換性のために、 組み込みのバージョン番号が望ましくない場合に有用です。 例えば、組み込みのバージョン番号が .Dq 2.5.1 の場合、 .Dq 5.5.1 で上書きして、後者を意識して書いた古いマップを使用することができます。 .It Fl p プロセスIDを表示します。 .Nm のプロセス ID を標準出力に出力して、ファイルに保存することができます。 .It Fl r 存在するマウントをリスタートします。 .Nm はマウントファイルテーブルをスキャンして、 現在マウントされているファイルシステムを判断します。 ファイルシステムが自動マウントされたものであれば、 .Nm は、その情報を継承します。 .It Fl t Ar timeout.retransmit NFS/RPC のリトライの間隔、すなわち NFS タイムアウト間隔を、 10 分の 1 秒単位で指定します (UDP のみ)。 デフォルト値は 0.8 秒です。2 番目の値は再送カウンタを変更します。 デフォルト値では 11 回の再送です。 カーネルは、両方の値を使用して amd と通信します。 どちらか一方か、両方の値が設定されていなければ、 適当なデフォルト値が設定されます。 .Pp amd は、 カーネルの RPC 再送機構がマウントリトライの引き金となることに依存しています。 これらのパラメータ値は、総合的なリトライ間隔を変更します。 間隔が長くなり過ぎると、対話応答が劣化します。 間隔が短くなり過ぎると、リトライが増え過ぎます。 .It Fl v バージョンを表示します。標準エラー出力に設定情報を表示します。 .It Fl w Ar interval キャッシュする時間を超えたファイルシステムのマウントを解除する時間を 秒単位で指定します。デフォルト値は2分です。 .It Fl x Ar options 実行時に何をログに記録するかを指定します。 .Ar options には次のものをコンマで区切って使用できます: fatal, error, user, warn, info, map, stats, all。 .It Fl y Ar domain NIS マップをとってくる際に用いる NIS ドメインを指定します。 デフォルトはシステムのドメイン名です。このオプションは、NIS を動かしていないときには無視されます。 .It Fl C Ar cluster-name 代わりの HP-UX クラスタ名を指定します。 .It Fl D Ar option デバッグオプションの種類を選択することができます。 .Ar option の頭に .Ar no をつけると、そのオプションの逆の影響を与えます。 オプションは並べて指定することができます。もっとも役に立つのは .Ar all です。 .Pp .Fl D はデバッグのときにだけ使うものであるため、ここでは他のオプションに ついては説明しません。サポートされているオプションは .Fl v オプションで表示されますが、詳細はソースコードに記述されています。 .It Fl F Ar conf_file 使用する .Nm 設定ファイルを指定します。 ファイル形式については .Xr amd.conf 5 を参照してください。 この設定ファイルの用途は、 コマンドラインにて多くのオプションをタイプする代りに、 これらのオプションを指定することです。 .Nm amd.conf ファイルは、 amd が持つすべてのコマンドラインオプションに対するディレクティブと、 設定ファイルによってのみ利用可能な多くの設定を含みます。 本オプションで指定された設定ファイルは、 他のオプションすべてが処理された後で処理されます。 本オプションがコマンドラインのどこに置かれていたかは無関係です。 .It Fl H ヘルプと使用方法の文字列を表示します。 .It Fl O Ar op_sys_name 組み込まれているオペレーティングシステム名を上書きします。 後方互換性のために、 組み込みの名前が望ましくない場合に有用です。 例えば、組み込みの名前が .Dq sunos5 の場合、 .Dq sos5 で上書きして、後者を意識して書いた古いマップを使用することができます。 .It Fl S .Nm の走行中の実行可能ページをメモリにロックしません。 .Nm の性能向上のために、 .Xr plock 3 コールをサポートするシステムでは .Nm プロセスをメモリにロック可能です。 この場合、オペレーティングシステムが必要に応じて .Nm プロセスをスケジュールしたり、ページアウトしたり、スワップする 機会が減ります。 .Nm の性能は向上する傾向がありますが、 .Nm プロセスが使用するメモリを .Pq 他のプロセスが使えないようにして 予約してしまうというコストとなります。 この動作が望ましくない場合、 .Fl S を使用します。 .It Fl T Ar tag .Xr amd.conf 5 が使用するタグを指定します。 タグが付いている全マップエントリが処理されます。 タグが付いていないマップエントリは常に処理されます。 .Ar tag 以外のタグが付いているマップエントリは処理されません。 .Sh 関連ファイル .Bl -tag -width /axx .It Pa /a 動的にファイルシステムがマウントされるディレクトリ .It Pa /etc/amd.conf デフォルトの設定ファイル .El .Pp .Sh 注意 マウントマップを作成する場合には注意が必要です。 .Pp .Tn NFS ファイルシステム上のシンボリックリンクは、信じられないほど 非効率的です。 .Tn NFS を実装した多くのシステムでは、 シンボリックリンクの展開結果はカーネルがキャッシュせずに、 .Em lookuppn (パス名変換)時にシンボリックリンクに出会うたびに NFSサーバに対してRPCコールを行うようになっています。 キャッシュをどこかに加えることによって、かなり大きな性能の向上が 得られるはずです。 上手に実現したオートマウントシステムで .Xr symlink 2 を置き換えれば大きくスピードアップすることができますが、 同時に多くのコンテキストスイッチも起こします。 .Pp .Nm のすべての機能を駆使できれば非常に便利ですが、 それにはかなりの想像力が必要になります。 .Pp .Sh 関連項目 .Xr domainname 1 , .Xr hostname 1 , .Xr syslog 3 , .Xr amd.conf 5 , .Xr mtab 5 , .Xr amq 8 , .Xr mount 8 , .Xr umount 8 .Rs .%T Amd \- The 4.4 BSD Automounter. .Re .Pp .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 am-utils の、他の作者および貢献者は、 am-utils とともに配布されている .Nm AUTHORS ファイルに記述されています。 .Sh 歴史 .Nm amd は 4.4BSD にはじめて導入されました。 diff --git a/ja_JP.eucJP/man/man8/boot0cfg.8 b/ja_JP.eucJP/man/man8/boot0cfg.8 index 09c8fee340..915f2a561e 100644 --- a/ja_JP.eucJP/man/man8/boot0cfg.8 +++ b/ja_JP.eucJP/man/man8/boot0cfg.8 @@ -1,152 +1,164 @@ .\" Copyright (c) 1999 Robert Nordier .\" 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/boot0cfg/boot0cfg.8,v 1.5 1999/08/28 01:15:38 peter Exp % +.\" %FreeBSD: src/usr.sbin/boot0cfg/boot0cfg.8,v 1.5.2.1 2000/09/21 18:35:47 rnordier Exp % .\" .\" jpman %Id: boot0cfg.8,v 1.2 1999/05/07 11:24:37 horikawa Stab % .\" .Dd February 21, 1999 .Dt BOOT0CFG 8 .Os .Sh 名称 .Nm boot0cfg .Nd ブートマネージャのインストールと設定ユーティリティ .Sh 書式 .Nm boot0cfg .Op Fl Bv .Op Fl b Ar boot0 .Op Fl d Ar drive .Op Fl f Ar file .Op Fl m Ar mask .Op Fl o Ar options +.Op Fl s Ar slice .Op Fl t Ar ticks .Ar disk .Sh 解説 FreeBSD の .Sq boot0 ブートマネージャは、 i386 マシン (PC) がどのディスクのどのスライスから起動するかを、 操作者が選択できるようにします。 .Pp ここで、 .Dq スライス と言及しているものは、BSD 以外の PC 関連文書においては一般的に .Dq パーティション と呼ばれることに注意してください。 典型的には、リムーバブルディスク以外のみ、スライスを持ちます。 .Pp オプションとして、 .Nm ユーティリティは .Sq boot0 ブートマネージャを指定した .Ar disk へインストールします; そして、様々に操作可能なパラメータの設定を許します。 .Pp PC では、ブートマネージャは典型的にディスクのセクタ 0 にあり、 マスタブートレコード (Master Boot Record; MBR) として知られています。 MBR は、コード (PC BIOS から制御を渡されます) と データ (定義されたスライスに関する組み込みの表) の、両方を含みます。 .Pp オプションは次の通りです: .Bl -tag -width indent .It Fl B .Sq boot0 ブートマネージャをインストールします。 このオプションは、MBR コードを交換しますが、 組み込み済のスライス表には影響しません。 .It Fl v 冗長: 定義されたスライスに関する情報などを表示します。 .It Fl b Ar boot0 どの .Sq boot0 -イメージを使用するかを指定します。デフォルトは /boot/boot0 です。 +イメージを使用するかを指定します。デフォルトは +.Pa /boot/boot0 +です。 .It Fl d Ar drive 指定した .Ar disk を含むドライブを参照するために PC BIOS が使用する、ドライブ番号を指定します。 典型的には、最初のハードドライブは 0x80 であり、 2 番目のハードドライブは 0x81 などとなります; 0 から 0xff までの間の任意の整数を受け付け可能です。 .It Fl f Ar file 以前あった MBR のバックアップコピーを .Ar file に書き込むべきであることを指定します。 このファイルは、存在しない場合には作成され、 存在する場合には切り詰められます。 .It Fl m Ar mask スライスの有効/無効を指定します。 .Ar mask は 0 (全スライスが無効) から 0xf (4 つ全部のスライスが有効) の間の整数です。 .It Fl o Ar options コンマで区切られた文字列であり、次のオプションを指定可能です (必要に応じて .Dq no を前に付けることが可能です): .Bl -tag -width indent .It packet ディスク関連 BIOS サービスにアクセスするときに、 伝統的な (CHS) インタフェースではなく、 -ディスクパケット (BIOS Int 0x13 拡張) インタフェースを使用します。 -デフォルトは、 +ディスクパケット (BIOS Int 0x13 拡張) インタフェースを必要に応じて使用します。 +これがデフォルトです。 .Sq nopacket -です。 +は、Int 0x13 拡張の使用を妨げます。 .It setdrv ディスクを含むドライブの参照に、-d オプションにより 定義可能なドライブ番号を使用することを強制します。 デフォルトは .Sq nosetdrv です。 .It update ブートマネージャが MBR を更新することを許可します。(スライスを .Sq 活動 状態とするためや、スライスの選択情報を保存するために、MBR が更新されます。) これがデフォルトです; .Sq noupdate オプションを指定すると、MBR は読み込み専用で扱われます。 .El +.It Fl s Ar slice +デフォルトのブート選択を +.Ar slice +に設定します。 +1 から 4 までの値は、スライスを示します。 +値 5 は、2 番目のディスクからのブートを示します。 +本オプションは、通常、 +.Sq noupdate +オプションと共に使用します。 .It Fl t Ar ticks タイムアウト値を .Ar ticks に設定します。 (1 秒あたり、およそ 18.2 ticks です。) .El .Sh 関連項目 .Xr boot 8 , .Xr fdisk 8 .Sh 診断 終了状態は、成功時には 0 であり、エラー時には 0 より大きくなります。 .Sh AUTHORS .An Robert Nordier Aq rnordier@FreeBSD.org .Sh バグ .Sq packet オプションを使用すると、 .Sq boot0 が失敗することがあります。 これは BIOS サポートの性質に依存しています。 .Pp 誤った -d オペランドとともに .Sq setdrv オプションを使用すると、MBR を誤ったディスクへ書き込むことになります。 注意してください ! diff --git a/ja_JP.eucJP/man/man8/ifconfig.8 b/ja_JP.eucJP/man/man8/ifconfig.8 index 0e50fa66bc..d3dfef29e9 100644 --- a/ja_JP.eucJP/man/man8/ifconfig.8 +++ b/ja_JP.eucJP/man/man8/ifconfig.8 @@ -1,430 +1,453 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.27.2.1 2000/07/10 09:19:00 obrien Exp % +.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.27.2.2 2000/08/22 18:08:42 archie Exp % .\" .\" jpman %Id: ifconfig.8,v 1.2 1997/03/31 14:09:47 horikawa Stab % .\" .Dd February 13, 1996 .Dt IFCONFIG 8 .Os BSD 4.2 .Sh 名称 .Nm ifconfig .Nd ネットワークインタフェースのパラメータの設定を行なう .Sh 書式 .Nm ifconfig -.Ar interface address_family +.Op Fl L +.Ar interface +.Op Ar address_family .Oo .Ar address .Op Ar dest_address .Oc .Op Ar parameters .Nm ifconfig .Fl a +.Op Fl L .Op Fl d .Op Fl u .Op Ar address_family .Nm ifconfig .Fl l .Op Fl d .Op Fl u .Op Ar address_family +.Nm ifconfig +.Op Fl L +.Op Fl d +.Op Fl u .Sh 解説 .Nm は、ネットワークインタフェースに対してネットワークアドレス の割り当てを行ない、ネットワークインタフェースのパラメータの設定を行ないます。 .Nm は、システム立ち上げ 時に、マシンが備える各ネットワークインタフェースに対してネットワークアドレス を割り当てるように使用しなければなりません。また、一旦各ネットワークインタフェ ースに対し設定したネットワークアドレスを再定義したり、パラメータの設定を 変えたりすることも可能です。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Ar address .Tn DARPA Ns -Internet ファミリでは、アドレスはホスト名データベース .Xr hosts 5 に登録されているホスト名であるか、もしくは インターネット標準の .Dq ドット表記 です。 .\" ゼロックスネットワークシステム(tm)ファミリでは、 .\" アドレスは .\" .Ar net:a.b.c.d.e.f .\" という形式です。 .\" ここで .\" .Ar net .\" は割り当てるネットワーク番号(10進数)、 .\" 残りの .\" .Ar a .\" から .\" .Ar f .\" までは .\" ホスト番号を表す 6 バイトであり 16 進数で指定します。 .\" ホスト番号は 10Mb/s イーサネットインタフェースでは省略可能です。 .\" ホスト番号指定を省略した場合には、 .\" 一番目のインタフェースのハードウェア物理アドレスを .\" すべてのインタフェースにおいて使用します。 .\" .Tn ISO .\" ファミリでは、 .\" ゼロックスファミリと同じ長さのアドレスを、 .\" 長い 16 進数の文字列で指定します。 .\" 違いは、 .\" ドットが続いた場合にはそのバイトはゼロを表すことと、 .\" ドットはオプションであることです .\" (ドットはネットワークバイトオーダの長い数字列を .\" 注意深く扱うために使用します)。 .It Ar address_family 他のパラメータの解釈に影響するネットワーク .Ar "address family" を指定します。 インタフェースが異なるプロトコルの送信を異なる名前付け体系で 受けることがあるので、アドレスファミリを指定しておくことをお勧めします。 本コマンドでサポートされるプロトコルファミリは、 .Dq inet , .Dq inet6 , .Dq atalk , +.Dq ether , .\".Dq iso , .Dq ipx .\" .Dq ns です。 .It Ar dest_address ポイントツーポイントリンクにおける他端のアドレスを指定します。 .It Ar interface インタフェースパラメータは、 .Dq name unit の形式で表現されます。 例えば .Dq en0 です。 .El .Pp .Nm では以下のパラメータが利用できます: .Bl -tag -width indent .It Cm add ``alias'' パラメータの別名です。 BSD/OS との互換性のために導入されました。 .It Cm alias 指定したインタフェースに、ネットワークアドレスを追加して指定します。 これはネットワーク番号を変更した際に、以前のアドレスに送られるパケットを 受けとりたい場合などに便利です。 アドレスが、 本インタフェースの最初のネットワークアドレスと同じサブネット上の場合、 ネットマスク 0xffffffff を指定する必要があります。 .It Fl alias 指定したネットワークアドレスを無効にします。本機能は、alias で不正なアドレスを 指定した場合や、すでに指定したアドレスが必要ない場合などに使用します。 誤った NS アドレスをホスト部分とともに指定した場合には、 NS アドレスを全て無効にすることにより再度ホスト部分を指定可能となります。 .It Cm anycast (inet6 のみ) 設定されるアドレスはエニーキャスト (anycast) アドレスであると指定します。 現在の仕様では、ルータのみがエニーキャストアドレスに設定可能です。 エニーキャストアドレスは、 出力 IPv6 パケットの送信元アドレスとしては使用されません。 .It Cm arp アドレス解決プロトコル (ARP) を用いてネットワークレベルのアドレスとリンクレベル のアドレスの対応を取ることを可能にします (デフォルト)。この機能は、 .Tn DARPA インターネットアドレスと 10Mb/s Ethernet アドレスの間の対応を取るように 作られています。 .It Fl arp アドレス解決プロトコルの使用を禁止します。 .It Cm broadcast ネットワークに対するブロードキャストアドレスを指定します。 ブロードキャストアドレスのデフォルト値は、 ホスト部のビットがすべて 1 になったアドレスです。 .It Cm debug ドライバ依存のデバッグモードを有効にします。 通常コンソールへのエラーログを有効にします。 .It Fl debug ドライバ依存のデバッグモードを無効にします。 .It Cm delete ``-alias'' パラメータの別名です。 .It Cm down 指定したネットワークインタフェースに ``down'' とマークします。``down'' と マークされたインタフェースに対しては、システムはメッセージの送信を行ない ません。可能であれば、そのインタフェースは受信も不可能となるように リセットされます。この動作は、そのインタフェースを用いる ルーティングを使用しないよう自動的に設定するものではありません。 .\" .It Cm ipdst .\" リモートネットワーク向け NS パケットをカプセル化している IP パケットを .\" 受信する、インターネットホストを指定するために使用します。 .\" 外見上 point to point リンクが構成され、 .\" 指定されたアドレスは、 .\" デスティネーションの NS アドレスとネットワークアドレスとされます。 .\" .Tn CLNP .\" パケットの IP カプセル化はこれとは異なった方法で実現されます。 +.It Cm lladdr Ar addr +インタフェースにリンクレベルアドレスを設定します。 +例えばイーサネットインタフェースに新規 MAC アドレスを +設定するために使用可能ですが、 +使用される機構はイーサネットインタフェースに限ったものではありません。 +アドレス +.Ar addr +は、コロン区切りの 16 進数の連続で指定します。 +本オプション指定時にインタフェースが既に up である場合、 +インタフェースを一時的に down にしてから再度 up にします。 +これは、下位のイーサネットハードウェアの受信フィルタが +正しくプログラムされたことを保証するためです。 .It Cm media Ar type ドライバがメディア選択能力を持つ場合、 インタフェースのメディアタイプを .Ar type に設定します。 インタフェースによっては、 複数の異なった物理メディアコネクタのうちのいずれかを 排他的に使用することをサポートします。 例えば、10Mb/s Ethernet インタフェースには .Tn AUI とツイストペアコネクタをサポートするものがあります。 メディアタイプを .Dq 10base5/AUI に設定すると、AUI ポートを現在のアクティブなコネクタとします。 また .Dq 10baseT/UTP に設定すると、ツイストペアをアクティブにします。 使用可能なタイプの完全なリストは、 インタフェースドライバ固有の文書やマニュアルページを参照してください。 .It Cm mediaopt Ar opts ドライバがメディア選択能力を持つ場合、 インタフェースのメディアオプションを設定します。 .Ar opts はコンマで区切ったオプションリストで、インタフェースに適用されます。 使用可能なオプションの完全なリストは、 インタフェースドライバ固有のマニュアルページを参照してください。 .It Fl mediaopt Ar opts インタフェースのメディアオプションを無効にします。 .It Cm vlan Ar vlan_tag インタフェースが vlan 擬似インタフェースの場合、vlan タグ値を .Ar vlan_tag に設定します。 この値は 16 ビット数値であり、vlan インタフェースから送られるパケットの 802.1Q vlan ヘッダの作成に使用されます。 .Cm vlan と .Cm vlandev は同時に設定される必要があることに注意してください。 .It Cm vlandev Ar iface インタフェースが vlan 擬似デバイスの場合、物理インタフェース .Ar iface を関連付けます。 vlan インタフェースから送信されるパケットは、 802.1Q vlan カプセル化付きで、指定された物理インタフェース .Ar iface へ向けて転換 (divert) されます。 親インタフェースが受信した 802.1Q カプセル化付きのパケットに 正しい vlan タグが付いていた場合、 そのパケットは関連付けられた vlan 擬似インタフェースへ転換されます。 vlan インタフェースは、 親インタフェースのフラグと親のイーサネットアドレスが割り当てられます。 .Cm vlandev と .Cm vlan は同時に設定される必要があります。 vlan インタフェースが既に物理インタフェースと関連付けられている場合、 このコマンドは失敗します。 別の物理インタフェースへ関連付けを変更するには、 既存の関連付けをまずクリアする必要があります。 .Pp 注: vlan インタフェースで .Ar link0 フラグをセットした場合、vlan 擬似インタフェースの振舞いが変わります: 親インタフェースが自身の vlan タグの挿入と取り出しをサポートすること、 vlan インタフェースが親に対して無修正でパケットを渡すべきことを、 .Ar link0 は vlan インタフェースに対して通知します。 .It Fl vlandev Ar iface ドライバが vlan 擬似ドライバの場合、物理インタフェース .Ar iface どドライバとの関連付けを解除します。 これにより、vlan インタフェースとその親との間のリンクを破壊し、 vlan タグとフラグとリンクアドレスをクリアし、 インタフェースをシャットダウンします。 .It Cm metric Ar n インタフェースのルーティングメトリックを .Ar n で指定します。初期値は 0 です。 ルーティングメトリックは、ルーティングプロトコル .Pq Xr routed 8 で使用されます。 .It Cm mtu Ar n そのインタフェースの最大転送単位 (mtu) を .Ar n に設定します。デフォルト値はインタフェースに依存します。 mtu はインタフェースに送られるパケットの大きさを制限するのに用いられます。 mtu を設定できなかったり、設定出来る値の範囲に制限のある インタフェースがあります。 .It Cm netmask Ar mask .\" (inet と ISO) (inet のみ) ネットワークをサブネットワークに細分割する際に、ネットワークアドレスとして リザーブするアドレスを指定します。 mask が指定する部分は、 アドレスのネットワーク部とサブネット部です。 サブネット部はアドレスのホスト部の一部です。 mask は、0x ではじまる16進数、 ドット表記のインターネットアドレス形式、 ネットワークテーブル .Xr networks 5 に記述されている仮想ネットワーク名のいずれかで指定できます。 mask での 32ビットアドレスにおける 1 であるビットの部分は、 ネットワーク部もしくはサブネット部として使用します。 0 であるビットの部分はホスト部として使用します。 mask は少なくともネットワーク部を含む必要があり、 サブネット部はネットワーク部に連続する必要があります。 .It Cm prefixlen Ar len (inet6 のみ) .Ar len ビットを、ネットワークからサブネットワークへの分割用に予約すると、 指定します。 .Ar len は整数であることが必要であり、 文法的な理由で 0 から 128 の間であることが必要です。 現在の IPv6 の割り当て規則では、ほぼ常に 64 です。 本パラメータを省略すると、64 が使用されます。 .\" see .\" Xr eon 5 . .\" .It Cm nsellength Ar n .\" .Pf ( Tn ISO .\" のみ) .\" .Tn NSAP .\" に後続するローカル識別に使用するバイト数を指定します。 .\" この部分は .\" .Tn NET .\" (Network Entity Title) .\" として扱われます。 .\" バイト数のデフォルト値は 1 であり、US .\" .Tn GOSIP .\" 準拠です。 .\" ifconfig コマンドで設定するISO アドレスが、 .\" .Tn NSAP .\" です。 .\" 例えば .\" .Tn US GOSIP .\" では、20 文字の 16 進数を .\" .Tn ISO NSAP .\" において指定し、 .\" インタフェースに割り当てる必要があります。 .\" .Tn AFI .\" 37 タイプアドレスにおいて、数字が 1 とは異なると便利であるのは、 .\" それなりの理由があります。 .It Cm range Appletalk において .Em netrange に返答するようにインタフェースを設定します。 書式は startnet-endnet です。 Appletalk は netmask ではなくこの方法を使用しますが、 .Fx の内部においては netmask の集合として実装しています。 .It Cm remove ``-alias'' パラメータの別名です。 BSD/OS との互換性のために導入されました。 .It Cm phase これに続く引数は、 インタフェースに接続された Appletalk ネットワークの バージョン (フェーズ) を指定します。 1 または 2 が許されています。 .It Cm link[0-2] インタフェースのリンクレベルでの特殊な処理を有効にします。3 つのオプション の実際の効果はインタフェース依存です。しかしながら、これらのオプションは、 一般的には特殊なオペレーションモードを選択するのに用いられます。この例として、 SLIP 使用時のデータ圧縮や、Ethernet カードのコネクタ選択を行います。 各ドライバごとのマニュアルページに 詳細が記してあるので、詳しくはそちらの方を参照して下さい。 .It Fl link[0-2] 上記の link[0-2] の指定を無効にします。 .It Cm up 指定したネットワークインタフェースに .Dq up とマークします。 本オプションは、 .Dq ifconfig down を行なった後にインタフェースを有効にするのに用いられます。 最初にインタフェースにアドレスを設定した場合には、自動的に本指定はされたものと して扱います。もし、down とマークされていたインタフェースがリセットされた場合、 ハードウェアは再初期化されます。 .El .Pp .Nm は引数としてネットワークインタフェース以外に何のオプションも与えられない場合、 ネットワークインタフェースの現在の設定状態を表示します。 プロトコルファミリが指定されている場合、 .Nm はプロトコルファミリに特有の情報についてのみ表示します。 .Pp ドライバがメディア選択をサポートする場合、 サポートされているメディアのリストが出力に含まれます。 .Pp オプションとして、インタフェース名の代りに .Fl L フラグを指定すると、IPv6 用のアドレスの生存時間が、 時刻オフセット文字列として表示されます .Pp .Fl a フラグを指定できます。そうすると、 .Nm はシステム上の全インタフェースを表示します。 .Fl d フラグはこれを down したインタフェースに限定し、 .Fl u フラグはこれは up したインタフェースに限定します。 +引数を指定しないと、 +.Fl a +が暗黙的に指定されます。 .Pp .Fl l フラグを使用するとシステム上の使用可能な全インタフェースのリストを、 その他の情報は付加せずに表示します。 このフラグは他のフラグとは排他的ですが、 .Fl d (down したインタフェースのみをリスト) と .Fl u (up したインタフェースのみをリスト) は例外です。 .Pp スーパユーザのみがネットワークインタフェースの設定を変更できます。 .Sh 注 メディア選択システムは比較的新しく、いくつかのドライバのみサポートしています (必要があるものも限られています)。 .Sh 診断 指定したインタフェースが存在しない、 要求したアドレスが未知のものである、 ユーザがネットワークインタフェースの設定を変更する権限を持っていない、 といったメッセージを表示します。 .Sh バグ IPv6 ノード間のいくつかの基本的な通信用に、 IPv6 リンクローカルのアドレスが必要です。 これらを .Nm ifconfig で手動で削除すると、カーネルが非常に奇妙な動作を示すことがあります。 よって、このような手動削除は、強く非推奨です。 .Sh 関連項目 .Xr netstat 1 , .Xr netintro 4 , .Xr rc 8 , .Xr routed 8 .\" .Xr eon 5 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/init.8 b/ja_JP.eucJP/man/man8/init.8 index 03fababbe6..528bb78d10 100644 --- a/ja_JP.eucJP/man/man8/init.8 +++ b/ja_JP.eucJP/man/man8/init.8 @@ -1,387 +1,390 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Donn Seeley at Berkeley Software Design, 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. .\" .\" @(#)init.8 8.3 (Berkeley) 4/18/94 -.\" %FreeBSD: src/sbin/init/init.8,v 1.22 2000/03/01 11:27:06 sheldonh Exp % +.\" %FreeBSD: src/sbin/init/init.8,v 1.22.2.2 2000/09/13 08:41:36 sheldonh Exp % .\" .\" jpman %Id: init.8,v 1.2 1997/05/27 08:12:44 yugawa Stab % .\" .Dd April 18, 1994 .Dt INIT 8 .Os BSD 4 .Sh 名称 .Nm init .Nd プロセス制御の初期化を行う .Sh 書式 .Nm init .Oo .Cm 0 | 1 | 6 | .Cm c | q .Oc .Sh 解説 .Nm はブート処理の最後に起動されます。 .Nm は通常、 .Xr rc 8 で説明されている自動リブートシーケンスを実行します。それが成功すると、 システムはマルチユーザモードになります。 リブートスクリプトの実行に失敗すると、 .Nm はスーパユーザが使うシェルを起動してシングルユーザモードを 開始させます。 .Nm プログラムは、ブートプログラムからのパラメータの指示を受けて、 マルチユーザモードに移行せず、 一般のデーモンを起動することなくシングルユーザモードの シェルを起動させることができます。 その場合、システムはメンテナンスのためのモードになり、 シェルを抜ける (^D を入力する) ことで シングルユーザモードからマルチユーザモードになります。 これによって、 .Nm は .Pa /etc/rc をファストブートモード (ディスクチェック省略) で実行します。 .Pp もし .Xr ttys 5 ファイルの .Em console のエントリが .Dq insecure にマークされていた場合には、 .Nm はシングルユーザモードのシェルを起動する前に、スーパユーザのパスワードを 要求します。 パスワードチェックは、 .Em console が .Dq secure にマークされていればスキップされます。 .Pp カーネルは 4 種類のセキュリティレベルで走行します。どのスーパユーザ プロセスもセキュリティレベルを上げることができますが、レベルを下げることが できるプロセスはありません。 セキュリティレベルは以下のように定義されます: .Bl -tag -width flag .It Ic -1 常に危険なモード \- システムは常にレベル 0 モードで走行します。 これは初期値のデフォルトです。 .It Ic 0 危険なモード \- 変更不可 (immutable) フラグや追加のみ (append-only) フラグは 無効にされます。 全てのデバイスは、そのパーミッションに従って読み書きされます。 .It Ic 1 安全なモード \- 変更不可フラグや追加のみのフラグは変更されません。 マウントされたファイルシステムのディスクおよび .Pa /dev/mem や .Pa /dev/kmem は read-only となります。 .It Ic 2 安全度の高いモード \- レベル 1 のモードの効果に加え、ディスクは マウントさていようといまいと、( .Xr mount 2 を除き) 常に read-only となります。 このレベルは、ファイルシステムをアンマウントして変更を加えることを不可能に します。また、システムがマルチユーザで走行中に .Xr newfs 8 を実行することも出来なくなります。 .Pp 更に、カーネル時間の変更は 1 秒以内に制限されています。 これ以上変更しようとすると、 .Dq Time adjustment clamped to +1 second というメッセージをログします。 .It Ic 3 ネットワークの安全モード \- 安全度の高いモードに加え、 IP パケットフィルタルール ( .Xr ipfw 8 および .Xr ipfirewall 4 参照) を変更不可能とし、 .Xr dummynet 4 の設定を修正不可能とします。 .El .Pp -初期のセキュリティレベルが -1 だった場合、 +初期のセキュリティレベルが非 0 だった場合、 .Nm はセキュリティレベルを変更しません。 -それ以外の場合、シングルユーザモードではレベル 0 で、マルチユーザモードでは -レベル 1 で、システムは動作します。マルチユーザモードにおいてレベル 2 で -システムを走らせたい場合は、シングルユーザの状態の間に、つまり、 -.Pa /etc/rc -の中で +それ以外の場合、 +.Nm +は、最初にレベル 1 に上げます。 +レベルは減らすことはできませんので、 +その後の操作においてはレベルは最低 1 であり、 +これはシングルユーザモードに戻る場合においても成立ちます。 +マルチユーザモードにおいてレベル 2 で +システムを走らせたい場合は、シングルユーザの状態の間に、 .Xr sysctl 8 を使って、変数 .Dq kern.securelevel に必要なセキュリティレベルの値を設定します。 .Pp マルチユーザモードの場合、 .Nm は .Xr ttys 5 ファイルで指示された端末ポートのためのプロセスを管理します。 .Nm はこのファイルを読み込み、2 番目のフィールドに指示されたコマンドを 実行します。 ただし、1 番目のフィールドが .Pa /dev 中のデバイスを参照し、そのデバイスが設定されていない場合は例外です。 1 番目のフィールドは、コマンドへ渡される最後の引数になります。 そのコマンドは通常、 .Xr getty 8 で、 .Nm getty はtty をオープン、初期化し、 .Xr login 1 プログラムを実行します。 .Nm login プログラムは、ユーザがログインするとシェルを起動します。ユーザが ログアウトするか異常終了するなどして、そのシェルが終了すると、 .Nm プログラムが起こされ、 .Xr utmp 5 ファイルからユーザを消し、 .Xr wtmp 5 ファイルにログアウトを記録します。 このサイクルは、 .Nm プログラムがその端末に新しい .Nm getty を実行することで繰り返されます。 .Pp .Nm は任意のデーモンを走行させ続けるためにも使用可能であり、 デーモンが死んだ場合には自動的に再開します。 この場合、 .Xr ttys 5 ファイルの 1 番目のフィールドは、 設定されたデバイスノードへのパスを参照してはならず、 デーモンに対する最後のコマンドライン引数として渡されます。 これは .At V .Pa /etc/inittab にある機能と同様です。 .Pp ラインの状態 (on, off, secure, getty, ウィンドウの情報) は、 .Xr ttys 5 ファイルを書き換えて .Dq Li "kill -HUP 1" によってシグナル .Dv SIGHUP を .Nm に送ることで、リブートせずに変更できます。 このシグナルを受け取ると .Nm は .Xr ttys 5 ファイルを再度読み込みます。 .Xr ttys 5 でラインがオフにされると、 .Nm はそのラインに関係するセッションの制御プロセスに SIGHUP シグナルを送ります。 オフであったラインが .Xr ttys 5 ファイルでオンにされると、 .Nm は 2 番目のフィールドで指定されるコマンドを起動します。 ラインのコマンドやウィンドウフィールドが変更された場合、その変更は現在 のログインセッションが終了するまで有効にはなりません。 (例えば、 .Nm によって新しいプロセスが起動されるまで有効にならない。) .Xr ttys 5 中のあるラインをコメントアウトあるいは削除した場合は、 .Nm はそのラインに関しては何も実行しません。 しかしこの場合、 .Xr ttys 5 ファイルと .Xr utmp 5 ファイル内の記録情報が一致しなくなるため、試すことはお勧めしません。 .Pp .Dq Li "kill \-TERM 1" などによって terminate シグナル .Pq Dv TERM を受けると、 .Nm はマルチユーザモードを終了し、シングルユーザモードに復帰します。 ハードウェアまたはソフトウェアの問題でデッドロックしたプロセスがある場合、 .Xr init はすべてのプロセスの終了を待たず (これは無限に終らないかも知れません)、 30 秒間でタイムアウトして警告のメッセージを出力します。 .Pp terminal stop シグナル .Pq Dv TSTP を送ると ( .Dq Li "kill \-TSTP 1" )、 .Nm は新しい プロセス を起動するのをやめ、徐々にシステム停止可能な状態にします。 その後、hangup シグナルで完全なマルチユーザモードに戻り、terminate シグナル でシングルユーザモードに移ります。 この hook は .Xr reboot 8 と .Xr halt 8 で使われています。 .Pp interrupt シグナル .Pq Dv INT を送ると ( .Dq Li "kill \-INT 1" )、 .Nm はすべてのプロセスを (デッドロックプロセスを待たずに) 終了させ、 リブートを実行します。 この操作は、マシンがハングした時に、カーネルの中から、あるいは、X から、 システムを安全にシャットダウンするのに便利です。 .Pp .Nm は同じことを行いますが、ユーザ定義シグナル 1 .Pq Dv USR1 を送られた場合はマシンを停止し、 ユーザ定義シグナル 2 .Pq Dv USR2 を送られた場合はマシンを停止してから電源を切ります (ハードウェアが許す場合)。 .Pp マシンをシャットダウンする時、 .Nm は .Pa /etc/rc.shutdown スクリプトを実行しようとします。 このスクリプトは .Nm innd (インターネットニュースサーバ) のような特定のプログラムを綺麗に終了させるために使用可能です。 .Pp .Nm の役割は非常に重要で、もし .Nm が死ぬとシステムが自動的にリブートされます。 もしブート時に .Nm プログラムを見つけられなければ、システムは .Dq panic: init died (signal %d, exit %d) のようなメッセージを出力して panic で終了します。 .Pp 2 番目の書式行のようにユーザプロセスとして実行する場合、 .Nm は .At V の動作をエミュレートします。すなわち、スーパユーザがコマンドラインで .Em ランレベル を指定可能であり、 .Nm はオリジナルの .Pq PID 1 .Nm に次のようなシグナルを送ります: .Bl -column Run-level SIGTERM .It Sy ランレベル シグナル 動作 .It Cm 0 Ta Dv SIGUSR2 Ta "停止して電源切断" .It Cm 1 Ta Dv SIGTERM Ta "シングルユーザモードへ移行" .It Cm 6 Ta Dv SIGINT Ta "マシンを再起動" .It Cm c Ta Dv SIGTSTP Ta "更なるログインを抑止" .It Cm q Ta Dv SIGHUP Ta ファイル .Xr ttys 5 を再スキャン .El .Sh 診断 .Bl -diag .It "getty repeating too quickly on port %s, sleeping" ラインにサービスを提供するプロセスが、起動されるたびにすぐ終了してしまう。 これは、端末ラインに着信があるかノイズが大きい場合にしばしば起こります。 .Em "init は 30 秒間スリープし、" .Em "その後、プロセスを開始させようとし続けます。" .Pp .It "some processes would not die; ps axl advised." シャットダウンの際、ハングしていて終了させられないプロセスがあります。 この状態は、通常、デバイスに異常があるときにデバイスドライバで貼り付い てしまうことにより起こります。 .El .Sh 関連ファイル .Bl -tag -width /etc/rc.shutdown -compact .It Pa /dev/console システムのコンソールデバイス .It Pa /dev/tty* .Xr ttys 5 内にある端末ポート .It Pa /var/run/utmp 現在ログインしているのユーザの情報 .It Pa /var/log/wtmp すべてのログイン・ログアウトの情報 .It Pa /etc/ttys 端末の初期化情報が書かれたファイル .It Pa /etc/rc システム立ち上げ用スクリプト .It Pa /etc/rc.shutdown システムシャットダウン用スクリプト .El .Sh 関連項目 .Xr kill 1 , .Xr login 1 , .Xr sh 1 , .Xr dummynet 4 , .Xr ipfirewall 4 , .Xr ttys 5 , .Xr crash 8 , .Xr getty 8 , .Xr halt 8 , .Xr ipfw 8 , .Xr rc 8 , .Xr reboot 8 , .Xr shutdown 8 , .Xr sysctl 8 .Sh 歴史 .Nm コマンドは .At v6 から登場しました。 .Sh 注意 .Xr sysctl を持たないシステムは、セキュリティレベル \-1 で動作します。 .Pp ブートシーケンスにおいて、セキュリティレベルを 1 より高く設定するのがあまり にも早すぎると、 .Xr fsck 8 が一貫性のないファイルシステムを補修することを妨げてしまう可能性が あります。セキュリティレベル設定を行う場所として適切なところは、 全てのマルチユーザ立ち上げ処理が完了した後である、 .Pa /etc/rc の末尾です。 diff --git a/ja_JP.eucJP/man/man8/mail.local.8 b/ja_JP.eucJP/man/man8/mail.local.8 index 4d81564323..a721195226 100644 --- a/ja_JP.eucJP/man/man8/mail.local.8 +++ b/ja_JP.eucJP/man/man8/mail.local.8 @@ -1,102 +1,120 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. +.\" Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +.\" All rights reserved. .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" -.\" @(#)mail.local.8 8.7 (Berkeley) 5/19/1998 +.\" %Id: mail.local.8,v 8.14 1999/08/26 15:49:20 ca Exp % +.\" +.\" %FreeBSD: src/contrib/sendmail/mail.local/mail.local.8,v 1.5.6.1 2000/08/27 17:31:19 gshapiro Exp % +.\" .\" jpman %Id: mail.local.8,v 1.2 1997/03/31 13:35:26 horikawa Stab % .\" -.Dd May 19, 1998 -.Dt MAIL.LOCAL 8 -.Os -.Sh 名称 -.Nm mail.local -.Nd メールボックスにメールを格納する -.Sh 書式 -.Nm mail.local -.Op Fl f Ar from -.Op Fl b -.Op Fl s -.Ar user ... -.Sh 解説 -.Nm mail.local +.TH MAIL.LOCAL 8 "%Date: 1999/08/26 15:49:20 %" +.SH 名称 +.B mail.local +\- メールボックスにメールを格納する +.SH 書式 +.B mail.local +.RB [ \-7 "] [" \-B "] [" \-d "] [" \-l "] [" \-s "] [" \-f +.IR from "] " "user ..." +.SH 解説 +.B mail.local は EOF がくるまで標準入力から読み込みを行い、 それらを各 -.Ar user +.I user の -.Pa mail +.B mail ファイルに追加します。 -.Ar user +.I user は、有効なユーザ名でなければなりません。 -.Pp +.PP オプション: -.Bl -tag -width xxxfrom -.It Fl f Ar from -送り手の名前を指定します。 -.It Fl b -.Dq biff +.TP 1i +.B \-7 +LMTP モードにおいて 8BITMIME サポートを通知しません。 +.TP +.B \-B +.B biff サービスに通知する事をやめます。 -.It Fl s -.Dq success +.TP +.B \-b +メールボックスが制限を越えた場合に、 +一時的なエラーを返すのではなく永続的なエラーを返します。 +.TP +.B \-d +これが配送であることを指定します (後方互換性のためです)。 +.TP +.BI \-f " from" +送信者名を指定します。 +.TP +.B \-l +LMTP モードをオンにします。 +.TP +.B \-s +.B success 状態を返す前にメールボックスをディスクにコミットするために使用する、 -.Xr fsync 2 +fsync(2) 呼び出しを無効にします。 -.El -.Pp +.TP +.BI \-r " from" +送信者名を指定します (後方互換性のためです)。 +.PP メールボックスのなかの個々のメッセージは、 空行に続く ``From '' という文字列からはじまる行によって区切られます。 ``From'' 、送り手 (sender) の名前、 時刻 (time stamp) を含む行が配送された各メッセージの前に 付加されます。 メッセージのあとには空行が追加されます。 メッセージ中に ``From '' デリミタ行と勘違いされそうな行があったときには (つまり、空白行に続いて ``From '' の 5 文字があったとき) 大なり記号 (``>'') がそれらの行頭に付加されます。 -.Pp +.PP メールファイルはメールが追加されている間は -.Xr flock 2 +flock(2) によって排他的にロックされます。 メールボックスがロックされている間、 -.Pa user.lock +.B user.lock が作成されますが、これは古い MUA との互換性のためです。 -.Pp -.Xr getservbyname 3 +.PP +getservbyname(3) が ``biff'' を返すと、 biff サーバにメールの配送が伝えられます。 -.Pp -.Nm mail.local +.PP +.B mail.local は成功すれば 0 を、失敗すれば 0 より大きな値を返します。 -.Sh 環境変数 -.Bl -tag -width indent -.It Ev TZ +.SH 環境変数 +.IP TZ タイムスタンプを記録する際に適切なタイムゾーンを設定します。 -.El -.Sh 関連ファイル -.Bl -tag -width /tmp/local.XXXXXX -compact -.It Pa /tmp/local.XXXXXX +.SH 関連ファイル +.PD 0.2v +.TP 2.2i +/tmp/local.XXXXXX テンポラリファイル -.It Pa /var/mail/user +.TP +/var/mail/user ユーザのメールボックスディレクトリ -.It Pa /var/mail/user.lock +.TP +/var/mail/user.lock ユーザメールボックスのロックファイル -.El -.Sh 関連項目 -.Xr mail 1 , -.Xr flock 2 , -.Xr getservbyname 3 , -.Xr comsat 8 , -.Xr sendmail 8 -.Sh 歴史 -.Nm mail.local +.PD +.SH 関連項目 +mail(1), +flock(2), +getservbyname(3), +comsat(8), +sendmail(8) +.SH 歴史 +.B mail.local のスーパセット (メールを配送するだけでなく、メールボックスを読むこともできます) は -.At v7 +Version 7 AT&T UNIX から、 -.Nm mail +.B mail として現れました。 diff --git a/ja_JP.eucJP/man/man8/mailstats.8 b/ja_JP.eucJP/man/man8/mailstats.8 index 0efb8aaf78..d31362e689 100644 --- a/ja_JP.eucJP/man/man8/mailstats.8 +++ b/ja_JP.eucJP/man/man8/mailstats.8 @@ -1,100 +1,107 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. +.\" Copyright (c) 1998-2000 Sendmail, Inc. and its suppliers. +.\" All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" -.\" @(#)mailstats.8 8.8 (Berkeley) 11/13/1998 +.\" %Id: mailstats.8,v 8.17 2000/03/11 20:18:21 gshapiro Exp % .\" -.Dd April 25, 1996 -.Dt MAILSTATS 1 -.Os BSD 3 .\" jpman %Id: mailstats.8,v 1.2 1997/05/21 07:42:38 yugawa Stab % -.Dd August 13, 1996 -.Dt MAILSTATS 8 -.Os -.Sh 名称 -.Nm mailstats -.Nd メールの統計情報を表示する -.Sh 書式 -.Nm mailstats -.Op Fl o -.if \nP .Op Fl p -.Op Fl C Ar cffile -.Op Fl f Ar stfile -.Sh 解説 -.Nm mailstats +.TH MAILSTATS 1 "April 25, 1996" +.SH 名称 +.B mailstats +\- メールの統計情報を表示する +.SH 書式 +.B mailstats +.RB [ \-o "] [" \-p ] +.RB [ \-C +.IR cffile ] +.RB [ \-f +.IR stfile ] +.SH 解説 +.B mailstats は、現在のメールの統計情報を表示します。 -.Pp +.PP まず、統計が開始された時刻が -.Xr ctime 3 +ctime(3) で指定されるフォーマットで表示されます。 次に、各メーラの状態が 1 行で表示されます。 それぞれ空白で区切られた次のフィールドからなります: -.Pp -.Bl -tag -width 10n -offset indent -compact -.It Sy M +.sp +.RS +.PD 0.2v +.TP 1.2i +.B M メーラ番号。 -.It Sy msgsfr +.TP +.B msgsfr メーラからのメッセージ数。 -.It Sy bytes_from +.TP +.B bytes_from メーラからのキロバイト数。 -.It Sy msgsto +.TP +.B msgsto メーラへのメッセージ数。 -.It Sy bytes_to +.TP +.B bytes_to メーラへのキロバイト数。 -.It Sy msgsrej +.TP +.B msgsrej 拒否されたメッセージ数。 -.It Sy msgsdis +.TP +.B msgsdis 捨てられたメッセージ数。 -.It Sy Mailer +.TP +.B Mailer メーラ名。 -.El -.Pp +.PD +.RE +.PP この表示の後、 -すべてのメーラの総計行が表示されますが、 -等号 -.Pq Dq \&= +すべてのメーラの総計行が表示されます (前に ``T'' が付きます)。 +これらは、等号 +(``='') 文字のみからなる行によりその前の情報と分けられます。 -.Pp +文字 ``C'' が前に付く他の行は、接続数を示します。 +.PP オプションは以下の通りです: -.Bl -tag -width Ds -.It Fl C +.TP +.B \-C デフォルトの -.Nm sendmail -.Dq cf +.B sendmail +``cf'' ファイルの代りに指定されたファイルを読みます。 -.It Fl f -.Nm sendmail -.Dq cf +.TP +.B \-f +.B sendmail +``cf'' ファイルで指定されている統計情報ファイルの代りに、 指定された統計情報ファイルを読みます。 -.if \nP \ -\{ -.It Fl p +.TP +.B \-p プログラムが読み取る形式で情報を出力し、統計情報をクリアします。 -.\} -.It Fl o +.TP +.B \-o 出力においてメーラ名を表示しません。 -.El -.Pp -.Nm mailstats +.PP +.B mailstats は成功時には 0 で、エラー時には >0 で終了します。 -.Sh 関連ファイル -.Bl -tag -width /var/log/sendmail.st -compact -.ie \nP .It Pa /etc/mail/sendmail.cf -.el .It Pa /etc/sendmail.cf +.SH 関連ファイル +.PD 0.2v +.TP 2.5i +/etc/mail/sendmail.cf デフォルトの -.Nm sendmail -.Dq cf +.B sendmail +``cf'' ファイル -.ie \nP .It Pa /etc/mail/statistics -.el .It Pa /var/log/sendmail.st +.TP +/etc/mail/statistics デフォルトの -.Nm sendmail +.B sendmail 統計情報ファイル -.El -.Sh 関連項目 -.Xr mailq 1 , -.Xr sendmail 8 +.PD +.SH 関連項目 +mailq(1), +sendmail(8) diff --git a/ja_JP.eucJP/man/man8/makemap.8 b/ja_JP.eucJP/man/man8/makemap.8 index e073488434..3230b84d48 100644 --- a/ja_JP.eucJP/man/man8/makemap.8 +++ b/ja_JP.eucJP/man/man8/makemap.8 @@ -1,128 +1,151 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. +.\" Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +.\" All rights reserved. .\" Copyright (c) 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" -.\" @(#)makemap.8 8.12 (Berkeley) 11/13/1998 +.\" %Id: makemap.8,v 8.21.16.1 2000/05/10 20:31:35 ca Exp % +.\" .\" jpman %Id: makemap.8,v 1.3 1997/07/26 21:58:03 horikawa Stab % .\" -.Dd November 16, 1992 -.Dt MAKEMAP 8 -.Os BSD 4.4 -.Sh 名称 -.Nm makemap -.Nd sendmail 用のデータベースマップを作成する -.Sh 書式 -.Nm makemap -.if \nP .Op Fl c Ar cachesize -.Op Fl d -.Op Fl f -.if \nP .Op Fl l -.Op Fl o -.Op Fl r -.Op Fl s -.Op Fl v -.Ar maptype -.Ar mapname -.Sh 解説 -.Nm +.TH MAKEMAP 8 "November 16, 1992" +.SH 名称 +.B makemap +\- sendmail 用のデータベースマップを作成する +.SH 書式 +.B makemap +.RB [ \-C +.IR file ] +.RB [ \-N ] +.RB [ \-c +.IR cachesize ] +.RB [ \-d ] +.RB [ \-e ] +.RB [ \-f ] +.RB [ \-l ] +.RB [ \-o ] +.RB [ \-r ] +.RB [ \-s ] +.RB [ \-u ] +.RB [ \-v ] +.I +maptype mapnam +.SH 解説 +.B makemap は、 -.Xr sendmail 8 +sendmail(8) がキー付きマップを検索する際に用いるデータベースマップを作成します。 これは標準入力から読み込みを行い、指定された -.Ar mapname +.I mapname に出力を行います。 -.Pp +.PP コンパイル方法に依存しますが、 -.Nm +.B makemap は最大 3 種類のデータベースフォーマットを扱います。 扱うフォーマットは -.Ar maptype +.I maptype で指定します。 -.Ar maptype +.I maptype には、以下のようなものがあります。 -.Pp -.Bl -tag -width Fl -.It Li dbm -.Tn DBM +.PP +.TP +dbm +DBM フォーマットマップ。 -.Xr ndbm 3 +ndbm(3) ライブラリが必要です。 -.It Li btree +.TP +btree B-Treeフォーマットマップ。 新しい Berkeley DB ライブラリが必要です。 -.It Li hash +.TP +hash ハッシュフォーマットマップ。 同じく Berkeley DB ライブラリが必要です。 -.El -.Pp +.PP すべてのフォーマットで、 -.Nm makemap +.B makemap は標準入力から空白文字で区切られた 2 つの単語を読み込みます。 最初の単語はデータベースキーで、2番目の単語がその値です。 値が ``%\fIn\fP'' -.Pf ( Ar n -は数字)という文字列を含んでいると、sendmail がパラメータ置換を行います。 -.Dq % -という文字を含めるには、``%%'' とする必要があります。 +(n は数字) という文字列を含んでいると、sendmail がパラメータ置換を行います。 +``%'' という文字を含めるには、``%%'' とする必要があります。 空行や ``#'' から始まる行は無視されます。 -.Pp -.Ss フラグ -.Bl -tag -width Fl -.It Fl N +.PP +.I TrustedUser +オプションが sendmail の設定ファイル中で設定されており、 +.B makemap +が root に起動された場合、生成されたファイルは指定された +.IR TrustedUser +の所有となります。 +.PP +.SS フラグ +.TP +.B \-C +TrustedUser オプションを見付けるために、 +指定した sendmail 設定ファイルを使用します。 +.TP +.B \-N 文字列の終端記号として、ヌル文字もマップに含めます。 これは、sendmail.cf の ``K'' 行における \-N フラグと一致していなければ なりません。 -.if \nP \ -\{\ -.It Fl c +.TP +.B \-c 指定したハッシュと B-Tree キャッシュサイズを使用します。 -.\} -.It Fl d +.TP +.B \-d マップ中に重複するキーが存在することを許します。 B-Treeフォーマットマップでのみ可能です。 2 つの同じキーが読まれた場合、両方ともマップに挿入されます。 -.It Fl f -通常、キーのなかのすべての大文字(upper case)は、 -すべて小文字(lower case)として記録されますが、 +.TP +.B \-e +空の値を許します (右側の値)。 +.TP +.B \-f +通常、キーのなかのすべての大文字は、 +すべて小文字として記録されますが、 このフラグを指定することによってこの動作を行わないように指定できます。 これは、sendmail.cf 中の -\fBK\fP +.B K 行における \-f フラグと一致していなければなりません。 -.if \nP \ -\{\ -.It Fl l +.TP +.B \-l サポートされているマップタイプを列挙します。 -.\} -.It Fl o +.TP +.B \-o すでにあるファイルに追加が行われます。 すでに存在するファイルを引数として指定することができます。 -.It Fl r +.TP +.B \-r すでに存在しているキーを置き換えます。 通常はすでに入力したキーをさらに繰り返して入力しても、 -.Nm +.B makemap は警告を出力し、データベースには取り込みません。 -.It Fl s +.TP +.B \-s 生成されるマップの安全チェックを無視します。 これには、 だれでも書き込めるディレクトリへのハードリンクおよびシンボリックのチェックも 含まれます。 -.It Fl v +.TP +.B \-u +データベースの内容を、標準出力へダンプ (アンマップ) します。 +.TP +.B \-v 処理の内容を詳細に表示します。 -.El -.Sh 関連項目 -.Xr sendmail 8 -.Sh 歴史 -.Nm +.SH 関連項目 +sendmail(8) +.SH 歴史 +.B makemap コマンドは -.Bx 4.4 +4.4BSD から登場しました。 diff --git a/ja_JP.eucJP/man/man8/mount.8 b/ja_JP.eucJP/man/man8/mount.8 index bdf1acb69d..7bec3c1c69 100644 --- a/ja_JP.eucJP/man/man8/mount.8 +++ b/ja_JP.eucJP/man/man8/mount.8 @@ -1,388 +1,390 @@ .\" Copyright (c) 1980, 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount.8 8.8 (Berkeley) 6/16/94 -.\" %FreeBSD: src/sbin/mount/mount.8,v 1.31.2.1 2000/07/01 07:39:53 ps Exp % +.\" %FreeBSD: src/sbin/mount/mount.8,v 1.31.2.2 2000/08/28 08:55:04 sheldonh Exp % .\" .\" jpman %Id: mount.8,v 1.2 1997/05/03 11:26:50 horikawa Stab % .\" .Dd June 16, 1994 .Dt MOUNT 8 .Os BSD 4 .Sh 名称 .Nm mount .Nd ファイルシステムをマウントする .Sh 書式 .Nm mount .Op Fl adfpruvw .Op Fl t Ar ufs | lfs | external_type .Nm mount .Op Fl dfpruvw .Ar special | node .Nm mount .Op Fl dfpruvw .Op Fl o Ar options .Op Fl t Ar ufs | lfs | external_type .Ar special node .Sh 解説 .Nm コマンドは .Xr mount 2 システムコールを使用して、 .Ar "スペシャルデバイス" かリモートノード (rhost:path) を ファイルシステムツリーの .Ar node へ接合します。 もし .Ar special または .Ar node が指定されなかった場合には、 .Xr fstab 5 ファイルから適切な情報を取得します。 .Pp システムは、現在マウントしているファイルシステムのリストを管理しています。 .Nm コマンドを引数を与えずに実行すると、このリストが表示されます。 .Pp オプションとしては以下のものがあります: .Bl -tag -width indent .It Fl a .Xr fstab 5 に記述されているファイルシステムを すべてマウントします。 例外は、``noauto'' が指定されているもの、 .Fl t フラグにて除外されているもの (後述)、 既にマウントされているもの (ルートファイルシステムは伝統的なシングルユーザモードの動作を保つ ために除外されます) です。 通常、これはシステムの起動時に実行されます。 .It Fl d システムコールの実行以外のすべてのことを行ないます。 このオプションを .Fl v とともに指定することで、 .Nm コマンドが何をしようとしているのかを確認することができます。 .It Fl f ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 .It Fl o オプションは .Fl o の後にコンマで区切って指定します。 衝突するオプションが指定された場合、最も右側のオプションが効果があります。 以下のオプションが指定できます: .Bl -tag -width indent .It async 指定したファイルシステムのすべての .Tn I/O を非同期に行います。 このフラグを指定することは非常に .Em 危険 ですので、 システムクラッシュ時にファイルシステムを 作り直す用意ができていないかぎりは使うべきではありません。 .It current .Fl u フラグとともに使用された場合、 マウントされているファイルシステムに対する現在の効果を指定することと同じです。 .It force .Fl f オプションと同じです。 ファイルシステムのマウント状態を読み書き可能から読み込み専用へ 変更しようとするときに、 すでにオープンされているファイルへの書き込み許可を強制的に取り消します。 また、正常かどうか不明なファイルシステムも強制的に読み書き可能に マウントします (危険なため注意して使って下さい)。 .It fstab .Fl u フラグとともに使用された場合、 ファイルシステムに対して .Xr fstab 5 に列挙されている全オプションを指定することと同じです。 .It noasync メタデータ I/O を同期に行い、データ I/O を非同期に行います。 これがデフォルトです。 .It noatime ファイル読み取り時に、ファイルアクセス時刻を更新しません。 このオプションが便利なのは、 多くのファイルを持ち、(ほとんどの場合重要ではない) ファイルアクセス時刻 を更新するよりも性能が重要であるファイルシステムです。 このオプションは現在ローカルファイルシステムでのみサポートされています。 .It noauto mount が .Fl a フラグ付きで動作しているときに、このファイルシステムをスキップします。 .It noclusterr リード時のクラスタリングを無効にします。 .It noclusterw ライト時のクラスタリングを無効にします。 .It nodev ファイルシステム上のキャラクタスペシャルデバイスや ブロックスペシャルデバイスを解釈しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の スペシャルデバイスを含むファイルシステムを持っている場合に有用です。 .It noexec マウントしているファイルシステム上のバイナリの 実行を許可しません。 このオプションは、サーバが自分自身以外のアーキテクチャ用の バイナリを含むファイルシステムを持っている場合に有用です。 .It nosuid 実効ユーザ ID (set-user-ID) セット、 実効グループ ID (set-group-ID) セットビットの 効果をなくします。 注意: .Xr suidperl 1 のような suid/sgid ラッパが 誰でも使えるようにシステムにインストールされている場合には、価値がありません。 .It nosymfollow マウントされたファイルシステムにおいては、シンボリックリンクを追跡しません。 .It rdonly .Fl r と同じく、マウントするファイルシステムを読み込み専用とします (スーパユーザでも書き込みできなくなります)。 .It sync ファイルシステムのすべての .Tn I/O を同期的に行います。 .It suiddir マウントされたファイルシステムにおけるディレクトリに SUID ビットがセットされると、 新規ファイルの所有者をディレクトリの所有者に設定します。 新規ディレクトリは親ディレクトリのビットを継承します。 実行ビットはファイルから取り除かれ、root には与えられません。 .Pp この機能は PC ユーザに対して ftp, SAMBA, netatalk のサービスを行う ファイルサーバのためにデザインされました。 これはシェルユーザに対してセキュリティホールとなりますので、 特にホームディレクトリを持つシェルマシンでは使用すべきではありません。 このオプションが動作するためには、カーネルの SUIDDIR オプションが必要です。 UFS ファイルシステムのみがこのオプションをサポートします。 詳細は .Xr chmod 2 を参照してください。 .It update .Fl u と同じく、すでにマウントされているファイルシステムの状態を変化させることを 指示します。 .It union マウントポイント以下の名前空間に、マウントされたファイルシステムのルートと マウントポイントに元から存在するディレクトリの両方が見えるようにします。 名前を検索するときは、マウントしたファイルシステムが先に検索されます。 ファイルが存在しない ために検索が失敗した場合は、既存のディレクトリがアクセスされます。 ファイル等の作成は、すべて マウントしたファイルシステム上に対して行われます。 .El .Pp .Nm が内部で知っているファイルシステムタイプ .Pf ( Fl t オプションを参照) 以外の、ファイルシステムタイプに固有のオプションは、 コンマで区切って指定します。このオプションは、オプションの前に .Dq \&- (ダッシュ記号) をつけて区別します。値を持つオプションは、 -option=valueの形で指定します。 たとえば、 .Bd -literal -offset indent mount -t mfs -o nosuid,-N,-s=4000 /dev/dk0b /tmp .Ed .Pp では、 .Nm コマンドは以下と同じものを実行します: .Bd -literal -offset indent /sbin/mount_mfs -o nosuid -N -s 4000 /dev/dk0b /tmp .Ed +.Pp +ファイルシステムタイプに固有な追加オプションで、 +内部的には分からないもの (下記 +.Fl t +オプションを参照してください) は、関連する +.Pa /sbin/mount_ Ns Sy XXX +ユーティリティのマニュアルページに記述されているかもしれません。 .It Fl p マウント情報を fstab の形式で表示します。暗黙的に .Fl v オプションを指定します。 .It Fl r ファイルシステムをリードオンリーで マウントします (スーパユーザでも書き込みは行えません)。 これは、 .Fl o オプションで .Dq rdonly を指定するのと同じです。 .It Fl t Ar "ufs \\*(Ba lfs \\*(Ba external type" .Fl t のあとの引数にはファイルシステムタイプを指定します。 デフォルトは、 .Ar ufs です。 .Fl t オプションによって、 .Nm コマンドの操作が、指定した特定のタイプのファイルシステムに対してのみ 行われるように指示することができます。 2つ以上のタイプを指定するにはコンマで区切ります。 ファイルシステムリスト の先頭に .Dq no という文字をつけることに よって、 .Nm コマンドの操作の対象と .Em しない ファイルシステムタイプを指定することができます。 以下に例を示します: .Bd -literal -offset indent mount -a -t nonfs,mfs .Ed .Pp は、 .Tn NFS と .Tn MFS を除いた、すべてのファイルシステムをマウントします。 .Pp type を内部で解釈できない場合、 .Nm は -.Pa /sbin/mount_ Ns Em XXX +.Pa /sbin/mount_ Ns Sy XXX というプログラムを実行しようとします。 -.Em XXX +.Sy XXX の部分が type になります。たとえば nfs ファイルシステムは、 .Pa /sbin/mount_nfs というプログラムによってマウント されます。 .Pp ほとんどのファイルシステム用モジュールは カーネル中にない場合、ファイルシステム別のマウントプログラム によって動的に読み込まれます。 そこでは .Xr vfsload 3 サブルーチンが使われます。 この機構には書き込み可能な作業領域が必要なため、 .Pa /tmp があるファイルシステムタイプのモジュールはカーネルに 組み込まれている必要があります。さらに .Pa /etc/fstab において、 .Pa /tmp や .Pa /usr/bin/ld があるファイルシステムは 動的に読み込まれるファイルシステムよりも前に 記述されていなければいけません。 .It Fl u .Fl u フラグは、すでにマウントしているファイルシステム の状態の変更を指示します。 ファイルシステムを読み込み専用から読み書き可能へ、またその逆へも変更することを 含めて、すでに説明したすべてのオプション .Pf ( Fl o オプション) の内容を変更することができます。 読み書き可能なファイルシステムを読み出し専用に変更する場合、 書き込みのためにオープンしているファイルがあるときには、 .Fl f オプションを指定しなければ変更に失敗します。 どのオプションを適用するかを決定する際、最初に .Fl o オプションの引数を適用し、最後に .Fl r , .Fl w オプションが適用されます。 .It Fl v 詳細なメッセージを表示します。 .It Fl w ファイルシステムを読み書き可能とします。 -.Pp -.Tn NFS -ファイルシステムに対して指定できるオプションは、 -.Xr mount_nfs 8 -のマニュアルに記述されています。 .Sh 関連ファイル .Bl -tag -width /etc/fstab -compact .It Pa /etc/fstab ファイルシステムテーブル .El .Sh 診断 多岐に渡りますが、ほぼ全てが自明です。 .Pp .Dl XXXXX filesystem is not available .Pp カーネルはそのファイルシステムタイプをサポートしていません。 ファイルシステムのサポートは、 静的 (カーネルコンパイル時) もしくは動的 ( .Xr kldload 8 によってカーネルモジュールとしてロードされる) です。 通常、 .Nm もしくはそのサブプロセスは、 ファイルシステムモジュールが静的に組み込まれていない場合は、 .Xr vfsload 3 を使用して動的にそのファイルシステムモジュールをロードしようとします。 この場合上記エラーメッセージは、 モジュールをロードするパーミッションを持たないことも意味する場合があります。 .Sh 関連項目 .Xr mount 2 , .Xr vfsload 3 , .Xr fstab 5 , .Xr kldload 8 , .Xr mount_cd9660 8 , .Xr mount_devfs 8 , .Xr mount_fdesc 8 , .Xr mount_kernfs 8 , .Xr mount_mfs 8 , .Xr mount_msdos 8 , .Xr mount_nfs 8 , .Xr mount_null 8 , .Xr mount_portal 8 , .Xr mount_procfs 8 , .Xr mount_umap 8 , .Xr mount_union 8 , .Xr umount 8 .Sh バグ 異常なファイルシステムをマウントすると、 システムクラッシュを引き起こすことがあります。 .Sh 警告 マウントに成功した後にマウントされたファイルシステムから .Pa ".." がアクセス可能かどうかは、 元のマウントポイントのパーミッションが決定します。 全ユーザが双方向にマウントポイントを行き来可能とするために最低限必要な パーミッションは 0111 (全員が実行可能) です。 .Sh 歴史 .Nm コマンドは .At v1 から登場しています。 diff --git a/ja_JP.eucJP/man/man8/ppp.8 b/ja_JP.eucJP/man/man8/ppp.8 index 668fd359f4..1548ddb404 100644 --- a/ja_JP.eucJP/man/man8/ppp.8 +++ b/ja_JP.eucJP/man/man8/ppp.8 @@ -1,5331 +1,5333 @@ -.\" %FreeBSD: src/usr.sbin/ppp/ppp.8,v 1.209.2.9 2000/08/19 09:30:05 brian Exp % +.\" %FreeBSD: src/usr.sbin/ppp/ppp.8,v 1.209.2.11 2000/09/16 23:09:04 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' .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 +.Sq nameserver 行を加えることで行われます。 詳細は .Xr resolv.conf 5 のマニュアルを参照してください。 .Pp 他の方法として、もし接続先がサポートしている場合には .Nm が接続先にネームサーバのアドレスを尋ねて、自動的に .Pa /etc/resolv.conf を更新することができます。詳細は後述の .Dq enable dns コマンドと .Dq resolv コマンドとを参照してください。 .El .Sh 手動ダイヤル 次の例では、あなたのマシン名が .Dv awfulhak であるとして説明します。 .Nm を引数無しで起動すると (前述の .Sx パーミッション 参照) 次のプロンプトが表示されます: .Bd -literal -offset indent ppp ON awfulhak> .Ed .Pp プロンプトの .Sq ON の部分は常に大文字であるべきです。ここが小文字の場合、 .Dq passwd コマンドを使用してパスワードを入力しなければならないことを意味します。 実行中の .Nm に接続し、 まだ正しいパスワードを入力していない場合にのみこのような状態になります。 .Pp .Bd -literal -offset indent ppp ON awfulhak> set device /dev/cuaa0 ppp ON awfulhak> set speed 38400 .Ed .Pp 通常ハードウェアフロー制御 (CTS/RTS) を使用します。 しかし、特定の場合 (特定の PPP 可能な端末サービスに直接接続している場合に起り得ます)、 .Nm が通信リンクにデータを書き込もうとしたときに、 永遠に来ない CTS (送信時にクリア) シグナルを待つことにより .Nm がハングします。 直通線で接続できない場合は、 .Dq set ctsrts off で CTS/RTS をオフにしてみてください。 これが必要な場合、後述の .Dq set accmap の記述も参照してください - .Dq set accmap 000a0000 も必要かもしれません。 .Pp 通常、パリティは .Dq none に設定します。これが .Nm 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 Filter +ダイヤルフィルタに許可され、他のフィルタに拒否されたパケットのログ。 .It Li HDLC HDLC パケットの 16 進ダンプ。 .It Li ID0 ユーザ ID 0 で実行された全関数呼び出しを詳細に記録。 .It Li IPCP IPCP パケットトレースの生成。 .It Li LCP LCP パケットトレースの生成。 .It Li LQM LQR レポートの生成。 .It Li Phase フェーズ遷移ログの出力。 .It Li Physical 物理レベルパケットの 16 進ダンプ。 .It Li Sync 同期レベルパケットの 16 進ダンプ。 .It Li TCP/IP 全 TCP/IP パケットのダンプ。 .It Li Timer タイマ操作のログ。 .It Li TUN ログの各行に tun デバイスを含めます .It Li Warning 端末デバイスへの出力。端末が存在しない場合は、 .Dv LOG_WARNING を使用してログファイルに送ります。 .It Li Error 端末デバイスとログファイルへの出力で、 .Dv LOG_ERROR を使用します。 .It Li Alert ログファイルへの出力で、 .Dv LOG_ALERT を使用します。 .El .Pp .Dq set log コマンドで、ログの出力レベルを設定することができます。 また、複数のレベルを単一コマンドラインにて指定することも可能です。 デフォルトは、 .Dq set log Phase です。 .Pp スクリーンに直接ログを表示することも可能です。 文法は同じで、語 .Dq local が .Dq set log の直後に付くことだけが違います。 デフォルトは .Dq set log local (つまり、マスクされない警告、エラーと注意のみ出力) です。 .Pp .Dq set log Op local への最初の引数が .Sq + か .Sq - の文字で始まる場合、現在のログレベルを消去せずに修正します。例えば: .Bd -literal -offset indent PPP ON awfulhak> set log phase PPP ON awfulhak> show log Log: Phase Warning Error Alert Local: Warning Error Alert PPP ON awfulhak> set log +tcp/ip -warning PPP ON awfulhak> set log local +command PPP ON awfulhak> show log Log: Phase TCP/IP Warning Error Alert Local: Command Warning Error Alert .Ed .Pp レベル Warning, Error, Alert のメッセージログは .Dq set log Op local では制御できません。 .Pp .Ar Warning レベルは特別で、ローカルに表示可能な場合には記録されません。 .Sh シグナルハンドリング .Nm は次のシグナルを扱います: .Bl -tag -width 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 実行モードにより、 ユーザレベルでのアクセスも可能です。 例えば、 .Fl background モードでは、ユーザ .Sq fred のみがラベル .Sq fredlabel にアクセスできるように、 .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 セクションで許可されたユーザ群を上書きします。 ですから、デフォルトユーザを .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 ロギングが有効になっているかどうかに関わらず、利用可能です。 .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 実行するプログラムを得るために .Ar value をパーズする際には、 .Dq \&! が二重 .Pq Dq \&!! である場合、単一のリテラル .Dq \&! として扱います、そうでない場合、 .Dq \&! を無視します。また、前述の .Dq !bg コマンドと同様に特殊な名前を置換します。 プログラムを実行すると、 .Nm はこのプログラムに対して次の 3 行の入力を与えます。 各行の末尾には改行文字が置かれます。 .Bl -bullet .It CHAP チャレンジで送られたホスト名。 .It CHAP チャレンジで送られたチャレンジ文字列。 .It ローカルに定義された .Dq authname 。 .El .Pp そして、出力として次の 2 行を待ちます。 .Bl -bullet .It CHAP 応答と共に送るための .Dq authname 。 .It .Dq authkey 。これは、チャレンジと要求 ID で暗号化したもの であり、この結果は CHAP 応答パケットに含めて送られます。 .El .Pp .Nm をこのように設定するとき、 ホストチャレンジは ASCII の数値もしくは文字であることを 想定しています。 指定されたチャレンジに対する適切な秘密情報を計算するために、 通常は、暗号化デバイスまたは Secure ID カードが必要です。 .It set authname Ar id クライアントモードでの PAP または CHAP のネゴシエーションで使用される 認証 ID を設定します。 .Pp CHAP を enable にして .Fl direct モードで利用すると、 .Ar id は初期認証チャレンジで用いられ、通常はローカルマシン名に設定されます。 .It set autoload Xo .Ar min-percent max-percent period .Xc これらの設定はマルチリンクモードでのみ適用され、 デフォルト値はそれぞれ 0, 0, 5 です。 1 つ以上の .Ar demand-dial .Po .Fl auto としても知られる .Pc モードのリンクが存在する場合、 .Nm が最初に tun デバイスからデータを読むときには最初のリンクのみが 有効になっています。 次の .Ar demand-dial リンクが開かれるのは、現在のバンドルの .Ar period 秒間のスループットがバンドルの総バンド幅の最低 .Ar max-percent パーセントであるときに限られます。 現在のバンドルの .Ar period 秒間のスループットがバンドルの総バンド幅の .Ar min-percent パーセント以下に減少したとき、最後のアクティブな リンクでない場合、 .Ar demand-dial リンクはダウンします。 .Pp バンドルのスループットは、 内向きおよび外向きのトラフィックの最大値として計測されます。 .Pp デフォルト値では .Ar demand-dial リンクは 1 つだけオープンされます。 .Pp デバイスによっては物理バンド幅を判定できないものがありますので、 .Dq set autoload が正しく動作するためには、(後述の) .Dq set bandwidth コマンドを使用する必要がある場合があります。 .It set bandwidth Ar value 本コマンドは、接続のバンド幅を、秒あたりのビット数で設定します。 .Ar value は 0 より大きいことが必要です。 現在、前述の .Dq set autoload コマンドのみが使用します。 .It set callback Ar option Ns No ... 引数が与えられない場合、コールバックは disable になります。 そうでない場合には、 .Nm は与えられた .Ar option でコールバックを要求します (もしくは .Ar direct モードでは受け付けます)。 クライアントモードでは、 .Ar option の否定応答が返されると、 .Nm は他に選択肢がなくなるまで別の .Ar option 要求を出します ( .Ar option のひとつとして .Dq none を指定していた場合を除きます)。 サーバモードでは、 .Nm は与えられるプロトコルをなんでも受け付けますが、 クライアントがいずれかひとつを要求する .Em 必要があります 。コールバックをオプションにしたいのであれば、オプションとして .Ar none を指定する必要があります。 .Pp .Ar option は下記の通りです (優先度順): .Pp .Bl -tag -width Ds .It auth コールバック応答側は、認証に基づいてコールバック番号を 決定することが求められます。 .Nm がコールバック応答側である場合、番号は .Pa /etc/ppp/ppp.secret 中の接続先エントリの 5 番目のフィールドで指定されます。 .It cbcp Microsoft コールバック制御プロトコルが用いられます。後述の .Dq set cbcp を参照してください。 .Pp クライアントモードで .Ar cbcp をネゴシエートしたい場合でありかつ、 CBCP ネゴシエーション時にサーバがコールバック無しを要求することを許したい場合、 コールバックオプションとして .Ar cbcp と .Ar none の両方を指定する必要があります。 .It E.164 *| Ns Xo .Ar number Ns Op , Ns Ar number Ns .No ... .Xc コールバック要求側が .Ar number を指定します。 .Nm がコールバック応答側である場合、 .Ar number は許可する番号をコンマで区切って並べたリスト、もしくは 任意の番号を許可するという意味の .Dq \&* とします。 .Nm がコールバック要求側である場合、1 つの数字だけを指定します。 .Pp .Dq \&* を用いる場合、このオプションはとても危険なものとなることに 注意してください。 というのは、悪意あるコールバック要求者が、最初の認証なしに 電話すべき番号として任意の (国際通話番号も可能です) 番号を 伝えることができるからです。 .It none 接続相手がコールバックをまったく望まない場合、 .Nm はそのことを受け入れ、接続を終了するのではなく コールバックせずに処理を続けます。 コールバックをオプションにしたいのであれば、 (1 個以上の他のコールバックオプションに加えて) これも指定する必要があります。 .El .Pp .It set cbcp Oo 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/pppctl.8 b/ja_JP.eucJP/man/man8/pppctl.8 index f1c2ef7e6f..9aebed0ddb 100644 --- a/ja_JP.eucJP/man/man8/pppctl.8 +++ b/ja_JP.eucJP/man/man8/pppctl.8 @@ -1,200 +1,221 @@ -.\" %FreeBSD: src/usr.sbin/pppctl/pppctl.8,v 1.12 1999/08/28 01:18:58 peter Exp % +.\" %FreeBSD: src/usr.sbin/pppctl/pppctl.8,v 1.12.2.1 2000/09/16 22:54:54 brian Exp % .Dd 26 June 1997 .Os FreeBSD .Dt PPPCTL 8 .Sh 名称 .Nm pppctl .Nd PPP 制御プログラム .Sh 書式 .Nm .Op Fl v .Op Fl t Ar n .Op Fl p Ar passwd .Ar [host:]Port | LocalSocket .Op command[;command]... .Sh 解説 このプログラムは .Xr ppp 8 デーモンのコマンドラインからの制御手段を提供します。 基本的な使い方は、実行中のデーモンを制御する単純なスクリプトを 簡単に書けるようにすることです。 .Pp .Nm ppp デーモンが listen しているソケットをあらわす 少なくともひとつの引数を必要とします。 詳細については、 .Nm ppp コマンドの .Sq set server を参照して下さい。 ソケットが先頭に '/' を含んでいると、 .Dv AF_LOCAL ソケットとして扱われます。 コロンを含んでいると .Ar host:port の組として扱われ、 それ以外は単にローカルマシン (127.0.0.1) の TCP ポートを 指定したものとみなされます。 DNS 検索を避けたい場合や、 .Pa /etc/services 内に指定されたポートのエントリがない場合には、 .Ar host と .Ar port には数字で指定することができます。 .Pp 残りの引数はすべて、 .Nm ppp デーモンに送られる (複数の) .Ar コマンド を形成するために連結されます。 セミコロン文字はコマンドデリミタとして扱われ、ひとつの .Sq セッション で複数の .Ar コマンド を指定することが可能です。 例えば: .Bd -literal -offset indent pppctl 3000 set timeout 300\\; show timeout .Ed .Pp ほとんどのシェルでは ';' は特殊文字として扱われるので、 エスケープかクォートすることを忘れないようにしてください。 .Pp もし、 .Ar コマンド 引数が与えられなかった場合、 .Nm はインタラクティブモードになります。 ここで、コマンドは標準入力から読み込まれます。 コマンドを読んでいる時に、 .Xr editline 3 が使われていれば、( .Xr editrc 5 で指定した振る舞いで) 行編集が可能になります。 履歴の大きさはデフォルトでは .Em 20 行 です。 .Pp 以下のコマンドラインオプションが利用可能です: .Bl -tag -width Ds .It Fl v .Nm ppp デーモンに送られたデータ、 .Nm ppp デーモンから受け取ったデータをすべて表示します。 .Nm は通常、受け取った非プロンプト行のみ表示します。 このオプションはインタラクティブモードでは無視されます。 .It Fl t Ar n 接続時のデフォルトの 2 秒の代わりに .Ar n をタイムアウトの値として用います。 これは (ダイヤルアップも含む) 遅いリンク上でデーモンを制御しようとする 場合に必要かもしれません。 .It Fl p Ar passwd .Nm ppp デーモンが必要とするパスワードを指定します。 このスイッチが指定されないと、 .Nm は .Nm ppp への接続が成功した時にパスワードの入力を促します。 .El .Pp .Sh 使用例 .Nm ppp を .Fl auto モードで実行する場合、 .Nm は多くの仕事を自動化するのに利用できます (もちろん、実際に .Nm ppp をインタラクティブモードを除くどんなモードでも制御することができます) 。 .Xr ps 1 によりあなたの秘密がもれてしまう可能性のために、 .Fl p オプションは (たとえスクリプトが他の人に読めないようになっていたとしても) お勧めできません。 .Pp .Nm への簡単で安全なアクセスを提供するもっとも良い方法は、 .Pa /etc/ppp/ppp.conf (の正しいセクション) に以下のようにローカルサーバソケットを作成することです: .Bd -literal -offset indent set server /var/run/internet "" 0177 .Ed .Pp これは、 .Nm ppp を実行したユーザだけにアクセスできるように、 パスワード無しでパーミッションが srw------- の ローカルドメインソケットを作成するように .Nm ppp に指示します。より詳しい解説はマニュアルページ .Xr ppp 8 を参照してください。 .Pp このようにするといくつかのお気楽スクリプトが作成可能になります。 インターネットに接続するには: .Bd -literal -offset indent #! /bin/sh test $# -eq 0 && time=300 || time=$1 exec pppctl /var/run/internet set timeout $time\\; dial .Ed .Pp 切断するには: .Bd -literal -offset indent #! /bin/sh exec pppctl /var/run/internet set timeout 300\\; close .Ed .Pp 接続されているかどうか確かめるには: .Bd -literal -offset indent #! /bin/sh pppctl -p '' -v /var/run/internet quit | grep ^PPP >/dev/null if [ $? -eq 0 ]; then echo Link is up else echo Link is down fi .Ed .Pp このような汎用スクリプトも作成可能です: .Bd -literal -offset indent #! /bin/sh exec pppctl /var/run/internet "$@" .Ed .Pp +ダイヤルオンデマンドも +.Nm +を使って制御可能です。 +.Nm ppp +をずっと動作させながらも、 +毎日 8pm から 8am まではダイヤルアウトを防ぎたいとします。 +また、8pm にアクティブな接続は、 +閉じられるか自然にタイムアウトするまでは保持したいとします。 +.Pp +.Xr cron 8 +エントリとして 8pm に +.Bd -literal -offset indent +pppctl /var/run/internet set filter dial 0 deny 0 0 +.Ed +.Pp +を実行すると、これ以降のダイヤル要求をすべて防ぎ、8am のエントリ +.Bd -literal -offset indent +pppctl /var/run/internet set filter dial -1 +.Ed +.Pp +は、再度ダイヤル要求を許可します。 .Sh 環境変数 以下の環境変数が、インタラクティブモード中の .Nm によって理解されます: .Bl -tag -width XXXXXXXXXX .It Dv EL_SIZE 履歴行の数です。デフォルトでは 20 です。 .It Dv EL_EDITOR 編集モードです。 "emacs" もしくは "vi" だけが受け付けられます。 他の値は無視します。この環境変数は .Pa ~/.editrc の .Ar bind -v や .Ar bind -e で上書きされます。 .El .Pp .Sh 関連項目 .Xr ps 1 , .Xr editline 3 , .Xr editrc 5 , .Xr services 5 , .Xr ppp 8 .Sh 歴史 .Nm コマンドは FreeBSD 2.2.5 で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man8/praliases.8 b/ja_JP.eucJP/man/man8/praliases.8 index 486b71c44c..6f5da69ef6 100644 --- a/ja_JP.eucJP/man/man8/praliases.8 +++ b/ja_JP.eucJP/man/man8/praliases.8 @@ -1,50 +1,58 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. +.\" Copyright (c) 1998-2000 Sendmail, Inc. and its suppliers. +.\" All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" -.\" @(#)praliases.8 8.5 (Berkeley) 5/19/1998 +.\" %Id: praliases.8,v 8.15 2000/04/06 16:47:24 ca Exp % .\" -.\" jpman %Id: praliases.8,v 1.3 1997/08/30 16:46:16 take-i Stab % -.Dd April 25, 1996 -.Dt PRALIASES 1 -.Os BSD 3 -.Sh 名称 -.Nm praliases -.Nd システムメールエイリアスの表示 -.Sh 書式 -.Nm praliases -.Op Fl f Ar ファイル -.Sh 解説 -.Nm praliases -ユーティリティーは、 +.TH PRALIASES 8 "April 25, 1996" +.SH 名称 +.B praliases +\- システムメールエイリアスの表示 +.SH 書式 +.B praliases +.RB [ \-C +.IR file ] +.RB [ \-f +.IR file ] +.RB [\c +.IR key +.IR ... ] +.SH 解説 +.B praliases +ユーティリティは、 現在のシステムエイリアスを 1 行につき 1 つ ずつ ( 但し項目順ではなく ) 表示します。 -.Pp -オプションは次の通りです : -.Bl -tag -width Ds -.It Fl f +特別な内部的なエイリアス @:@ は、存在すれば表示されます。 +.PP +オプションは次の通りです: +.TP +.B \-C +デフォルトの +.B sendmail +設定ファイルの代わりに、指定した sendmail 設定ファイルを読みます。 +.TP +.B \-f デフォルトの .Nm sendmail システムのエイリアスファイルの代わりに、 指定されたファイルを読みます。 -.El -.Pp -.Nm praliases -ユーティリティーは成功すると 0 、 +.PP +コマンドライン上にひとつ以上のキーが指定された場合、 +これらのキーに適合するエントリのみが表示されます。 +.PP +.B praliases +ユーティリティは成功すると 0 、 エラーが発生すると 0 より大きな値を返します。 -.Sh 関連ファイル -.Bl -tag -width /var/log/sendmail.stXX -compact -.It Pa /etc/aliases +.SH 関連ファイル +.TP 2.5i +/etc/mail/sendmail.cf デフォルトの .Nm sendmail -システムのエイリアスファイル -.It Pa /etc/aliases.db -.Pa /etc/aliases -ファイルのデータベース版 -.El -.Sh 関連項目 -.Xr mailq 1 , -.Xr sendmail 8 +設定ファイル。 +.SH 関連項目 +mailq(1), +sendmail(8) diff --git a/ja_JP.eucJP/man/man8/rmail.8 b/ja_JP.eucJP/man/man8/rmail.8 index bf94ea1c52..8b285913bb 100644 --- a/ja_JP.eucJP/man/man8/rmail.8 +++ b/ja_JP.eucJP/man/man8/rmail.8 @@ -1,52 +1,53 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. +.\" Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +.\" All rights reserved. .\" Copyright (c) 1983, 1990 .\" The Regents of the University of California. All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" -.\" @(#)rmail.8 6.14 (Berkeley) 5/19/1998 +.\" %Id: rmail.8,v 8.1 1999/06/22 20:41:33 tony Exp % +.\" .\" jpman %Id: rmail.8,v 1.2 1997/05/16 07:57:46 yugawa Stab % .\" -.Dd May 19, 1998 -.Dt RMAIL 8 -.Os BSD 4.2 -.Sh 名称 -.Nm rmail -.Nd uucpで送られてきたメールを処理する -.Sh 書式 -.Nm rmail -.Ar user ... -.Sh 解説 -.Nm +.TH RMAIL 8 "%Date: 1999/06/22 20:41:33 %" +.SH 名称 +.B rmail +\- uucpで送られてきたメールを処理する +.SH 書式 +.B rmail +.I +user ... +.SH 解説 +.B rmail は -.Xr uucp 1 +uucp(1) 経由で受けとったメールを解釈し、 -.Xr mail.local 8 -によって生成される``From''行を、``return-path!sender'' +mail.local(8) +によって生成される ``From'' 行を、``return-path!sender'' という一行に変換して -.Xr sendmail 8 +sendmail(8) に渡します。 -.Pp -.Nm +.PP +.B rmail は、明らかに -.Xr uucp 1 +uucp(1) と -.Xr sendmail 8 +sendmail(8) で使われるように設計されています。 -.Sh 関連項目 -.Xr uucp 1 , -.Xr mail.local 8 , -.Xr sendmail 8 -.Sh 歴史 -.Nm +.SH 関連項目 +uucp(1), +mail.local(8), +sendmail(8) +.SH 歴史 +.B rmail プログラムは -.Bx 4.2 +4.2BSD から登場しました。 -.Sh バグ -.Nm +.SH バグ +.B rmail は -.Pa /bin +/bin に置くべきではありません。 diff --git a/ja_JP.eucJP/man/man8/smrsh.8 b/ja_JP.eucJP/man/man8/smrsh.8 index b76d345a34..7f63d2402d 100644 --- a/ja_JP.eucJP/man/man8/smrsh.8 +++ b/ja_JP.eucJP/man/man8/smrsh.8 @@ -1,81 +1,88 @@ -.\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. +.\" Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers. +.\" All rights reserved. .\" Copyright (c) 1993 Eric P. Allman. All rights reserved. .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" -.\" @(#)smrsh.8 8.7 (Berkeley) 5/19/1998 +.\" %Id: smrsh.8,v 8.11 1999/06/09 16:51:07 ca Exp % +.\" +.\" %FreeBSD: src/contrib/sendmail/smrsh/smrsh.8,v 1.3.6.1 2000/08/27 17:31:24 gshapiro Exp % +.\" .\" jpman %Id: smrsh.8,v 1.3 1997/09/04 18:05:48 horikawa Stab % .\" .TH SMRSH 8 11/02/93 .SH 名称 smrsh \- sendmail用に制限されたシェル .SH 書式 .B smrsh .B \-c command .SH 解説 .I smrsh は、 .IR sendmail (8) の設定ファイルで、 .I sh の代わりに ``prog'' メーラとして使用する事を目的としています。 .I smrsh は、システムの全体的なセキュリティを改善するために、 .I sendmail の ``|program'' 書式により起動する事ができるコマンドを制限します。 つまり、もし ``悪者'' が alias ファイルや forward ファイルを経由せずに sendmail からプログラムを実行する事ができたとしても、 .I smrsh を使えば、彼(あるいは彼女)が実行できるプログラムを制限する事ができるのです。 .PP 簡単に言うと、 .I smrsh は、実行可能なプログラムを /usr/libexec/sm.bin ディレクトリに存在するもの +と、シェル組み込みコマンドの ``exec'', ``exit'', ``echo'' だけに限定します。これにより、システム管理者は利用可能なコマンドを選択する 事ができます。 更に、 .I smrsh は、``end run'' 攻撃を防ぐために、コマンド行に -`\`', `<', `>', `|', `;', `&', `$', `(', `)', `\er'(キャリッジリターン), -`\en'(ニューライン) +`\`', `<', `>', `;', `$', `(', `)', `\er' (復改文字), +`\en' (改行文字) の文字を含むコマンドは実行しません。 +``||'' と ``&&'' は、許可されており、次のようなコマンドを使用可能です: +``"|exec /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"'' .PP プログラム名の前にあるパス名は全て取り除かれるため、 ``/usr/bin/vacation'', ``/home/server/mydir/bin/vacation'', ``vacation'' などは全て ``/usr/libexec/sm.bin/vacation'' と解釈されます。 .PP システム管理者は、 /usr/libexec/sm.bin に置くプログラムを選ぶ際には慎重な 判断をすべきです。適切な物としては、 .IR vacation (1) や .IR procmail (1) などがあげられるでしょう。いかなる要望があっても、シェルや、 .IR perl (1) などのシェルに似たプログラムを sm.bin に入れてはいけません。 これは、単に任意のプログラムを実行する事を制限するだけで、 ``#!''書式を用いた、シェルスクリプトや perl スクリプトを sm.bin ディレクトリに入れる事を制限する訳ではありません。 .SH コンパイル コンパイルはほとんどのシステムでつまらないものです。 デフォルトのサーチパス (デフォルトでは``/bin:/usr/bin'') を変更するためには、\-DPATH=\e"\fIpath\fP\e" を 使用する必要があり、また、 デフォルトのプログラムディレクトリ (デフォルトでは ``/usr/libexec/sm.bin'') を変更するためには、\-DCMDBIN=\e"\fIdir\fP\e" を 使用する必要があります。 .SH 関連ファイル /usr/libexec/sm.bin \- 制限されたプログラム用のディレクトリ .SH 関連項目 sendmail(8) diff --git a/ja_JP.eucJP/man/man8/wicontrol.8 b/ja_JP.eucJP/man/man8/wicontrol.8 index 6493667a3e..7d6dc6eca4 100644 --- a/ja_JP.eucJP/man/man8/wicontrol.8 +++ b/ja_JP.eucJP/man/man8/wicontrol.8 @@ -1,321 +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.2.1 2000/07/30 14:47:54 sanpei Exp % +.\" %FreeBSD: src/usr.sbin/wicontrol/wicontrol.8,v 1.14.2.2 2000/09/21 00:26:59 wpaul 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 +.Fl i Ar iface Op Fl oa .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 プロトコルに関連するものです。 これに含まれるのは、 ステーション名、 ステーションの動作がアドホック (ポイントツーポイント) と BSS (サービスセット) のどちらであるか、 BSS モードが有効な場合には加入するサービスセットのネットワーク名 (IBSS) です。 .Nm コマンドを使用して、これらのパラメータの現在の設定を見ることができますし、 カードの統計情報カウンタの値をダンプできます。 .Pp .Nm に与えられる .Ar iface 引数は、 WaveLAN/IEEE デバイスに関連付けられる論理インタフェース名であることが必要です (wi0 や wi1 など)。 .Sh オプション オプションを示します: .Bl -tag -width Fl -.It Fl i Ar iface Op Fl o +.It Fl i Ar iface Op Fl oa 指定した WaveLAN/IEEE インタフェースの現在の設定を表示します。 現在のカードの設定をドライバから取り出し、表示します。 追加の .Fl o フラグを使用すると、 .Nm は、カードの設定の代りに統計情報カウンタを表示します。 +追加の +.Fl a +フラグを使用することで、暗号化キーを 16 進数の代りに ASCII 文字で表示します。 +暗号化キーは、wicontrol が root で実行された場合のみ表示されます。 .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 カードへプログラム可能とするのか、私には分かりません。 +WaveLAN Turbo Gold カードでは、キーは 104 ビットまでですので、 +Silver カードでサポートされている書式に加え、 +キーは 13 文字までのテキスト文字列か 26 桁の 16 進数がサポートされます。 .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 - 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 です。 これは、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 が記述しました。