diff --git a/ja/man/man1/Makefile b/ja/man/man1/Makefile index 3a2731684c..30d8f829a8 100644 --- a/ja/man/man1/Makefile +++ b/ja/man/man1/Makefile @@ -1,410 +1,409 @@ MAN1 = a2p.1\ addftinfo.1\ addr2line.1\ apply.1\ apropos.1\ ar.1\ as.1\ at.1\ awk.1\ basename.1\ bc.1\ biff.1\ bison.1\ brandelf.1\ btreeop.1\ c89.1\ calendar.1\ cap_mkdb.1\ cat.1\ catman.1\ cccp.1\ cd.1\ cdcontrol.1\ checknr.1\ chflags.1\ chkey.1\ chgrp.1\ chio.1\ chmod.1\ chpass.1\ ci.1\ ckdist.1\ cksum.1\ cmp.1\ co.1\ col.1\ colcrt.1\ colldef.1\ colrm.1\ column.1\ comm.1\ compile_et.1\ compress.1\ cp.1\ cpio.1\ crontab.1\ crunchgen.1\ crunchide.1\ csh.1\ ctags.1\ ctm.1\ ctm_rmail.1\ cu.1\ cursor.1\ cut.1\ cvs.1\ date.1\ dc.1\ dd.1\ df.1\ dialog.1\ diff.1\ diff3.1\ dig.1\ dnsquery.1\ domainname.1\ du.1\ echo.1\ ed.1\ ee.1\ eqn.1\ error.1\ expand.1\ expr.1\ f2c.1\ f77.1\ false.1\ fdformat.1\ fdwrite.1\ fetch.1\ file.1\ file2c.1\ find.1\ finger.1\ fmt.1\ fold.1\ fontedit.1\ fpr.1\ from.1\ fsplit.1\ fstat.1\ ftp.1\ gcc.1\ gcore.1\ gctags.1\ gdb.1\ gdbserver.1\ gencat.1\ genclass.1\ getNAME.1\ getopt.1\ global.1\ gperf.1\ gprof.1\ grep.1\ grodvi.1\ groff.1\ grolj4.1\ grops.1\ grotty.1\ groups.1\ gtags.1\ gzexe.1\ gzip.1\ h2ph.1\ head.1\ hexdump.1\ host.1\ hostname.1\ htags.1\ id.1\ ident.1\ indent.1\ indxbib.1\ - info.1\ install.1\ install-info.1\ intro.1\ ipcrm.1\ ipcs.1\ ipf.1\ ipftest.1\ ipnat.1\ ipresend.1\ ipsend.1\ iptest.1\ join.1\ jot.1\ kbdcontrol.1\ kbdmap.1\ kcon.1\ kdump.1\ key.1\ keyinfo.1\ keyinit.1\ keylogin.1\ keylogout.1\ kill.1\ killall.1\ ktrace.1\ lam.1\ last.1\ lastcomm.1\ ld.1\ ldd.1\ leave.1\ lex.1\ limits.1\ lint.1\ lkbib.1\ ln.1\ loadfont.1\ locate.1\ lock.1\ lockf.1\ logger.1\ login.1\ logname.1\ look.1\ lookbib.1\ lorder.1\ lp.1\ lpq.1\ lpr.1\ lprm.1\ lptest.1\ ls.1\ lsvfs.1\ m4.1\ mail.1\ mailq.1\ make.1\ makewhatis.1\ man.1\ manpath.1\ mcon.1\ md5.1\ merge.1\ mesg.1\ minigzip.1\ mkdep.1\ mkdir.1\ mkfifo.1\ mklocale.1\ mkstr.1\ mktemp.1\ more.1\ mptable.1\ mset.1\ msgs.1\ mt.1\ mv.1\ ncal.1\ neqn.1\ netstat.1\ newaliases.1\ nfsstat.1\ nice.1\ nm.1\ nohup.1\ nroff.1\ objcopy.1\ objdump.1\ od.1\ opieinfo.1\ opiekey.1\ opiepasswd.1\ pagesize.1\ passwd.1\ paste.1\ patch.1\ pawd.1\ pax.1\ perl.1\ pfbtops.1\ pic.1\ pkg_add.1\ pkg_create.1\ pkg_delete.1\ pkg_info.1\ pr.1\ printenv.1\ printf.1\ ps.1\ psbb.1\ psroff.1\ pwd.1\ quota.1\ ranlib.1\ rcp.1\ rcs.1\ rcsclean.1\ rcsdiff.1\ rcsfreeze.1\ rcsintro.1\ rcsmerge.1\ rdist.1\ refer.1\ rev.1\ rlog.1\ rlogin.1\ rm.1\ rmdir.1\ rpcgen.1\ rs.1\ rsh.1\ rtprio.1\ rup.1\ ruptime.1\ rusers.1\ rwall.1\ rwho.1\ s2p.1\ sasc.1\ scon.1\ script.1\ sdiff.1\ sed.1\ send-pr.1\ sgsc.1\ sh.1\ shar.1\ size.1\ skey.1\ sleep.1\ soelim.1\ sort.1\ split.1\ spppcontrol.1\ startslip.1\ strings.1\ strip.1\ stty.1\ su.1\ symorder.1\ systat.1\ tail.1\ talk.1\ tar.1\ tbl.1\ tconv.1\ tcopy.1\ tcpdump.1\ tcpslice.1\ tee.1\ telnet.1\ test.1\ tfmtodit.1\ tftp.1\ time.1\ tip.1\ tn3270.1\ top.1\ touch.1\ tput.1\ tr.1\ troff.1\ true.1\ truss.1\ tset.1\ tsort.1\ tty.1\ ul.1\ uname.1\ unifdef.1\ uniq.1\ units.1\ unvis.1\ uptime.1\ users.1\ uuconv.1\ uucp.1\ uuencode.1\ uulog.1\ uuname.1\ uupick.1\ uuto.1\ uustat.1\ uux.1\ vacation.1\ vgrind.1\ vi.1\ vidcontrol.1\ vis.1\ vt220keys.1\ vttest.1\ w.1\ wait.1\ wall.1\ wc.1\ what.1\ whereis.1\ which.1\ who.1\ whoami.1\ whois.1\ window.1\ write.1\ xargs.1\ xstr.1\ xten.1\ yacc.1\ yes.1\ ypcat.1\ ypmatch.1\ ypwhich.1\ yyfix.1\ zdiff.1\ zforce.1\ zmore.1\ znew.1 MLINKS= csh.1 limit.1 csh.1 alias.1 csh.1 bg.1 csh.1 dirs.1 csh.1 fg.1 \ csh.1 foreach.1 csh.1 history.1 csh.1 jobs.1 csh.1 popd.1 \ csh.1 pushd.1 csh.1 rehash.1 csh.1 repeat.1 csh.1 suspend.1 \ csh.1 stop.1 csh.1 source.1 MLINKS+= ed.1 red.1 MLINKS+= test.1 '[.1' MLINKS+= gcc.1 cc.1 gcc.1 c++.1 gcc.1 g++.1 MLINKS+= cccp.1 cpp.1 MLINKS+= grep.1 egrep.1 grep.1 fgrep.1 MLINKS+= grep.1 zgrep.1 grep.1 zegrep.1 grep.1 zfgrep.1 MLINKS+= gzip.1 gunzip.1 gzip.1 zcat.1 gzip.1 gzcat.1 MLINKS+= zdiff.1 zcmp.1 MLINKS+= apropos.1 whatis.1 MLINKS+= send-pr.1 sendbug.1 MLINKS+= at.1 batch.1 \ at.1 atq.1 \ at.1 atrm.1 MLINKS+= basename.1 dirname.1 MLINKS+= chpass.1 chfn.1 chpass.1 chsh.1 MLINKS+= chpass.1 ypchpass.1 chpass.1 ypchfn.1 chpass.1 ypchsh.1 MLINKS+= compress.1 uncompress.1 MLINKS+= ee.1 ree.1 MLINKS+= expand.1 unexpand.1 MLINKS+= ftp.1 pftp.1 ftp.1 gate-ftp.1 MLINKS+= hexdump.1 hd.1 MLINKS+= intro.1 introduction.1 MLINKS+= lex.1 flex.1 MLINKS+= lex.1 flex++.1 MLINKS+= lex.1 lex++.1 MLINKS+= mail.1 Mail.1 MLINKS+=passwd.1 yppasswd.1 MLINKS+= printenv.1 env.1 MLINKS+= tconv.1 tic.1 tconv.1 captoinfo.1 MLINKS+= tput.1 clear.1 MLINKS+= tset.1 reset.1 MLINKS+=vi.1 ex.1 vi.1 view.1 MLINKS+=vi.1 nex.1 vi.1 nview.1 vi.1 nvi.1 MLINKS+=yacc.1 byacc.1 MLINKS+= ctm_rmail.1 ctm_smail.1 MLINKS+= ctm_rmail.1 ctm_dequeue.1 MLINKS+= kbdmap.1 vidfont.1 MLINKS+= rtprio.1 idprio.1 MLINKS+= cksum.1 sum.1 MLINKS+= ktrace.1 trace.1 MLINKS+= uuencode.1 uudecode.1 MLINKS+= ncal.1 cal.1 .include "bsd.prog.mk" diff --git a/ja/man/man1/btreeop.1 b/ja/man/man1/btreeop.1 index cc8f76fe0c..beee92e050 100644 --- a/ja/man/man1/btreeop.1 +++ b/ja/man/man1/btreeop.1 @@ -1,188 +1,179 @@ .\" .\" Copyright (c) 1996, 1997 Shigio Yamaguchi. 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 Shigio Yamaguchi. .\" 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 THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd Nov 26, 1997 .\" jpman %Id: btreeop.1,v 1.3 1997/06/18 13:41:54 jsakai Stab % +.Dd Nov 3, 1998 .Dt BTREEOP 1 .Os BSD 4 .Sh 名称 .Nm btreeop .Nd btree データベースメンテナンスツール .Sh 書式 .Nm btreeop .Op Fl A .Op Fl C .Op Fl D[keyno] Ar key .Op Fl K[keyno] Ar key -.Op Fl L +.Op Fl L[2] .Op Fl k Ar prefix .Op Ar dbname .Sh 解説 .Nm btreeop は、 .Xr btree 3 データベースに対して単純な操作を行います。 .Nm btreeop は、データベースを作成したり、レコードを記入したり、(シーケンシャルや インデックスで)レコードを読み出したり、レコードを削除したりすることができます。 重複したエントリを持つこともできます。 複数のキーが利用可能ですが、 .Xr btree 3 のインデックスとしてはプライマリキーだけが利用されます。 .Sh オプション 大文字はコマンドを示します。コマンドが指定されなかった場合は、 シーケンシャルな読み出しであると想定します。 .Bl -tag -width Ds .It Fl A レコードを追加します。データベースが存在しない場合、 btreeop はそれを作成します。 .It Fl C データベースを作成し、レコードを記入します。 .It Fl D[keyno] Ar key key を用いてレコードを削除します。 デフォルトでは、 keyno は0(すなわちプライマリキー)です。 .It Fl K[keyno] Ar key key を用いてレコードを検索します。 デフォルトでは、 keyno は0(すなわちプライマリキー)です。 -.It Fl L -全てのプライマリキーを表示します。 -以下の二つのコマンド行は、後者がはるかに速いことを除いて等価です。 - - btreeop | awk '{print $1}' | uniq - - btreeop -L +.It Fl L[2] +全プライマリキーを表示します。 +「2」を指定した場合、すべてのキーとデータの組を表示します。 .It Fl k Ar prefix プライマリキーとして prefix を持つレコードを検索します。 このオプションは (-L コマンドもしくはコマンドが与えられていない場合の ように) シーケンシャルに読み込む操作に対してだけ有効です。 -以下の二つのコマンド行は、後者がはるかに速いことを除いて等価です。 - - btreeop | awk '$1 ~ /^fo/ {print }' - - btreeop -k fo .It Ar dbname データベース名を指定します。デフォルトは 'btree' です。 .Sh データフォーマット データベースを作成する (あるいは追加する) 際、 .Nm btreeop はデータを標準入力から読み込みます。 データのフォーマットは以下のようになります。 プライマリキー 2番目のキー-1 2番目のキー-2 Data (keyno = 0) (keyno = 1) (keyno = 2) -------------------------------------------------------------- main 246 main.c main (){\\n func 120 library.c func(a1, a2)\\n . . . .El .Bl -enum -offset indent .It 全ての key とデータはブランク('\\t' あるいは ' ') で区切られます。 .It key にブランクを含めることはできません。 .It データにはブランクを含めることができます。 .It 空のデータは許されません。 .It 加えて、META レコードが利用できます。META レコードはブランクで始まる key を 持ちます。このレコードは、インデックス検索 (-K オプション) だけで読むことが できます。使用方法は btreeop によっては制限されません。 .El .Sh 使用例 データベースの作成 % btreeop -C key1 data1 key2 data2 key3 data3 ^D % レコードの追加 % btreeop -A __.VERSION 2 key2 data2-2 ^D % シーケンシャルな読み出し % btreeop key1 data1 key2 data2-2 key2 data2 key3 data3 % インデックスによる読み出し % btreeop -K key2 key2 data2-2 key2 data2 % btreeop -K ' __.VERSION' __.VERSION 2 % プライマリキーの一覧 % btreeop -L key1 key2 key3 % レコードの削除 % btreeop -D ' __.VERSION' % btreeop -K ' __.VERSION' % .Sh 関連ファイル .Bl -tag -width tags -compact .It Pa btree デフォルトのデータベース名 .El .Sh 診断 .Nm btreeop は、エラーが発生した場合、 0 以外の値で終了します。 その他の場合は、0 で終了します。 .Sh 関連項目 .Xr btree 3 .Sh 作者 Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは、FreeBSD 2.2.2 から登場しました。 diff --git a/ja/man/man1/co.1 b/ja/man/man1/co.1 index 942e1564b0..42628c881b 100644 --- a/ja/man/man1/co.1 +++ b/ja/man/man1/co.1 @@ -1,743 +1,743 @@ .\" jpman %Id: co.1,v 1.2 1997/06/01 11:30:43 horikawa Stab % .de Id .ds Rv \\$3 .ds Dt \\$4 .. .Id %Id: co.1,v 1.5 1997/02/22 15:47:21 peter Exp % .ds i \&\s-1ISO\s0 .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 .if n .ds - \%-- .if t .ds - \(em .TH CO 1 \*(Dt GNU .SH 名称 co \- RCS ファイルからリビジョンをチェックアウトする .SH 書式 .B co .RI [ options ] " file " .\|.\|. .SH 解説 .B co は、各 \*r ファイルからリビジョンを取り出し、 対応したワークファイルに格納します。 .PP \*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、 その他のファイル名はワークファイルであるとみなします。 ファイル名の対応に関しては、 .BR ci (1) を参照してください。 .PP \*r ファイルのリビジョンは、ロックしてもしなくともチェックアウトできます。 リビジョンをロックすることにより、 同時に複数の更新が行われることを防止します。 内容を表示したり、読むだけの処理(たとえば、コンパイル)で用いたりする場合は ロックする必要はありません。 編集し後にチェックインするつもりで \*r ファイルから取り出す場合は、 通常、ロックしなければなりません。 他のユーザによってロックされているリビジョンを ロックしてチェックアウトしようとするとエラーになります(ロックは .BR rcs (1) によって解除することができます)。 更に、リビジョンをロックしてチェックアウトするには、 チェックアウトする人が \*r ファイルのアクセスリストに登録されているか、 そのファイルの所有者もしくはスーパユーザであるか、 アクセスリストが空である必要が有ります。 ロックしないで取り出す場合は、 アクセスリストや他人のロックに影響されることはありません。 .PP 取り出されるリビジョンを、リビジョン番号、枝番号、 チェックイン日時、作者、状態によって指定するオプションが存在します。 複数のオプションが組み合わされて指定された場合、 .B co はすべての条件に合致するリビジョンのうちで最新のものを取り出します。 リビジョン指定オプションが指定されなかった場合、 .B co は、デフォルト枝(通常は幹: .BR rcs (1) の .B \-b オプションの項を参照)の最新のリビジョンを取り出します。 リビジョン番号あるいは枝番号は、 以下のオプションを使って指定することができます: .BR \-f , .BR \-I , .BR \-l , .BR \-M , .BR \-p , .BR \-q , .BR \-r , .B \-u 。 オプション .B \-d (日時)、 .B \-s (状態)、 .B \-w (作者)は、単一の枝から取り出します。 この枝は .I 選択された 枝であり、 .BR \-f , \&.\|.\|., .B \-u オプションもしくはデフォルト枝により指定されます。 .PP リビジョンを 1 つも持たない \*r ファイルに対して .B co コマンドを適用すると、長さ 0 のワークファイルが作成されます。 .B co は、つねにキーワード置換を行います (下記参照)。 .SH オプション .TP .BR \-r [\f2rev\fP] リビジョン番号 .I rev 以前( .I rev と同じものも含む)で最新のリビジョンを取り出します。 .I rev がリビジョンではなく枝を指定している場合、その枝上の最新 のリビジョンが取り出されます。 .I rev が省略された場合、デフォルト枝 ( .BR rcs (1) の .B \-b オプションの項を参照)の最新のリビジョンが取り出されます。 .I rev が .B $ の場合、 .B co はリビジョン番号をワークファイルのキーワードから 取り出します。これら以外の場合、 .I rev はリビジョンを示すピリオドで区切られた数字またはシンボルの列です。 .I rev がピリオドで始まる場合、デフォルトの枝(通常は幹)が設定されます。 .I rev がピリオドを後ろに付けた枝番号であるならば、 その枝の最新のリビジョンが使われます。 シンボルは、 .BR ci (1) や .BR rcs (1) によりリビジョン番号と結びつけることができます。 .TP .BR \-l [\f2rev\fP] .B \-r と同様の動作ですが、取り出したリビジョンを呼び出したユーザにてロックします。 .TP .BR \-u [\f2rev\fP] .B \-r と同様の動作ですが、取り出したリビジョンが呼び出したユーザによって ロックされていたならば、そのロックを解除します。 .I rev が省略された場合、 .B co を起動したユーザがロックしたリビジョンが 1 つあれば、 そのリビジョンを取り出します; そうでなければ、デフォルト枝の最新のリビジョンを取り出します。 .TP .BR \-f [\f2rev\fP] ワークファイルの上書きを強制します; 後述の .B \-q オプションを使用する場合、いっしょに .B \-f オプションも 指定すると便利な場合があります。 .SM "ファイルモード" の項も参照してください。 .TP .B \-kkv ワークファイルにデフォルト形式のキーワード文字列を埋め込みます。たとえば、 キーワード .B Revision に対しては、文字列 .B "$\&Revision: \*(Rv $" を生成します。 .B "ci\ \-l" や .B "co\ \-l" でファイルがロックされる時のみ、 .BR Header , .BR Id , .B Locker キーワードにロック者名を挿入します。これがデフォルトの動作です。 .TP .B \-kkvl .B \-kkv とほぼ同様ですが、指定されたリビジョンがロックされていた場合にはいつも、 ロック者名を挿入します。 .TP .BR \-kk キーワード文字列中のキーワード名のみの文字列を生成し、値は省略します。 後述の .SM "キーワード置換" を参照して下さい。 たとえば、キーワード Revision に対しては、通常の .B "$\&Revision: \*(Rv $" のかわりに、 .B "$\&Revision$" を生成します。これは、異なるリビジョンの内容を比較する場合、キーワード 値の違いを無視できるので、便利です。 .B -kk が指定されても、キーワード .B "$\&Log$" の後にはログメッセージが挿入されます。これはリビジョンを統合する変更に、 より便利であることを意図しています。 .TP .BR \-ko チェックインされる前の ワークファイル中のキーワード文字列をそのまま出力します。たとえば、 キーワード .B "$\&Revision$" に対しては、 チェックインされる前に展開されていた文字列 .B "$\&Revision: 1.1 $" が、 .B "$\&Revision: \*(Rv $" の代わりに展開されます。 キーワード文字列の形式を取るバイト列が置換されてしまっては困るような 場合(訳注:バイナリファイル等)に便利でしょう。 .TP .BR \-kb 元のキーワード文字列のバイナリイメージを生成します。これは、 .B \-ko とほぼ同じですが、入出力する全てのワークファイルをバイナリモードで 扱う点が違います。これは、Posix と Unix のホスト間ではたいした違いでは ありません。が、DOS のようなシステムではバイナリファイルを扱う場合、 \*r ファイルの初期化には .B rcs \-i \-kb を使わねばならないでしょう。 また、全ての環境において、 .BR rcsmerge(1) は通常、 .B \-kb が働いている場合はファイルの統合を受け付けません。 .TP .BR \-kv キーワード文字列としてキーワード値のみを生成します。たとえば、キーワード .B Revision に対して、通常の .B "$\&Revision: \*(Rv $" のかわりに .B \*(Rv を生成します。 これは、キーワード文字列から .B "$\&Revision: $" のようなキーワード区切りを取 り除くことが困難なプログラミング言語用のファイル等を生成するために 使用します。しかしながら、キーワード名が取り除かれてしまうと、それ以降に キーワード置換を行うことができないので、注意が必要です。 キーワードを失うことはこのように危険であるため、本オプションを .B \-l オプションと組み合わせて使うことはできません。また、ワークファイルの 書き込み権はオフになります; 後でワークファイルを編集する場合は、 .B \-kv オプションを指定せずにワークファイルを取り出してから行います。 .TP .BR \-p [\f2rev\fP] ワークファイルに格納する代わりに、 対象となるリビジョンを標準出力に書き出します。 .B co をパイプの一部として使用する場合に便利です。 .TP .BR \-q [\f2rev\fP] 静かなモード; 診断メッセージを表示しません。 .TP .BR \-I [\f2rev\fP] 対話モード; たとえ標準入力が端末でなくても、ユーザに対して 問い合わせを行います。 .TP .BI \-d date 選択された枝上の、 .I date 以前の登録日付を持つ、最新のリビジョンを取り出します。 日付と時刻は自由形式で指定します。タイムゾーンとして .B LT を指定することにより、ローカルタイムを使用することができます; 他の一般的なタイムゾーンも使用することができます。 たとえば、以下に挙げるいくつかの .I date 指定は、 太平洋標準時における 1990 年 1 月 11 日午後 8 時と同時刻を示します -(太平洋標準時は標準時 (\*u) よりも 8 時間遅れです)。 +(太平洋標準時は協定世界時 (\*u) よりも 8 時間遅れです)。 .RS .LP .RS .nf .ta \w'\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP 'u .ne 9 \f38:00 pm lt\fP \f34:00 AM, Jan. 12, 1990\fP デフォルトは \*u \f31990-01-12 04:00:00+00\fP \*i 8601 (\*u) \f31990-01-11 20:00:00\-08\fP \*i 8601 (ローカル時刻) \f31990/01/12 04:00:00\fP 伝統的 \*r 形式 \f3Thu Jan 11 20:00:00 1990 LT\fP \f3ctime\fP(3) + \f3LT\fP出力 \f3Thu Jan 11 20:00:00 PST 1990\fP \f3date\fP(1)出力 \f3Fri Jan 12 04:00:00 GMT 1990\fP \f3Thu, 11 Jan 1990 20:00:00 \-0800\fP インターネット RFC 822 \f312-January-1990, 04:00 WET\fP .ta 4n +4n +4n +4n .fi .RE .LP ほとんどの日付の項目にはデフォルト値があります。 デフォルトのタイムゾーンは \*u です。 これは .B \-z オプションにて優先指定することが出来ます。 他のデフォルト値は、年、月、日、時、分、秒 の順番で決定されます。 これらの項目のうち、少なくとも 1 つが指定されなければいけません。 指定のある項目よりも先に決定される項目が省略されている場合には、 タイムゾーンにおける現在の値を使用します。 他の省略されたフィールドには最小値が採用されます。 たとえば、 .B \-z 無しの .B "20, 10:30" の場合は、\*u タイムゾーンの現在の年月の 20 日 10:30:00 \*u が採用されます。 日付の指定に空白が含まれる場合には、 日付の指定をクオートでくくる必要があることに注意してください。 .RE .TP .BR \-M [\f2rev\fP] 作成されるワークファイルの最終更新日付を、取り出されるリビジョンの日付に します。本オプションを指定すると .BR make (1) が正しく動作しなくなるので、注意して使用する必要があります。 .TP .BI \-s state 選択された枝上の、状態 .I state を持つ最新のリビジョンを取り出します。 .TP .BR \-T \*r ファイルの変更日付を変更しません。 ロックされたりロック解除されたりして \*r ファイルが変更された場合でもです。 このオプションは、コピーした \*r ファイルのワークファイルを使って .BR make (1) をかける際に再コンパイルをさせたくない場合に便利でしょう。 このオプションは必要であるにもかかわらず再コンパイルを行なわないことに なってしまう場合があるので注意が必要です。 それは、ロックの変更が別のワークファイルのキーワード文字列の変更を行う時です。 .TP .BR \-w [\f2login\fP] 選択された枝上の、ユーザ名 .I login によって登録された最新のリビジョンを取り出します。 .I login が省略された場合は、 .B co を起動したユーザ名を使います。 .TP .BI \-j joinlist .I joinlist で指定されたリビジョンを結合した新しいリビジョンを作成します。 本オプションは、旧バージョンとの互換性のために残されています。 通常、リビジョンの結合には .BR rcsmerge (1) を用います。 .RS .PP .I joinlist は .IB rev2 : rev3 形式のリビジョンの対をコロンで区切って並べたリストです。 ここで、 .I rev2 と .I rev3 は(シンボリックまたは数字の)リビジョン番号です。 以下の説明で、 .I rev1 は以下のリビジョンを示します: (1) joinlist に列挙さ れた対のうち、最初のものは、上記の .BR \-f , \&.\|.\|., .B \-w オプションによって選択されたリビジョンです。 (2) それ以外の対に対しては、直前の対から作成されたリビジョン (すなわち、1 つの対によって作成されたリビジョンは次の結合 のための入力となります)。 .PP それぞれの対に対して、 .B co は .I rev1 と .I rev3 を .I rev2 と比較しながら結合します。つまり、 .I rev2 を .I rev1 と同一にするための変更を、 .I rev3 のコピーに対して適用します。 .I rev2 を同一の祖先とする 2 つの枝の末端のリビジョン .I rev1 と .I rev3 を結合するのによく用いられます。もし、3 つのリビジョンが同一の 枝上にあり、リビジョン番号が .IR rev1 < rev2 < rev3 ならば、結合の結果は、 .I rev3 の内容のうち、 .I rev1 から .I rev2 への変更を無効にしたものになります。 もし、 .I rev2 から .I rev1 への変更が .I rev2 から .I rev3 への変更と重複している なら、 .B co は .BR merge (1) に示したような報告を行います。 .PP 最初に指定する対では .I rev2 を省略することができます。この場合は、 .I rev1 と .I rev3 の共通の祖先 .ig /*?-> 共通の祖先リビジョン以外に言いかたを思いつきません 共通の祖先リビジョンで良いと思います(horikawa@jp.freebsd.org) 共通の祖先リビジョン | | | revX rev3 revY | rev1 */ .. リビジョンを .I rev2 として使用します。もし、いずれかの引数 がリビジョンではなく枝を示しているなら、その枝上の最新のリビジョンが用 いられます。同時に .B \-l オプションや .B \-u オプションを指定すると、 .I rev1 がロックまたはロック解除されます。 .RE .TP .BI \-V \*r's のバージョン番号を表示します。 .TP .BI \-V n バージョン .I n の \*r システムの動作をエミュレートします。 .I n は .BR 3 , .BR 4 , .B 5 のいずれかです。これは、古い \*r を使っているユーザと \*r ファイルを交 換するときに便利です。使用している \*r がどのバージョンかを調べるには、 .BR "rcs \-V" を実行します; これは最近のバージョンの \*r では動作します。 これが動作しない場合は適当な \*r ファイルに対して .B rlog を起動します; 最初の数行に文字列 .B branch: がなければ、それはバージョン 3 です; また、日付に現れる年が 2 桁の数字ならば、それはバージョン 4 です; どちらでもなければ、バージョン 5 です。 \*r バージョン 3 をエミュレートして作成された \*r ファイルからはデフォルト 枝の情報が失われます。 バージョン 4 またはそれ以前のバージョンをエミュレートして作成された リビジョンは、最大 13 時間ずれた日付を持つことになります。 バージョン 4 またはそれ以前のバージョンをエミュレートして取り出された ファイルには .IB yy / mm / dd 形式の日付がキーワード中に展開されます。また、 .B $\&Log$ キーワードでは空白の入り方が異なります。 .TP .BI \-x "suffixes" \*r ファイルの拡張子として .I suffixes を使用します。詳細は .BR ci (1) を参照して下さい。 .TP .BI \-z zone キーワード置換での日付の出力書式の指定を行い、また、 .BI \-d date オプションでの .I date のデフォルトのタイムゾーンの指定を行います。 .I zone は、省略する事も、UTC からの数値差で指定する事も、特別な文字列 .B LT を使ってローカル時間で指定する事もできます。 デフォルトでは .I zone は空であり、 この場合は伝統的な \*r フォーマット、 すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります; そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。 例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間 (\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります: .RS .LP .RS .nf .ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u .ne 4 \f2オプション\fP\f2時刻の出力\fP \f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP \f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP \f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP .ta 4n +4n +4n +4n .fi .RE .LP .B \-z オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。 .RE .SH "キーワード置換" テキスト中に存在する .BI $ keyword $ または .BI $ keyword : .\|.\|. $ 形式の文字列は、 .BI $ keyword : value $ 形式の文字列に置換されます。 .I keyword と .I value の対については後述します。キーワードはリテラルな文字列として、あるいは リビジョンを特定するためのコメントとして埋められることがあります。 .PP まず、ユーザは .BI $ keyword $ なる形式の文字列を入力します。 チェックアウト時に、 .B co はこの文字列を .BI $ keyword : value $ に置換します。 .BI $ keyword : value $ 形式の文字列を含むものがチェックインされた場合、 .I value の部分は次にチェックアウトされたときに新たな値に置換されます。 このように、チェックアウトを行うごとにキーワードの値は 更新されていきます。この自動更新は .B \-k オプションにより変更することができます。 .PP キーワードの種類とその値: .TP .B $\&Author$ リビジョンを登録したユーザのログイン名。 .TP .B $\&Date$ リビジョンが登録された日時。 .BI \-z zone を指定した場合、数値によるタイムゾーンオフセットが追加されます; 指定しない場合は、日時は \*u です。 .TP .B $\&Header$ 標準的なヘッダ。\*r ファイルのフルパス名、リビジョン番号、日時、作者、 状態、ロック者(ロックされている場合)が含まれます。 .BI \-z zone を指定した場合、数値によるタイムゾーンオフセットが追加されます; 指定しない場合は、日時は \*u です。 .TP .B $\&Id$ .B $\&Header$ とほぼ同様です。\*r ファイル名はパスをつけずに埋め込まれます。 .TP .B $\&Locker$ リビジョンをロックしたユーザのログイン名(ロックされていない場合は空です)。 .TP .B $\&Log$ チェックイン時に与えたログメッセージ。その前に、\*r ファイル名、リビジョン 番号、作者、日時が埋め込まれます。 .BI \-z zone を指定した場合、数値によるタイムゾーンオフセットが追加されます; 指定しない場合は、日時は \*u です。 すでに埋め込まれているログメッセージは変更 .I されません。 新たなログメッセージのみが .BR $\&Log: .\|.\|. $ のあとに追加されます。 ソースファイルの完全なログを記録するときに便利です。 .RS .LP 挿入される行の前には .B $\&Log$ の行の前のプレフィックス文字列が付きます。例えば、 .B $\&Log$ の行が .RB \*(lq "//\ $\&Log: tan.cc\ $" \*(rq である場合、ログの各行の前の \*r プレフィックスは .RB \*(lq "//\ " \*(rq となります。 これはコメントが行末まで及ぶ言語にて便利です。 別の言語に対しては、複数行コメント内部にて .RB \*(lq " \(** " \(rq プレフィックスを使用するのが慣例です。 例えば、C プログラムの最初のログのコメントは慣例的に以下の形式です: .RS .LP .nf .ft 3 .ne 3 /\(** .in +\w'/'u \(** $\&Log$ \(**/ .in .ft .fi .RE .LP 古いバージョンの \*r とのバックワードコンパチビリティのため、 ログのプレフィックスが .B /\(** または .B (\(** でありオプションの空白で囲まれている場合、挿入されるログの行は .B / や .B ( の代わりに空白が用いられます; しかしこの使用方法は古くさく、この動作に依存してはなりません。 .RE .TP .B $\&Name$ 存在する場合、リビジョンをチェックアウトするために使用したシンボリック名。 例えば .B "co\ \-rJoe" は .B "$\&Name:\ Joe\ $" を生成します。 単に .B co を指定した場合は、 .B "$\&Name:\ \ $" となります。 .TP .B $\&RCSfile$ パス名を含まない \*r ファイル名。 .TP .B $\&Revision$ リビジョン番号。 .TP .B $\&Source$ \*r ファイルのフルパス名。 .TP .B $\&State$ リビジョンに .BR rcs (1) か .BR ci (1) の .B \-s オプションにより割り付けられた状態。 .PP キーワード文字列の体裁を整えるために、 以下の文字をキーワード中に用いるには、 エスケープシーケンスを使用します。 .LP .RS .nf .ne 6 .ta \w'newline 'u \f2文字 エスケープシーケンス\fP tab \f3\et\fP newline \f3\en\fP space \f3\e040 $ \e044 \e \e\e\fP .fi .RE .SH "ファイルモード" ワークファイルは、\*r ファイルの読み込みと実行の許可属性を受け継ぎます。 さらに、ユーザに対する書き込み権が設定されます。 .B \-kv オプションが設定されている場合と、厳格ロックモード( .BR rcs (1) 参照)にてロックせずに取り出した場合は、書き込み権が設定されません。 .PP すでに、ワークファイルと同名の書き込み可能なファイルが存在していると、 .B co は取り出しを中断し、もし可能ならば削除するかどうかを問い合わせます。 もし、すでに存在するファイルが書き込み禁止であったり、 .B -f オプションが 指定されていた場合には、問い合わせを行わずに削除します。 .SH 関連ファイル .B co は .B ci とほぼ同じくらいのファイルにアクセスします。ただし、 .B $ が指定されていなければワークファイルを読むことはありません。 .SH 環境変数 .TP .B \s-1RCSINIT\s0 本変数に空白で区切ったオプションを設定することで、 コマンドライン引数に先立って処理されます。 詳しくは .BR ci (1) を参照してください。 .SH 診断 \*r パス名、ワークファイルパス名、 取り出されるリビジョンの番号を診断出力します。 全ての処理が成功した場合のみ、終了ステータス 0 を返します。 .SH 作者 Author: Walter F. Tichy. .br Manual Page Revision: \*(Rv; Release Date: \*(Dt. .br Copyright \(co 1982, 1988, 1989 Walter F. Tichy. .br Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert. .SH 関連項目 rcsintro(1), ci(1), ctime(3), date(1), ident(1), make(1), rcs(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsfile(5) .br Walter F. Tichy, \*r\*-A System for Version Control, .I "Software\*-Practice & Experience" .BR 15 , 7 (July 1985), 637-654. .SH 制限事項 \*r ファイル、ワークファイルのリンクは保存されません。 .PP キーワードを .B "$\&keyword:$" 以外の形式に書換える以外に、一部のキーワードの みを展開させる方法がありません。nroff や troff ではキーワード中にヌル文字 .B \e& を埋め込むことにより展開を防ぐことができます。 .br diff --git a/ja/man/man1/date.1 b/ja/man/man1/date.1 index 668f57bc2f..62290efd65 100644 --- a/ja/man/man1/date.1 +++ b/ja/man/man1/date.1 @@ -1,316 +1,316 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)date.1 8.2 (Berkeley) 11/17/93 -.\" %Id: date.1,v 1.25 1998/05/13 07:56:44 phk Exp % +.\" %Id: date.1,v 1.26 1999/01/13 07:01:07 danny Exp % .\" jpman %Id: date.1,v 1.2 1997/03/31 23:25:55 mutoh Stab % .\" .Dd November 17, 1993 .Dt DATE 1 .Os .Sh 名称 .Nm date .Nd 日付と時刻の表示、設定 .Sh 書式 .Nm date .Op Fl nu .Op Fl d Ar dst .Op Fl r Ar seconds .Op Fl t Ar minutes_west .Op Fl v Ns Ar [+|-]val Ns Op ymwdHM .Ar ... .Op Fl f Ar fmt Ar date | [[[[yy]mm]dd]HH]MM[\&.ss] .Op Cm + Ns Ar format .Sh 解説 引数なしで実行すると、 .Nm は現在の日付と時刻を表示します。 引数を与えると、ユーザが定義したフォーマットに従った日付や時刻の表示、 あるいは日時の設定を行います。 なお、日付と時刻を設定できるのはスーパーユーザだけです。 .Pp オプション: .Bl -tag -width Ds .It Fl d 夏時間用のカーネル値を設定します。もし .Ar dst が 0 でなければ、そのあとの .Xr gettimeofday 2 呼び出しでは .Ql tz_dsttime に 0 以外の値が返ります。 .It Fl f デフォルトの .Ar [[[[yy]mm]dd]HH]MM[.ss] フォーマットの代りに .Ar fmt を、時刻をパーズするフォーマットとして使用します。 .Xr strptime 3 を使用してパーズします。 .It Fl n .Xr timed 8 を利用して、グループ内のマシン間で時計を同期させます。 .Xr timed が動作している場合、デフォルトでは .Nm コマンドによりグループ内のすべてのマシンの時刻が変更されます。しかし、 .Fl n オプションを指定した場合には、他のマシンの時刻は変更しません。 .It Fl r エポック (1970年1月1日) から .Ar seconds 秒経過した日時を表示します。 .It Fl t カーネルに .Tn GMT (グリニッジ標準時) からの時差を設定します。このあとに呼ばれる .Xr gettimeofday 2 では、ここで指定された値が .Ql tz_minuteswest に入ります。 .It Fl u .Tn UTC (協定世界時) の日付を表示、設定します。 .\" 訳注(Mar.1996):UTC (Universal Time Coordinate) .It Fl v 分、時、日、曜日、月、年のいずれかを .Ar val にもとづき修正します。 .Ar val の前にプラスもしくはマイナスが付いている場合、 時刻はそれに従い前後に修正されます。 そうでない場合は、指定した部分が設定されます。 必要なら任意個このフラグを指定して時刻を修正することが出来ます。 フラグは指定した順序に処理されます。 .Pp 分の範囲は 0-59、時の範囲は 1-12、日の範囲は 1-31、曜日の範囲は 0-6 (Sun-Sat)、月の範囲は 1-12 (Jan-Dec)、 年の範囲は 80-38 もしくは 1980-2038 です。 .Pp .Ar val が数値の場合、 .Ar y , .Ar m , .Ar w , .Ar d , .Ar H , .Ar M のいずれかを使用して、時刻のどの部分を修正するのかを指定する必要があります。 .Pp 曜日もしくは月は数値の代りに名前で指定可能です。 名前と共にプラス(もしくはマイナス)記号を使用した場合、 日付は適合する次の(前の)曜日もしくは月に進みます(戻ります)。 曜日もしくは月が現在のものと変らない場合、日は修正しません。 .Pp 詳細に関しては、下記の例を参照して下さい。 .El .Pp プラス (``+'') で始まるオプションは、日付と時刻の表示方法を指定する フォーマット文字列です。フォーマット文字列には、 .Xr strftime 3 で記述されているような変換文字列と、任意のテキストを含むことができます。 フォーマット文字列によって指定された文字の後には、つねに改行文字が 出力されます。 .Nm のデフォルトの表示形式は、 .Bd -literal -offset indent ``+%+'' .Ed .Pp としたものと同じです。 .Pp もし、引数が``+''記号で始まる文字列でなければ、それはシステムに 日時を設定するための値と解釈されます。日時を設定するための正式な 表現は以下のとおりです: .Pp .Bl -tag -width Ds -compact -offset indent .It Ar yy 西暦の省略表現です。西暦の 10の位と 1 の位です(1989年なら89、06なら2006)。 .It Ar mm 月の数字表現です。1から12までの数字です。 .It Ar dd 日です。1から31までの数字です。 .It Ar HH 時です。0から23までの数字です。 .It Ar MM 分です。0から59までの数字です。 .It Ar .ss 秒です。0から61までの数字です。 (59 秒 + 2 秒までのうるう秒) .El .Pp 分の指定以外はすべて省略可能です。 .Pp 夏時間と標準時の切り替えや、閏秒や閏年の取り扱いは自動的に行われます。 .Pp .Sh 使用例 以下のコマンド: .Bd -literal -offset indent -date "+DATE: 19%y-%m-%d%nTIME: %H:%M:%S" +date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S" .Ed .Pp は、下のような表示を行ないます。 .Bd -literal -offset indent DATE: 1987-11-21 TIME: 13:36:16 .Ed .Pp 以下のコマンド: .Pp .Bd -literal -offset indent date -v1m -v+1y .Ed .Pp は以下を表示します: .Bd -literal -offset indent Sun Jan 4 03:15:24 GMT 1998 .Ed .Pp (現在 Mon Aug 4 04:15:24 BST 1997 の場合)。 .Pp 以下のコマンド: .Bd -literal -offset indent date -v1d -v3m -v0y -v-1d .Ed .Pp は 2000 年 2 月の最後の日を表示します: .Bd -literal -offset indent Tue Feb 29 03:18:00 GMT 2000 .Ed .Pp 以下のコマンド: .Bd -literal -offset indent date -v1d -v+1m -v-1d -v-fri .Ed .Pp は今月最後の金曜日を表示します: .Bd -literal -offset indent Fri Aug 29 04:31:11 BST 1997 .Ed .Pp (現在 Mon Aug 4 04:31:11 BST 1997 の場合)。 .Pp 以下のコマンド: .Bd -literal -offset indent date 8506131627 .Ed .Pp は、 .Dq Li "1985年6月13日午後4時27分" に日時を設定します。 .Pp 以下のコマンド: .Pp .Bd -literal -offset indent date 1432 .Ed .Pp は、日を修正することなく、時だけを .Li "午後2時32分" に設定します。 .Sh 環境変数 .Nm の実行は以下の環境変数の影響を受けます. .Bl -tag -width Ds .It Ev TZ 日時を表示する際に用いられるタイムゾーンを設定します。 通常のフォーマットは .Pa /usr/share/zoneinfo からの相対パス名です。例えば、コマンド .Dq TZ=America/Los_Angeles date はカリフォルニアの現在の時刻を表示します。 詳しいことは、 .Xr environ 7 を参照してください。 .El .Sh 関連ファイル .Bl -tag -width /var/log/messages -compact .It Pa /var/log/wtmp 日付のリセットおよび時刻変更の記録がこのファイルに残されます。 .It Pa /var/log/messages 日付を変更したユーザの記録がこのファイルに残されます。 .El .Sh 関連項目 .Xr gettimeofday 2 , .Xr strftime 3 , .Xr strptime 3 , .Xr utmp 5 , .Xr timed 8 .Rs .%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD" .%A R. Gusella .%A S. Zatti .Re .Sh 診断 成功した場合は 0 を、日時を設定できなかった場合は 1 を、 ローカルマシンの設定はできたが、グループのマシン全体の設定に失敗した 場合は2を返します。 .Pp timed が多数のマシンの時計をあわせる場合には、新しい時刻のセットに 数秒かかることがあります。このとき .Nm は、 .Ql Network time being set と表示します。 .Nm と .Xr timed との間で通信に失敗した場合は、 .Ql Communication error with timed が表示されます。 .Sh バグ システムは .Tn VMS と高い互換性を持つフォーマットで日時を保持しようとしています。しかし、 .Tn VMS は .Tn GMT ではなくローカルな時刻を使っており、夏時間を理解しません。そのため、 .Tn UNIX と .Tn VMS を同時に使う場合は、 .Tn VMS を .Tn GMT で使うべきでしょう。 .Sh 規格 .Nm コマンドは .St -p1003.2 互換であると想定しています。 .Sh 歴史 .Nm date コマンドは .At v1 から導入されました。 diff --git a/ja/man/man1/fetch.1 b/ja/man/man1/fetch.1 index e77cbbc7bc..bde304ed2f 100644 --- a/ja/man/man1/fetch.1 +++ b/ja/man/man1/fetch.1 @@ -1,371 +1,400 @@ -.\" %Id: fetch.1,v 1.26 1998/12/08 13:00:48 cracauer Exp % +.\" %Id: fetch.1,v 1.27 1999/01/15 16:56:22 wollman Exp % .\" jpman %Id: fetch.1,v 1.4 1997/08/15 06:31:28 horikawa Stab % -.Dd July 2, 1996 +.Dd January 15, 1999 .Dt FETCH 1 -.Os FreeBSD 2.2 +.Os FreeBSD 3.1 .Sh 名称 .Nm fetch .Nd URL(Uniform Resource Locator)形式でのファイルの取得 .Sh 書式 .Nm fetch .Op Fl MPablmnpqrtv .Op Fl S Ar size .Op Fl T Ar timeout .Op Fl o Ar file .Ar URL .Op Ar ... .Nm fetch .Op Fl MPRlmnpqrv .Op Fl S Ar size .Op Fl o Ar file .Op Fl c Ar dir .Fl f Ar file .Fl h Ar host .Sh 解説 .Nm fetch は、 .Tn FTP もしくは .Tn HTTP プロトコルを使ってネットワークの遠隔サイトから、ファイルの転送を 行います。コマンドの最初の書式の .Ar URL は、 .Li http://site.domain/path/to/the/file もしくは、 .Li ftp://site.domain/path/to/the/file の形式をしています。 複製もしくはリンクされる(以下の .Fl l フラグを参照)ローカルでのファイル名を指定するために、 .Em file:/path/to/the/file という URL 形式が使えます。後述の URL 文法を参照してください。 .Pp コマンドの 2 番目の形式は、 ファイル名と遠隔ホスト名を .Fl h と .Fl f フラグで指定して、 .Tn FTP プロトコルを使ってファイルを取得するために使われます。 .Pp 以下のオプションが使用可能です。 .Bl -tag -width Fl .It Fl a ソフト上での失敗の場合に自動的に転送を再試行します。 .It Fl b .Tn TCP プロトコルを正しく実装していない .Tn HTTP サーバのバグ対応を行います。 .It Fl c Ar dir 遠隔ホストの .Ar dir ディレクトリのファイルを取得します。 .It Fl f Ar file 遠隔ホストの .Ar file という名前のファイルを取得します .It Fl h Ar host ホスト名が .Ar host にあるファイルを取得します。 .It Fl l 目標が .Ar file:/ 形式のURLだった場合、目標を複製しようとするのではなく、 リンクを作成します。 .It Fl M .It Fl m ミラーモード: ファイルの変更時間を遠隔ホストの変更時間と同じに 設定します。ローカルホストにファイルが既に存在しサイズと 変更時間が同じである場合、転送は行われません。 .It Fl n 転送されるファイルの変更時間を保存せず、現在の時間を使います。 .It Fl o Ar file 出力ファイル名を .Ar file にします。 デフォルトでは、``パス名''が指定された URI から取り出され、その ベースネームが出力ファイルの名前として使われます。 .Ar file 引数として .Sq Li \&- を与えると、結果は標準出力に出力されます。 .It Fl P .It Fl p .Tn FTP プロトコルをパッシブモードで使います。これは、防火壁 (firewall) を跨いだ場合に有効です。 .It Fl q 沈黙モード。端末に転送の進行状態を報告しません。 .It Fl R 転送が失敗もしくは不完全であった時でさえ、与えられたファイル名は ``大事にされ''、どんな状況下でもファイル名は消去されません. .It Fl r 以前に中断された転送を再開します。 .It Fl S Ar bytes .Tn FTP もしくは .Tn HTTP のサーバに対してファイルサイズを報告するよう要求し、 本オプションにより指定される値と比較します。 合致しない場合、メッセージが表示され、ファイルは取得されません。 サーバがファイルサイズの報告をサポートしない場合、 本オプションは無視され、ともかくファイルは取得されます。 前もってファイルサイズが分かる場合、 不完全なファイルもしくは誤ったバージョンのファイルを .Nm がダウンロードするのを防ぐために有用です。 .It Fl s サーバにファイルサイズ (バイト) を尋ね、これを標準出力に出力します。 実際のファイル取得は行いません。 .It Fl T Ar second タイムアウト時間を .Ar second 秒に設定します。 ftp での転送に対しては .Ev FTP_TIMEOUT 環境変数が、 http での転送に関しては .Ev HTTP_TIMEOUT 環境変数が,設定されていた場合は、それを上書きします。 .It Fl t 別のバグがある .Tn TCP 実装に対する対処を行います。 .It Fl v 冗長性を増加させます。 複数の .Fl v を指定することで、より情報が得られるようになります。 .El .Pp 多くのオプションは、環境によってのみ制御されます (これはバグです)。 .Sh URL 文法 .Nm は、RFC1738 に記述されている .Tn http および .Tn ftp の URL を受け付けます。 .Tn ftp の URL ではユーザ名とパスワードを指定可能であり、 .Li ftp://user:password@host/ という文法で指定します。 パスがユーザのホームディレクトリの相対指定ではなく、絶対指定の場合には、 パスを %2F で開始する必要があり、 .Li ftp://root:mypass@localhost/%2Fetc/passwd のように指定します。 .Sh プロキシサーバ 防火壁の中の多くのサイトは、信用できるプロトコルで防火壁を通して 通信を行なうためにアプリケーションゲートウェイ( ``プロキシサーバ'' ) を利用します。 .Nm プログラムは、プロキシサーバを使った .Tn FTP と .Tn HTTP プロトコルの両方を利用可能です。 .Tn FTP プロキシサーバは .Tn FTP の要求だけを取り次ぎ、 .Tn HTTP プロキシサーバは .Tn FTP と .Tn HTTP の両方の要求を取り次ぎます。 プロキシサーバは、環境変数 .Dq Va PROTO Ns Ev _PROXY を定義することで設定されます。 ここで、 .Va PROTO はプロトコルの名前で、英大文字で記述します。 環境変数の値には、ホスト名と必要ならばコロン (:) に続けてポート番号を 指定します。 .Pp .Tn FTP プロキシクライアントは、 .Do Va remoteuser Ns Li \&@ Ns Va remotehost .Op Li \^@ Ns Va port .Dc という形式の ホスト名とポート番号を遠隔地のユーザ名として送ります。 .Tn HTTP プロキシクライアントは、 .Tn HTTP .Dq Li GET 要求を出した時に、単純に要求を出した元の URI を遠隔サーバに送ります。 HTTP プロキシによる認証は、いまはまだ実装されていません。 .Sh HTTP による認証 .Tn HTTP プロトコルは、さまざまな種類の認証方法の提供を含んでいます。 現在、 .Nm fetch がサポートしている方式は .Dq basic 方式だけです。 この方法は、パケットの盗み見や人間が間に介在した攻撃にはセキュリティを 提供しません。 認証は、 .Ev HTTP_AUTH と .Ev HTTP_PROXY_AUTH 環境変数を設定することで可能となります。 両環境変数は、次のような同じ形式をしています。 空白で区切られたパラメータの設定リストからなり、個々の設定はコロンで 分けられたパラメータのリストからなります。最初の二つのパラメータはいつも ( 大文字でも小文字でも構わない ) 認証方法名と認証が行われる範囲です。 認証範囲が .Sq Li \&* の形式で指定されている時、他に指定されていない全ての範囲とみなされます。 .Pp .Li basic 認証方式は、二つのオプションのパラメータを利用します。 一つ目はユーザ名で、 2 番目はそれに付けられたパスワードです。 環境でパスワードもしくは両方のパラメータが指定されていなく、 .Nm の標準入力が端末である時には、 .Nm は欠けているパラメータの入力をユーザにうながします。 したがって、ユーザが .Dq Li jane で .Dq Li WallyWorld 範囲の認証で、パスワードが .Dq Li QghiLx79 であるなら、彼女は .Ev HTTP_AUTH 環境変数を以下のように設定します。 .Bl -enum -offset indent .It .Dq Li basic:WallyWorld:jane:QghiLx79 .It .Dq Li basic:WallyWorld:jane .It .Dq Li basic:WallyWorld .El .Pp .Nm は欠けている情報が必要な場合は、尋ねてきます。 彼女は、認証範囲を .Dq Li WallyWorld と指定する代わりに、 .Dq Li \&* と指定することで、どんな範囲でも認証を行うことを示せます。 これは、 .Dq Li basic:* の様なもっとも一般的に使われる設定です。 この設定は、 .Nm にどんな認証範囲であっても .Li basic 認証を行わせることを指示します。 .Sh エラー .Nm は成功した時は 0 を返します。 また、失敗した場合には、 .Aq Pa sysexits.h で定義される 0 でない値が返されます。 複数の URI が再試行のために与えられた時、 .Nm は全てを試して、全て成功した場合だけ 0 を返します (それ以外の場合は、最後の失敗のエラーを返します)。 .Sh 環境変数 .Bl -tag -width FTP_PASSIVE_MODE -offset indent .It Ev FTP_TIMEOUT .Tn FTP 接続を中断するまでの最大時間を秒で指定します。 .It Ev FTP_LOGIN .Tn FTP 転送で使われるログイン名です。 デフォルトは ``anonymous'' が使われます。 .It Ev FTP_PASSIVE_MODE パッシブモードで FTP を行います。 .It Ev FTP_PASSWORD .Tn FTP 転送で使われるパスワードです。 デフォルトは .Dq Va yourname Ns Li \&@ Ns Va yourhost です。 .It Ev FTP_PROXY .Tn FTP を理解するプロキシサーバのアドレスを .Do Va hostname Ns .Op Li : Ns Va port .Dc の形式で与えます。 .It Ev HTTP_AUTH .Tn HTTP 認証パラメータを定義します。 .It Ev HTTP_PROXY .Tn HTTP を理解するプロキシサーバのアドレスを .Do Va hostname Ns .Op Li : Ns Va port .Dc の形式で与えます。 .It Ev HTTP_PROXY_AUTH .Tn HTTP プロキシサーバのための認証パラメータを定義します。 .It Ev HTTP_TIMEOUT .Tn HTTP 接続を中断するまでの最大時間を秒で指定します。 .Sh 関連項目 .Xr ftp 1 , .Xr tftp 1 +.Rs +.%A R. Fielding +.%A J. Gettys +.%A J. Mogul +.%A H. Frystyk +.%A T. Berners-Lee +.%T "Hypertext Transfer Protocol \-\- HTTP/1.1" +.%O RFC 2068 +.%D January 1997 +.Re .Sh 歴史 .Nm fetch コマンドは .Fx 2.1.5 から導入されました。 .Sh 作者 .Nm のオリジナル実装は .An Jean-Marc Zucconi が行いました。 .Fx 2.2 のために、拡張を行ったのは .An Garrett Wollman です。 .Sh バグ たくさんの環境変数とコマンドラインオプションがあります。 .Pp .Fl a オプションは、ある種類の .Tn HTTP の接続失敗のために実装されており、 .Tn FTP の接続失敗のためではありません。 .Pp .Tn HTTP のために、 .Dq basic 認証モードだけが実装されています。 これは、ダイジェスト認証に置き換えられるべきものです。 .Pp ( .Tn FreeBSD 以外の) 実装には、データが含まれるパケットに .Dv SYN や .Dv FIN の制御フラグが含まれている状況を正しく実装していないものがあります。 .Sq Fl t フラグは後者に対する対処を行い、 .Sq Fl b フラグは前者に対する対処を行います。 これらはサーバの .Tn TCP スタックのエラーですから、我々ができる最良の解はこれらの対処です。 正しいサーバとの通信の場合には、 .Fl t および .Fl b を含まない最良の .Tn HTTP 転送が実現されます。 (少ない返答の場合) ラウンドトリップ回数は最小の 2 回となり、 他の実装よりも 1 回少なくなります。 +.Pp +.Tn HTTP +標準は、 +.Tn RFC 850 +の日付書式解釈を要求しますが、この書式は世紀情報を提供しません。 +.Fx 3.1 +以前のバージョンの +.Nm fetch +は、そのような日付を 1900 年代と解釈します。 +このバージョンの +.Nm fetch +は、そのような日付を +.Tn RFC 2068 +にある次の規則に従って解釈します: +.Bd -literal -offset indent + o HTTP/1.1 クライアントおよびキャッシュは、50 年より先の未来の + RFC-850 形式の日付を、実際は過去の日付であると解釈すべきです + (これが「2000 年問題」解決の助けになります)。 +.Ed diff --git a/ja/man/man1/gctags.1 b/ja/man/man1/gctags.1 index 57c6f57ed2..ba7431b1a8 100644 --- a/ja/man/man1/gctags.1 +++ b/ja/man/man1/gctags.1 @@ -1,236 +1,142 @@ -.\" Copyright (c) 1987, 1990, 1993 -.\" The Regents of the University of California. All rights reserved. +.\" +.\" Copyright (c) 1996, 1997, 1998 Shigio Yamaguchi. 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. +.\" This product includes software developed by Shigio Yamaguchi. .\" 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. .\" -.\" @(#)gctags.1 8.1 (Berkeley) 6/6/93 .\" jpman %Id: gctags.1,v 1.3 1997/08/31 14:13:32 horikawa Stab % .\" .\" gctags.1 修正時には ctags.1 も同様に修正して下さい。 .\" Aug 31 1997 -.Dd April 21, 1997 +.Dd Aug 19, 1998 .Dt GCTAGS 1 .Os BSD 4 .Sh 名称 .Nm gctags -.Nd タグファイルを作成する (GLOBAL 用の特別なコマンド) +.Nd gtags 用のクロスリファレンスを表示する .Sh 書式 .Nm gctags -.Op Fl BDFacderstuvwx -.Op Fl f Ar tagsfile -.Ar name ... +.Op Fl b +.Op Fl e +.Op Fl n +.Op Fl r +.Op Fl s +.Op Fl w +.Ar file ... .Sh 解説 .Nm -は、指定された C, Pascal, Fortran, +は、指定された C, .Tn YACC , -lex, lisp, アセンブリのソースから、 -.Xr ex 1 +.Tn JAVA +そしてアセンブリのソースから、 +.Xr gtags 1 コマンド用のタグファイルを作成します。 -タグファイルは、指定されたオブジェクトが一群のファイル中の -どの場所にあるかを示すものです。 -タグファイルの各行はオブジェクトの名前、定義されているファイル、 -オブジェクトの定義を見つけるための検索パターンを含み、 +出力の各行はオブジェクトの名前、出現する行番号、定義されているファイル、 +行のイメージを含み、 各々は空白で区切られています。 -この -.Ar tags -ファイルを用いることにより、 -.Xr ex 1 -でこれらのオブジェクトが定義されている場所をすばやく見つけることが -できます。 +オプション -x を付けると、 +.Xr ctags 1 +の出力と同じになります。 .Nm に与えられるオプションによりますが、オブジェクトは -subroutine 、 typedef 、 define 、 struct 、 enum 、 union から +関数定義、関数参照、他のシンボルから 構成されます。 +本コマンドが、GLOBAL ソースコードタグシステムのデフォルトのパーザです。 .Bl -tag -width Ds -.It Fl B -後方検索パターン -.Pq Li ?...? -を用います。 -.It Fl D -同じオブジェクトの名前が複数回出てくるのを許可します。 -.It Fl F -前方検索パターン -.Pq Li /.../ -を用います(デフォルト)。 -.It Fl a -既存の -.Ar tags -ファイルに追加します。 -.It Fl c -コンパクトフォーマットで表示します。 -.Fl x -オプション指定時にのみ有効です。 -.It Fl d -引数を持たない -.Li #define -に関してもタグを作成します。引数を持つ -.Li #define -は自動的にタグが作成されます。 +.It Fl b +1 桁目に '{' が出てきたときに、強制的にレベル 1 ブロックの開始と判断します +(C 言語のみ)。 .It Fl e -一桁目に '}' が出てきたときに、強制的に関数の終わりと判断します -( C 言語のみ ) 。 -.It Fl f Ar tagsfile -.Ar tagsfile -で指定されたファイル名でタグファイルを生成します。 -デフォルトでは -.Ar tags -というファイル名でタグファイルを生成します。 +1 桁目に '}' が出てきたときに、強制的にレベル 1 ブロックの終りと判断します +(C 言語のみ)。 +.It Fl n +タグの出力を抑止します。 +.Fl w +オプションと共に使用する場合に有用です。 .It Fl r 関数定義ではなく関数参照の位置を提供します。 カレントディレクトリに GTAGS ファイルが必要となります -( C 言語のみ ) 。 +(C 言語と Java 言語のみ)。 +デフォルトでは、関数の定義の位置を見付けます。 .It Fl s -関数以外のシンボルを集めます。 -.It Fl t -typedef, struct, union, enum 宣言のタグを生成します。 -.It Fl u -.Ar tags -ファイル内の指定されたファイルに関する情報を更新します。 -すなわち、関係するファイルへのすべての参照が削除され、新しいタグ情報が -ファイルに追加されます。 -(注意: このオプションはあまりスピードのでないような実装しか -おこなわれていません。単に -.Ar tags -ファイルを再構築した方が早く終了するでしょう。) -.It Fl v -.Xr vgrind 1 -形式のファイル一覧が標準出力に出力されます。 -この一覧はオブジェクト名、ファイル名、1 ページあたり 64 行とした場合の -ページ番号から構成されます。 -出力は辞書式の順番でソートされているので、この後に -.Xr sort 1 -を通した方がよいでしょう。次のように使います。 -.Bd -literal -offset indent -gctags \-v files \&| sort \-f > index -vgrind \-x index -.Ed +関数以外のシンボルを収集します。デフォルトでは、関数の定義の位置を見付けます。 .It Fl w -診断用メッセージを表示しないようにします。 -.It Fl x -.Nm -はオブジェクト名、行番号、ファイル名、その行の内容からなる一覧を作成し、 -それを標準出力に出力します。 -これはオフラインでも読みやすいように印刷できる簡単な関数一覧として -利用できます。 +警告メッセージを表示します。 .El .Pp +.Fl r +および +.Fl s +のオプションは、互いに優先し合います。 +最後に指定したものが、使用する方法を決定します。 +.Pp .Nm \&.c や .Nm \&.h で終わる名前のファイルは、 C 言語のソースファイルとみなされ、 C の形式の関数・マクロ定義が検索されます。 .Nm \&.y で終わる名前のファイルは、 .Tn YACC のソースファイルとみなされます。 -.Nm \&.l -で終わる名前のファイルは、最初の空白でない文字が `;' か `(' か `[' で -あれば lisp のファイルであるとみなされ、そうでなければ lex のファイルと -みなされます。 +.Nm \&.java +で終るファイル名のファイルは Java 言語ファイルとみなされます。 .Nm \&.s か .Nm \&.S で終るファイル名のファイルはアセンブリ言語ファイルとみなされます。 -その他のファイルは、まず Pascal か Fortran の定義が含まれるか -どうかがチェックされ、含まれない場合には C 形式の定義が検索されます。 +その他のファイルは、C 形式の定義が検索されます。 .Pp -C 言語の場合、 -.Li main -は特別に扱われ、元のソースファイルのパス名部分と末尾の -.Nm \&.c -の部分を取り除いたファイル名に対し、その先頭に -.Ar M -を付加したものをオブジェクト名とします。 -これにより、同じディレクトリに複数のプログラムがある場合でも -.Nm gctags -を実用的に使うことができます。 -.Pp -yacc と lex のファイルには特殊なタグがあります。 +yacc のファイルには特殊なタグがあります。 .Ar yyparse -は yacc ファイルの第二セクションの始まりを示し、 -.Ar yylex -は lex ファイルの第二セクションの始まりを示します。 -.Sh 関連ファイル -.Bl -tag -width tags -compact -.It Pa tags -デフォルトで出力されるタグファイル -.It Pa GTAGS -GLOBAL 用のタグファイル -.El +は yacc ファイルの第 2 セクションの始まりを示します。 .Sh 診断 .Nm はエラーが発生すると非 0 を返し、それ以外では 0 を返します。 同じ名前のオブジェクトが複数出てきてもエラーとはみなされません。 .Sh 関連項目 .Xr btreeop 1 , .Xr ex 1 , .Xr global 1 , .Xr gtags 1 , .Xr htags 1 , .Xr vi 1 . .Sh バグ -.Tn FORTRAN -と Pascal 用の -.Nm 関数(function) -、 -.Nm サブルーチン(subroutine) -、 -.Nm 手続き(procedure) -の認識にはとても単純な方法を用いています。 -ブロック構造が解釈できないので、異なるブロックに同じ名前の Pascal 手続きが -存在するとうまく動作しません。 -.Nm -は Pascal の型(type)も理解しません。 -.Pp -C か Pascal か -.Tn FORTRAN -かを判断する方法はとりあえず動いている、という程度のものです。 .Pp .Nm はきちんと整形された入力に頼っています。 また、ソースファイルに文法的な間違いがあると 簡単に混乱してしまいます。 -文法的に間違っていなくても混乱する場合があります。 -例えば、 -.Li #ifdef -を理解しないので(バグではなく仕様です)、 -.Li #ifdef -内に括弧のつりあっていないコードがあると混乱してしまいます。 -同様に、定義が複数行にわたっている場合、オブジェクトの先頭行ではなく -最終行が検索パターンにマッチします。 -複数行にわたる -.Li typedef -に関しても同様です。 .Pp アセンブリ言語サポートは完璧からは程遠く、 ソースファイルから ENTRY() と ALTENTRY() を取り出すだけです。 FreeBSD と Linux のカーネルソースでどうにか大丈夫なだけでしょう。 +.Sh 作者 +Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは FreeBSD 2.2.2 で登場しました。 diff --git a/ja/man/man1/global.1 b/ja/man/man1/global.1 index 5c2849ad26..58000a1bef 100644 --- a/ja/man/man1/global.1 +++ b/ja/man/man1/global.1 @@ -1,173 +1,193 @@ .\" -.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved. +.\" Copyright (c) 1996, 1997, 1998 Shigio Yamaguchi. 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 Shigio Yamaguchi. .\" 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 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. .\" jpman %Id: global.1,v 1.3 1997/07/27 12:54:52 horikawa Stab % .\" -.Dd Nov 26, 1997 +.Dd Dec 8, 1998 .Dt GLOBAL 1 .Os BSD 4 .Sh 名称 .Nm global .Nd 指定したオブジェクトの位置を表示する .Sh 書式 .Nm global -.Op Fl alrvx +.Op Fl alnrtvx .Ar pattern .Nm global -c .Op Ar prefix .Nm global -.Fl f[arx] -.Ar file +.Fl f[anrtx] +.Ar files .Nm global -.Fl g[alvx] +.Fl g[alntvx] .Ar pattern .Nm global .Fl i[v] .Nm global .Fl p .Nm global -.Fl s[alvx] +.Fl P[alnt] +.Op Ar pattern +.Nm global +.Fl s[alntvx] .Ar pattern .Sh 解説 .Nm -は C や Yacc のソースファイル中から特定のオブジェクトの位置を見つけ出します。 +は C や Yacc や Java +のソースファイル中から特定のオブジェクトの位置を見つけ出します。 .Nm は、ソースツリー(サブディレクトリやソースファイルを持つディレクトリ)も 扱うことができます。 ツリー内のどこにあろうと、オブジェクトの相対パスを得ることができます。 .Nm は関数定義だけではなく、関数参照と他のシンボルの位置を把握します。 二重のエントリも取り扱うことができます。 .Pp このコマンドを使う前に、ソースツリーのルートディレクトリで .Xr gtags 1 を実行し、タグファイルを作成しなければなりません。 それから、 .Nm をソースツリー下のいかなる場所からでも実行可能です。 -.Pp -以下のオプションが使用可能です: +.Sh コマンド +次のコマンドを使用可能です: .Bl -tag -width Ds .It Ar pattern -オブジェクトパターン。POSIX 1003.2 の正規表現を使用可能です。 -.It Fl a -絶対パスで表示します。デフォルトでは相対パス名で表示します。 +.Ar pattern +にマッチするパターンを表示します。POSIX 1003.2 の正規表現を使用可能です。 .It Fl c Op Ar prefix 指定された .Ar prefix で始まる名前の関数の候補を表示します。 .Ar prefix が指定されない場合、すべての関数の名前を表示します。 -.It Fl f Ar file -.Ar file +.It Fl f Ar files +.Ar files の全関数定義を表示します。このオプションは -x オプションを暗黙的に指定します。 -.It Fl g -パターンにマッチする全行を表示します。 +.It Fl g Ar pattern +.Ar pattern +にマッチする全行を表示します。 +grep(1) に似ています。 .It Fl i -タグファイルをインクリメンタルに再構築します。 -.It Fl l -現在のディレクトリ下に存在するオブジェクトを表示します。 -.It Fl r -関数の参照場所を表示します。 -デフォルトでは、関数の定義場所を表示します。 +タグファイルを探して、インクリメンタルに再構築します。 .It Fl p GTAGS の位置を表示します。 -.It Fl s +.It Fl P Op Ar pattern +.Ar pattern +にマッチするパスを表示します。 +パターンを指定しないと、すべてを表示します。 +.It Fl s Ar pattern 関数名ではなく指定したシンボルの位置を表示します。 GSYMS タグファイルが必要です。 .Xr gtags 1 を参照してください。 +.Sh オプション +次のオプションを使用可能です: +.Bl -tag -width Ds +.It Fl a +絶対パスで表示します。デフォルトでは相対パス名で表示します。 +.It Fl l +現在のディレクトリ下に存在するオブジェクトを表示します。 +.It Fl n +ソートフィルタとパス変換フィルタを抑制します。 +.It Fl r +関数の参照場所を表示します。 +デフォルトでは、関数の定義場所を表示します。 +.It Fl t +標準の ctags フォーマットで表示します。 .It Fl x デフォルトの出力に加えて、行番号と行の内容を表示します。 .Sh 関連ファイル .Bl -tag -width tags -compact .It Pa GTAGS 関数定義に関するタグファイル。 .It Pa GRTAGS 関数参照に関するタグファイル。 .It Pa GSYMS 関数以外のシンボルのタグファイル。 +.It Pa GPATH +パスインデックス。インクリメンタル更新とコンパクトフォーマットで使用します。 .El .Sh 環境変数 以下の環境変数が global の実行に影響します。 .Pp .Bl -tag -width indent .It Ev GTAGSROOT ソースツリーのルートディレクトリです。 .It Ev GTAGSDBPATH gtags のデータベースが存在するディレクトリです。 この値は GTAGSROOT が定義されていない場合は無視されます。 .It Ev GTAGSLIBPATH この変数が設定されていると、ライブラリ関数を探すパスとして 用いられます。指定された関数がソースツリー内に見つからない場合、 global はこのパスも検索します。 .Sh 使用例 % ls -F Makefile src/ lib/ % gtags % global main src/main.c % global -x main main 10 src/main.c main (argc, argv) { % global -x '^[sg]et' set_num 20 lib/util.c set_num(values) get_num 30 lib/util.c get_num() { % global -rx '^[sg]et' set_num 113 src/op.c set_num(32); set_num 225 src/opop.c if (set_num(0) > 0) { get_num 90 src/op.c while (get_num() > 0) { % cd lib % global -rx '^[sg]et' set_num 113 ../src/op.c set_num(32); set_num 225 ../src/opop.c if (set_num(0) > 0) { get_num 90 ../src/op.c while (get_num() > 0) { % global strlen % (cd /usr/src/sys; gtags) % setenv GTAGSLIBPATH /usr/src/sys % global strlen ../../../usr/src/sys/libkern/strlen.c % (cd /usr/src/lib; gtags) % setenv GTAGSLIBPATH /usr/src/lib:/usr/src/sys % global strlen ../../../usr/src/lib/libc/string/strlen.c .Sh 診断 .Nm はエラーが発生すると 0 以外の値を、そうでなければ 0 を返します。 .Sh 関連項目 .Xr btreeop 1 , .Xr gtags 1 , .Xr htags 1 , .Xr vi 1 . .Sh 作者 Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは FreeBSD 2.2.2 で登場しました。 diff --git a/ja/man/man1/gtags.1 b/ja/man/man1/gtags.1 index 74b7c1ceef..4d92e90f13 100644 --- a/ja/man/man1/gtags.1 +++ b/ja/man/man1/gtags.1 @@ -1,103 +1,110 @@ .\" -.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved. +.\" Copyright (c) 1996, 1997, 1998 Shigio Yamaguchi. 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 Shigio Yamaguchi. .\" 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 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. .\" jpman %Id: gtags.1,v 1.3 1997/07/27 12:57:00 horikawa Stab % .\" -.Dd Sep 12, 1997 +.Dd Oct 10, 1998 .Dt GTAGS 1 .Os BSD 4 .Sh 名称 .Nm gtags -.Nd GTAGS, GRTAGS, GSYMS ファイルを作成する +.Nd global 用のタグファイルを作成する .Sh 書式 .Nm gtags +.Op Fl c .Op Fl i .Op Fl o +.Op Fl w .Op Fl v .Op Ar dbpath .Sh 解説 .Nm は .Xr global 1 -で用いる GTAGS, GRTAGS, GSYMS ファイルを作成します。 +で用いる GTAGS, GRTAGS, GSYMS, GPATH ファイルを作成します。 .Nm はサブディレクトリをたどり、ソースファイルを読み、シンボルの位置を把握して その情報をタグファイルに保存します。 -C や yacc やアセンブラのソースファイルがサポートされています。 +C や yacc や java やアセンブラのソースファイルがサポートされています。 このコマンドはソースツリーのルートで実行する必要があります。 .Pp ソースディレクトリが CDROM のような読み込み専用デバイスの場合、 タグファイルを作成するディレクトリを .Ar dbpath に指定します。 .Pp .Bl -tag -width Ds +.It Fl c +コンパクトフォーマットのタグフファイルを作成します。 .It Fl i -タグファイルが最後に更新されてから更新されたファイルについてのみ -検査することにより、 -タグファイルをインクリメンタルに更新します +タグファイルをインクリメンタルに更新します。 .It Fl o GSYMS ファイルの作成を抑止します。 .Xr global 1 で .Fl s オプションを使用しない場合に使用してください。 +.It Fl w +警告メッセージを表示します。 .It Fl v 冗長モード。 .Sh 関連ファイル .Bl -tag -width tags -compact .It Pa GTAGS 関数定義に関するタグファイル。 .It Pa GRTAGS 関数参照に関するタグファイル。 .It Pa GSYMS 他のシンボルに関するタグファイル。 +.It Pa GPATH +パスインデックスファイルであり、 +インクリメンタル更新とコンパクトフォーマットで使用します。 .El .Sh 診断 .Nm はエラーが発生すると非 0 を、そうでなければ 0 を返します。 .Sh 関連項目 .Xr btreeop 1 , .Xr global 1 , .Xr htags 1 , .Xr vi 1 . .Sh バグ GTAGS, GRTAGS, GSYMS はとても大きくなります。 実行前にディスクの空き容量をチェックしてください。 .br アセンブラのサポートは完璧には程遠く、ソースファイルから ENTRY() と ALTENTRY() を抜き出すだけです。 FreeBSD と Linux のカーネルソースでどうにか大丈夫なだけでしょう。 .br タグファイルに関する並行制御はしていません。 .Sh 作者 Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは FreeBSD 2.2.2 で登場しました。 diff --git a/ja/man/man1/htags.1 b/ja/man/man1/htags.1 index 3d77a563c5..bc2924a80f 100644 --- a/ja/man/man1/htags.1 +++ b/ja/man/man1/htags.1 @@ -1,131 +1,143 @@ .\" -.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved. +.\" Copyright (c) 1996, 1997, 1998 Shigio Yamaguchi. 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 Shigio Yamaguchi. .\" 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 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. .\" jpman %Id: htags.1,v 1.3 1997/07/27 12:58:52 horikawa Stab % .\" -.Dd June 28, 1997 +.Dd Oct 11, 1998 .Dt HTAGS 1 .Os BSD 4 .Sh 名称 .Nm htags -.Nd C や yacc のソースコードからハイパーテキストを生成する +.Nd C や Yacc や Java のソースコードからハイパーテキストを生成する .Sh 書式 .Nm htags .Op Fl a +.Op Fl c .Op Fl f +.Op Fl h .Op Fl l .Op Fl n .Op Fl v .Op Fl w .Op Fl d Ar tagdir .Op Fl t Ar title .Op Ar dir .Sh 解説 .Nm -は GLOBAL のデータベース (GTAGS と GRTAGS) を利用して C や yacc の +は GLOBAL のデータベース (GTAGS と GRTAGS) を利用して C や Yacc や Java の ソースコードからハイパーテキストを生成します。 .Pp このコマンドを使う前には、ソースツリーのルートディレクトリで .Xr gtags 1 を実行していなければなりません。 その後、同じディレクトリで .Nm を使うことができるようになります。 .Nm は HTML ディレクトリを作成し、そこにハイパーテキストを生成します。 .Pp \&'HTML/index.html' からブラウズを始めることができます。 いったんハイパーテキストが生成されれば、好きな場所に持っていき、 好きなブラウザで見ることが可能です。 .Pp .br .Bl -tag -width Ds .It Fl a アルファベット順の関数一覧を作成します。 大きなプロジェクトには有効でしょう。 +.It Fl c +html ファイルを +.Xr gzip 1 +で圧縮します。 +HTTP サーバが +.Xr gzip 1 +を起動して各圧縮ファイルを扱えるように設定しておく必要があります。 +htags で作成したスケルトンファイル 'HTML/.htaccess.skel' を参照してください。 .It Fl f CGI プログラムによる入力フォームと動的インデックスをサポートします。 HTTP サーバの設定を行う必要があります。 +.It Fl h +タイトルヘッダフレームを追加します。デフォルトでは追加しません。 .It Fl l 各行に対し名前のタグ()を生成し、他のハイパーテキストから このハイパーテキストの任意の行を指し示すことができるようにします。 デフォルトでは、参照されるオブジェクトがある行にのみタグを生成します。 .It Fl n -行番号を表示します。デフォルトでは表示しません。 +行番号を表示します (デフォルトでは表示しません)。 .It Fl v 冗長モード。 .It Fl w 警告メッセージを表示します。 .It Fl d Ar tagdir GTAGS と GRTAGS が存在するディレクトリを指定します。 デフォルトではカレントディレクトリになります。 .It Fl t Ar title ハイパーテキストのタイトルを指定します。デフォルトでは現在のパスの 最後の構成要素になります。 .It Ar dir ハイパーテキストが生成されるディレクトリを指定します。 デフォルトではカレントディレクトリになります。 .Sh 使用例 % cd /usr/src/sys - # gtags -se + # gtags -o # htags -fnvat 'Welcom to FreeBSD kernel source tour!' % lynx HTML/index.html .Sh 関連ファイル .Bl -tag -width tags -compact .It Pa HTML/index.html 目次ファイル。 .It Pa GTAGS 関数定義のタグファイル。 .It Pa GRTAGS 関数参照のタグファイル。 .El .Sh 環境変数 htags の実行に際しては、以下の環境変数が参照されます。 .Pp .Bl -tag -width indent .It Ev TMPDIR この変数が設定されていると、値が一時ファイルを作成するディレクトリ として用いられます。 デフォルトは /tmp 。 .Sh 診断 エラーが発生すると .Nm は非 0 を返し、それ以外では 0 を返して終了します。 .Sh 関連項目 .Xr btreeop 1 , .Xr global 1 , .Xr gtags 1 . .Sh バグ 生成されるハイパーテキストはとても大きくなります。実行前にディスクの 空き容量をチェックしてください。 .Sh 作者 Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは FreeBSD 2.2.2 で登場しました。 diff --git a/ja/man/man1/ident.1 b/ja/man/man1/ident.1 index 9682ffc852..e8d728b863 100644 --- a/ja/man/man1/ident.1 +++ b/ja/man/man1/ident.1 @@ -1,186 +1,186 @@ .de Id .\" jpman %Id: ident.1,v 1.2 1997/05/08 13:28:03 mitchy Stab % .ds Rv \\$3 .ds Dt \\$4 .ds iD \\$3 \\$4 \\$5 \\$6 \\$7 .. .Id %Id: ident.1,v 1.4 1997/02/22 15:47:27 peter Exp % .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 .if n .ds - \%-- .if t .ds - \(em .TH IDENT 1 \*(Dt GNU .SH 名称 ident \- ファイル内の RCS キーワードを読み出す .SH 書式 .B ident [ .B \-q ] [ .B \-V ] [ .I file \&.\|.\|. ] .SH 解説 .B ident は、指定されたファイルがあればそのファイルから、指定がない場合には標準入力から、 .BI $ keyword : "\ text\ " $ なるパターンを検索します。 .PP これらのパターンは、通常 \*r の .BR co (1) コマンドにより自動的に挿入されますが、 手作業で入れることも可能です。オプション .B \-q を指定すると、ファイル中に キーワードが発見できなくても警告メッセージを出力しません。 .B \-V を指定すると、 .BR ident のバージョン番号を表示します。 .PP .B ident は、テキストファイルと同様にオブジェクトファイルやダンプファイルにも使 用することができます。 たとえば、以下の C 言語プログラム .B f.c で、 .IP .ft 3 #include .br static char const rcsid[] = .br \&"$\&Id: f.c,v \*(iD $\&"; .br int main() { return printf(\&"%s\en\&", rcsid) == EOF; } .ft P .LP .B f.c が .B f.o にコンパイルされているなら、以下のコマンド .IP .B "ident f.c f.o" .LP は、次のような出力を行います。 .nf .IP .ft 3 f.c: $\&Id: f.c,v \*(iD $ f.o: $\&Id: f.c,v \*(iD $ .ft .fi .PP C 言語プログラムで上記のような文字列 .B rcsid が定義され、かつ使われていないとき、 .BR lint (1) が警告を出したり、 C コンパイラによっては最適化により文字列を削除する 場合があります。もっとも、よい解決策は上のプログラム例のように文字列 .B rcsid を使うことです。 .PP .B ident は、 \r* がサポートする .I keyword でなくても、すべての .BI $ keyword : "\ text\ " $ パターンを表示します。 これにより、 .BR $\&XConsortium$ のような非標準の keyword についても情報が得られます。 .SH キーワード つぎに現在、 .BR co (1) -が扱う keyword を挙げます。デフォルトでは、すべての時刻は協定標準時 +が扱う keyword を挙げます。デフォルトでは、すべての時刻は協定世界時 (\*u しばしば \&\s-1GMT\s0と呼ばれます) で表されますが、 チェックアウトのときに、 .BR co の .BI \-z zone オプションを使ったファイルについては、数字によるタイムゾーンが付加され ます。 .TP .B $\&Author$ そのリビジョンをチェックインしたユーザ名です。 .TP .B $\&Date$ そのリビジョンをチェックインした日付と時刻です。 .TP .B $\&Header$ \*r ファイルのフルパス名を含んだ標準のヘッダ、リビジョン番号、 作者、状態、およびロックされている場合にはロックした人です。 .TP .B $\&Id$ \*r ファイルの名前がフルパスでないことを除いて、 .BR $\&Header$ , と同じです。 .TP .B $\&Locker$ そのリビジョンをロックした人のユーザ名 (ロックされていない場合は空白) です。 .TP .B $\&Log$ チェックインのときに書かれたログメッセージです。 .BR ident の目的としては、 .BR $\&RCSfile$ と等価です。 .TP .B $\&Name$ リビジョンをチェックアウトするときに使うシンボル名です(ないかもしれま せん)。 .TP .B $\&RCSfile$ フルパスでない \*r ファイルの名前です。 .TP .B $\&Revision$ そのリビジョンのリビジョン番号です。 .TP .B $\&Source$ \*r ファイルのフルパス名です。 .TP .B $\&State$ .BR rcs (1) or .BR ci (1) の .B \-s オプションで付けられたそのリビジョンの状態です。 .PP .BR co (1) は以下の文字をエスケープシーケンスで表現することにより、 キーワードの文字列の形を保ちます。 .LP .RS .nf .ne 6 .ta \w'newline 'u \f2char escape sequence\fP tab \f3\et\fP newline \f3\en\fP space \f3\e040 $ \e044 \e \e\e\fP .fi .RE .SH 作者 Author: Walter F. Tichy. .br Manual Page Revision: \*(Rv; Release Date: \*(Dt. .br Copyright \(co 1982, 1988, 1989 Walter F. Tichy. .br Copyright \(co 1990, 1992, 1993 Paul Eggert. .SH 関連項目 ci(1), co(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1), rcsfile(5) .br Walter F. Tichy, \*r\*-A System for Version Control, .I "Software\*-Practice & Experience" .BR 15 , 7 (July 1985), 637-654. diff --git a/ja/man/man1/info.1 b/ja/man/man1/info.1 deleted file mode 100644 index 08fa90c618..0000000000 --- a/ja/man/man1/info.1 +++ /dev/null @@ -1,239 +0,0 @@ -.\" %Id: info.1,v 1.3 1996/10/05 22:26:26 wosch Exp % -.\" jpman %Id: info.1,v 1.4 1997/08/20 20:54:51 horikawa Stab % -.\" -.TH info 1 "7th December 1990" -.SH 名称 -info \- GNU のハイパーテキストシステム -.SH 書式 -.B info -[ -.B \-\-option-name option-value -] -.B \menu-item... -.SH COPYRIGHT -.if n Copyright (C) 1989, 1993 Free Software Foundation, Inc. -.if t Copyright \(co 1989, 1993 Free Software Foundation, Inc. -.SH 解説 -.LP -GNU プロジェクトには -.I Info -と呼ばれるハイパーテキストシステムがあります。 -.I Info -では、同一のソースファイルを元にして紙のマニュアルを印刷出力することと、 -.B info -コマンドを用いて眺めることができます。 -Emacs 中で -.B info -プログラムを用いることもできますが、 -ここで述べるスタンドアロン版を用いることもできます。 -このマニュアルページでは、スタンドアロン版の機能を簡単にまとめて示します。 - -.SH オプション -.TP -.B \-\-directory directory-path -.B info -がファイルをオープンする際に検索するディレクトリパスのリストに -.B directory-path -を加えます。 -.B \-\-directory -を複数回指定することもできます。 -このほか、環境変数 -.B INFOPATH -に値を設定することもできます。 -.B \-\-directory -が指定されなければ、環境変数 -.B INFOPATH -の値が用いられます。 -.B INFOPATH -の値は、ディレクトリ名をコロンで区切ったリストです。 -.B INFOPATH -と -.B \-\-directory-path -の両方とも指定しなければ、 -.B info -はデフォルトのパスを用います。 -.TP -.B \-f filename -オープンする特定の -.B info -ファイルを指定します。デフォルトでは -.B info -はファイル -.B dir -をオープンします。 -このオプションを用いると、 -.B info -は -.B (FILENAME)Top -を最初のファイルおよびノードとして起動します。 -.TP -.B \-n nodename -.B info -がロードする初期ファイルの中で、最初に visit するノードを指定します。 -特に、 -.B \-\-file -オプションと組み合わせて用いる際に有用です。 -.B \-\-node -を複数回指定することもできます。 -.TP -.B -o file -対話的な -.B info -セッションを開始する代わりに、 -出力を直接 -.B file -に書き出します。 -.TP -.B \-h -.B info -の利用可能オプションについて、かなり簡潔な説明を表示します。 -.TP -.B \-\-version -.B info -のバージョン情報を出力して終了します。 -.TP -.B menu-item -.B info -は残りの引数をメニュー項目名として扱います。 -最初の引数は visit する初期ノード中のメニュー項目で、 -第 2 の引数は第 1 引数のノード中のメニュー項目です。 -目的ノードへのパスを表すメニュー名を指定することで、 -そのノードに簡単に移動できます。 -例えば - -.B info emacs buffers - -とすると、まずノード -.B (dir)Top -におけるメニュー項目 -.B emacs -を選択し、次にそのノード -.B (emacs)Top -中のメニュー項目 -.B buffers -を選択します。 -.SH コマンド -.B info -中では以下のコマンドが利用可能です: -.TP -.B h -Info チュートリアルを起動します。 -.TP -.B ? -.B info -コマンドの簡単なまとめを表示します。 -.TP -.B h -メインディレクトリから -.B info -ノードを選びます。 -これは、単に -.B ? -を用いるよりはるかに完全です。 -.TP -.B Ctrl-g -操作中の処理を中断します。 -.TP -.B Ctrl-l -画面を再描画します。 -.PP -他のノードの選択: -.TP -.B n -現ノードの「次」ノードへ移動します。 -.TP -.B p -現ノードの「前」ノードへ移動します。 -.TP -.B u -現ノードの「上位」ノードへ移動します。 -.TP -.B m -メニュー項目を名前で指定して選びます。 -これによりもう一つのノードを選択できます。 -ノード名を完全にタイプする必要はありません。 -何文字かタイプしたところでスペースあるいはタブを打つと、 -.B info -は残りのノード名を補充しようとします。 -これ以上文字をタイプせずに補完を求めると、 -可能性のある項目のリストが表示されます。 -リストは -.B ? -によっても得られます。 -何文字かタイプしたところでリターンを打つと、 -.B info -は補完を試み、 -もし曖昧であれば最初の候補を採用します。 -.TP -.B f -参照先に移動します。参照名を尋ねられますが、 -.B m -と同様のコマンド補完を使えます。 -.TP -.B l -直前にいたノードに移動します。 -.PP -ノード内での移動: -.TP -.B Space -次のページへスクロールします。 -.TP -.B DEL -前のページへスクロールします。 -.TP -.B b -このノードの先頭へ移動します。 -.PP -高度なコマンド: -.TP -.B q -.B info -を終了します。 -.TP -.B 1 -ノードメニューの第 1 項目を選択します。 -.TP -.B 2 \-\- 5 -ノードメニューの第 2 〜 第 5 項目を選択します。 -.TP -.B g -名前で指定してノードへ移動します。 -.B (FILENAME)NODENAME -のようにファイル名を含めることもできます。 -.TP -.B s -この -.B info -ファイル中から指定した文字列を検索し、 -次に見つかったノードを選択します。 -.TP -.B M-x print-node -現在のノードの内容を環境変数 -.B INFO_PRINT_COMMAND -で指定されたコマンドにパイプします。 -この環境変数が存在しない場合、ノードの内容は単に -.B lpr -にパイプされます。 -.SH 環境変数 -.TP -.B INFOPATH -.B info -ファイルを検索するディレクトリをコロンで区切って並べたリスト。 -.B \-\-directory -が指定されない場合に用いられます。 -.TP -.B INFO_PRINT_COMMAND -印刷時に用いられるコマンド。 -.SH 関連項目 -.BR man (1) -.\" .BR emacs (1) -.SH 作者 -.RS -Brian Fox, Free Software Foundation -.br -bfox@ai.mit.edu -.SH マニュアル著者 -.RS -Robert Lupton; Robert J. Chassell が更新。 -.br -rhl@astro.princeton.edu; bob@gnu.ai.mit.edu diff --git a/ja/man/man1/login.1 b/ja/man/man1/login.1 index 9ac427d153..b1cfb43adf 100644 --- a/ja/man/man1/login.1 +++ b/ja/man/man1/login.1 @@ -1,192 +1,192 @@ .\" %NetBSD: login.1,v 1.5 1994/12/23 06:53:00 jtc Exp % .\" .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)login.1 8.2 (Berkeley) 5/5/94 -.\" %Id: login.1,v 1.12 1998/12/01 17:05:08 dillon Exp % +.\" %Id: login.1,v 1.13 1999/01/11 09:07:42 asami Exp % .\" jpman %Id: login.1,v 1.3 1997/05/19 16:39:53 horikawa Stab % .\" .Dd May 5, 1994 .Dt LOGIN 1 .Os BSD 4 .Sh 名称 .Nm login .Nd 指定したユーザでログインする .Sh 書式 .Nm .Op Fl fp .Op Fl h Ar hostname .Op Ar user .Sh 解説 .Nm は、指定したユーザでログインするものです。 .Pp user を指定しなかった場合、もしくは指定した user でのログインに失敗した ときには、 .Nm は、再度ユーザ名の入力を求めるプロンプトを表示します。 ユーザの確認は入力されたパスワードにより行われます。 .Pp オプションとしては以下のものがあります: .Bl -tag -width Ds .It Fl f パスワードによるユーザの確認を省略します。このオプションは、スーパーユーザ か、すでにログインしているユーザが同じユーザ名で login を実行す るときのみ指定可能です。 .It Fl h コネクションを受信可能なホスト名を指定します。この機能は .Xr telnetd 8 などのデーモンによって使われています。このオプションはスーパーユーザ しか指定することができません。 .It Fl p .Nm は、デフォルトでは実行時の環境 (環境変数など) を引き継ぎ ませんが、このオプションを指定すると、実行時の環境を引き継ぎます。 .El .Pp もし -.Pa /etc/nologin +.Pa /var/run/nologin ファイルが存在した場合、 .Nm はそのファイル内容 を表示してログイン処理をせずに終了します。この機能は .Xr shutdown 8 で使用されており、システムの終了処理実行中にユーザがログインしないよう にしています。 .Pp もし .Pa /etc/login.access ファイルが存在した場合、 .Nm はそのファイルから、ユーザとホストの組が特別に許可されている、もしくは 拒否されているかどうかをチェックします。 .Pp もし .Pa /etc/fbtab ファイルが存在した場合、 .Nm はそのファイルに記述された幾つかのデバイスのプロテクトと所有者を変えます。 .Pp ファイル .Pa /etc/skeykeys が存在する場合、このファイル中にユーザのエントリが存在する時には、 .Nm は S/key パスワード認証を行います。 .Pa /etc/skey.access により、 接続元のホストやネットワークに応じて S/key パスワード使用の義務を制御します。 .Pp 通常、ユーザがログインすると、 .Nm はシステムのコピーライト表示、 ユーザが最後にログインした日付と時間、その日のメッセージなどの 情報を表示します。ただし、ユーザのホームディレクトリに .Dq Pa .hushlogin というファイルが存在した場合は、これらのメッセージを表示 しないようにします (これは .Xr uucp 1 のようなプログラムがユーザとしてログインするためにあります)。 このあと、 .Nm は .Xr wtmp 5 と .Xr utmp 5 ファイルに記録し、ユーザのコマンドインタプリタ (シェル) を起動します。 .Pp なお、環境変数 ( .Xr environ 7 ) HOME, SHELL, PATH, TERM, LOGNAME, USER は .Nm によりセットされます。 他の環境変数はログインクラスケーパビリティデータベースの エントリにより設定されるかも知れません。 ログインクラスはユーザのシステムパスワードレコードに割り当てられています。 ログインクラスは、当該ログインに許された最大および現在の資源制約、 プロセス優先度や他の多くのユーザログイン環境を制御します。 .Pp 標準シェルである .Xr csh 1 と .Xr sh 1 は、 .Nm が実行されてから起動します。 .Sh 関連ファイル .Bl -tag -width /var/mail/userXXX -compact .It Pa /etc/fbtab デバイスのプロテクトの変更 .It Pa /etc/login.access ログインアクセス制御表 .It Pa /etc/login.conf ログインクラスケーパビリティデータベース .It Pa /etc/motd ログイン時に最初に表示するメッセージ -.It Pa /etc/nologin +.It Pa /var/run/nologin ログインを拒否する時に表示するメッセージ .It Pa /etc/skey.access skey パスワード制御表 .It Pa /etc/skeykeys skey パスワードデータベース .It Pa /var/run/utmp 現在のログイン状況 .It Pa /var/log/lastlog 最後にログインした記録 last login account records .It Pa /var/log/wtmp ログイン・ログアウト状況 .It Pa /var/mail/user ユーザーごとのメイルボックス .It Pa \&.hushlogin ログインメッセージを抑止するファイル .It Pa /etc/auth.conf 認証サービスの設定 .El .Sh 関連項目 .Xr chpass 1 , .Xr passwd 1 , .Xr rlogin 1 , .Xr skey 1 , .Xr getpass 3 , .Xr fbtab 5 , .Xr login.access 5 , .Xr login.conf 5 , .Xr skey.access 5 , .Xr utmp 5 , .Xr environ 7 , .Xr nologin 8 , .Xr pam 8 .Sh 歴史 .Nm login ユーティリティは .At v6 から登場しました。 diff --git a/ja/man/man1/mailq.1 b/ja/man/man1/mailq.1 index cbcc3c8050..8bd2b43f2e 100644 --- a/ja/man/man1/mailq.1 +++ b/ja/man/man1/mailq.1 @@ -1,67 +1,67 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)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 は、後で配送するためにキューに蓄えたメールを一覧表示します。 .Pp 各メッセージの 1 行目は、ホストがメッセージにつける内部の識別子、 メッセージのバイト数、キューに入れられた日付と時間、 メッセージの送り手を表示します。 2 行目は、このメールがキューに入れられる原因となったエラーを表示します。 このメッセージは、 キューのなかでメールが最初に処理されているときには表示されません。 そのあとの行には、メールの受け手が 1 行に 1 人ずつ表示されます。 .Pp 次のオプションを使用可能です: .Bl -tag -width flag .It Fl v 詳細な情報を表示します。 通常の表示に加え、メッセージの優先度と、 警告メッセージを送ったか否かを示す 1 文字の記号 (``+'' か空白) を最初の行に追加します。 さらに、メールの受け手の ``制御ユーザ (controlling user)'' 情報を表示します; これは、このメールによって実行されるプログラムの所有者および、 存在するのであれば、このコマンドが展開される元のエイリアス名です。 .El .Pp .Nm mailq は成功した場合は0を、エラーが起きた場合は0より大きな 値を返します。 .Sh 注釈 .Nm は .Dq Li "sendmail -bp" と等価です。 .Xr sendmail 8 に適用可能なオプションのほとんどは、 .Nm にも適用可能です。 .Sh 関連項目 .Xr sendmail 8 .Pp .Sh 歴史 .Nm mailq は .Bx 4.0 から登場しました。 diff --git a/ja/man/man1/newaliases.1 b/ja/man/man1/newaliases.1 index b173312037..0b4500a7e5 100644 --- a/ja/man/man1/newaliases.1 +++ b/ja/man/man1/newaliases.1 @@ -1,53 +1,53 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)newaliases.1 8.10 (Berkeley) 5/19/1998 .\" 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 は、 .Pa /etc/aliases ファイルに記述されているメール エイリアスのデータベースを再構築します。 .Pa /etc/aliases の内容を変更したときには、その内容を反映させるために、 このコマンドを実行しなければなりません。 .Pp .Nm newaliases は、 .Dq Li sendmail \-bi とまったく同じです。 .Sh 戻り値 .Nm newaliases は、成功すると 0 を、エラーが起きた場合は 0 より大きな値を 返します。 .Sh 関連ファイル .Bl -tag -width /etc/aliases -compact .It Pa /etc/aliases メールエイリアスファイル .El .Sh 関連項目 .Xr aliases 5 , .Xr sendmail 8 .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja/man/man1/pkg_add.1 b/ja/man/man1/pkg_add.1 index feedd78209..e45a2df694 100644 --- a/ja/man/man1/pkg_add.1 +++ b/ja/man/man1/pkg_add.1 @@ -1,457 +1,472 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" 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. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_add.1 -.\" %Id: pkg_add.1,v 1.27 1998/12/16 13:59:29 jkh Exp % +.\" %Id: pkg_add.1,v 1.29 1999/01/17 15:08:09 jseger Exp % .\" jpman %Id: pkg_add.1,v 1.3 1997/06/09 04:19:05 jsakai Stab % .\" .Dd November 25, 1994 .Dt pkg_add 1 .Os FreeBSD .Sh 名称 .Nm pkg_add .Nd ソフトウェア配布パッケージをインストールするプログラム .Sh 書式 .Nm -.Op Fl vInfRMS +.Op Fl vInfrRMS .Op Fl t Ar template .Op Fl p Ar prefix .Ar pkg-name [pkg-name ...] .Sh 解説 .Nm コマンドは、 .Xr pkg_create 1 コマンドにより作成されたパッケージを展開するのに用いられます。 .Sh 警告 .Bf -emphasis .Nm コマンドはパッケージファイルに含まれるスクリプトやプログラムを 実行することがあるので、あなたのシステムは、危険な配布ファイルを 作る極悪人からの「トロイの木馬」や他の巧妙な攻撃などを受ける 可能性があります。 .Pp パッケージファイルを提供する人物の能力と身元を確認するとよいでしょう。 より進んだ安全のためには、パッケージを展開するのに .Fl M フラグを用い、その内容と、スクリプトがシステムに害をおよぼさないかを 確認します。 +INSTALL, +POST-INSTALL, +DEINSTALL, +REQUIRE, +POST-INSTALL, +REQUIRE, +MTREE_DIRS の各ファイルには 特に注意を払い、+CONTENTS ファイルの .Cm @cwd , .Cm @mode (setuid をチェック), .Cm @dirrm , .Cm @exec , .Cm @unexec ディレクティブを調べてください。 パッケージファイルを調べるのには .Xr pkg_info 1 コマンドも使えます。 .Ef .Sh オプション 以下のコマンドラインオプションが提供されています: .Bl -tag -width indent .It Ar pkg-name [... pkg-name] 指定されたパッケージがインストールされます。 - という名前が指定されると、 .Nm は stdin から読み込みます。 パッケージがカレントディレクトリに見つからないと、 .Nm は .Ev PKG_PATH で指定された各ディレクトリを探します。 .It Fl v 饒舌な出力に切り替えます。 .It Fl I パッケージにインストール用スクリプト (pre-install または post-install) が存在しても、それを実行しません。 .It Fl n 実際にはインストールを行わず、インストールした場合に実行されるであろう ステップを表示します。 .It Fl R パッケージのインストール結果を記録しません。 このオプションは、後でアンインストールすることを不可能にするため、 自分が何をしているかを理解している人のみ使ってください。 +.It Fl r +リモートフェッチ機能を使用します。 +適切なオブジェクト書式とリリースを決定してから、 +パッケージを取得してインストールします。 .It Fl f あらかじめ必要なパッケージがインストールされていなかったり、 requirements スクリプトが失敗した場合にも強制的にインストールします。 これは .Nm が見つからない必要なパッケージを探して自動的にインストールすることを 止めるわけではなく、見つからない場合でも中断しないようにします。 .It Fl p Ar prefix パッケージからファイルを展開するディレクトリの前に .Ar prefix を付けます。 パッケージがデフォルトディレクトリを保持している場合には、 このオプションで変更できます。 .Nm はディレクトリ設定が相対的に行われているか、絶対的に行われているか を知る術がないので、最初の .Cm @cwd ディレクティブのみが変更されることに注意してください。 複数回のディレクトリ変更が行われることはまれですが、 実際にあった場合、すべてのディレクトリ変更を制御したくなる でしょう。この場合、 .Cm MASTER モード、 .Cm SLAVE モードの使用を検討してみてください (オプション .Fl M と .Fl S を参照)。 .It Fl t Ar template ``作業領域'' を作成する際に、 .Xr mktemp 3 への入力として .Ar template を用います。 これはデフォルトでは .Pa /var/tmp/instmp.XXXXXX という文字列ですが、 .Pa /var/tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 .Xr mktemp 3 が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。 .Pp 作業領域 .Ar template をパッケージファイルがインストールされるディレクトリと同じディスク パーティションに設定することによって、パフォーマンスを高めることが 可能です (大抵は .Pa /usr )。 .It Fl M .Cm MASTER モードで実行します。これは .Nm のとても特殊な実行モードであり、 .Cm SLAVE モードと共に実行しなければなりません。 このモードで実行されると、 .Nm は一時的な作業領域 ( .Fl t オプションを参照) へパッケージを展開する以上のことはせず、 現在の作業領域ディレクトリ名を頭に付加した packing list を標準出力に 出力します(標準出力は .Xr sed 1 のようなプログラムにフィルタされているかもしれません)。 .Cm SLAVE モードと共に用いると、中身を処理する前にパッケージ構造に 大きな変更を加えることが可能になります。 .It Fl S .Cm SLAVE モードで実行します。これは .Nm のとても特殊な実行モードであり、 .Cm MASTER モードと共に実行しなければなりません。 このモードで実行されると、 .Nm はパッケージの内容がすでに作業領域に展開され、その場所が 標準入力から文字列として入力されることを想定します。 完全な packing list も stdin から読み込まれ、その後中身が 通常どおり処理されます。 .El .Pp 一つ以上の .Ar pkg-name 引数を指定することが可能で、それらはパッケージを含むファイル名(通常 拡張子 ``.tgz'' で終わります)か、ftp サイトにあるファイルを 示す URL のどちらかになります。 したがって、anonymous ftp から直接ファイルを展開することが 可能です (例えば .Nm ftp://ftp.freebsd.org/pub/FreeBSD/packages/shells/bash-1.14.4.tgz )。 注意: もし上記のような転送で用いる ftp で .Bf -emphasis passive mode .Ef を利用したいなら、環境変数 .Bf -emphasis FTP_PASSIVE_MODE .Ef に何らかの値を設定する必要があります。 そうでなければ、より一般的な ACTIVE モードが利用されます。 もしうまく動作していることがわかっているサイトからパッケージを 得ようとして .Nm が常に失敗する場合、あなたが .Bf -emphasis passive mode .Ef の ftp を使う必要のあるファイアウォールの中にいるのが原因である場合が あります。 .Sh 技術詳細 .Nm はきわめて単純です。各パッケージの "packing list" を 特別な作業ディレクトリに展開し、 中身を解析し、内容を完全に展開するために 以下の手順を実行します: .Bl -enum -indent indent .It パッケージがすでにインストールされている、と記録されているかどうかを チェックします。もしそうならインストールを中断します。 .It .Cm @pkgdep ディレクティブ ( .Xr pkg_create 1 を参照) による パッケージのすべての依存関係をチェックし、各々が存在するかどうかを 確認します。もし存在しなければ、足りないパッケージを見つけて自動的に インストールしようとします。もし見つからなければ、 インストールを中断します。 .It パッケージがどのようにシステムに追加されるかを制御する .Cm @option ディレクティブを検索します。このマニュアルページを書いている時点では、 実装されているオプションは .Cm @option extract-in-place のみであり、これは .Pa /tmp 内の作業領域を経由しないで、 パッケージを最終的なディレクトリに直接展開するようにします。 .It .Cm @option extract-in-place が指定されていれば、パッケージは最終的な場所に直接展開され、 そうでなければ作業領域内に展開されます。 .It パッケージが .Ar require ファイル ( .Xr pkg_create 1 を参照) を含んでいる場合、そのファイルを以下の引数を付けて実行します: .Bd -filled -offset indent -compact .Ar pkg-name .Ar INSTALL .Ed ここで .Ar pkg-name は問題としているパッケージの名前であり、 .Ar INSTALL キーワードはインストールの requirements チェックであることを 示しています (これは複数の機能を提供するひとつのスクリプトを 用いようとする場合に有用です)。 .It パッケージに .Ar pre-install スクリプトが存在する場合、以下の引数を付けて実行されます: .Bd -filled -offset indent -compact .Cm script .Ar pkg-name .Ar PRE-INSTALL .Ed ここで .Ar pkg-name は対象のパッケージ名であり、 .Ar PRE-INSTALL はこれがインストール前のフェーズであることを示すキーワードです。 .Cm 注釈: ( .Cm Fl i および .Cm Fl I のフラグを .Xr pkg_create 1 に使用することにより) パッケージ作成時に pre-install と post-install のスクリプトが別々に与えられる場合には、 .Ar PRE-INSTALL キーワードは登場しません。 .It .Cm @option extract-in-place が指定されていない場合、packing list ( .Pa +CONTENTS ファイル) が作業領域から最終的な場所に ファイルを移動 (必要ならコピー) するために参照されます。 .It パッケージが .Ar mtreefile ファイル ( .Xr pkg_create 1 を参照) を含む場合、mtree が以下の引数を付けて実行されます: .Bd -filled -offset indent -compact .Cm mtree .Fl u .Fl f .Ar mtreefile .Fl d .Fl e .Fl p .Pa prefix .Ed ここで .Pa prefix は .Fl p フラグが指定されていればその prefix、 .Fl p フラグが指定されていない場合にはこのパッケージの最初の .Cm @cwd ディレクティブのディレクトリ名が prefix になります。 .It パッケージに .Ar post-install スクリプトが含まれる場合、 .Bd -filled -offset indent -compact .Cm script .Ar pkg-name .Ar POST-INSTALL .Ed として実行されます。 ここで .Ar pkg-name は対象のパッケージ名であり、 .Ar POST-INSTALL はこれがインストール後のフェーズであることを示すキーワードです。 .Cm 注釈: ( .Cm Fl i および .Cm Fl I のフラグを .Xr pkg_create 1 に使用することにより) パッケージ作成時に pre-install と post-install のスクリプトが別々に与えられる場合には、 .Ar POST-INSTALL キーワードは登場しません。 .Ar POST-INSTALL および .Ar PRE-INSTALL のキーワードを渡す背景には、 インストールの前とインストール後の 両方の手続きをこなす一つの .Ar install スクリプトを用いることを可能にすることがあります。 しかしながら、メンテナンスの観点からは、機能を分離する方が有利かつ容易です。 .It インストールが終了すると、後で .Xr pkg_delete 1 で使うために packing list 、 .Ar deinstall スクリプト、 description 、 display の各ファイルが .Pa /var/db/pkg/ にコピーされます。 パッケージの依存関係は、他のパッケージの .Pa /var/db/pkg//+REQUIRED_BY ファイル (PKG_DBDIR 環境変数が設定してある場合、上記の .Pa /var/db/pkg/ が置き換えられます) に記録されます。 .It 最後に、作業領域が削除されプログラムは終了します。 .El .Pp すべてのスクリプトは環境変数 .Ev PKG_PREFIX にインストール時の prefix ( 前述の .Fl p オプションを参照) が設定された状態で実行されます。 このことにより、パッケージの作者は .Cm pkg_add の .Fl p フラグによりパッケージがインストールされるディレクトリが 変更されても、きちんとふるまうスクリプトを書くことが可能になります。 .Sh 環境変数 .Ev PKG_PATH の値は、指定されたパッケージが見つからない時に用いられます。 環境変数はコロンで区切られた一連のエントリです。 各エントリはディレクトリ名からなります。 カレントディレクトリは空欄のディレクトリ名で暗黙のうちに指定されるか、 一つのピリオドで明示的に指定します。 .Pp 環境変数 .Ev PKG_DBDIR は、インストールされたパッケージについてのデータベースの位置を指定します。 .Pp .Nm が作業領域の生成を試みる作業用ディレクトリの名前は、環境変数 .Ev PKG_TMPDIR と .Ev TMPDIR とから(この順で)取られます。 これらの変数が存在しないか、指定されたディレクトリに十分な空き容量が ない場合、 .Nm は、 .Pa /var/tmp , .Pa /tmp , .Pa /usr/tmp のうちで、十分な空き容量を持つ最初のディレクトリを使います。 -.Sh ファイル +.Pp +環境変数 +.Ev PACKAGESITE +は、 +.Nm +が取得を行う代替位置を指定します。 +この変数を使用すると、 +.Fl r +オプション使用時に +.Nm +が自動的にディレクトリを決定する論理が破壊されます。 +.Sh 関連ファイル .Bl -tag -width /var/db/pkg -compact .It Pa /var/tmp 環境変数 .Ev PKG_TMPDIR と .Ev TMPDIR のどちらも適切なディレクトリを指定しない場合に、作業領域を作成するため に用いる作業用ディレクトリ。 .It Pa /tmp .Pa /var/tmp が存在しないか、十分な空き容量を持たない場合、その次に選ばれる ディレクトリ。 .It Pa /usr/tmp .Pa /var/tmp と .Pa /tmp のどちらも作業領域を作成するには適切でない場合、最後に選ばれる ディレクトリ。 .It Pa /var/db/pkg インストールされたパッケージについてのデータベースのデフォルトの位置。 .El .Sh 関連項目 .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr mktemp 3 , .Xr sysconf 3 , .Xr mtree 8 .Sh 作者 .An Jordan Hubbard 最初の仕事およびそれに続く開発。 .An John Kohl NetBSD 向け改良。 .El .Sh バグ 配布物のファイル間のハードリンクは、 (1) 作業領域が、ファイルへのすべてのリンクの最終的な ディレクトリと同じファイルシステムの場合もしくは、 (2) ファイルへのすべてのリンクが contents ファイル内で .Cm @cwd ディレクティブで括られている場合にのみ保存されます。 .Em さらに その上、リンク名は単一の .Cm tar コマンド ( .Fn sysconf _SC_ARG_MAX により返される値に依存する実行時の引数の長さの制限により、複数の 実行には分割できません) で展開されなければなりません。 .Pp バグは他にもあるはずです。 diff --git a/ja/man/man1/rlog.1 b/ja/man/man1/rlog.1 index 12d2202a3b..82aa955bb9 100644 --- a/ja/man/man1/rlog.1 +++ b/ja/man/man1/rlog.1 @@ -1,309 +1,309 @@ .de Id .\" jpman %Id: rlog.1,v 1.2 1997/06/03 11:46:09 bobson Stab % .ds Rv \\$3 .ds Dt \\$4 .. .Id %Id: rlog.1,v 1.7 1997/02/22 15:48:10 peter Exp % .ds i \&\s-1ISO\s0 .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 .if n .ds - \%-- .if t .ds - \(em .TH RLOG 1 \*(Dt GNU .SH 名称 rlog \- RCS ファイルのログメッセージや、その他の関連情報を表示する .SH 書式 .B rlog .RI [ " options " ] " file " .\|.\|. .SH 解説 .B rlog は \*r ファイルに関する情報を表示します。 .PP \*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、 その他のファイル名はワークファイルであるとみなします。 .BR ci (1)で説明しているように、ファイル名は RCS ファイルと ワークファイルのペアになっています。 .PP .B rlog は、各 \*r ファイルの以下の情報を表示します: \*r ファイルのパス名、 ワークファイルのパス名、ヘッド(幹で最新のリビジョン)、デフォルト枝、 アクセスリスト、ロック状況、シンボル名、拡張子、総リビジョン数、 指定されたリビジョンの数、内容記述。以上の情報に加え、新しいものから順に 選択されたリビジョンのリストが表示されます。各リビジョンに関して、 .B rlog は、 リビジョン番号、作者、日時、状態、(直前のリビジョンから)追加/削除された行数、 ロック者、ログメッセージを表示します。 -デフォルトでは、表示されるすべての時刻は Coordinated Universal Time (\*u) +デフォルトでは、表示されるすべての時刻は協定世界時 (\*u) です ; これは .BR \-z オプションで書き換え可能です。 オプションを指定しない場合、 .B rlog は以上のすべての情報を表示します。 以下のオプションにより表示する内容を限定することができます。 .nr n \w'\f3\-V\fP\f2n\fP'+2n-1/1n .ds n \nn .if \n(.g .if r an-tag-sep .ds n \w'\f3\-V\fP\f2n\fP'u+\n[an-tag-sep]u .TP \*n .B \-L ロックされていない \*r ファイルを無視します。 .B \-h 、 .B \-l 、 .B \-R オプションと組み合わせると便利です。 .TP .B \-R \*r ファイル名のみを表示します。ワークファイルのパス名を \*r ファイル 名に変換するのに便利です。 .TP .BI \-v "[string]" ワーキングファイルの名前とデフォルト枝(の枝)の先端リビジョンだけを表示します。 .I [string] で指定した文字列は出力行の先頭に出力されます。 .TP .B \-h \*r ファイルのパス名、ワークファイルのパス名、ヘッド、デフォルト枝、ア クセスリスト、ロック者、シンボル名、拡張子を表示します。 .TP .B \-t .BR \-h の情報に追加して内容記述を表示します。 .TP .B \-N シンボル名を表示しません。 .TP .B \-b デフォルト枝に関する情報を表示します。通常は、幹の最も大きな番号を持つ枝 です。 .TP .BI \-d "dates" セミコロンで区切られた、登録日時の範囲にあるリビジョンに関する情報を 表示します。 .IB d1 < d2 または .IB d2 > d1 なる形式の範囲は、日時 .I d1 から日時 .I d2 までの間 (d1とd2は除く) に登録されたリビジョンを指定します。 .BI < d または .IB d > なる形式の範囲は、日時 .IR d より前に登録されたすべてのリビジョンを指定します。 .IB d < または .BI > d なる形式の範囲は日時 .IR d より後を指定します。 もし .B < または .B > に .B = が続いていれば、範囲は両端を含むようになります。 .I d なる形式の範囲は日時 .I d 以前の最新のリビジョンを指定します。 .I d 、 .I d1 、 .I d2 は .BR co (1) に記述されている自由形式の日時です。 通常 .B < や .B > を使う場合にはクォートが必要です。要素の区切りがセミコロンであることに 注意してください。 .TP .BR \-l [\f2lockers\fP] ロックされているリビジョンに関する情報のみを表示します。コンマで区切られた ユーザ名のリスト .I lockers が指定された場合は、指定されたユーザがロックしたリビジョンに関する情報のみを 表示します。例えば、 .BI "rlog\ \-L\ \-R\ \-l" wft "\ RCS/*" はユーザ .I wft がロックしている \*r ファイル名を表示します。 .TP .BR \-r [\f2revisions\fP] コンマで区切られたリビジョンのリスト .I revisions で指定されたリビジョンに関する情報のみを表示します。 .IB rev1 : rev2 の形式の範囲指定は、同一枝上の .I rev1 から .I rev2 までを、 .BI : rev は枝上の最初のリビジョンからリビジョン .I rev までを、 .IB rev : はリビジョン .I rev から枝上の最後のリビジョンまでを示します。引数に枝番号を指定した場合は、 その枝上のすべてのリビジョンに関する情報が表示されます。 枝番号による範囲指定は、範囲内の枝上のすべてのリビジョンを示します。 .I revisions が省略された場合は、デフォルト枝(通常は幹)上の最新リビジョンの情報のみを 表示します。 .TP .BI \-s states 状態が .I states であるリビジョンの情報のみを表示します。 .I states はコンマで区切った状態名のリストです。 .TP .BR \-w [\f2logins\fP] .I logins で指定したユーザが登録したリビジョンに関する情報のみを表示します。 .I logins はコンマで区切ったユーザ名のリストです。 .I logins が省略された場合は、 .B rlog を起動したユーザ名が用いられます。 .TP .B \-T このオプションの効果はありません ; ほかの \*r コマンドとの互換性を保つために存在しています。 .TP .BI \-V \*r システムのバージョンを表示します。 .TP .BI \-V n ログの生成時に、\*r システムのバージョン .I n のエミュレーションを行います。詳細は .BR co (1) を参照してください。 .TP .BI \-x "suffixes" \*r ファイル拡張子を指定します。詳しくは .BR ci (1) を参照してください。 .PP .B rlog は指定されたオプション .B \-d 、 .B \-l 、 .B \-s 、 .B \-w のすべてに適合し、かつ .B \-b 、 .B \-r の いずれかに適合したリビジョンに関する情報のみを表示します。 .TP .BI \-z zone 日時の出力形式を指定し、 .BI \-d dates オプションの .I date に対するデフォルトのタイムゾーンを指定します。 .I zone には何も指定しないか、数字の \*u を指定するか、ローカルタイムのための 特別な文字列 .B LT を指定します。 デフォルトは何も指定しない空の .IR zone で、伝統的な \*u の \*r 形式ですが、タイムゾーンを示す表示はなく、 日付の部分を分割するのにスラッシュを用います ; 他では、\*i 形式でタイムゾーンの表示と一緒に時間を出力します。 例えば、ローカルタイムが 太平洋標準時の 1990 年 1 月 11 日、午後 8 時で、 \*u から 8 時間、西である(遅れている)場合、時間の出力は以下のようになります : .RS .LP .RS .nf .ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u .ne 4 \f2option\fP \f2time output\fP \f3\-z\fP \f31990/01/12 04:00:00\fP \f2(default)\fP \f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP \f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP .ta 4n +4n +4n +4n .fi .RE .SH 使用例 .LP .nf .B " rlog \-L \-R RCS/*" .LP ロックされたすべての \*r ファイル名を出力します。 .LP .B " rlog \-L \-h RCS/*" .LP ロックされたすべての \*r ファイルのヘッダを出力します。 .LP .B " rlog \-L \-l RCS/*" .LP ロックされたすべての \*r ファイルのヘッダとログメッセージを出力します。 .LP .B " rlog RCS/*" .LP すべての \*r ファイルに関するすべての情報を出力します。 .fi .LP .SH 環境変数 .TP .B \s-1RCSINIT\s0 コマンドライン引数に先立って指定すべきオプションを指定します。オプションは 空白で区切って指定します。詳しくは .BR ci (1) を参照してください。 .SH 診断 すべての動作が成功した場合に終了ステータス 0 を返します。 .SH 作者 Author: Walter F. Tichy. .br Manual Page Revision: \*(Rv; Release Date: \*(Dt. .br Copyright \(co 1982, 1988, 1989 Walter F. Tichy. .br Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert. .SH 関連項目 ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rcsfile(5) .br Walter F. Tichy, \*r\*-A System for Version Control, .I "Software\*-Practice & Experience" .BR 15 , 7 (July 1985), 637-654. .SH バグ 以前の版の .B rlog では .B \-r オプションにおけるリビジョンの区切りは .B \- でした。 しかし、これはシンボリック名が .B \- を含んでいるときに混乱を生じます。 従来の版との互換性のため、 .B \- を用いた記法もサポートしますが、この記法を用いた場合は 警告メッセージを表示します。 .br diff --git a/ja/man/man5/aliases.5 b/ja/man/man5/aliases.5 index 2f3e336bc3..307112aeb9 100644 --- a/ja/man/man5/aliases.5 +++ b/ja/man/man5/aliases.5 @@ -1,85 +1,85 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)aliases.5 8.8 (Berkeley) 5/19/1998 .\" jpman %Id: aliases.5,v 1.3 1998/05/28 15:47:09 kuma Stab % .\" .\" 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 解説 このファイルには、 .Pa /usr/sbin/sendmail が使用する、ユーザ .Tn ID の別名を記述します。 このファイルは .Pa /etc に置かれる、下記の形式の一連の行です。 .Bd -filled -offset indent name: name_1, name_2, name_3, . . . .Ed .Pp .Em name はエイリアスする名前、 .Em name_n はその名前の別名です。 空白ではじまる行は継続行です。 .Ql # ではじまる行はコメントです。 .Pp エイリアスはローカル名でのみ適用されます。 ループは起りえません。 なぜなら、メッセージは同じ人に複数回送られないからです。 .Pp エイリアス適用後、ローカルかつ有効な受信者で .Dq Pa .forward ファイルをホームディレクトリに持つ人のメッセージは、 このファイルに定義された一連のユーザに転送されます。 .Pp これは単なる生のデータファイルです; 実際のエイリアス情報は .Xr newaliases 1 プログラムを使用することにより、バイナリ形式でファイル .Pa /etc/aliases.db に置かれます。aliases ファイルを更新したときには、その内容を反映させるために、 .Xr 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 を NEWDB サポート付きではなく DBM サポート付きでコンパイルした時には、 エイリアス 1 つがおよそ 1000 バイトまでの情報に限るという .Xr dbm 3 の制約が問題となるかもしれません。 このような場合に長いエイリアスを使用するためには ``連鎖'' を使用します; これは別名の最後の名前をダミーの名前にし、 これを引続き別の別名として使用するというものです。 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.0 に登場しました。 diff --git a/ja/man/man5/nologin.5 b/ja/man/man5/nologin.5 index c9ebb0846c..f7b73a0776 100644 --- a/ja/man/man5/nologin.5 +++ b/ja/man/man5/nologin.5 @@ -1,67 +1,67 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)nologin.8 8.1 (Berkeley) 6/19/93 -.\" %Id: nologin.5,v 1.4 1998/07/15 06:37:06 charnier Exp % +.\" %Id: nologin.5,v 1.5 1999/01/12 14:09:23 asami Exp % .\" .\" jpman %Id: nologin.5,v 1.3 1998/06/13 09:47:03 kumano Stab % .\" .Dd June 19, 1993 .Dt NOLOGIN 5 .Os FreeBSD 2.1 .Sh 名称 .Nm nologin .Nd ログインを拒否する .Sh 解説 .Nm は、 -.Pa /etc/nologin +.Pa /var/run/nologin ファイルがあるとログインを拒否します。 このプログラムはユーザに -.Pa /etc/nologin +.Pa /var/run/nologin の内容を表示し、終了します。 .Sh セキュリティ ユーザ root の .Xr login 1 では無視されます。 .Sh 関連ファイル -.Bl -tag -width /etc/nologinxxx -compact -.It Pa /etc/nologin +.Bl -tag -width /var/run/nologinxxx -compact +.It Pa /var/run/nologin .Nm ファイルは -.Pa /etc +.Pa /var/run にあります。 .El .Sh 関連項目 .Xr login 1 , .Xr rlogin 1 , .Xr telnet 1 , .Xr shutdown 8 diff --git a/ja/man/man5/rc.conf.5 b/ja/man/man5/rc.conf.5 index 0a211fba0e..5274906109 100644 --- a/ja/man/man5/rc.conf.5 +++ b/ja/man/man5/rc.conf.5 @@ -1,1018 +1,1024 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: rc.conf.5,v 1.26 1998/12/12 23:26:52 dillon Exp % +.\" %Id: rc.conf.5,v 1.27 1999/01/14 09:13:00 jkh Exp % .\" .\" jpman %Id: rc.conf.5,v 1.3 1998/06/26 09:39:58 jsakai Stab % .\" .Dd April 26, 1997 .Dt RC.CONF 5 .Os FreeBSD 2.2.2 .Sh 名称 .Nm rc.conf .Nd システム設定情報 .Pp .Nm rc.conf.local .Nd ローカルのシステム設定情報 .Sh 解説 .Nm rc.conf ファイルはローカルホスト名、全ての潜在的なネットワークインタフェースに 関する設定の詳細、システムの初期起動時に立ち上げるべき サービスに関する記述可能な情報を含んできます。初めてインストールする際に は、一般に .Nm rc.conf ファイルはシステムインストールユーティリティ .Pa /stand/sysinstall によって初期化されます。 .Pp .Nm rc.conf.local ファイルは rc.conf で設定された変数を変更するために使用します。 典型的には、システム管理者はディストリビューションに含まれる .Nm rc.conf を使用して、ローカルの変更/追加を .Nm rc.conf.local に対して適用します。 .Pp .Nm rc.conf[.local] の目的は、 コマンドの実行やシステム起動操作を直接行うことではありません。 それに代わり、 そこに見出される設定にしたがって内部操作を条件付きで制御する .Pa /etc 下のいろいろな類の起動スクリプトの一部をなしています。 .Pp 以下に示すのは .Nm ファイル中で設定可能な各変数について、 その名前と簡単な解説をリストしたものです。 .Bl -tag -width Ar .It Ar swapfile (文字列) .Ar NO にセットすると スワップファイルはインストールされません。 .Ar NO 以外の場合、その値は追加スワップ領域のために利用するファイルの 完全パス名として用いられます。 .It Ar apm_enable (ブール値) .Ar YES にセットすると .Xr apm 8 コマンドでの自動電源管理(Automatic Power Management)のサポートを有効に します。 .It Ar pccard_enable (ブール値) .Ar YES にセットすると起動時にPCCARDのサポートを有効にします。 .It Ar pccard_mem (文字列) PCCARDコントローラメモリアドレスをセットします。 .Ar DEFAULT とするとデフォルト値になります。 .It Ar pccard_ifconfig (文字列) 挿入または起動時に動的にifconfigされるべきイーサネットデバイス のリストです。 (例 .Ar "ed0 ed1 ep0 ..." ) .It Ar local_startup (文字列) 起動スクリプトファイルを検索するためのディレクトリのリストです。 .It Ar local_periodic (文字列) 定期的に実行するスクリプトを検索するディレクトリのリストです (3.0 のみ)。 .It Ar hostname (文字列) ネットワーク上でのあなたのホストの完全な形のドメイン名 (The Fully Qualified Domain Name) です。あなたがネットワークに接続されていない 場合でも、この変数は確実に何か意味のあるものに設定すべきです。 .It Ar nisdomainname (文字列) あなたのホストの NIS ドメイン名。NIS が動いてないときは .Ar NO とします。 .It Ar firewall_enable (ブール値) 起動時にロードされるファイアウォール規則を持ちたくないときには .Ar NO 、持ちたいときには .Ar YES をセットします。 .Ar YES にセットし、かつカーネルが IPFIREWALL 付きで作られなかった場合、 ipfw カーネルモジュールがロードされます。 .It Ar firewall_type (文字列) .Pa /etc/rc.firewall 中で選択されたファイアウォールのタイプまたはローカルファイアウォール規則 の組を含むファイルを名付けます。 .Pa /etc/rc.firewall 中では以下のものが選択可能です: ``open''- 無制限の IP アクセス; ``closed''- lo0 経由を除く全ての IP サービスを禁止; ``client''- ワークステーション向けの基本的な保護; ``simple''- LAN 向けの基本的な保護。 ファイル名が指定される場合には完全なパス名でなければなりません。 .It Ar firewall_quiet (ブール値) .Ar YES にセットすると起動時にコンソール上で ipfw 規則の表示を行ないません。 .It Ar natd_enable (ブール値) .Ar YES にセットすると natd を有効にします。 .Ar firewall_enable もまた .Ar YES にセットされ、 .Xr divert 4 ソケットがカーネルで有効にされている必要があります。 .It Ar natd_interface natd が実行されるパブリックインタフェースの名前です。 .Ar natd_enable が .Ar YES にセットされている場合には、これを設定する必要があります。 インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 .It Ar natd_flags 追加の natd フラグはここに記述する必要があります。 .Fl n または .Fl a のフラグは上記 .Ar natd_interface とともに自動的に引数として追加されます。 .It Ar tcp_extensions (ブール値) デフォルトでは .Ar YES です。これは RFC 1323 や 1644 で述べられているような ある TCP オプションを有効にします。 もしネットワークコネクションが不規則にハングアップしたり、 それに類する他の不具合がある場合には、これを .Ar NO にセットして様子をみてみるのもよいかもしれません。世間に出回っている ハードウェア/ソフトウェアの中には、これらのオプションでうまく動作しない ものがあることが知られています。 .It Ar network_interfaces (文字列) このホスト上で形成されるネットワークインタフェースのリストを 設定します。 たとえば、ループバックデバイス (標準) および SMC Elite Ultra NIC があるなら .Qq Ar "lo0 ed0" という 2 つのインタフェースを設定します。 .Em interface の各値に対して .No ifconfig_ Ns Em interface という変数が存在すると仮定されます。 1 つのインタフェースに複数の IP アドレスを登録したい場合は、 ここに IP エイリアスのエントリを追加することも可能です。 対象とするインタフェースが ed0 であると仮定すると、 .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" .Ed というようになります。 見つかった各 ifconfig__alias エントリについて、 その内容が .Xr ifconfig 8 に渡されます。最初にアクセスに失敗した時点で実行は中止されるので .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff" ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff" .Ed のようにすると、alias4 は追加され\fB ない\fR ことに注意してください。これは alias3 エントリを抜かしたことで検索が中止されるからです。 .It Ar syslogd_enable (ブール値) .Ar YES にセットすると .Xr syslogd 8 デーモンを起動します。 .It Ar syslogd_flags (文字列) syslogd_enable が .Ar YES の場合、これらは .Xr syslogd 8 に渡すフラグになります。 .It Ar inetd_enable (ブール値) .Ar YES にセットすると .Xr inetd 8 デーモンを起動します。 .It Ar inetd_flags (文字列)inetd_enable が .Ar YES の場合、これらは .Xr inetd 8 へ渡すフラグとなります。 .It Ar named_enable (ブール値) .Ar YES にセットすると .Xr named 8 デーモンを起動します。 .It Ar named_program (文字列) .Xr named 8 のパス。(デフォルトは .Pa /usr/sbin/named ) .It Ar named_flags (文字列) .Ar named_enable が .Ar YES の場合、これらは .Xr named 8 に渡すフラグとなります。 .It Ar kerberos_server_enable (ブール値) ブート時に Kerberos 認証サーバを起動したい場合は .Ar YES にセットします。 .It Ar kadmind_server_enable .Xr kadmind 8 (Kerberos 管理デーモン) を実行したい場合は .Ar YES とします。スレーブサーバ上では .Ar NO にセットします。 .It Ar kerberos_stash (文字列) .Ar YES なら (唯一 .Ar kerberos_server_enable が .Ar YES にセットされ、かつ .Xr kerberos 1 および .Xr kadmind 8 の両方を用いるときにのみ) 隠されたマスタキーのプロンプト入力を行なう代りに、 そのキーを用いるよう Kerberos サーバに指示します。 .It Ar rwhod_enable (ブール値) .Ar YES にセットするとブート時に .Xr rwhod 8 デーモンを起動します。 +.It Ar rwhod_flags +(文字列) +.Ar rwhod_enable +が +.Ar YES +にセットされている場合、これらは rwhod に渡すフラグになります。 .It Ar amd_enable (ブール値) .Ar YES にセットするとブート時に .Xr amd 8 デーモンを起動します。 .It Ar amd_flags (文字列) .Ar amd_enable が .Ar YES にセットされている場合、これらは amd に渡すフラグとなります。 詳しくは\fBinfo amd\fR コマンドを利用してください。 .It Ar update_motd (ブール値) .Ar YES にセットするとブート時に実行されているカーネルリリースを反映するように .Nm /etc/motd を更新します。 .Ar NO にセットすると .Nm は更新を行いません。 .It Ar nfs_client_enable (ブール値) .Ar YES にセットするとブート時に NFS クライアントデーモンを起動します。 .It Ar nfs_client_flags (文字列) .Ar nfs_client_enable が .Ar YES の場合、これらは .Xr nfsiod 8 デーモンに渡すフラグとなります。 .It Ar nfs_access_cache .Ar nfs_client_enable が .Ar YES の場合、この変数に .Ar 0 をセットして NFS ACCESS RPC キャッシングを無効化することができますし、 NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 2-10 秒の値を設定すると、 多くの NFS 操作のネットワークトラフィックを十分減らします。 .It Ar nfs_server_enable (ブール値) .Ar YES にセットするとブート時に NFS サーバデーモンを起動します。 .It Ar nfs_server_flags (文字列) .Ar nfs_server_enable が .Ar YES の場合、これらは .Xr nfsd 8 デーモンに渡すフラグとなります。 .It Ar weak_mountd_authentication (ブール値) .Ar YES にセットすると、権限付けられていないマウント要求を行なうために \fBPCNFSD\fR のようなサービスを許可します。 .It Ar nfs_reserved_port_only (ブール値) .Ar YES にセットすると、安全なポート上でのみ NFS サービスを提供します。 .It Ar rcp_lockd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.lockd 8 を起動します。 .It Ar rcp_statd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.statd 8 を起動します。 .It Ar portmap_enable (ブール値) .Ar YES の場合、ブート時に .Xr portmap 8 サービスを起動します。 .It Ar portmap_flags (文字列) .Ar portmap_enable が .Ar YES の場合、これらは .Xr portmap 8 デーモンに渡すフラグとなります。 .It Ar xtend_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xtend 8 デーモンを起動します。 .It Ar xtend_flags (文字列) .Ar xtend_enable が .Ar YES の場合、これらは .Xr xtend 8 デーモンに渡すフラグとなります。 .It Ar timed_enable (ブール値) .Ar YES なら、ブート時に .Xr timed 8 サービスを実行します。このコマンドは、全ホストについて一貫した .Qq "ネットワーク時間" が確立されなければならないマシンネットワークのためにあります。 これが有用である典型例は、 ファイルのタイムスタンプがネットワークワイドで一貫性をもつことが 期待されるような、大規模 NFS 環境です。 .It Ar timed_flags (文字列) .Ar timed_enable が .Ar YES の場合、これらは .Xr timed 8 サービスに渡すフラグとなります。 .It Ar ntpdate_enable (ブール値) .Ar YES にセットすると、システムスタートアップ時に ntpdate を実行します。 このコマンドは、ある標準的な参照先を元に、ただ .Ar 1 回 だけシステム時刻を同期させるためにあります。 また、システムを最初にインストールする際、 これを (知られているサービスのリストから) 最初にセットアップするオプションが .Pa /stand/sysinstall プログラムによって提供されます。 .It Ar ntpdate_program (文字列) .Xr ntpdate 8 のパス (デフォルトは .Pa /usr/sbin/ntpdate です)。 .It Ar ntpdate_flags (文字列) .Ar ntpdate_enable が .Ar YES の場合、これらは .Xr ntpdate 8 コマンドに渡すフラグとなります (典型的にはホスト名)。 .It Ar xntpd_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xntpd 8 コマンドが起動されます。 .It Ar xntpd_program (文字列) .Xr xntpd 8 のパス (デフォルトは .Pa /usr/sbin/xntpd です)。 .It Ar xntpd_flags (文字列) .Ar xntpd_enable が .Ar YES の場合、これらは .Xr xntpd 8 デーモンに渡すフラグとなります。 .It Ar nis_client_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypbind 8 サービスを起動します。 .It Ar nis_client_flags (文字列) .Ar nis_client_enable が .Ar YES の場合、これらは .Xr ypbind 8 サービスに渡すフラグとなります。 .It Ar nis_ypset_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypset 8 デーモンを起動します。 .It Ar nis_ypset_flags (文字列) .Ar nis_ypset_enable が .Ar YES の場合、これらは .Xr ypset 8 デーモンに渡すフラグとなります。 .It Ar nis_server_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypserv 8 デーモンを起動します。 .It Ar nis_server_flags (文字列) .Ar nis_server_enable が .Ar YES の場合、これらは .Xr ypserv 8 デーモンに渡すフラグとなります。 .It Ar nis_ypxfrd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypxfrd 8 デーモンを起動します。 .It Ar nis_ypxfrd_flags (文字列) .Ar nis_ypxfrd_enable が .Ar YES の場合、これらは .Xr ypxfrd 8 デーモンに渡すフラグとなります。 .It Ar nis_yppasswdd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr yppasswdd 8 デーモンを起動します。 .It Ar nis_yppasswdd_flags (文字列) .Ar nis_yppasswdd_enable が .Ar YES の場合、これらは .Xr yppasswdd 8 デーモンに渡すフラグとなります。 .It Ar defaultrouter (文字列) .Ar NO をセットしないと、このホスト名または IP アドレスへのデフォルトルートを 作成します (このルータがネームサーバへたどりつく必要がある 場合は IPアドレスを使用すること!)。 .It Ar static_routes (文字列) システムブート時に追加したいスタティックルートのリストを セットします。 .Ar NO 以外をセットした場合、その値を空白で区切った各要素について、 各 .Em element 毎に変数 .No route_ Ns em element が存在すると仮定され、その後、``route add'' 操作に渡されます。 .It Ar gateway_enable (ブール値) .Ar YES にセットすると、IP ルータとして動作する、 たとえばインタフェース間でパケットをフォワードするように ホストを設定します。 .It Ar router_enable (ブール値) .Ar YES にセットすると、 .Ar router および .Ar router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Ar router (文字列) .Ar router_enable が .Ar YES にセットされると、これが使用するルーティングデーモン名になります。 .It Ar router_flags (文字列) .Ar router_enable が .Ar YES にセットされると、これらがルーティングデーモンへ渡すフラグとなります。 .It Ar mrouted_enable (ブール値) .Ar YES にセットすると、マルチキャストルーティングデーモン .Xr mrouted 8 を起動します。 .It Ar mrouted_flags (文字列) .Ar mrouted_enable が .Ar YES の場合、これらはマルチキャストルーティングデーモンへ渡すフラグとなります。 .It Ar ipxgateway_enable (ブール値) .Ar YES にセットすると、IPX トラフィックのルーティングを有効にします。 .It Ar ipxrouted_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr ipxrouted 8 デーモンを起動します。 .It Ar ipxrouted_flags (文字列) .Ar ipxrouted_enable が .Ar YES の場合、これらは .Xr ipxrouted 8 デーモンへ渡すフラグとなります。 .It Ar arpproxy_all .Ar YES にセットするとグローバルプロキシ ARP を有効にします。 .It Ar forward_sourceroute これが .Ar YES にセットされ、更に .Ar gateway_enable もまた .Ar YES にセットされている場合、 送信元が経路指定したパケット (source routed packets) はフォワードされます。 .It Ar accept_sourceroute .Ar YES にセットすると、 システムは自分宛の送信元経路指定パケットを受け付けます。 .It Ar rarpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr rarpd 8 デーモンを起動します。 .It Ar rarpd_flags (文字列) .Ar rarpd_enable が .Ar YES の場合、これらは .Xr rarpd 8 デーモンへ渡すフラグとなります。 .It Ar atm_enable (bool) Set to .Ar YES システムブート時に ATM インタフェースの設定を有効にします。 次に説明する ATM 関連の変数に関し、 利用可能なコマンドパラメータの更なる詳細については、 .Xr atm 8 のマニュアルページを参照してください。 更なる詳細な設定情報に関しては、 .Pa /usr/share/examples/atm 中のファイルも参照してください。 .It Ar atm_netif_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 作成すべき ATM ネットワークインタフェースの 名前プレフィックスと数字を指定します。 値はコマンド .Dq atm set netif Va のパラメータとして渡されます。 .It Ar atm_sigmgr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 値はコマンド .Dq atm attach Va のパラメータとして渡されます。 .It Ar atm_prefix_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの NSAP プレフィックスを定義します。 .Em ILMI に設定すると、プレフィックスは自動的に .Xr ilmid 8 デーモンを介して設定されます。 そうでない場合、値はコマンド .Dq atm set prefix Va のパラメータとして渡されます。 .It Ar atm_macaddr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの MAC アドレスを定義します。 .Em NO に設定すると、ATM インタフェースカードに格納されている ハードウェア MAC アドレスが使用されます。 そうでない場合、値はコマンド .Dq atm set mac Va のパラメータとして渡されます。 .It Ar atm_arpserver_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ 利用可能です。 .Em local に設定すると、本ホストが ATMARP サーバになります。 値はコマンド .Dq atm set arpserver Va のパラメータとして渡されます。 .It Ar atm_scsparp_ (bool) .Em YES に設定すると、ネットワークインタフェース .Va に対する SCSP/ATMARP サービスが、 .Xr scspd 8 および .Xr atmarpd 8 を使用して開始されます。 本変数は .So .No atm_arpserver_ Ns Va .No Ns = Ns Qq local .Sc が定義されている場合にのみ利用可能です。 .It Ar atm_pvcs (文字列) システムブート時に追加したい ATM PVC のリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_pvc_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add pvc のパラメータとして渡されます。 .It Ar atm_arps (文字列) システムブート時に追加したい、 永続的な ATM ARP エントリのリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_arp_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add arp のパラメータとして渡されます。 .It Ar keymap (文字列) .Ar NO にセットするとキーマップはインストールされません。それ以外の場合、 ここで指定した .Ar value がキーマップファイル .Pa /usr/share/syscons/keymaps/.kbd をインストールするのに用いられます。 .It Ar keyrate (文字列) キーボードのリピートスピードです。以下のいずれかにセットします。 .Ar slow , .Ar normal , .Ar fast デフォルト値を希望する場合は .Ar NO とします。 .It Ar keychange (文字列) .Ar NO 以外にセットすると、その値でファンクションキーをプログラムしようとします。 指定できる値は単一の文字列で, .Qq Ar " [ ]..." という形式でないといけません。 .It Ar cursor (文字列) カーソルの動作を明示的に指定する場合は .Ar normal , .Ar blink , .Ar destructive のいずれかの値にセットします。デフォルト動作を選ぶには .Ar NO とします。 .It Ar scrnmap (文字列) .Ar NO にセットすると、スクリーンマップはインストールされません。 それ以外の場合には、ここで指定した .Ar value がスクリーンマップファイル .Pa /usr/share/syscons/scrnmaps/ をインストールするのに用いられます。 .It Ar font8x16 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x16 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x14 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x14 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x8 (文字列) .Ar NO にセットすると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar blanktime (整数) .Ar NO にセットすると、デフォルトのスクリーンブランク時間間隔が用いられます。 それ以外の場合は .Ar value 秒にセットされます。 .It Ar saver (文字列) .Ar NO 以外にセットすると、これが実際に使用する スクリーンセーバ (ブランク, 蛇, デーモンなど) となります。 .It Ar moused_enable (文字列) .Ar YES にセットすると、コンソール上でのカット/ペーストセレクション用に .Xr moused 8 デーモンが起動されます。 .It Ar moused_type (文字列) 利用したいマウスのプロトコルのタイプ。 .Ar moused_enable が .Ar YES の場合、この変数は必ず設定しなければなりません。 多くの場合、 .Xr moused 8 デーモンは適切なマウスタイプを自動的に検出することができます。 デーモンにマウスを検出させるには、この変数を .Ar auto にセットします。 自動検出が失敗する場合、以下のリストから 1 つを選びます。 .Bd -literal microsoft Microsoft マウス intellimouse Microsoft IntelliMouse mousesystems Mouse system 社製のマウス mmseries MM シリーズのマウス logitech Logitech 製のマウス busmouse バスマウス mouseman Logitech の MouseMan および TrackMan glidepoint ALPS 製の GlidePoint thinkingmouse Kensignton 製の ThinkingMouse ps/2 PS/2 マウス mmhittab MM の HitTablet x10mouseremote X10 MouseRemote .Ed お使いのマウスが上記のリストにない場合でも、 リスト中のいずれかと互換性があるかも知れません。 互換性に関する情報については .Xr moused 8 のマニュアルページを参照してください。 .Pp また、 この変数が有効であるときは、(Xサーバのような) 他の全てのマウスクライアントは 仮想マウスデバイス .Pa /dev/sysmouse を通してマウスにアクセスし、 それを sysmouse タイプのマウスとして構成すべきであると いうことにも注意すべきです。これは、 .Xr moused 8 使用時は、全てのマウスデータがこの単一の標準フォーマットに変換されるためです。 クライアントプログラムが sysmouse タイプを サポートしないなら次に望ましいタイプとして mousesystems を指定してください。 .It Ar moused_port (文字列) .Ar moused_enable が .Ar YES の場合、これはマウスが接続されている実際のポートになります。 たとえば、COM1 シリアルマウスに対しては .Pa /dev/cuaa0 、PS/2 マウスに対しては .Pa /dev/psm0 、バスマウスに対しては .Pa /dev/mse0 となります。 .It Ar moused_flags (文字列) .Ar moused_type がセットされている場合、これらは .Xr moused 8 デーモンに渡す追加のフラグとなります。 .It Ar cron_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr cron 8 デーモンを起動します。 .It Ar lpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr lpd 8 デーモンを起動します。 .It Ar lpd_flags (文字列) .Ar lpd_enable が .Ar YES の場合、これらは .Xr lpd 8 デーモンに渡すフラグとなります。 .It Ar sendmail_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr sendmail 8 デーモンを起動します。 .It Ar sendmail_flags (文字列) .Ar sendmail_enable が .Ar YES の場合、これらは .Xr sendmail 8 デーモンに渡すフラグとなります。 .It Ar savecore_enable (ブール値) .Ar YES にセットすると、クラッシュ後システムが復旧するとき、デバッグ用にカーネル のクラッシュダンプを保存します。クラッシュイメージは通常 .Pa /var/crash ディレクトリに格納されます。 .It Ar dumpdev (文字列) .Ar NO にセットしないと、カーネルクラッシュダンプ出力先を .Em value で指定したスワップデバイスに向けます。 .It Ar check_quotas (ブール値) .Xr quotacheck 8 コマンドによってユーザディスクのクォータチェックを有効にしたいなら、 .Ar YES にセットします。 .It Ar accounting_enable (ブール値) .Xr accton 8 ファシリティでシステムアカウンティングを有効にしたいなら .Ar YES にセットします。 .It Ar ibcs2_enable (ブール値) システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar linux_enable (ブール値) システムブート時に Linux/ELF バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar rand_irqs (文字列) 乱数生成用に監視する IRQ のリストをセットします ( .Xr rndcontrol 8 のマニュアル参照)。 .It Ar clear_tmp_enable (ブール値) 起動時に .Pa /tmp 下を消去したいなら .Ar YES をセットします。 .It Ar ldconfig_paths (文字列) .Xr ldconfig 8 で使用する共有ライブラリのパスのリストをセットします。注意: .Pa /usr/lib は常に先頭に追加されるので、このリストに指定する必要はありません。 .It Ar kern_securelevel_enable (ブール値) カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 .Ar YES にセットします。 .It Ar kern_securelevel (整数) スタートアップ時にセットされるカーネルセキュリティレベルです。 .Ar 値 として許される範囲は -1 (コンパイル時のデフォルト) から 2 (最も安全) です。 利用可能なセキュリティレベルとシステム操作への影響については、 .Xr init 8 を参照してください。 .Sh 関連項目 .Bl -tag -width /etc/rc.conf -compact .It Pa /etc/rc.conf .El .Pp .Bl -tag -width /etc/rc.conf.local -compact .It Pa /etc/rc.conf.local .El .Sh 関連項目 .Xr gdb 1 , .Xr info 1 , .Xr exports 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , .Xr atm 8 , .Xr cron 8 , .Xr gated 8 , .Xr ifconfig 8 , .Xr inetd 8 , .Xr lpd 8 , .Xr motd 5 , .Xr moused 8 , .Xr mrouted 8 , .Xr named 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr ntpdate 8 , .Xr pcnfsd 8 , .Xr portmap 8 , .Xr quotacheck 8 , .Xr rc 8 , .Xr rndcontrol 8 , .Xr route 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , .Xr rwhod 8 , .Xr sendmail 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr swapon 8 , .Xr tickadj 8 , .Xr timed 8 , .Xr vnconfig 8 , .Xr xntpd 8 , .Xr xtend 8 , .Xr ypbind 8 , .Xr ypserv 8 , .Xr ypset 8 .Sh 歴史 .Nm ファイルは .Fx 2.2.2 で登場しました。 .Sh 作者 .An Jordan K. Hubbard . diff --git a/ja/man/man6/factor.6 b/ja/man/man6/factor.6 index fcf8ff9ad9..d75a062fdf 100644 --- a/ja/man/man6/factor.6 +++ b/ja/man/man6/factor.6 @@ -1,120 +1,130 @@ .\" Copyright (c) 1989, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Landon Curt Noll. .\" .\" 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. .\" .\" @(#)factor.6 8.1 (Berkeley) 5/31/93 -.\" jpman %Id: factor.6,v 1.3 1998/04/08 10:27:18 kuma Stab % .\" +.\" $Id: factor.6,v 1.2 1999-02-01 14:37:38 kuriyama Exp $ .\" .\" By: Landon Curt Noll chongo@toad.com, ...!{sun,tolsoft}!hoptoad!chongo .\" .\" chongo /\oo/\ .\" +.\" jpman %Id: factor.6,v 1.3 1998/04/08 10:27:18 kuma Stab % .\" 以下は Linux JM のクレジット .\" Japanese Version Copyright (c) 1997,1998 MAEHARA Kohichi .\" all rights reserved. .\" Translated Sat Feb 21 00:00:00 JST 1998 .\" by MAEHARA Kohichi .\" .\"WORD: 10 most wanted FBI の出す凶悪犯リスト .\" .\" -.TH FACTOR 6 "May 31, 1993" +.TH FACTOR 6 "Jan 7, 1999" .UC 7 .SH 名称 factor, primes \- factor は素因数分解を行なう, primes は素数を求める .SH 書式 .B factor +-[h] [ number ] ... [ number ] ... .PP .B primes -[ start [ stop ]] +-[h] [ start [ stop ]] .SH 解説 .I factor -ユーティリティは -2147483648 以上 2147483647 以下の整数を素因数分解します。 +ユーティリティは 0 以上 ULONG_MAX ( +32 ビットアーキテクチャでは 4294967295 であり、 +64 ビットアーキテクチャでは 18446744073709551615) 以下 +の整数を素因数分解します。 素因数分解されると、元の整数の後ろに ``:'' をつけて、 さらにその後ろに一行で因数のリストが表示されます。 因数は空白で区切りながら昇順に表示されます。 もし同じ因数で複数回割ることができる場合は、その因数は回数分表示されます。 .PP .I factor に 1 つ以上の引数を与えて実行すると、 それぞれについて素因数分解を行います。 .PP .I factor を引数無しで実行すると、 .I factor は一行につき一つの数値を、 ファイルの終了またはエラーとなるまで、標準入力から読み込みます。 先頭の空白ならびに空行は無視されます。 数字の前に一つだけ - か + の記号がついているのはかまいません。 数字は非数字キャラクタ(たとえば改行)で終了します。 数字を一つ読む毎に、それは素因数分解されます。 入力行はそれぞれ一行が255文字を越えてはなりません。 .PP .I primes ユーティリティは .B start 以上 .B stop 未満の素数を一行に一つ、昇順で表示します。 .B start は最低でも 0 以上で、 .B stop\& 未満であることが必要です。 .B stop は 4294967295 よりも大きくてはなりません。 .B stop を省略した場合のデフォルトは 4294967295 です。 .PP 引数なしで .I primes ユーティリティを起動した場合、 .B start は標準入力から読み込まれます。 この場合 .B stop として 4294967295 が用いられます。 .B start の数字の頭に + 記号を付けるのはかまいません。 .B start の数字は非数字のキャラクタ(例えば改行)で終了します。 入力行は255文字を越えてはなりません。 +.SH オプション +.LP +.TP 8 +.B \-h +10 進数ではなく 16 進数で、結果を表示します。 .SH 診断 範囲外あるいは不正な入力を与えると、 答として `ouch' を標準エラーに出力します。 .SH バグ .I factor は ``十大凶悪'' 因子のリストを処理するのには使えませんし、 .I primes で素数の世界記録を求めることはできません。 diff --git a/ja/man/man6/wump.6 b/ja/man/man6/wump.6 index 16a45811ec..da04262354 100644 --- a/ja/man/man6/wump.6 +++ b/ja/man/man6/wump.6 @@ -1,114 +1,114 @@ .\" Copyright (c) 1989, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Dave Taylor, of Intuitive Systems. .\" .\" 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. .\" .\" @(#)wump.6 8.1 (Berkeley) 5/31/93 .\" jpman %Id: wump.6,v 1.3 1998/12/24 13:01:19 kuma Stab % .\" .TH WUMP 6 "May 31, 1993" .UC 7 .SH 名称 -wump \- 地下洞窟で wump を狩る +wump \- 地下洞窟で Wump を狩る .SH 書式 .ft B wump [-h] [-a arrows] [-b bats] [-p pits] [-r rooms] [-t tunnels] .ft R .SH 解説 ゲーム .I wump は、1973 年の .I "People's Computer Company" のページ初出のファンタジーゲームを元にしています。 ゲーム Hunt the Wumpus では、 トンネルにより相互接続された多くの部屋からなる洞窟中にあなたは置かれます。 ゲームの目的は、 落し穴に落ちたり矢を使い尽くす前に、 -洞窟中のどこかにいる悪い wump を見つけて撃つことです。 +洞窟中のどこかにいる悪い Wump を見つけて射殺すことです。 .PP オプションを以下に示します: .TP .I -a 冒険者が持つ魔法の矢の数を指定します。 デフォルトでは 5 本です。 .TP .I -b -洞窟中の蝙蝠がいる部屋の数を指定します。 +洞窟中の蝙蝠 (コウモリ) がいる部屋の数を指定します。 デフォルトでは 3 部屋です。 .TP .I -h 難しいバージョン -- より多くの落し穴、より多くの蝙蝠、そしてより危険な洞窟 -- でプレイします。 .TP .I -n 洞窟中の底なし落し穴を持つ部屋の数を指定します。 デフォルトでは 3 部屋です。 .TP .I -r 洞窟中の部屋の数を指定します。 デフォルトの洞窟の大きさは 25 部屋です。 .TP .I -t 洞窟中の各部屋から別の部屋へ接続するトンネルの数を指定します。 注意:小さな洞窟でトンネル数の指定を多くし過ぎると、 かんたんに洞窟が壊れてしまいます。 デフォルトでは、洞窟の部屋は他の部屋へのトンネルを 3 つ持ちます。 .PP 洞窟をさまよっているうちに、 トンネルはどこにでもあるけれども、 洞窟の構造には奇妙な特徴があることに気づくかもしれません。たとえば、 トンネルによっては、ある部屋から別の部屋に行ける場合でも、 戻り道があるとは限らないことがあります。 また、最もやっかいな特徴として、むちゃくちゃな数の蝙蝠の巣となっている 部屋があります。 邪魔をされた蝙蝠は、ひとまとまりとなってあなたをつまみあげ、 洞窟中の別の場所 (不用心な冒険者を確実に殺す、底なし落し穴がある部屋を含みます) にあなたを移動してしまいます。 .PP 幸運なことに、武器や道具無しに洞窟に潜り込もうとしているわけではありません。 そして、実際のところ、最も助けになるものは自分自身の感覚です; -Wumpus の悪臭は +Wump の悪臭は .I 2 部屋先から感じることが可能です。 点在する底なし落し穴からの隙間風を常に感じ取ることができます。 蝙蝠が眠っている洞窟中では羽の音を聞くことができます。 .PP -wump を殺すためには、魔法の矢の 1 本をもって射る必要があります。 +Wump を殺すためには、魔法の矢の 1 本をもって射る必要があります。 幸運なことに、その生物と同じ部屋にいる必要はなく、 3 部屋もしくは 4 部屋離れたところから矢を射ることが可能です。 .PP 矢を射るときには、矢が通る部屋のリストを打ち込む必要があります。 矢が通る経路上のどこかで、ある部屋から次に指定した部屋へのトンネルが 無い場合には、 矢はその部屋のトンネルのひとつをランダムに選択して飛びます。 本当に不幸な場合には、自分の部屋に戻ってきて 自分自身に当たる可能性すらあります! diff --git a/ja/man/man7/hier.7 b/ja/man/man7/hier.7 index 0d221457c8..e063d12fd5 100644 --- a/ja/man/man7/hier.7 +++ b/ja/man/man7/hier.7 @@ -1,618 +1,618 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 -.\" jpman %Id: hier.7,v 1.3 1999/01/04 08:08:08 kuma Stab % -.\" %Id: hier.7,v 1.15 1997/09/13 17:52:36 wosch Exp % +.\" %Id: hier.7,v 1.16 1998/12/21 05:57:57 jkoshy Exp % .\" +.\" jpman %Id: hier.7,v 1.3 1999/01/04 08:08:08 kuma Stab % .Dd June 5, 1993 .Dt HIER 7 .Os .Sh 名称 .Nm hier .Nd ファイルシステムのレイアウト .Sh 解説 ファイルシステムの階層構成についての概略です。 .Bl -tag -width "/stand/" .It Li / ファイルシステムのルートディレクトリ。 .It Li /bin/ ユーザ用ユーティリティの基本的なもの。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Li /dev/ ブロックデバイスおよびキャラクタデバイスファイル。 .Pp .Bl -tag -width MAKEDEV -compact .It Li MAKEDEV デバイスファイル作成用スクリプト。 .Xr MAKEDEV 8 参照。 .It Li fd/ ファイル記述子ファイル。 .Xr \&fd 4 参照。 .El .It Li /etc/ システムの設定ファイル、およびスクリプト。 .Pp .Bl -tag -width "disklabels/" -compact .It Li gnats/ gnats 設定ファイル。 .Xr send-pr 1 参照。 .It Li kerberosIV/ kerberos バージョン IV の設定ファイル。 .Xr kerberos 1 参照。 .It Li localtime ローカルタイムゾーン情報。 .Xr ctime 3 参照。 .It Li mtree/ mtree 設定ファイル。 .Xr mtree 8 参照。 .It Li namedb/ named 設定ファイル。 .Xr named 8 参照。 .It Li ppp/ .Xr ppp 8 ppp 設定ファイル。 .Xr ppp 8 参照。 .It Li skel/ 新しいアカウントのための \&. (ドット) ファイルのローカルの例。 .Xr adduser 8 参照。 .It Li uucp/ uucp 設定ファイル。 .Xr uucp 1 参照。 .El .It Li /kernel カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Li /lkm/ ロード可能なカーネルモジュール。 .Xr lkm 4 参照。 .It Li /mnt/ 通常、システム管理者が一時的なマウントポイントとして使用する 空のディレクトリ。 .It Li /proc/ プロセスファイルシステム。 .Xr procfs 5 , .Xr mount_procfs 8 参照。 .It Li /root root のホームディレクトリ。 .It Li /sbin/ システムプログラム、および基本的な管理者用ユーティリティ。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Li /stand/ スタンドアロン環境で使用されるプログラム。 .It Li /tmp/ テンポラリファイル。通常は .Xr mfs 8 メモリファイルシステム (通常、/tmp の内容はシステムを再起動した際には 保存されない)。 .It Li /usr/ ユーザ用ユーティリティ、およびアプリケーションの大部分を含む。 .Pp .Bl -tag -width "libdata/" -compact .It Li bin/ 一般的なユーティリティ、プログラミングツール、アプリケーション。 .It Li games/ 有用でちょっとふざけたプログラム。 .It Li include/ 標準 C 言語インクルードファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Li arpa/ インターネットサービスプロトコルのための C 言語インクルードファイル。 .It Li g++/ GNU C++ 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Li std/ GNU C++ 言語 libstdc++ インクルードファイル。 .El .It Li isofs/ .Bl -tag -width "kerberosIV/" -compact .It Li cd9660/ iso9660 形式ファイルシステム。 .El .It Li kerberosIV/ kerberos 認証パッケージ用 C 言語インクルードファイル。 .Xr kerberos 1 参照。 .It Li machine/ マシン固有機能の C 言語インクルードファイル。 .It Li msdosfs/ MS-DOS ファイルシステム。 .It Li net/ その他のネットワーク機能用 C 言語インクルードファイル。 .\" .It Li netimp/ .\" IMP プロトコル用 C 言語インクルードファイル .\" ( .\" .Xr imp 4 .\" 参照) .It Li netatalk/ Appletalk プロトコル。 .It Li netinet/ インターネット標準プロトコル用 C 言語インクルードファイル。 .Xr inet 4 参照。 .\" .It Li netiso/ .\" ISO 標準プロトコル用 C 言語インクルードファイル .\" ( .\" .Xr iso 4 .\" 参照) .\" .It Li netns/ .\" XNS 標準プロトコル用 C 言語インクルードファイル .\" ( .\" .Xr \&ns 4 .\" 参照) .It Li netipx/ IPX/SPX プロトコルスタック。 .It Li netkey/ カーネルの鍵管理サービス。 .It Li netns/ Xerox 社の NS プロトコル。 .It Li nfs/ NFS (Network File System) 用 C 言語インクルードファイル。 .It Li objc/ ??? .It Li pccard/ PC-CARD コントローラ。 .It Li protocols/ Berkeley サービスプロトコル用 C 言語インクルードファイル。 .It Li readline/ ユーザからの一行入力機能(編集機能付き)。 .Xr readline 3 参照。 .It Li rpc/ リモート手続き呼び出し。 .Xr rpc 3 参照。 .It Li rpcsvc/ ??? .It Li ss/ libss ??? .It Li sys/ システム用 C 言語インクルードファイル (カーネルデータ構造)。 .It Li tcl/ Tcl 言語。 .Xr Tcl n 参照。 .Bl -tag -width "kerberosIV/" -compact .It Li generic/ ??? .It Li unix/ ??? .El .It Li ufs/ UFS (U-word File System) 用 C 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Li ffs/ Fast filesystem。 .It Li lfs/ ログファイルシステム。 .Xr mount_lfs 8 参照。 .It Li mfs/ メモリファイルシステム。 .Xr mount_mfs 8 参照。 .It Li ufs/ UFS ファイルシステム。 .El .It Li vm/ 仮想記憶。 .Xr vmstat 8 参照。 .El .Pp .It Li lib/ アーカイブライブラリ。 .Bl -tag -width Fl -compact .It Li compat/ 互換性維持用の共有ライブラリ。 .El .Pp .It Li libdata/ その他のユーティリティデータファイル。 .Bl -tag -width Fl -compact .It Li gcc/ ??? .It Li lint/ さまざまな lint 用ライブラリ(事前に構築されている)。 .Xr lint 1 参照。 .It Li stallion/ ダウンロードファームウェアのイメージが保持されている。 .It Li tcl ???; .Xr Tcl n 参照。 .El .Pp .It Li libexec/ システムデーモンおよびシステムユーティリティ。 (他のプログラムから実行されるもの)。 .Bl -tag -width Fl -compact .It Li lpr/ ??? .Xr lpr 1 参照。 .It Li sm.bin/ sendmail 用制限付きシェル。 .Xr smrsh 8 参照。 .It Li uucp/ uucp ユーティリティ。 .Xr uucp 1 参照。 .El .Pp .It Li local/ ローカルの実行可能ファイル、ライブラリなど。 .br .Tn FreeBSD ports フレームワークのデフォルトのインストール先としても使用されます。 local/以下では、 .Xr hier 7 で /usr に関して 記述された一般的な配置が使用されます。例外として、man ディレクトリは local/share/ の下ではなく、local/ の直下に存在します。ports のドキュメントは share/doc// に置かれます。 .It Li mdec/ ブートプログラム。 .Xr disklabel 8 参照。 .It Li obj/ アーキテクチャ依存のターゲットツリー。 /usr/src ツリーを構築することで作成される。 .It Li ports/ .Tn FreeBSD ports コレクション (オプション扱い)。 .It Li sbin/ (ユーザによって実行される) システムデーモン、およびシステムユーティリティ。 .It Li share/ -アーキテクチャに依存しない ascii テキストファイル。 +アーキテクチャに依存しないファイル。 .Pp .Bl -tag -width "calendar/" -compact .It Li calendar/ 事前に組み立てられた calendar ファイルいろいろ。 .Xr calendar 1 参照。 .It Li dict/ 単語リスト。 .Xr look 1 参照。 .Pp .Bl -tag -width Fl -compact .It Li words 一般の単語 .It Li web2 Webster's 2nd International からの単語 .It Li papers/ リファレンスデータベース。 .Xr refer 1 参照。 .It Li special/ 特殊な語のリスト。 .Xr spell 1 参照。 .El .Pp .It Li doc/ その他の文書。 ( .Tn USENIX association から入手できる) .Bx マニュアルのほとんどのソース。 .Bl -tag -width Fl -compact .It Li FAQ/ しばしば行なわれる質問とその答え (Frequently Asked Questions)。 .It Li handbook/ .Tn FreeBSD ハンドブック .It Li papers/ UNIX 関連の論文 .It Li psd/ UNIX プログラマ用補助文書 .It Li smm/ UNIX システム管理者用マニュアル .It Li usd/ UNIX ユーザ用補助文書 .El .Pp .It Li examples/ 一般ユーザやプログラマ向けのさまざまな用例。 .It Li games/ 各種のゲームで使用される ascii テキストファイル。 .It Li groff_font/ デバイス名ごとに用意されたデバイス記述ファイル。 .It Li info/ GNU Info ハイパーテキストシステム。 .It Li isdn/ ISDN。 .It Li libg++/ libg++ genclass のプロトタイプ/テンプレートクラスファイル。 .It Li locale/ 国際化機能関係のファイル。 .Xr setlocale 3 参照。 .It Li man/ マニュアルページ。 .It Li me/ me マクロパッケージで使用するマクロ。 .It Li misc/ その他システム全体の ascii テキストファイル。 .Bl -tag -width Fl -compact .It Li fonts/ ??? .It Li pcvtfonts/ ???; .Xr pcvt 4 参照。 .It Li pkg_manage/ パッケージマネージャのヘルプファイル。 .Xr pkg_manage 参照。 .It Li termcap 端末の特性を記述するデータベース。 .Xr termcap 5 参照。 .El .It Li mk/ make 用テンプレート。 .Xr make 1 参照。 .It Li ms/ ms マクロパッケージで使用するマクロ。 .It Li nls/ 各国語サポート(National Lanuguage Support)ファイル。 .Xr mklocale 1 参照。 .It Li perl/ perl ライブラリファイル。 .Xr perl 1 参照。 .It Li sgml/ SGML ツールファイル。 .Xr instant 1 参照。 .It Li skel/ 新しいアカウントのための . (ドット) ファイルの例。 .It Li tabset/ 各種端末用タブ記述ファイル。termcap ファイルの中で使用される。 .Xr termcap 5 参照。 .It Li tmac/ テキスト処理マクロ。 .Xr nroff 1 および .Xr troff 1 参照。 .It Li zoneinfo/ タイムゾーン設定情報。 .Xr tzfile 5 参照。 .El .It Li src/ BSD と local のソースファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Li bin/ /bin 内のファイルのソース。 .It Li contrib/ 寄贈されたソフトウェアのファイルのソース。 .It Li eBones/ Kerberos と DES。 .It Li etc/ /etc 内のファイルのソース。 .It Li games/ /usr/games 内のファイルのソース。 .It Li gnu/ GNU Public Licence で保護されたユーティリティ。 .It Li include/ /usr/include 内のファイルのソース。 .It Li kerberosIV/ Kerberos version IV のソース。 .It Li lib/ /usr/lib 内のファイルのソース。 .It Li libexec/ /usr/libexec 内のファイルのソース。 .It Li local/ /usr/local 内のファイルのソース。 .It Li lkm/ /lkm 内のファイルのソース。 .It Li release/ .Tn FreeBSD のリリースを生成するために必要なファイル。 .It Li sbin/ /sbin 内のファイルのソース。 .It Li secure/ DES のソース。 .It Li share/ /usr/share 内のファイルのソース。 .It Li sys/ カーネルのソースファイル。 .It Li usr.bin/ /usr/bin 内のファイルのソース。 .It Li usr.sbin/ /usr/sbin 内のファイルのソース。 .El .Pp .It Li X11R6/ X11R6 配布パッケージの実行可能形式ファイル、ライブラリなど (オプション扱い)。 .El .It Li /var/ さまざまな用途のログファイル、一時ファイル、遷移的ファイル、 スプールファイル。 .Pp .Bl -tag -width "preserve/" -compact .It Li account/ システムアカウンティングファイル。 .Pp .Bl -tag -width Fl -compact .It Li acct 実行アカウントファイル。 .Xr acct 5 参照。 .El .Pp .It Li at/ 指定した時間に動くコマンドのスケジュールファイル。 .Xr \&at 1 参照。 .Bl -tag -width "preserve/" -compact .It Li jobs ジョブファイルを含むディレクトリ。 .It Li spool 出力スプールファイルを含むディレクトリ。 .El .Pp .It Li backups/ さまざまなバックアップファイル。 .It Li crash/ ???; .Xr crash 8 参照。 .It Li cron/ .Bl -tag -width "preserve/" -compact .It Li log cron のログファイル。 .Xr cron 8 参照。 .It Li tabs crontab ファイル。 .Xr crontab 5 参照。 .El .Pp .It Li db/ システム固有のさまざまなデータベースファイル。自動生成される。 .It Li games/ さまざまなゲームのステータスおよびログファイル。 .\" .It Li games/ .\" ゲームスコアのファイル。 .It Li log/ さまざまなシステムログファイル。 .Pp .Bl -tag -width Fl -compact .It Li wtmp login/logout ログ。 .Xr wtmp 5 参照。 .El .Pp .It Li mail/ ユーザのメールボックスファイル。 .It Li preserve/ エディタの不慮の死の際に保存されるファイルを一時的に安置するディレクトリ。 .Xr \&ex 1 参照。 .It Li msgs/ システムメッセージのデータベース。 .Xr msgs 1 参照。 .It Li quotas/ ファイルシステムのクォータ情報のファイル。 .It Li run/ ブートされてからのシステムについての各種情報を記述した システム情報ファイル。 .Pp .Bl -tag -width Fl -compact .It Li utmp 現在のユーザについてのデータベース。 .Xr utmp 5 参照。 .El .Pp .It Li rwho/ rwho データファイル。 .Xr rwhod 8 , .Xr rwho 1 , .Xr ruptime 1 参照。 .It Li spool/ さまざまなプリンタ、メールシステムのスプールディレクトリ。 .Pp .Bl -tag -width Fl -compact .It Li ftp/ 一般に ~ftp となる部分。anonymous ftp のルートディレクトリ。 .It Li mqueue/ 配送されていないメールのキュー。 .Xr sendmail 8 参照。 .It Li output/ ラインプリンタ用スプールディレクトリ。 .It Li secretmail/ 機密メール用スプールディレクトリ。 .Xr xget 1 参照。 .It Li uucp/ uucp スプールディレクトリ。 .It Li uucppublic/ 一般に ~uucp となる部分。共用 uucp テンポラリディレクトリ。 .El .Pp .It Li tmp/ システムがリブートするまでの間保持されるテンポラリファイル。 .Bl -tag -width Fl -compact .It Li vi.recover vi のリカバリファイルを格納しておくディレクトリ。 .El .It Li yp NIS マップ。 .El .El .Sh 関連項目 .Xr apropos 1 , .Xr find 1 , .Xr finger 1 , .Xr grep 1 , .Xr ls 1 , .Xr whatis 1 , .Xr whereis 1 , .Xr which 1 , .Xr fsck 8 .Sh 歴史 .Nm hier マニュアルページは .At v7 で登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 98-12-26 diff --git a/ja/man/man7/mdoc.7 b/ja/man/man7/mdoc.7 index 8b0ccc2452..6a8856c323 100644 --- a/ja/man/man7/mdoc.7 +++ b/ja/man/man7/mdoc.7 @@ -1,413 +1,413 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mdoc.7 8.2 (Berkeley) 12/30/93 -.\" %Id: mdoc.7,v 1.6 1997/03/20 16:04:00 mpp Exp % +.\" %Id: mdoc.7,v 1.8 1998/12/04 00:51:17 jkoshy Exp % .\" .\" jpman %Id: mdoc.7,v 1.5 1999/01/21 18:02:11 kuma Stab % .\" .\" WORD: display ディスプレイ (表示よりも展示に意味が近いと思います) .\" WORD: enclose 囲む、囲み .\" WORD: quote クォート .\" WORD: open (quote) 開き… .\" WORD: close (quote) 閉じ… .\" WORD: content macro コンテントマクロ .\" WORD: parse 解析する .Dd December 30, 1993 .Os .Dt MDOC 7 .Sh 名称 .Nm mdoc .Nd マクロパッケージ .Nm \-mdoc のクイックリファレンスガイド .Sh 書式 .Nm groff .Fl m Ns Ar doc .Ar files ... .Sh 解説 .Nm \-mdoc パッケージは、 .Bx マニュアルページをフォーマットするのに 使うコンテントベースおよび領域ベースのマクロのセットです。 マクロ名とその意味はクイックリファレンスとして以下に一覧が あります。パッケージを使う上での詳細な説明は、サンプルチュートリアルの .Xr mdoc.samples 7 を見て下さい。 .Pp マクロは 2 つのグループに分けて述べられています。1 つ目は 構造的なページレイアウトマクロと物理的な ページレイアウトマクロです。 2 つ目は、 マニュアル領域マクロと 一般テキスト領域マクロであり、 .Nm -\mdoc パッケージを他の .Xr troff フォーマットパッケージとは異なるものとしています。 .Sh ページ構造領域 .Ss タイトルマクロ 正しいマニュアルを生成するために、以下の 3 つのマクロがこの順序で 必要になります: .Bl -tag -width "xxxx.Os OPERATINGxSYSTEM [version/release]" -compact .It Li "\&.Dd " Ar "Month day, year" ドキュメントの日付 .It Li "\&.Dt " Ar "DOCUMENT_TITLE [section] [volume]" 大文字で記述したタイトル .It Li "\&.Os " Ar "OPERATING_SYSTEM [version/release]" オペレーティングシステム .Pq Tn BSD .El .Ss ページレイアウトマクロ セクションヘッダ、段落の区切り、リスト、ディスプレイです。 .Bl -tag -width flag -compact .It Li \&.Sh セクションヘッダ。 正しいヘッダを、登場する順に示します: .Bl -tag -width "RETURN VALUES" -compact .It Ar NAME 名称セクション。 .Ql \&.Nm もしくは .Ql \&.Fn と、 .Ql \&.Nd マクロを含む必要があります。 .It Ar SYNOPSIS 使用方法。 .It Ar DESCRIPTION 一般的な解説。オプションとパラメータを含む必要があります。 .It Ar RETURN VALUES セクション 2, 3 の関数呼び出しが使用します。 .It Ar ENVIRONMENT 環境変数を記述します。 .It Ar FILES その題材に関係があるファイル群。 .It Ar EXAMPLES 例と助言。 .It Ar DIAGNOSTICS 普通、セクション 4 のデバイスインタフェースの診断のために使用します。 .It Ar ERRORS セクション 2, 3 で、エラーとシグナルを取り扱います。 .It Ar SEE ALSO クロスリファレンスと引用。 .It Ar STANDARDS 適用できるなら、規格準拠を示します。 .It Ar HISTORY 規格が適用できない場合、題材の歴史が必要です。 .It Ar BUGS 思い違い (gotcha) と警告。 .It Ar その他 著者の裁量によりカスタマイズしたヘッダを加えてもかまいません。 .El .It Li \&.Ss サブセクションヘッダ。 .It Li \&.Pp 段落区切り。 垂直な空白 (1 行) です。 .It Li \&.D1 (D-one) 1 個分のディスプレイ。 インデントして、1 テキスト行をディスプレイします。 .It Li \&.Dl (D-ell) 1 個分のリテラルディスプレイ。 インデントして、リテラルテキストを 1 行でディスプレイします。 .It Li \&.Bd ディスプレイブロックを開始します。 表示オプション: .Bl -tag -width "xoffset string " -compact .It Fl ragged 揃えない(行末はちぎれた状態)。 .It Fl filled 揃える。 .It Fl literal リテラルテキストやコード。 .It Fl file Ar name .Ar file を読み込み、ディスプレイします。 .It Fl offset Ar string オフセットディスプレイ。使用可能な .Ar string 値: .Bl -tag -width indent-two -compact .It Ar left ブロックの左寄せ (デフォルト)。 .It Ar center センタリングするように余白を取ります。 .It Ar indent 6 つの一定幅の空白 (タブ 1 個)。 .It Ar indent-two タブ 2 個。 .It Ar right 右から 2 インチのところにブロックを左寄せします。 .It Ar xx Ns Cm n .Ar xx には、 .No \&4 Ns Cm n から .No \&9\&9 Ns Cm n までの数字。 .It Ar Aa .Ar Aa は、呼び出し可能なマクロ名。 .It Ar string .Ar string の幅が使われます。 .El .El .It Li \&.Ed ディスプレイの終り (\&.Bd に対応)。 .It Li \&.Bl リストの開始。リストまたは列を作成します。 オプション: .Bl -tag -width flag -compact .It Ar リストの型 .Bl -column xbullet -compact .It Fl bullet Ta "丸印付きの項目リスト" .It Fl item Ta "ラベル無しのリスト" .It Fl enum Ta "番号付けしたリスト" .It Fl tag Ta "タグラベルのリスト" .It Fl diag Ta "診断リスト" .It Fl hang Ta "ぶら下がりラベルのリスト" .It Fl ohang Ta "突き出したラベルのリスト" .It Fl inset Ta "挿入または追い込みラベルのリスト" .El .It リストのパラメータ .Bl -tag -width "xcompact " -compact .It Fl offset (すべてのリスト) 上記の .Ql \&.Bd ディスプレイ開始を参照。 .It Fl width .Pf ( Fl tag と .Fl hang リストのみ) .Ql \&.Bd を参照。 .It Fl compact (すべてのリスト) 空行を作らない。 .El .El .It Li \&.El リストの終り。 .It Li \&.It リストの項目。 .El .Sh マニュアル領域と一般テキスト領域のマクロ マニュアル領域マクロと一般テキスト領域マクロは、 そのほとんどが呼び出し可能なマクロに解析されるという点で特別です。例えば: .Bl -tag -width ".Op Fl s Ar filex" -offset indent .It Li "\&.Op Fl s Ar file" は .Op Fl s Ar file を生成します。 .El .Pp この例では、オプション囲みマクロ .Ql \&.Op が解析されると、引数 .Ql s を操作する 呼び出し可能なコンテントマクロ .Ql \&Fl を呼び出してから、引数 .Ql file を操作する 呼び出し可能なコンテントマクロ .Ql \&Ar を呼びます。 呼び出し可能ではあるものの解析はされないマクロがありますし、 その逆もあります。 これらのマクロを、後述の .Em 解析対象 (parsed) と .Em 呼出可 (callable) の列に示します。 .Pp 言及していなければ、マニュアル領域マクロは、次の共通の構文をとります: .Pp .Dl \&.Va argument [\ .\ ,\ ;\ :\ (\ )\ [\ ]\ argument \...\ ] .Pp .Sy 注意 : 開く句読点文字と閉じる句読点文字 (訳注: 句読点文字には括弧なども含みます) がそのように認識されるのは、 ひとつずつ登場する場合だけです。 文字列 .Ql ")," は、句読点とは認識されず、 先行する空白文字とともに呼び出しマクロが使用しているフォントで出力されます。 引数リスト .Ql "] ) ," は 3 つの連続した閉じる句読点と認識され、 文字間および (存在する場合には) 先行する引数との間には、 先行する空白文字は出力されません。 句読点文字の特別の意味は、文字列 .Ql \e& によりエスケープされます。 例えば、次の文字列 .Bl -tag -width "&.Ar file1\ , file2\ , file3\ )\ ." -offset indent .It Li "\&.Ar file1\ , file2\ , file3\ )\ ." は .Ar file1 , file2 , file3 ) . を生成します。 .El .ne 1i .Ss マニュアル領域のマクロ .Bl -column "名称" "解析対象" "呼出可" -compact .It Em 名称 解析対象 呼出可 解説 .It Li \&Ad Ta Yes Ta Yes Ta "アドレス (このマクロは使用しないように言われています)。" .It Li \&An Ta Yes Ta Yes Ta "著者名。" .It Li \&Ar Ta Yes Ta Yes Ta "コマンドラインの引数。" .It Li \&Cd Ta \&No Ta \&No Ta "コンフィギュレーション宣言 (セクション 4 のみ)。" .It Li \&Cm Ta Yes Ta Yes Ta "コマンドライン引数修飾子。" .It Li \&Dv Ta Yes Ta Yes Ta "定義された変数 (ソースコード)。" .It Li \&Er Ta Yes Ta Yes Ta "エラー番号 (ソースコード)。" .It Li \&Ev Ta Yes Ta Yes Ta "環境変数。" .It Li \&Fa Ta Yes Ta Yes Ta "関数の引数。" .It Li \&Fd Ta Yes Ta Yes Ta "関数の定義。" .It Li \&Fn Ta Yes Ta Yes Ta "関数呼び出し (.Fo や .Fc も同様)。" .It Li \&Ic Ta Yes Ta Yes Ta "対話的なコマンド。" .It Li \&Li Ta Yes Ta Yes Ta "リテラルテキスト。" .It Li \&Nm Ta Yes Ta Yes Ta "コマンド名。" .It Li \&Op Ta Yes Ta Yes Ta "オプション (.Oo や .Oc も同様)。" .It Li \&Ot Ta Yes Ta Yes Ta "古いスタイルの関数型 (Fortran のみ)。" .It Li \&Pa Ta Yes Ta Yes Ta "パス名やファイル名。" .It Li \&St Ta Yes Ta Yes Ta "規格 (-p1003.2 や -p1003.1 や -ansiC)。" .It Li \&Va Ta Yes Ta Yes Ta "変数名。" .It Li \&Vt Ta Yes Ta Yes Ta "変数の型 (Fortran のみ)。" .It Li \&Xr Ta Yes Ta Yes Ta "マニュアルのクロスリファレンス。" .El .Ss 一般テキスト領域のマクロ .Bl -column "名称" "解析対象" "呼出可" -compact .It Em "名称 解析対象 呼出可 解説" .It Li \&%A Ta Yes Ta \&No Ta "参照の著者。" .It Li \&%B Ta Yes Ta Yes Ta "参照の図書タイトル。" .It Li \&%\&C Ta \&No Ta \&No Ta "参照の発行場所(市)。" .It Li \&%\&D Ta \&No Ta \&No Ta "参照の日付。" .It Li \&%J Ta Yes Ta Yes Ta "参照の雑誌タイトル。" .It Li \&%N Ta \&No Ta \&No Ta "参照の刊行番号。" .It Li \&%\&O Ta \&No Ta \&No Ta "参照の追加的な情報。" .It Li \&%P Ta \&No Ta \&No Ta "参照のページ番号。" .It Li \&%R Ta \&No Ta \&No Ta "参照のレポート名。" .It Li \&%T Ta Yes Ta Yes Ta "参照の記事タイトル。" .It Li \&%V Ta \&No Ta \&No Ta "参照の巻名。" .It Li \&Ac Ta Yes Ta Yes Ta "カギ括弧(angle)閉じクォート。" .It Li \&Ao Ta Yes Ta Yes Ta "カギ括弧(angle)開きクォート。" .It Li \&Ap Ta Yes Ta Yes Ta "アポストロフィ。" .It Li \&Aq Ta Yes Ta Yes Ta "カギ括弧(angle)クォート。" .It Li \&At Ta \&No Ta \&No Ta Tn "AT&T UNIX。" .It Li \&Bc Ta Yes Ta Yes Ta "角括弧(bracket)閉じクォート。" .It Li \&Bf Ta \&No Ta \&No Ta "フォントモード始点。" .It Li \&Bo Ta Yes Ta Yes Ta "角括弧(bracket)開きクォート。" .It Li \&Bq Ta Yes Ta Yes Ta "角括弧(bracket)クォート。" .It Li \&Bx Ta Yes Ta Yes Ta "BSD UNIX。" .It Li \&Db Ta \&No Ta \&No Ta "デバッグ (デフォルトは \\*qoff\\*q)。" .It Li \&Dc Ta Yes Ta Yes Ta "ダブル(double)閉じクォート。" .It Li \&Do Ta Yes Ta Yes Ta "ダブル(double)開きクオート。" .It Li \&Dq Ta Yes Ta Yes Ta "ダブル(double)クォート。" .It Li \&Ec Ta Yes Ta Yes Ta "文字列で囲む閉じクォート。" .It Li \&Ef Ta \&No Ta \&No Ta "フォントモード終了。" .It Li \&Em Ta Yes Ta Yes Ta "強調 (古風な英語)。" .It Li \&Eo Ta Yes Ta Yes Ta "文字列で囲む開きクォート。" .It Li \&Fx Ta \&No Ta \&No Ta Tn "FreeBSD オペレーティングシステム。" .It Li \&No Ta Yes Ta Yes Ta "通常のテキスト (no-op)。" .It Li \&Ns Ta Yes Ta Yes Ta "空白なし。" .It Li \&Pc Ta Yes Ta Yes Ta "丸括弧(parenthesis)閉じクォート。" .It Li \&Pf Ta Yes Ta \&No Ta "接頭文字列。" .It Li \&Po Ta Yes Ta Yes Ta "丸括弧(parenthesis)開きクォート。" .It Li \&Pq Ta Yes Ta Yes Ta "丸括弧クォート。" .It Li \&Qc Ta Yes Ta Yes Ta "まっすぐなダブル(double)閉じクォート。" .It Li \&Ql Ta Yes Ta Yes Ta "クォートされたリテラル。" .It Li \&Qo Ta Yes Ta Yes Ta "まっすぐなダブル(double)開きクォート。" .It Li \&Qq Ta Yes Ta Yes Ta "まっすぐなダブル(double)クォート。" .It Li \&Re Ta \&No Ta \&No Ta "参照終了。" .It Li \&Rs Ta \&No Ta \&No Ta "参照開始。" .It Li \&Rv Ta \&No Ta \&No Ta "戻り値 (セクション 2 と 3 のみ)。" .It Li \&Sc Ta Yes Ta Yes Ta "(single)閉じクォート。" .It Li \&So Ta Yes Ta Yes Ta "(single)開きクォート。" .It Li \&Sq Ta Yes Ta Yes Ta "(single)クォート。" .It Li \&Sm Ta \&No Ta \&No Ta "空白モード(デフォルトは \\*qon\\*q)。" .It Li \&Sx Ta Yes Ta Yes Ta "セクションクロスリファレンス。" .It Li \&Sy Ta Yes Ta Yes Ta "シンボリック (古風な英語)。" .It Li \&Tn Ta Yes Ta Yes Ta "商標またはタイプ名 (小さい大文字)。" .It Li \&Ux Ta Yes Ta Yes Ta "UNIX。" .It Li \&Xc Ta Yes Ta Yes Ta "拡張引数リスト終了。" .It Li \&Xo Ta Yes Ta Yes Ta "拡張引数リスト開始。" .El .\" .It Sy \&Hf Ta \&No Ta \&No Ta "Include file with header" .Pp .Ql q で終わるマクロ名は、引数リストの残りの項目をクォートします。 .Ql o で終わるマクロ名はクォートの開始であり、複数行の入力に渡ります。 .Ql c で終わる対応するマクロ名は、このクォートを閉じます。 囲みマクロは入れ子になっても良く、引数は 8 個に制限されます。 .Pp 注意: 拡張引数リストマクロ .Pf ( Ql \&.Xo , .Ql \&.Xc ) と関数囲みマクロ .Pf ( Ql \&.Fo , .Ql \&.Fc ) は、変則です。 拡張リストマクロは、マクロ引数が .Xr troff の制限である 9 個を越える場合に使われます。 .Sh コンフィギュレーション マクロパッケージのサイト依存コンフィギュレーションのために、 ファイル .Pa /usr/src/share/tmac/README を参照して下さい。 .Sh 関連ファイル .Bl -tag -width "tmac.doc-ditroff" -compact .It Pa tmac.doc マニュアル領域と一般テキスト領域のマクロ。 .It Pa tmac.doc-common 共通構造マクロと定義。 .It Pa tmac.doc-nroff サイト依存の .Xr nroff スタイルファイル。 .It Pa tmac.doc-ditroff サイト依存の .Xr troff スタイルファイル。 .It Pa tmac.doc-syms (標準マクロのような) 特殊定義。 .El .Sh 関連項目 .Xr mdoc.samples 7 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1.21 diff --git a/ja/man/man7/mdoc.samples.7 b/ja/man/man7/mdoc.samples.7 index 4e31b6cc6e..102cae151d 100644 --- a/ja/man/man7/mdoc.samples.7 +++ b/ja/man/man7/mdoc.samples.7 @@ -1,2706 +1,2709 @@ .\" 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 -.\" %Id: mdoc.samples.7,v 1.16 1997/12/08 07:44:20 charnier Exp % +.\" %Id: mdoc.samples.7,v 1.17 1998/12/03 03:38:45 jkoshy Exp % .\" .\" jpman %Id: mdoc.samples.7,v 1.4 1999/01/21 17:52:58 kuma Stab % .\" .\" 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. .\" .\" 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 "タイトルマクロの紹介" +.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 "クロスリファレンス" .El .It .Tn "一般テキスト領域" .Bl -tag -width flag -compact -offset indent .It "AT&T マクロ" .It "BSD マクロ" +.It "FreeBSD マクロ" .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" ださい。この次の項目はセクション 2 と 3 でのみ必要な、関数の戻り \&.\e" 値です。 \&.\e" .Sh RETURN VALUES \&.\e" 次の項目はセクション 1, 6, 7, 8 でのみ必要なものです。 \&.\e" .Sh ENVIRONMENT \&.\e" .Sh FILES \&.\e" .Sh EXAMPLES \&.\e" 次の項目はセクション 1, 6, 7, 8 でのみ必要なものです。 \&.\e" ((シェルへの)コマンドの戻り値と fprintf/stderr の型の診断 \&.\e" です。) \&.\e" .Sh DIAGNOSTICS \&.\e" 次の項目はセクション 2 と 3 でのみ必要な、エラーハンドリングと \&.\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,\ ...,\ 8 となり、これが指定されると ボリュームタイトルを省略してもかまいません。 ボリュームタイトルは任意のものか、以下のうちいずれかになります。 .\" .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 マニュアル領域 +.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 \&.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 変数 一般的な変数への参照です。 .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,...,8] \*(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 マクロ .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 .Ql \&.Fx マクロは解析 .Em されず 、呼び出し .Em 不可能 です。 最大 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 (訳注: 作者) クレジットが必要であれば、ここで入れます。 .It \&.Sh DIAGNOSTICS (訳注: 診断) コマンドからの診断はこのセクションに入れます。 .It \&.Sh ERRORS (訳注: エラー) 特定のエラーハンドリング、特にライブラリ関数 (man ページのセクション 2 と 3) でのエラーハンドリングは、ここで説明します。 .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 .Dl Fl ldghfstru .Pp これは次の指定で生成されたものです。 .Li \&.Dl 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/man/man7/ports.7 b/ja/man/man7/ports.7 index e3fdb52ace..a3be314260 100644 --- a/ja/man/man7/ports.7 +++ b/ja/man/man7/ports.7 @@ -1,332 +1,342 @@ .\" .\" Copyright (c) 1997 David E. O'Brien .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: ports.7,v 1.8 1998/06/29 06:54:34 hoek Exp % +.\" %Id: ports.7,v 1.9 1998/12/30 17:32:47 hoek Exp % .\" .\" jpman %Id: ports.7,v 1.3 1999/01/24 06:53:11 horikawa Stab % .Dd January 25, 1998 .Dt PORTS 7 .Os FreeBSD 2.2 .Sh 名称 .Nm ports .Nd 寄贈されたアプリケーション .Sh 解説 .Nm FreeBSD ports コレクション によって、ユーザや管理者は簡単にアプリケーションをインストールする ことができます。 .Em port はそれぞれ、オリジナルのソースコードを BSD 上でコンパイルして実行 させるために必要なパッチのすべてを含んでいます。アプリケーションの コンパイルは、 port のディレクトリで .Ic make build と入力するだけで簡単にできます。 port の .Ql Pa Makefile は、ローカルディスクからもしくは ftp を使って、自動的にアプリケーションの ソースコードを取得 .Pq fetch して、自分のシステムでそれを展開して、 パッチを当て、コンパイルします。すべてが順調に進んだ場合、 .Ic make install を実行することにより、アプリケーションがインストールされます。 .Pp +インストールされたシステムよりも新しい ports を、 +FreeBSD リポジトリからダウンロードして使用できます。 +ただし、最初に適切な「アップグレードキット」を http://www.FreeBSD.ORG/ports/ +から取得してインストールすることが重要です! +新しい ports をダウンロードするときには、 +.Xr portcheckout 1 +スクリプト (もちろんこれも port です!) が役立つでしょう。 +.Pp port の利用に関してさらに情報が必要ならば、 .Nm ports コレクション (The Ports Collection) (原文: file:/usr/share/doc/handbook/ports.html または、 -http://www.freebsd.org/handbook/ports.html。 +http://www.FreeBSD.ORG/handbook/ports.html。 和文: file:/usr/share/doc/ja/handbook/ports.html または、 -http://www.freebsd.org/ja/handbook/ports.html) +http://www.FreeBSD.ORG/ja/handbook/ports.html) ) に目を通して下さい。 port を新規に作成するための情報については、 .Nm 自分で port を作る (Porting applications) (原文: file:/usr/share/doc/handbook/porting.html または、 -http://www.freebsd.org/handbook/porting.html、 +http://www.FreeBSD.ORG/handbook/porting.html、 和文: file:/usr/share/doc/ja/handbook/porting.html または -http://www.freebsd.org/ja/handbook/porting.html) に目を通して下さい。 +http://www.FreeBSD.ORG/ja/handbook/porting.html) に目を通して下さい。 どちらも FreeBSD ハンドブックの一部です。 .Pp .Sh ターゲット .Pp ターゲットのいくつかは、サブディレクトリを再帰的に make して行きます。 これにより、例えば、biology の port すべてをインストールすることが できます。再帰的に make を行なうターゲットは、 .Ar build , checksum , clean , configure , -.Ar extract , fetch , install , +.Ar depends , extract , fetch , install , .Ar package です。 .Pp 次のターゲットは、それぞれすぐ手前のターゲットによって順に自動的に 実行されます。すなわち、 .Ar build は、 .Pq 必要があれば、 .Ar install によって実行されます。以下のターゲットそれぞれについて、同様のルールが .Ar fetch まで順次適用されます。 通常は、ターゲットとして、 .Ar install を指定するだけでよいはずです。 .Bl -tag -width configure .It Ar fetch MASTER_SITES と PATCH_SITES でリストされたサイトから、 この port を構築するために必要なファイルすべてを取得 .Pq fetch します。 .Ev FETCH_CMD と .Ev MASTER_SITE_OVERRIDE とを参照して下さい。 .It Ar checksum 取得した distfile が port で動作確認されたものと一致するかどうかを検証 します。 .Ev NO_CHECKSUM を定義することで、このステップを飛ばすことができます。 .It Ar depends 現在の port と依存関係にある port をインストール .Pq もしくは、必要がある場合のみコンパイル します。ターゲット .Ar extract もしくは .Ar fetch により呼び出された場合、 .Ar fetch-depends , .Ar build-depends などとしてひとつずつ実行されます。 .Ev NO_DEPENDS を定義することで、このステップを飛ばすことができます。 .It Ar extract distfile を作業用ディレクトリに展開します。 .It Ar patch port に必要なパッチすべてを適用します。 .It Ar configure port を構成 (configure) します。port によっては、この段階で質問して くるものもあります。 .Ev INTERACTIVE と .Ev BATCH を参照して下さい。 .It Ar build port を構築します。これはターゲット .Ar all を呼び出すことと同じです。 .It Ar install port をインストールし、この port をインストールしたことを パッケージシステムに登録します。このターゲットは、実際に必要なこと すべてを行なってくれます。 .El .Pp 次のターゲットは、通常のインストールプロセスでは実行されません。 .Bl -tag -width fetch-list .It Ar fetch-list この port を構築するために取得が必要なファイルのリストを表示します。 .It Ar depends-list package-depends コンパイル依存 port リストと実行依存 port リストを表示します。 また、これらの依存 port リストが依存する port についても表示します。 .It Ar clean 展開されたソースコードを削除します。 .Ev NOCLEANDEPENDS を定義しておかない限り、削除は依存関係にある port に再帰的に適用されます。 .It Ar distclean その port の distfile を削除し、 .Ar clean を実行します。 .Ev NOCLEANDEPENDS を定義しておかない限り、 .Sq clean の部分は依存関係にある port に再帰的に適用されます。しかし、 .Sq distclean の部分は決して再帰的に適用されません .Pq この挙動はひょっとするとバグかもしれません 。 .It Ar reinstall .Ar deinstall を使用すべきところでうっかり .Xr pkg_delete 1 を使ってしまった場合、このターゲットを使って port を復活させて下さい。 .It Ar deinstall .Xr pkg_delete 1 と同様に、インストールした port をシステムから削除します。 .It Ar package この port のバイナリパッケージを作成します。まだインストールされて いなかった場合、その port をインストールします。 パッケージは\ .tgz ファイルであり、その port を他のマシンに .Xr pkg_add 1 を使ってインストールする際に使用することができます。 .Ev PACKAGES で指定されたディレクトリが存在しなければ、パッケージはカレントディレクトリに 置かれます。 .Ev PKGREPOSITORY と .Ev PKGFILE とを参照して下さい。 .It Ar readmes その port の .Pa README.html ファイルを生成します。 ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/templates/README.port を取得 .Pq Xr fetch 1 することが必要で、ディレクトリを .Ev TEMPLATES に設定しておく必要があります。 これはリリースエンジニアになる人のためのターゲットです。ほとんどの人は、 .Pa pkg/COMMENT と .Pa pkg/DESCR とを読むことができるだけです。 .El .Sh 環境変数 これら環境変数のすべてを変更することができます。 .Bl -tag -width MASTER_SITES .It Ev PORTSDIR port ツリーの場所を指定します。これは FreeBSD と OpenBSD では .Pa /usr/ports で、 .\"ZZZ: .Nx NetBSD では .\" .Fx .\" .Ox , .Pa /usr/pkgsrc です。 .It Ev DISTDIR distfile を探す場所であり、取得した distfile を置く場所です。通常は .Ev PORTSDIR の下の .Pa distfiles/ です。 .It Ev PACKAGES ターゲット .Ar package でのみ使用されます。 パッケージツリーのベースディレクトリです。通常は、 .Ev PORTSDIR の下の .Pa packages/ です。 このディレクトリが存在する場合、パッケージツリーが (部分的に) 構築されます。 このディレクトリは存在する必要はありません。存在しない場合、パッケージは カレントディレクトリに置かれます。もしくは、以下のいずれか一方を定義 することができます。 .Bl -tag -width PKGREPOSITORY .It Ev PKGREPOSITORY パッケージを置くディレクトリ。 .It Ev PKGFILE そのパッケージのフルパス。 .El .It Ev PREFIX 一般に、成果物をどこにインストールするかを指定します .Po 通常は .Pa /usr/local か、 .Pa /usr/X11R6 です .Pc 。 .It Ev MASTER_SITES ローカルマシンに配布ファイルが存在しない場合、最初に取得しに行くサイトです。 .It Ev PATCH_SITES ローカルマシンにパッチファイルが存在しない場合、最初に取得しに行くサイトです。 .It Ev MASTER_SITE_FREEBSD これが設定されている場合、すべてのファイルを FreeBSD のマスタサイトに 取りに行きます。 .It Ev MASTER_SITE_OVERRIDE すべてのファイルとパッチについて、まずこのサイトに行って取得を試みます。 .It Ev NOCLEANDEPENDS これが定義されている場合、依存関係にある port に対して .Sq clean を再帰的に適用しません。 .It Ev FETCH_CMD ファイルを取得する際に使用するコマンドです。通常は .Xr fetch 1 です。 .It Ev FORCE_PKG_REGISTER これが設定されている場合、既にシステムに存在するパッケージ登録情報を 上書きします。 .It Ev MOTIFLIB libXm.{a,so} の位置を指定します。 -.It Ev PATCH_DEBUG -これが設定されている場合、パッチを当てる際に冗長な出力を表示します。 .It Ev INTERACTIVE これが設定されている場合、ユーザ入力が必要な port にのみ動作します。 .It Ev BATCH これが設定されている場合、100% 自動的にインストールできる port にのみ 動作します。 .El .Sh 関連ファイル .Bl -tag -width /usr/ports/xxxx -compact .It Pa /usr/ports デフォルトの port ディレクトリ (FreeBSD と OpenBSD)。 .It Pa /usr/pkgsrc デフォルトの port ディレクトリ (NetBSD)。 .It Pa /usr/share/mk/bsd.port.mk .\"kuma: big Kahuna というのはモアイのような巨大石のものらしい。 .\"kuma: だれか教えて?! ご本尊様であらしゃいます。 .Sh 関連項目 .Xr make 1 , .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , -.Xr pkg_info 1 . +.Xr pkg_info 1 , +.Xr portcheckout 1 +(port です), +.Xr pib 1 +(これも port です). .Pp FreeBSD ハンドブック .Pp http://www.FreeBSD.ORG/ports .Pq port すべてが検索可能なインデックス .Sh 作者 このマニュアルページは、もともとは .An David O'Brien によるものです。 ports コレクションは .An Satoshi Asami と恐るべき port チームによって維持管理されています。 .Sh 歴史 .Nm ports コレクション は、 .Fx 1.0 で登場しました。 .Sh バグ port に関する文書が 4 か所に分散されてしまっています。 .Pa /usr/share/mk/bsd.port.mk , ハンドブックの .Dq port コレクション のセクションと、 .Dq 既存のソフトウェアを port にする のセクション、 .Xr ports 7 の 4 つです。 .Pp このマニュアルページは長過ぎです。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai, 98-12-26 diff --git a/ja/man/man8/Makefile b/ja/man/man8/Makefile index c529f236ea..1907003aaa 100644 --- a/ja/man/man8/Makefile +++ b/ja/man/man8/Makefile @@ -1,264 +1,263 @@ MAN8 = IPXrouted.8\ MAKEDEV.8\ ac.8\ accton.8\ adding_user.8\ adduser.8\ adjkerntz.8\ amd.8\ amq.8\ apm.8\ apmconf.8\ arp.8\ atm.8\ atmarpd.8\ atrun.8\ bad144.8\ badsect.8\ boot_i386.8\ bootparamd.8\ bootpd.8\ bootpef.8\ bootptest.8\ btxld.8\ camcontrol.8\ ccdconfig.8\ chat.8\ chkgrp.8\ chkprintcap.8\ chown.8\ chroot.8\ clri.8\ comcontrol.8\ comsat.8\ config.8\ crash.8\ cron.8\ cvsbug.8\ dev_mkdb.8\ disklabel.8\ diskless.8\ diskpart.8\ dm.8\ dmesg.8\ - dset.8\ dump.8\ dumpfs.8\ dumpon.8\ edquota.8\ fdcontrol.8\ fdisk.8\ fingerd.8\ fixmount.8\ fore_dnld.8\ fsck.8\ fsdb.8\ fsinfo.8\ fsirand.8\ ft.8\ ftpd.8\ getty.8\ hlfsd.8\ ibcs2.8\ ifconfig.8\ ilmid.8\ inetd.8\ init.8\ intro.8\ iostat.8\ ipfstat.8\ ipfw.8\ ipmon.8\ ispcvt.8\ joy.8\ kernbb.8\ keyadmin.8\ keyserv.8\ kgmon.8\ kldload.8\ kldstat.8\ kldunload.8\ kvm_mkdb.8\ kzip.8\ ldconfig.8\ linux.8\ locate.updatedb.8\ lpc.8\ lpd.8\ lptcontrol.8\ mail.local.8\ mailstats.8\ makekey.8\ makemap.8\ makewhatis.local.8\ manctl.8\ map-mbone.8\ mixer.8\ mk-amd-map.8\ mknetid.8\ mknod.8\ modload.8\ modstat.8\ modunload.8\ mount.8\ mount_cd9660.8\ mount_ext2fs.8\ mount_msdos.8\ mount_nfs.8\ mount_null.8\ mount_portal.8\ mount_std.8\ mount_umap.8\ mount_union.8\ mountd.8\ moused.8\ mrinfo.8\ mrouted.8\ mtest.8\ mtrace.8\ mtree.8\ named-xfer.8\ named.8\ named.reload.8\ named.restart.8\ natd.8\ ndc.8\ newfs.8\ newfs_msdos.8\ newkey.8\ newsyslog.8\ nextboot.8\ nfsd.8\ nfsiod.8\ nologin.8\ nslookup.8\ nos-tun.8\ ntpdate.8\ ntpq.8\ ntptrace.8\ pac.8\ pccardd.8\ pciconf.8\ periodic.8\ ping.8\ pnpinfo.8\ portmap.8\ ppp.8\ pppctl.8\ pppd.8\ pppstats.8\ praliases.8\ procctl.8\ pstat.8\ pw.8\ pwd_mkdb.8\ quot.8\ quotacheck.8\ quotaon.8\ rarpd.8\ rbootd.8\ rc.8\ reboot.8\ renice.8\ repquota.8\ restore.8\ revnetgroup.8\ rexecd.8\ rlogind.8\ rmail.8\ rmt.8\ rmuser.8\ rndcontrol.8\ route.8\ routed.8\ rpc.lockd.8\ rpc.rquotad.8\ rpc.rstatd.8\ rpc.rusersd.8\ rpc.rwalld.8\ rpc.sprayd.8\ rpc.statd.8\ rpc.yppasswdd.8\ rpc.ypxfrd.8\ rpcinfo.8\ rshd.8\ rstat_svc.8\ rtquery.8\ rwhod.8\ sa.8\ savecore.8\ scspd.8\ sendmail.8\ showmount.8\ shutdown.8\ sicontrol.8\ slattach.8\ sliplogin.8\ slstat.8\ smrsh.8\ spkrtest.8\ spray.8\ sticky.8\ stlload.8\ stlstats.8\ strfile.8\ swapon.8\ sync.8\ sysctl.8\ syslogd.8\ talkd.8\ telnetd.8\ tftpd.8\ timed.8\ timedc.8\ traceroute.8\ trpt.8\ tunefs.8\ tzsetup.8\ umount.8\ uuchk.8\ uucico.8\ uucpd.8\ uusched.8\ uuxqt.8\ vinum.8\ vipw.8\ vmstat.8\ vnconfig.8\ watch.8\ wire-test.8\ wlconfig.8\ wormcontrol.8\ xntpd.8\ xntpdc.8\ xtend.8\ yp_mkdb.8\ ypbind.8\ ypinit.8\ yppoll.8\ yppush.8\ ypserv.8\ ypset.8\ ypxfr.8\ zdump.8\ zic.8 MLINKS+= strfile.8 unstr.8 MLINKS+= makewhatis.local.8 catman.local.8 MLINKS+= bootpd.8 bootpgw.8 MLINKS+=dump.8 rdump.8 MLINKS+= mount_std.8 mount_devfs.8 mount_std.8 mount_fdesc.8 \ mount_std.8 mount_kernfs.8 mount_std.8 mount_procfs.8 MLINKS+= newfs.8 mount_mfs.8 newfs.8 mfs.8 newfs.8 tmpfs.8 MLINKS+= reboot.8 halt.8 reboot.8 fastboot.8 reboot.8 fasthalt.8 MLINKS+= boot_i386.8 boot.8 MLINKS+=restore.8 rrestore.8 MLINKS+= slattach.8 slip.8 MLINKS+= locate.updatedb.8 updatedb.8 MLINKS+= apm.8 zzz.8 MLINKS+= pstat.8 swapinfo.8 MLINKS+= quotaon.8 quotaoff.8 MLINKS+= vnconfig.8 swapfile.8 MLINKS+= inetd.8 inetd.conf.5 .include "bsd.prog.mk" diff --git a/ja/man/man8/atm.8 b/ja/man/man8/atm.8 index 4cddb86e3b..82b2420095 100644 --- a/ja/man/man8/atm.8 +++ b/ja/man/man8/atm.8 @@ -1,1001 +1,1005 @@ .\" .\" =================================== .\" HARP | Host ATM Research Platform .\" =================================== .\" .\" .\" This Host ATM Research Platform ("HARP") file (the "Software") is .\" made available by Network Computing Services, Inc. ("NetworkCS") .\" "AS IS". NetworkCS does not provide maintenance, improvements or .\" support of any kind. .\" .\" NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED, .\" INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY .\" AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE .\" SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE. .\" In no event shall NetworkCS be responsible for any damages, including .\" but not limited to consequential damages, arising from or relating to .\" any use of the Software or related support. .\" .\" Copyright 1994-1998 Network Computing Services, Inc. .\" .\" Copies of this Software may be made, however, the above copyright .\" notice must be reproduced on all copies. .\" -.\" @(#) %Id: atm.8,v 1.1 1998/09/15 08:22:45 phk Exp % +.\" @(#) %Id: atm.8,v 1.2 1999/01/20 18:36:58 mks Exp % .\" jpman %Id: atm.8,v 1.3 1999/01/01 14:20:46 vanitas Stab % .\" .\" .\" WORD: attach アタッチ .\" WORD: open オープン .\" WORD: close クローズ .\" WORD: prefix プレフィックス .\" WORD: transmit 送出 .\" WORD: ATM Adaptation Layer ATM アダプテーションレイヤ .\" WORD: Virtual Channel Identifier 仮想チャネル識別子 .\" WORD: Virtual Path Identifier 仮想パス識別子 .\" WORD: Virtual Channel Connection 仮想チャネル接続 .\" WORD: End System Identifier エントシステム識別子 .\" WORD: Protocol Data Unit プロトコルデータユニット .\" .\" .de EX \"Begin example .ne 5 .if n .sp 1 .if t .sp .5 .nf .in +.5i .. .de EE .fi .in -.5i .if n .sp 1 .if t .sp .5 .. .TH ATM 8 "1998-08-20" "HARP" .SH 名称 atm \- HARP ATM インタフェースに関する、ユーザ設定と表示のコマンド .SH 書式 インタフェース管理サブコマンド: .in +10 .ti -5 .B atm attach .ti -5 .B atm detach .ti -5 .B atm set MAC .ti -5 .B atm set netif .ti -5 .B atm set prefix .ti -5 .B atm show config [] .ti -5 .B atm show interface [] .ti -5 .B atm show netif [] .ti -5 .B atm show stats interface [ [phy | dev | atm | aal0 | aal4 | aal5 | driver]] .sp .ti -10 VCC 管理サブコマンド: .ti -5 .B atm add PVC ... .ti -5 .B atm delete PVC .ti -5 .B atm delete SVC .ti -5 .B atm show stats VCC [ [ []]] .ti -5 .B atm show VCC [ [ [] | SVC | PVC]] .sp .ti -10 IP 管理サブコマンド: .ti -5 .B atm add ARP [] .ti -5 .B atm add PVC IP | dynamic .ti -5 .B atm delete ARP [] .ti -5 .B atm set arpserver | local [ ...] .ti -5 .B atm show ARP [] .ti -5 .B atm show arpserver [] .ti -5 .B atm show IPVCC [ | ] .ti -5 .sp .ti -10 その他のサブコマンド: .ti -5 .B atm help .ti -5 .B atm show version .in -10 .fi .SH 解説 .I atm は Host ATM Research Platform (HARP) ネットワーキングソフトウェアの状態を 設定および表示します。 サブコマンドは、いくつかのカテゴリに分類されます: .PP \fIインタフェース管理\fP サブコマンドは、ATM インタフェースを制御します。 機能としては、シグナリングマネージャのインタフェースへの割り当て、 ATM アドレスの設定、 (複数の) ネットワークインタフェースと (単一の) インタフェースとの関連付け、 インタフェースの情報の表示があります。 .PP \fIVCC 管理\fP サブコマンドは、 ATM 仮想チャネル接続 (Virtual Channel Connection; VCC) を管理します。 機能としては、VCC のオープン・クローズ・情報の表示があります。 .PP \fIIP 管理\fP サブコマンドは、 IP と ATM ソフトウェアの間のインタフェースを管理します。 機能としては、ATMARP キャッシュの表示と操作、 IP に接続した PVC のオープン、 ATMARP サーバのネットワークインタフェースへの割り当て、 IP VCC の情報の表示があります。 .PP \fIその他\fP のサブコマンドは、ATM ソフトウェアのバージョン表示と \fIatm\fP コマンドのヘルプ表示があります。 .SS "シグナリングマネージャ" シグナリングマネージャには VCC のオープンとクローズの責任があります。 4 種のシグナリングマネージャがサポートされています: .PP .in +10 .ti -5 PVC - PVC にのみ対応。 .ti -5 SPANS - FORE 独自のシグナリングプロトコルである SPANS をサポート。 .ti -5 UNI 3.0 - ATM Forum の \fIATM User-Network Interface Specification, Version 3.0\fP のシグナリングプロトコルをサポート。 .ti -5 UNI 3.1 - ATM Forum の \fIATM User-Network Interface Specification, Version 3.1\fP のシグナリングプロトコルをサポート。 .in -10 .PP 4 種すべてのシグナリングマネージャが PVC のオープンとクローズをサポートします (\fIadd\fP と \fIdelete\fP のサブコマンドを参照)。 .PP 物理インタフェース上で VCC を作成可能とするには、 物理インタフェース 1 個に対し、 シグナリングマネージャ 1 個をアタッチする必要があります (\fIattach\fP サブコマンド参照)。 .SS "物理インタフェースおよびネットワークインタフェース" 次の 2 種類のインタフェースがサポートされています: それぞれ物理インタフェースとネットワークインタフェースです。 物理インタフェースは ATM ネットワークへの物理的な接続点を表現します。 物理インタフェースは、自身に関連付けられた ATM アドレスを持ちます。 +ただし、PVC のみのシグナリングマネージャが使用されているときは例外です。 .PP ネットワークインタフェースは論理インタフェースです。 1 個以上のネットワークインタフェースを 1 個の物理インタフェースに 関連付けられます。 各ネットワークインタフェースは、自身に関連付けられた IP アドレスを持ちます。 -SPANS もしくは PVC のシグナリングマネージャが制御するインタフェースでは、 -各物理インタフェースには単一のネットワークインタフェースのみが -関連付けられる必要があります。 UNI が制御するインタフェースでは、 1 個の物理インタフェースに 256 個までのネットワークインタフェースを関連付けることができます。 この場合、ネットワークインタフェースと ATM アドレスの対応は、 物理インタフェースの ATM アドレスのセレクタフィールド (最後のバイト) によって行われます。 +PVC のみのインタフェースでは、 +各物理インタフェースに 256 個までの論理インタフェースを +関連付けることが可能です。 +SPANS もしくは PVC のシグナリングマネージャが制御するインタフェースでは、 +各物理インタフェースには単一のネットワークインタフェースのみが +関連付けられる必要があります。 .SS "キーワードと文書の約束" キーワードを十分区別できるだけの先頭部分を与えるだけで、 コマンドとサブコマンドのキーワードを短縮できます。 よって、\fIatm sh v\fB は \fIatm show vcc\fB と同じ結果になります。 .PP すべてのキーワードは大文字小文字の区別がありません。 .PP \fIatm\fP コマンドにホストアドレスを与える必要があるときには、 DNS での名前でも、ドット付き 10 進数形式による IP アドレスでも使用可能です。 .PP ATM アドレスは 16 進数の文字列として指定します。 前に "0x" を付けてもかまいません。 アドレス内のフィールドはピリオドで区切ってもかまいません。 ピリオドは読み易さのためだけにあり、単に無視されます。 SPANS アドレスは 8 バイト長であり、NSAP 形式アドレスは 20 バイト長です。 先行する 0 を含めて、全アドレスを指定する必要があります。 例: .in +5 0x47.0005.80.ffe100.0000.f21a.0170.0020481a0170.00 (NSAP 形式) .br 0x00000010.f2050aa9 (SPANS 形式) .in -5 .fi .SH サブコマンド .SS インタフェース管理サブコマンド: .in +5 .ti -5 \fIatm add PVC ...\fP .in -5 .PP \fIadd PVC\fP サブコマンドの形式は PVC の所有者に依存して変化します。 "IP 管理サブコマンド" を参照してください。 .PP \fIatm attach \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 シグナリングマネージャをアタッチする物理インタフェースを指定します。 .ti -5 \fI\fP は、どのシグナリングマネージャをアタッチするかを指定します。 有効な指定は、"SIGPVC", "SPANS", "UNI30", "UNI31" です。 .in -10 .PP このコマンドは、シグナリングマネージャをインタフェースにアタッチします。 この処理が完了するまで、VCC のオープンおよびクローズはできません。 1 度に 1 個のシグナリングマネージャのみインタフェースにアタッチ可能です。 .PP \fIatm detach \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 シグナリングマネージャをデタッチする物理インタフェースを指定します。 .in -10 .PP このコマンドは、インタフェースからシグナリングマネージャをデタッチします。 このシグナリングマネージャが作成した全 VCC はクローズされ、 再度 (同じもしくは異った) シグナリングマネージャが作成されるまで 新規の VCC は作成できません。 .PP \fIatm set MAC \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 MAC アドレスが設定される物理インタフェースを指定します。 .ti -5 \fI\fP は、 インタフェースの NSAP アドレスの 6 バイト MAC 部分を指定します。 MAC アドレスは 12 文字の 16 進数文字列により指定され、 先頭に "0x" を付けてもかまいません。 アドレス中のフィールドをピリオドで区切ってもかまいません。 .in -10 .PP このコマンドは、UNI が制御するインタフェースの MAC アドレスを設定します。 20 バイトの NSAP 形式アドレスのうち、 先頭 13 バイト (プレフィックス) が \fIatm set prefix\fP コマンドもしくは ILMI デーモン (\fIilmid\fP (8)) によって設定され、 次の 6 バイト (エンドシステム識別子 (End System Identifier; ESI)) が 本コマンドにより設定され、 最後のバイト (セレクタ) が どのネットワークインタフェースがアドレスに関連付けられているかによって 決定されます。 .PP \fIatm set MAC\fP コマンドを使用して、 インタフェースハードウェア中の MAC アドレスを上書き可能です。 .PP \fIatm set netif \fP .PP ここで: .in +10 .ti -5 \fI\fP は、ネットワークインタフェース (複数可) を関連付ける 物理インタフェースを指定します。 .ti -5 \fI\fP は、ネットワークインタフェース名の不変部分を指定します。 .ti -5 \fI\fP は、作成するネットワークインタフェース数を指定します。 .in -10 .PP このコマンドは 1 個以上のネットワークインタフェースを作成し、 これらを指定した物理インタフェースに関連付けます。 ネットワークインタフェース名は、プレフィックスとカウントから決定されます。 名前は の形式となり、 は \fIset\fP サブコマンドで指定するプレフィックスであり、 は 0 から -1 の範囲の値です。例えば、コマンド: .PP .ti +5 atm set netif hfa0 ni 2 .PP は ni0 と ni1 という名称の 2 個のネットワークインタフェースを作成し、 これらを物理インタフェース hfa0 と関連付けます。 .PP \fIatm set prefix \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 NSAP プレフィックスを設定する物理インタフェースを指定します。 .ti -5 \fI\fP は、 インタフェースの NSAP アドレスの先頭 13 バイトを指定します。 プレフィックスは16 進数文字列により指定され、 先頭に "0x" を付けてもかまいません。 プレフィックス中のフィールドをピリオドで区切ってもかまいません。 .in -10 .PP このコマンドは、UNI が制御するインタフェースのアドレスを設定します。 20 バイトの NSAP 形式アドレスのうち、 先頭 13 バイト (プレフィックス) が本コマンドにより設定され、 次の 6 バイト (エンドシステム識別子 (End System Identifier; ESI)) が 物理インタフェースから得られる MAC アドレスになるかまたは \fIset MAC\fP サブコマンドにより設定され、 最後のバイト (セレクタ) が どのネットワークインタフェースがアドレスに関連付けられているかによって 決定されます。 .PP UNI が制御するインタフェースがアクティブになる前に、 NSAP プレフィックスを設定する必要があります。 これは、ILMI デーモン (\fIilmid\fP (8)) もしくは \fIset prefix\fP サブコマンドにより実現されます。 .PP .I atm show config [] .PP 次の情報を表示します: .PP .B Interface \- 物理インタフェース名。 .PP .B Vendor \- アダプタベンダ名。 .PP .B Model \- アダプタのモデル。 .PP .B Media \- アダプタが使用する通信媒体。 .PP .B Bus \- アダプタがアタッチされているバスのタイプ。 .PP .B Serial No. \- アダプタのシリアル番号。 .PP .B MAC address \- インタフェースの MAC アドレス。 \fIatm set MAC\fP コマンドを使用して インタフェースの実効 MAC アドレスを変更した場合であっても、 これはアダプタのハードウェアにエンコードされた MAC アドレスです。 .PP .B Hardware version \- インタフェースが報告するハードウェアリビジョンレベル。 .PP .B Firmware version \- インタフェースが報告するファームウェアリビジョンレベル。 .PP \fIshow config\fP サブコマンドでパラメータを指定しない場合、 全物理インタフェースの設定が表示されます。 インタフェース名を指定すると、指定したインタフェースの設定だけが表示されます。 .PP .I atm show interface [] .PP 次の情報を表示します: .PP .B Interface \- 物理インタフェース名。 .PP .B Sigmgr \- インタフェースにアタッチされたシグナリングマネージャ名。 シグナリングマネージャがアタッチされていない場合、ダッシュ (-) が表示されます。 .PP .B State \- インタフェースのシグナリングマネージャの状態。 各シグナリングマネージャは、それぞれの状態の組み合わせを保持します。 それらを示します: .in +21 .ti -16 PVC: .ti -11 ACTIVE\ ---\ シグナリングマネージャはアクティブです。 .ti -11 DETACH\ ---\ シグナリングマネージャはデタッチされているところです。 .ti -16 SPANS: .ti -11 ACTIVE\ ---\ シグナリングマネージャはアクティブです。 .ti -11 DETACH\ ---\ シグナリングマネージャはデタッチされているところです。 .ti -11 INIT\ -----\ シグナリングマネージャの初期状態。 .ti -11 PROBE\ ----\ シグナリングマネージャは ATM スイッチと接続を行っているところです。 .ti -16 UNI 3.0 または UNI 3.1: .ti -11 NULL\ -----\ シグナリングマネージャの初期状態。 .ti -11 ADR_WAIT\ -\ シグナリングマネージャは NSAP プレフィックスが設定されるのを待っているところです。 .ti -11 INIT\ -----\ シグナリングマネージャはスイッチとの接続を確立しているところです。 .ti -11 ACTIVE\ ---\ シグナリングマネージャはアクティブです。 .ti -11 DETACH\ ---\ シグナリングマネージャはデタッチされているところです。 .ti -21 .PP .B ATM address \- インタフェースの ATM アドレス。 .PP .B Network interfaces \- 物理インタフェースに関連付けられたネットワークインタフェース名 (存在する場合)。 .PP \fIshow interface\fP サブコマンドでパラメータを指定しない場合、 全物理インタフェースの設定が表示されます。 インタフェース名を指定すると、指定したインタフェースの設定だけが表示されます。 .PP .I atm show netif [] .PP 次の情報を表示します: .PP .B Net Intf \- ネットワークインタフェース名。 .PP .B IP Address \- ネットワークインタフェースの IP アドレス。 .PP \fIshow netif\fP サブコマンドでパラメータを指定しない場合、 全物理インタフェースの設定が表示されます。 インタフェース名を指定すると、指定したインタフェースの設定だけが表示されます。 .PP \fIatm show stats interface [ [phy | dev | atm | aal0 | aal4 | aal5 | driver]]\fP .PP 1 個以上のインタフェースに関連する統計情報を表示します。 対象を示すキーワード (\fIphy\fP, \fIdev\fP, \fIatm\fP, \fIaal0\fP, \fIaal4\fP, \fIaal5\fP, \fIdriver\fP) を指定して、 表示する統計情報のスコープを変更可能です。 .PP 対象を表すキーワードを指定しないと、次の情報を表示します: .PP .B Interface \- 物理 ATM インタフェース名。 .PP .B Input PDUs \- インタフェースで受信した プロトコルデータユニット (Protocol Data Unit; PDU) 数。 .PP .B Input Bytes \- インタフェースで受信したバイト数。 .PP .B Input Errs \- インタフェースに発生した入力エラー数。 .PP .B Output PDUs \- インタフェースから送出した プロトコルデータユニット (Protocol Data Unit; PDU) 数。 .PP .B Output Bytes \- インタフェースから送出したバイト数。 .PP .B Output Errs \- インタフェースに発生した出力エラー数。 .PP .B Cmd Errs \- インタフェースに発生したコマンドエラー数。 .PP 対象を表すキーワードを指定すると、その対象の統計情報が表示されます。 表示される情報はアダプタ依存です。 要求した統計情報が利用不能なアダプタの場合、エラーが報告されます。 .PP \fIshow stats interface\fP サブコマンドでパラメータを指定しない場合、 全 ATM インタフェースの統計情報が表示されます。 インタフェース名を指定すると、 指定したインタフェースの統計情報だけが表示されます。 .PP .SS VCC 管理サブコマンド: .PP \fIatm delete PVC \fP .br \fIatm delete SVC \fP .PP ここで: .in +10 .ti -5 \fIPVC\fP は、クローズする VCC として PVC を指定します。 .ti -5 \fISVC\fP は、クローズする VCC として SVC を指定します。 .ti -5 \fI\fP は、 クローズする VCC が終端する物理インタフェースを指定します。 .ti -5 \fI\fP は、VCC の仮想パス識別子 (Virtual Path Identifier; VPI) を指定します。 .ti -5 \fI\fP は、VCC の仮想チャネル識別子 (Virtual Channel Identifier; VCI) を指定します。 .in -10 .PP このコマンドは、VCC をクローズします。 2 個の形式の違いは、 1 番目の形式が VCC は PVC (\fIadd PVC\fP サブコマンドで作成されたものです) であると指定するのに対し、 2 番目の形式が VCC は SVC であると指定することだけです。 予約された VCC (VCI 値が 32 未満のもの) は、このコマンドでクローズできません。 .PP \fIatm show stats VCC [ [ []]]\fP .PP 次の情報を表示します: .PP .B Interface \- VCC が終端する物理インタフェース。 .PP .B VPI \- VCC の仮想パス識別子 (Virtual Path Identifier; VPI)。 .PP .B VCI \- VCC の仮想チャネル識別子 (Virtual Channel Identifier; VCI)。 .PP .B Input PDUs \- VCC で受信した プロトコルデータユニット (Protocol Data Unit; PDU) 数。 .PP .B Input Bytes \- VCC で受信したバイト数。 .PP .B Input Errs \- VCC で発生した入力エラー数。 .PP .B Output PDUs \- VCC から送出した プロトコルデータユニット (Protocol Data Unit; PDU) 数。 .PP .B Output Bytes \- VCC から送出したバイト数。 .PP .B Output Errs \- VCC で発生した出力エラー数。 .PP .\" show status VCC の誤り? \fIshow VCC\fP サブコマンドでパラメータを指定しない場合、 アクティブな VCC すべてが表示されます。 インタフェース名を指定すると、 指定したインタフェースのアクティブな VCC すべてが表示されます。 インタフェースと VPI を指定すると、 指定したインタフェースの VPI に対するアクティブな VCC すべてが表示されます。 インタフェースと VPI と VCI が指定された場合、 指定されたインタフェースの指定された VCC だけが表示されます (SPANS は SVC を単方向と見なしますので、実際には 2 個の VCC になり得ます)。 .PP \fIatm show VCC [ [ [] | SVC | PVC]]\fP .PP 次の情報を表示します: .PP .B Interface \- VCC が終端する物理インタフェース。 .PP .B VPI \- VCC の仮想パス識別子 (Virtual Path Identifier; VPI)。 .PP .B VCI \- VCC の仮想チャネル識別子 (Virtual Channel Identifier; VCI)。 .PP .B AAL \- VCC で使用している ATM アダプテーションレイヤ (ATM Adaptation Layer; AAL)。 表示される値は、ヌルと AAL の 1 から 5 です。 .PP .B Type \- VCC が SVC か PVC かを指定します。 .PP .B Dir \- VCC の情報の流れの方向。 VCC は、入力・出力・双方向のいずれかになり得ます。 .PP .B State \- シグナリングマネージャが報告する、VCC の状態。 各シグナリングマネージャは、それぞれの状態の組み合わせを保持します。 それらを示します: .in +21 .ti -16 PVC: .ti -11 NULL\ -----\ 状態はありません。 .ti -11 ACTIVE\ ---\ VCC はアクティブです。 .ti -11 FREE\ -----\ VCC はクローズされ、 シグナリングマネージャは自己の資源が解放されることを待っています。 .ti -16 SPANS: .ti -11 NULL\ -----\ 状態はありません。 .ti -11 ACTIVE\ ---\ VCC は PVC であり、アクティブです。 .ti -11 ACT_DOWN\ -\ VCC は PVC であり、インタフェースがダウンしています。 .ti -11 POPEN\ ----\ VCC はオープンされるところです。 .ti -11 R_POPEN\ --\ VCC はリモートホストによってオープンされるところです。 .ti -11 OPEN\ -----\ VCC はアクティブです。 .ti -11 CLOSE\ ----\ VCC はクローズされるところです。 .ti -11 ABORT\ ----\ VCC は中断 (abort) するところです。 .ti -11 FREE\ -----\ VCC はクローズされ、 シグナリングマネージャは自己の資源が解放されることを待っています。 .ti -16 UNI 3.0 または UNI 3.1: .ti -11 NULL\ -----\ 状態はありません。 .ti -11 C_INIT\ ---\ VCC が開始 (initiate) されるところです。 .ti -11 C_OUT_PR\ -\ 外向きの VCC リクエストが進行しています。 .ti -11 C_PRES\ ---\ VCC がネットワークにより開始されるところです。 .ti -11 CONN_REQ\ -\ VCC リクエストが HARP ユーザに受理されました。 .ti -11 C_IN_PR\ --\ 内向きの VCC リクエストが進行しています。 .ti -11 ACTIVE\ ---\ VCC はアクティブです。 .ti -11 REL_REQ\ --\ VCC はクローズされるところです。 .ti -11 REL_IND\ --\ ネットワークが VCC をクリアしています。 .ti -11 SSCF_REC\ -\ シグナリングチャネルの SSCF セッションはエラーから回復中です。 .ti -11 FREE\ -----\ VCC はクローズされ、 シグナリングマネージャは自己の資源が解放されることを待っています。 .ti -11 ACT_DOWN\ -\ VCC は PVC であり、インタフェースがダウンしています。 .ti -21 .PP .B Encaps \- VCC で有効となっているカプセル化。 表示されるカプセル化は、ヌルか LLC/SNAP です。 .PP .B Owner \- VCC の所有者 (複数可) です。 VCC を使用している機能 (function) 名を表示します。 .PP .B Destination \- VCC のリモートエンドにあるホストの ATM アドレス。 .PP \fIshow VCC\fP サブコマンドでパラメータを指定しない場合、 アクティブな VCC すべてが表示されます。 インタフェース名を指定すると、 指定したインタフェースのアクティブな VCC すべてが表示されます。 インタフェースと VPI を指定すると、 指定したインタフェースの VPI に対するアクティブな VCC すべてが表示されます。 インタフェースと VPI と VCI が指定された場合、 指定されたインタフェースの指定された VCC だけが表示されます (SPANS は SVC を単方向と見なしますので、実際には 2 個の VCC になり得ます)。 .PP .SS IP 管理サブコマンド: \fIatm add ARP [] \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 ATMARP エントリが関連付けられるネットワークインタフェース名であり、 省略可能です。 名前を指定しないと、 追加されるホストの IP アドレスに依存して、 ネットワークインタフェースが選択されます。 .ti -5 \fI\fP は、ATMARP テーブルに追加されるホストの ホスト名もしくは IP アドレスです。 .ti -5 \fI\fP は、ホストの ATM アドレスです。 .in -10 .PP このコマンドは、ATM の ATMARP テーブルにエントリを追加します。 指定したホストの IP アドレスは、指定した ATM アドレスと関連付けられます。 IP がそのホストに対してデータを送出する必要があるとき、 指定した ATM アドレスを使用して SVC をオープンします。 .PP ATMARP テーブルのエントリには永続的の印が付けられ、 エイジングの対象にはなりません。 .PP .in +5 .ti -5 \fIatm add PVC IP | dynamic\fP .in -5 .PP ここで: .in +10 .ti -5 \fI\fP は、PVC が終端する物理インタフェースを指定します。 .ti -5 \fI\fP は、PVC の仮想パス識別子 (Virtual Path Identifier; VPI) を指定します。 .ti -5 \fI\fP は、PVC の仮想チャネル識別子 (Virtual Channel Identifier; VCI) を指定します。 .ti -5 \fI\fP は、PVC のATM アダプテーションレイヤ (ATM Adaptation Layer; AAL) を指定します。 使用可能な値は、"null" か、 ヌル AAL を表す "AAL0" か、 AAL 1 を表す "AAL1" か、 AAL 2 を表す "AAL2" か、 AAL 3/4 を表す "AAL3", "AAL4", "AAL3/4" のいずれかか、 AAL 5 を表す "AAL5" です。 .ti -5 \fI\fP は、PVC のカプセル化を指定します。 指定可能な値は、 カプセル化無しを表す "null" または "none" か、 LLC/SNAP カプセル化を表す "LLC/SNAP", "LLC", "SNAP" のいずれかです。 .ti -5 \fIIP\fP は、PVC の所有者が IP であることを指定します。 .ti -5 \fI\fP は、PVC が関連付けられるネットワークインタフェースを指定します。 ネットワークインタフェースが存在することと、 指定された物理インタフェースと関連付けられていることが必要です。 .ti -5 \fI | dynamic\fP は、 PVC の彼方にあるホストのアドレスを指定するか、 逆 ARP でアドレスを決定する必要がある場合には語 "dynamic" を指定します。 "dynamic" を指定する場合、LLC/SNAP カプセル化もまた指定する必要があります。 .PP このコマンドは、指定した属性の PVC を作成し、IP にアタッチします。 .PP \fIatm delete ARP [] \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 ATMARP エントリが関連付けられるネットワークインタフェース名であり、 省略可能です。 名前を指定しないと、 関連付けられているネットワークインタフェースにかかわらず、 指定したホストをキャッシュエントリから削除します。 .ti -5 \fI\fP は、ATMARP テーブルから削除されるホストの ホスト名もしくは IP アドレスです。 .PP このコマンドは、指定したホストのエントリを ATMARP テーブルから削除します。 .PP \fIatm set arpserver | local [ ...]\fP .PP ここで: .in +10 .ti -5 \fI\fP は、 ATMARP サーバアドレスが設定されるネットワークインタフェースを指定します。 .ti -5 \fI\fP は、 ATMARP サービスを提供するホストの ATM アドレスを指定します。 ATM アドレスではなく "local" が指定された場合、 このコマンドが発行されたホストが ATMARP サーバになります。 .ti -5 \fI ...\fP は、 ATMARP サーバの情報提供対象となる IP プレフィックスのリストであり、 省略可能です。 IP プレフィックスは、 ドット付き 10 進数の IP アドレス、 続いてスラッシュ、 続いて IP アドレスの何ビットが意味があるかを示す数字により指定されます。 例えば 10.0.0.0/8 は、 IP ネットワーク 10 の全アドレスに対して ATMARP サーバがサービスすることを 表現します。 ネットワークインタフェースが属する IP サブネットワークは、 自動的に含まれます。 .in -10 .PP このコマンドは、 ネットワークインタフェースに対して ATMARP サーバのアドレスを設定します。 .PP .I atm show ARP [] .PP 次の情報を表示します: .PP .B Net Intf \- エントリに対応するトラフィックが使用するネットワークインタフェース名。 .PP .B Flags .\" 最初の \- ... は消し忘れ? \- エントリが有効であるか、そして永続的であるかを示すフラグ。 \- ATMARP エントリの更なる情報を示すフラグ。 フラグの文字の意味は次の通りです: .PP .in +5 P - エントリは永続的です。 .br R - エントリはリフレッシュされました。 .br V - エントリは有効です。 .in -5 .PP .B Age \- エントリが有効なままでいる残り時間 (分)。 .PP .B Origin \- ATMARP エントリのソース。 表示される値は次の通りです: .in +16 .ti -11 LOCAL\ ----\ このエントリは、このホストのインタフェース用です。 .ti -11 PERM\ -----\ このエントリは、永続的です。 \fIadd ARP\fP コマンドで作成したエントリに対して使用されます。 .ti -11 REG\ ------\ このエントリは、 あるホストが ATMARP サーバに登録した結果として作成されました。 .ti -11 SCSP\ -----\ このエントリは、SCSP を介して学習しました。 .ti -11 LOOKUP\ ---\ このエントリは、 あるホストが ATMARP 検索 (lookup) を実行した結果として作成されました。 .ti -11 PEER_RSP\ -\ このエントリは、 あるホストが InARP リクエストに応答した結果として作成されました。 .ti -11 PEER_REQ\ -\ このエントリは、 あるホストが InARP リクエストを送信した結果として作成されました。 .in -5 .PP .B ATM address \- エントリが参照するホストの ATM アドレス。 .PP .B IP address \- エントリが参照するホストの IP アドレスまたはドメイン名。 .PP \fIshow ARP\fP サブコマンドでパラメータを指定しない場合、 ATMARP テーブルすべてが表示されます。 ホスト名もしくは IP アドレスが指定されると、 指定したホストに関する情報のみが表示されます。 .PP このコマンドは、動的に学習した情報 (あれやこれやの形式の ATMARP によるもの、または SCSP によるもの) と、 ユーザが設定した情報 (\fIadd ARP\fP サブコマンドによるもの) の両方を表示します。 .PP .I atm show arpserver [] .PP 次の情報を表示します: .PP .B Net Intf \- 情報表示対象のネットワークインタフェース。 .PP .B State \- ATMARP サーバへの接続状態。 表示される値は次の通りです: .in +16 .ti -11 NOT_CONF\ -\ インタフェースに対して ATMARP サーバが設定されていません。 .ti -11 SERVER\ ---\ このホストが ATMARP サーバです。 .ti -11 PEND_ADR\ -\ インタフェースに対して ATM アドレスが設定されていません。 .ti -11 POPEN\ ----\ このホストが ATMARP サーバに対して VCC をオープンしようとしています。 .ti -11 REGISTER\ -\ このホストは、 ATMARP サーバに対してオープンされた VCC を持っていて、 サーバに対して登録作業中です。 .ti -11 ACTIVE\ ---\ ATMARP サーバへの接続はアクティブです。 .in -16 .PP .B ATM Address \- ATMARP サーバの ATM アドレス。 .PP \fIshow arpserver\fP サブコマンドでパラメータを指定しない場合、 全ネットワークインタフェースに関する ATMARP サーバが表示されます。 インタフェース名を指定すると、 指定したネットワークインタフェースに関する情報のみ表示されます。 .PP .I atm show IPVCC [ | ] .PP 次の情報を表示します: .PP .B Net Intf \- VCC が終端するネットワークインタフェース名。 .PP .B VPI \- VCC の仮想パス識別子 (Virtual Path Identifier; VPI)。 .PP .B VCI \- VCC の仮想チャネル識別子 (Virtual Channel Identifier; VCI)。 .PP .B State \- VCC の状態。 表示される値は次の通りです: .in +15 .ti -10 PMAP\ ----\ ホストは送信すべき IP パケットを持っていて、 ATMARP マッピングを待っています。 .ti -10 POPEN\ ---\ VCC はオープンされているところです。 .ti -10 PACCEPT\ -\ リモートホストからの VCC が受理されているところです。 .ti -10 ACTPENT\ -\ PVC はオープンですが、ATMARP 情報はまだ利用できません。 .ti -10 ACTIVE\ --\ VCC はアクティブです。 .in -15 .PP .B Flags \- フラグは、VCC に関する更なる情報を表示します。 フラグの文字の意味は次の通りです: .PP .in +5 S - VCC は SVC です。 .br P - VCC は PVC です。 .br L - VCC は LLC/SNAP カプセル化を使用します。 .br M - VCC の IP-to-ATM アドレスマッピングは有効です。 .br N - VCC に関するアイドルタイムアウトはありません。 .in -5 .PP .B IP Address \- VCC のリモートエンドのホストの名前と IP アドレス。 .PP \fIshow IPVCC\fP サブコマンドでパラメータを指定しない場合、 アクティブな VCC すべてが表示されます。 ホスト名を指定すると、指定したホストのアクティブな VCC が表示されます。 ネットワークインタフェース名を指定すると、 指定したネットワークインタフェースのアクティブな VCC が表示されます。 .PP .SS その他のサブコマンド: .I atm help .PP サブコマンドとパラメータとともに、atm コマンドとの書式を表示します。 .PP .I atm show version 実行中の HARP ソフトウェアのバージョンを表示します。 .fi .SH 関連項目 \fIilmid\fP (8); \fIscspd\fP (8); \fIatmarpd\fP (8) .fi .SH バグ 物理インタフェースとネットワークインタフェースに混乱しないようにしてください。 .PP バグは harp-bugs@magic.net に報告してください。 .fi .SH COPYRIGHT Copyright (c) 1994-1998, Network Computing Services, Inc. .fi .SH 作者 John Cavanaugh, Network Computing Services, Inc. .br Mike Spengler, Network Computing Services, Inc. .br Joe Thomas, Network Computing Services, Inc. .fi .SH 謝辞 本ソフトウェアは、 Defense Advanced Research Projects Agency (DARPA) の協力により開発されました。 .SH 日本語訳 堀川和雄 diff --git a/ja/man/man8/boot_i386.8 b/ja/man/man8/boot_i386.8 index f57d8918db..c418b00fa1 100644 --- a/ja/man/man8/boot_i386.8 +++ b/ja/man/man8/boot_i386.8 @@ -1,269 +1,262 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software written and contributed .\" to Berkeley by William Jolitz. .\" .\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch. .\" .\" 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. .\" .\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94 -.\" %Id: boot_i386.8,v 1.15 1999/01/06 14:19:09 rnordier Exp % +.\" %Id: boot_i386.8,v 1.16 1999/01/19 09:04:18 rnordier Exp % .\" jpman %Id: boot_i386.8,v 1.5 1997/12/04 18:33:50 ken Exp % .\" .\" .Dd April 19, 1994 .Dt BOOT 8 i386 .Os .Sh 名称 .Nm boot .Nd システム立上げ時の手続き .Sh 解説 .Sy 電源断とクラッシュからの回復。 通常、電源復旧時とクラッシュ発生後には、システムは自動的にリブートし ます。ファイルシステムの整合性チェックが自動実行され、途中で失敗しな ければ、システムはマルチユーザ・モードに移行します。 .Pp .Sy コールドスタート。 -大多数の 386 -.Tn "PC AT" -互換機は、まずフロッピードライブ 0 (ドライブ A: ともいう) からの -ブートを試み、それに失敗すると、ハードディスクドライブ 0 (ドライブ C: も -しくは (紛らわしいが) ハードディスクドライブ 1 とも BIOS のドライブ -0x80 ともいう) からブートしようとします。いくつかの BIOS では、この -デフォルトの順序を変えたり、 CD-ROM デバイスをブートデバイスとして +大多数の i386 PC +は、まずフロッピドライブ 0 (ドライブ A: ともいう) からのブートを試み、 +それに失敗すると、 +ハードディスクドライブ 0 (ドライブ C: もしくは BIOS のドライブ 0x80 ともいう) +からブートしようとします。いくつかの BIOS では、この +デフォルトの順序を変えたり、CD-ROM デバイスをブートデバイスとして 含めることができます。 .Pp デフォルトでは 3 段階のブートストラップが使用され、 ブートブロック (ブートストラップの 第 1 および 第 2 段階) から、 これとは別の第 3 段階のブートストラッププログラム .Pa /boot/loader へと自動的に制御が移行されます。 この第 3 段階では、 ブート処理において、 -ブートブロックにおいて可能なことよりもかなり洗練された制御を提供します。 +ブートブロックにおいて可能なことよりも洗練された制御を提供します。 ブートブロックには、 ディスクやスライスの限られた空間しか与えられないという制約があります。 .Pp しかしながら、第 3 段階をまったく使用せずに済ますこともできます。 このようにするには、ブートブロックパラメータファイル .Pa /boot.config においてカーネル名を指定するか、 .Pa /boot/loader が起動される前の短い待ち時間 (文字 .Dv - , .Dv \e , .Dv \&| , .Dv / のいずれかが表示されている間) にキーを打ちます。 第 3 段階をロードできない場合にも、第 2 段階においてブートが試みられます。 .Pp 本サブセクションの残りの部分では、ブートブロックについてのみ扱います。 現在のところ、第 3 段階についての文書は、主に .Pa /boot/loader プログラム自身のオンラインヘルプを通じて利用可能です。 .Pp ブートブロックがロードされたあとで、次のようなプロンプトが現れます。 .Bd -literal >> FreeBSD/i386 BOOT Default: 0:wd(0,a)/kernel - boot: .Ed .Pp -(スクリーン上にはいくつかの情報も出力されているかもしれません) -.Pp -自動ブートにおいては、フロッピー +自動ブートにおいては、フロッピ もしくはハードディスクのパーティション .Ql a から .Pa /kernel をロードしようとします。 この動作は .Ql boot: というプロンプトが出ている間なら、キーボードから適当な文字を入力する ことで中断できます。以下にあげるような入力はブート動作に対する指示と して受付けられます。 .Bl -tag -width 10x .It \&? ブートファイルを探す際のヒントとして、デフォルトのブートデバイスの ルートディレクトリにあるファイルの名前を表示します。 (パスの最後の部分に .Dv \&? を指定することもできます。この場合、任意のサブディレクトリの一覧となります。) -.It Op bios_drive:interface(unit,part) Op filename Op Fl aCcDdghPrsv +.Pp +.It bios_drive:interface(unit,part) filename Op Fl aCcDdghPrsv ブートファイルとブートフラグを指定します。 .Bl -tag -width 10x -compact .It bios_drive BIOS によって認識されるドライブ番号です。 1 つ目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 .It interface そこからブートするコントローラのタイプです。ブートファイルのイメージ をロードするのには BIOS の機能を使用するので、そのコントローラに対す る BIOS サポートが必要となることに注意して下さい。 .Pp サポートされているインタフェースを以下にあげます。 .Bl -tag -width "wdXX" -compact .It wd WD100[2367] とその互換コントローラ上の ST506, IDE, ESDI, RLL ディスク .It fd 5 1/4" または 3 1/2" 高密度 フロッピ .It da サポートされている SCSI コントローラ上の SCSI ディスク .\".It cd .\"CDROM からのブート .El .It unit 使用されているインタフェース上のドライブのユニット番号です。 1 つ 目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 .It part ディスク上の BSD 部分内のパーティション文字です。詳しくは .Xr disklabel 8 を参照して下さい。慣例として、パーティション .Ql a のみが ブート可能なイメージを含んでいます。ディスクにスライス .Pq Dq fdisk パーティション か設けられていた場合、任意のスライスからブート可能です。 デフォルトでは、アクティブスライスから、 -これがない場合は最初のスライスからのブートとなります。 +これがない場合は最初の FreeBSD スライスからのブートとなります。 .It filename ブートファイルの (指定されたパーティションのルートディレクトリからの 相対) パス名です。デフォルトでは .Pa /kernel となります。シンボリックリンクはサポートされていません (ハードリンク は使用できます)。 .It Fl acCdDghPrsv ブートフラグです。 .Bl -tag -width "-CXX" -compact .It Fl a カーネル初期化中に、ルートファイルシステムとしてマウントされるデバイスを 尋ねて来るようにします。 .It Fl C CDROM からブートします。 .It Fl c ロードしたカーネルに対し、ハードウェアのパラメータを変更するため、 UserConfig を実行します。 カーネルが USERCONFIG_BOOT オプション付きで構築された場合、 スクリプト中に .Ic quit コマンドがあったとしても、UserConfig 中にとどまります。 .It Fl D シングルとデュアルのコンソール設定を切り替えます。シングル設定では、 下記の .Fl h オプションの状態によって、コンソールは内部ディスプレイかシリアルポートの いずれかになります。デュアルコンソール設定では、内部ディスプレイ とシリアルポートの両方が、 .Fl h オプションの状態によらず、同時にコンソールになります。しかし、 デュアルコンソール設定は、ブートプロンプトの間だけでしか効果を持ちません。 一旦カーネルがロードされると、 .Fl h オプションによって指定されたコンソールが唯一のコンソールになります。 .It Fl d カーネルの初期化のできる限り早い段階で DDB カーネルデバッガ .Pq Xr ddb 4 を参照 に入ります。 .It Fl g GDB リモートデバッギングプロトコルを使用します。 .It Fl h 内部コンソールとシリアルコンソールの切替えを行います。これを使用して コンソールデバイスを変更できます。例えば、内部コンソールからブートし た場合、カーネルがコンソールデバイスとしてシリアルポートを使用するよ うにするため、 .Fl h オプションを使用できます。反対に、シリアルポートからブートした場合、 カーネルがコンソールとして代わりに内部ディスプレイを使用するようにす るため、このオプションを使用できます。 カーネルを .Em options COMCONSOLE 付きでコンパイルした場合には、このオプションは効果ありません。 .It Fl P キーボードを検出します。キーボードが発見できなかった場合には、 .Fl D と .Fl h オプションが自動的にセットされます。 .It Fl r ルートファイルシステムを含むデバイスとしてスタティックに config され たデフォルトを使用します .Pq Xr config 8 を参照 。 .It Fl s シングルユーザ・モードで立上がるようになります。コンソールが .Dq insecure .Pq Xr ttys 5 を参照 に設定されていた場合には、root のパスワードを入力しなければなり ません。 .It Fl v デバイス検出の際 (そしてその後も) 、詳細を出力します。 .El .El .El .Pp デフォルトを設定するため、BIOS ドライブ番号, コントローラタイプ, ユニット番号, パーティション, カーネルファイル名と -.Fl D , -.Fl h , -.Fl P -オプションを +有効なオプションを .Pa /boot.config に書くこともできます。 .Ql boot: プロンプトでタイプするように、 1 行で書いてください。 .Sh 関連ファイル .Bl -tag -width /kernel.old.config -compact .It Pa /boot.config ブートブロックに対するパラメータ (必須ではない) -.It Pa /boot.help -ヘルプメッセージ (必須ではない) .It Pa /boot/loader 第 3 段階のブートストラップ .It Pa /kernel デフォルトカーネル .It Pa /kernel.old 普通は非デフォルトカーネル (必須ではない) .El .Sh 関連項目 .Xr ddb 4 , .Xr ttys 5 , +.Xr btxld 8 , .Xr config 8 , .Xr disklabel 8 , .Xr halt 8 , .Xr reboot 8 , .Xr shutdown 8 .Sh バグ このバージョンの .Bx で使用されているディスクラベルのフォーマットは、他のアーキテクチャで 使用されている物とは全く異なっています。 .Pp まだ記述されていない機能があります。 diff --git a/ja/man/man8/dset.8 b/ja/man/man8/dset.8 deleted file mode 100644 index 78e4c3eff3..0000000000 --- a/ja/man/man8/dset.8 +++ /dev/null @@ -1,82 +0,0 @@ -.\" -.\" Copyright (c) 1996 Joerg Wunsch -.\" -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" %Id: dset.8,v 1.7 1998/06/03 04:21:39 jkoshy Exp % -.\" jpman %Id: dset.8,v 1.3 1997/09/04 16:35:08 horikawa Stab % -.\" " -.Dd May 2, 1996 -.Dt DSET 8 -.Os FreeBSD -.Sh 名称 -.Nm dset -.Nd "ブートファイルの現在の設定への更新" -.Sh 書式 -.Nm dset -.Op Fl vqt -.Sh 解説 -.Nm dset -は、 -.Fl c -オプションを用いて起動した際に -.Em UserConfig -により変更された ISA デバイスの設定を記録します。 -(変更があった場合)変更は、 -.Xr getbootfile 3 -から得られる名前のファイルに記録されます。 -.Nm dset -は、通常 -.Pa /etc/rc -から起動されます。 -.Pp -.Nm dset -には以下のオプションがあります。 -.Bl -tag -width indent -compact -.It Fl v -冗長; 何を行ったかを表示します。 -.It Fl q -静寂; 如何なるエラーメッセージも表示しません。 -.It Fl t -テストのみ; 実際のブートファイルへの変更の記録は行わず、 -何が行われる可能性があるかの表示だけを行います。 -このオプションは暗に -.Fl v -オプションを含みます。 -.El -.Sh 診断 -.Nm -ユーティリティは成功した場合、終了コード 0 で終了し、何か問題が発生した -場合、終了コード 1 で終了します。 -.Fl q -オプションが指定されていなければ、問題の原因のヒントとなるメッセージを -標準エラーに出力します。 -.Sh 関連項目 -.Xr getbootfile 3 , -.Xr boot_i386 8 , -.Xr rc 8 -.Sh 歴史 -.Nm -コマンドは -.Fx 2.0.5 -から登場しました。 diff --git a/ja/man/man8/ftpd.8 b/ja/man/man8/ftpd.8 index 7e0ec3349c..7346b58fb1 100644 --- a/ja/man/man8/ftpd.8 +++ b/ja/man/man8/ftpd.8 @@ -1,465 +1,465 @@ .\" Copyright (c) 1985, 1988, 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. .\" .\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94 -.\" %Id: ftpd.8,v 1.24 1998/12/02 22:11:02 billf Exp % +.\" %Id: ftpd.8,v 1.25 1999/01/12 14:09:14 asami Exp % .\" jpman %Id: ftpd.8,v 1.3 1997/09/08 07:23:46 kuma Stab % .\" .Dd April 19, 1994 .Dt FTPD 8 .Os BSD 4.2 .Sh 名称 .Nm ftpd .Nd インターネットファイル転送プロトコルサーバ .Sh 書式 .Nm ftpd .Op Fl dl .Op Fl D .Op Fl R .Op Fl S .Op Fl U .Op Fl T Ar maxtimeout .Op Fl t Ar timeout .Op Fl a Ar address .Op Fl p Ar file .Sh 解説 .Nm は、インターネットファイル転送プロトコルサーバプロセスです。 このサーバは .Tn TCP プロトコルを用いて、 .Dq ftp サービスに割り当てられたポートを listen() します。 .Dq ftp サービスについては、 .Xr services 5 を参照して下さい。 .Pp 利用可能なオプションは以下の通りです: .Bl -tag -width indent .It Fl d syslog の LOG_FTP のファシリティ (facility) を用いてデバッグ情報を出力します。 .It Fl l .Xr ftp 1 セッションそれぞれの結果を、成功も失敗もともども syslog の LOG_FTP のファシリティを用いて ログに残します。このオプションが 2 回指定されると、 retrieve (get), store (put), append, delete, make directory, remove directory, rename の各操作およびそれらの引数で指定された ファイル名も記録されます。 注意: LOG_FTP メッセージはデフォルトでは .Xr syslogd 8 によって表示されません。場合によっては .Xr syslogd 8 Ns の設定ファイルでそれを有効にしなければなりません。 .It Fl D このオプションがセットされると、 .Nm は制御端末を切り離してデーモンとなり、 FTP ポートへの接続要求を待ち、 子プロセスを生成して接続要求に対応します。 この方式は .Nm を .Xr inetd 8 から起動するよりオーバヘッドが少ないため、 処理量の多いサーバで負荷を低減するのに役立ちます。 .It Fl R このオプションがセットされると、 .Nm は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して 古き良き時代の振る舞いに戻ります。 現在では、 .Nm はリモートユーザのホストの非特権ポートに向けられた PORT コマンド だけを用います (これは FTP プロトコルの仕様に違反していますが、 いくつかのセキュリティホールを閉じることができます)。 .It Fl S このオプションがセットされると、 .Nm は匿名 (anonymous) による転送の全てについてのログを、ファイル .Pa /var/log/ftpd が存在する場合に限り、このファイルに残します。 .It Fl U 以前のバージョンの .Nm では、パッシブモードのクライアントがサーバにデータ接続を要求すると、 サーバは 1024 〜 4999 の範囲のデータポートを使用していました。 現在のバージョンでは、サーバはデフォルトでは 49152 〜 65535 の範囲の データポートを使用しますが、 このオプションを指定することにより、以前の振る舞いに戻ります。 .It Fl T クライアントは異なったタイムアウト秒数を要求することもできます。 .Fl T オプションにより、 .Ar タイムアウト までの最大待ち時間を設定できます。 デフォルトは 2 時間です。 .It Fl t 何も操作しないで放置した場合のタイムアウト時間を .Ar timeout 秒に設定します (デフォルトは 15 分)。 .It Fl a .Fl D オプションが指定されている場合、 .Ar address で指定されたアドレスに対する接続のみを許可します。 .It Fl p .Fl D オプションが指定されている場合、 デーモンのプロセス ID を .Ar file に書き出します。 .It Fl A 匿名 ftp アクセスのみ許可します。 .El .Pp ファイル -.Pa /etc/nologin +.Pa /var/run/nologin は、ftp アクセスを拒否するのに使うことができます。 このファイルが存在する場合、 .Nm はそのファイルの内容を表示して終了します。 .Pa /etc/ftpwelcome ファイルが存在する場合、 .Nm は .Dq ready メッセージを表示する前にその内容を表示します。 もし .Pa /etc/ftpmotd ファイルが存在する場合、 ログイン成功後に .Nm はその内容を出力します。 使用される motd ファイルはログイン環境に対して相対であることに 注意してください。 つまり、匿名ユーザの場合には、 .Pa ~ftp/etc に存在することを意味じます。 .Pp この ftp サーバは、現在、以下の ftp リクエストをサポートしています。 リクエストの文字の大文字小文字の区別は無視されます。 .Bl -column "Request" -offset indent .It Sy リクエスト Ta Sy "説明" .It ABOR Ta "abort previous command" .It ACCT Ta "specify account (ignored)" .It ALLO Ta "allocate storage (vacuously)" .It APPE Ta "append to a file" .It CDUP Ta "change to parent of current working directory" .It CWD Ta "change working directory" .It DELE Ta "delete a file" .It HELP Ta "give help information" .It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" .It MKD Ta "make a directory" .It MDTM Ta "show last modification time of file" .It MODE Ta "specify data transfer" Em mode .It NLST Ta "give name list of files in directory" .It NOOP Ta "do nothing" .It PASS Ta "specify password" .It PASV Ta "prepare for server-to-server transfer" .It PORT Ta "specify data connection port" .It PWD Ta "print the current working directory" .It QUIT Ta "terminate session" .It REST Ta "restart incomplete transfer" .It RETR Ta "retrieve a file" .It RMD Ta "remove a directory" .It RNFR Ta "specify rename-from file name" .It RNTO Ta "specify rename-to file name" .It SITE Ta "non-standard commands (see next section)" .It SIZE Ta "return size of file" .It STAT Ta "return status of server" .It STOR Ta "store a file" .It STOU Ta "store a file with a unique name" .It STRU Ta "specify data transfer" Em structure .It SYST Ta "show operating system type of server system" .It TYPE Ta "specify data transfer" Em type .It USER Ta "specify user name" .It XCUP Ta "change to parent of current working directory (deprecated)" .It XCWD Ta "change working directory (deprecated)" .It XMKD Ta "make a directory (deprecated)" .It XPWD Ta "print the current working directory (deprecated)" .It XRMD Ta "remove a directory (deprecated)" .El .Pp 以下に示した非標準コマンドあるいは .Tn UNIX に特有のコマンドが、SITE リクエストでサポートされています。 .Pp .Bl -column Request -offset indent .It Sy リクエスト Ta Sy 説明 .It UMASK Ta change umask, e.g. ``SITE UMASK 002'' .It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60'' .It CHMOD Ta "change mode of a file, e.g. ``SITE CHMOD 755 filename''" .It HELP Ta give help information. .El .Pp Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは 解釈はされますがインプリメントされていません。 MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される FTP RFC には登場するでしょう。 .Pp ftp サーバがアクティブなファイル転送を中断するのは、ABOR コマンドの前に、 Telnet "Interrupt Process" (IP) シグナルか Telnet "Synch" シグナルが Telnet ストリーム内にある場合だけです。 これは Internet RFC 959 に記述されています。 もし、データの転送中に STAT コマンドを受けとり、その前に Telnet IP や Synch があった場合、転送ステータスが返されます。 .Pp .Nm は、 .Xr csh 1 で使われているファイル名展開を解釈します。これにより、 ユーザはメタキャラクタ .Dq Li \&*?[]{}~ を利用できます。 .Pp .Nm は、5 つのルールに従ってユーザの認証を行います。 .Pp .Bl -enum -offset indent .It ログイン名はパスワードデータベース になければならず、空のパスワードであってはいけません。 この場合、あらゆるファイルの操作に先だって、クライアント側からパスワードが 提供されていなければなりません。ユーザが S/Key のキーを持っている場合は、 USER コマンドが成功した際の応答には S/Key チャレンジを含めて送られます。 クライアントは、それに対して PASS コマンドを使って応答する際に、 通常のパスワードか S/Key のワンタイムパスワードのどちらをつけて応答 するかを選択できます。サーバはどちらのパスワードを受け取ったかを自動的に 判定し、それに応じて認証を試みます。S/Key の認証に関する詳細は .Xr key 1 を参照して下さい。S/Key は Bellcore 社の商標です。 .It ログイン名はファイル .Pa /etc/ftpusers に載っていてはいけません。 .It ログイン名はファイル .Pa /etc/ftpusers で指定されているグループのメンバであってはいけません。 このファイルでグループ名として解釈されるエントリの先頭には アットマーク .Ql \&@ が付きます。 .It ユーザは .Xr getusershell 3 が返す標準のシェルを持っていなければなりません。 .It ユーザ名がファイル .Pa /etc/ftpchroot に載っているか、そのファイルにあるグループエントリ (つまり .Ql \&@ で始まるエントリ) のメンバである場合、アカウント .Dq anonymous や .Dq ftp と同様、 .Xr chroot 2 によって、 そのセッションのルートディレクトリが ユーザのログインディレクトリに変ります (次の項目を参照して下さい)。 この機能は、 .Xr login.conf 5 でブール型フラグ "ftp-chroot" をオンにしても有効になります。 しかし、ユーザは依然、パスワードを与える必要があります。 この特徴は、完全に匿名 (anonymous) なアカウントと 完全な特権のあるアカウントの間での妥協的な利用のためのものです。 このアカウントは匿名アカウントで設定するのと同様に設定されていなければ なりません。 .It もしユーザ名が .Dq anonymous または .Dq ftp の場合は、匿名の ftp アカウントがパスワードファイル (ユーザ .Dq ftp ) で提供されていなければなりません。 この場合、ユーザはどのようなパスワードでもログインを許可されます (慣習としては ユーザの email アドレスをパスワードとして用いることになっています)。 .Fl S オプションがセットされていると、全ての転送操作も記録されます。 .El .Pp 最後のケースの場合、 .Nm は特別な手段でクライアントのアクセス権を制限します。 サーバは .Dq ftp ユーザのホームディレクトリへ .Xr chroot 2 します。 システムのセキュリティが侵害されないために、 .Dq ftp サブツリーは、以下の規則に従って慎重に構築することを推奨します。 .Bl -tag -width "~ftp/pub" -offset indent .It Pa ~ftp ホームディレクトリは .Dq root の所有とし、誰も書き込みできないようにします。 .It Pa ~ftp/bin このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 list コマンドのサポートのため、ここに .Xr ls 1 プログラムを置くことが必要です。 このプログラムのモードは 111 とすべきです。 .It Pa ~ftp/etc このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 .Xr ls が所有者を数字でなく名前で表示できるようにするために、 ファイル pwd.db ( .Xr passwd 5 参照) 及び .Xr group 5 が必要です。 ファイル .Xr passwd 中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。 ファイル .Pa ftpmotd が存在すると、ログイン成功後、その内容が表示されます。 このファイルのモードは 444 とすべきです。 .It Pa ~ftp/pub このディレクトリのモードは 777、所有者は .Dq ftp とします。 ゲストユーザは、このディレクトリ中にあって匿名アカウントで アクセス可能なファイルをアクセスします。 .El .Pp システムに複数の IP アドレスがある場合、 .Nm は仮想ホストの概念をサポートします。 仮想ホストは、複数の匿名 ftp 領域それぞれを別々のインターネットアドレス に割り当てる機能を提供します。 ファイル .Pa /etc/ftphosts は各仮想ホストに関連した情報を保持します。 各ホストはそれぞれの行で定義され、 各行は空白で区切ったいくつかのフィールドからなります: .Bl -tag -offset indent -width hostname .It hostname 仮想ホストのホスト名あるいは IP アドレス。 .It user システムのパスワードファイル中のユーザレコードを含みます。 普通の匿名 ftp と同様に、このユーザのアクセス UID, GID および グループによって匿名 ftp 領域のファイルアクセス権が決まります。 匿名 ftp 領域 (ログイン時にユーザが chroot するディレクトリ) は、 そのアカウントに対するホームディレクトリとして決定されます。 他の ftp アカウントのユーザ ID およびグループも、 標準 ftp ユーザと同じであって構いません。 .It statfile 全てのファイル転送のログが記録されるファイル。デフォルトでは .Pa /var/log/ftpd です。 .It welcome サーバがプロンプトを出す前に表示される welcome メッセージ。デフォルトでは .Pa /etc/ftpwelcome です。 .It motd このファイル内容はユーザがログインした後に表示されます。デフォルトでは .Pa /etc/ftpmotd です。 .El .Pp 文字 '#' で開始する行は無視されますので、コメントを含むことが可能です。 .Pp プライマリ IP アドレスあるいはホスト名に対する仮想ホストを定義すると、 そのアドレスへの ftp ログインのデフォルト値が変更されます。 \&'user', 'statfile', 'welcome', 'motd' の各フィールドは デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ \&'-' と しても構いません。 .Pp いかなる匿名ログインの設定についても言えることですが、 設定と保守には十分に注意を払い、セキュリティ上の問題をきたさないよう 防御しなければなりません。 .Pp .Em FTPD_INTERNAL_LS オプションをつけてコンパイルすると、 .Nm はリモートからのファイル一覧表示要求に対応するための内部サポートを用意し、 chroot された環境でもそれ以外でも .Pa /bin/ls を実行しなくなります。 この場合、 .Pa ~/bin/ls の実行形式ファイルは chroot されたディレクトリになくてよく、 .Pa ~/bin ディレクトリも存在する必要はありません。 このサポートは、 .Pa /etc/make.conf あるいはシェルの環境で .Em INTERNAL_LS 変数を設定して ftpd を作成することで追加されます。 .Sh 関連ファイル .Bl -tag -width /etc/ftpwelcome -compact .It Pa /etc/ftpusers 歓迎されない/制限を受けるユーザのリスト。 .It Pa /etc/ftpchroot chroot される一般ユーザのリスト。 .It Pa /etc/ftphosts 仮想ホストのための設定ファイル .It Pa /etc/ftpwelcome welcome メッセージ。 .It Pa /etc/ftpmotd login 後の welcome メッセージ。 -.It Pa /etc/nologin +.It Pa /var/run/nologin 内容を表示し、アクセスを拒否します。 .It Pa /var/log/ftpd 匿名による転送のログファイル。 .El .Sh 関連項目 .Xr ftp 1 , .Xr key 1 , .Xr getusershell 3 , .Xr login.conf 5 , .Xr inetd 8 , .Xr syslogd 8 .Sh バグ 特権ポート番号を用いてソケットを作成するために、 ftpd はスーパーユーザの権限で実行させて下さい。 サーバはログインユーザの実効ユーザ ID を保持しておき、 アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。 考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、 それでも不完全かもしれません。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja/man/man8/ipfw.8 b/ja/man/man8/ipfw.8 index 666c480ca4..aece95ac9a 100644 --- a/ja/man/man8/ipfw.8 +++ b/ja/man/man8/ipfw.8 @@ -1,597 +1,597 @@ .Dd July 20, 1996 .\" jpman %Id: ipfw.8,v 1.4 1997/05/19 17:19:51 horikawa Stab % .Dt IPFW 8 SMM .Os FreeBSD .Sh 名称 .Nm ipfw .Nd IPファイアウォール制御ユーティリィティ .Sh 書式 .Nm ipfw .Op Fl q .Oo .Fl p Ar preproc .Op Fl D Ar macro Ns Op Ns =value .Op Fl U Ar macro .Oc file .Nm ipfw .Oo .Fl f | .Fl q .Oc flush .Nm ipfw .Oo .Fl q .Oc zero .Op Ar number ... .Nm ipfw delete .Ar number ... .Nm ipfw .Op Fl aftN list .Op Ar number ... .Nm ipfw .Oo .Fl ftN .Oc show .Op Ar number ... .Nm ipfw .Oo .Fl q .Oc add .Op Ar number .Ar action .Op log .Ar proto from .Ar src to .Ar dst .Op via Ar name | ipno .Op Ar options .Sh 解説 書式の 1 行目のようにファイル名を指定した場合は、 .Ar file を 1 行ずつ、引数として読み込みます。 .Pp .Fl p Ar preproc を使用して、 .Ar file がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュから始まらない場合、 .Ev PATH を使用した通常の名前検索行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、本件に注意してください。 ひとたび .Fl p が指定されると、オプションの .Fl D と .Fl U の指定を続けることが可能となり、これらがプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp .Nm はパケットごとに、マッチするルールが見つかるまでルールリストを調べます。 各ルールにはパケット数とパケットサイズの 2 つのカウンタが用意されていて、 パケットがマッチするとカウンタ値は更新されます。 .Pp 全ルールは 1 から 65534 の範囲の行番号で順序付けられます。この番号によって ルールの並べ変えと削除を行ないます。 ルールのマッチングは昇順で行なわれ、最初にマッチしたものが適用されます。 複数のルールが同じ番号を共有することも可能です。この場合はルールが追加された 順序でマッチングが行なわれます。 .Pp -番号を指定せずにルールを追加した場合は、直前のルールの番号に 100 を加えたものと -なります。 -ルールの番号が 65534 より大きい場合は、新しいルールは最後のルールに追加されます +番号を指定せずにルールを追加した場合は、 +既に定義されているルールの最大の番号に 100 を加えたものとなります。 +ルールの番号が 65435 以上の場合は、新しいルールは同じ番号が与えられます。 。 .Pp delete 操作は .Ar number で指定された番号を持つ最初のルールを、もし有れば、削除します。 .Pp list 操作は現在のルール一覧を出力します。 .Pp show 操作は `ipfw -a list' と同じ結果を出力します。 .Pp zero 操作は .Ar number で指定された番号を持つルールのカウンタをクリアします。 .Pp flush 操作は全ルールを削除します。 .Pp 記号 `#' で始まる行および空行は無視されます。 .Pp どんな場合でも次のルールは存在します: .Bd -literal -offset center 65535 deny all from any to any .Ed .Pp 全パケットを拒否するのがデフォルトのポリシーです。 これを修正し、必要なルールを設定して下さい。 .Pp しかしながら、カーネルオプション .Dq IPFIREWALL_DEFAULT_TO_ACCEPT が有効な場合、ルールは次のようになります: .Bd -literal -offset center 65535 allow all from any to any .Ed .Pp このバリエーションでは全てが通過可能です。 このオプションを有効にしてよいのは特定の状況だけであり、 例えば通常は解放しており、 必要に応じてサービス拒否 (denial-of-service) フィルタとなる ファイアウォールシステムを使用する場合がこれに該当します。 .Pp オプションは以下のものが利用可能です。 .Bl -tag -width flag .It Fl a list 操作の時、カウンタの値を表示します。 show の項を参照のこと。 .It Fl f 操作を実行する際に確認メッセージを表示しません。 flush 操作も無条件に実行されます。 .Ar (注意) プロセスに tty が関連付けられていない場合には、 このオプションが指定されているものとして実行されます。 .It Fl q ルールを add, zero, flush する際に、メッセージの出力を抑制します ( .Fl f も含まれます)。 このオプションは、リモートログインセッションでルールを調整する際に、 (例えば sh /etc/rc.firewall のようにして)スクリプトの中から複数の ipfw コマンド を 実行する場合や、 多数の ipfw ルールを記述したファイルを用いる場合に 便利です。 flush 操作が通常の(冗舌な)状態(デフォルトのカーネルの設定) で実行されると、メッセージが出力されます。 ここで、すべてのルールは削除されるので、メッセージをログインセッションに 送ることができず、ログインセッションがクローズされてしまうので、 残りのルールセットは実行されません。 この状態を修復するにはコンソールへのアクセスが必要となります。 .It Fl t list 操作の時に、最後にマッチしたパケットのタイムスタンプを表示します。 .It Fl N IPアドレスとサービス名をリゾルブしてホスト名で表示します。 .El .Pp .Ar action : .Bl -hang -offset flag -width 1234567890123456 .It Ar allow マッチするパケットを通過させ、マッチングを終了します。 .Ar pass , .Ar permit , .Ar accept と同じです。 .It Ar deny マッチするパケットを破棄し、マッチングを終了します。 .Ar drop は .Ar deny と同じです。 .It Ar reject (パケットを送らないよう嘆願) マッチするパケットを破棄し、 ICMP の host unreachable を送信して、終了します。 .It Ar unreach code パケットを破棄し、ICMP の unreachable に .Ar code を付けて送信します。 .Ar code は、 0 から 256 までの数字、もしくは、以下に列挙する別名のいずれかです: .Ar net, .Ar host , .Ar protocol , .Ar port , .Ar needfrag , .Ar srcfail , .Ar net-unknown , .Ar host-unknown , .Ar isolated , .Ar net-prohib , .Ar host-prohib , .Ar tosnet , .Ar toshost , .Ar filter-prohib , .Ar host-precedence , .Ar precedence-cutoff 。送信後、終了します。 .It Ar reset TCP パケットのみに対応。 パケットを破棄し、TCP の (RST) を送信し、終了します。 .It Ar count マッチするパケットのカウンタを更新し、引続きマッチングを行ないます。 .It Ar divert port マッチするパケットを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、マッチングを終了します。 .It Ar tee port マッチするパケットのコピーを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、引続きマッチングを行ないます。 この機能は未実装です。 .It Ar fwd ipaddr Op ,port マッチしたパケットの次のホップを .Ar ipaddr に変更します。これはドット付き 4 つ組の IP アドレスでもホスト名でもよいです。 .Ar ipaddr が直接到達可能なアドレスではない場合、その IP に対して ローカルルーティングテーブルでみつかる経路を使用します。 .Ar ipaddr がローカルアドレスの場合、 リモートホストからこのシステムにパケットが到着すると、 そのパケットをローカルマシンの .Ar port に転換します。 その際、 ソケットのローカルアドレスは、 パケットの元々の宛先の IP アドレスのままとします。 これは透過的プロキシサーバのためにあります。 IP が ローカルアドレスではない場合、ポート番号は (指定されていても) 無視され、 ルールはシステムから出て行くパケットに対してのみ適用されます。 また、」 パケットローカルに生成された時にもアドレスをローカルポートにマップします。 検索はルールがマッチしたときに終了します。 ポート番号が与えられなかった場合、パケット中のポート番号が使用され、 外部マシンのポート Y へのパケットは ローカルポート Y へ転送されます。 カーネルは、 オプション IPFIREWALL_FORWARD 付きでコンパイルされている必要があります。 .It Ar skipto number .Ar number より小さな番号のルールを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、マッチングを継続します。 .El .Pp パケットが .Ar divert や .Ar tee のどちらかひとつ以上、もしくは両方の組み合わせの、複数のルールにマッチした場合、 最後のものを除き、無視します。 .Pp カーネルが .Dv IPFIREWALL_VERBOSE オプション付きでコンパイルされている場合に、``log'' が指定されているルールと マッチした時は、メッセージをコンソールに表示します。 もし、 .Dv IPFIREWALL_VERBOSE_LIMIT オプション付きでコンパイルされている場合、一連のルールに対し指定されたパケット 数を受信した後、メッセージの表示を中止します。 パケットのカウンタをクリアすれば再びメッセージを出力します。 .Pp コンソールへの表示とその制限数は、 .Xr sysctl 8 を通し、直接設定できます。 .Pp .Ar proto : .Bl -hang -offset flag -width 1234567890123456 .It Ar ip 全パケットがマッチします。別名 .Ar all も使えます。 .It Ar tcp TCP パケットのみマッチします。 .It Ar udp UDP パケットのみマッチします。 .It Ar icmp ICMP パケットのみマッチします。 .It Ar 指定されたプロトコルのパケットのみマッチします ( .Pa /etc/protocols のリストを参照の事) .El .Pp .Ar src と .Ar dst : .Pp .Bl -hang -offset flag .It Ar
.Op Ar ports .El .Pp .Em
は以下のように指定できます。 .Bl -hang -offset flag -width 1234567890123456 .It Ar ipno IP番号を 1.2.3.4 の形式で指定します。指定されたアドレスのみがマッチします。 .It Ar ipno/bits IP番号とネットマスクの幅を 1.2.3.4/24 の形式で指定します。 この場合は 1.2.3.0 から 1.2.3.255 のアドレスがマッチします。 .It Ar ipno:mask IP番号とネットマスクの幅を 1.2.3.4:255.255.240.0 の形式で指定します。 この場合は 1.2.0.0 から 1.2.15.255 のアドレスがマッチします。 .El .Pp アドレスの前に ``not'' を付けることによって、マッチの意味を反転させる ことができます(指定されたアドレス以外の総てのアドレスがマッチします)。 これはポート番号には影響しません。 .Pp TCP と UDP ではさらに、 .Em ports を以下のように指定できます。 .Pp .Bl -hang -offset flag .It Ns {port|port-port} Ns Op ,port Ns Op ,... .El .Pp ポート番号の代わりに(ファイル .Pa /etc/services から取った)サービス名を使用できます。 port-port の書式で、最初の値に限り範囲指定できます。 列挙出来るポート数は .Pa /usr/src/sys/netinet/ip_fw.h で .Dv IP_FW_MAX_PORTS として定義されています。 .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 一つ以上のポート仕様を持つルールにはマッチしません。? 断片化されたパケットへのマッチングに関する詳細は .Ar frag オプションを参照してください。 .Pp マッチングのルールは、入ってくるパケットか、出ていくパケット、もしくはその両方 に対し適応されます。 .Ar in を指定すれば、入ってくるパケットのみにルールを適応します。 .Ar out を指定すれば、出ていくパケットのみに適応します。 .Pp 特定のインタフェースを通過するパケットには、 .Ar via を用いてインタフェースを指定します: .Bl -hang -offset flag -width 1234567890123456 .It Ar via ifX .Ar ifX を通過するパケットを指定します。 .It Ar via if* .Ar ifX を通過するパケットを指定します。X はいずれかのユニットの番号です。 .It Ar via any .Em いずれか のインタフェースを通過するパケットを指定します。 .It Ar via ipno IP アドレスが .Ar ipno のインタフェースを通過するパケットを指定します。 .El .Pp .Ar via を用いると、常時指定されたインタフェースがチェックされます。 .Ar recv や .Ar xmit を、 .Ar via の代わりに指定すると、 受信、もしくは送信インタフェースのみが(各々に)チェックされます。 両方を指定すれば、 受信と送信の両方のインタフェースを通るパケットを指定できます。 例 : .Pp .Dl "ipfw add 100 deny ip from any to any out recv ed0 xmit ed1" .Pp .Ar recv で指定したインタフェースでは、受信と送信、両方のパケットをチェックできます。 それに対し、 .Ar xmit で指定したインタフェースでは、送信パケットのみとなります。 それゆえに、 .Ar xmit を指定すると .Ar out が、必須です( .Ar in は不可)。 .Ar via と共に .Ar xmit もしくは、 .Ar recv を指定する事はできません。 .Pp 個々のパケットは、受信用ないし送信用インタフェースを持たないかもしれません。 ローカルホストで発生したパケットには受信用のインタフェースはないし、 ローカルホスト内宛のパケットは、送信用インタフェースが有りません。 .Pp 追加用 .Ar options : .Bl -hang -offset flag -width 1234567890123456 .It frag パケットが断片(フラグメント)化されたデータグラムの一部で、かつデータグラムの 先頭の断片でない場合にマッチします。 .Ar frag を、 .Ar tcpflags や TCP/UDP ポート仕様と共に使用することはできません。 .It in ネットワークから受信したパケットのみマッチします。 .It out ネットワークへ送信するパケットのみマッチします。 .It ipoptions Ar spec IP ヘッダが、 .Ar spec に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 サポートされている IP オプションは .Ar ssrr (strict source route), .Ar lsrr (loose source route), .Ar rr (record packet route), .Ar ts (timestamp) です。 ``!'' によって、特定のオプションを含めないよう指定できます。 .It established RST または ACK ビットがセットされているパケットのみマッチします。 このビットがセットされることがあるのは TCP のパケットのみです。 .It setup SYN ビットがセットされ ACK がセットされていないパケットのみマッチします。 このビットがセットされることがあるのは TCP のパケットのみです。 .It tcpflags Ar spec TCP ヘッダが .Ar spec に指定されたコンマで区切られたフラグのリストを含む場合にのみマッチします。 サポートされているフラグは、 .Ar fin , .Ar syn , .Ar rst , .Ar psh , .Ar ack , .Ar urg です。 ``!'' によって、特定のフラグを含めないよう指定できます。 .Ar tcpflags 仕様を含むルールは非 0 のオフセットを持つ断片化されたパケットに マッチすることはありません。 断片化されたパケットに関するマッチについての詳細は .Ar frag オプションを参照してください。 .It icmptypes Ar types ICMP タイプが .Ar types で指定されたリスト中に存在する場合にのみ適用されるルールとなります。 リストはレンジの組み合わせでも、各タイプをコンマで区切ったものでもどちらでも かまいません。 .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点を述べます。 .Bl -bullet -hang -offset flag .It かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる のがよいでしょう。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 長所 ファイアウォールが常に破棄するパケットが 1 種類あります。 フラグメントオフセットが 1 のフラグメントパケットです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 .Pp ネットワーク越しにログインしている場合、LKM 版の .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset center modload /lkm/ipfw_mod.o && \e ipfw add 32000 allow all from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset center ipfw flush .Ed .Pp とするのは良くありません。 .Pp システムセキュリティレベルが 3 以上に設定されている場合、 IP フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .Sh パケットの行き先変更 指定されたポートを見ているソケットは、そのポートへ行き先変更されたパケットを、 全部受けとります。 .Xr divert 4 を参照して下さい。ポートを見ているソケットがない場合やカーネルがパケットの行き 先変更をサポートするようにはコンパイルされていない場合、パケットは破棄されます 。 .Sh 使用例 次のコマンドは .Em cracker.evil.org から .Em wolf.tambov.su の telnet ポートへ送られる全ての TCP パケットを拒否するルールを追加します。 .Pp .Dl ipfw add deny tcp from cracker.evil.org to wolf.tambov.su 23 .Pp 次のコマンドはネットワーク hackers からホスト my への全てのコネクションを 拒否します。 .Pp .Dl ipfw add deny all from 123.45.67.0/24 to my.host.org .Pp 次はカウントされている情報とタイムスタンプを見る例です .Pp .Dl ipfw -at l .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a l .Pp 次のルールは 192.168.2.0/24 からの全ての受信パケットを、5000番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 all from 192.168.2.0/24 to any in .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr divert 4 , .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr init 8 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ .Pp .Em WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!! .Pp このプログラムはコンピュータをかなり使いにくい状態にしてしまう可能性があります 。 はじめて使用する時はコンソール上で実行し、理解していない操作は .Em 絶対に実行しない ようにして下さい。 .Pp 連続したエントリの操作もしくは追加に際し、サービス名やプロトコル名は使用できま せん。 .Pp 入ってきたパケットの断片(フラグメント)が .Ar divert によって行き先を変更されると、ソケットに配送される前に、組み立て直しをします。 それに対し、 .Ar tee を経由した断片(フラグメント)は、組み立て直しされません。 .Pp ポートの別名でダッシュ (-) を含むものは、リストの最初には書けません。 .Pp ``tee'' アクションは未実装です。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs . API は .An Daniel Boulet が BSDI 向けに記述したコードに基づいています。 .Sh 歴史 .Nm は、FreeBSD 2.0 で最初に現れました。 diff --git a/ja/man/man8/mail.local.8 b/ja/man/man8/mail.local.8 index b9c11db8cc..b83202181e 100644 --- a/ja/man/man8/mail.local.8 +++ b/ja/man/man8/mail.local.8 @@ -1,103 +1,103 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)mail.local.8 8.7 (Berkeley) 5/19/1998 .\" 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 は EOF がくるまで標準入力から読み込みを行い、 それらを各 .Ar user の .Pa mail ファイルに追加します。 .Ar user は、有効なユーザ名でなければなりません。 .Pp オプション: .Bl -tag -width xxxfrom .It Fl f Ar from 送り手の名前を指定します。 .It Fl b .Dq biff サービスに通知する事をやめます。 .It Fl s .Dq success 状態を返す前にメールボックスをディスクにコミットするために使用する、 .Xr fsync 2 呼び出しを無効にします。 .El .Pp メールボックスのなかの個々のメッセージは、 空行に続く ``From '' という文字列からはじまる行によって区切られます。 ``From'' という文字列、送り手 (sender) の名前、 時刻 (time stamp) を含む行が配送されたメールそれぞれに 付加されます。 空行がそれぞれのメッセージに追加されます。 大なり記号 (``>'') は ``From '' によって誤って別のメッセージとして処理 される可能性のある行の行頭に付加されます (それは、空白行に続く行で ``From '' という 5 文字で始まる行です)。 .Pp メールファイルはメールが追加されている間は .Xr flock 2 によって排他的にロックされます。 メールボックスがロックされている間、 .Pa user.lock が作成されますが、これは古い MUA との互換性のためです。 .Pp .Xr getservbyname 3 が ``biff'' を返すと、 biff サーバにメールの配送が伝えられます。 .Pp .Nm mail.local は成功すれば 0 を、失敗すれば 0 より大きな値を返します。 .Sh 環境変数 .Bl -tag -width indent .It Ev TZ タイムスタンプを記録する際に適切なタイムゾーンを設定します。 .El .Sh 関連ファイル .Bl -tag -width /tmp/local.XXXXXX -compact .It Pa /tmp/local.XXXXXX テンポラリファイル .It Pa /var/mail/user ユーザのメールボックスディレクトリ .It Pa /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 (メールボックスを読む際、配送時と同様に扱います) は .At v7 から、 .Nm mail として現れました。 diff --git a/ja/man/man8/mailstats.8 b/ja/man/man8/mailstats.8 index c218986b34..0ae15e1632 100644 --- a/ja/man/man8/mailstats.8 +++ b/ja/man/man8/mailstats.8 @@ -1,88 +1,100 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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.5 (Berkeley) 5/19/98 +.\" @(#)mailstats.8 8.8 (Berkeley) 11/13/1998 .\" .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 は、現在のメールの統計情報を表示します。 .Pp まず、統計が開始された時刻が .Xr ctime 3 で指定されるフォーマットで表示されます。 次に、各メーラの状態が 1 行で表示されます。 それぞれ空白で区切られた次のフィールドからなります: .Pp .Bl -tag -width 10n -offset indent -compact .It Sy M メーラ番号。 .It Sy msgsfr メーラからのメッセージ数。 .It Sy bytes_from メーラからのキロバイト数。 .It Sy msgsto メーラへのメッセージ数。 .It Sy bytes_to メーラへのキロバイト数。 +.It Sy msgsrej +拒否されたメッセージ数。 +.It Sy msgsdis +捨てられたメッセージ数。 .It Sy Mailer メーラ名。 .El .Pp この表示の後、 すべてのメーラの総計行が表示されますが、 等号 .Pq Dq \&= 文字のみからなる行によりその前の情報と分けられます。 .Pp オプションは以下の通りです: .Bl -tag -width Ds .It Fl C デフォルトの .Nm sendmail .Dq cf ファイルの代りに指定されたファイルを読みます。 .It Fl f .Nm sendmail .Dq cf ファイルで指定されている統計情報ファイルの代りに、 指定された統計情報ファイルを読みます。 +.if \nP \ +\{ +.It Fl p +プログラムが読み取る形式で情報を出力し、統計情報をクリアします。 +.\} .It Fl o 出力においてメーラ名を表示しません。 .El .Pp .Nm mailstats は成功時には 0 で、エラー時には >0 で終了します。 .Sh 関連ファイル .Bl -tag -width /var/log/sendmail.st -compact -.It Pa /etc/sendmail.cf +.ie \nP .It Pa /etc/mail/sendmail.cf +.el .It Pa /etc/sendmail.cf デフォルトの .Nm sendmail .Dq cf ファイル -.It Pa /var/log/sendmail.st +.ie \nP .It Pa /etc/mail/statistics +.el .It Pa /var/log/sendmail.st デフォルトの .Nm sendmail 統計情報ファイル .El .Sh 関連項目 .Xr mailq.1 , .Xr sendmail 8 diff --git a/ja/man/man8/makemap.8 b/ja/man/man8/makemap.8 index daee6c1071..e073488434 100644 --- a/ja/man/man8/makemap.8 +++ b/ja/man/man8/makemap.8 @@ -1,117 +1,128 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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.10 (Berkeley) 5/19/98 +.\" @(#)makemap.8 8.12 (Berkeley) 11/13/1998 .\" 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 -.Op Fl N +.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 は、 .Xr sendmail 8 がキー付きマップを検索する際に用いるデータベースマップを作成します。 これは標準入力から読み込みを行い、指定された .Ar mapname に出力を行います。 .Pp コンパイル方法に依存しますが、 .Nm は最大 3 種類のデータベースフォーマットを扱います。 扱うフォーマットは .Ar maptype で指定します。 .Ar maptype には、以下のようなものがあります。 .Pp .Bl -tag -width Fl .It Li dbm .Tn DBM フォーマットマップ。 .Xr ndbm 3 ライブラリが必要です。 .It Li btree B-Treeフォーマットマップ。 新しい Berkeley DB ライブラリが必要です。 .It Li hash ハッシュフォーマットマップ。 同じく Berkeley DB ライブラリが必要です。 .El .Pp すべてのフォーマットで、 .Nm makemap は標準入力から空白文字で区切られた 2 つの単語を読み込みます。 最初の単語はデータベースキーで、2番目の単語がその値です。 値が ``%\fIn\fP'' .Pf ( Ar n は数字)という文字列を含んでいると、sendmail がパラメータ置換を行います。 .Dq % という文字を含めるには、``%%'' とする必要があります。 空行や ``#'' から始まる行は無視されます。 .Pp .Ss フラグ .Bl -tag -width Fl .It Fl N 文字列の終端記号として、ヌル文字もマップに含めます。 これは、sendmail.cf の ``K'' 行における \-N フラグと一致していなければ なりません。 +.if \nP \ +\{\ +.It Fl c +指定したハッシュと B-Tree キャッシュサイズを使用します。 +.\} .It Fl d マップ中に重複するキーが存在することを許します。 B-Treeフォーマットマップでのみ可能です。 2 つの同じキーが読まれた場合、両方ともマップに挿入されます。 .It Fl f 通常、キーのなかのすべての大文字(upper case)は、 すべて小文字(lower case)として記録されますが、 このフラグを指定することによってこの動作を行わないように指定できます。 これは、sendmail.cf 中の \fBK\fP 行における \-f フラグと一致していなければなりません。 +.if \nP \ +\{\ +.It Fl l +サポートされているマップタイプを列挙します。 +.\} .It Fl o すでにあるファイルに追加が行われます。 すでに存在するファイルを引数として指定することができます。 .It Fl r すでに存在しているキーを置き換えます。 通常はすでに入力したキーをさらに繰り返して入力しても、 .Nm は警告を出力し、データベースには取り込みません。 .It Fl s 生成されるマップの安全チェックを無視します。 これには、 だれでも書き込めるディレクトリへのハードリンクおよびシンボリックのチェックも 含まれます。 .It Fl v 処理の内容を詳細に表示します。 .El .Sh 関連項目 .Xr sendmail 8 .Sh 歴史 .Nm コマンドは .Bx 4.4 から登場しました。 diff --git a/ja/man/man8/mount_msdos.8 b/ja/man/man8/mount_msdos.8 index a068107662..cbf098151b 100644 --- a/ja/man/man8/mount_msdos.8 +++ b/ja/man/man8/mount_msdos.8 @@ -1,223 +1,214 @@ .\" $NetBSD: mount_msdos.8,v 1.13 1998/02/06 05:57:00 perry Exp $ .\" .\" Copyright (c) 1993,1994 Christopher G. Demetriou .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by Christopher G. Demetriou. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %Id: mount_msdos.8,v 1.14 1998/06/30 06:23:41 charnier Exp % .\" jpman %Id: mount_msdos.8,v 1.3 1997/09/08 01:55:26 seki Stab % .\" .Dd April 7, 1994 .Dt MOUNT_MSDOS 8 .Os .Sh 名称 .Nm mount_msdos .Nd MS-DOS ファイルシステムをマウントする .Sh 書式 .Nm mount_msdos .Op Fl o Ar options .Op Fl u Ar uid .Op Fl g Ar gid .Op Fl m Ar mask .Op Fl s .Op Fl l .Op Fl 9 .\".Op Fl G .Op Fl L Ar locale .Op Fl W Ar table .Pa special .Pa node .Sh 解説 .Nm コマンドは、デバイス名 .Pa special 上の MS-DOS ファイルシステムを、 グローバルファイルシステムの名前空間の .Pa node の示す位置に接続します。 通常このコマンドは、ブート時に .Xr mount 8 によって実行されますが、 任意のユーザが、 自分の所有する任意のディレクトリに MS-DOS ファイルシステムをマウントするために使うこともできます。 (もちろん、 そのファイルシステムを含むデバイスに対して 適切なアクセスを行えることが条件ですが。) .Pp オプションは以下のものが使用できます: .Bl -tag -width Ds .It Fl o Ar options 指定されたマウントオプション .Ar options を .Xr mount 8 の記述通り使用します。 .It Fl u Ar uid ファイルシステム上のファイルの所有者を .Ar uid にします。デフォルトの所有者はファイルシステムがマウントされるディレクトリの 所有者です。 .It Fl g Ar gid ファイルシステム上のファイルのグループを .Ar gid にします。デフォルトのグループはファイルシステムがマウントされるディレクトリの グループです。 .It Fl m Ar mask ファイルシステム上のファイルの最大のパーミッションを指定します。 (例えば、 Ar mask .Li 755 は、デフォルトで、 .\" ここでの by default は「MS-DOS の『ファイル属性』として特別な指定 .\" がないとき」という意味であると思われる。意味がわかりにくいが、原文 .\" もわかりにくいので、特に説明を補わない。 .\" by 所有者がファイルの読み書き実行の権限を持ち、 他のユーザが読みと実行の権限だけを持つことを指定します。 8 進のファイルモードに関しては .Xr chmod 1 を御覧下さい。) .Ar mask の下位 9 ビットのみが使用されます。 デフォルトの .Ar mask は、 ファイルシステムがマウントされるディレクトリから取得されます。 .It Fl s Win'95 のロングファイル名を無視および生成しないように強制します。 .It Fl l Win'95 のロングファイル名のリストおよび生成と、 生成/修正/アクセス日を分離するように強制します。 .Pp .Fl s も .Fl l も指定されない場合、 .Nm は既存の Win'95 のロングファイル名から マウントすべきファイルシステムのルートディレクトリを探してマウントします。 -このようなエントリが見付からなかった場合、 +このようなエントリが見付からなかった場合で、 +短い DOS ファイル名が見付かった場合、 .Fl s がデフォルトです。そうでない場合、 .Fl l が仮定されます。 .It Fl 9 ファイルを削除およびリネームするときにおいても、 特殊な Win'95 のディレクトリエントリを無視します。 これは .Fl s を強制します。 .\".It Fl G .\"This option causes the filesystem to be interpreted as an Atari-Gemdos .\"filesystem. The differences to the MS-DOS filesystem are minimal and .\"limited to the boot block. This option enforces .\".Fl s . .It Fl L Ar locale DOS と Win'95 の国際大文字小文字名前変換において使用される ロケール名を指定します。 デフォルトでは ISO 8859-1 がローカルな文字セットと仮定されます。 .It Fl W Ar table 3 個の変換表を含むテキストファイルを指定します: .Bl -enum .It Win'95 のロングファイル名に対して、 ローカル文字セットから Unicode へ変換する表 (上半分)であり、 128 Unicode コードです。 Unicode に存在しないコードがあった場合、 0x003F コード ('?') を代わりに使用します。 .It DOS 名に対して、 DOS からローカル文字セットへ変換する表 (上半分) であり、 128 文字コードです。 変換できないものに対しては、 コード 0x3F ('?') を使用します。 .It DOS 名に対して、 DOS からローカル文字セットへ変換する表 (上半分) であり、 128 文字コードです。 特殊な意味を持つコードがあります: .Bl -hang .It 0x00 DOS フィイル名において禁止されている文字; .It 0x01 DOS ファイル名において '_' に変換されるべき文字; .It 0x02 DOS ファイル名においてスキップされるべき文字; .El .El .Pp デフォルトでは ISO 8859-1 がローカル文字セットとして仮定されます。 パスが絶対パスでない場合、 .Pa /usr/libdata/msdosfs/ プレフィックスが前に付きます。 .El .Sh 関連ファイル .Bl -tag -width /usr/libdata/msdosfs -compact .It Pa /usr/libdata/msdosfs 文字セット変換表のデフォルトの置き場所 .El .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 .Sh 警告 Win'95 で使用しているものと同様の手続きを使用して注意しているにもかかわらず、 .Fl 9 フラグを使用するとファイルシステムを破壊することがあります。 .Pp .Fx 2.1 およびそれ以前のバージョンでは 16K より大きなクラスタサイズを扱えませんでした。 MS-DOS ファイルシステムをマウントするだけで、 そのファイルシステムを破壊してしまうことがありました。 16K より大きなクラスタサイズは 1G より大きなファイルシステムでは避けようがありませんし、 1G より大きなファイルシステムを FIPS で縮めたときにも発生し得ます。 -.Pp -デフォルトの -.Fl s -および -.Fl l -の扱いによって、 -空のファイルシステムにおいて短いファイル名のみ発生することがあります。 -空の DOS ファイルシステムにおいてロングファイル名を生成するには -.Fl l -を使用してください。 .Sh 歴史 .Nm は .Fx 2.0 にて初めて登場しました。 この元になった、 .Nm mount_pcfs は .Fx 1.0 にて登場しましたが、 よりそれらしい名前の .Nm が出来たため廃止されました。 diff --git a/ja/man/man8/mrouted.8 b/ja/man/man8/mrouted.8 index d13f58ba37..61970fff84 100644 --- a/ja/man/man8/mrouted.8 +++ b/ja/man/man8/mrouted.8 @@ -1,449 +1,627 @@ -.\"%Id: mrouted.8,v 1.11 1998/08/31 16:41:08 wosch Exp % +.\"%Id: mrouted.8,v 1.12 1999/01/20 07:55:51 fenner Exp % .\" jpman %Id: mrouted.8,v 1.3 1997/07/26 22:00:11 horikawa Stab % .Dd May 8, 1995 .Dt MROUTED 8 .Sh 名称 .Nm mrouted .Nd IP マルチキャストルーティングデーモン .Sh 書式 .Nm mrouted .Op Fl c Ar config_file .Op Fl d Op Ar debug_level .Op Fl p .Sh 解説 .Nm は、RFC1075 にて規定されている Distance-Vector Multicast Routing Protocol (DVMRP) の実装です。本コマンドは distance-vector routing protocol (RIP に似たプロトコルであり、RFC1058 に記述されています) を使うことで、ネットワークトポロジに関する情報を管理し、 そのプロトコルの上で、Reverse Path Multicasting と呼ばれる マルチキャストデータグラムフォワーディングアルゴリズムを実装しています。 .Pp .Nm は、マルチキャストデータグラムを、データグラムが生成されたサブネットを幹と して樹状に構成されるパス上に、パスの最短距離を通過するようにして送出します。 マルチキャストツリーは目的のグループを含むサブネットを越えないブロード キャストツリーと考えることができます。 したがって、データグラムはマルチキャストの受け手がいない枝には送出され ません。 さらに、マルチキャストデータグラムパケットの生存時間によっては、到達で きる範囲が限定される場合もあります。 .Pp IP マルチキャストをサポートしない (ユニキャスト) ルータを介したサブネット間で、 マルチキャストを実現する場合、 .Nm の実装にはトンネリングのサポートも含まれます。トンネリングとは、 インターネットのあらゆるところにて稼働している -.Nm +マルチキャストルータ の組の間で仮想的なポイントツーポイントリンクを確立する技術です。 IP マルチキャストパケットは、トンネルを通過するところでカプセル化されます。 カプセル化されたパケットは、 ルータ及びサブネットを進む通常のユニキャストデータグラムに見えます。 トンネルの入口でカプセル化が行われ、トンネルの出口でカプセルが取り外されます。 -デフォルトでは、パケットは、IP-in-IP プロトコル +パケットは、IP-in-IP プロトコル (IP プロトコル番号 4) を用いることでカプセル化を 行ないます。 古いバージョンの .Nm のトンネリングは、 IP ソースルーティングを用いたものですが、 本手法はルータによっては大きな負荷をかけることになります。 本バージョンでは、IP ソースルーティングを用いたトンネリングは サポートしません。 .Pp トンネリング機構の実装により、 .Nm は、 実際のインターネットとは独立の、 マルチキャストパケットのみを扱う広範囲の自立システムに跨る 仮想インターネットを構築できます。 これを可能にすることにより、 実験的ではあるが、インターネットマルチキャストをサポートし、 (ユニキャスト)ルータによるマルチキャストルーティング を可能にします。 .Nm は deistance vector ルーティングプロトコルが持つ よく知られたスケーリングの問題の影響を被りますし、 階層的なマルチキャストルーティングを (まだ) サポートしていません。 .Pp .Nm はマルチキャストルーティングのみを扱いますので、同じ機械の上でユニキャ ストルーティングソフトが走っていてもいなくても構いません。 トンネリングを利用すれば、 .Nm はマルチキャストフォーワーディングのためにひとつより多くの 物理的なサブネットにアクセスする必要がありません。 .Pp -以下のオプションを使用可能です: +次のオプションを使用可能です: .Bl -tag -width indent .It Fl c Ar config_file 別の設定コマンドファイルを指定します。 デフォルトは .Pa /etc/mrouted.conf です。 .Fl d オプションが与えられないか、もしくは debug level として 0 が指定された 場合、 .Nm は起動された端末から切り離されます。それ以外の場合は、 .Nm は、起動された端末に残り、起動された端末からの割り込みを受け付けます。 -.Fl d -が引数なしで指定された場合の debug level はデフォルトの 2 です。 debug level の指定の有無にかかわらず、 .Nm は常に警告メッセージやエラーメッセージを syslogd に対して送ります。 -0 以外の debug level が指定された場合、以下の挙動を示します: +.Fl debug-level +引数は、次に示すものをコンマで区切ったリストです: .Bl -tag -width indent -.It "level 1" -すべての syslog へ出力されるメッセージは、stderr へも出力されます。 -.It "level 2" -debug level 1での挙動に加え、重要と思われる挙動通知を stderr に出力します。 -.It "level 3" -debug level 2 での挙動に加え、すべてのパケット送出/到着について stderr -に出力します。 -.El -.It Fl p -枝苅りを抑止します。 +.It "packet" +送受信したすべてのパケットに関し、タイプ・ソース・宛先を表示します。 +.It "pruning" +送受信した枝苅りに関し、更なる情報を表示します。 +.It "routing" +送受信した経路更新パケットに関し、更なる情報を表示します。 +.It "route_detail" +経路更新に関し、過度に詳細な程表示します。 +大概の場合、情報が多すぎるでしょう。 +.It "neighbors" +隣接ルータ発見に関し、情報を表示します。 +.It "cache" +カーネルのフォワーディングキャッシュに関し、挿入・削除・更新を表示します。 +.It "timeout" +タイムアウトと定期処理をデバッグします。 +.It "interface" +インタフェースとその設定に関し、情報を表示します。 +.It "membership" +物理インタフェースにおけるグループメンバシップに関し、情報を表示します。 +.It "traceroute" +このルータを通過するマルチキャスト経路追跡要求に関し、情報を表示します。 +.It "igmp" +グループメンバシップおよび問い合わせ者選出を含む IGMP 操作を表示します。 +.\" Display IGMP operation including group membership and querier election. +.\" including 以降はこれで良いのか? +.It "icmp" +ICMP 操作を監視します。 +.It "rsrr" +RSRR 操作を監視します。 .El +.Pp 起動にともない、 .Nm はその pid を .Pa /var/run/mrouted.pid ファイルに 書き出します。 .Sh 初期設定 .Nm は、自動的にすべてのマルチキャスト可能なインタフェース、 つまり、IFF_MULTICAST フラグがセットされたインタフェース (ループバックインタフェースは除きます) に対して初期化を行い、別の -.Nm +DVMRP ルータ に直接接続可能なインタフェースを探索します。 デフォルトの設定を上書きする、あるいは別の -.Nm +マルチキャストルータ に対するトンネルリンクを付加するには、 .Pa /etc/mrouted.conf (もしくは .Fl c オプションによって指定されるファイル) を編集します。 -コンフィギュレーションのためには以下の 4 種類のコマンドがあります。 -.nf - - phyint [disable] [metric ] [advert_metric ] - [threshold ] [rate_limit ] - [boundary (|/)] - [altnet /] - - tunnel [metric ] [advert_metric ] - [threshold ] [rate_limit ] - [boundary (|/)] - - cache_lifetime - - name / - -.fi +設定のためには次の 4 種類のコマンドがあります。 .Pp ファイルの形式は自由です。すなわち、空白文字 (改行も含みます) は意味を 持ちません。 -.Em boundary -と -.Em altnet -オプションは必要な数だけ指定して下さい。 +.I mrouted +の操作全体またはデフォルト設定に適用されるコマンドから、ファイルは開始します。 +.Bl -tag -width indent +.It cache_lifetime Ar secs +マルチキャストフォワーディングキャッシュ経路の生存時間を、秒で指定します。 +カーネル内のマルチキャストフォワーディングキャッシュのエントリは、 +.Ar secs +秒毎にチェックされ、ソースがアクティブな場合にはリフレッシュされ、 +そうでない場合は削除されます。 +この値を設定するときには注意してください。 +小さな値を設定するとカーネルキャッシュは小さくなりますが、 +定期的な送信者がいると +キャッシュの「スラッシング」が起るという弊害がありますし、 +大きな値を設定すると許容できない程カーネルキャッシュが大きくなります。 +デフォルトは 300 (5 分) です。 +.It prune_lifetime Ar secs +親に送った枝苅りの平均生存時間を、秒で指定します。 +実際の生存時間は [.5\fIsecs\fP,1.5\fIsecs\fP] の範囲でランダムとなります。 +デフォルトは 7200 (2 時間) です。 +小さな値を設定するとこのルータおよび親ルータが保存する状態は少なくなりますが、 +ブロードキャストの頻度が高くなるという弊害があります。 +隣接ルータのリブート判定に +DVMRP の世代 ID を使用しないルータがあります +(例えば 3.3 以前の mrouted と、cisco の IOS の現在知られている全バージョン)。 +リブートからの回復時間を短縮するために、 +これらの隣接ルータに送信した枝苅りを保持する時間は短くすべきです。 +このような状況で使用する場合、後述するように +prune_lifetime キーワードをインタフェースに指定すると良いでしょう。 +.It noflood +.Nm +は DVMRP 最適化を使用し、 +各隣接ルータに対して個々にルーティングテーブルを持つことを避けます。 +接続されている個々のサブネットに対し、 +隣接ルータがフォワーダであると開始時に仮定することも、この最適化の一部です。 +ちょうと今開始したルータと正しいフォワーダの両方が +トラフィックをフォワードすることにより、 +短期間 (およそ経路報告間隔 1 回分) 重複が生じることがあります。 +この動作は noflood キーワードを指定することにより停止できます。 +.Nm +が隣接ルータをフォワーダであると仮定しなくなるためです。 +noflood を指定すると、再開時におよそ経路報告間隔 1 回分、 +ブラックホールを生じさせることがあります。 +noflood キーワードは個々のインタフェースに指定可能です。 +.It rexmit_prunes Ar [on|off] +デフォルトでは、 +.Nm +は枝苅りを全ポイントツーポイントインタフェース (トンネル含む) に対して +再フォワードしますが、マルチアクセスインタフェースに対しては行いません。 +本オプションを使用すると、全インタフェースに対してデフォルトをオン +(またはオフ) にします。 +rexmit_prunes キーワードもまた個々のインタフェースに指定可能です。 +.It name Ar "boundary-name scoped-addr/mask-len" +.Ar boundary-name +を +.Ar scoped-addr/mask-len +で記述される境界に関連付け、設定ファイルにおいて、 +インタフェース設定を読み易くし、繰り返しを減らします。 +.El .Pp -phyint コマンドはローカル IP アドレス によって認識される -物理インタフェース上のマルチキャストルーティングを無効にするか、 -デフォルトでない metric あるいは threshold を -物理インタフェースに結びつけます。 -ローカル IP アドレス はインタフェース名 (le0 等) -で代用できます。 -phyint が複数の IP からなるサブネットに向けられる場合、 +設定ファイルの第 2 の部分は、空でも構いませんが、 +物理インタフェースに適用されるオプションを記述します。 +.Bl -tag -width indent +.It phyint Ar "local-addr|ifname" +phyint コマンド自身は何もしません。 +単なる埋め草であり、この後にインタフェース固有のコマンドが続きます。 +インタフェースのアドレスまたは名前を指定します。 +.It disable +本インタフェースにおけるマルチキャストのフォワーディングを無効にします。 +デフォルトでは、 +.Nm +はローカルに接続されたマルチキャスト可能なインタフェースをすべて発見し、 +それらすべてに対してフォワードします。 +.It netmask Ar netmask +カーネルの netmask がサブネットを正確に反映していない場合 +(例えば IP サブネット化の代りに代理 ARP 使用の場合)、 +netmask コマンドを使用して実際の netmask を記述してください。 +.It altnet Ar network/mask-len +phyint が複数の IP からなるサブネットに接続されている場合、 altnet キーワードを使用してそれぞれのサブネットについて記述して下さい。 -phyint コマンドは tunnel コマンドより前に書く必要が有ります。 -.Pp -tunnel コマンドはローカル IP アドレス と -リモート IP アドレス とを結ぶトンネルリンクを作り、 -デフォルトでない metric あるいは threshold をそのトンネルに結びつけます。 -ローカル IP アドレス はインタフェース名(le0 等)で -置き換えても構いません。 -リモート IP アドレス は、 -ホスト名に結びつけられた IP アドレスが 1 つである場合に限り、 -ホスト名で置き換えても構いません。 -双方のルータの -.Pa mrouted.conf -ファイルにおいて、 -そのトンネルが使用される前に記述されている必要があります。 +本コマンドを複数回使用して、複数のサブネットを記述可能です。 +.It igmpv1 +phyint 上に IGMPv1 ルータが存在する場合、 +\fBigmpv1\fP キーワードを使用して +.Nm +を強制的に IGMPv1 モードにしてください。 +phyint 上の全ルータは、同じバージョンの IGMP を使用する必要があります。 +.It force_leaf +このインタフェース上の他のルータを無視するように、 +.Nm +に強制します。 +mrouted は、本インタフェース上では、 +隣接ルータへプローブを送りませんし、受け付けません。 +.El .Pp -cache_lifetime はキャッシュされたマルチキャスト経路がタイムアウトまで -に kernel 内にどれだけ保持されるかを定めます。この変数は 300 (5 分) か -ら 86400 (1 日) の間がいいでしょう。デフォルトは 300 です。 +更に、後述する共通の vif コマンドを phyint に対してすべて使用可能です。 .Pp -設定をキーワードを用いて簡単に行うために、境界に名前をつけることもでき -ます。phyint あるいは tunnel コマンドの boundary オプションは -名前もしくは boundary のいずれかを受け付けます。 +設定ファイルの第 3 の部分は、これも空でも構いませんが、 +このルータが持つ DVMRP トンネルの設定を記述します。 +.Bl -tag -width indent +.It tunnel Ar "local-addr|ifname" Ar "remote-addr|remote-hostname" +このコマンドは、このホスト ( +.Ar local-addr +または +.Ar ifname +で記述されるインタフェース) とリモートホスト ( +.Ar remote-addr +または +.Ar remote-hostname +で識別されます) との間の DVMRP トンネルを確立します。 +リモートのホスト名は、単一の IP アドレスにマップされる場合のみ使用可能です。 +トンネルは、使用前に、両方のルータ上で構成されている必要があります。 + +リモートアドレスへのユニキャスト経路が、 +.Ar "local-addr|ifname" +で指定されるインタフェースから出て行くように気を付けてください。 +.Nm +が扱うパケットの宛先に送出インタフェースのアドレスを含む場合、 +パケットのソースアドレスを書き換えてしまう UNIX カーネルがあります。 +安全第一のためには、静的なホスト単位の経路を使用してください。 +.El .Pp -metric は与えられたインタフェースかトンネルへデータグラムを送るため -の -\&"コスト" です; 経路の選択に影響を与えます。 -デフォルト値は 1 です。metric は可能なかぎり小さくすべきです。 +後述する共通の vif コマンドを phyint に対してすべて使用可能です。 +.Bl -tag -width indent +.It metric Ar m +metric は、 +指定したインタフェースもしくはトンネルでデータグラムを受信するための +「コスト」であり、経路選択に影響を与えるために使用します。 +metric のデフォルト値は 1 です。metric は可能なかぎり小さくすべきです。 なぜなら、 -.Nm +DVMRP は metric の合計が 31 を越える経路を通ることができないからです。 -.Pp -advert_metric は、与えられたインタフェースもしくは tunnel に関連する -\&"コスト" です; -これは経路選択に影響します。 +.It advert_metric Ar m +advert_metric は、 +指定したインタフェースもしくはトンネルでデータクラムを送信するための +「コスト」であり、経路選択に影響を与えるために使用します。 advert_metric のデフォルト値は 0 です。 リンクの実際の metric は一端の metric ともう一端の advert_metric との和です。 -.Pp +.It threshold Ar t threshold は最小の IP の生存時間であり、 この要件を満たすマルチキャストデータグラムは -指定されるインタフェースもしくはトンネルを転送されます。 -このパラメータによりマルチキャストデータグラムの到達範囲が定められます。 -(転送されたパケットの TTL は threshold と比較するだけで、 -threshold だけ TTL を減らしたりはしません。 -すべてのマルチキャストルータは TTL を 1 づつ減らします。) -デフォルト値は 1 です。 -.Pp -特定のサブネットやトンネルへ接続する +指定したインタフェースもしくはトンネルにフォワードされます。 +このパラメータは、 +マルチキャストデータグラムの到達範囲を定めるために使用します。 +(フォワードされたパケットの TTL は threshold と比較されるだけで、 +threshold だけ TTL を減らすというわけではありません。 +すべてのマルチキャストルータは TTL を丁度 1 づつ減らします。) +threshold のデフォルト値は 1 です。 + +特定のサブネットやトンネルへ接続される +全マルチキャストルータ +は、一般的にはすべて同じ metric と threshold を持つべきです。 +.It rate_limit Ar r +rate_limit オプションによって、 +マルチキャストトラフィック用に何キロビット毎秒のバンド幅を割り当てるかを、 +ネットワーク管理者は指定可能です。 +デフォルト値は、0 (無制限) です。 +.It boundary Ar "boundary-name|scoped-addr/mask-len" +boundary オプションは、ある範囲のアドレスに対して、管理可能な境界を設定します。 +この範囲のアドレスに属するパケットは範囲内のインタフェース +にはフォワードされません。boundary オプションは名前もしくは境界にて指定します。 +単一のインタフェースに対して本コマンドを複数回使用して、 +複数の境界を記述可能です。 +.It passive +もう一端から何かが聞こえるまで、 +このリンクまたはトンネルに対してパケットを送出しません。 +要求時にダイヤルするリンク上のトンネルにおける「サーバ」側で +使用すると良いです。 +「サーバ」側を passive とすることで、 +もう一方から何かが聞こえるまで定期的なプローブをサーバは送りませんので、 +リンクをアップ状態に保つということはありません。 +トンネルの両端でこのオプションを指定すると、 +トンネルは何時になっても使えないでしょう。 +.It noflood +前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 +.It prune_lifetime Ar secs +前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 +.It rexmit_prunes Ar "[on|off]" +前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 +枝苅りの再送信のデフォルトは、 +ポイントツーポイントリンクとトンネルではオンであり、 +マルチアクセスリンクではオフです。 +.It allow_nonpruners +デフォルトでは、枝苅りをサポートしないと主張する DVMRP 隣接ルータとは .Nm -は、一般的にはすべて同じ metric と threshold を持ちます。 -.Pp -rate_limit オプションによって、ネットワークの管理者はマルチキャスト -トラフィックのために何キロビット毎秒のバンド幅をわりあてればよいかを指定 -できます。デフォルト値は、トンネルは 500Kbps、 -物理インタフェースは 0 (無制限) です。 -.Pp -boundary オプションは、ある範囲のアドレスに対して、管理可能な境界を設 -定します。この範囲のアドレスに属するパケットは範囲内のインタフェース -には転送されません。boundary オプションは名前もしくは境界にて指定します。 +は仲間にはなりません。 +本オプションを使用すると、本インタフェースにおいて、 +このようなルータとも仲間となります。 +.It notransit +経路フィルタリングの特殊ケースです。 +\&"notransit" とマークされたインタフェースから学習された経路は、他の +\&"notransit" とマークされたインタフェースにおいて広告されません。 +単一のインタフェースのみを "notransit" とマークしても、意味はありません。 +.It accept|deny Ar "(route/mask-len [exact])+" Op bidir +.Li accept +および +.Li deny +のコマンドにより、原始的な経路フィルタリングが可能となります。 +.Li accept +コマンドにより、設定されたインタフェースに関してリストされた経路のみ、 +.Nm +は受け付けます。 +.Li deny +コマンドにより、リストされた経路以外のすべての経路を、 +.Nm +は受け付けます。 +あるインタフェースには、 +.Li accept +または +.Li deny +のどちらかのみ使用可能です。 + +.Li accept +と +.Li deny +のキーワードの後には、経路のリストが続きます。 +経路の後にキーワード +.Ar exact +が続くと、その経路のみがマッチします。 +指定しない場合には、その経路とより具体的な経路がマッチします。 +例えば、 +.Li deny 0/0 +はすべての経路を拒否しますが、 +.Li deny 0/0 exact +はデフォルト経路のみ拒否します。 +デフォルト経路は +.Li default +キーワードで指定することも可能です。 + +.Ar bidir +キーワードは双方向の経路フィルタリングを可能にします。 +フィルタは、出力および入力の両方の経路に適用されます。 +.Ar bidir +キーワードを指定しないと、 +.Li accept +および +.Li deny +のフィルタは、入力に対してのみ適用されます。 +Poison reverse 経路は、フィルタにより取り除かれることはありません。 +.El .Pp .Nm は 2 つ以上の有効な vif (仮想インタフェース) が無いときには実行を開始しません。 vif はマルチキャスト可能な物理インタフェースもしくはトンネルです。 -全ての仮想インタフェースがトンネルの場合は警告が記録されます; +すべての仮想インタフェースがトンネルの場合は警告が記録されます。 そのような .Nm の設定は、より多くの直接トンネルを指定した方が良いかもしれません (中間管理者を削除するという意味です)。 .Sh 設定例 -以下は大きな学校にある架空のマルチキャストルータでの例です。 +次に示すのは大きな学校にある架空のマルチキャストルータでの例です。 .sp .nf # # mrouted.conf example # # Name our boundaries to make it easier name LOCAL 239.255.0.0/16 name EE 239.254.0.0/16 # # le1 is our gateway to compsci, don't forward our # local groups to them phyint le1 boundary EE # # le2 is our interface on the classroom net, it has four # different length subnets on it. # note that you can use either an ip address or an # interface name phyint 172.16.12.38 boundary EE altnet 172.16.15.0/26 altnet 172.16.15.128/26 altnet 172.16.48.0/24 # # atm0 is our ATM interface, which doesn't properly # support multicasting. phyint atm0 disable # # This is an internal tunnel to another EE subnet # Remove the default tunnel rate limit, since this # tunnel is over ethernets tunnel 192.168.5.4 192.168.55.101 metric 1 threshold 1 rate_limit 0 # # This is our tunnel to the outside world. # Careful with those boundaries, Eugene. tunnel 192.168.5.4 10.11.12.13 metric 1 threshold 32 boundary LOCAL boundary EE .fi .Sh シグナル .Nm -は以下のシグナルに反応します。 +は次のシグナルに反応します。 .Bl -tag -width indent .It HUP .Nm を再スタートします。 設定ファイルは再度読み込まれます。 .It INT 後かたづけをしてから実行終了します (たとえば、隣接するルータすべてにさよならのメッセージを送ります)。 .It TERM INT と同じです。 .It USR1 内部ルーティングテーブルを .Pa /var/tmp/mrouted.dump にダンプします。 .It USR2 内部キャッシュテーブルを .Pa /var/tmp/mrouted.cache にダンプします。 .It QUIT 内部ルーティングテーブルを stderr にダンプします。 ただし、 .Nm が 0 以外の debug level の時のみです。 .El .Pp シグナルを送る際の便宜のために、 .Nm は開始時に自身の pid を .Pa /var/run/mrouted.pid に書き出します。 .SH 使用例 -ルーティングテーブルは以下のようになります: +ルーティングテーブルは次のようになります: .nf +.ft C Virtual Interface Table Vif Local-Address Metric Thresh Flags - 0 36.2.0.8 subnet: 36.2 1 1 querier + 0 36.2.0.8 subnet: 36.2/16 1 1 querier groups: 224.0.2.1 224.0.0.4 pkts in: 3456 pkts out: 2322323 - 1 36.11.0.1 subnet: 36.11 1 1 querier + 1 36.11.0.1 subnet: 36.11/16 1 1 querier groups: 224.0.2.1 224.0.1.0 224.0.0.4 pkts in: 345 pkts out: 3456 2 36.2.0.8 tunnel: 36.8.0.77 3 1 - peers: 36.8.0.77 (2.2) - boundaries: 239.0.1 - : 239.1.2 + peers: 36.8.0.77 (3.255) + boundaries: 239.0.1/24 + : 239.1.2/24 pkts in: 34545433 pkts out: 234342 3 36.2.0.8 tunnel: 36.6.8.23 3 16 Multicast Routing Table (1136 entries) Origin-Subnet From-Gateway Metric Tmr In-Vif Out-Vifs 36.2 1 45 0 1* 2 3* 36.8 36.8.0.77 4 15 2 0* 1* 3* 36.11 1 20 1 0* 2 3* . . . .fi +.Pp この例では、4 つの vif が 2 つのサブネットと 2 つのトンネルにつながっています。 vif 3 がつながったトンネルは使われていません (peer アドレスが有りません)。 vif 0 と vif 1 がつながったサブネットには -いくつかのグループが有ります; +いくつかのグループが有ります。 トンネルにはグループは有りません。 この例の .Nm は、 \&"querier" フラグが示すように、 定期的なグループメンバシップクエリを vif 0 および vif 1 サブネットにて 送出する責任が有ります。 境界のリストは当該インタフェースのアドレス範囲が示されます。 入力及び出力パケット数が各インタフェースに対して示されます。 .Pp マルチキャストデータグラムの起源となりうるサブネットに関連して 表示される情報は、 直前のホップのルータのアドレス(サブネットが直接接続されていない場合)、 -起源までのパスのメトリック、 +起源までのパスの metric、 当該サブネットから最後に更新を受信してから経過した時間、 当該起源からのマルチキャストが入力される vif、 出力 vif 一覧です。 \&"*" は、 起源を根とするブロードキャストツリーの葉に、 当該出力 vif が接続していることを意味します。 宛先グループのメンバが当該葉にいる時のみ、 当該起源からのマルチキャストデータグラムを当該出力 vif からフォワードします。 .Pp .Nm はカーネル内のフォワーディングキャッシュテーブルも管理します。 エントリの生成及び削除は .Nm が行います。 .Pp -キャッシュテーブルは以下のようなものです: +キャッシュテーブルは次のようなものです: .nf +.ft C Multicast Routing Cache Table (147 entries) Origin Mcast-group CTmr Age Ptmr IVif Forwvifs 13.2.116/22 224.2.127.255 3m 2m - 0 1 >13.2.116.19 >13.2.116.196 138.96.48/21 224.2.127.255 5m 2m - 0 1 >138.96.48.108 128.9.160/20 224.2.127.255 3m 2m - 0 1 >128.9.160.45 198.106.194/24 224.2.135.190 9m 28s 9m 0P >198.106.194.22 .fi +.Pp 各エントリは起源のサブネット番号、マスク、宛先マルチキャストグループにて 区別します。 .Pp \&'CTmr' フィールドは当該エントリの生存時間を表します。 -このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます。 -.Pp +このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます +(エントリはトラフィックが流れるとリフレッシュされます)。 \&'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。 キャッシュエントリはリフレッシュされるため、 当該エントリに関するトラフィックが続く限りルーティングエントリは生き残ります。 .Pp \&'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、 そうでないばあいには上流の枝刈がタイムアウトするまでの時間を表します。 .Pp \&'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif を表します。 各ルータは特定のソース及びグループに関し、 隣接するルータより受信する枝刈数の記録も管理します。 あるサブネットに関してマルチキャストツリーの下流の枝において マルチキャストグループのメンバが存在しない場合、 上流のルータに対して枝刈メッセージが送信されます。 この場合、vif 番号の後に \&"P" が付けられます。 .Pp \&'Forwvifs' フィールドは ソースグループに属するデータグラムがフォワードされる インタフェースを表します。 \&"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない ことを表します。 リストされないインタフェースは葉のサブネットであり、 特定のグループのメンバを当該サブネットに持ちません。 インタフェースにおける "b" の表示は、 当該インタフェースが境界インタフェースであることを表します。 すなわち、範囲内のアドレスのトラフィックは 当該インタフェースを介してフォワードされないことを意味します。 .Pp \&">" を最初の文字として表示する追加の行は、 当該サブネット上のソースと表します。 -一つのサブネット上に複数のソースが存在可能であることに注意して下さい。 +1 つのサブネット上に複数のソースが存在可能であることに注意して下さい。 +\&"<" を最初の文字として表示する追加の行は、 +このサブネットもしくはグループに関して、 +下流の隣接ルータから受信した枝苅りを表示します。 .Sh 関連ファイル .Bl -tag -width /var/tmp/mrouted.cache -compact .It Pa /etc/mrouted.conf .It Pa /var/run/mrouted.pid .It Pa /var/tmp/mrouted.dump .It Pa /var/tmp/mrouted.cache .El .Sh 関連項目 .Xr map-mbone 8 , .Xr mrinfo 8 , .Xr mtrace 8 .Pp DVMRP は、 他のマルチキャスト経路制御アルゴリズムと共に、 ACM SIGCOMM '88 コンファレンスのプロシーディングに、 S. Deering が \&"Multicast Routing in Internetworks and Extended LANs" として記述しています。 .Sh 作者 .An Steve Deering , .An Ajit Thyagarajan , .An Bill Fenner diff --git a/ja/man/man8/mtrace.8 b/ja/man/man8/mtrace.8 index ad021d295d..e3db8270d7 100644 --- a/ja/man/man8/mtrace.8 +++ b/ja/man/man8/mtrace.8 @@ -1,543 +1,543 @@ .\" Copyright (c) 1995 by the University of Southern California .\" All rights reserved. .\" .\" Permission to use, copy, modify, and distribute this software and its .\" documentation in source and binary forms for non-commercial purposes .\" and without fee is hereby granted, provided that the above copyright .\" notice appear in all copies and that both the copyright notice and .\" this permission notice appear in supporting documentation, and that .\" any documentation, advertising materials, and other materials related .\" to such distribution and use acknowledge that the software was .\" developed by the University of Southern California, Information .\" Sciences Institute. The name of the University may not be used to .\" endorse or promote products derived from this software without .\" specific prior written permission. .\" .\" THE UNIVERSITY OF SOUTHERN CALIFORNIA makes no representations about .\" the suitability of this software for any purpose. THIS SOFTWARE IS .\" PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, .\" INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" .\" Other copyrights might apply to parts of this software and are so .\" noted when applicable. .\" .\" This manual page (but not the software) was derived from the .\" manual page for the traceroute program which bears the following .\" copyright notice: .\" .\" Copyright (c) 1988 The Regents of the University of California. .\" All rights reserved. .\" -.\" mtrace.8,v 5.1 1996/12/19 21:31:26 fenner Exp +.\" mtrace.8,v 5.2 1998/12/04 04:48:16 fenner Exp .\" .\" jpman %Id: mtrace.8,v 1.3 1997/08/20 12:03:14 horikawa Stab % .Dd May 8, 1995 .Dt MTRACE 8 .UC 6 .Sh 名称 .Nm mtrace .Nd 発信元から受信側へのマルチキャストの経路を表示する .Sh 書式 .Nm mtrace .Op Fl e Ar extrahops .Op Fl g Ar gateway .Op Fl i Ar if_addr .Op Fl l .Op Fl M .Op Fl m Ar max_hops .Op Fl n .Op Fl O .Op Fl p .Op Fl P .Op Fl q Ar nqueries .Op Fl r Ar resp_dest .Op Fl s .Op Fl S Ar stat_int .Op Fl t Ar ttl .Op Fl T .Op Fl U .Op Fl v .Op Fl w Ar waittime .Ar source .Op Ar receiver .Op Ar group .Sh 解説 IP マルチキャストのトラフィックの配送における問題点を突き止めるのは困難な 作業です。 .Nm mtrace は IGMP プロトコルの拡張機能によってアクセスされる、 マルチキャストルータに実装されたトレース機能を利用します。 .Ar receiver から .Ar source への逆経路に沿ったホップごとにトレースの問い合わせを行ない、経路上の ホップのアドレス、パケット数、ルーティングのエラー状況の情報を収集し、 要求者へ応答を返します。 .Pp 唯一必須である引数は .Ar source のホスト名もしくはアドレスです。デフォルトの .Ar receiver は mtrace を実行しているホストとなり、デフォルトの .Ar group -は "MBone Audio" (224.2.0.1) となります。特定のマルチキャストグループ +は 0.0.0.0 となります。特定のマルチキャストグループ でのパケット消失の統計が必要でなければ、これで十分です。以下に解説され ているいくつかの制約を条件として、特定の group でのいくつかの他の receiver をテストするために、これらの 2 つのオプションの引数を 指定することができます。 .Ar receiver はユニキャストアドレスであり、 .Ar group はマルチキャストアドレスであることより、これらの 2 つの引数を 区別することができます。 .Fl g フラグが指定されると、source アドレスには .Nm mtrace が実行されているホストがデフォルトとして使われ、 receiver には .Fl g フラグで指定されるルータがデフォルトとして使われます。この場合、必須の 引数はありません。 .Pp 注釈: Solaris 2.4/2.5 ではマルチキャストインタフェースがデフォルトの インタフェースでなければ、 .Fl i オプションによってローカルアドレスをセットしなければなりません。 .Pp 以下のオプションが使用できます: .Bl -tag -width indent .It Fl e Ar extrahops 応答がないルータを越えて、 .Ar extrahops だけのホップ数のトレースを試みます。 .It Fl g Ar gwy トレースの問い合わせを、マルチキャストではなく、ユニキャストによって 直接マルチキャストルータ .Ar gwy へ送ります。 このマルチキャストルータは意図する .Ar source から .Ar receiver への経路上の最後のホップのルータでなければなりません。 .Pp .Em 注意!! バージョン 3.3 と 3.5 の .Nm mrouted は、トレースの問い合わせがユニキャストパケットによって受信されかつ、 .Nm mrouted に .Ar source への経路がないと、クラッシュします。そのためターゲットの .Nm mrouted が 3.4 であるか、3.5 より新しいことが分かっていなければ、 .Fl g オプションを使わないでください。 .It Fl i Ar addr .Ar addr をトレースの問い合わせを送る (マルチホームホスト上の) ローカルインタフェースアドレス、および .Ar receiver と応答先のデフォルトアドレスとして使用します。 .It Fl l 10 秒ごとにマルチキャスト経路のパケットレートと消失の統計を表示して、 無限ループします。 ( .Fl S Ar stat_int 参照) .It Fl M 試みの後半は、ユニキャストではなく、常にマルチキャストを使って応答を 要求します。 .It Fl m Ar n .Ar receiver から .Ar source へ遡ってトレースされる最大ホップ数を .Ar n にセットします。 デフォルトは 32 ホップ (DVMRP ルーティングプロトコルについては無限) です。 .It Fl n ホップアドレスをシンボル名および数字ではなく数字で表示します。 (経路上に発見された各ルータに対する ネームサーバでのアドレス-名前検索を省くことができます。) .It Fl q Ar n すべてのホップに対して試みる問い合わせの最大の回数を .Ar n にセットします。デフォルトは 3 です。 .It Fl O router-alert IP オプションを、これが必要な要求においても使用しません。 Cisco の IOS のいくつかのバージョンでは IP オプションつきのマルチキャスト トレースルートが扱えないため、最後のホップのルータが Cisco のものである時は、 .Fl O フラグが必要となることがあります。 .It Fl p 他から起動されたトレースによるマルチキャストの応答を受動的に聴取します。 これはマルチキャストルータ上で動作している場合に最も良く動作します。 .It Fl P 10 秒おきに経路情報を収集しながら無限ループし ( .Fl S Ar stat_int 参照)、 経路情報が変化するとそれを表示します。統計情報は表示しません。 .It Fl r Ar host トレースの応答を、 .Nm が実行されているホストや この目的で登録されている他のマルチキャストアドレス (224.0.1.32) ではなく、 .Ar host へ送ります。 .It Fl s マルチキャスト経路のみを含む短い形式の表示を行ない、パケットレートと 消失統計は表示しません。 .It Fl S Ar n 統計情報を収集する間隔を .Ar n 秒 (デフォルトは 10 秒) に変更します。 .It Fl t Ar ttl マルチキャストトレースの問い合わせと応答の .Ar ttl (time-to-live もしくはホップ数) をセットします。ttl に 1 を 使用する "全てのルータ" へのローカルな問い合わせの場合を除き、 デフォルトは 127 です。 .It Fl T "トンネル統計" モードです。全てのトラフィックでのロスレートを表示します。 これらの統計は非常に誤解を招くおそれのあるものです。 .It Fl U マルチキャストから試みるのではなく、常にユニキャストによる応答を要求します。 .It Fl v 冗長モードです。最初のトレースのホップ時間と統計情報を表示します。最初 のトレースを転送するのに使用した経路も表示します。 .It Fl w Ar n トレースの応答の待ち時間を .Ar n 秒 (デフォルトは 3 秒) にセットします。 .El .Sh 使用方法 .Ss どのように動作するか ? .Nm traceroute ツールでユニキャストのネットワーク経路をトレースするために使用している 技法は IP マルチキャストでは動作しません。それは、ICMP 応答が マルチキャストトラフィックでは禁止されているためです。そのかわりに、 トレースの機能はマルチキャストルータにおいて実装されています。 この技法は送出するパケット数を最小にしながら、 パケットレートやロスを計測できる点で優れています。 .Pp マルチキャストでは逆経路転送が使われているため、トレースは .Ar receiver から .Ar source へ逆方向に実行されます。 トレースの問い合わせパケットは最終ホップのマルチキャストルータ ( .Ar receiver アドレスでの末端ルータ) へ送られます。最終ホップのルータではトレースの 応答パケットを生成し、それにそのホップでのレポートを詰め込み、 ユニキャストを使って、指定された .Ar source から送られてくるパケットにおける、そのルータの前段のホップであると思わ れるルータへ、生成したパケットを転送します。 経路上の各ルータはそのパケットにレポートを追加して転送します。 トレースの応答パケットが最初のホップのルータ ( source のネットワークに 直結されているルータ) に到達すると、そのルータはトレースの問い合わせに 指定されている応答の送り先アドレスへ最終的な形の応答を送ります。 .Pp 経路上のいくつかのマルチキャストルータにマルチキャストのトレースルート 機能が実装されていなかったり、停止しているものがあると、応答は返されま せん。この問題を解決するには、応答が返されるまでにトレースされるホップ 数を制限するための最大ホップ数フィールドを、トレースの問い合わせに 含ませます。これによって、部分的な経路のトレースが可能となります。 .Pp 各ルータによって挿入されるレポートには、ホップのアドレスだけでなく、 転送のために必要な ttl とルーティングのエラーを示すいくつかのフラグ、 それに受信と送信インタフェース上および指定された .Ar group へ転送されたパケット数の合計が含まれます。時間をあけて 2 回トレースを 行なってこれらのパケット数の差分をとり、あるホップからの送信パケット 数とその次のホップでの受信パケット数を比較することにより、パケットレートと パケット消失の統計が計算でき、ネットワークへの過負荷による問題を切 り離すことができます。 .Ss 最終ホップルータを見つける トレースの問い合わせは .Ar source から .Ar receiver へ到る経路上の最後のホップであるマルチキャストルータへ送られなければな りません。もし、receiver がローカルサブネット上にあれば (これはサブネットマスク によって決定されます)、デフォルトの方法ではトレースの問い合わせ を ttl を 1 にして all-routers.mcast.net (224.0.0.2) へマルチキャスト します。receiver がサブネット上になければ、 .Ar group へトレースの問い合わせをマルチキャストします。それは receiver がその グループのメンバであれば、最後のホップルータもグループのメンバであるため です。そのため、意図している receiver が属しているグループを指定する 必要があります。このマルチキャストは ttl をデフォルトの 127 にして送られ ます。この ttl は全ての場合では十分でないかもしれません。( .Fl t オプションで変更可能です。) もし最後のホップルータが分かっていれば、 .Fl g オプションを使用して直接指定することもできます。また、最後のホップのルータが 別のグループのメンバであるということが分かっており、receiver が属 していないグループのトレースを行ないたい場合、 .Fl g オプションを使用してトレースの問い合わせに別のマルチキャストアドレスを 指定することもできます。 .Pp マルチホームであるホストやルータからのトレースを行なう場合は、デフォルトの receiver のアドレスは source からの経路での意図したインタフェース でないかも知れません。インタフェースを指定したい場合は、 .Ar receiver によって明示的に指定しなければなりません。 .Ss 応答の誘導 .Fl m オプションによってトレースするホップ数が明示的に指定されている場合を除 き、 .Nm はデフォルトではまず逆経路全てに渡ったトレースを試みます。もしタイムアウト 時間である 3 秒 (これは .Fl w オプションで変更できます) 以内に応答がなければ、"*" が表示され、プローブ方式を hop-by-hop モードに切り替えます。 トレースの問い合わせは最大ホップ数を 1 から開始し、応答を受信しなくなる か全ての経路を網羅するまでホップ数を 1 づつ増やして行きます。 各ホップでは、複数のプローブ (デフォルトでは 3、 .Fl q オプションで変更可) が送られます。トレースの試みの前半 (デフォルトでは 2 回) では、応答 アドレスを標準のマルチキャストアドレス mtrace.mcast.net (224.0.1.32) に セットし、ttl を receiver までの経路上で今までにあった最大のスレッショルド である 32 にセットして行なわれます。引き続く各々の試みについては ttl は最大 192 まで 32 づつ増やされます。 目的のルータはマルチキャスト応答を送ることができないかもしれないので、 残りの試みでは .Nm が動作しているホストへユニキャストを使って応答することを要求します。 また、マルチキャストの ttl は .Fl t オプションを使って明示的に指定することができ、最初のマルチキャストの試みは .Fl U オプションを使ってユニキャストに強制的に変更することができ、最後の マルチキャストの試みは .Fl M オプションを使って強制的にマルチキャストにすることができ、また .Fl UM を指定することにより、 .Nm は最初はユニキャストで試み、次にマルチキャストを試みます。各々の試みで はタイムアウトとなるまで応答が受信できなければ "*" が表示されます。指定された 回数の試みが失敗すると、 .Nm は次のホップのルータへ ( .Nm mrinfo プログラムで使われているように) DVMRP_ASK_NEIGHBORS2 要求で問い合わせ を試み、そのルータの種類を調べます。 .Nm mtrace は応答がないルータを越えて 3 ホップ (これは .Fl e オプションで変更可能) へ、応答を返す能力がないとしてもその要求の転送は できるであろうと想定して、問い合わせを試みます。 .Sh 使用例 .Nm の出力は 2つのセクションからなります。最初のセクションではホップが問い 合わされた順、すなわち .Ar source から .Ar receiver への逆順で簡潔にリストされます。各々のホップについて、ホップ番号 (逆経路 であることを示すように負の数でカウントされる)、マルチキャスト ルーティングプロトコル (DVMRP、MOSPF、PIM など)、データの転送 (上向きの矢印で 示されたリストでの前のホップへの転送) 要求のスレッショルド、問い合わせ がそのホップへ届くまでの遅れの累積 (クロックが同期している時のみ有効) が 1 行で表示されます。最初のセクションの最後には、問い合わせが発行さ れてから応答を受信するまでの間隔をローカルのシステムクロックで計測した ラウンドトリップ時間と、パケットがこの経路を通って行き来するのに必要な ttl の合計が表示されます。以下に使い方とその出力の例を示します。 .Pp .nf .ft C oak.isi.edu 80# mtrace -l caraway.lcs.mit.edu 224.2.0.3 Mtrace from 18.26.0.170 to 128.9.160.100 via group 224.2.0.3 Querying full reverse path... 0 oak.isi.edu (128.9.160.100) -1 cub.isi.edu (128.9.160.153) DVMRP thresh^ 1 3 ms -2 la.dart.net (140.173.128.1) DVMRP thresh^ 1 14 ms -3 dc.dart.net (140.173.64.1) DVMRP thresh^ 1 50 ms -4 bbn.dart.net (140.173.32.1) DVMRP thresh^ 1 63 ms -5 mit.dart.net (140.173.48.2) DVMRP thresh^ 1 71 ms -6 caraway.lcs.mit.edu (18.26.0.170) Round trip time 124 ms; total ttl of 6 required. .fi .Pp あるホップがパケットを転送するのにデフォルトの経路を使っていることを報 告すれば、 .Em [default] がそのホップの後に表示されます。 .Fl v フラグが指定されていれば、そのパケットを転送するのに使われた経路が .Em [18.26.0/24] の形式で表示されます。 .Pp 2 番目のセクションでは転送の経路が図によって表示されます。データの流れ は下向きの矢印で表され、問い合わせの経路は上向きの矢印で表されます。各 ホップでは、ルータの入力アドレスと出力アドレスが違っていれば、それらの アドレスが、そのホップパケットを転送するのに必要な ttl の初期値と、 両端のルータのクロックが同期していると想定した場合のホップにまたがった 伝搬遅れとともに表示されます。このセクションの右半分は 2 組の統計情報か ら構成されます。最初のカラムには各ホップでの全てのトラフィックについて の平均のパケットレートが表示されます。残りのカラムでは消失したパケット の数、送信したパケットの数、消失したパーセンテージ、それに平均パケット レートが各ホップについて表示されます。これらの統計情報は上で解説したよ うにトレース間の差とホップ間の差から計算されます。最初のグループでは、 あるホップでのインタフェースにおける全流出トラフィックと次のホップでの全流入 トラフィックの統計情報が表示されます。2 番目のグループでは、指定された .Ar source から指定された .Ar group への転送トラフィックのみについての統計情報が表示されます。統計の最初の グループは .Fl T オプションを使って消失レートを含ませることもできます。しかし、これらの 数字は大幅な誤差を含む可能性があり、これらを適切に解釈するためには ルータについての詳細な知識が要求されるでしょう。 .Pp これらの統計情報は各々のホップにつき 1 行か 2 行で表示されます。 オプションが何も指定されていないと、この出力中の 2 番目のセクションは最初 のトレースからおよそ 10 秒後に 1 度のみ表示されます。各ホップにつき 1 行にその 10 秒間での統計情報を表示します。もし .Fl l オプションが指定されていると、2 番目のセクションは 10 秒ごとに繰り返さ れ、各ホップにつき 2 行が表示されます。最初の行ではそれまでの 10 秒間 における統計が表示され、2 番目の行で最初のトレースからの累積の統計情報 が表示されます。下の例ではこれは 101 秒間での統計となっています。 .Fl s オプションが指定されるか、マルチキャストグループが指定されていると、こ の出力での 2 番目のセクションは省略されます。 .ie t \{\ .ft C . ie \w'i'<>\w'm' \{\" looks like this is not proper Courier font (If this example is not properly columned with a fixed-width font, get .B groff and try again.) . \} .\} .Pp .ft C .nf Waiting to accumulate statistics... Results after 101 seconds: Source Response Dest Overall Packet Statistics For Traffic From 18.26.0.170 128.9.160.100 Packet 18.26.0.170 To 224.2.0.3 | __/ rtt 125 ms Rate Lost/Sent = Pct Rate v / hop 65 ms ------- --------------------- 18.26.0.144 140.173.48.2 mit.dart.net | ^ ttl 1 0 pps 0/2 = --% 0 pps v | hop 8 ms 0 pps 0/18 = 0% 0 pps 140.173.48.1 140.173.32.1 bbn.dart.net | ^ ttl 2 0 pps 0/2 = --% 0 pps v | hop 12 ms 0 pps 0/18 = 0% 0 pps 140.173.32.2 140.173.64.1 dc.dart.net | ^ ttl 3 27 pps 0/2 = --% 0 pps v | hop 34 ms 26 pps 0/18 = 0% 0 pps 140.173.64.2 140.173.128.1 la.dart.net | ^ ttl 4 83 pps 0/2 = --% 0 pps v | hop 11 ms 79 pps 0/18 = 0% 0 pps 140.173.128.2 128.9.160.153 cub.isi.edu | \\__ ttl 5 83 pps ?/2 0 pps v \\ hop -8 ms 79 pps ?/18 0 pps 128.9.160.100 128.9.160.100 Receiver Query Source .fi .Pp パケットのカウント数はトレースの問い合わせが伝搬するとともに変化するた め、統計情報中には小さな誤差 (1 か 2 のずれ) が含まれることがあります。 しかし、これらの誤差は累積されるべきではないため、累積統計行ではあらた なトレースが 10 秒ごとに実行されるたびに精度が増さなければなりません。 大きな誤差の要因としては 2 つあり、このいずれもマイナスのロスとして現われます。 .Pp あるノードへの入力カウントが他のノードがアタッチされているマルチアクセス ネットワークからのものであれば、入力カウントはアタッチされている全てのノード からの出力カウントの総和となります (もしくは近くなります) が、トレースし ている経路上のその前のホップからの出力カウントはその単なる一部分となり ます。そのため、出力カウントから入力カウントを引いたものはマイナスの値 になります。 .Pp SunOS およびその他のシステムにおける DVMRP マルチキャスト転送ソフトウェアの リリース 3.3 では、ルータにおいて生成されたマルチキャストパケット はインタフェースに入力されていない場合においても、入力されたものとし てカウントされます。これは上の例において見ることのできるマイナスのロス となります。 .Pp これらのマイナスのロスはプラスのロスを隠してしまうことが あることに注意してください。 .Pp この例ではまた、1 つマイナスのホップの時間が表示されています。これは 単にそのホップ間でのシステムクロックが同期していないことを示しています。 この例ではまた、送られたパケットの数が 10 より少ない時には、パーセンテージの 値は統計的に有効ではないため、ロスのパーセンテージが 2 つのダッシュ として表示されることも示しています。 .Pp 2 番目の例では ローカルでない receiver へのトレースを示します。問い合 わせは .Fl g オプションによって最終ホップのルータに送られます。この例では、全逆経路 のトレースが、マルチキャストトレースルート機能が実装されていない 古いバージョンの .Nm mrouted が動作しているノードがあるために応答なしの結果となっており、そのため .Nm は hop-by-hop モードに切り替わっています。\*(lqOutput pruned\*(rq の エラーコードはグループ 224.2.143.24 へのトラフィックが転送されていないこ とを示しています。 .Pp .nf .ft C oak.isi.edu 108# mtrace -g 140.173.48.2 204.62.246.73 \\ butter.lcs.mit.edu 224.2.143.24 Mtrace from 204.62.246.73 to 18.26.0.151 via group 224.2.143.24 Querying full reverse path... * switching to hop-by-hop: 0 butter.lcs.mit.edu (18.26.0.151) -1 jam.lcs.mit.edu (18.26.0.144) DVMRP thresh^ 1 33 ms Output pruned -2 bbn.dart.net (140.173.48.1) DVMRP thresh^ 1 36 ms -3 dc.dart.net (140.173.32.2) DVMRP thresh^ 1 44 ms -4 darpa.dart.net (140.173.240.2) DVMRP thresh^ 16 47 ms -5 * * * noc.hpc.org (192.187.8.2) [mrouted 2.2] didn't respond Round trip time 95 ms .fi .Sh 作者 .An Ajit Thyagarajan によって書かれた最初のプロトタイプをベースにして、 .An Steve Casner によって実装されました。マルチキャストトレースルートの メカニズムは .An Steve Casner , .An Steve Deering , .An Dino Farinacci , .An Deb Agrawal の助けを得て、 .An Van Jacobson によって設計され、 .An Ajit Thyagarajan と .An Bill Fenner によって .Nm mrouted に実装されました。オプションの構文と .Nm の出力形式は、 .An Van Jacobson によって書かれたユニキャストの .Nm traceroute をモデルにしています。 .Sh 関連項目 .Xr map-mbone 8 , .Xr mrinfo 8 , .Xr mrouted 8 , .Xr traceroute 8 .Sh バグ .Pp 受動モードでの統計収集は、能動的にデータを収集しているときと常に同じ 出力とはなりません。 diff --git a/ja/man/man8/ppp.8 b/ja/man/man8/ppp.8 index 4d420cc65a..edc25a5c94 100644 --- a/ja/man/man8/ppp.8 +++ b/ja/man/man8/ppp.8 @@ -1,3996 +1,4029 @@ -.\" %Id: ppp.8,v 1.138 1999/01/06 00:08:15 brian Exp % +.\" %Id: ppp.8,v 1.142.2.1 1999/01/28 23:02:23 billf Exp % .\" jpman %Id: ppp.8,v 1.4 1997/06/08 18:41:58 saeki Stab % .\" WORD: expect string 受信待ち文字列 (chat.8) .\" WORD: negotiation 交渉 .Dd 20 September 1995 +.nr XX \w'\fC00' .Os FreeBSD .Dt PPP 8 .Sh 名称 .Nm ppp .Nd PPP (Point to Point Protocol) (別名 user-ppp) .Sh 書式 .Nm .Oo .Fl auto | .Fl background | .Fl ddial | .Fl direct | .Fl dedicated .Oc .Op Fl alias .Op Ar system ... .Sh 解説 本プログラムは、ユーザプロセスとして動作する .Em PPP パッケージです。 .Em PPP は通常、( .Xr pppd 8 でそうなっているように) カーネルの一部として実装されますが、 そのため、デバッグや動作の変更が少々難しい場合があります。 それに対し、この実装ではトンネルデバイスドライバ (tun) を利用して、 ユーザプロセスで .Em PPP を実現しています。 .Sh 主な特徴 .Bl -diag .It 対話的なユーザインタフェースを提供 コマンドモードで利用する場合、ユーザがコマンドを 入力することで、簡単にリモートコンピュータとの接続の確立、 接続状態の確認、 接続の切断を行うことができます。 オプションとして、セキュリティ確保のために すべての機能をパスワードで保護することができます。 .It 手動と自動でのダイヤルをサポート 対話モードでは、直接モデムと通信できるように .Dq term コマンドが用意されています。 モデムがリモートホストと接続されて、 .Em PPP での通信が始まったら、 .Nm はそれを検出して自動的にパケットモードに移行します。 ひとたびリモートホストとの接続に必要なコマンドシーケンスがわかったら、 後々の接続を簡単にするため、必要なダイヤル手順やログイン手順を定義した チャットスクリプトを書くことができます。 .It オンデマンドでのダイヤルアップをサポート .Fl auto モード (自動モード) では .Nm はデーモンとして動作し、 .Em PPP リンクを通して送られるパケットを待ちうけます。 パケットを検出すると、デーモンが自動的にダイヤルを行って接続を確立します。 .Fl ddial モード (直接ダイヤルモード) でも ほぼ同様に、自動ダイヤルと接続の確立を行います。 しかしながらこのモードは、送るべきパケットが存在しない場合にも、 リンクが切れていることを検出するといつでもリモートへダイヤルするという点が auto モードと異なります。 このモードは、電話料金よりも常時接続されていることが重視される場合に有用です。 3 番目の .Fl dedicated モード (専用線モード) も利用可能です。 このモードは 2 つのマシン間の専用線を対象にしています。 専用線モードでは .Nm は自発的に動作を終了することはありません - 終了するには .Dq quit all コマンドを診断ソケットを介して送る必要があります。 .Dv SIGHUP は LCP の再交渉を強要し、 .Dv SIGTERM は終了を強要します。 .It クライアントコールバックをサポート .Nm は標準 LCP コールバックプロトコルならびに Microsoft コールバック制御プロトコル (ftp://ftp.microsoft.com/developr/rfc/cbcp.txt) を使用できます。 .It パケットエイリアシングをサポート パケットエイリアシング (別名: IP マスカレード) により、 未登録でプライベートなネットワーク上のコンピュータからも インターネットにアクセスすることが可能です。 .Em PPP ホストはマスカレードゲートウェイとして動作します。 送信パケットの IP アドレスと TCP や UDP のポート番号は どちらもエイリアスされ、返信パケットではエイリアスが元に戻されます。 .It バックグラウンド PPP 接続をサポート バックグラウンドモードでは、接続を確立するのに成功した場合に .Nm はデーモンになります。 それ以外の場合はエラーで終了します。 これにより、 接続が成功裏に確立した場合のみコマンドを実行するようなスクリプト をセットアップすることが出来ます。 .It サーバとしての PPP 接続をサポート ダイレクトモードでは、 .Nm は標準入力/標準出力からの .Em PPP 接続を受け入れるサーバとして動作させることができます。 .It PAP と CHAP による認証をサポート PAP もしくは CHAP を用いることにより、Unix スタイルの .Xr login 1 手続きをスキップし、 .Em PPP プロトコルを代りに認証に使用することが可能です。 相手が Microsoft CHAP 認証を要求し、かつ .Nm が DES をサポートするようにコンパイルされている場合、適当な MD4/DES 応答がなされます。 .It 代理 arp (Proxy Arp) をサポート .Em PPP がサーバとして動作している時、その接続について代理 arp を行うよう 設定できます。 .It パケットのフィルタリングをサポート ユーザは 4 種類のフィルタを定義できます。 .Em in は受信パケットに対するフィルタです。 .Em out は送信パケットに対するフィルタです。 .Em dial はダイヤルを行うきっかけとなるパケットを定義するフィルタで、 .Em alive は接続を保持するためのパケットを定義するフィルタです。 .It トンネルドライバは bpf (Berkeley Packet Filter) をサポート .Em PPP リンクを流れるパケットを調べるために、 .Xr tcpdump 1 を使うことができます。 .It PPP オーバ TCP をサポート デバイス名が .Em host Ns No : Ns Em port 形式で指定された場合、 .Nm は通常のシリアルデバイスを使うのではなく、データ転送のための TCP 接続を開きます。 .It IETF ドラフトの Predictor-1 と DEFLATE 圧縮をサポート .Nm は VJ 圧縮の他に Predictor-1 と DEFLATE 圧縮もサポートしています。 モデムは通常 (例えば v42.bis のような) 組み込みの圧縮機能を持っており、 その結果システムは .\"(訳注)「転送データレートよりも」をここにいれたいと考えています。 .\" 2.2.1R 対象(1997/04/02) Takeshi MUTOH より高いデータレートで通信できます。 これは一般には良いことですが、より高速のデータによってシリアル回線からの 割り込みが増加します。 システムはこの割り込みをモデムと通信して処理しなくてはならないため、 システムの負荷と遅延時間が増加することになります。 VJ 圧縮とは異なり、Predictor-1 と DEFLATE 圧縮はリンクを通る .Em すべての ネットワークトラフィックをあらかじめ圧縮しておくことで、オーバヘッドを 最小にします。 .It Microsoft の IPCP 拡張をサポート Microsoft の .Em PPP スタックを使用するクライアント (つまり Win95, WinNT) との間で ネームサーバのアドレスと NetBIOS ネームサーバのアドレスを 交渉することができます。 .It マルチリンク PPP をサポート 接続先への複数の物理的な回線をオープンし、すべてのリンクの 帯域幅を合わせてより高いスループットを得ることができます。 .El .Sh パーミッション .Nm はユーザ .Dv root 、グループ .Dv network 、パーミッション .Dv 4554 でインストールされます。 デフォルトでは .Nm は、起動したユーザ ID が 0 でない場合には実行しません。 これは .Dq allow users コマンドを .Pa /etc/ppp/ppp.conf に記載することにより変更することが可能です。 通常ユーザとして実行する場合には、 .Nm はユーザ ID 0 に変わり、システムの経路表の変更と、 システムロックファイルの作成と、 ppp の設定ファイルの読み込みを行います。 すべての外部コマンド ("shell" や "!bg" で実行されます) は、 .Nm を起動したユーザ ID で実行されます。 ユーザ ID 0 にて正確になにが行われているのかに興味がある場合には、 ログ機能の .Sq ID0 を参照してください。 .Sh 始める前に 次のコマンドラインスイッチを .Nm ppp は理解します: .Bl -tag -width XXX -offset XXX .It Fl auto .Nm は tun インタフェースをオープンし、これを設定した後バックグラウンドになります。 出力データが tun インタフェース上で検出されるまでリンクはアップせず、 出力データが tun インタフェース上で検出されると .Nm はリンクをアップしようとします。 .Nm がリンクをアップしようとしている間に受信したパケット (最初のものを含みます) は、デフォルトで 2 分間キューにとどまります。 後述の .Dq set choked コマンドを参照してください。 .Pp コマンドラインには少なくとも 1 つの .Dq system を指定する必要があり (後述)、 インタフェース設定時に使用する相手の IP アドレスを指定する .Dq set ifaddr を、システムプロファイルで実行する必要があります。 通常、 .Dq 10.0.0.1/0 のようなものが適切です。例としては、 .Pa /etc/ppp/ppp.conf.sample の .Dq pmdemand システムを参照してください。 .It Fl background この場合、 .Nm は相手との接続をすぐに確立しようとします。 成功すると、 .Nm はバックグラウンドになり、親プロセスは終了コード 0 を返します。 失敗すると、 .Nm は非 0 の結果で終了します。 .It Fl direct これは入力接続を受け付けるために使用します。 .Nm は ``set device'' 行を無視し、リンクにデスクリプタ 0 を使用します。 .Pp コールバックの設定を行うと、ダイヤルバック時に .Nm は .Dq set device 情報を使用します。 .It Fl dedicated このオプションは、専用線で接続されたマシンのためにデザインされています。 .Nm はデバイスを常にオープンに保ち、設定チャットスクリプトは一切使用しません。 .It Fl ddial .Fl auto モードと等価ですが、なんらかの理由でリンクが落ちた場合に .Nm が再度リンクをアップすることが違います。 .It Fl interactive これは no-op であり、前述のフラグがどれも指定されなかった場合の動作を行います。 .Nm はコマンドラインで指定されたシステムをロードし、対話プロンプトを提供します。 .It Fl alias このフラグは .Nm のモードを制御しません。 .Dq enable alias yes と等価です。さらに、 .Fl auto もまた指定されている場合、暗黙的に .Dq enable iface-alias が実行されます。 詳細については後述しているものを参照してください。 .Pp IP エイリアシングを有効にすると、 .Nm は、内部 LAN 上の全マシンに対する NAT もしくはマスカレーディングエンジンとして動作します。詳細は .Xr libalias 3 を参照してください。 .El .Pp さらに、1 つ以上の system をコマンドライン上に指定可能です。 .Sq system は .Pa /etc/ppp/ppp.conf の設定エントリです。起動時に .Nm は .Pa /etc/ppp/ppp.conf から .Dq default システムを読み込み、その後コマンドラインで指定した各 system を読み込みます。 .Pp .Fl auto , .Fl background , .Fl ddial , .Fl direct , .Fl dedicated , .Fl interactive のいずれか 1 つのスイッチのみ指定可能です。 .Nm の .Sq モード は、 .Dq set mode コマンド (後述) を使用することで後で変更可能です。 .Pp 以降、対話モードの使用方法について説明します。 .Pp 最初に .Nm を実行する時には、いくつかの初期設定を整える必要があります。 .Bl -bullet .It カーネルにトンネルデバイスが含まれていなければ なりません (GENERIC カーネルではデフォルトで 1 つ含まれます)。 もし含まれていない場合や複数の tun インタフェースが必要な場合、 次の行をカーネル設定ファイルに追加して、 カーネルを再構築する必要があります: .Pp .Dl pseudo-device tun N .Pp ここで .Ar N は .Em PPP 接続を行いたい最大の数です。 .It .Pa /dev ディレクトリにトンネルデバイスのエントリ .Pa /dev/tunN があるかどうかを調べてください。 ここで .Sq N は、0 から始まる tun デバイスの番号です。 もし無いようならば、"sh ./MAKEDEV tunN" を実行すれば作ることができます。 これにより 0 から .Ar N までの tun デバイスが作成されます。 .It あなたのシステムの .Pa /etc/group ファイルに .Dq network グループがあり、そのグループが .Nm を使うと想定されるすべてのユーザ名を含んでいることを確かめてください。 詳細は .Xr group 5 マニュアルページを参照してください。また、これらのユーザは .Pa /etc/ppp/ppp.conf ファイルで .Dq allow users コマンドを使用してアクセス権が与えられなければなりません。 .It ログファイルを作成します。 .Nm は .Xr syslog 3 を使用して情報をログします。通常のログファイル名は .Pa /var/log/ppp.log です。 このファイルに出力を行うためには、次の行を .Pa /etc/syslog.conf ファイルに記述してください: .Bd -literal -offset indent !ppp *.*/var/log/ppp.log .Ed .Pp -TAB と書かれている場所には、実際にはタブを入力します。 -空白文字を使うと、 -.Xr syslogd 8 -はこの行を無視し、そのことも報告しません。 -.Pp .Nm の実行形式にリンクを作成することにより、複数の .Em PPP ログファイルを持つことが可能です: .Pp .Dl # cd /usr/sbin .Dl # ln ppp ppp0 .Pp として .Pa /etc/syslog.conf で .Bd -literal -offset indent !ppp0 *.*/var/log/ppp0.log .Ed .Pp とします。 .Pa /etc/syslog.conf を更新した後に、 .Xr syslogd 8 に .Dv HUP シグナルを送ることをお忘れなく。 .It 厳密には .Nm の操作とは関係ありませんが、リゾルバが正しく働くように設定した方が 良いでしょう。 これは .Pq Xr named 8 を用いて ローカルな DNS サーバを設定するか、もしくは .Pa /etc/resolv.conf ファイルに適切な .Sq name-server 行を加えることで行われます。 詳細は .Xr resolv.conf 5 のマニュアルを参照してください。 .Pp 他の方法として、もし接続先がサポートしている場合には .Nm が接続先にネームサーバのアドレスを尋ねて、自動的に .Pa /etc/resolv.conf を更新することができます。詳細は後述の .Dq enable dns コマンドを参照してください。 .El .Sh 手動ダイヤル 次の例では、あなたのマシン名が .Dv awfulhak であるとして説明します。 .Nm を引数無しで起動すると (前述の .Em パーミッション 参照) 次のプロンプトが表示されます: .Bd -literal -offset indent ppp ON awfulhak> .Ed .Pp プロンプトの .Sq ON の部分は常に大文字であるべきです。ここが小文字の場合、 .Dq passwd コマンドを使用してパスワードを入力しなければならないことを意味します。 実行中の .Nm に接続し、 まだ正しいパスワードを入力していない場合にのみこのような状態になります。 .Pp ここで、モデムのデバイス名、スピードやパリティの設定、 CTS/RTS 信号を使うかどうか (デフォルトでは CTS/RTS が使用されます) を 指定して、開始可能です。もしハードウェアが CTS/RTS 信号を持っていない場合 (これは PPP 可能な端末サーバに直接つなぐ場合に起こり得ます)、 .Nm はそのポートを通してどんな出力も送らず、来るはずのない信号を待ち続けます。 したがって、直接接続で通信ができないような場合には、 CTS/RTS を off にしてみてください: .Bd -literal -offset indent ppp ON awfulhak> set line /dev/cuaa0 ppp ON awfulhak> set speed 38400 ppp ON awfulhak> set parity even ppp ON awfulhak> set ctsrts on ppp ON awfulhak> show modem * モデム関連のパラメータが、ここに示されます * ppp ON awfulhak> .Ed .Pp ここでは、直接モデムと通信するために term コマンドを使用可能です: .Bd -literal -offset indent ppp ON awfulhak> term at OK atdt123456 CONNECT login: ppp Password: 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 で「あなた側」 このようにならない場合、接続先がこちらの開始交渉を 待っているか、入力パケットを .Em PPP パケットであると .Nm ppp が識別できない可能性があります。 後者の場合、あなた側のパリティ設定の問題かもしれません。 強制的に .Nm に接続先への PPP 設定パケットの送出を開始させるためには .Dq ~p コマンドを使ってパケットモードに移行して下さい。 .Pp これで接続されました! プロンプトの .Sq PPP が大文字に変化して、接続されたことを知らせます。もし 3 つの P の内 いくつかだけが大文字になっている場合には、すべての文字が大文字もしくは 小文字になるまで待ってください。もし小文字に戻った場合には、それは .Nm が接続先との交渉に成功しなかったことをを意味します。 たいてい、その原因は PAP もしくは CHAP 認証の name や key が 正しくないことです。 .Dq set log local phase することが、この時点でのトラブルシューティングへの第一歩としては 良いでしょう。 詳細は、下記の .Dq set log コマンドの説明を参照してください。 .Pp リンクが確立したら、show コマンドを使用することで、 どのように事態が進行しているのかが分ります: .Bd -literal -offset indent PPP ON awfulhak> show modem * モデム関連の情報がここに表示されます * PPP ON awfulhak> show ccp * CCP (圧縮) 関連の情報がここに表示されます * PPP ON awfulhak> show lcp * LCP (回線制御) 関連の情報がここに表示されます * PPP ON awfulhak> show ipcp * IPCP (IP) 関連の情報がここに表示されます * PPP ON awfulhak> show link * (高レベル) リンク関係の情報がここに表示されます * PPP ON awfulhak> show bundle * (高レベル) 論理接続関係の情報がここに表示されます * .Ed .Pp この時点で、マシンは接続先に対するホスト単位の経路 (host route) を持っています。 これはリンクの相手のホストとのみ接続可能であるという意味です。 デフォルト経路のエントリ (他の経路エントリを持たずに、全パケットを .Em PPP リンクの相手に送る ように、あなたのマシンに指示します)を追加したければ、 次のコマンドを入力してください。 .Bd -literal -offset indent PPP ON awfulhak> add default HISADDR .Ed .Pp .Sq HISADDR という文字列は、相手側の IP アドレスを表します。 既存の経路のために失敗する場合には、 .Bd -literal -offset indent PPP ON awfulhak> add! default HISADDR .Ed .Pp を用いることで既存の経路を上書きできます。 ここで、(ping, telnet, ftp のような) ネットワークアプリケーションを 別のウィンドウで使用可能です。 使用可能コマンドの詳細は .Em PPP コマンドリスト の節を参照してください。 .Sh 自動ダイヤル 自動ダイヤルを行うためには、ダイヤルとログインのチャットスクリプトを 用意しなければなりません。定義の例は .Pa /etc/ppp/ppp.conf.sample を見てください ( .Pa /etc/ppp/ppp.conf の書式は非常に簡単です)。 各行は単一のコメント、インクルード、ラベル、コマンドのいずれかを含みます。 .Bl -bullet .It .Pq Dq # 文字で始まる行は、コメントとして扱われます。 コメント行と認識した場合、先行する空白は無視されます。 .It インクルードは語 .Sq !include から始まる行です。 1 つの引数 - インクルードするファイル - を持つ必要があります。 古いバージョンの .Nm との互換性のために、 .Dq !include ~/.ppp.conf を使用したいかもしれません。 .It ラベルは行頭から始まり、最後にコロン .Pq Dq \&: が続かなければなりません。 .It コマンド行は、最初の桁に空白かタブを含む必要があります。 .El .Pp .Pa /etc/ppp/ppp.conf ファイルには少なくとも .Dq default セクションが存在する必要があります。 このセクションは常に実行されます。 このファイルには 1 つ以上のセクションが含まれます。 セクション名は用途に応じて付けます。例えば、 .Dq MyISP はあなたの ISP を表したり、 .Dq ppp-in は入力の .Nm 構成を表したります。 .Nm ppp を立ち上げる際に、接続先のラベル名を指定可能です。 .Dq default ラベルに関係づけられたコマンドが実行されてから、 接続先ラベルに関連づけられたコマンドが実行されます。 .Nm を引数無しで起動した場合、 .Dq default だけは実行されます。load コマンドを使用して、 .Pa /etc/ppp/ppp.conf のセクションを手動でロード可能です: .Bd -literal -offset indent PPP ON awfulhak> load MyISP .Ed .Pp ひとたび接続が確立したなら、プロンプトの .Sq ppp は .Sq PPP に変わります: .Bd -literal -offset indent # ppp MyISP -... +\&... ppp ON awfulhak> dial Ppp ON awfulhak> PPp ON awfulhak> PPP ON awfulhak> .Ed .Pp Ppp プロンプトは .Nm が認証フェースに入ったことを示します。PPp プロンプトは .Nm がネットワークフェーズに入ったことを示します。PPP プロンプトは .Nm がネットワーク層プロトコルの交渉に成功し、使用可能状態にあることを示します。 .Pp もし .Pa /etc/ppp/ppp.linkup が利用可能ならば、 .Em PPP 接続が確立された時に、その内容が実行されます。 接続が確立された後のバックグラウンドでのスクリプト実行については、 提供されている .Pa /etc/ppp/ppp.conf.sample (使用可能な置換文字列については、後述の .Dq shell と .Dq bg を参照してください) の .Dq pmdemand の例を参照してください。 同様に、接続が閉じられると、 .Pa /etc/ppp/ppp.linkdown ファイルの内容が実行されます。 これらのファイルのフォーマットは .Pa /etc/ppp/ppp.conf と同じです。 .Pp 以前のバージョンの .Nm では、デフォルト経路のような経路は .Pa ppp.linkup ファイルで追加し直す必要がありました。 現在では .Nm は、 .Dv HISADDR もしくは .Dv MYADDR が変化したときに、自動的に .Dv HISADDR もしくは .Dv MYADDR 文字列を含むすべての経路を更新する .Sq スティッキー経路 をサポートします。 .Sh バックグラウンドダイヤル .Nm を使って非対話的に接続を確立したい場合 (例えば .Xr crontab 5 エントリや .Xr at 1 ジョブから使うような場合) には、 .Fl background オプションを使います。 .Fl background が指定された場合、 .Nm はすぐに接続を確立しようとします。 複数の電話番号が指定された場合には、各電話番号が 1 回づつ試されます。 これらに失敗すると、 .Nm は即座に終了し、0 でない終了コードを返します。 接続に成功すると .Nm はデーモンになり、呼び出し側に終了コード 0 を返します。 デーモンは、リモートシステムが接続を終了した場合、 もしくは .Dv TERM シグナルを受け取った場合に、自動的に終了します。 .Sh ダイヤルオンデマンド デマンドダイヤル機能は .Fl auto または .Fl ddial オプションにて有効にされます。この場合にも .Pa /etc/ppp/ppp.conf で定義された接続先のラベルを指定しなければなりません。 これには、リモート接続先の IP アドレスを指定するための .Dq set ifaddr コマンドも書かれていなければなりません ( .Pa /etc/ppp/ppp.conf.sample を参照してください)。 .Bd -literal -offset indent # ppp -auto pmdemand .Ed .Pp .Fl auto または .Fl ddial が指定された時に .Nm はデーモンとして動作しますが、 .Pa /etc/ppp/ppp.conf 中で .Dq set server コマンドを使うことで、設定を確認したり変更したりすることができます。 .Po たとえば、 .Dq set server +3000 mypasswd とすると .Pc 次のように診断ポートを通じて接続することができます。 .Bd -literal -offset indent # pppctl 3000 (tun0 を仮定 - ``set server'' の記述を参照) Password: PPP ON awfulhak> show who tcp (127.0.0.1:1028) * .Ed .Pp .Dq show who コマンドは現在 .Nm 自身に接続しているユーザの一覧を表示します。診断ソケットが閉じられる、 もしくは異なるソケットに変更された場合、すべての接続は即座に終了します。 .Pp .Fl auto モードにて 送信パケットが検出された時、 .Nm は (チャットスクリプトに基づいて) ダイヤルを行い、 通信相手に接続しようとします。 .Fl ddial モードでは回線がダウンしていることが確認された場合にはいつでも ダイヤルが行われます。 接続に失敗したら、デフォルトの動作では 30 秒間待ってから、 別の送信パケットが検出された時に接続しようとします。 この動作は次の方法で変更できます。 .Bd -literal -offset indent set redial seconds|random[.nseconds|random] [dial_attempts] .Ed .Pp .Sq seconds は、再び接続しようとするまでの秒数です。 引数が .Sq random の場合には、待ち時間を 0 秒から 30 秒の間でランダムに選びます。 .Sq nseconds は電話番号リストの中の次の番号をダイヤルする前に待つ秒数です。( .Dq set phone コマンドを参照してください)。これのデフォルトは 3 秒です。 繰り返しますが、引数が .Sq random の場合には、待ち時間を 0 秒から 30 秒の間でランダムに選びます。 .Sq dial_attempts は、受け取った個々の送信パケットに対して、何回接続を試みるのかを示す 数字です。 このパラメータが省略された場合には、以前の値がそのまま使われます。 .Sq dial_attempts に 0 が指定された場合には、 .Nm は接続できるまでダイヤルを続けます。 .Bd -literal -offset indent set redial 10.3 4 .Ed .Pp は個々の送信パケットに対して 4 回接続を試み、 番号間の待ち時間が 3 秒で、すべての番号を試した後に 10 秒待つことを表します。 複数の電話番号が指定されている場合でも、トータルのダイヤル回数は 4 回のままです。 (それぞれの番号を 4 回ダイヤルするのではありません)。 リンクの両端が .Nm のデマンドダイヤルモードを利用している場合は、 ダイヤル間隔を変更しておくのが良いでしょう。 もし、リンクの両端が同じタイムアウト時間に設定されていて、 リンクが切れて両方に送信待ちのパケットがあった場合、 両方が同時に相手を呼び出しあうことになってしまいます。 場所によっては、シリアルリンクに信頼性がなく、 切れるべきでない時にキャリアが失われるかもしれません。 セッションの途中で予期せずキャリアが失われた場合、 .Nm にリダイヤルさせることができます。 .Bd -literal -offset indent set reconnect timeout ntries .Ed .Pp このコマンドは、キャリアが失われた時に .Ar timeout 秒の間隔を置いて .Ar ntries 回まで接続を再確立するよう .Nm に指示します。例えば、 .Bd -literal -offset indent set reconnect 3 5 .Ed .Pp は、予期せぬキャリア喪失の際に .Ar 3 秒待ってから再接続を試みるように .Nm に指示します。これは .Nm があきらめる前に .Ar 5 回まで行われます。 ntries のデフォルト値は 0 (再接続しない) です。 このオプションを使用する際には注意が必要です。 もしローカル側のタイムアウトがリモート側よりもわずかに長いと、 リモート側がタイムアウトにより回線を切断した場合に、 再接続機能が (指定した回数まで) 起動されてしまいます。 注: この文脈においては、多くの LQR を喪失するとキャリア喪失を引き起こし、 ひいては再接続を引き起こします。 .Fl background フラグが指定された場合、接続が行えるまで すべての電話番号が最大 1 回ダイヤルされます。 .Dq set redial コマンドにて、リダイヤル期間の後に、 再接続回数を指定します。 リダイヤル値が指定した電話番号数より少ない場合、 指定した電話番号で使用されないものが出来ます。 プログラムを終了させるには、次のように入力してください。 .Bd -literal -offset indent PPP ON awfulhak> close ppp ON awfulhak> quit all .Ed .Pp .Dq quit コマンドは .Xr pppctl 8 もしくは .Xr telnet 1 による接続を終了しますが、 プログラム自身は終了させません。 .Nm も終了させたい場合には、 .Dq quit all を実行してください。 .Sh PPP 接続の受け入れ (方法その 1) .Em PPP 接続要求を受け入れるには、次の手順にしたがってください。 .Bl -enum .It モデムと、 (必要であれば) .Pa /etc/rc.serial が正しく設定されていることを確認します。 .Bl -bullet -compact .It フロー制御にはハードウェアハンドシェイク (CTS/RTS) を使います。 .It モデムはエコーバックを行わず (ATE0) 、コマンドの結果も報告しない (ATQ1) ように設定されていなければなりません。 .El .Pp .It モデムが接続されているポートで .Xr getty 8 が起動されるように .Pa /etc/ttys を編集します。 例えば、次のように設定すれば良いでしょう: .Pp .Dl ttyd1 "/usr/libexec/getty std.38400" dialup on secure .Pp .Xr getty 8 を起動するために .Xr init 8 プロセスに .Dv HUP シグナルを送るのを 忘れないでください: .Pp .Dl # kill -HUP 1 .It .Pa /usr/local/bin/ppplogin ファイルを次のような内容で作成します: .Bd -literal -offset indent #!/bin/sh exec /usr/sbin/ppp -direct incoming .Ed .Pp ダイレクトモード .Pq Fl direct では、 .Nm は標準入力と標準出力を使って動作します。クライアント動作の .Nm と同様に、 .Xr pppctl 8 を使用することで、構成された診断ポートに接続可能です。 .Pp ここで .Pa /etc/ppp/ppp.conf 中の .Ar incoming セクションが設定されていなければなりません。 .Pp .Ar incoming セクションに適当な .Dq allow users コマンドがあることを確かめておいてください。 .It 受け入れるユーザのアカウントを用意してください。 .Bd -literal ppp:xxxx:66:66:PPP Login User:/home/ppp:/usr/local/bin/ppplogin .Ed .Pp 詳細は .Xr adduser 8 と .Xr vipw 8 のマニュアル項目を参照してください。 .Dq accept dns および .Dq set nbns コマンドを使うことで IPCP によるドメインネームサーバと NetBIOS ネームサーバの 交渉を有効にすることが可能です。 下記の記述を参照してください。 .El .Pp .Sh PPP 接続の受け入れ (方法その 2) この方法は、 .Xr login 1 ではなく .Nm ppp で接続の認証を行うという点が異なります。 .Bl -enum .It .Pa /etc/gettytab の default セクションに .Dq pp ケーパビリティを指定することで ppp を自動的に認識するように 設定してください。 .Bd -literal default:\\ :pp=/usr/local/bin/ppplogin:\\ ..... .Ed .It 上記の方法その 1 の最初の 3 手順と同じように、 シリアルデバイスを設定し、 .Xr getty 8 を有効にして、 .Pa /usr/local/bin/ppplogin を作成してください。 .It .Pa /etc/ppp/ppp.conf の .Sq incoming ラベル (もしくは .Pa ppplogin が用いるラベルならなんでも構いません) 下に .Dq enable chap か .Dq enable pap .Pq もしくはその両方 を加えてください。 .It .Pa /etc/ppp/ppp.secret に、受け入れるユーザそれぞれについて、エントリを作成してください。 .Bd -literal Pfredxxxx Pgeorgeyyyy .Ed .El .Pp これで、 .Xr getty 8 は (HDLC フレームヘッダを認識することで) ppp 接続を検出すると、すぐに .Dq /usr/local/bin/ppplogin を実行します。 .Pp 上記のように PAP もしくは CHAP を有効にすることは .Em 必須 です。そうしなければ、あらゆる人があなたのマシンにパスワード .Em なしに ppp セッションを確立することを許可し、 あらゆる種類の潜在的な攻撃に対して門戸を開いていることになります。 .Sh 内向き接続の認証 通常、接続の受信側は相手が相手自身を認証することを要求します。 これは通常 .Xr login 1 にて行われますが、代りに PAP か CHAP を使用可能です。 2 つのうちで CHAP の方がより安全ですが、 クライアントによってはサポートしていないものがあります。 どちらを使いたいか決めたら、 .Sq enable chap または .Sq enable pap を .Pa ppp.conf の適切なセクションに追加してください。 .Pp その後、 .Pa /etc/ppp/ppp.secret ファイルの設定を行う必要があります。 このファイルは、クライアントになりうるマシンごとに 1 行を含みます。 各行は 4 つまでのフィールドからなります: .Bd -literal -offset indent name key [hisaddr [label]] .Ed .Pp .Ar name と .Ar key は期待されるクライアントを指定します。 .Ar key が .Dq \&* で PAP が使用される場合、 .Nm は認証時にパスワードデータベース .Pq Xr passwd 5 を検索します。 .Pa ppp.secret の如何なる .Ar name No / Ar key の組み合わせにおいても適切でない返答をクライアントが与える場合、 認証は失敗します。 .Pp 認証に成功したならば、 .Pq 指定時には .Ar hisaddr を IP 番号交渉時に使用します。詳細は .Dq set ifaddr コマンドを参照してください。 .Pp 認証に成功し .Ar label が指定された場合、現在のシステムラベルは .Ar label にマッチするように修正されます。 このことはファイル .Pa ppp.linkup と .Pa ppp.linkdown の後続のパーズに影響があります。 .Sh PPP オーバ TCP (別名: トンネリング) シリアルリンク上以外の .Nm の使用方法として、 device にホストとポートを指定することにより、 TCP 接続を使用することが可能です: .Pp .Dl set device ui-gate:6669 .Pp シリアルデバイスをオープンする代りに、 .Nm は指定されたマシンの指定されたソケットへの TCP 接続をオープンします。 .Nm は telnet プロトコルを使用しないこと、 telnet サーバと交渉できないことに注意を払うべきです。 受信マシン (ui-gate) 上に、 この ppp 接続を受信するポートを設定する必要があります。まず .Pa /etc/services を更新して、サービスを定義します: .Pp .Dl ppp-in 6669/tcp # Incoming PPP connections over tcp .Pp そして .Pa /etc/inetd.conf を更新して、このポートへの受信接続をどのように扱うかを .Xr inetd 8 に指示します: .Pp .Dl ppp-in stream tcp nowait root /usr/sbin/ppp ppp -direct ppp-in .Pp .Pa /etc/inetd.conf を更新した後には、 .Xr inetd 8 に .Dv HUP シグナルを送るのをお忘れなく。 ここではラベル名 .Dq ppp-in を使用します。 ui-gate (受信側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含みます: .Bd -literal -offset indent ppp-in: set timeout 0 set ifaddr 10.0.4.1 10.0.4.2 add 10.0.1.0/24 10.0.4.2 .Ed .Pp セキュリティのために PAP もしくは CHAP の設定をしたいかもしれません。 PAP を有効にするには次の行を追加します: .Bd -literal -offset indent enable PAP .Ed .Pp また、次のエントリを .Pa /etc/ppp/ppp.secret に作成する必要があります: .Bd -literal -offset indent MyAuthName MyAuthPasswd .Ed .Pp .Ar MyAuthPasswd が .Pq Dq * の場合には、パスワードは .Xr passwd 5 データベースから検索されます。 .Pp awfulhak (起動側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含む必要があります: .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in set dial set timeout 30 set log Phase Chat Connect hdlc LCP IPCP CCP tun set ifaddr 10.0.4.2 10.0.4.1 add 10.0.2.0/24 10.0.4.1 .Ed .Pp PAP を有効にしようとしている場合、次の設定も必要です: .Bd -literal -offset indent set authname MyAuthName set authkey MyAuthKey .Ed .Pp 我々は、 ui-gate に 10.0.4.1 のアドレスを割り当て、 awfulhak に 10.0.4.2 のアドレスを割り当てようとしています。 接続をオープンするためには、次の内容をタイプするだけで良いです。 .Pp .Dl awfulhak # ppp -background ui-gate .Pp 結果として、 awfulhak にはネットワーク 10.0.2.0/24 への新たな「経路」が、 ui-gate にはネットワーク 10.0.1.0/24 への新たな「経路」が、 TCP 接続経由でそれぞれ作成されます。 ネットワークは実質的にブリッジされます - 下位レベルの TCP 接続はパブリックなネットワーク (例えばインターネット) を またがっても良いです。 また 2 つのゲートウェイ間では ppp トラフィックは 概念的に TCP ストリーム中でカプセル化されます (パケットがパケットに対応するわけではありません)。 この機構の大きな欠点は、同時に 2 つの「配送保証」機構が存在することです - この 2 つとは、下位レベルの TCP ストリームと .Em PPP リンク上で使用されるプロトコルであり、おそらくまた TCP でしょう。 パケット喪失が起ると、両者はそれぞれの方法で喪失した パケットを再送しようと するでしょう。 .Sh パケットエイリアシング .Fl alias コマンドラインオプションにより、 パケットエイリアシングが有効になります。 これにより、 .Nm ホストがローカルエリアネットワークの他のコンピュータに対して マスカレードゲートウェイとして動作するようになります。 送信される IP パケットは、まるで .Nm ホストから来たかのようにエイリアスされ、 受信パケットは、それがローカルエリアネットワークの正しいマシンに 送られるようにエイリアスが戻されます。 パケットエイリアシングにより、 未登録でプライベートなサブネット上のコンピュータを 外部から見えないようにしつつ、 インターネットへアクセス可能とします。 一般に、 .Nm が正しく動作していることの確認は、 まず最初にパケットエイリアシングを禁止して行います。 次に .Fl alias オプションを有効にして、 .Nm ホストの上で (ウェブブラウザや .Xr telnet 1 , .Xr ftp 1 , .Xr ping 8 , .Xr traceroute 8 などの) ネットワークアプリケーションの動作を確認します。 最後に、LAN 上の別のコンピュータの上で同様なアプリケーションの 動作を確認することになります。 .Nm ホストではネットワークアプリケーションが正しく動作するのに、 LAN 上の別のコンピュータでは動かないのであれば、マスカレードソフトウェアは 正しく動いているけれども、ホストが IP パケットをフォワーディングしないか、 ひょっとするとパケットが送られて来ていないかのどちらかです。 .Pa /etc/rc.conf で IP フォワーディングが有効にされていることと、 他のコンピュータで .Nm ホストがその LAN のゲートウェイとして 指定されていることを確認してください。 .Sh パケットのフィルタリング この実装では、パケットのフィルタリングがサポートされています。 .Em in フィルタ、 .Em out フィルタ、 .Em dial フィルタ、そして .Em alive フィルタの 4 種類のフィルタがあります。 ここでは基本的なことについて書くことにします。 .Bl -bullet .It フィルタ定義は次のような構文になっています。 .Pp set filter .Ar name .Ar rule-no .Ar action .Op Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width [ .Ar proto .Op src Op Ar cmp No Ar port .Op dst Op Ar cmp No Ar port .Op estab .Op syn .Op finrst ] .Bl -enum .It .Ar name は .Sq in , .Sq out , .Sq dial , .Sq alive のいずれかです。 .It .Ar rule-no は .Sq 0 から .Sq 19 までの数値で、ルール番号を指定します。 ルールは .Ar rule-no の番号順に指定されます。 ただしルール .Sq 0 が指定されている場合のみです。 .It .Ar action は .Sq permit , .Sq deny のいずれかです。 もし、あるパケットがルールに一致した場合、 結びつけられた action が直ちに実行されます。 .It .Op Ar src_addr Ns Op / Ns Ar width と .Op Ar dst_addr Ns Op / Ns Ar width は始点と終点の IP アドレスです。 .Op / Ns Ar width が指定された場合には、それによって適切なネットマスクのビット値を与え、 アドレスの範囲を指定することができます。 .It .Ar proto は .Sq icmp , .Sq udp , .Sq tcp のうちのいずれか 1 つです。 .It .Ar cmp は .Sq \< , .Sq \&eq , .Sq \> のうちいずれか 1 つです。それぞれ、より小さい、等しい、 より大きいを意味します。 .Ar port はポート番号で指定するか、 .Pa /etc/services のサービス名で指定することができます。 .It .Sq estab , .Sq syn , .Sq finrst フラグは .Ar proto が .Sq tcp に設定されているときにのみ許可され、それぞれ TH_ACK、TH_SYN、および TH_FIN もしくは TH_RST という TCP フラグを表わします。 .El .Pp .It -各フィルタはルール 0 から始まり、20 個までのルールをもつことができます。 +各フィルタはルール 0 から始まり、40 個までのルールをもつことができます。 規則のルールは、ルール 0 が定義されていなければ、有効にはなりません。 すなわち、デフォルトではすべてが通されます。 .It パケットにマッチするルールが無い場合は、パケットは破棄 (ブロック) されます。 .It すべての規則を消去するには、 .Dq set filter Ar name No -1 を使ってください。 .El .Pp -.Pa /etc/ppp/ppp.conf.example +.Pa /etc/ppp/ppp.conf.sample を参照してください。 .Sh アイドルタイマの設定 アイドルタイマを調べたり/設定するためには、それぞれ .Dq show bundle と .Dq set timeout コマンドを使ってください: .Bd -literal -offset indent ppp ON awfulhak> set timeout 600 .Ed .Pp タイムアウト時間は秒数で指定します。デフォルト値は timeout が 180 秒 .Pp 3 分 です。 アイドルタイマ機能を使わないようにするためには、 次のコマンドを利用してください。 .Bd -literal -offset indent ppp ON awfulhak> set timeout 0 .Ed .Pp .Fl ddial と .Fl dedicated モードではアイドルタイムアウトは無視されます。 .Fl auto モードでは、アイドルタイムアウトが発生すると .Nm プログラムは実行したままで .Em PPP セッションを終了します。別の引金となるパケットがきた時に リンクを再び確立しようとします。 .Sh Predictor-1 および DEFLATE 圧縮 .Nm は Predictor type 1 圧縮および deflate 圧縮をサポートしています。 デフォルトでは、 .Nm は、接続相手が同意 .Pq あるいは要求 した場合に、 この機能を使おうと (もしくは受け入れようと) します。 .Nm は deflate プロトコルを優先します。 これらの機能を使用したくない時には .Dq disable と .Dq deny のコマンドを参照してください。 .Pp .Dq disable deflate か .Dq deny deflate の一方を使用することにより、 方向ごとに異ったアルゴリズムを使用することができます。 .Pq 接続相手が両方のプロトコルをサポートしていると仮定しています。 .Pp デフォルトでは、DEFLATE について交渉するときには .Nm はウィンドウサイズとして 15 を使います。この動作を変更したい場合には .Dq set deflate コマンドを参照してください。 .Pp デフォルトでは無効にされ受け付けませんが、DEFLATE24 と呼ばれる特殊な アルゴリズムを使用することもできます。これは CCP ID 24 を 交渉に使う点を除いては DEFLATE と完全に同じものです。 これを使用することで .Nm は .Nm pppd バージョン 2.3.* と DEFLATE 交渉を成功させることができます。 .Sh IP アドレスの制御 .Nm は IP アドレスの交渉のために IPCP を使います。接続の両側は、自分が 使おうとするアドレスを提示し、要求された IP アドレスが受け入れ可能な ものであれば、相手に ACK (肯定応答) を返します。 受け入れることができなければ、別の IP アドレスの使用を促すために .Nm は相手に NAK (否定応答) を返します。 接続の両側が受け取った要求に同意し (ACK を送っ) た時、 IPCP はオープン状態にセットされ、ネットワーク層での接続が確立されます。 IPCP の動作を制御するために、この実装はローカルとリモートの IP アドレスを定義するための .Dq set ifaddr コマンドを持っています。 .Bd -literal -offset indent set ifaddr [src_addr [dst_addr [netmask [trigger_addr]]]] .Ed .Pp ここで、 .Sq src_addr はローカル側で使おうと思っている IP アドレスで、 .Sq dst_addr はリモート側が使用すべき IP アドレスです。 .Sq netmask は使用すべきネットマスクです。 .Sq src_addr のデフォルトは現在の .Xr hostname 1 のもの、 .Sq dst_addr のデフォルトは 0.0.0.0 であり、 .Sq netmask のデフォルトは .Sq src_addr に適したマスク値です。 .Sq netmask はデフォルトより小さくすることのみ可能です。 ほとんどのカーネルが POINTOPOINT インタフェースのネットマスクを 無視するので、便利な値は 255.255.255.255 でしょう。 .Pp 誤った .Em PPP の実装には、接続交渉のために、 .Sq src_addr ではなく特別な IP アドレスを使用しなければならないものがあります。 この場合、 .Sq trigger_addr で指定した IP アドレスが使用されます。 相手がこの提案された番号に同意しない限り、経路表には影響しません。 .Bd -literal -offset indent set ifaddr 192.244.177.38 192.244.177.2 255.255.255.255 0.0.0.0 .Ed .Pp 上の例の意味は次の通りです: .Pp .Bl -bullet -compact .It 自分の IP アドレスとしてまず 0.0.0.0 を提案しますが、アドレス 192.244.177.38 のみは受け付けます。 .It 相手側のアドレスとして 192.244.177.2 を使うように要求し, 192.244.177.2 以外のどんなアドレスを使うことも許可しません。 相手側が別の IP アドレスを要求してきた時は、いつでも 192.244.177.2 を提案します。 .It 経路表のネットマスク値は 0xffffffff に設定されます。 .El .Pp これは、両側が既に決まった IP アドレスを持っている場合には うまくいきますが、多くの場合、一方がすべての IP アドレスを制御する サーバとして動作しており、もう一方はその方針に従わなくてはなりません。 より柔軟な動作をさせるために、`ifaddr' 変数の IP アドレス指定を もっと緩やかにすることが可能です: .Pp .Dl set ifaddr 192.244.177.38/24 192.244.177.2/20 .Pp スラッシュ (/) に続く数字は、この 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 コマンドを使って、ダイヤルスクリプトにプロバイダの電話番号を記述します。 ダイヤルやリダイヤルに使用する電話番号は、 パイプ (|) またはコロン (:) で区切って 複数指定することができます。例えば、次のようになります。 .Bd -literal -offset indent set phone "111[|222]...[:333[|444]...]..." .Ed .Pp 最初のパイプで区切られたリストの番号は、 直前の番号でダイヤルもしくはログインスクリプトが失敗した場合のみ使用されます。 コロンで区切られた番号は、直前の番号の使用によりなにが起ったのかにかかわらず、 この順番で使用されます。例えば: .Bd -literal -offset indent set phone "1234567|2345678:3456789|4567890" .Ed .Pp この場合、まず 1234567 にダイヤルしてみます。 ダイヤルもしくはログインスクリプトに失敗したら、 次は 2345678 を使用します。 しかしこれはダイヤルもしくはログインスクリプトに失敗したとき *のみ* です。 このダイヤルの後、3456789 が使用されます。 4567890 は 345689 でダイヤルもしくはログインスクリプトに失敗したときのみ 使用されます。 2345678 のログインスクリプトが失敗したとしても、次の番号は 3456789 です。 必要な数だけ、パイプとコロンを使用可能です (しかし、通常はパイプのみかコロンのみであり両方の使用はないでしょう)。 次の番号へのリダイヤルまでのタイムアウトは、すべての番号にて使用されます。 リストが終了すると、 通常のリダイヤル期間だけ待ち、 最初から再開します。 .Dq set dial コマンドの \\\\T 文字列は選択された番号で置きかえられます。 (以降を参照してください)。 .It リダイヤルに関する設定は、 .Dq set redial で行います。 例えば回線の調子が悪かったり、 (最近では それほど多くないでしょうが) プロバイダがいつも話中だったりすると、 次のように設定したくなるかもしれません: .Bd -literal -offset indent set redial 10 4 .Ed .Pp これは最初の番号にリダイヤルを行う前に 10 秒待って、 4 回までダイヤルしてみるという意味になります。 .It .Dq set dial と .Dq set login コマンドを使ってログイン手続きを記述します。 .Dq set dial コマンドはモデムと通信してプロバイダへのリンクを確立するのに使われます。 例えば、次のようになります: .Bd -literal -offset indent set dial "ABORT BUSY ABORT NO\\\\sCARRIER TIMEOUT 4 \\"\\" \e ATZ OK-ATZ-OK ATDT\\\\T TIMEOUT 60 CONNECT" .Ed .Pp このモデム「チャット」文字列の意味は次の通りです。 .Bl -bullet .It \&"BUSY" または "NO CARRIER" を受信した場合には処理を中止します。 .It タイムアウトを 4 秒にセットします。 .It 文字列の受信待ちは行いません。 .It ATZ を送信します。 .It OK の受信待ちを行います。もし 4 秒以内に受信できなければ、 もう 1 度 ATZ を送信し、OK の受信待ちを行います。 .It ATDTxxxxxxx を送信します。xxxxxxx は 上記の電話番号リストの中の、次にダイヤルする番号です。 .It タイムアウトを 60 にセットします。 .It 文字列 CONNECT の受信待ちを行います。 .El .Pp 一旦接続が確立されると、ログインスクリプトが実行されます。 このスクリプトはダイヤルスクリプトと同じスタイルで書かれますが、 パスワードがログされないように注意してください: .Bd -literal -offset indent set authkey MySecret set login "TIMEOUT 15 login:-\\\\r-login: awfulhak \e word: \\\\P ocol: PPP HELLO" .Ed .Pp このログイン「チャット」文字列の意味は次の通りです。 .Bl -bullet .It タイムアウトを 15 秒にセットします。 .It "login:" の受信待ちを行います。もし受信できなければ 復改文字を送信して、再び "login:" の受信待ちを行います。 .It "awfulhak" を送信します。 .It "word:" ("Password:" プロンプトの末尾) の受信待ちを行います。 .It .Ar authkey に現在設定されている値を送信します。 .It "ocol:" ("Protocol:" プロンプトの末尾) の受信待ちを行います。 .It "PPP" を送信します。 .It "HELLO" の受信待ちを行います。 .El .Pp .Dq set authkey ( .Ar command ログ使用時には) コマンドのログは特別な方法でとられ、( .Sq ******** とログされますので) 実際のパスワードが危険にさらされることはありません。 .Ar chat ログ使用時には、実際のパスワードの代りに '\\P' とログされます。 .Pp ログインスクリプトはプロバイダによって大きく違うものになるでしょう。 始めてそれを設定するときには .Em チャットログを有効化 することで、あなたのスクリプトが予定通りに動いているかを 調べることができます。 .It シリアル回線と通信速度を指定するためには .Dq set line と .Dq set speed を使います。例えば次のようになります。 .Bd -literal -offset indent set line /dev/cuaa0 set speed 115200 .Ed .Pp FreeBSD では cuaa0 が 1 つめのシリアルポートになります。 OpenBSD で .Nm を実行している場合には cua00 が 1 つめです。 あなたのモデムが 28800 かそれ以上のビットレートで通信することが できるなら、シリアルポートの速度には 115200 を指定しておくべきでしょう。 一般に、シリアルポートの速度はモデムの速度の約 4 倍にしておきます。 .It .Dq set ifaddr コマンドで IP アドレスを定義します。 .Bl -bullet .It プロバイダがどの IP アドレスを使っているのか知っている場合には、 それをリモートアドレス (dst_addr) として使ってください。 知らない場合には、10.0.0.2/0 か何かを使ってください (以降を参照してください)。 .It 特定の IP アドレスをプロバイダから割り当てられている場合は、 それをローカルアドレス (src_addr) として使ってください。 .It プロバイダが IP アドレスを動的に割り当てる場合は、適当に控えめで 緩やかに記述した IP アドレスをローカルアドレスに選んでください。 10.0.0.1/0 が適切でしょう。 / に続く数値は、このアドレスのうち何ビットを重視しているかを示します。 もしもクラス C のネットワーク 1.2.3.0 上のアドレスを使うことを 主張したいのなら、1.2.3.1/24 と指定することができます。 .It プロバイダがあなたが提示した最初の IP 番号を受け付ける場合、 第 3, 4 の引数に .Dq 0.0.0.0 を指定してください。 これによりプロバイダが番号を割り当てます。 (3 つめの引数は、 .Sq src_addr に対してデフォルトのマスクよりも制約が緩いため、無視されます。) .El .Pp 自分の IP アドレスもプロバイダの IP アドレスも 知らない場合には、次の例のようにするとよいでしょう。 .Bd -literal -offset indent set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0 .Ed .Pp .It ほとんどの場合、プロバイダはデフォルトルータでもあるでしょう。 この場合、次の行を .Pa /etc/ppp/ppp.conf に追加します。 .Bd -literal -offset indent add default HISADDR .Ed .Pp これは、 .Nm 接続先のアドレスが何であっても .Pq この例では 10.0.0.2 デフォルト経路として追加するように指示します。 この経路は .Sq スティッキー です。これは .Dv HISADDR の値が変わると、経路もそれに従って自動的に更新されるという意味です。 .Pp 以前のバージョンの .Nm では .Pa /etc/ppp/ppp.linkup ファイルにこれと似たエントリが必要でした。 .Sq スティッキー経路 の出現により、これはもはや必要ではなくなりました。 .It プロバイダが PAP/CHAP による認証を要求している場合は、 .Pa /etc/ppp/ppp.conf ファイルに次の行を追加してください: .Bd -literal -offset indent set authname MyName set authkey MyPassword .Ed .Pp デフォルトではどちらも受け付けられますので、ISP が何を要求しても大丈夫です。 .Pp PAP もしくは CHAP を使用する場合、ログインスクリプトはほとんどの場合、 必要とされないことを記述しておくべきでしょう。 .It 次のような行を加え、ISP にネームサーバアドレスを確認してください。 .Bd -literal -offset indent enable dns .Pp .Ed ローカル DNS を走らせている場合には、これを .Em やらない でください。 .Nm は単純に .Pa /etc/resolv.conf に nameserver 行を入れることで、ローカル DNS の使用を 出し抜いてしまうからです。 .El .Pp 現実の例を見たい場合には、 .Pa /etc/ppp/ppp.conf.sample と .Pa /etc/ppp/ppp.linkup.sample を参照してください。 ラベル pmdemand は、ほとんどのプロバイダで使用できるでしょう。 .Sh ログ機能 .Nm は次のログ情報を、 .Xr syslog 3 経由で、もしくはスクリーンに出力することができます: -.Bl -column SMMMMMM -offset indent -.It Li Async 非同期レベルパケットの 16 進ダンプ -.It Li CBCP CBCP (CallBack Control Protocol) ログの生成 -.It Li CCP CCP パケットトレースの生成 -.It Li Chat チャットスクリプトのトレースログの生成 -.It Li Command コマンド実行のログ -.It Li Connect "CONNECT" を含むチャット行のログ -.It Li Debug デバッグ情報のログ -.It Li HDLC HDLC パケットの 16 進ダンプ -.It Li ID0 ユーザ ID 0 で実行された全関数呼び出しを詳細に記録 -.It Li IPCP IPCP パケットトレースの生成 -.It Li LCP LCP パケットトレースの生成 -.It Li LQM LQR レポートの生成 -.It Li Phase フェーズ遷移ログの出力 -.It Li TCP/IP 全 TCP/IP パケットのダンプ -.It Li Timer タイマ操作のログ -.It Li TUN ログの各行に tun デバイスを含めます -.It Li Warning 端末デバイスへの出力。端末が存在しない場合は、LOG_WARNING を使用してログファイルに送ります。 -.It Li Error 端末デバイスとログファイルへの出力で、LOG_ERROR を使用します。 -.It Li Alert ログファイルへの出力で、LOG_ALERT を使用します。 +.Pp +.Bl -tag -width XXXXXXXXX -offset XXX -compact +.It Li Async +非同期レベルパケットの 16 進ダンプ。 +.It Li CBCP +CBCP (CallBack Control Protocol) ログの生成。 +.It Li CCP +CCP パケットトレースの生成。 +.It Li Chat +.Sq dial , +.Sq login , +.Sq hangup +のチャットスクリプトのトレースログの生成。 +.It Li Command +コマンド実行のログ。 +.It Li Connect +文字列 "CONNECT" を含むチャット行のログ。 +.It Li Debug +デバッグ情報のログ。 +.It Li HDLC +HDLC パケットの 16 進ダンプ。 +.It Li ID0 +ユーザ ID 0 で実行された全関数呼び出しを詳細に記録。 +.It Li IPCP +IPCP パケットトレースの生成。 +.It Li LCP +LCP パケットトレースの生成。 +.It Li LQM +LQR レポートの生成。 +.It Li Phase +フェーズ遷移ログの出力。 +.It Li TCP/IP +全 TCP/IP パケットのダンプ。 +.It Li Timer +タイマ操作のログ。 +.It Li TUN +ログの各行に tun デバイスを含めます +.It Li Warning +端末デバイスへの出力。端末が存在しない場合は、 +.Dv LOG_WARNING +を使用してログファイルに送ります。 +.It Li Error +端末デバイスとログファイルへの出力で、 +.Dv LOG_ERROR +を使用します。 +.It Li Alert +ログファイルへの出力で、 +.Dv LOG_ALERT +を使用します。 .El .Pp .Dq set log コマンドで、ログの出力レベルを設定することができます。 また、複数のレベルを単一コマンドラインにて指定することも可能です。 デフォルトは、 .Dq set log Phase です。 .Pp スクリーンに直接ログを表示することも可能です。 文法は同じで、語 .Dq local が .Dq set log の直後に付くことだけが違います。 デフォルトは .Dq set log local (つまり、マスクされない警告、エラーと注意のみ出力) です。 .Pp .Dq set log Op local への最初の引数が '+' か '-' の文字で始まる場合、 現在のログレベルを消去せずに修正します。例えば: .Bd -literal -offset indent PPP ON awfulhak> set log phase PPP ON awfulhak> show log Log: Phase Warning Error Alert Local: Warning Error Alert PPP ON awfulhak> set log +tcp/ip -warning PPP ON awfulhak> set log local +command PPP ON awfulhak> show log Log: Phase TCP/IP Warning Error Alert Local: Command Warning Error Alert .Ed .Pp レベル Warning, Error, Alert のメッセージログは .Dq set log Op local では制御できません。 .Pp .Ar Warning レベルは特別で、ローカルに表示可能な場合にはログされません。 .Sh シグナルハンドリング .Nm は次のシグナルを扱います: .Bl -tag -width XX .It INT このシグナルを受信すると、現在の接続がもしあればそれを終了します。 .Fl auto もしくは .Fl ddial のモードではない場合、 .Nm は終了します。 .It HUP, TERM, QUIT .Nm を終了させます。 .It USR2 .Nm に全サーバソケットを閉じさせ、すべての既存の診断ポートへの接続を 取り下げます。 .El .Pp .Sh マルチリンク PPP .Em PPP 相手に接続するのに複数の物理的なリンクを利用したいなら、 接続相手も .Em マルチリンク PPP プロトコルを理解する必要があります。 仕様の詳細は RFC 1990 を参照してください。 .Pp 接続先は、 .Dq 終点の選択 とその .Dq 認証 ID の組み合わせによって識別されます。 これらの一方、もしくは両方を指定することができます。 最低でも片方は指定しておくことが推奨されます。 そうでないと、すべてのリンクが実際に同一のプログラムに接続されていることを 確認する方法がなくなり、 混乱してロックアップを引き起こすことがあります。 ローカルには、これらの識別変数は .Dq set enddisc と .Dq set authname コマンドを用いることで指定されます。先立って接続相手と .Sq authname .Pq と Sq authkey について合意しておく必要があります。 .Pp マルチリンクの能力は .Dq set mrru コマンド (set maximum reconstructed receive unit) を用いることで 有効になります。一度マルチリンクが有効になれば、 .Nm は接続相手とマルチリンク接続の交渉を行います。 .Pp デフォルトでは .Po .Sq deflink と呼ばれる .Pc ただ 1 つの .Sq リンク のみが有効です。さらにリンクを作成するには .Dq clone コマンドが使われます。このコマンドは既存のリンクを複製します。 それは次の点を除いてすべての性質が同じものです: .Bl -enum .It 新しいリンクは .Dq clone コマンドラインで指定された独自の名前を持ちます。 .It 新しいリンクは .Sq interactive リンクです。そのモードは次の .Dq set mode コマンドで変更することができます。 .It 新しいリンクは .Sq closed の状態にあります。 .El .Pp すべての有効なリンクのまとめは、 .Dq show links コマンドを用いて見ることができます。 .Pp 一度リンクが作成されると、コマンドの使用方法が変わります。 すべてのリンク固有のコマンドの前には、 .Dq link Ar name プレフィックスをつけて、 コマンドを適用するリンクを指定する必要があります。 .Nm は十分賢いので、 利用可能なリンクが 1 つだけの場合には、 .Dq link Ar name プレフィックスは不要です。 .Pp コマンドの中には依然としてリンクの指定なしに使用できるものがあり、それは .Sq バンドル レベルの操作を行います。たとえば、2 つ以上のリンクが存在するとき .Dq show ccp はマルチリンクレベルの CPP 設定と統計を表示し .Dq link deflink show ccp は .Dq deflink のリンクレベルの同じ情報を表示します。 .Pp これらの情報を用いて、次の設定を用いることができます: .Pp .Bd -literal -offset indent mp: set timeout 0 set log phase chat set device /dev/cuaa0 /dev/cuaa1 /dev/cuaa2 set phone "123456789" set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\\" ATZ \e OK-AT-OK \\\\dATDT\\\\T TIMEOUT 45 CONNECT" set login set ifaddr 10.0.0.1/0 10.0.0.2/0 set authname ppp set authkey ppppassword set mrru 1500 clone 1,2,3 link deflink remove .Ed .Pp すべての複製が設定の最後で行われていることに注意してください。 一般にはリンクは最初に設定され、そして複製されます。 あなたが常にすべてのリンクがアップ状態であることを望む場合には、 設定の最後に次の行を追加することができます。 .Pp .Bd -literal -offset indent link 1,2,3 set mode ddial .Ed .Pp リンクが必要に応じてダイヤルされることを望む場合には、次のコマンドを 使うことができます。 .Pp .Bd -literal -offset indent link * set mode auto .Ed .Pp 上記の .Dq set device 行を取り除き、 .Dq clone コマンドに続けて次の内容を指定することで、 リンクを特定の名前に結びつけることもできます: .Pp .Bd -literal -offset indent link 1 set device /dev/cuaa0 link 2 set device /dev/cuaa1 link 3 set device /dev/cuaa2 .Ed .Pp どのコマンドが ( .Dq link コマンドを使用した) コンテキスト (文脈) を要求し、 どのコマンドがコンテキストをオプションとし、 そしてどのコマンドがコンテキストを一切とらないかを調べるには、 .Dq help コマンドを使用します。 .Pp .Nm が接続相手と .Em マルチリンク モードで交渉をすると、 .Nm はローカルドメインソケットを .Pa /var/run ディレクトリに作成します。このソケットは、 リンク情報 (実際のリンクファイル記述子も含む) を、異なる .Nm の間で受け渡しするために使われます。 この機能によって、 .Nm はシリアル回線の初期制御を行う必要なしに .Xr getty 8 から、もしくは直接 .Pa /etc/gettydefs から ( .Sq pp= ケーパビリティを用いて) 実行することが可能となっています。 ひとたび .Nm がマルチリンクモードの交渉を行うと、 .Nm は自分がオープンした リンクをすでに実行されている任意の他のプロセスに渡すことができます。 すでに実行されているプロセスがない場合、 .Nm はマスタとして振る舞い、ソケットを作成し、新たな接続を待ちます。 .Sh PPP コマンドリスト この節では利用可能コマンドとその効果をリストします。 .Nm ppp セッションで対話的に使用することも、 設定ファイルで指定することも、 .Xr pppctl 8 もしくは .Xr telnet 1 セッションで指定することも可能です。 .Bl -tag -width XX .It accept|deny|enable|disable Ar option.... これらのディレクティブは 最初の接続においてどのように相手と交渉するかを .Nm に指示します。各 .Dq option は、accept/deny および enable/disable のデフォルトを持ちます。 .Dq accept は相手がこのオプションを要求したら、ACK を送ることを意味します。 .Dq deny は相手がこのオプションを要求したら、NAK を送ることを意味します。 .Dq enable はこのオプションを当方が要求することを意味します。 .Dq disable はこのオプションを当方が要求しないことを意味します。 .Pp .Dq option は次のいずれかです: .Bl -tag -width XX .It acfcomp デフォルト: enable かつ accept。 ACFComp はアドレスおよびコントロールフィールド圧縮 (Address and Control Field Compression) を意味します。 LCP パケット以外は非常に良く似たフィールドを持ちますので、 簡単に圧縮可能です。 .It chap デフォルト: disable かつ accept。 CHAP はチャレンジ交換認証プロトコル (Challenge Handshake Authentication Protocol) を意味します。 CHAP もしくは PAP (後述) のどちらか一方のみ交渉可能です。 CHAP では、認証者は「チャレンジ」メッセージを相手に送ります。 相手は一方向ハッシュ関数を使用して「チャレンジ」を暗号化し、 結果を送り返します。 認証者は同じことを行い結果を比較します。 この機構の利点は、接続を介してパスワードを送らないことです。 接続が最初に確立する時にチャレンジが行われます。 更なるチャレンジが行われるかもしれません。 相手の認証を行いたい場合は、 .Dq enable chap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを .Pa /etc/ppp/ppp.secret に書く必要があります。 .Pp クライアントとして CHAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 CHAP はデフォルトで accept されます。 .Em PPP の実装によっては、チャレンジの暗号化に MD5 ではなく "MS-CHAP" を使用するものがあります。 MS-CHAP は MD4 と DES の組み合わせです。もし .Nm が DES ライブラリの存在するマシン上で構築された場合 MS-CHAP 認証要求に応答しますが、MS-CHAP 認証を要求することは 決してありません。 .It deflate デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に deflate 圧縮を使用するか否かを決定します。 使用されるアルゴリズムは .Xr gzip 1 プログラムが使用するものと同じです。 注: .Xr pppd 8 - 多くのオペレーティングシステムで使用可能な .Em PPP の実装 - との .Ar deflate 能力についての交渉には問題があります。 .Nm pppd (バージョン 2.3.1) が .Ar deflate 圧縮の交渉を行おうとする CCP コンフィギュレーションタイプは、 .Pa rfc1979 に規定されたタイプ .Em 26 ではなくタイプ .Em 24 であり、誤っています。 タイプ .Ar 24 は実際には .Pa rfc1975 では .Dq PPP Magna-link Variable Resource Compression と指定されています! .Nm は .Nm pppd と交渉する能力がありますが、 .Dq deflate24 が .Ar enable かつ .Ar accept されている場合のみです。 .It deflate24 デフォルト: disable かつ deny。 これは .Ar deflate のバリエーションで、 .Xr pppd 8 プログラムとの交渉を許可します。 詳細は上記の .Ar deflate セクションを参照してください。 これは .Pa rfc1975 に反するため、デフォルトでは disable となっています。 .It dns デフォルト: disable かつ deny。 このオプションは DNS 交渉を許可します。 .Pp .Dq enable にすることにより、 .Nm は接続相手が .Pa /etc/resolv.conf ファイルのエントリを確認することを要求します。 もし接続相手が当方の要求に否定応答をした場合 (新しい IP アドレスを 提案したら)、 .Pa /etc/resolv.conf ファイルは更新され、新しいエントリを確認するように要求を送ります。 .Pp .Dq accept にすることにより、 .Nm は接続相手からの DNS 検索要求を拒否せずに、返答します。 .Dq set dns コマンドの使用によって上書きされていない場合には、応答は .Pa /etc/resolv.conf から採られます。 .It lqr デフォルト: disable かつ accept。 このオプションはリンク品質要求 (Link Quality Request) を送信する、 もしくは受け入れるかどうかを決定します。 LQR は、モデムのキャリア検出を使用せずに、リンクダウンを .Nm に決定させるプロトコルです。 LQR が enable になっていると、 .Nm は LCP 要求の一部として .Em QUALPROTO オプション (後述の .Dq set lqrperiod を参照) を送ります。 接続相手が同意した場合、両端は同意した間隔で LQR パケットを交換し、 LQM ロギングを有効にすることで、詳細なリンク品質を監視することが 可能になります。 接続相手が同意しなかった場合、ppp は代りに ECHO LQR 要求を 送ります。これらのパケットは興味ある情報を何も渡しませんが、 .Em 必ず 接続相手に応答しなければなりません。 .Pp LQR, ECHO LQR のいずれを用いるにせよ、 .Nm は 5 つのパケットを送ったが確認応答が無い場合、6 つ目のパケットを送らずに 回線を切断します。 メッセージを .Em PHASE レベルで記録し、回線切断の原因が接続相手にあるものとして、適当な .Dq reconnect 値を使用します。 .It 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 オプションを参照)。 .Pp クライアントとして PAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 PAP はデフォルトで accept されます。 .It pred1 デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に Predictor 1 圧縮を使用するかどうかを決定します。 .It protocomp デフォルト: enable かつ accept。 このオプションは PFC (プロトコルフィールド圧縮) の交渉を行うために使用されます。 この機構により、 プロトコルフィールド数が 2 オクテットから 1 オクテットに減ります。 .It shortseq デフォルト: enable かつ accept。 このオプションは .Nm がマルチリンクモードの交渉時に .Pq 12 ビットの 短いシーケンス番号を要求し、そして受け入れるかどうかを決定します。 これは、当方の MMRU が設定されたときのみ (マルチリンクが有効になっているときのみ) 適用されます。 .It vjcomp デフォルト: enable かつ accept。 このオプションは Van Jacobson ヘッダ圧縮を使用するかどうかを決定します。 .El .Pp 次に示すオプションは、実際には相手と交渉しません。 それゆえ accept および deny は意味を持ちません。 .Bl -tag -width 20 .It idcheck デフォルト: enable。 低レベルな LCP, CCP, IPCP 設定トラフィックを交換するときに、 すべての応答の識別子フィールドはその要求の識別子フィールドと 同一であることが予定されています。デフォルトでは .Nm は予定された識別子フィールドを持たないすべての応答パケットを 捨て、それぞれのログレベルで報告します。もし .Ar idcheck が disable になっている場合、 .Nm は識別子フィールドを無視します。 .It loopback デフォルト: enable。 .Ar loopback が enable の場合、 .Nm は自動的に .Em PPP インタフェースと同じ終点アドレス宛に送出されたパケットを ループバックします。 disable の場合、 .Nm がパケットを送ると、おそらく他の終点からの ICMP リダイレクトとなります。 インタフェースがデフォルト経路であるため、 ループバック経路を必要とすることを避けたい場合、 このオプションを enable にすると便利です。 .It passwdauth デフォルト: disable。 このオプションを enable にすることにより、 PAP 認証コードが呼び出し側を認証する時に、 .Pa /etc/ppp/ppp.secret ファイル中でみつからない場合、パスワードデータベース ( .Xr passwd 5 参照) を使用します。 .Pa /etc/ppp/ppp.secret は常に、最初に調べられます。 .Xr passwd 5 からパスワードを調べ、かつそのクライアントに対して IP アドレスもしくは ラベルを指定したい場合には、 .Pa /etc/ppp/ppp.secret ファイル中のクライアントのパスワードとして .Dq \&* を用いてください。 .It proxy デフォルト: disable。 このオプションを enable にすることにより、 .Nm に相手のために代理 ARP をさせます。 .It proxyall デフォルト: disable。 このオプションを enable にすることにより、 .Nm に代理 ARP エントリを追加させます。 追加されるエントリは、 tun インタフェースによってルーティングされる すべてのクラス C もしくはそれ以下のサブネットの中の、全 IP アドレスです。 .It sroutes デフォルト: enable。 .Dq add コマンドが .Dv HISADDR もしくは .Dv MYADDR という値とともに用いられると、エントリは .Sq スティック経路 リストに格納されます。 .Dv HISADDR もしくは .Dv MYADDR が変更される度に、このリストが経路表に適用されます。 .Pp このオプションを disable にすると、 スティッキー経路が適用されなくなります。 .Sq スティック経路 リストは依然として保守されます。 .It throughput デフォルト: enable。 このオプションを有効にすると、 .Nm はスループット統計を収集します。 ずれ動く 5 秒間のウィンドウにおいて入出力が検査され、 現在、最良時、総計の数値が保持されます。 このデータは関連する .Em PPP 層が終了するときに出力され、また .Dq show コマンドで表示することで得られます。スループット統計は .Dq IPCP と .Dq modem のレベルで利用可能です。 .It utmp デフォルト: enable。 通常ユーザが PAP もしくは CHAP で認証された時で、 .Nm が .Fl direct モードで実行されている時は、このユーザのエントリが utmp ファイルおよび wtmp ファイルに作成されます。 このオプションを disable にすると、 .Nm は utmp および wtmp のエントリを作成しません。 通常、 ユーザがログインしかつ認証することを要求する場合のみ必要です。 .It iface-alias デフォルト: .Fl alias が指定された場合 enable。 このオプションは、 インタフェースのアドレスを交換するのではなく、 インタフェースに新規アドレスを追加するように、 .Nm に指示します。 IP エイリアシングが有効な場合のみ .Pq Dq alias enable yes 、本オプションを enable にできます。 .Pp 本オプションを enable にすると、 .Nm は古いインタフェースアドレスのトラフィックを IP エイリアスエンジン .Pq Xr libalias 5 参照 を通すようになり、( .Fl auto モードでは) 最初に PPP リンクを立ち上げたプロセスが正しく接続できるようにします。 .Pp .Dq alias enable off として IP エイリアシングを disable すると、 .Sq iface-alias も disable します。 .El .Pp .It add[!] Ar dest[/nn] [mask] gateway .Ar dest は宛先 IP アドレスです。 ネットマスクは .Ar /nn によってビット数で指定するか、もしくは .Ar mask を用いて IP 番号で指定します。 .Ar 0 0 ならびにマスクなしの .Ar 0 はデフォルト経路を意味します。 .Ar 0 の代りにシンボル名 .Ar default を使うことが可能です。 .Ar gateway は、 .Ar dest マシン/ネットワークに至る、次のホップのゲートウェイです。 詳細は .Xr route 8 コマンドを参照してください。 .Pp 宛先にシンボル名 .Sq MYADDR と .Sq HISADDR を使用可能であり、 .Ar gateway には .Sq HISADDR を使用可能です。 .Sq MYADDR はインタフェースアドレスに置き換えられ、 .Sq HISADDR はインタフェースの宛先 (相手の) アドレスに置き換えられます。 .Pp .Ar add! コマンド .Po .Dq \&! に注意 .Pc 使用時には、経路が存在する場合には .Sq route change コマンド (詳細は .Xr route 8 参照) にて経路を更新します。 .Pp .Dq HISADDR もしくは .Dq MYADDR を含む経路は .Sq スティッキー と見なされます。これらはリスト (リストを見るには .Dq show ipcp コマンドを使用します) に格納され、 .Dv HISADDR もしくは .Dv MYADDR の値が変更される度に、経路表の関連するエントリが更新されます。 この機能は .Dq disable sroutes を使用することで無効にできます。 .It allow Ar command Op Ar args このコマンドは .Nm と設定ファイルへのアクセスを制御します。 ユーザレベルでのアクセスは可能であり、 設定ファイルのラベルと .Nm の実行モードに依存します。 例えば、ユーザ .Sq fred のみがラベル .Sq fredlabel に .Fl background モードでアクセスできるように、 .Nm を構成したいかもしれません。 .Pp ユーザ ID 0 はこれらのコマンドの対象外です。 .Bl -tag -width XX .It allow user[s] Ar logname... デフォルトでは、ユーザ ID 0 のみが .Nm へのアクセスを許されています。 このコマンドが指定されると、 .Dq allow users が記載されているセクションに列挙されているユーザのアクセスが可能となります。 .Sq default セクションは 常に最初にチェックされます (スタートアップ時に常にロードされる唯一の セクションです)。後続する .Dq allow users コマンドは、先行するコマンドに優先します。 あるラベル以外のすべてにアクセスを許すことが可能であり、 そのためにはデフォルトユーザを .Sq default セクションで指定し、新しいユーザリストをこのあるラベルに指定します。 .Pp ユーザ .Sq * が指定されると、全ユーザにアクセスが許されます。 .It allow mode[s] Ar modelist... デフォルトでは全 .Nm モードが使用可能です。 このコマンドが使用されると、 このコマンドが指定されたラベルのロードに許されるアクセスモードが制限されます。 .Dq allow users コマンドと同様、 各 .Dq allow modes コマンドは先行するコマンドに優先し、 .Sq default セクションは常に最初にチェックされます。 .Pp 使用可能なモードは次の通りです: .Sq interactive , .Sq auto , .Sq direct , .Sq dedicated , .Sq ddial , .Sq background , .Sq * 。 .Pp マルチリンクモードで動作するときには、 現在存在する回線モードを許可するセクションをロード可能です。 .El .Pp .It alias Ar command Op Ar args このコマンドは .Nm 組込みのエイリアシング (マスカレーディング) 機能を 制御するために使用します。 あなたのシステムでエイリアシングが有効になると (コンパイル時に削除できます)、 次のコマンドが使用可能となります: .Bl -tag -width XX .It alias enable [yes|no] エイリアシングを有効もしくは無効にします。 .Fl alias コマンドラインフラグは .Dq alias enable yes と同じ意味です。 .It alias port Op Ar proto targetIP:targetPORT [aliasIP:]aliasPORT このコマンドにより、 マシン .Ar aliasIP の .Ar aliasPORT へ到着する接続を、 .Ar targetIP の .Ar targetPORT へリダイレクトします。 .Ar proto は .Sq tcp もしくは .Sq udp のいずれかで、指定したプロトコルの接続のみマッチします。 あなたのゲートウェイの後のマシンでインターネット電話等を実行したい場合に、 このオプションは有用です。 .It alias addr Op Ar addr_local addr_alias このコマンドにより、 .Ar addr_alias へのデータを .Ar addr_local へリダイレクトします。 少数の実 IP アドレスを持っていて、これらをあなたのゲートウェイの後の 特定のマシンにマップしたい場合に有用です。 .It alias deny_incoming [yes|no] yes に設定した場合、ファイアウォールがパケットを落すのと同様に、 すべての入力の接続を拒否します。 .It alias help|? このコマンドにより、 使用可能なエイリアスコマンドのまとめを表示します。 .It alias log [yes|no] このオプションを指定することにより、 種々のエイリアシングの統計と情報を、ファイル .Pa /var/log/alias.log にログします。 .It alias same_ports [yes|no] 有効になると、 エイリアスライブラリが出力パケットのポート番号を変更しようとすることを 止めさせます。 RPC や LPD といった、 ウェルノウンポート (well known port) からの接続を要求する プロトコルをサポートするのに有用です。 .It alias use_sockets [yes|no] 有効になると、 エイリアスライブラリにソケットを作成させ、 正しい ftp データ入力や IRC 接続を保証できるようになります。 .It alias 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 [!]bg Ar command 指定した .Ar command を、次の語を置換した後に、バックグラウンドで実行します: .Bl -tag -width PEER_ENDDISC .It Li AUTHNAME これは、ローカルの .Ar authname の値と置き換えられます。後述の .Dq set authname コマンドを参照してください。 .It Li ENDDISC これは、ローカルの終点選択値と置き換えられます。 後述の .Dq set enddisc コマンドを参照してください。 .It Li HISADDR これは、相手の IP 番号と置き換えられます。 .It Li INTERFACE これは、使用中のインタフェース名と置き換えられます。 .It Li LABEL これは、最後に使用したラベル名と置き換えられます。 ラベルは、 .Nm のコマンドラインから .Dq load または .Dq dial のコマンドから指定するか、 .Pa ppp.secret ファイルから指定可能です。 .It Li MYADDR これは、ローカルインタフェースに割り当てられた IP 番号と置き換えられます。 .It Li PEER_ENDDISC これは、相手の終点選択番号と置き換えられます。 .It Li PROCESSID これは、現在のプロセス ID と置き換えられます。 .It Li USER これは、PAP もしくは CHAP で認証されたユーザ名と置き換えられます。 通常、この変数は -direct モードでのみ割り当てられます。 この値は、utmp ロギングが有効になっているかどうかに関わらず、利用可能です。 .El .Pp これらの置換は .Dq set proctitle コマンドによっても実行されます。 .Pp コマンド実行中に .Nm を停止させたい場合は、 .Dq shell コマンドを使用してください。 .It clear modem|ipcp Op current|overall|peak... .Dq modem もしくは .Dq ipcp 階層で、指定されたスループット値をクリアします。 .Dq modem を指定する場合にはコンテキストが与えられなければなりません (後述の .Dq link コマンドを参照)。 第 2 引数が与えられない場合、すべての値がクリアされます。 .It clone Ar name[,name]... 指定されたリンクを複製し、引数の .Ar name に関連づけた新しいリンクを作成します。 このコマンドは、リンクが 1 つしかない場合 (この場合にはそのリンクがデフォルトになります) を除いて後述の .Dq link コマンドから使用する必要があります。 リンクは下記の .Dq remove コマンドで削除できます。 .Pp デフォルトのリンク名は .Dq deflink です。 .It close Op lcp|ccp[!] 引数が与えられないと、適切なプロトコル層がダウンし、リンクが閉じられます。 .Dq lcp が指定されると LCP 層がダウンしますが、 .Nm をオフラインにはしません。例えば .Dq slirp のようなものを使用すれば、 .Dq term .Pq 後述 を使用して相手のマシンと会話できます。 .Dq ccp が指定されると適切な圧縮層が閉じられます。 .Dq \&! が使用されると、圧縮層はクローズ状態のままとなります。 使用されない場合には、STOPPED 状態へ再度入り、 相手が更なる CCP 交渉を開始するのを待ちます。 なにが起きようとも、ユーザを .Nm から切り離すことはありませんし、 .Nm を終了させることもありません。 後述の .Dq quit を参照してください。 .It delete[!] Ar dest このコマンドは指定した .Ar dest IP アドレスの経路を削除します。 .Ar dest に .Sq ALL が指定された場合、 現在のインタフェースの経路表の非直接エントリと .Sq スティッキー経路 がすべて削除されます。 .Ar dest に .Sq default が指定された場合、デフォルト経路が削除されます。 .Pp .Ar delete! コマンドが使用された場合 .Po 最後の .Dq \&! に注意 .Pc 、存在しない経路について .Nm は文句を言わなくなります。 .It dial|call Op Ar label 引数なしで使用された場合、このコマンドは .Dq open コマンドと同一です。 .Ar label が 1 つ以上指定された場合、最初に .Dq load が実行されます。 .It down Op Ar lcp|ccp 適切な階層をダウンさせますが、 綺麗な方法ではなく、下位層が使用不能になったように見えます。 オープン状態にある有限状態機械でこのコマンドを使用することは、 丁寧ではないとされています。 引数が与えられない場合、すべてのリンクが閉じられます (コンテキストが与えられない場合にはすべてのリンクが終了されます)。 .Sq lcp が指定された場合、 .Em LCP 層は終了されますが、モデムはオフラインに移行せず、 リンクも閉じられません。 .Sq ccp が指定された場合、 関連する圧縮層のみが終了されます。 .It help|? Op Ar command 利用可能なコマンドをリストします。 .Ar command を指定した場合、このコマンドの使用方法を表示します。 .It iface Ar command Op args このコマンドは、 .Nm ppp が使用するインタフェースを制御します。 .Ar command は次のいずれかです: .Bl -tag -width XX .It iface add[!] Ar addr[[/bits| mask] peer] 指定された .Ar addr mask peer の組み合わせをインタフェースに追加します。 .Ar mask を指定する代りに、 .Ar /bits を使用可能です .Pq addr との間に空白を入れてはなりません 。指定したアドレスが既に存在する場合、 .Dq \&! を使用していない限りコマンドは失敗します - この場合、 以前のインタフェースアドレスエントリは新しいもので置き換えられ、 ネットマスクと相手のアドレスの変更を許します。 .Pp .Ar addr のみが指定されると、 .Ar bits はデフォルト値 .Dq 32 になり、 .Ar peer はデフォルト値 .Dq 255.255.255.255 になります。 このアドレス (ブロードキャストアドレス) は、 相手のアドレスとして複数存在することを .Nm が唯一許すものです。 .It iface clear .Nm が OPENED 状態または .Fl auto モードの場合にこのコマンドを使用すると、 IPCP 交渉されたアドレス以外の全アドレスがインタフェースから削除されます。 .Nm が OPENED 状態でも .Fl auto モードでもない場合、全インタフェースアドレスが削除されます。 .Pp .It iface delete[!]|rm[!] Ar addr このコマンドは、指定した .Ar addr をインタフェースから削除します。 .Dq \&! が指定されると、現在そのアドレスがインタフェースに割り当てられていなくても、 エラーは報告されません (削除も行われません)。 .It iface show インタフェースの現在の状態と現在のアドレスを表示します。 .Dq ifconfig INTERFACE を実行することと、ほとんど同じです。 .It iface help Op Ar sub-command このコマンドを .Ar sub-command 無しで起動すると、利用可能な .Dq iface サブコマンドと、おのおのの短い書式を表示します。 .Ar sub-command 付きで起動すると、指定した sub-command の書式のみを表示します。 .El .It [data]link Ar name[,name...] command Op Ar args コマンドが影響を与えるリンクを特定したい場合に、このコマンドを 任意の他のコマンドのプレフィックスとして使うことができます。 これはマルチリンクモードで .Dq clone コマンドを使って複数のリンクを作成した後でのみ適用されます。 .Pp .Ar name は存在するリンク名を指定します。 .Ar name がコンマ区切りのリストの場合には、 .Ar command はそれぞれのリンクに対して実行されます。 .Ar name が .Dq * の場合には、 .Ar command はすべてのリンクに対して実行されます。 .It load Op Ar label ... .Pa ppp.conf ファイルから指定された .Dq label (複数指定可) をロードします。 .Dq label が指定されない場合、 .Dq default ラベルが仮定されます。 .It open Op lcp|ccp|ipcp これは .Dq close の反対のコマンドです。 .Dq open コマンドを引数なしで用いることは .Dq dial を引数なしで用いることと同一です。 すなわちすべての閉じられたリンクが、現在の設定を用いて起動されます ( .Dq set autoload コマンドに基づいた自動リンクの中には起動されないものもあります)。 .Pp LCP 層がすでにオープンされているときに .Dq lcp を指定すると、LCP は再度交渉されます。 したがって、種々の LCP オプションを変更したあとで .Dq open lcp コマンドを用いることで、変更を有効にすることができます。 LCP が再度交渉された後、 同意したあらゆる認証が実行されます。 .Pp .Dq ccp 引数が用いられると、関連する圧縮層がオープンされます。 すでにオープンされている場合には、再度交渉されます。 .Pp .Dq ipcp 引数が用いられると、リンクが通常通り起動されます。すでに IPCP が オープンされている場合には、IPCP は再度交渉され、 ネットワークインタフェースが再設定されます。 .Pp このようにして PPP の状態機械を再オープンするのは、 おそらく良い手段ではありません。 接続相手が正しく振る舞わない可能性があるためです。 しかしながら、強制的に CCP もしくは VJ 辞書をリセットする手段としては 便利です。 .It passwd Ar pass すべての .Nm コマンドセットにアクセスするために要求されるパスワードを指定します。 このパスワードは診断ポート ( .Dq set server コマンド参照) に接続するときに必要です。 .Ar pass は .Dq set server コマンドラインで指定します。 .Ar command ログが有効でも、値 .Ar pass はログされず、文字列 .Sq ******** がログされます。 .It quit|bye [all] .Dq quit が制御接続もしくはコマンドファイルから実行されると、 ppp はすべての接続を閉じた後に終了します。その他の場合、 つまりユーザが診断ソケットから接続している場合には、 単にその接続が失われます。 .Pp .Ar all 引数が与えられた場合、 .Nm はコマンドがどこから発行されたかに関わらず、 すべての存在する接続を閉じて終了します。 .It remove|rm このコマンドは与えられたリンクを消去します。 これはマルチリンクモードでのみ有用です。リンクは消去する前に .Dv CLOSED 状態になっていなければなりません。 .It rename|mv Ar name このコマンドは与えられたリンクの名前を .Ar name に変更します。 .Ar name がすでに他のリンクで使用されている場合には、失敗します。 .Pp デフォルトリンクの名前は .Sq deflink です。これを .Sq modem , .Sq cuaa0 , .Sq USR のいずれかに変更すると、ログファイルの可読性が向上するかも知れません。 .It save このオプションは (まだ) 実装されていません。 .It set[up] Ar var value このオプションは次に示す変数の設定のために使用します: .Bl -tag -width XX .It set accmap Ar hex-value ACCMap は非同期制御文字マップ (Asyncronous Control Character Map) を 意味します。 これはいつも相手と交渉され、デフォルト値は 16 進数で 00000000 です。 このプロトコルが必要なのは、 (XON/XOFF などの) 特定の文字を終点間で受渡すことに依存するハードウェアを 使用する場合です。 .Pp XON/XOFF については .Dq set accmap 000a0000 を使用します。 .It set authkey|key Ar value クライアントモードでの PAP または CHAP の交渉で使用される 認証キー (もしくはパスワード) を、指定した値に設定します。 ダイヤルもしくはログインスクリプトの '\\P' シーケンス で使用されるパスワードを指定しますが、 実際のパスワードがログされることを防ぎます。 .Ar command ログが有効な場合、セキュリティの観点から、 .Ar value は .Sq ******** としてログされます。 .It set authname Ar id クライアントモードでの PAP または CHAP の交渉で使用される 認証 ID を設定します。 .Pp PAP もしくは CHAP を enable にして .Fl direct モードで利用すると、 .Ar id は初期認証要求で用いられ、通常はローカルマシン名に設定されます。 .It set autoload Ar max-duration max-load [min-duration min-load] これらの設定はマルチリンクモードでのみ適用され、 デフォルト値はすべて 0 です。 1 つ以上の .Ar demand-dial .Po .Fl auto としても知られる .Pc モードのリンクが存在する場合、 .Nm が最初に tun デバイスからデータを読むときには最初のリンクのみが 有効になっています。 次の .Ar demand-dial リンクは、 .Ar max-duration 秒の間、送出キューに .Ar max-load 以上のパケットが存在した場合にのみ開かれます。 両方のデフォルト値が 0 であるため、 .Ar demand-dial リンクはデフォルトでは 1 つだけオープンされます。 .Pp 複数のリンクが開かれていて、少なくともその内の 1 つが .Ar demand-dial リンクである場合、 .Ar min-duration 秒の間、送出キューに最大 .Ar min-packets 未満のパケットしか存在しなかったときに閉じられます。 .Ar min-duration が 0 の場合には、タイマは無効になります。 デフォルトでは両方の値が 0 であるため、 .Ar demand-dial リンクはバンドルされたアイドルタイマが期限切れになるまで アクティブであり続けます。 .It set callback [none|auth|cbcp|E.164 *|number[,number]...]... 引数が与えられない場合、コールバックは disable になります。 そうでない場合には、 .Nm は与えられたプロトコルでコールバックを要求します (もしくは .Ar direct モードでは受け付けます)。 クライアントモードで、要求の否定応答が返されると、 .Nm は他に選択肢がなくなるまで別の要求を出します。 選択肢が尽きると .Nm は交渉を終了します。 サーバモードでは、 .Nm は与えられるプロトコルをなんでも受け付けますが、 クライアントがいずれかひとつを要求する .Em 必要があります 。コールバックをオプションにしたいのであれば、オプションとして .Ar none を指定する必要があります。 .Pp オプションは下記の通りです (優先度順): .Pp .Bl -tag .It auth コールバック応答側は、認証に基づいてコールバック番号を 決定することが求められます。 .Nm がコールバック応答側である場合、番号は .Pa /etc/ppp/ppp.secret 中の接続先エントリの 5 番目のフィールドで指定されます。 .It cbcp Microsoft コールバック制御プロトコルが用いられます。後述の .Dq set cbcp を参照してください。 .It E.164 *|number[,number]... コールバック要求側が .Ar number を指定します。 .Nm がコールバック応答側である場合、 .Ar number は許可する番号をコンマで区切って並べたリスト、もしくは 任意の番号を許可するという意味の .Dq \&* とします。 .Nm がコールバック要求側である場合、1 つの数字だけを指定します。 .Pp .Dq \&* を用いる場合、このオプションはとても危険なものとなることに 注意してください。 というのは、悪意あるコールバック要求者が、最初の認証なしに 電話すべき番号として任意の (国際通話番号も可能です) 番号を 伝えることができるからです。 .It none 接続相手がコールバックをまったく望まない場合、 .Nm はそのことを受け入れ、接続を終了するのではなく コールバックせずに処理を続けます。 コールバックをオプションにしたいのであれば、これを指定する必要があります。 .El .Pp .It set cbcp Op *|number[,number]... Op delay Op retry 引数が与えられない場合、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 choked Op Ar timeout これは .Nm がすべての未送出パケットを破棄する前に 送出キュー詰まりを保持する秒数を設定します。 .Ar timeout が 0 以下もしくは .Ar timeout が指定されない場合、デフォルト値の .Em 120 秒 に設定されます。 .Pp 送出キュー詰まりは .Nm がローカルネットワークから特定の数の送出パケットを読み込んだが、 リンク失敗 (接続相手がビジーなど) のためにデータを送れない場合に 発生します。 .Nm はパケットを無限には読み込みません。代りに .Em 20 パケット (マルチリンクモードでは .Em 20 No + .Em nlinks No * .Em 2 パケット) まで読み込み、 .Ar timeout 秒経過するか、1 つ以上のパケットが送られるまで ネットワークインタフェースの読み込みを停止します。 .Pp .Ar timeout 秒が経過すると、すべての未送出パケットは破棄されます。 .It set ctsrts|crtscts on|off ハードウェアフロー制御をセットします。 デフォルトではハードウェアフロー制御は .Ar on です。 .It set deflate Ar out-winsize Op Ar in-winsize DEFLATE アルゴリズムの、 デフォルトの出力ウィンドウサイズと入力ウィンドウサイズを設定します。 .Ar out-winsize および .Ar in-winsize は、 .Em 8 から .Em 15 までの値をとる必要があります。 .Ar in-winsize が指定されると、 .Nm はこのウィンドウサイズの使用を強要し、相手が他の値を示しても受け入れません。 .It set dns Op Ar primary Op Ar secondary .Dq accept dns コマンドで使用される、DNS 上書きを設定します。 詳細については前述の .Dq accept コマンドの記述を参照してください。本コマンドは .Dq enable dns を使用して要求される IP 番号には影響を与えません。 .It set device|line Ar value[,value...] .Nm が使用するデバイスを、指定された .Dq value に設定します。 全シリアルデバイス名は .Pa /dev/ から始まることが仮定されています。 .Dq value が .Pa /dev/ から始まらない場合、エクスクラメーションマーク .Pq Dq \&! から始めるか、 .Dq host:port の形式である必要があります。 .Pp エクスクラメーションマークで始まる場合、 デバイス名の残りはプログラム名として扱われ、 そのデバイスがオープンされるときにそのプログラムが実行されます。 標準入出力およびエラーは .Nm にフィードバックされ、それらが通常デバイスであるかのように読み書きされます。 .Pp .Dq host:port の組が与えられる場合、 .Nm は、指定された .Dq host の指定された .Dq port と接続しようとします。 詳細は上述の .Em PPP オーバ TCP の節を参照してください。 .Pp 複数の .Dq value を指定した場合、 .Nm は成功するか全デバイスについて実行し終るまで、順番にオープンを試みます。 .It set dial Ar chat-script 相手へダイヤルする際に使用されるチャットスクリプトを指定します。 後述の .Dq set login コマンドも参照してください。 チャットスクリプトのフォーマットの詳細については、 .Xr chat 8 と設定ファイルの例を参照してください。 次の特殊な .Sq value をチャットスクリプトに指定可能です: .Bd -unfilled -offset indent .It \\\\\\\\\\\\\\\\c .Sq 送信 文字列の最後の文字として使用した場合、 改行を追加してはならないことを意味します。 .It \\\\\\\\\\\\\\\\d チャットスクリプトがこのシーケンスに出会うと、2 秒待ちます。 .It \\\\\\\\\\\\\\\\p チャットスクリプトがこのシーケンスに出会うと、1/4 秒待ちます。 .It \\\\\\\\\\\\\\\\n 改行文字と置き換えられます。 .It \\\\\\\\\\\\\\\\r 復改文字と置き換えられます。 .It \\\\\\\\\\\\\\\\s 空白文字と置き換えられます。 .It \\\\\\\\\\\\\\\\t タブ文字と置き換えられます。 .It \\\\\\\\\\\\\\\\T 現在の電話番号と置き換えられます (後述の .Dq set phone 参照)。 .It \\\\\\\\\\\\\\\\P 現在の .Ar authkey 値と置き換えられます (前述の .Dq set authkey 参照)。 .It \\\\\\\\\\\\\\\\U 現在の .Ar authname 値と置き換えられます (前述の .Dq set authname 参照)。 .Ed .Pp 2 つのパーザがこれらのエスケープシーケンスを検査することに注意してください。 .Sq チャットのパーザ にエスケープ文字を見せるには、 .Sq コマンドパーザ からエスケープする必要があります。 つまり、2 つのエスケープを使用する必要があります。例えば次のようにします: .Bd -literal -offset indent set dial "... ATDT\\\\T CONNECT" .Ed .Pp チャットスクリプトから外部コマンドを実行することもできます。 そうするためには、 受信待ち文字列または送信文字列の最初の文字をエクスクラメーションマーク .Pq Dq \&! にします。 コマンドが実行されると、標準入力と標準出力がモデムデバイス ( .Dq set device 参照) に向けられ、標準エラー出力が .Nm に読まれて受信待ち文字列もしくは送信文字列に置き換えられます。 .Nm が対話モードで実行されている場合、ファイルデスクリプタ 3 は .Pa /dev/tty に接続されます。 .Pp 例えば (読み易さのために折り返しています); .Bd -literal -offset indent set login "TIMEOUT 5 \\"\\" \\"\\" login:--login: ppp \e word: ppp \\"!sh \\\\\\\\-c \\\\\\"echo \\\\\\\\-n label: >&2\\\\\\"\\" \e \\"!/bin/echo in\\" HELLO" .Ed .Pp は次のチャットシーケンスになります (ダイヤル前の .Sq set log local chat コマンドによる出力): .Bd -literal -offset indent Dial attempt 1 of 1 dial OK! Chat: Expecting: Chat: Sending: Chat: Expecting: login:--login: Chat: Wait for (5): login: Chat: Sending: ppp Chat: Expecting: word: Chat: Wait for (5): word: Chat: Sending: ppp Chat: Expecting: !sh \\-c "echo \\-n label: >&2" Chat: Exec: sh -c "echo -n label: >&2" Chat: Wait for (5): !sh \\-c "echo \\-n label: >&2" --> label: Chat: Exec: /bin/echo in Chat: Sending: Chat: Expecting: HELLO Chat: Wait for (5): HELLO login OK! .Ed .Pp 複数レベルのネストについて、 エスケープ文字の使用方法に (再度) 注意してください。 ここでは、4 つのパーザが動作してます。 1 番目は、オリジナルの行をパーズし、3 つの引数として読みます。 2 番目は、第 3 引数を 11 個の引数として読みます。 ここで、 .Dq \&- 記号がエスケープされていることが重要です。 そうでなければパーザは、 受信待ち-送信-受信待ちのシーケンスとして見てしまいます。 .Dq \&! 文字を見付けると、実行パーザは最初のコマンドを 3 つの引数として読み、 .Xr sh 1 自身が .Fl c 以降の引数を展開します。 我々は出力をモデムに送り返したいので、 1 番目の例では出力をファイルデスクリプタ 2 (stderr) にリダイレクトして .Nm 自身に送信およびログさせ、 2 番目の例では単に stdout に出力して直接モデムに出力させます。 .Pp もちろん全体を、組み込みのものではなく外部の .Dq chat コマンドに実行させることが可能です。 良い代替方法については .Xr chat 8 を参照してください。 .It set enddisc Op label|IP|MAC|magic|psn value このコマンドは、ローカル終点の選択値を設定します。 LCP 交渉の前に設定されると、 .Nm は LCP 終点選択値オプションを使用して、相手に情報を送ります。 次の選択値を設定可能です。 .Bd -unfilled -offset indent .It Li label 現在のラベルが使用されます。 .It Li IP 当方のローカル IP 番号を使用します。 LCP は IPCP より前に交渉されますので、 IPCP 層が後からこの値を変更することが可能です。 その場合、手動でリセットしない限り、終点の選択値は古い値のままとなります。 .It Li MAC 前述の .Ar IP オプションに似ていますが、 ローカル IP 番号に関係する MAC アドレスが使用される点が異なります。 ローカル IP 番号がどのイーサネットインタフェースにも存在しない場合、 本コマンドは失敗します。 .Pp ローカル IP 番号のデフォルトは、 マシンンホスト名がなんであれ、その名前になりますので、通常 .Dq set enddisc mac を .Dq set ifaddr コマンドよりも先に実行します。 .It Li magic 20 桁の乱数が使用されます。 .It Li psn Ar value 指定された .Ar value が使用されます。 .Ar value は、絶対的な公衆スイッチネットワーク番号の先頭に 国コードを付けたものであるべきです。 .Ed .Pp 引数が与えられない場合、終点の選択値はリセットされます。 .It set escape Ar value... このオプションは前述の .Dq set accmap オプションに似ています。 リンクを経由する時に「エスケープ」される文字を指定するために使用します。 .It set filter dial|alive|in|out rule-no permit|deny Ar "[src_addr/width] [dst_addr/width] [proto [src [lt|eq|gt port]] [dst [lt|eq|gt port]] [estab] [syn] [finrst]]" .Nm は 4 つのフィルタセットをサポートします。 .Em alive フィルタは接続を活性状態に保つパケットを指定します - アイドルタイマをリセットします。 .Em dial フィルタは、 .Fl auto モード時に .Nm にダイヤルさせるパケットを指定します。 .Em in フィルタは、マシンに入力可能なパケットを指定します。 .Em out フィルタは、マシンから出力可能なパケットを指定します。 .Pp フィルタリングは、 エイリアスエンジンが行う IP 変更の前に適用されます。 デフォルトでは、全フィルタセットが全パケットの通過を許可します。 ルールは .Ar rule-no に従って順番に処理されます。 -各セットに対し 20 までのルールを指定可能です。 +各セットに対し 40 までのルールを指定可能です。 指定されるセットにおけるどのルールにもマッチしないパケットは破棄されます。 .Em in と .Em out のフィルタでは、パケットをドロップすることを意味します。 .Em alive フィルタでは、アイドルタイマをリセットしないことを意味します。 .Em dial フィルタではダイアルさせることにはならないことを意味します。 ダイヤルを引き起こさないパケットは、 キューされるのではなく、捨てられることに注意してください。 上述のパケットのフィルタリングの節を参照してください。 .It set hangup Ar chat-script モデムを閉じる前にこれをリセットする時に使用する、 チャットスクリプトを指定します。 通常は不要であるべきですが、 閉じる時に自己を正しくリセットできないデバイスに対して使用できます。 .It set help|? Op Ar command 利用可能な set コマンドのまとめを表示するか、 .Ar command が指定されると、コマンドの使用方法を表示します。 .It set ifaddr Ar [myaddr [hisaddr [netmask [triggeraddr]]]] このコマンドは、IPCP 交渉の間使用される IP アドレスを指定します。 アドレスのフォーマットは次の通りです。 .Pp .Dl a.b.c.d/n .Pp ここで .Ar a.b.c.d は希望する IP アドレスであり、 .Ar n はこのうち何ビットが有効であるかを示します。 .Ar /n が省略された場合、デフォルトの .Ar /32 になります。 ただし IP アドレスが 0.0.0.0 である場合には、マスクのデフォルトは .Ar /0 です。 .Pp .Ar hisaddr に IP 番号の範囲として .Pp .Dl a.b.c.d[-d.e.f.g][,h.i.j.k[-l,m,n,o]]... .Pp のフォーマットを指定できます。例えば: .Pp .Dl set ifaddr 10.0.0.1 10.0.1.2-10.0.1.10,10.0.1.20 .Pp は .Ar 10.0.0.1 のみをローカル IP 番号として交渉しますが、指定された 10 個の IP 番号から 相手に割り当てを行います。 相手がこれらの番号のうちの 1 つを要求し、この番号が未使用な場合には、 .Nm は相手の要求を認めます。 相手がリンクを再確立して前回割り当てていた IP 番号を使用したい場合に有用です (既存の TCP 接続を保存します)。 .Pp 相手が要求した IP 番号が範囲外もしくは使用中の場合、 .Nm は範囲内の未使用 IP 番号をランダムに指示します。 .Pp .Ar triggeraddr が指定された場合、この値が .Ar myaddr の代りに IPCP 交渉で使用されます。 ただし、 .Ar myaddr の範囲のアドレスのみ受け入れられます。 これが有用なのは、相手が .Ar 0.0.0.0 を要求しない限り IP アドレスを割り当てようとしない .Dv PPP 実装と交渉するときです。 .Pp .Fl auto モードでは設定ファイルの .Dq set ifaddr 行を読んだ直後に .Nm がインタフェースを構成することに注意してください。 他のモードではこれらの値は IPCP 交渉で使用され、 IPCP 層がアップするまでこれらのインタフェースは構成されません。 .Pp .Po PAP か CHAP が .Dq enable である場合 .Pc クライアントが自己証明をした後では、 .Ar HISADDR 引数は .Pa ppp.secret ファイルの第 3 引数で上書きされうることに注意してください。 .Em 内向き接続の認証 の節を参照してください。 .Pp どの場合でも、インタフェースが既に構成されている場合には、 .Nm はインタフェースの IP 番号を保存して、 既にバインドされているソケットが正しいままであるようにします。 .It set ccpretry Ar period .It set chapretry Ar period .It set ipcpretry Ar period .It set lcpretry Ar period .It set papretry Ar period これらのコマンドは .Nm が有限状態機械 (Finite State Machine; FSM) に要求パケットを送る前に 待つ秒数を指定します。 .Ar period のデフォルトは、全 FSM において 3 秒です (ほとんどの場合十分です)。 .It set log [local] [+|-] Ns Ar value... このコマンドにより現在のログレベルを修正できます。 詳細はログ機能の節を参照してください。 .It set login chat-script この .Ar chat-script はダイヤルスクリプトを補います。 もし両方が指定された場合、ダイヤルスクリプトの後で、 ログインスクリプトが実行されます。 ダイヤルスクリプト中で使用可能なエスケープシーケンスはここでも使用可能です。 .It set lqrperiod Ar frequency このコマンドは、 .Em LQR または .Em ECHO LQR のパケットが送信される頻度 .Ar frequency を秒で指定します。デフォルトは 30 秒です。 相手に LQR 要求を送りたい場合には、 .Dq enable lqr コマンドもまた使用する必要があります。 .It set mode Ar interactive|auto|ddial|background 指定したリンクにおけるモード .Sq mode を変更できます。通常マルチリンクモードでのみ有用ですが、 単一リンクモードでも使用可能です。 .Pp .Sq direct または .Sq dedicated のリンクを変更することはできません。 .Pp 注釈: コマンド .Dq set mode auto を発行し、IP エイリアシングが enable にされていた場合、後で .Dq enable iface-alias を行うと便利です。 .Nm が必要なアドレス変換を行うようにすることにより、 相手が当方に新しい (動的な) IP アドレスを割り当てたとしても、 リンクがアップすると接続のトリガとなるプロセスが接続できるようにします。 .It set mrru Op Ar value このオプションを設定すると、 マルチリンクプロトコルまたは MP としても知られる、 マルチリンク PPP 交渉を有効にします。 MRRU (Maximum Reconstructed Receive Unit) の値にはデフォルトはありません。 引数を指定しないと、マルチリンクモードは無効にされます。 .It set mru Op Ar value デフォルトの MRU (最大受信単位; Maximum Receive Unit) は 1500 です。 この値を増加させた場合、相手は MTU を増加させても *かまいません*。 デフォルトの MRU より減らすことは意味がありません。 なぜなら、 .Em PPP プロトコルでは少なくとも 1500 オクテットのパケットを 受信できなければ *ならない* からです。 引数が指定されないと、1500 が仮定されます。 .It set mtu Op Ar value デフォルトの MTU は 1500 です。 交渉時に、(296 バイト未満でなければ) 相手が望むいかなる MRU および MRRU も受け付け可能です。 MTU が設定されると、 .Nm は .Ar value よりも小さい MRU/MRRU の値を受け付けなくなります。 交渉が完了すると、相手がより大きな MRU/MRRU を要求していたとしても、 インタフェースに対して MTU が割り当てられます。 当方のパケットサイズを制限するのに有用です (よりよくバンド幅を共有できるようになりますが、 ヘッダデータが増えるというコストがかかります)。 .Pp .Ar value を指定しないと、1500 または相手が要求した値が使用されます。 .It set nbns Op Ar x.x.x.x Op Ar y.y.y.y このオプションは、相手の要求によって返される Microsoft NetBIOS ネームサーバの値を設定します。 値を指定しないと、 .Nm はそのような要求を拒否するようになります。 .It set openmode active|passive Op Ar delay デフォルトでは、 .Ar openmode は常に、1 秒の .Ar delay をもって .Ar active となります。 この場合、 .Nm は回線が設定されてから 1 秒が経過したなら いつでも LCP/IPCP/CCP の交渉を開始します。 相手が交渉を開始するのを待ちたい場合は、値 .Dq passive を使用します。 直ちにもしくは 1 秒以上待ってから交渉を開始したい場合、 .Ar delay を秒単位で指定します。 .It set parity odd|even|none|mark 回線のパリティを設定できます。デフォルト値は .Ar none です。 .It set phone Ar telno[|telno]...[:telno[|telno]...]... ダイヤルおよびログインのチャットスクリプトで使用される \\\\T 文字列が 置き換えられる電話番号を指定できます。 複数の電話番号をパイプ (|) もしくはコロン (:) で区切って指定可能です。 パイプの後の番号がダイヤルされるのは、 直前の番号へのダイヤルもしくはログインのスクリプトが失敗した場合のみです。 回線の切断の理由にかかわらず、 コロンで区切られた番号は順番に試行されます。 複数の番号を指定した場合、接続が確立するまで .Nm はこのルールに基づいてダイヤルします。 再試行の最大値は、後述の .Dq set redial で指定します。 .Fl background モードでは各番号は最大 1 回試行されます。 .It set [proc]title Op Ar value .Xr ps 1 が表示する現在のプロセスタイトルを、 .Ar value に従って変更します。 .Ar value が指定されないと、元のプロセスタイトルが回復されます。 シェルコマンドが行うすべての語置換 (前述の .Dq bg コマンドを参照してください) は、ここでも行われます。 +.Pp +プロセスタイトル中に USER が必要な場合、 +.Dq set proctitle +コマンドは +.Pa ppp.linkup +中に登場する必要があることに注意してください。 +.Pa ppp.conf +が実行されているときには、分からないからです。 .It set reconnect Ar timeout ntries (CD の喪失もしくは LQR の失敗により) 予想外の回線切断となった場合、 指定した .Ar timeout の後に接続が再確立されます。 回線は最大 .Ar ntries 回、再接続されます。 .Ar ntries のデフォルトは 0 です。 .Ar timeout に .Ar random を指定すると、0 から 30 秒の間の任意時間の停止となります。 .It set recvpipe Op Ar value ルーティングテーブルの RECVPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It set redial Ar seconds[.nseconds] [attempts] .Nm に .Ar attempts 回のリダイヤルを指示できます。 1 より大きな数を指定した場合 (前述の .Ar set phone 参照)、 各番号にダイヤルする前に、 .Ar nseconds だけ停止します。 最初の番号に戻ってダイヤル開始する前に .Ar seconds だけ停止します。 .Dq random を .Ar seconds および .Ar nseconds のところで使用でき、0 から 30 秒の間の任意時間の停止となります。 .Pp .Ar attempts が経過した後でもこの遅延は効果があるので、 すぐに手動でダイヤルしても何も起ってないように見えるかもしれません。 すぐにダイヤルする必要がある場合、 .Dq \&! を .Dq open キーワードの直後に付けます。 更なる詳細については、前述の .Dq open の記述を参照してください。 .It set sendpipe Op Ar value ルーティングテーブルの SENDPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It set server|socket Ar TcpPort|LocalName|none password Op Ar mask このコマンドは .Nm に指定したソケットもしくは .Sq 診断ポート にてコマンド接続の入力を listen するように指示します。 .Pp 語 .Ar none は .Nm に既に存在するソケットを閉じさせます。 .Pp ローカルドメインソケットを指定したい場合、 .Ar LocalName に絶対ファイル名を指定します。そうしないと、TCP ポートの名前もしくは番号 であると解釈されます。 ローカルドメインソケットに使用される 8 進 umask を指定可能です。 .Sq 0 から始まる 4 桁 8 進数で指定します。 umask の詳細については .Xr umask 2 を参照してください。TCP ポート名がどのように変換されるかについては .Xr services 5 を参照してください。 .Pp このソケットにクライアントが接続するときに使用されねばならないパスワードも 指定可能です ( 前述の .Dq passwd コマンドを使用します)。 パスワードが空文字列として指定される場合、 クライアントが接続するときにパスワードを必要とされません。 .Pp ローカルドメインソケットが指定される場合、ソケット名中の最初の .Dq %d シーケンスは現在のインタフェースユニット番号で置換されます。 複数接続のために同一のプロファイルを使用したい場合に便利です。 .Pp 同様の方法で TCP ソケットの前に .Dq + 文字を付けることができます。 この場合、現在のインタフェースユニット番号が、ポート番号に加算されます。 .Pp .Nm をサーバソケットと共に使用する場合、通信機構として .Xr pppctl 8 コマンドを使用することが好ましいです。 現在 .Xr telnet 1 も使用可能ですが、将来リンク暗号化が実装されるかもしれませんので、 .Xr telnet 1 に依存しないようにしてください。 .It set speed Ar value シリアルデバイスの速度を指定します。 .It set stopped Ar [LCPseconds [CCPseconds]] このオプションが指定されると、 指定した FSM (有限状態機械; Finite State Machine) が停止状態になってから .Dq seconds で指定した秒数だけ停止したのち、 .Nm はタイムアウトします。 このオプションは、 相手が終了要求を送り我々が終了確認応答を送ったにもかかわらず 実際には接続を閉じない場合に、有用かもしれません。また、 .Dq set openmode passive を使用した場合に相手が指定時間内に Configure Request を送らないことを タイムアウト検出する場合には、便利かもしれません。 .Dq set log +lcp +ccp を使用すると、 .Nm は適切な状態遷移をログします。 .Pp デフォルト値は 0 であり、 停止状態による .Nm のタイムアウトは発生しません。 .Pp この値は openmode の遅延 (上述の .Dq set openmode 参照) より小さくなってはなりません。 .It set timeout Ar idleseconds このコマンドはアイドルタイマの値を指定します。 更なる詳細については .Dq アイドルタイマの設定 というタイトルの節を参照してください。 .It set vj slotcomp on|off このコマンドは .Nm に VJ スロット圧縮を交渉するか否かを指示します。 デフォルトではスロット圧縮は .Ar on です。 .It set vj slots Ar nslots このコマンドは最初の .Ar slots 番号を指定します。 .Nm は VJ 圧縮が enable されている時には、 これを使用して相手と交渉をします (前述の .Sq enable コマンドを参照してください)。 デフォルト値は 16 です。 .Ar nslots は .Ar 4 以上 .Ar 16 以下の値です。 .El .Pp .It shell|! Op Ar command .Ar command が指定されない場合、 .Dv SHELL 環境変数で指定されるシェルが起動されます。 そうでなければ指定された .Ar command が実行されます。 語の置換は、前述の .Dq !bg コマンドと同様の方法で行われます。 .Pp 文字 ! を使用する場合、コマンドとの間に空白が必要です。 このコマンドはフォアグラウンドで実行されることに注意してください - .Nm はプロセスが終了するまでは実行を続けません。 バックグラウンドでコマンド処理を行いたい場合には、 .Dv bg コマンドを使用してください。 .It show Ar var このコマンドを使用して、次の内容を確認できます: .Bl -tag -width 20 .It show bundle 現在のバンドル設定を表示します。 .It show ccp 現在の CCP 圧縮統計を表示します。 .It show compress 現在の VJ 圧縮統計を表示します。 .It show escape 現在のエスケープ文字を表示します。 .It show filter Op Ar name 指定したフィルタの現在のルールをリストします。 .Ar name を指定しないと、全フィルタが表示されます。 .It show hdlc 現在の HDLC 統計を表示します。 .It show help|? 利用可能な show コマンドのまとめを表示します。 .It show iface 現在のインタフェース情報 .Po Dq iface show と同じです .Pc を表示します。 .It show ipcp 現在の IPCP 統計を表示します。 .It show lcp 現在の LCP 統計を表示します。 .It show [data]link 高レベルリンク情報を表示します。 .It show links 利用可能な論理リンクのリストを表示します。 .It show log 現在のログ値を表示します。 .It show mem 現在のメモリ統計を表示します。 .It show modem 現在の下位レベルリンク情報を表示します。 .It show proto 現在のプロトコルの総計を表示します。 .It show route 現在の経路表を表示します。 .It show stopped 現在の stopped タイムアウト値を表示します。 .It show timer アクティブアラームタイマを表示します。 .It show version .Nm の現在のバージョン番号を表示します。 .El .Pp .It term 端末モードに移行します。 キーボードからタイプした文字はモデムに送られます。 モデムから読んだ文字はスクリーンに表示されます。 モデムの相手側に .Nm の相手が認識された時には、 .Nm は自動的にパケットモードを有効にし、コマンドモードに戻ります。 .El .Pp .Sh 更に詳細について .Bl -bullet .It 設定ファイルの例を読んでください。良い情報源です。 .It 何が利用できるかについては、 .Dq help , .Dq alias ? , .Dq enable ? , .Dq set ? , .Dq show ? コマンドを使って、オンライン情報を取得してください。 .It 次の URL に有用な情報があります: .Bl -bullet -compact .It http://www.FreeBSD.org/FAQ/userppp.html .It http://www.FreeBSD.org/handbook/userppp.html .El .Pp .El .Pp .Sh 関連ファイル .Nm は、4 つのファイル .Pa ppp.conf , .Pa ppp.linkup , .Pa ppp.linkdown , .Pa ppp.secret を参照します。 これらのファイルは .Pa /etc/ppp に置かれます。 .Bl -tag -width XX .It Pa /etc/ppp/ppp.conf システムのデフォルト設定ファイル。 .It Pa /etc/ppp/ppp.secret 各システム用の認証設定ファイル。 .It Pa /etc/ppp/ppp.linkup .Nm がネットワークレベルの接続を確立した時に実行されるファイル。 .It Pa /etc/ppp/ppp.linkdown .Nm がネットワークレベルの接続を閉じる時にチェックするファイル。 .It Pa /var/log/ppp.log ログとデバッグ情報のファイル。このファイル名は .Pa /etc/syslogd.conf にて指定されます。詳細は .Xr syslog.conf 5 を参照してください。 .It Pa /var/spool/lock/LCK..* tty ポートをロックするためのファイル。詳細は .Xr uucplock 3 を参照してください。 .It Pa /var/run/tunN.pid tunN デバイスに接続されている .Nm プログラムのプロセス ID (pid) 。 ここで .Sq N はデバイスの番号です。 .It Pa /var/run/ttyXX.if このポートで使われている tun インタフェース。 このファイルも .Fl background , .Fl auto , .Fl ddial のいずれかのモードの時のみ作成されます。 .It Pa /etc/services サービス名でポート番号が指定されている場合に、ポート番号を取得します。 .It Pa /var/run/ppp-authname-class-value マルチリンクモードでは、 相手の認証名称 .Pq Sq authname と相手の終点選択クラス .Pq Sq class と相手の終点選択値 .Pq Sq value を使用して、ローカルドメインソケットが生成されます。 終点選択値はバイナリ値であってもかまわないため、 実際のファイル名を判定するために 16 進数に変換されます。 .Pp このソケットは、別の .Nm のインスタンスとリンクを受け渡しを行うために使用します。 .El .Pp .Sh 関連項目 .Xr at 1 , .Xr ftp 1 , .Xr gzip 1 , .Xr hostname 1 , .Xr login 1 , .Xr tcpdump 1 , .Xr telnet 1 , .Xr syslog 3 , .Xr uucplock 3 , .Xr crontab 5 , .Xr group 5 , .Xr passwd 5 , .Xr resolv.conf 5 , .Xr syslog.conf 5 , .Xr adduser 8 , .Xr chat 8 , .Xr getty 8 , .Xr inetd 8 , .Xr init 8 , .Xr named 8 , .Xr ping 8 , .Xr pppctl 8 , .Xr pppd 8 , .Xr route 8 , .Xr syslogd 8 , .Xr traceroute 8 , .Xr vipw 8 .Sh 歴史 元のプログラムは Toshiharu OHNO (tony-o@iij.ad.jp) が作成し、 FreeBSD-2.0.5 に Atsushi Murai (amurai@spec.co.jp) が提出しました。 .Pp 1997 年中に本質的に Brian Somers (brian@Awfulhak.org) が修正をし、 11 月に OpenBSD に移植されました (2.2-RELEASE の直後です)。 .Pp 1998 年初頭にマルチリンク ppp サポートが追加されたときに、 ほとんどのコードを Brian Somers が書き直しました。 diff --git a/ja/man/man8/praliases.8 b/ja/man/man8/praliases.8 index 5a7d55466e..486b71c44c 100644 --- a/ja/man/man8/praliases.8 +++ b/ja/man/man8/praliases.8 @@ -1,50 +1,50 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)praliases.8 8.5 (Berkeley) 5/19/1998 .\" .\" 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 ユーティリティーは、 現在のシステムエイリアスを 1 行につき 1 つ ずつ ( 但し項目順ではなく ) 表示します。 .Pp オプションは次の通りです : .Bl -tag -width Ds .It Fl f デフォルトの .Nm sendmail システムのエイリアスファイルの代わりに、 指定されたファイルを読みます。 .El .Pp .Nm praliases ユーティリティーは成功すると 0 、 エラーが発生すると 0 より大きな値を返します。 .Sh 関連ファイル .Bl -tag -width /var/log/sendmail.stXX -compact .It Pa /etc/aliases デフォルトの .Nm sendmail システムのエイリアスファイル .It Pa /etc/aliases.db .Pa /etc/aliases ファイルのデータベース版 .El .Sh 関連項目 .Xr mailq 1 , .Xr sendmail 8 diff --git a/ja/man/man8/rlogind.8 b/ja/man/man8/rlogind.8 index 13d5de53a2..bfaa34d6ee 100644 --- a/ja/man/man8/rlogind.8 +++ b/ja/man/man8/rlogind.8 @@ -1,195 +1,195 @@ .\" Copyright (c) 1983, 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)rlogind.8 8.1 (Berkeley) 6/4/93 -.\" %Id: rlogind.8,v 1.9 1997/11/25 07:17:13 charnier Exp % +.\" %Id: rlogind.8,v 1.10 1999/01/12 14:09:17 asami Exp % .\" jpman %Id: rlogind.8,v 1.2 1997/05/23 00:50:03 mutoh Stab % .\" .Dd June 4, 1993 .Dt RLOGIND 8 .Os BSD 4.2 .Sh 名称 .Nm rlogind .Nd リモートログインのサーバ .Sh 書式 .Nm .Op Fl Daln .Sh 解説 .Nm は、 .Xr rlogin 1 のためのサーバです。サーバは信頼できるホストからの 特権ポート番号に基づいた認証を用いて、リモートログイン機能を提供します。 .Nm では、以下のオプションが使用可能です。 .Bl -tag -width indent .It Fl D TCP_NODELAY ソケットオプションを設定します。これは、いくつかの ネットワークトラフィックの増大に対して、応答性を向上します。 .It Fl a 検証のために、ホスト名を問い合わせます。 .It Fl l ユーザがスーパユーザとしてログインしない限り、 一般ユーザの .Dq Pa .rhosts による、あらゆる認証を禁止します。 .It Fl n キープアライブメッセージを禁止します。 .El .Pp Kerberos を使っている時には、以下のようなオプションが利用可能です。 .Bl -tag -width indent .It Fl k Kerberos 認証を利用可能にします。 .It Fl v vacuous モードを利用可能にします。 .It Fl x .Xr rlogin 1 セッションで流される全てのデータに .Tn DES 暗号化を施します。このオプションを利用すると、応答性や CPU に負荷が かかりますが、機密性は向上します。 .El .Pp .Nm は、``login'' サービスの仕様に基づく番号のポートで、要求を受け付けます。 詳しくは .Xr services 5 を参照してください。 サービスの要求を受け取ると、以下のプロトコルを開始します。 .Bl -enum .It サーバはクライアントの要求元ポート番号を調べます。 もしポート番号が512〜1023の範囲外であれば、サーバは接続を切断します。 .It サーバはクライアントの要求元アドレスを調べ、それに対応するホスト名を 求めます ( .Xr gethostbyaddr 3 , .Xr hosts 5 , .Xr named 8 を参照してください)。 ホスト名を決定できなければ、ドット表記法によるホストアドレスを 用います。 ホスト名がサーバと同じドメインに属しているか (ドメイン名の最後の二つの 構成要素に基づいて判断します)、あるいは .Fl a オプションが指定されていたら、 ホスト名に対するアドレスを調べて、ホスト名とアドレスが一致しているか どうかを検証します。 アドレスの検証に失敗した場合は、通常の認証作業は行いません。 .El .Pp 要求元ポートの番号を調べ終えたら、 .Nm は、 .Xr rshd 8 で説明している認証作業を開始します。 そして、疑似端末 ( .Xr pty 4 を参照のこと) を割り当てると共に、 ファイルディスクリプタを操作して、 この疑似端末のスレーブ側がログインプロセスの .Em stdin , .Em stdout , .Em stderr になるようにします。 認証作業が成功した場合には、 .Xr login 1 プログラムに .Fl f オプションを指定してログインプロセスを生成します。 自動認証作業に失敗した場合には、 通常の端末回線からのログインの場合と同様に、 ユーザに問い合わせをします。 .Pp ログインプロセスの親プロセスは、疑似端末のマスタ側を操作します。 すなわちログインプロセスと、クライアント側の .Xr rlogin 1 プログラムを実体化したものとの間で処理を行います。 通常の処理においては、 .Ql ^S/^Q のような機能を提供したり、割り込み信号をリモートプログラムへと伝えるために .Xr pty 4 で説明しているパケットプロトコルを起動します。 ログインプロセスは、クライアントの端末の通信速度や 環境変数 .Ql Ev TERM で指定されている端末タイプを伝えます。 .Xr environ 7 を参照してください。 クライアント側に端末の画面、あるいはウィンドウの大きさを問い合わます。 また、クライアント側からウィンドウサイズの変更が疑似端末へ 伝えられます。 .Pp トランスポートレベルのキープアライブメッセージは、オプション .Fl n が指定されていない限り出力されます。 キープアライブメッセージを利用すると、クライアントがクラッシュしたり、 通信不能になってしまった時に、セッションをタイムアウトで 終了することが可能になります。 .Sh 診断 すべての診断メッセージは、ネットワーク接続が切断された後に、最初に 1 の値 のバイトが付加されて通知されます。 .Xr login 1 が起動された後にエラーが発生しない場合、 処理成功の通知のために、NULL バイトを返します。 .Bl -tag -width Ds .It Sy Try again. サーバが .Xr fork 2 に失敗したことを表します。 .El .Sh 関連項目 .Xr login 1 , .Xr ruserok 3 , .Xr hosts 5 , .Xr nologin 5 , .Xr rshd 8 .Sh 関連ファイル .Bl -tag -width /etc/hostsxxxxxxxx -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv .It Pa $HOME/.rhosts -.It Pa /etc/nologin +.It Pa /var/run/nologin .El .Sh バグ このコマンドが用いている認証手続きは、それぞれのクライアントマシンと 接続媒体が完全であるということを仮定したものです。これはセキュリティホールに なりやすいのですが、``オープン'' な環境においては有用な方針です。 .Pp 全てのデータについて暗号化を行なう機能が実装されるべきです。 .Pp もっと発展性のあるプロトコルが用いられるべきです。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja/man/man8/rmail.8 b/ja/man/man8/rmail.8 index d25c6b1a1c..bf94ea1c52 100644 --- a/ja/man/man8/rmail.8 +++ b/ja/man/man8/rmail.8 @@ -1,52 +1,52 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)rmail.8 6.14 (Berkeley) 5/19/1998 .\" 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 は .Xr uucp 1 経由で受けとったメールを解釈し、 .Xr mail.local 8 によって生成される``From''行を、``return-path!sender'' という一行に変換して .Xr sendmail 8 に渡します。 .Pp .Nm は、明らかに .Xr uucp 1 と .Xr sendmail 8 で使われるように設計されています。 .Sh 関連項目 .Xr uucp 1 , .Xr mail.local 8 , .Xr sendmail 8 .Sh 歴史 .Nm プログラムは .Bx 4.2 から登場しました。 .Sh バグ .Nm は .Pa /bin に置くべきではありません。 diff --git a/ja/man/man8/rshd.8 b/ja/man/man8/rshd.8 index 7c22f5cf9d..04429a62da 100644 --- a/ja/man/man8/rshd.8 +++ b/ja/man/man8/rshd.8 @@ -1,224 +1,225 @@ .\" Copyright (c) 1983, 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. .\" .\" @(#)rshd.8 8.1 (Berkeley) 6/4/93 +.\" %Id: rshd.8,v 1.15 1999/01/12 14:09:18 asami Exp % .\" %Id: rshd.8,v 1.14 1998/12/16 07:20:44 peter Exp % .\" jpman %Id: rshd.8,v 1.4 1997/08/10 18:35:56 horikawa Stab % .\" .Dd June 4, 1993 .Dt RSHD 8 .Os BSD 4.2 .Sh 名称 .Nm rshd .Nd リモートシェルのサーバ .Sh 書式 .Nm rshd .Op Fl alnDL .Sh 解説 .Nm は、 .Xr rcmd 3 ルーチンのためのサーバであり、結果として .Xr rsh 1 の実行のために必要となるサーバです。 .Nm は、信頼できるホストからの特権ポート番号に基づいた 認証を行なうことによって、プログラムのリモート実行機能を提供します。 .Pp .Nm サーバは、``cmd'' サービスに割り当てられたポート ( .Xr services 5 参照) でサービス要求を受け付けます。サービス要求を受信すると、 サーバは以下の手順を開始します: .Bl -enum .It サーバは、クライアントの要求元ポート番号のチェックをおこないます。 要求元ポート番号 が 512 から 1023 の範囲にない場合、サーバは接続を強制切断します。 .It サーバは、ソケットから .Tn ヌル バイト (`\e0') を検出するまで文字を読みます。 受信文字列は、 .Tn ASCII コードによる 10 進数の数値に変換します。 .It ステップ 2 で受信した数値が 0 でない場合、その数値を .Em 標準エラー出力 で使用する 2 番目のストリームのポート番号として解釈します。 そしてクライアントマシン上でも指定されたポート番号の 2 番目の接続を生成します。 この 2 番目の接続の要求元ポート番号も、512 から 1023 の範囲で指定します。 .It サーバは、クライアントの要求元アドレスをチェックし、該当するホスト名を要求し ます ( .Xr gethostbyaddr 3 , .Xr hosts 5 , .Xr named 8 を参照してください)。ホスト名が特定できない場合、 または確認したホスト名とアドレスとが一致しない場合、 ドット表記法によるホストアドレスを用います。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em クライアント マシン上のユーザ識別に使用します。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em サーバ マシン上のユーザ認証に使用します。 .It 最初のソケットを介して、シェルに渡されるべき、ヌル終端された コマンドを取得します。コマンド長の制限は、システムの引数リスト サイズの上限に依存します。 .It .Nm は、 .Pa /etc/hosts.equiv および当該ユーザのホームディレクトリ上に存在する .Pa .rhosts ファイルを用いる .Xr ruserok 3 を使用して、ユーザ認証を行います。 .Fl l オプションは、ユーザがスーパユーザでない限り、 .Pa .rhosts ファイルに基づいた .Xr ruserok 3 のすべての認証をおこなわないようにします。 .It -.Pa /etc/nologin +.Pa /var/run/nologin ファイルが存在し、ユーザがスーパユーザでない場合、接続を 切断します。 nologin ファイルの名前に関しては、 .Pa login.conf にて ローカルユーザのログインクラスに関する nologin ケーパビリティが優先します。 ログインクラスは、ログイン時間(times.allow と times.denny ケーパビリティ) およびリモートホスト(hosts.allow と hosts.denny ケーパビリティ)による .Xr rsh 1 アクセスの制限にも使われます。 .It 最初のソケットを用いて .Tn ヌル バイトを返し、コマンドライン を、ユーザの通常のログインシェルに渡します。シェルは .Nm によって確立されたネットワーク接続を継承します。 .El .Pp .Fl n オプションが与えられないかぎり、トランスポートレベルの keepalive メッセージが 有効になります。keepalive メッセージを使用することによって、 クライアントプロセスが異常終了するか、もしくはネットワーク到達不可に なった場合にセッションをタイムアウトで終了させることができます。 .Pp .Fl D オプションは TCP_NODELAY ソケットオプションを設定します。 小さな連続する (back-to-back) 書き込みの性能を向上させますが、 ネットワークトラフィックは増えてしまいます。 .Pp .Fl L オプションを用いることで、すべての正常なアクセスを .Xr syslogd 8 を経由して .Li auth.info メッセージとして、ログします。 .Sh 診断 以下に示す例のうち最後のものを除き、 すべての診断メッセージを最初のソケットを用いて返した後、 すべての接続をクローズします。 エラーは、先行する 1 バイトとして値 1 が返されるこ とでわかります (ログインシェル実行の前のすべてのステップが正常に完了した場合、 上記のステップ 10 の処理で 0 を返します)。 .Bl -tag -width indent .It Sy Locuser too long. クライアントマシン上のユーザ名が、16 文字を超えています。 .It Sy Ruser too long. リモートマシン上のユーザ名が、16 文字を超えています。 .It Sy Command too long. 渡されたコマンドラインの長さが、引数リストの大きさを超えています (システムに依存します)。 .It Sy Login incorrect. 当該ユーザに関するエントリが、パスワードファイルに登録されていないか、 上述の認証手続きに失敗しました。 .It Sy Remote directory. ホームディレクトリへの .Xr chdir 2 巻数が失敗しました。 .It Sy Logins not available right now. ローカルユーザのログインクラスに対する .Pa login.conf において、許された時間以外で .Xr rsh 1 が試されました。 .It Sy Can't make pipe. .Em 標準エラー出力 に必要なパイプを作成できませんでした。 .It Sy Can't fork; try again. サーバによる .Xr fork 2 が失敗しました。 .It Sy : ... ユーザのログインシェルを起動できませんでした。本メッセージの出力は .Em 標準エラー出力 に関連づけられたコネクションを介して返されますので、 フラグバイトは先行しません。 .El .Sh 関連項目 .Xr rlogin 1 , .Xr rsh 1 , .Xr gethostbyaddr 3 , .Xr rcmd 3 , .Xr ruserok 3 , .Xr hosts 5 , .Xr login.conf 5 , .Xr nologin 5 , .Xr services 5 , .Xr named 8 , .Xr rlogind 8 , .Xr syslogd 8 . .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv .It Pa /etc/login.conf .It Pa $HOME/.rhosts -.It Pa /etc/nologin +.It Pa /var/run/nologin .El .Sh バグ ここで用いられているユーザ認証手順は、各クライアントマシンおよび接続媒体が 信頼できるものと仮定しています。 これは安全ではないですが、``オープン'' な環境下では便利です。 .Pp 全てのデータについて暗号化を行なう機能が実装されるべきです。 .Pp TELNET のような、もっと拡張性のあるプロトコルが用いられるべきです。 diff --git a/ja/man/man8/rwhod.8 b/ja/man/man8/rwhod.8 index bb628bb3cc..eeaed88663 100644 --- a/ja/man/man8/rwhod.8 +++ b/ja/man/man8/rwhod.8 @@ -1,206 +1,219 @@ .\" this file based on that translated to japanese on NetBSD Japanese Reference .\" Manual Project, and modefied to fit FreeBSD Reference Manual .\" by Mochida Shuji 1995/03/31 .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)rwhod.8 8.2 (Berkeley) 12/11/93 .\" jpman %Id: rwhod.8,v 1.3 1997/10/11 07:49:54 horikawa Stab % .\" .Dd December 11, 1993 .Dt RWHOD 8 .Os BSD 4.2 .Sh 名称 .Nm rwhod .Nd システムステータスサーバ .Sh 書式 .Nm rwhod .Op Fl i +.Op Fl l .Op Fl m Op Ar ttl .Sh 解説 .Nm は、 .Xr rwho 1 や .Xr ruptime 1 プログラムで使われるデータベースを管理するサーバです。 ネットワークにおいて .Em ブロードキャスト もしくは .Em マルチキャスト メッセージが使用できることが前提となります。 .Pp .Nm -は、ステータス情報のを生成と利用の両方を行います。情報の生成では、定期的に +はステータス情報の生成と利用の両方を行います。 +ただし、 +.Fl l +(listen モード) オプションを指定した場合は例外で、利用のみ行います。 +情報の生成では、定期的に システムに状態を問い合わせ、ステータスメッセージを構築してネットワークに ブロードキャストします。情報の利用では、他の .Nm サーバからの状態メッセージを受け取り、検査してから、 .Pa /var/rwho ディレクトリの下のファイルに記録します。 .Pp .Fl i オプションは、安全ではないモードを有効にします。 このモードでは、 .Nm は入力パケットのソースポートを無視します。 .Pp +.Fl l +オプションを指定すると listen モードが有効になり、 +.Nm +は情報をブロードキャストしなくなります。 +これにより、自分自身の情報をブロードキャストせずに他のマシンの +.Nm +情報を監視することができます。 +.Pp .Fl m オプションは、インタフェースの "ifnet" 構造体に IFF_MULTICAST フラグが 設定されている全てのインタフェース (ループバックインタフェースは 除きます) 上で、 .Nm に (ブロードキャストの代わりに) IP マルチキャストを使わせます。マルチキャストによる報告は、 直接つながっているサブネットへの転送を防ぐために TTL(Time To Live) 1で送られます。 .Pp オプションの .Ar ttl 引数が .Fl m フラグとともに与えられた時には、 .Nm は IP マルチキャストデータグラムを TTL が .Ar ttl として、 全てのインタフェースではなく 1 つのインタフェースに対して送ります。 .Ar ttl は 0 から 32 (または、MAX_MULTICAST_SCOPE) までの値です。 .Fl m Ar 1 は、 .Fl m とは異なることに注意してください。 .Fl m Ar 1 は、1 つのインタフェースにだけ転送を行います。 .Pp .Fl m フラグが、 .Ar ttl 引数無しで使われた場合、プログラムはマルチキャスト .Nm 報告を全ての マルチキャストが利用可能なインタフェースから受け取ります。 .Ar ttl 引数が与えられた場合は、マルチキャストレポートは 1 つのインタフェース からだけ受け取ります。その 1 つは、報告を行っているものです (これは、ホストルーティング表によって制御されます)。 .Fl m オプション無しでは、プログラムはブロードキャストもしくは ユニキャストによる報告を全てのインタフェースから受け取ります。 したがって、このプログラムは、古い報告をマルチキャストを使っていない .Nm から受け取り、マルチキャストが使われている場合は古い .Nm は このプログラムによって生成される報告を受け取れないことになります。 .Pp サーバは、``who'' サービスで指定されているポート番号でメッセージを 送受信します。 .Xr services 5 を参照して下さい。送受信するメッセージは以下のような形式です。 .Bd -literal -offset indent struct outmp { char out_line[8]; /* 端末 (tty) 名 */ char out_name[8]; /* ユーザID */ long out_time; /* 時刻 */ }; struct whod { char wd_vers; char wd_type; char wd_fill[2]; int wd_sendtime; int wd_recvtime; char wd_hostname[32]; int wd_loadav[3]; int wd_boottime; struct whoent { struct outmp we_utmp; int we_idle; } wd_we[1024 / sizeof (struct whoent)]; }; .Ed .Pp すべてのフィールドは、送信に先立ってネットワークバイトオーダに変換されます。 ホスト負荷 (load average) は .Xr w 1 によって計算され、送信の 5, 10, 15 分前の負荷を 100 倍した 整数として表現されます。ホスト名は、 .Xr gethostname 3 システムコールで得られたものがドメイン名を省略して格納されます。 メッセージの最後の配列には、メッセージを送信したマシンにログインしている ユーザの情報が格納されています。この情報は、 .Xr utmp 5 の非アイドルの端末ラインのエントリと、その端末ラインから最後に文字を 受け取った時間を秒数で表した値が入っています。 .Pp .Nm サーバによって受信されるメッセージは、 .Nm サーバのポートから送信されたものでないか、 .Fl i オプションが指定されていなければ捨てられます。さらにメッセージ のホストの名前が表示できない .Tn ASCII 文字を含んでいる場合も、メッセージは捨てられます。 .Nm が受け取った正しいメッセージは .Pa /var/rwho ディレクトリに .Pa whod.hostname というファイル名で格納されます。これらのファイルには、最新のメッセージ だけが、上で説明した形式で残っています。 .Pp ステータスメッセージはほぼ 3 分ごとに作成されます。 .Nm は、30 分ごとに .Pa /kernel に対して .Xr nlist 3 を実行します。これは、このファイルがその時点での実際のシステムイメージ であることを確認するためです。 .Sh 関連項目 .Xr ruptime 1 , .Xr rwho 1 .Sh バグ ネットワーク間でステータス情報を中継する方法が必要です。 ステータス情報は、ずっと送りつづけるのではなく、要求があったとき にだけ送るようにするべきでしょう。サーバが死んでいたり、ネットワークの 通信障害を、マシンがダウンしていると思い込んでしまう場合がよくあります。 .Sh 歴史 .Nm コマンドは .Bx 4.2 で登場しました。 diff --git a/ja/man/man8/sendmail.8 b/ja/man/man8/sendmail.8 index 0e798c79ec..a7401e95dd 100644 --- a/ja/man/man8/sendmail.8 +++ b/ja/man/man8/sendmail.8 @@ -1,562 +1,564 @@ .\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. .\" Copyright (c) 1983, 1997 Eric P. Allman. 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. .\" .\" -.\" @(#)sendmail.8 8.19 (Berkeley) 5/19/98 +.\" @(#)sendmail.8 8.20 (Berkeley) 8/2/1998 .\" jpman %Id: sendmail.8,v 1.2 1997/06/05 01:31:44 yugawa Stab % .\" -.Dd May 19, 1998 +.Dd August 2, 1998 .Dt SENDMAIL 8 .Os BSD 4 .Sh 名称 .Nm sendmail .Nd 電子メール配送デーモン .Sh 書式 .Nm sendmail .Op Ar flags .Op Ar address ... .Nm newaliases .Nm mailq .Op Fl v .Sh 解説 .Nm sendmail はメッセージを他の人に送ります。必要ならばネットワークを 通してメッセージを正しい場所に転送します。 .Pp ただし、 .Nm sendmail はユーザインタフェースとして使われることは考慮さ れていません。ユーザにとって使いやすいフロントエンドは別のプログラムで 提供されます。 .Nm sendmail は、あらかじめメールとして整形されたメッセージ を配送するためだけに使われます。 .Pp .Nm sendmail を引数を指定せずに起動すると、 .Nm sendmail は標準入力を EOF (エンド・オブ・ ファイル)か `.'だけを含む行まで読み込み、メッセージのなかに記述されている アドレスにメッセージのコピーを送ります。アドレスの文法や内容にもとづいて 経路に使用するネットワークを決定します。 .Pp ローカルアドレスは、ファイルの中を検索して適当なエイリアスを行います。 先頭にバックスラッシュ `\\' のついたアドレスについては、エイリアスは 行なわれません。 通常、送り手はエイリアスの対象に含まれません。つまり、もし `john' が `group' にメールを送って、 `john' が `group' に 含まれている場合、送ったメッセージは `john' には送られません。 .Ss パラメータ .Bl -tag -width Fl .It Fl B Ns Ar type ボディのタイプを .Ar type に設定します。現在有効なのは、 .Li `7BIT' か .Li `8BITMIME' です。 .It Fl ba .Tn ARPANET モードに移行します。すべての入力行は CR-LF で終わらなければならず、 すべてのメッセージの末尾には CR-LF がつきます。また、``From:'' と ``Sender:'' フィールドは送り手の名前としてチェックされます。 .It Fl bd デーモンモードで実行します。Berkley .Tn IPC が必要です。 .Nm sendmail は .Xr fork 2 を行い、バックグラウンドで動作し、ソケット番号 25 で .Tn SMTP コネクションを 待ちます。通常このモードは、 .Pa /etc/rc から実行されています。 .It Fl bD フォアグラウンドで動作する以外は .Fl bd と同じです。 .It Fl bh 現在のホストの状況のデータベースを表示します。 .It Fl bH 現在のホストの状況のデータベースをパージします。 .It Fl bi エイリアスデータベースを初期化します。 .It Fl bm 普通にメールを配送します(デフォルト)。 .It Fl bp メールキューのリストを表示します。 .It Fl bs 標準入出力で .Tn RFC821 にもとづいた .Tn SMTP プロトコルを使います。この フラグは、 .Fl ba フラグのうち .Tn SMTP 互換の全ての操作を含みます。 .It Fl bt アドレスのテストモードで起動します。このモードは対話 モードでアドレスを入力し、処理の過程を表示します。設定ファイル をデバッグするのに使います。 .It Fl bv 名前のチェックだけを行います。メッセージの収集や配送は行い ません。ベリファイモードは、ユーザやメーリングリストが有効かどうかを確認する ために使います。 .It Fl C Ns Ar file 別の設定ファイルを使います。 .Nm sendmail は、別の設定ファイル を使用する場合は root として実行することはできません。 .It Fl d Ns Ar X デバッグ値を .Ar X に設定します。 .ne 1i .It Fl F Ns Ar fullname 送り手のフルネームを設定します。 .It Fl f Ns Ar name ``from'' に入る名前(つまり、送り手の名前です)を設定します。 .Fl f は、``trusted''なユーザ(普通は .Em root , .Em daemon , .Em network です)が使うか、 送り手が自分自身の名前を指定して使う場合のみ指定することができます。 .It Fl h Ns Ar N ホップカウントを .Ar N に設定します。ホップカウントは、 メールが処理されるたびに増えていきます。ホップカウントがリミットになった とき、メールは「エイリアスがループしている」という旨のエラーメッセージと いっしょに送り返されます。 もしこのフラグが指定されなければ、メッセージのなかの ``Received:'' 行がカウント されます。 .It Fl i 入力されるメッセージ中の `.' だけを含む行を無視します。 このフラグは、データをファイルから読み込むような場合に使用する必要があります。 .It Fl N Ar dsn 配送状況の通知条件を .Ar dsn に設定します。 .Ar dsn には、 .Ql never (何も通知しない)または、コンマで区切った、 .Ql failure (配送が失敗した場合に通知する) .Ql delay (配送が遅れた場合に通知する) .Ql success (配送が正常に行われた場合に通知する) の組み合わせを指定する事ができます。 .It Fl n エイリアスを行いません。 .It Fl O Ar option Ns = Ns Em value オプション .Ar option を、指定した .Em value に設定します。この形式では長いオプション名が使用されます。 詳しくは後に記述します。 .It Fl o Ns Ar x Em value オプション .Ar x を、指定した .Em value に設定します。 この形式では、一文字のオプション名しか使用できません。 短いオプション名についてはこのマニュアルには記述されていません。 詳しくは、 .%T "Sendmail Installation and Operation Guide" を参照して下さい。 .It Fl p Ns Ar protocol メッセージを受け取るのに利用するプロトコル名を設定します。 設定できるのは、 ``UUCP'' のようなプロトコル名だけかプロトコル+ホスト名、たとえば ``UUCP:ucbvax'' などです。 .It Fl q Ns Bq Ar time キューのなかにあるメッセージを処理する間隔を設定します。 .Ar time を省略した場合は、キューの内容を一度だけしか処理しません。 .Ar time は、 .Ql s (秒)、 .Ql m (分)、 .Ql h (時間)、 .Ql d (日)、 .Ql w (週)の単位を付けた数字で指定します。 たとえば、 .Ql -q1h30m や .Ql -q90m は、タイムアウトを 1 時間 30 分に設定します。 .Ar time が指定されると、 .Nm sendmail はデーモンとしてバックグラウンドで 実行されます。 デーモンとして実行させる際には、同時にオプション .Fl bd を つけておくほうが安全です。 .It Fl qI Ns Ar substr キュー ID の文字列に .Ar substr が含まれるジョブのみを処理します。 .It Fl qR Ns Ar substr 受信者のリストの文字列に .Ar substr が含まれるジョブのみを処理します。 .It Fl qS Ns Ar substr 送信者の文字列に .Ar substr が含まれるジョブのみを処理します。 .It Fl R Ar return メッセージがバウンスした時に返送されるメッセージの量を設定します。 .Ar return パラメータには、メッセージ全体を返送する場合は .Ql full を、ヘッダのみを返送する場合は .Ql hdrs を指定します。 .It Fl r Ns Ar name .Fl f フラグと同じですが、古い形式です。 .It Fl t 受信者をメッセージから読み取ります。To:, Cc:, Bcc: フィールドが受信者 のアドレスとして読み込まれます。Bcc: フィールドはメッセージの転送前に 削除されます。 .It Fl U 最初の(ユーザからの)発送である事を示します。 このフラグは、 .Nm Mail や .Nm exmh の様なユーザエージェントから呼び出す場合は .Em 必ず 指定する必要があり、 .Nm rmail 等のネットワーク配送エージェントから呼び出す場合は、 .Em 絶対に 指定してはいけません。 .It Fl V Ar envid オリジナルのエンベロープ ID を設定します。 これは、DSN をサポートするサーバ間では SMTP 上を伝達し、 DSN に従ったエラーメッセージの中で返送されます。 .It Fl v 詳細モードに移行します。展開されるエイリアスなどが報告されます。 .It Fl X Ar logfile 指定された .Ar logfile に、メーラに出たり入ったり するすべてメッセージに関する情報を記録します。メーラをデバッグする際の 最後の手段としてのみ使ってください。非常に大量の情報があっという間に記録 されます。 +.It Fl - +コマンドフラグ処理を停止し、残りの引数をアドレスとして使用します。 .El .Ss オプション .Nm sendmail には、設定することができる多くの処理オプションがあります。 通常、これらのオプションはシステム管理者のみが使います。 オプションは、コマンドラインから .Fl o フラグを使って(短いオプション名で)指定したり、 .Fl O フラグを使って(長いオプション名で)指定したり、 設定ファイルから指定することができます。ここに記述して いるのは部分的なもので、コマンド行から指定する場合に便利な物だけを、 長いオプション名で示しています。完全なリスト(と詳細)は、 .%T "Sendmail Installation and Operation Guide" を参照してください。 オプションには以下の物があります。 .Bl -tag -width Fl .It Li AliasFile= Ns Ar file 別のエイリアスファイルを使います。 .It Li HoldExpensive 接続するのに時間がかかるホストと接続するときは、 すぐに接続せず、リクエストはキューに入れられます。 .It Li CheckpointInterval= Ns Ar N .Nm sendmail が、 .Ar N 個の配送に成功するたびにキューファイルに チェックポイントを設定します(デフォルトは 10 個です)。これによって、 システムのクラッシュによって長いメーリングリストの配送が中断 されたときでも、再開時に同じ人に重複して配送されることを防ぎます。 .ne 1i .It Li DeliveryMode= Ns Ar x 配送モードを .Ar x に設定します。配送モードには .Ql i 対話的(同期的)配送モード、 .Ql b バックグラウンド(非同期的)配送モード、 .Ql q キューモード(実際の配送は、キューが実行されるときに行われる)、 .Ql d 延期モード(データベースの検索(特に DNS や NIS )が行われない以外は .Ql q と同じ)があります。 .It Li ErrorMode= Ns Ar x エラー処理をモード .Ar x に設定します。 .Ql m はエラーメッセージを送り返します。 .Ql w はエラーメッセージを送り手の端末に書き出します (送り手がログインしていなければ、メールを返します)。 .Ql p は、エラーメッセージを端末に表示します(デフォルト)。 .Ql q は、エラーメッセージを捨てます(exit コードだけを返します)。 .Ql e は、BerkNet 用に特別処理をします。 もし、モード .Ql m や .Ql w を使っている場合に、エラーとなったメッセージが エラーメールとして送り返されず、送り手が .Nm sendmail を実行している マシン上のユーザならば、 メッセージのコピーは送り手のホームディレクトリにある .Pa dead.letter に追加されます。 .It Li SaveFromLine メッセージのはじめに .Tn UNIX Ns \-style From 行を残します。 .It Li MaxHopCount= Ar N メールがループしていると判断されない、最大のホップ数を 指定します。 .It Li IgnoreDots `.' だけを含む行をメッセージの終わりとして解釈しません。 .It Li SendMimeErrors エラーメッセージをMIMEフォーマットで送り返します。 設定されていない場合は、DSN (Delivery Status Notification: 配送状況通知) SMTP 拡張は無効になります。 .It Li ConnectionCacheTimeout= Ns Ar timeout コネクションキャッシュの .Ar timeout を設定します。 .It Li ConnectionCacheSize= Ns Ar N コネクションキャッシュのサイズを .Ar N に設定します。 .It Li LogLevel= Ns Ar n ログレベルを .Ar n にします。 .It Li MeToo エイリアスに自分自身が含まれている場合、``me''(送り手自身)にも送ります。 .It Li CheckAliases .Xr newaliases 1 コマンドの実行の際、 エイリアスの右側の項目(エイリアスの値)を有効性をチェックします。 .It Li OldStyleHeaders もしオプションが設定されていれば、メッセージが古いスタイルのヘッダ を持つことがあることを意味します。 このオプションが設定されていなければ、このメッセージが新しい スタイルを持っていることが保証されます(2 つのアドレスの間はスペースのかわり にコンマで区切られます)。このオプションが設定されていると、大抵の場合、 ヘッダのフォーマットを正しく決定するためのアルゴリズムが用いられます。 .It Li QueueDirectory= Ns Ar queuedir キューメッセージを保存するディレクトリを選択します。 .It Li StatusFile= Ns Ar file 指定した名前のファイルに統計情報をセーブします。 .It Li Timeout.queuereturn= Ns Ar time キューのなかの配送されなかったメッセージのタイムアウト時間を設定します。 この時間内に(ホストのダウンなどにより)配送が行われなかったときには、 失敗した旨のメッセージが送り返されます。デフォルトは 5 日です。 .It Li UserDatabaseSpec= Ns Ar userdatabase このオプションが設定されると、情報を送る際にユーザデータ ベースに対する問い合わせが行われます。 この方法をエイリアス機構の補助として使用する事ができます。ただし、 エイリアスはそのホストローカルでのみ有効なので、データベースが意図的に 分散されている場合は使用できません。 .Nm sendmail が .Dv USERDB 付きでコンパイルされていなければ使うことはできません。 .It Li ForkEachJob キューを処理する間、 .Xr fork 2 を行います。メモリが少ないマシン では便利です。 .It Li SevenBitInput 到着するメッセージを 7 ビットにします (8 ビット目は落します)。 .It Li EightBitMode= Ns Ar mode 8 ビットの入力を 7 ビットの宛先へ送る場合の処理方法を .Ar mode に設定します。 処理方法には、 .Li m (mime 化) 7 ビット MIME 形式へ変換、 .Li p (パス) 8 ビットのまま配送(プロトコルには違反します)、 .Li s (厳密) メッセージをバウンス、 があります。 .It Li MinQueueAge= Ns Ar timeout 配送の試行の間、ジョブがキューに蓄積される時間を設定します。 .It Li DefaultCharSet= Ns Ar charset 特に指定されていない場合に、8 ビットのデータである事を示す ラベルとして使用されるデフォルトのキャラクタを設定します。 .It Li DialDelay= Ns Ar sleeptime コネクションの確立が失敗した場合に、再試行までに .Ar sleeptime だけスリープします。オンデマンドでダイアル接続するサイトでの使用に便利です。 .It Li NoRecipientAction= Ns Ar action 受信者ヘッダ (To: Cc: あるいは Bcc:) がない場合の動作を .Ar action に設定します。 .Li none メッセージを変更しない、 .Li add-to To: ヘッダにエンベロープで指定された受信者を加える、 .Li add-apparrently-to Apparrently-To: ヘッダにエンベロープで指定された受信者を加える、 .Li add-bcc 空の Bcc: ヘッダを加える、 .Li add-to-undisclosed .Ql "To: undisclosed-recipients:;" というヘッダを加える、という動作が指定できます。 .It Li MaxDaemonChildren= Ns Ar N 待ち受け SMTP デーモンが同時に動作できる子プロセスの最大数を .Ar N に設定します。 .It Li ConnectionRateThrottle= Ns Ar N SMTP ポートへの 1 秒当りの最大コネクション数を .Ar N に設定します。 .El .Pp エイリアスのなかで最初の文字が `|' で始まるものは、メールの内容をパイプで コマンドに送るものと解釈されます。引数などをつけるために空白文字が 必要な場合はクォートする (" でくくる)必要があります。以下に、例を示します: .Pp .Bd -literal -offset indent -compact msgs: "|/usr/bin/msgs -s" .Ed .Pp エイリアスには、 .Dq :include: Ns Ar filename という文法もあります。 .Nm sendmail は、 メールの受け手のエイリアスとして、指定されたファイルを読みます。 以下に、例を示します: .Pp .Bd -literal -offset indent -compact poets: ":include:/usr/local/lib/poets.list" .Ed .Pp 上記の例の場合は、 .Pa /usr/local/lib/poets.list を読み、`poets' のグループの ためのアドレスリストを作ります。 .Pp .Nm sendmail は、以下に示すような終了コードを返します。これらの コードは、 .Aq Pa sysexits.h に定義されています。 .Bl -tag -width EX_UNAVAILABLE -compact -offset indent .It Dv EX_OK すべてのアドレスについて完全に成功しました。 .It Dv EX_NOUSER ユーザ名が認識できません。 .It Dv EX_UNAVAILABLE 処理に必要なリソースを得ることができません。 .It Dv EX_SYNTAX アドレスに文法的な間違いがあります。 .It Dv EX_SOFTWARE 引数が間違っている等の、内部的なエラーです。 .It Dv EX_OSERR .Dq cannot fork のような、一時的な OS エラーです。 .It Dv EX_NOHOST ホスト名が認識できません。 .It Dv EX_TEMPFAIL メッセージはすぐには送られませんでしたが、 キューには入れられました。 .El .Pp .Nm newaliases というコマンドで実行されると、 .Nm sendmail はエイリアス データベースを再構築します。 .Nm mailq というコマンドで実行されると、 .Nm sendmail はメールキューの内容を表示します。 .Sh 関連ファイル .Pa /etc/sendmail.cf とデーモンプロセス ID ファイルを除き、以下のファイルのパスはすべて .Pa /etc/sendmail.cf 内部で決められています。以下は一例に過ぎません。 .Pp .Bl -tag -width /usr/lib/sendmail.fc -compact .It Pa /etc/aliases エイリアス名の生データ .It Pa /etc/aliases.db エイリアス名のデータベース .It Pa /etc/sendmail.cf 設定ファイル .It Pa /usr/share/misc/sendmail.hf ヘルプファイル .It Pa /var/log/sendmail.st 統計情報ファイル .It Pa /var/spool/mqueue/* テンポラリファイル .El .Sh 関連項目 .Xr mail 1 , .Xr syslog 3 , .Xr aliases 5 , .Xr mailaddr 7 , .Xr mail.local 8 , .Xr rc 8 , .Xr rmail 8 ; .Pp DARPA Internet Request For Comments .%T RFC819 , .%T RFC821 , .%T RFC822 . .Rs .%T "Sendmail \- An Internetwork Mail Router" .%V SMM .%N \&No. 9 .Re .Rs .%T "Sendmail Installation and Operation Guide" .%V SMM .%N \&No. 8 .Re .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja/man/man8/shutdown.8 b/ja/man/man8/shutdown.8 index d85c16588a..bb9a3c6bb6 100644 --- a/ja/man/man8/shutdown.8 +++ b/ja/man/man8/shutdown.8 @@ -1,138 +1,138 @@ .\" Copyright (c) 1988, 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. .\" .\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95 -.\" %Id: shutdown.8,v 1.8 1998/12/11 10:35:38 bde Exp % +.\" %Id: shutdown.8,v 1.9 1999/01/11 09:07:42 asami Exp % .\" jpman %Id: shutdown.8,v 1.2 1997/05/13 00:55:09 mutoh Stab % .\" .Dd Dec 11, 1998 .Dt SHUTDOWN 8 .Os BSD 4 .Sh 名称 .Nm shutdown .Nd 指定時刻にシステムを停止する .Sh 書式 .Nm shutdown .Op Fl .Op Fl hknpr .Ar time .Op Ar warning-message ... .Sh 解説 .Nm shutdown は、自動的にシャットダウンするための手順をスーパユーザに提供します。 システムがシャットダウンされるときユーザに知らせるので、 こういったお知せを面倒がって行なわない システム管理者やハッカーやグルといった人々から、ユーザを救います。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl h .Ar time で指定された時間に .Xr halt 8 を実行し、システムを停止します。 .It Fl k 全ユーザを追い出します。 実際にはシステムを停止しませんが、 マルチユーザシステムのままでスーパユーザ以外のユーザをログインできなくします。 .It Fl n 停止する前に、通常実行される .Xr sync 2 を実行しません。 .It Fl p 可能であれば、シャットダウン後にシステムは電源をオフします。 .It Fl r .Ar time で指定した時刻に .Xr reboot 8 を実行し、システムを再起動します。 .It Ar time .Nm がシステムを停止させる時間を指定します。 .Ar now を指定すると即時にシステムを停止します。 また、時間を指定する次の二つの書式があります: .Ar +number もしくは .Ar yymmddhhmm の形式です。現在のシステムの年・月・日の値がデフォルトになっています。 一つめの書式は .Ar number 分経過後をあらわし、二つめの書式は停止する時刻を直接指定します。 .It Ar warning-message その他の引数は現在ログイン中のユーザに送る警告メッセージとして扱われます。 .It Fl もし .Ql Fl がオプションとして与えられると、警告メッセージを標準入力から読み取ります。 .El .Pp システム停止の 10 時間前から、ログイン中の全てのユーザの端末に 警告メッセージが表示されはじめ、終末が近付くにつれ頻繁になってきます。 システム停止の 5 分前、もしくは 5 分以内にシステム停止する場合には、 ただちに警告メッセージをコピーした -.Pa /etc/nologin +.Pa /var/run/nologin が作られログインが禁止されます。 ユーザがログインしようとした際にこのファイルが存在する場合には、 .Xr login 1 はその内容を表示し終了します。このファイルは .Nm が終了する際に削除されます。 .Pp システム停止時には、システムを停止した時間、実行者、理由が システムログに記録されます。その後、terminate シグナルが .Xr init 8 に送られ、システムをシングルユーザ状態にします(この動作は上記の オプションに依存します)。 システムを停止する時間と警告メッセージは -.Pa /etc/nologin +.Pa /var/run/nologin に置かれます。これをユーザにシステムを再開する時間や、なぜシステムを 停止するかなどを知らせるために使うべきです。 .Sh 関連ファイル -.Bl -tag -width /etc/nologin -compact -.It Pa /etc/nologin +.Bl -tag -width /var/run/nologin -compact +.It Pa /var/run/nologin login に誰にもログインさせないことを知らせます。 .El .Sh 関連項目 .Xr login 1 , .Xr wall 1 , .Xr nologin 5 , .Xr halt 8 , .Xr reboot 8 .Bd -literal -offset indent .Sh 以前との互換性 以前との互換性のため、二つめの書式で時と分をコロン(``:'')で区切ることができます。 .Ed .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja/man/man8/smrsh.8 b/ja/man/man8/smrsh.8 index 62d88f88a5..b76d345a34 100644 --- a/ja/man/man8/smrsh.8 +++ b/ja/man/man8/smrsh.8 @@ -1,81 +1,81 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)smrsh.8 8.7 (Berkeley) 5/19/1998 .\" 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 ディレクトリに存在するもの だけに限定します。これにより、システム管理者は利用可能なコマンドを選択する 事ができます。 更に、 .I smrsh は、``end run'' 攻撃を防ぐために、コマンド行に `\`', `<', `>', `|', `;', `&', `$', `(', `)', `\er'(キャリッジリターン), `\en'(ニューライン) の文字を含むコマンドは実行しません。 .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/man/man8/sysctl.8 b/ja/man/man8/sysctl.8 index 2727cca4ef..e67202ee59 100644 --- a/ja/man/man8/sysctl.8 +++ b/ja/man/man8/sysctl.8 @@ -1,246 +1,248 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 -.\" %Id: sysctl.8,v 1.17 1998/09/29 02:01:06 jkoshy Exp % +.\" %Id: sysctl.8,v 1.18 1999/01/10 02:10:08 des Exp % .\" jpman %Id: sysctl.8,v 1.2 1997/05/30 00:57:58 yugawa Stab % .\" .Dd September 23, 1994 .Dt SYSCTL 8 .Os .Sh 名称 .Nm sysctl .Nd カーネル状態の取得や設定 .Sh 書式 .Nm sysctl -.Op Fl bn +.Op Fl bdn .Ar name ... .Nm sysctl .Op Fl bn .Fl w .Ar name=value ... .Nm sysctl -.Op Fl bn +.Op Fl bdn .Fl aAX .Sh 解説 .Nm はカーネル状態を取り出し、適切な権限があれば プロセスがカーネル状態を設定することを許します。取り出され たり、設定されたりした状態は、``Management Information Base''(``MIB'') 形式を使って記述されます。この形式では、要素はドット ``.'' で 接続されます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl a 現在有効な文字列や整数値をすべて表示します。 .It Fl A データ形式を知らないもの(以下、形式不明の変数と称する) を含めて、 存在している全ての MIB を表示します。 .Fl a フラグ同様、文字列や整数値も表示されます。 形式不明の変数に関しては、 そのフォーマットおよび長さに関する情報と、その変数の内容の最初の数バイトを 16 進数でダンプします。 .It Fl X フラグは、形式不明の変数の全ての内容が 16 進数でダンプされる以外は .Fl A と同じです。 .It Fl n フィールド名の出力は抑制されて、値 だけが表示されます。これはシェル変数を設定するのに役に 立ちます。たとえば、ページサイズを変数 psize に保存する には、以下のようにします: .Bd -literal -offset indent -compact set psize=`sysctl -n hw.pagesize` .Ed .Pp .It Fl b 変数の値を加工せずに、バイナリ形式で表示します。 変数名や、最後の改行文字は出力されません。これは、単一の変数に対して 操作する際に便利でしょう。 +.It Fl d +指定した変数の値ではなく、内容記述を表示します。 .It Fl w Ar name=value ... MIB の .Ar name を新しい値 .Ar value に設定します。 MIB 形式 .Ar name だけが指定された場合、その名前に対応する値が得られます。 .El .Nm で得られる情報は、整数、文字列、形式不明の変数です。 .Nm はいくつかの形式不明の変数の形式を知っているだけで、それ以外のものに 対しては 16 進ダンプに頼ります。 形式不明の変数の情報は、 .Nm ps や .Nm systat , .Nm netstat などの特別な目的のプログラムによって取得された場合に、より効果的です。 .Pp 文字列と整数の情報を簡単にまとめて以下に示します。これらの 変数の詳細な説明は、 .Xr sysctl 3 を参照してください。 .Pp changeable の列は、適切な権限を持つプロセスがその値を変更 できるかどうかを示しています。 .Bl -column net.inet.ip.forwardingxxxxxx integerxxx .It Sy Name Type Changeable .It kern.ostype string no .It kern.osrelease string no .It kern.osrevision integer no .It kern.version string no .It kern.maxvnodes integer yes .It kern.maxproc integer no .It kern.maxprocperuid integer yes .It kern.maxfiles integer yes .It kern.maxfilesperproc integer yes .It kern.argmax integer no .It kern.securelevel integer raise only .It kern.hostname string yes .It kern.hostid integer yes .It kern.clockrate struct no .It kern.posix1version integer no .It kern.ngroups integer no .It kern.job_control integer no .It kern.saved_ids integer no .It kern.boottime struct no .It kern.domainname string yes .It kern.update integer yes .It kern.osreldate string no .It kern.bootfile string yes .It kern.corefile string yes .It kern.logsigexit integer yes .It vm.loadavg struct no .It hw.machine string no .It hw.model string no .It hw.ncpu integer no .It hw.byteorder integer no .It hw.physmem integer no .It hw.usermem integer no .It hw.pagesize integer no .It hw.floatingpoint integer no .It hw.machine_arch string no .It machdep.console_device dev_t no .It machdep.adjkerntz integer yes .It machdep.disable_rtc_set integer yes .It user.cs_path string no .It user.bc_base_max integer no .It user.bc_dim_max integer no .It user.bc_scale_max integer no .It user.bc_string_max integer no .It user.coll_weights_max integer no .It user.expr_nest_max integer no .It user.line_max integer no .It user.re_dup_max integer no .It user.posix2_version integer no .It user.posix2_c_bind integer no .It user.posix2_c_dev integer no .It user.posix2_char_term integer no .It user.posix2_fort_dev integer no .It user.posix2_fort_run integer no .It user.posix2_localedef integer no .It user.posix2_sw_dev integer no .It user.posix2_upe integer no .It user.stream_max integer no .It user.tzname_max integer no .El .Pp .Sh 使用例 たとえば、システム中で許されている最大のプロセス数を知りたい ときは、以下のようにします: .Bd -literal -offset indent -compact sysctl kern.maxproc .Ed .Pp システム中で許されている最大のプロセス数を 1000 に設定する には、以下のようにします: .Bd -literal -offset indent -compact sysctl -w kern.maxproc=1000 .Ed .Pp システムのクロックレートに関する情報を得るには、以下の ようにします: .Bd -literal -offset indent -compact sysctl kern.clockrate .Ed .Pp システム負荷(ロード・アベレージ)の履歴に関する情報を 得るには、以下のようにします: .Bd -literal -offset indent -compact sysctl vm.loadavg .Ed .Pp ここに挙げたもの以外の変数も存在します。それらに関するより深い意味を知る もっとも良く、かつ、おそらく唯一の方法は、それらを定義しているソースコードを みる事であることは疑いのない事実でしょう。 .Sh 関連ファイル .Bl -tag -width -compact .It Pa トップレベルの識別子、第 2 レベルのカーネル/ハードウェア識別子、 そしてユーザレベル識別子の定義 .It Pa 第 2 レベルのネットワーク識別子の定義 .It Pa 第 3 レベルのプロファイル識別子の定義 .It Pa 第 2 レベルの仮想メモリ識別子の定義 .It Pa 第 3 レベルのインターネット識別子と 第 4 レベルの IP 識別子の定義 .It Pa 第 4 レベルの ICMP 識別子の定義 .It Pa 第 4 レベルの UDP 識別子の定義 .El .Sh 関連項目 .Xr sysctl 3 .Sh バグ 現状では .Nm は、sysctl ツリーの追跡、および、形式と名前の情報を得る際に、 文書化されていないカーネルの sysctl 機能へのインタフェースを使用しています。 この方法に関する正しいインタフェースは、現在検討中です。 .Sh 歴史 .Nm sysctl は .Bx 4.4 ではじめて登場しました。 .Pp .Fx 2.2 の .Nm sysctl は著しく改良されています。 diff --git a/ja/man/man8/tunefs.8 b/ja/man/man8/tunefs.8 index 1d99b2b058..355d4bf878 100644 --- a/ja/man/man8/tunefs.8 +++ b/ja/man/man8/tunefs.8 @@ -1,152 +1,152 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tunefs.8 8.2 (Berkeley) 12/11/93 -.\" %Id: tunefs.8,v 1.7 1998/08/03 06:41:20 charnier Exp % +.\" %Id: tunefs.8,v 1.8 1999/01/13 08:07:56 des Exp % .\" jpman %Id: tunefs.8,v 1.3 1997/07/26 22:16:10 horikawa Stab % .\" .Dd December 11, 1993 .Dt TUNEFS 8 .Os BSD 4.2 .Sh 名称 .Nm tunefs .Nd 既存のファイルシステムをチューンする .Sh 書式 .Nm tunefs .Op Fl A .Op Fl a Ar maxcontig .Op Fl d Ar rotdelay .Op Fl e Ar maxbpg .Op Fl m Ar minfree -.Op Fl p .Bk -words .Op Fl n Ar enable | disable .Op Fl o Ar optimize_preference +.Op Fl p .Ek .Op Ar special | Ar filesystem .Sh 解説 .Nm tunefs は、ファイルシステムのレイアウト方針に影響する動的なパラメータを 変更するために使います。変更するパラメータは以下のフラグで指定します: .Bl -tag -width indent .It Fl A ファイルシステムはスーパブロックのバックアップをいくつか持っています。 このオプションを指定すると、全てのバックアップの内容は プライマリスーパブロックと同じく変更されます。 これはかなりの危険を秘めています。実行する時は気をつけて下さい。 .It Fl a Ar maxcontig 回転遅延 ( .Fl d を参照) が強制的に行われる前に連続して配置されるブロック数を指定します。 ほとんどのデバイスドライバはディスク転送のたびに割り込みが必要なので、 デフォルト値は 1 です。 一度の転送でいくつかのバッファをつないで転送できるデバイスドライバでは、 この値を最大の連結長にすべきです。 .It Fl d Ar rotdelay 同じディスクに対する転送完了割り込みサービスと 次の転送を開始する時間の期待値をミリ秒単位で指定します。 この値は、回転遅延によるファイル中のブロック間隔を決めるのに使います。 .It Fl e Ar maxbpg 単一のファイルが他のシリンダグループへまたがる前に、1 つのシリンダグループ から割り当てることのできる最大のブロック数を指定します。 普通は、この値にはシリンダグループのブロック数の約 1/4 が使われます。 この値は、単一のファイルが 1 つのシリンダグループのブロックを使いつくして しまうことを防ぐために指定します。 なぜなら、これによって、そのシリンダグループに続いて配置される すべてのファイルのアクセス速度を低下させてしまうからです。 この制限によって、大きなファイルに対しては 1 つのシリンダに配置するよりも、 長いシークをより頻繁に行わせることがあります。 極端に大きなファイルのあるファイルシステムに対しては、 このパラメータは大きな値にすべきです。 .It Fl m Ar minfree 一般ユーザが利用することができない領域の割合を指定します。 これは最低限の空き領域のしきい値となります。 デフォルト値は 8% です。 この値はゼロにすることもできますが、10% のしきい値を設けた場合と比較し、 アクセスの効率が最大 3 倍まで落ちてしまいます。 5% 以下にすると常に最適化は space 優先になってしまい、 ファイル書き込みのオーバーヘッドがかなり増えます。 もしこの値を現在の空き領域より大きな値に引き上げると、 ファイルを削除してその値を満たすだけの空き領域を用意するまで、 ユーザはファイルを作成することができなくなります。 .It Fl n Ar enable | disable ソフトアップデートをオン/オフします。 ファイルシステムのアンマウントが必要です。 .It Fl o Ar optimize_preference ファイルシステムの最適化において、 ブロック割り当てにかかる時間を最小化するか、 もしくはディスク上のフラグメントサイズを最小にするかの いずれかを選択できます。 space 優先の場合、 ファイル書き込みのオーバヘッドは大きくなります。 カーネルは通常、 ファイルシステムのフラグメントの割合に応じて自動的に優先を変化させます。 .It Fl p このオプションは、 指定されたファイルシステムにおいて現在変更可能な設定のまとめを表示します。 詳細は .Xr dumpfs 8 のマニュアルを参照してください。 .El .Sh 関連項目 .Xr fs 5 , .Xr dumpfs 8 , .Xr newfs 8 .Rs .%A M. McKusick .%A W. Joy .%A S. Leffler .%A R. Fabry .%T "A Fast File System for UNIX" .%J "ACM Transactions on Computer Systems 2" .%N 3 .%P pp 181-197 .%D August 1984 .%O "(reprinted in the BSD System Manager's Manual, SMM:5)" .Re .Sh バグ このプログラムは、 マウントされているファイルシステムに対しても動作すべきです。 スーパブロックはバッファキャッシュ内に保存されていないため、 実行の影響は、それをマウントされていないファイルシステムに 対して実行したときのみ現れます。 ルートファイルシステムをチューンするには、チューン後に再起動する必要が あります。 .\" Take this out and a Unix Demon will dog your steps from now until .\" the time_t's wrap around. .Pp ファイルシステムをチューンする事はできても、ファイルの中身まではチュー ンできません:-) .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja/man/man8/vinum.8 b/ja/man/man8/vinum.8 index bb60c396d9..b69ad75524 100644 --- a/ja/man/man8/vinum.8 +++ b/ja/man/man8/vinum.8 @@ -1,1047 +1,1268 @@ .\" Hey, Emacs, edit this file in -*- nroff-fill -*- mode .\" .\" jpman %Id: vinum.8,v 1.3 1999/01/05 15:15:53 horikawa Stab % .\" WORD: attach 結合 (する) -.Dd 11 July 1998 +.Dd 15 January 1999 .Dt vinum 8 .Os FreeBSD .Sh 名称 .Nm vinum .Nd 論理ボリュームマネージャの制御プログラム .Sh 書式 .Nm .Op command .Op Fl options .Sh コマンド .Cd create .Ar description-file .in +1i .Ar description-file の記述に従ってボリュームを作成します。 .in .\" XXX remove this .Cd attach Ar plex Ar volume .Op Nm rename .Cd attach Ar subdisk Ar plex Ar [offset] .Op Nm rename .in +1i プレックスをボリュームに、またはサブディスクをプレックスに結合します。 .in .\" XXX remove this .Cd debug .in +1i ボリュームマネージャをカーネルデバッガに移行させます。 .in +.Cd debug +.Ar flags +.in +1i +デバッグフラグを設定します。 +.in .Cd detach .Op Ar plex | subdisk -.in +1 +.in +1i 結合されていたボリュームやプレックスから、プレックスやサブディスクを分離します。 .in .Cd info .Op Fl v .in +1i ボリュームマネージャの状態を表示します。 .in .Cd init .Op Fl v .in +1i .\" XXX 配下の全サブディスクに 0 を書き込んでそのプレックスを初期化します。 .in .Cd label .Ar volume .in +1i ボリュームラベルを作成します。 .in .Cd list .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume | plex | subdisk .in +1i 指定したオブジェクトの情報を表示します。 .in .Cd l .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume | plex | subdisk .in +1i 指定したオブジェクトの情報を表示します ( .Cd list コマンドの別形式)。 .in .Cd ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .in +1i ドライブの情報を表示します。 .in .Cd ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op subdisk .in +1i サブディスクの情報を表示します。 .in .Cd lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op plex .in +1i プレックスの情報を表示します。 .in .Cd lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .in +1i ボリュームの情報を表示します。 .in .Cd makedev .in +1i -/dev/vinum にデバイスノードを再作成します。 +.Ar /dev/vinum +にデバイスノードを再作成します。 +.in +.Cd quit +.in +1i +対話モード時に、 +.Nm +プログラムを終了します。通常 +.Ar EOF +文字を入力することにより実現できます。 .in .Cd read -.Ar disk-partition +.Ar disk Op disk... .in +1i -指定したディスクパーティションから +指定したディスクから .Nm の設定を読み出します。 .in .Cd rename Op Fl r .Ar [ drive | subdisk | plex | volume ] .Ar newname .in +1i 指定したオブジェクトの名前を変更します。 +.ig +.XXX .in .Cd replace .Ar [ subdisk | plex ] .Ar newobject .in +1i オブジェクトを同一の他のオブジェクトと入れ換えます。XXX まだ実装されていません。 +.. .in .Cd resetconfig .in +1i すべての .Nm の設定をリセットします。 .in .Cd resetstats .Op Fl r .Op volume | plex | subdisk .in +1i 指定したオブジェクトの統計情報をリセットします。指定がない場合はすべての オブジェクトが対象です。 .in .Cd rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .in +1i オブジェクトを削除します。 .in .ig XXX .Cd set .Op Fl f .Ar state .Ar volume | plex | subdisk | disk .in +1i オブジェクトの状態を \fIstate\fP\| に設定します。 .in .. +.Cd setdaemon +.Op value +.in +1i +デーモンの設定を与えます。 +.in .Cd start .Op volume | plex | subdisk .in +1i システムがオブジェクトへアクセスできるようにします。 .in .Cd stop .Op Fl f .Op volume | plex | subdisk .in +1i オブジェクトへのアクセスを終了させます。 .in .Sh 解説 .Nm は \fBVinum\fP\| 論理ボリュームマネージャと通信するための ユーティリティプログラムです。 ボリュームマネージャの詳細については .Xr vinum 4 を参照してください。 .Xr vinum 8 は対話形式と、単独のコマンドを実行する形式のいずれも実行可能になっています。 コマンドを伴わずに .Nm を起動すると対話形式になる一方、引数としてコマンドを指定するとそのコマンド だけを実行します。 +対話モードでは、 +.Nm +はコマンドラインヒストリを保持します。 .Ss オプション .Nm のコマンドにはオプションを付加することができます。どのコマンドにも 下記オプションのどれでも指定することができますが、指定しても変化がない場合も あります。 その場合にはそのオプションは無視されます。例えば、 .Nm stop コマンドは .Fl v オプションと .Fl V オプションを無視します。 .Bl -hang .It Cd -v .Nm -v オプションはどのコマンドにも使えて、より詳細な情報を引き出します。 .It Cd -V .Nm -V オプションはどのコマンドにも使えて、 .Nm -v オプションが表示するものよりさらに詳細な情報を引き出します。 .It Cd -f .Nm -f オプションは安全性の確認を無効にします。細心の注意を払って 使用して下さい。 このオプションは緊急時にのみ使用するものです。例えば、 コマンド .Bd -unfilled -offset indent rm -f myvolume .Ed .Pp は .Nm myvolume がオープンされていたとしても削除します。以降、このボリュームに アクセスすると、ほぼ確実にパニックを起こします。 .It Cd -r .Nm -r (``recursive: 再帰的'') オプションは表示系のコマンドで使い、 指示したオブジェクト だけでなく、配下のオブジェクトの情報も表示します。 例えば、 .Nm lv コマンドとともに使われる場合、 .Nm -r オプションは対象のボリュームに属するプレックスとサブディスクの情報も表示します。 .It Cd -s .Nm -s オプションは表示系のコマンドで統計情報を表示するために使います。 .El .Pp .Ss コマンドの詳細 .Pp .Nm コマンドは以下の機能を実行します。 .Bl -hang .It Nm attach Ar plex Ar volume .Op Nm rename -.sp -1v +.if n .sp -1v +.if t .sp -.6v .It Nm attach Ar subdisk Ar plex Ar [offset] .Op Nm rename .sp .Nm .Ar attach は指定されたプレックスやサブディスクをそれぞれボリュームやプレックスに 組み込みます。サブディスクに ついては、プレックス中の始点 (オフセット) を指定することができます。 指定がない場合、 サブディスクは有効な最初の位置に結合されます。空でないボリュームにプレックスが 結合されると、 .Nm はそのプレックスを再統合します。 .Pp .Nm rename キーワードが指定されると、 .Nm はオブジェクトの (プレックスの場合には配下のサブディスクの) 名前を変更して デフォルトの .Nm 命名規則に合わせます。 .Pp サブディスク結合に際しては、いくつか考慮すべきことがあります: .Bl -bullet .It サブディスクの結合対象は、通常、コンカチネート化プレックスのみです。 .It ストライプ化プレックスおよび RAID-5 プレックスにおいて サブディスクが失われた場合 (例えばドライブの故障後など)、 当該サブディスクを置き換えられるのは同じ大きさのサブディスクだけです。 別のサブディスクを結合することは、現在許されていません。 .It コンカチネート化プレックスに対しては、 .Ar offset パラメータが、プレックスの先頭からのブロック単位のオフセットを指定します。 ストライプ化プレックスおよび RAID-5 プレックスに対しては、 本パラメータは、サブディスクの最初のブロックのオフセットを指定します。 別の表現をするなら、オフセットは、 サブディスクの数値指定による位置とストライプの大きさとの積になります。 例えば、ブロックの大きさが 256k のプレックスでは、 最初のサブディスクはオフセット 0 に、2 番目のオフセットは 256k に、 3 番目は 512k に、などとなります。 この計算では、RAID-5 プレックスのパリティブロックは無視されます。 .El .It Nm create Ar description-file .sp .Nm .Ar create はどのオブジェクトの作成にも使われます。相互の関連性が比較的複雑で .Nm オブジェクトの作成には潜在的に危険があることを考慮して、この機能には対話的な インタフェースはありません。詳細は後述の設定ファイルの節を参照して下さい。 .It Nm debug .Pp .Nm .Ar debug はリモートカーネルデバッガに入るために使用します。これは .Nm -が DEBUG オプション付きで作成されている場合にのみ実行可能です。 +が +.Ar VINUMDEBUG +オプション付きで作成されている場合にのみ実行可能です。 このオプションはカーネルデバッガから抜け出るまでオペレーティング システムの実行を停止させます。もしカーネルデバッガへのリモートコネクション がないと、デバッガから抜け出るためにはシステムをリセットしてリブート することが必要になります。 +.It Nm debug +.Ar flags +.Pp +内部デバッグフラグのマスクを設定します。 +この製品は十分に発達しているため、 +デバッグフラグのマスクは警告無しに変わります。 +.\" この文って(自虐的に)本来の意図とは逆のことを書いている? +.\" horikawa@jp.freebsd.org 1999/01/30 +.\" 原文 These will change without warning as the product matures. +確認のために、ヘッダファイル +.Pa sys/dev/vinumvar.h +を見てください。 +ビットマスクは次の値から構成されます: +.Bl -hang +.It DEBUG_ADDRESSES (1) +.br +リクエスト中のバッファ情報を表示します。 +.It DEBUG_NUMOUTPUT (2) +.br +.Dv vp->v_numoutput +の値を表示します。 +.It DEBUG_RESID (4) +.br +.Fd complete_rqe +においてデバッガに移行します。 +.It DEBUG_LASTREQS (8) +.br +最新のリクエストのリングバッファを保存します。 +.It DEBUG_REVIVECONFLICT (16) +.br +再生における衝突に関する情報を表示します。 +.It DEBUG_REMOTEGDB (256) +.br +.Nm debug +コマンドが発行されたときに、リモート +.Ic gdb +に移行します。 +.El .It Nm detach Op Fl f .Ar plex -.sp -1v +.if n .sp -1v +.if t .sp -.6v .It Nm detach Op Fl f .Ar subdisk .sp .Nm .Ar detach は指定されたプレックスやサブディスクを、 結合されているボリュームやプレックスから 分離します。分離するとボリュームのデータが欠ける可能性のある 場合、この操作は .Fl f オプションを指定しない限り実行されません。 オブジェクトが上位のオブジェクトに従った名前になっている場合 (例えば、プレックス vol1.p7 に結合されているサブディスク vol1.p7.s0 の場合)、 その名前は頭に ``ex-'' がついたものに変更されます (例えば ex-vol1.p7.s0 に変更されます)。 その後の処理で必要であれば、その名前から頭の部分が外されます。 .Pp ストライプ化プレックスおよび RAID-5 プレックスにおいては、 .Nm detach はサブディスク数を減らしません。 その代わり、サブディスクには存在しないという印が付けられ、後で .Nm attach コマンドを使用して交換可能となります。 .It Nm info -.Pp +.br .Nm .Ar info は .Nm のメモリ使用に関する情報を表示します。これは主にデバッグのためのものです。 .Fl v オプションを付けると、使用中のメモリ領域についての詳細な情報を表示します。 +.Pp +.Fl V +オプションを付けると、 +.Nm +ドライバが扱った最大 64 個までの最近の I/O に関する情報を、 +.Ar info +は表示します。 +この情報は、デバッグフラグ 8 が設定されているときのみ収集されます。 +書式は次のようになります: +.Pp +.Bd -literal +vinum -> info -V +Flags: 0x200 1 opens +Total of 38 blocks malloced, total memory: 16460 +Maximum allocs: 56, malloc table at 0xf0f72dbc + +Time Event Buf Dev Offset Bytes SD SDoff Doffset Goffset + +14:40:00.637758 1VS Write 0xf2361f40 0x5b03 0x10 16384 +14:40:00.639280 2LR Write 0xf2361f40 0x5b03 0x10 16384 +14:40:00.639294 3RQ Read 0xf2361f40 0x427 0x104109 8192 19 0 0 0 +14:40:00.639455 3RQ Read 0xf2361f40 0x417 0xd2109 8192 17 0 0 0 +14:40:00.639529 3RQ Read 0xf2361f40 0x40f 0x6e109 8192 16 0 0 0 +14:40:00.652978 4DN Read 0xf2361f40 0x427 0x104109 8192 19 0 0 0 +14:40:00.667040 4DN Read 0xf2361f40 0x40f 0x6e109 8192 16 0 0 0 +14:40:00.668556 4DN Read 0xf2361f40 0x417 0xd2109 8192 17 0 0 0 +14:40:00.669777 6RP Write 0xf2361f40 0x427 0x104109 8192 19 0 0 0 +14:40:00.685547 4DN Write 0xf2361f40 0x427 0x104109 8192 19 0 0 0 +.Ed +.Pp +.Ar Buf +フィールドは、ユーザバッファヘッダのアドレスを常に含みます。 +ユーザリクエストに関連付けられるリクエスト (複数可) を識別するために +使用できますが、100% 信頼できるものというわけではありません: +理論的には、シーケンス中の 2 個のリクエストが同じバッファヘッダを使い得ますが、 +これは一般的ではありません。 +リクエストの先頭は、イベント +.Ar 1VS +で識別可能です。 +前記の例では、複数のリクエストが単一のユーザリクエストに含まれています。 +.Pp +.Ar Event +フィールドは、 +リクエストチェーン中のイベントシーケンスに関連する情報を含みます。 +.Ar 1 +から +.Ar 6 +までの数字はイベントの大まかなシーケンスを示し、 +2 文字の省略形は位置のニーモニックです。 +.Bl -hang +.It 1VS +(vinum の strategy) +.Fd vinumstrategy +の入口にある、ユーザ情報に関する情報を表示します。 +デバイス番号は +.Nm +デバイスであり、オフセットと長さはユーザパラメータです。 +本ニーモニックは、常にリクエストシーケンスの先頭になります。 +.It 2LR +(リクエスト発行) 関数 +.Fd launch_requests +において低レベル +.Nm +リクエストを発行する直前の、ユーザリクエストを表示します。 +パラメータは +.Ar 1VS +の情報と同じはずです。 +.Pp +ここから後のリクエストでは、利用可能である場合、 +.Ar Dev +は関連付けられたディスクパーティションのデバイス番号であり、 +.Ar Offset +はパーティションの先頭からのオフセットであり、 +.Ar SD +は +.Dv vinum_conf +中のサブディスクインデックスであり。 +.Ar SDoff +はサブディスクの先頭からのオフセットであり、 +.Ar Doffset +は関連付けられたデータリクエストのオフセットであり、 +.Ar Goffset +は関連付けられたグループリクエストのオフセットです。 +.It 3RQ +(リクエスト) 上位レベルのリクエストを満たすために発行される、 +いくつかありうる下位レベル +.Nm +リクエストのうちのひとつを表示します。 +この情報は、 +.Fd launch_requests +においても記録されます。 +.It 4DN +(完了) +.Fd complete_rqe +から呼ばれ、リクエストの完了を表示します。 +この完了は、ステージ +.Ar 4DN +において +.Fd launch_requests +から発行されたリクエストか、またはステージ +.Ar 5RD +か +.Ar 6RP +の +.Fd complete_raid5_write +から発行されたリクエストにマッチするはずです。 +.It 5RD +(RAID-5 データ) +.Fd complete_raid5_write +から呼ばれ、 +パリティ計算後に RAID-5 データストライプへ書き込まれたデータを表現します。 +.It 6RP +(RAID-5 パリティ) +.Fd complete_raid5_write +から呼ばれ、 +パリティ計算後に RAID-5 パリティストライプへ書き込まれたデータを表現します。 +.El .\" XXX .It Nm init Ar plex .Pp .Nm .Ar init は指定したプレックスのすべてのサブディスクに 0 を書き込んでプレックスを初期化 します。これはプレックス中のデータに矛盾のないことを確実にする唯一の方法です。 RAID-5 プレックスの使用前には、この初期化が必要です。 他の新規プレックスに対しても、この初期化を推奨します。 .Pp .Nm はプレックス中のすべてのサブディスクを並行して初期化します。 この操作には長い時間が かかるため、バックグラウンドで実行されます。 .Nm は初期化が完了するとコンソールメッセージを出力します。 .It Nm label .Ar volume .Pp .Nm label コマンドは、ボリュームに .Ar ufs 形式のボリュームラベルを書き込みます。これは適切に .Ar disklabel を呼び出すことに対しての、単純な代替方法です。 いくつかの .Ar ufs コマンドはラベルを入手するために正規の .Ar ioctl コールを使わず、依然としてラベルを捜してディスクの読み込みを行う ため、このコマンドは必要になります。 .Nm はボリュームのデータとは別にボリュームラベルを保持しているため、この コマンドは .Ar newfs 用には必要ありません。 このコマンドの価値は低下しています。 .Pp .It Nm list .Op Fl r .Op Fl V .Op volume | plex | subdisk -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm l .Op Fl r .Op Fl V .Op volume | plex | subdisk -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op subdisk -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op plex -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .Pp .Ar list は指定したオブジェクトの情報を表示するために使われます。引数が省略されると .Nm が認識しているすべてのオブジェクトについての情報が表示されます。 .Ar l コマンドは .Ar list と同じものです。 .Pp .Fl r オプションはボリュームとプレックスに関連します。 指定されると、そのオブジェクト配下のサブディスクと (ボリュームに対しては) プレックスの情報を再帰的に表示します。 .Ar lv , .Ar lp , .Ar ls , .Ar ld のコマンドは、それぞれボリューム、プレックス、サブディスク、そしてドライブの 情報だけを表示します。これはパラメータを指定しないで使う場合に特に有用です。 .Pp .Fl s オプションで .Nm は装置の統計情報を出力するようになり、 .Op Fl v (verbose: 饒舌な) オプションはいくらかの付加情報を出力させ、 そして .Op Fl V は数多くの付加情報を出力させます。 .It Nm makedev .br .Nm makedev コマンドは、ディレクトリ /dev/vinum を除去した上で、 現在の設定を反映するようなデバイスノードと共にこのディレクトリを再作成します。 本コマンドは、通常の場合に使用されることを意図していません。 非常時にのみ使用するために提供しています。 .Pp +.It Nm quit +対話モードで実行中のときに、 +.Nm +プログラムを終了します。通常は、文字 +.Ar EOF +を入力することで実現できます。 .It Nm read -.Ar disk-partition +.Ar disk Op disk... .Pp .Nm read -コマンドは、指定したディスクパーティションから、作成済の +コマンドは、指定したディスクを走査し、作成済の +.Nm +設定を探します。 +そして、最近更新されたものから過去に更新されたものの順番で、 +設定を読み込みます。通常、この方法で .Nm -設定を読み込みます。 +を起動します。 .Nm は最新のすべての設定情報を各ディスクパーティションに保持しています。 このコマンドの -パラメータとして、構成の中のどのパーティションでも指定することができます。 +パラメータとして、構成の中の全パーティションを指定する必要があります。 +.Nm +.Nm read +は非 Vinum パーティションの名前を受け付けますので、 +.Nm +パーティションが存在するかもしれない全パーティションを、 +本コマンドに指定することができます .It Nm rename .Op Fl r .Ar [ drive | subdisk | plex | volume ] .Ar newname .Pp 指定したオブジェクトの名前を変更します。 .Fl r オプションが指定されると、配下のオブジェクトがデフォルトの規則に従って命名され ます。プレックスの名前はボリューム名に .p\f(BInumber\fP を付加して作られ、 サブディスクの名前はプレックス名に .s\f(BInumber\fP を付加して作られます。 .It Nm replace .Ar [ subdisk | plex ] .Ar newobject .Pp 指定したオブジェクトを同一の他のオブジェクトで置き換えます。このコマンドはまだ 実装されていません。 .It Nm resetconfig .Pp .Nm resetconfig コマンドはシステム内の .Nm 設定を完全に削除します。設定を完全に消去したい場合にだけ使って下さい。 .Nm は確認を求めます。NO FUTURE (前途なし) という語句を以下の通りに入力する必要が あります。 .Bd -unfilled -offset indent # \f(CBvinum resetconfig\f(CW WARNING! This command will completely wipe out your vinum configuration. All data will be lost. If you really want to do this, enter the text NO FUTURE Enter text -> \f(BINO FUTURE\fP Vinum configuration obliterated (訳注: ここから上記テキストの翻訳です) -警告! このコマンドはあなたの vinum 設定を完全に消し去ります。すべての -データは失われます。本当にこれを実行したい場合は、語句 +警告! このコマンドはあなたの vinum 設定を完全に消し去ります。 +全データは失われます。本当にこれを実行したい場合は、語句 NO FUTURE を入力して下さい。 入力してください -> \f(BINO FUTURE\fP vinum の設定は削除されました。 (訳注: ここまで上記テキストの翻訳です) .Ed .ft R +.Pp +メッセージが示すように、どたん場のコマンドです。 +既存の設定をもう見たくもないとき以外は、このコマンドを使わないでください。 .It Nm resetstats .Op Fl r .Op volume | plex | subdisk .Pp .Nm は各オブジェクトについて多数の統計カウンタを保持しています。詳細は ヘッダファイル .Fi vinumvar.h を参照して下さい。 .\" XXX 仕上がったらここに入れる これらのカウンタをリセットするためには .Nm resetstats コマンドを使って下さい。 .Fl r オプションも共に指定すると、 .Nm は配下のオブジェクトのカウンタもリセットします。 .It Nm rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .Pp .Nm rm はオブジェクトを .Nm 設定から消去します。ひとたびオブジェクトが消去されるとそれを復旧する方法は ありません。通常 .Nm はオブジェクトを消去する前に数多くの一貫性確認を行います。 .Fl f オプションを指定すると、 .Nm はこの確認を省略し、オブジェクトを無条件に消去します。このオプションは細心の 注意を払って使用して下さい。ボリューム上のすべてのデータを失うことも あり得ます。 .Pp 通常、 .Nm は配下にプレックスを持つボリュームや、配下にサブディスクを持つプレックスを 消去することを拒否します。 .Fl f フラグを指定すると、 .Nm は無条件にオブジェクトを消去します。または .Fl r (recursive: 再帰的) フラグを使うことで、同様に配下のオブジェクトを 消去することができます。 .Fl r フラグを付けてボリュームを消去すると、プレックスとそれに属するサブディスクも 消去します。 .ig .It Nm set .Op Fl f .Ar state .Ar volume | plex | subdisk | disk .Nm set は指定したオブジェクトに、妥当な状態 (下記「オブジェクト状態」参照) のひとつを セットします。 通常、 .Nm は変更を加える前に非常に多くの一貫性の調査を実行します。 .Fl f オプションを指定すると、 .Nm はこの調査を省略し、無条件に変更を行います。このオプションは大いに注意して 使って下さい。ボリューム上のすべてのデータを失うこともあり得ます。 .\"XXX .Nm このコマンドはまだ実装されていません。 .. +.It Nm setdaemon +.Op value +.Pp +.Nm setdaemon +は +.Nm +デーモンの変数ビットマスクを設定します。 +本コマンドは一時的なものであり、将来置き換えられます。 +現在、ビットマスクにはビット 1 (全アクションを syslog へ記録する) と +ビット 4 (設定を更新しない) があります。 +オプションビット 4 はエラー回復時に有用かもしれません。 .It Nm start .Op volume | plex | subdisk .Pp .Nm start -は +は 1 つまたはそれ以上の .Nm -サブシステムやその中の 1 つのコンポーネントを起動します。 +オブジェクトを起動します。 マルチプレックスボリュームの中の 1 つのプレックスを起動するには、 ボリューム中の他のプレックスからデータをコピーする必要があります。 これにはしばしば長い時間がかかるため、バックグラウンドで実行されます。 .ig XXX 引数なしで起動されると、システムに接続されているすべてのディスクを調べて BSD パーティション (type 165) を見つけます。そしてパーティションを走査して .Nm パーティションを求めます。これは \fIドライブ\fR\| と呼ばれます。 .Nm ドライブにはそのドライブ中のデータについてのすべての情報を持つヘッダが 入っており、その情報としてはプレックスとボリュームを表現するために必要な 他のドライブの名前を含んでいます。 .\" XXX .Nm 走査機能はまだ実装されていません。 .. .It Nm stop .Op Fl f .Op volume | plex | subdisk .Pp .Nm stop は、指定したオブジェクトと配下のオブジェクトに対するアクセスを抑止します。 オブジェクトを設定から削除することはありません。 .Nm start コマンドの後で再度アクセスができるようになります。 .Pp デフォルトでは .Nm は動作中のオブジェクトは削除しません。例えば、動作中のボリュームに結合 されているプレックスは削除できないし、オープン中のボリュームは削除できません。 .Fl f オプションは .Nm にこの確認を省略して無条件に削除するよう指示します。このオプションは 大いに注意し、よく理解した上で使って下さい。もし間違って使うとひどい データ破壊を起こすことがあります。 .El .Ss 設定ファイル .Nm では、 .Nm create コマンドに渡すすべての引数は設定ファイルに入っている必要があります。 設定ファイルのエントリは、ボリュームやプレックスやサブディスクを定義します。 エントリは 1 行に 1 つということ以外には決まった書式はありません。 .Pp 設定ファイルのいくつかの引数では、大きさ (長さ、ストライプ長) を指定します。 これらの長さは、バイト単位でも、512バイトのセクタ数 (\f(CWb\fRを後ろにつける) でも、キロバイト単位 (\f(CWk\fRをつける) でも、メガバイト単位(\f(CWm\fRを つける)でも、またはギガバイト単位 (\f(CWg\fRをつける) でも指定することが できます。これらの数はそれぞれ 2**10、2**20、2**30を表しています。例えば、 \f(CW16777216\fR バイトという値は \f(CW16m\fR とも \f(CW16384k\fR とも \f(CW32768b\fR とも記述することができます。 .Pp 設定ファイルには以下のエントリを記述することができます。 .Pp -.Bl -hang +.Bl -hang -width 4n .It Nm volume .Ar name .Op options .Pp .Ar name という名前でボリュームを定義します。 .Pp オプションには次のものがあります。 .Pp -.TS H -tab(#) ; -l lw50 . -オプション#意味 -.TH N -T{ -.Nm plex -.Ar plexname -T}#T{ +.Bl -hang -width 18n +.It Nm plex Ar plexname 指定したプレックスをボリュームに追加します。 .Ar plexname が .Ar * として指定されると、 .Nm は設定ファイル中のボリューム定義の後で、次の妥当なエントリとなり得るプレックス の定義を捜します。 -T} -.sp -T{ -.Nm readpol -.Ar policy -T}#T{ +.It Nm readpol Ar policy ボリュームの .Ar read policy (読み込み方針) を定義します。 .Ar policy は .Nm round か .Nm prefer Ar plexname のどちらかです。 .Nm は読み込み要求を、ただ 1 つのプレックスによって満たします。 .Ar round 読み込み方針は、読み込みを別々のプレックスから \fIラウンドロビン\fR\| 方式で 行うように指定します。 .Ar prefer 読み込み方針では、指定したプレックスから毎回読み込みを行います。 -T} -.sp -T{ -.Nm setupstate -T}#T{ +.It Nm setupstate マルチプレックスボリュームを作成する際に、すべてのプレックスの内容に一貫性が あると仮定します。通常こうなることはないため、正式には .Nm init コマンドを使って、最初に一貫性のある状態にする必要があります。しかし ストライプ化プレックスとコンカチネート化プレックスの場合には、普通は一貫性が ないままでも問題にはなりません。ボリュームをファイルシステムや スワップパーティションとして使う場合にはディスク上の以前の内容は どうでもよいため、それは無視されます。この危険を受け入れる場合には、 このキーワードを使って下さい。 設定ファイル中でボリュームの直後で定義されるプレックスに対してのみ 適用されます。 後でプレックスをボリュームに追加する場合には、 これらのプレックスを統合する必要があります。 .Pp RAID-5 プレックスには .Nm init を使うことが \fI必要\fP\| なことに注意して下さい。さもないと 1 つのサブディスクに障害が起きた時、大きくデータが破壊されます。 -T} .fi -.TE -.It Nm plex -.Op options +.El +.It Nm plex Op options .Pp プレックスを定義します。ボリュームとは異なり、名前は不要です。 +オプションには次のものを指定可能です: .Pp -.TS H -tab(#) ; -l lw50 . -オプション#意味 -.TH N -T{ -.Nm name -.Ar plexname -T}#T{ +.Bl -hang -width 18n +.It Nm name Ar plexname プレックスの名前を指定します。プレックスやサブディスクに名前をつける場合には .Ar name キーワードが必要になることに注意して下さい。 -T} .sp -T{ -.Nm org -.Ar organization -.Op stripesize -T}#T{ +.It Nm org Ar organization Op stripesize +.Pp プレックスの編成を指定します。 .Ar organization は .Ar concat か .Ar striped か .Ar raid5 のいずれかです。 .Ar striped と .Ar raid5 のプレックスに対しては .Ar stripesize 引数を指定する必要がありますが、 .Ar concat のプレックスに対しては省略する必要があります。 .Ar striped タイプについては各ストライプの幅を指定します。 .Ar raid5 については、グループの大きさを指定します。 グループとはプレックスの一部分であり、 同じサブディスクに入っているすべてのデータのパリティが入っています。 それはプレックスの大きさの約数である必要があり (つまり、プレックスの大きさをストライプの大きさで割ったものは 整数である必要があり)、 ディスクセクタ長 (512バイト) の倍数である必要があります。 .sp 最適な性能のためには、ストライプの大きさは少なくとも 128kB であるべきです。 これより小さくすると、 個々のリクエストが複数のディスクに対して割り当てられることにより、 I/O のアクティビティが非常に増加します。 この割り当てに起因する並行性の増加は、レイテンシを増加させません。 ストライプの大きさの目安は、256kB から 512 kB の間です。 -T} .Pp -#T{ ストライプ化プレックスは最低 2 つのサブディスクを持つ必要がありますし (そうでないとコンカチネート化プレックスになります)、 それぞれは同じ大きさである必要があります。 RAID-5 プレックスは最低 3 つのサブディスクを持つ必要があり、 それぞれは同じ大きさである必要があります。 実際には RAID-5 プレックスは最低 5 つのサブディスクから構成されるべきです。 -T} .Pp -T{ -.Nm volume -.Ar volname -T}#T{ +.It Nm volume Ar volume プレックスを、指定したボリュームに追加します。 .Nm volume キーワードが指定されないと、プレックスは設定ファイル中の最後に記述された ボリュームに追加されます。 -T} .sp -T{ -.Nm sd -.Ar sdname -.Ar offset -T}#T{ +.It Nm sd Ar sdname Ar offset 指定したサブディスクをプレックスの .Ar offset の位置に追加します。 -T} .br .fi -.TE -.It Nm subdisk -.Op options +.El +.It Nm subdisk Op options .Pp -サブディスクを定義します。 +サブディスクを定義します。オプションには次のものを指定可能です: .Pp -.TS H -tab(#) ; -l lw50 . -オプション#意味 +.Bl -hang -width 18n .nf .sp -T{ -.Nm name -.Ar name -T}#T{ +.It Nm name Ar name サブディスクの名前を指定します。これは必ずしも指定する必要は ありません\(em 上記の「オブジェクトの命名」を参照してください。 サブディスクに名前をつける場合には .Ar name キーワードを指定する必要があることに注意して下さい。 -T} .sp -T{ -.Nm plexoffset -.Ar offset -T}#T{ +.It Nm plexoffset Ar offset プレックス内のサブディスクの始点を指定します。指定がないと、 .Nm はすでにサブディスクがあればその直後の領域を割り当て、なければ プレックスの先頭から割り当てます。 -T} .sp -T{ -.Nm driveoffset -.Ar offset -T}#T{ +.It Nm driveoffset Ar offset ドライブ内のサブディスクの始点を指定します。指定がないと、 .Nm はドライブ中で最初の .Ar length バイト連続の空き領域を割り当てます。 -T} .sp -T{ -.Nm length -.Ar length -T}#T{ +.It Nm length Ar length サブディスクの大きさを指定します。このキーワードは必須です。 デフォルト値はありません。 .Nm length は .Nm len と短縮することもできます。 -T} .sp -T{ -.Nm plex -.Ar plex -T}#T{ +.It Nm plex Ar plex サブディスクが属すプレックスを指定します。デフォルトでは、サブディスクは 最後に記述されたプレックスに属します。 -T} .sp -T{ -.Nm drive -.Ar drive -T}#T{ +.It Nm drive Ar drive サブディスクが乗るドライブを指定します。デフォルトでは最後に記述された ドライブ上に位置します。 -T} .br .fi -.TE .El -.Bl -hang -.It Nm drive -.Ar name -.Op options +.It Nm drive Ar name Op options .Pp -ドライブを定義します。 +ドライブを定義します。オプションには次のものを指定可能です: .Pp -.TS H -tab(#) ; -l lw50 . -オプション#意味 -.nf -.sp -T{ -.Nm device -.Ar devicename -T}#T{ +.Bl -hang -width 18n +.It Nm device Ar devicename ドライブが乗るデバイスを指定します。 -T} -.TE +.El .El .Sh 設定ファイル例 -.nf +.Bd -literal # vinum 設定ファイル例 # # ドライブ drive drive1 device /dev/da1h drive drive2 device /dev/da2h drive drive3 device /dev/da3h drive drive4 device /dev/da4h drive drive5 device /dev/da5h drive drive6 device /dev/da6h # 1 つのストライプ化プレックスをもつボリューム volume tinyvol plex org striped 32b sd length 64m drive drive2 sd length 64m drive drive4 volume stripe plex org striped 32b sd length 512m drive drive2 sd length 512m drive drive4 # 2 つのプレックス volume concat plex org concat sd length 100m drive drive2 sd length 50m drive drive4 plex org concat sd length 150m drive drive4 # 1 つのストライプ化プレックスと 1 つのコンカチネート化プレックスを持つボリューム volume strcon plex org striped 32b sd length 100m drive drive2 sd length 100m drive drive4 plex org concat sd length 150m drive drive2 sd length 50m drive drive4 # 1 つの RAID-5 プレックスと 1 つのストライプ化プレックスを持つボリューム # RAID-5 ボリュームの方が 1 つのサブディスク分だけ大きいことに注意 volume vol5 plex org striped 64k sd length 1000m drive drive2 sd length 1000m drive drive4 plex org raid5 32k sd length 500m drive drive1 sd length 500m drive drive2 sd length 500m drive drive3 sd length 500m drive drive4 sd length 500m drive drive5 -.fi +.Ed .Ss ドライブレイアウト上の考慮点 現在、 .Nm ドライブは BSD ディスクパーティションです。それは ファイルシステムの上書きを避けるために .Ar unused タイプである必要があります。 .Nm の後のバージョンではこれは .Ar vinum タイプに変更される予定です。 .Nm disklabel .Ar -e を使用して、パーティションタイプ定義を編集してください。 次の表示は、 .Nm disklabel が示す典型的なパーティションレイアウトです: -.nf +.Bd -literal 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 344064 4.2BSD 0 0 0 # (Cyl. 240*- 297*) b: 262144 81920 swap # (Cyl. 57*- 240*) c: 4226725 0 unused 0 0 # (Cyl. 0 - 2955*) e: 81920 0 4.2BSD 0 0 0 # (Cyl. 0 - 57*) f: 1900000 425984 4.2BSD 0 0 0 # (Cyl. 297*- 1626*) g: 1900741 2325984 unused 0 0 0 # (Cyl. 1626*- 2955*) -.fi +.Ed .sp この例では、パーティション .Nm g を .Nm パーティションとして使用可能です。パーティション .Nm a , .Nm e , .Nm f は、 .Nm UFS ファイルシステムまたは .Nm ccd パーティションとして使用可能です。パーティション .Nm b はスワップパーティションであり、パーティション .Nm c はディスク全体を表現するため他の用途に使用できません。 .Pp .Nm は各パーティションの先頭から 265 セクタを設定情報に使用するため、 サブディスクの最大の大きさはドライブよりも 265 セクタ小さくなります。 -.Sh 良くない仕様 (GOTCHAS) +.Sh 分かりにくい仕様 (GOTCHAS) +次の事柄はバグではありませんし、存在する理由があるのですが、 +混乱を引き起こすものです。 +各項目は適切な節において議論されています。 +.Bl -enum +.It .Nm はデバイスを UFS パーティション上には作成するよう要求されると、 ``wrong partition type'' というエラーメッセージを返します。 パーティションタイプは、現在のところ、``unused'' である必要があります。 -詳細については前述してあります。 -.Sh バグ +.It +複数のプレックスからなるボリューム作成時に、 +.Nm +はプレックスを自動的には初期化しません。 +これは、内容については分からなくても、 +これらの間には確かに一貫性がないということを意味しています。 +その結果デフォルトでは、 +新規作成されたプレックスのうち最初のものを除いたすべての状態を、 +.Nm +は +.Ar 古い (stale) +状態に設定します。 +.sp +実際上は、プレックス作成時にその内容に多大な興味を持つ人はいないので、 +他のボリュームマネージャはどんなときでも +.Ar 起動 (up) +に設定して騙します。 +.Nm +は、新規作成されたプレックスが +.Ar 起動 (up) +状態であることを保証するために、2 つの方法を提供します: +.Bl -bullet +.It +プレックスを作成し、それらを +.Nm vinum init +で初期化します。 +.It +キーワード +.Ar setupstate +付きでボリューム (プレックスではありません) を作成します。 +このキーワードは、矛盾が存在しても無視してプレックスの状態を +.Ar 起動 (up) +状態にするように、 +.Nm +に指示します。 +.El +.It 現在 .Nm -はベータテストの段階です。数多くのバグが予想されます。設定機構は -まだ完全には機能しません。 -問題がある場合には、報告する前に -http://www.lemis.com/vinum_beta.html と -http://www.lemis.com/vinum_debugging.html を参照してください。 +がサポートしているコマンドには、実際には不要なものがあります。 +私には理解できない理由があるのでしょうが、 +.Nm label +および +.Nm resetconfig +のコマンドを使おうとするユーザをしばしば見掛けます。特に +.Nm resetconfig +は、あらゆる種類の恐しいメッセージを表示するにもかかわらずです。 +正当な理由無しに、これらのコマンドを使わないでください。 +.It +状態遷移には非常に分り難いものがあります。 +事実、これがバグであるのか仕様であるのかは明かではありません。 +.Ar reborn +サブディスクなどの、奇妙な状態になったオブジェクトを開始できない場合には、 +.Nm stop +または +.Nm stop Ar -f +のコマンドを使用して、まず +.Ar stopped +状態に遷移させてください。 +これが上手くいけば、オブジェクトを開始できるはずです。 +簡単な方法では上手くいかなくて、これが唯一の回復手段である場合、 +その状況を報告してください。 +.It +カーネルモジュールを +.Ar -DVINUMDEBUG +オプション付きで構築した場合、 +.Nm vinum(8) +もまた +.Ar -DVINUMDEBUG +オプション付きで構築する必要があります。 +なぜなら、両方のコンポーネントで使用されるデータオブジェクトに、 +大きさが本オプションに依存しているものがあるからです。 +前記のようにしないと、 +.Ar Invalid argument +というメッセージを表示してコマンドは失敗し、 +次のようなコンソールメッセージが記録されます: +.Pp +.Bd -literal +vinumioctl: invalid ioctl from process 247 (vinum): c0e44642 +.Ed +.Pp +古いバージョンの kld やユーザランドプログラムを使うと、 +このエラーが発生することがあります。 +.El +.\"XXX.Sh BUGS .Sh 関連ファイル .Ar /dev/vinum - .Nm オブジェクトのデバイスノードがあるディレクトリ .br .Ar /dev/vinum/control - .Nm vinum の制御デバイスがあるディレクトリ .br .Ar /dev/vinum/plex - .Nm プレックスのデバイスノードがあるディレクトリ .br .Ar /dev/vinum/sd - .Nm サブディスクのデバイスノードがあるディレクトリ .Sh 関連項目 -.Xr vinum 4 -.Xr disklabel 8 +.Xr vinum 4 , +.Xr disklabel 8 , +.Nm http://www.lemis.com/vinum.html , +.Nm http://www.lemis.com/vinum-debugging.html . .Sh 作者 Greg Lehey .Pa .Sh 歴史 .Nm コマンドは FreeBSD 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/Makefile b/ja_JP.eucJP/man/man1/Makefile index 3a2731684c..30d8f829a8 100644 --- a/ja_JP.eucJP/man/man1/Makefile +++ b/ja_JP.eucJP/man/man1/Makefile @@ -1,410 +1,409 @@ MAN1 = a2p.1\ addftinfo.1\ addr2line.1\ apply.1\ apropos.1\ ar.1\ as.1\ at.1\ awk.1\ basename.1\ bc.1\ biff.1\ bison.1\ brandelf.1\ btreeop.1\ c89.1\ calendar.1\ cap_mkdb.1\ cat.1\ catman.1\ cccp.1\ cd.1\ cdcontrol.1\ checknr.1\ chflags.1\ chkey.1\ chgrp.1\ chio.1\ chmod.1\ chpass.1\ ci.1\ ckdist.1\ cksum.1\ cmp.1\ co.1\ col.1\ colcrt.1\ colldef.1\ colrm.1\ column.1\ comm.1\ compile_et.1\ compress.1\ cp.1\ cpio.1\ crontab.1\ crunchgen.1\ crunchide.1\ csh.1\ ctags.1\ ctm.1\ ctm_rmail.1\ cu.1\ cursor.1\ cut.1\ cvs.1\ date.1\ dc.1\ dd.1\ df.1\ dialog.1\ diff.1\ diff3.1\ dig.1\ dnsquery.1\ domainname.1\ du.1\ echo.1\ ed.1\ ee.1\ eqn.1\ error.1\ expand.1\ expr.1\ f2c.1\ f77.1\ false.1\ fdformat.1\ fdwrite.1\ fetch.1\ file.1\ file2c.1\ find.1\ finger.1\ fmt.1\ fold.1\ fontedit.1\ fpr.1\ from.1\ fsplit.1\ fstat.1\ ftp.1\ gcc.1\ gcore.1\ gctags.1\ gdb.1\ gdbserver.1\ gencat.1\ genclass.1\ getNAME.1\ getopt.1\ global.1\ gperf.1\ gprof.1\ grep.1\ grodvi.1\ groff.1\ grolj4.1\ grops.1\ grotty.1\ groups.1\ gtags.1\ gzexe.1\ gzip.1\ h2ph.1\ head.1\ hexdump.1\ host.1\ hostname.1\ htags.1\ id.1\ ident.1\ indent.1\ indxbib.1\ - info.1\ install.1\ install-info.1\ intro.1\ ipcrm.1\ ipcs.1\ ipf.1\ ipftest.1\ ipnat.1\ ipresend.1\ ipsend.1\ iptest.1\ join.1\ jot.1\ kbdcontrol.1\ kbdmap.1\ kcon.1\ kdump.1\ key.1\ keyinfo.1\ keyinit.1\ keylogin.1\ keylogout.1\ kill.1\ killall.1\ ktrace.1\ lam.1\ last.1\ lastcomm.1\ ld.1\ ldd.1\ leave.1\ lex.1\ limits.1\ lint.1\ lkbib.1\ ln.1\ loadfont.1\ locate.1\ lock.1\ lockf.1\ logger.1\ login.1\ logname.1\ look.1\ lookbib.1\ lorder.1\ lp.1\ lpq.1\ lpr.1\ lprm.1\ lptest.1\ ls.1\ lsvfs.1\ m4.1\ mail.1\ mailq.1\ make.1\ makewhatis.1\ man.1\ manpath.1\ mcon.1\ md5.1\ merge.1\ mesg.1\ minigzip.1\ mkdep.1\ mkdir.1\ mkfifo.1\ mklocale.1\ mkstr.1\ mktemp.1\ more.1\ mptable.1\ mset.1\ msgs.1\ mt.1\ mv.1\ ncal.1\ neqn.1\ netstat.1\ newaliases.1\ nfsstat.1\ nice.1\ nm.1\ nohup.1\ nroff.1\ objcopy.1\ objdump.1\ od.1\ opieinfo.1\ opiekey.1\ opiepasswd.1\ pagesize.1\ passwd.1\ paste.1\ patch.1\ pawd.1\ pax.1\ perl.1\ pfbtops.1\ pic.1\ pkg_add.1\ pkg_create.1\ pkg_delete.1\ pkg_info.1\ pr.1\ printenv.1\ printf.1\ ps.1\ psbb.1\ psroff.1\ pwd.1\ quota.1\ ranlib.1\ rcp.1\ rcs.1\ rcsclean.1\ rcsdiff.1\ rcsfreeze.1\ rcsintro.1\ rcsmerge.1\ rdist.1\ refer.1\ rev.1\ rlog.1\ rlogin.1\ rm.1\ rmdir.1\ rpcgen.1\ rs.1\ rsh.1\ rtprio.1\ rup.1\ ruptime.1\ rusers.1\ rwall.1\ rwho.1\ s2p.1\ sasc.1\ scon.1\ script.1\ sdiff.1\ sed.1\ send-pr.1\ sgsc.1\ sh.1\ shar.1\ size.1\ skey.1\ sleep.1\ soelim.1\ sort.1\ split.1\ spppcontrol.1\ startslip.1\ strings.1\ strip.1\ stty.1\ su.1\ symorder.1\ systat.1\ tail.1\ talk.1\ tar.1\ tbl.1\ tconv.1\ tcopy.1\ tcpdump.1\ tcpslice.1\ tee.1\ telnet.1\ test.1\ tfmtodit.1\ tftp.1\ time.1\ tip.1\ tn3270.1\ top.1\ touch.1\ tput.1\ tr.1\ troff.1\ true.1\ truss.1\ tset.1\ tsort.1\ tty.1\ ul.1\ uname.1\ unifdef.1\ uniq.1\ units.1\ unvis.1\ uptime.1\ users.1\ uuconv.1\ uucp.1\ uuencode.1\ uulog.1\ uuname.1\ uupick.1\ uuto.1\ uustat.1\ uux.1\ vacation.1\ vgrind.1\ vi.1\ vidcontrol.1\ vis.1\ vt220keys.1\ vttest.1\ w.1\ wait.1\ wall.1\ wc.1\ what.1\ whereis.1\ which.1\ who.1\ whoami.1\ whois.1\ window.1\ write.1\ xargs.1\ xstr.1\ xten.1\ yacc.1\ yes.1\ ypcat.1\ ypmatch.1\ ypwhich.1\ yyfix.1\ zdiff.1\ zforce.1\ zmore.1\ znew.1 MLINKS= csh.1 limit.1 csh.1 alias.1 csh.1 bg.1 csh.1 dirs.1 csh.1 fg.1 \ csh.1 foreach.1 csh.1 history.1 csh.1 jobs.1 csh.1 popd.1 \ csh.1 pushd.1 csh.1 rehash.1 csh.1 repeat.1 csh.1 suspend.1 \ csh.1 stop.1 csh.1 source.1 MLINKS+= ed.1 red.1 MLINKS+= test.1 '[.1' MLINKS+= gcc.1 cc.1 gcc.1 c++.1 gcc.1 g++.1 MLINKS+= cccp.1 cpp.1 MLINKS+= grep.1 egrep.1 grep.1 fgrep.1 MLINKS+= grep.1 zgrep.1 grep.1 zegrep.1 grep.1 zfgrep.1 MLINKS+= gzip.1 gunzip.1 gzip.1 zcat.1 gzip.1 gzcat.1 MLINKS+= zdiff.1 zcmp.1 MLINKS+= apropos.1 whatis.1 MLINKS+= send-pr.1 sendbug.1 MLINKS+= at.1 batch.1 \ at.1 atq.1 \ at.1 atrm.1 MLINKS+= basename.1 dirname.1 MLINKS+= chpass.1 chfn.1 chpass.1 chsh.1 MLINKS+= chpass.1 ypchpass.1 chpass.1 ypchfn.1 chpass.1 ypchsh.1 MLINKS+= compress.1 uncompress.1 MLINKS+= ee.1 ree.1 MLINKS+= expand.1 unexpand.1 MLINKS+= ftp.1 pftp.1 ftp.1 gate-ftp.1 MLINKS+= hexdump.1 hd.1 MLINKS+= intro.1 introduction.1 MLINKS+= lex.1 flex.1 MLINKS+= lex.1 flex++.1 MLINKS+= lex.1 lex++.1 MLINKS+= mail.1 Mail.1 MLINKS+=passwd.1 yppasswd.1 MLINKS+= printenv.1 env.1 MLINKS+= tconv.1 tic.1 tconv.1 captoinfo.1 MLINKS+= tput.1 clear.1 MLINKS+= tset.1 reset.1 MLINKS+=vi.1 ex.1 vi.1 view.1 MLINKS+=vi.1 nex.1 vi.1 nview.1 vi.1 nvi.1 MLINKS+=yacc.1 byacc.1 MLINKS+= ctm_rmail.1 ctm_smail.1 MLINKS+= ctm_rmail.1 ctm_dequeue.1 MLINKS+= kbdmap.1 vidfont.1 MLINKS+= rtprio.1 idprio.1 MLINKS+= cksum.1 sum.1 MLINKS+= ktrace.1 trace.1 MLINKS+= uuencode.1 uudecode.1 MLINKS+= ncal.1 cal.1 .include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man1/btreeop.1 b/ja_JP.eucJP/man/man1/btreeop.1 index cc8f76fe0c..beee92e050 100644 --- a/ja_JP.eucJP/man/man1/btreeop.1 +++ b/ja_JP.eucJP/man/man1/btreeop.1 @@ -1,188 +1,179 @@ .\" .\" Copyright (c) 1996, 1997 Shigio Yamaguchi. 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 Shigio Yamaguchi. .\" 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 THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd Nov 26, 1997 .\" jpman %Id: btreeop.1,v 1.3 1997/06/18 13:41:54 jsakai Stab % +.Dd Nov 3, 1998 .Dt BTREEOP 1 .Os BSD 4 .Sh 名称 .Nm btreeop .Nd btree データベースメンテナンスツール .Sh 書式 .Nm btreeop .Op Fl A .Op Fl C .Op Fl D[keyno] Ar key .Op Fl K[keyno] Ar key -.Op Fl L +.Op Fl L[2] .Op Fl k Ar prefix .Op Ar dbname .Sh 解説 .Nm btreeop は、 .Xr btree 3 データベースに対して単純な操作を行います。 .Nm btreeop は、データベースを作成したり、レコードを記入したり、(シーケンシャルや インデックスで)レコードを読み出したり、レコードを削除したりすることができます。 重複したエントリを持つこともできます。 複数のキーが利用可能ですが、 .Xr btree 3 のインデックスとしてはプライマリキーだけが利用されます。 .Sh オプション 大文字はコマンドを示します。コマンドが指定されなかった場合は、 シーケンシャルな読み出しであると想定します。 .Bl -tag -width Ds .It Fl A レコードを追加します。データベースが存在しない場合、 btreeop はそれを作成します。 .It Fl C データベースを作成し、レコードを記入します。 .It Fl D[keyno] Ar key key を用いてレコードを削除します。 デフォルトでは、 keyno は0(すなわちプライマリキー)です。 .It Fl K[keyno] Ar key key を用いてレコードを検索します。 デフォルトでは、 keyno は0(すなわちプライマリキー)です。 -.It Fl L -全てのプライマリキーを表示します。 -以下の二つのコマンド行は、後者がはるかに速いことを除いて等価です。 - - btreeop | awk '{print $1}' | uniq - - btreeop -L +.It Fl L[2] +全プライマリキーを表示します。 +「2」を指定した場合、すべてのキーとデータの組を表示します。 .It Fl k Ar prefix プライマリキーとして prefix を持つレコードを検索します。 このオプションは (-L コマンドもしくはコマンドが与えられていない場合の ように) シーケンシャルに読み込む操作に対してだけ有効です。 -以下の二つのコマンド行は、後者がはるかに速いことを除いて等価です。 - - btreeop | awk '$1 ~ /^fo/ {print }' - - btreeop -k fo .It Ar dbname データベース名を指定します。デフォルトは 'btree' です。 .Sh データフォーマット データベースを作成する (あるいは追加する) 際、 .Nm btreeop はデータを標準入力から読み込みます。 データのフォーマットは以下のようになります。 プライマリキー 2番目のキー-1 2番目のキー-2 Data (keyno = 0) (keyno = 1) (keyno = 2) -------------------------------------------------------------- main 246 main.c main (){\\n func 120 library.c func(a1, a2)\\n . . . .El .Bl -enum -offset indent .It 全ての key とデータはブランク('\\t' あるいは ' ') で区切られます。 .It key にブランクを含めることはできません。 .It データにはブランクを含めることができます。 .It 空のデータは許されません。 .It 加えて、META レコードが利用できます。META レコードはブランクで始まる key を 持ちます。このレコードは、インデックス検索 (-K オプション) だけで読むことが できます。使用方法は btreeop によっては制限されません。 .El .Sh 使用例 データベースの作成 % btreeop -C key1 data1 key2 data2 key3 data3 ^D % レコードの追加 % btreeop -A __.VERSION 2 key2 data2-2 ^D % シーケンシャルな読み出し % btreeop key1 data1 key2 data2-2 key2 data2 key3 data3 % インデックスによる読み出し % btreeop -K key2 key2 data2-2 key2 data2 % btreeop -K ' __.VERSION' __.VERSION 2 % プライマリキーの一覧 % btreeop -L key1 key2 key3 % レコードの削除 % btreeop -D ' __.VERSION' % btreeop -K ' __.VERSION' % .Sh 関連ファイル .Bl -tag -width tags -compact .It Pa btree デフォルトのデータベース名 .El .Sh 診断 .Nm btreeop は、エラーが発生した場合、 0 以外の値で終了します。 その他の場合は、0 で終了します。 .Sh 関連項目 .Xr btree 3 .Sh 作者 Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは、FreeBSD 2.2.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/co.1 b/ja_JP.eucJP/man/man1/co.1 index 942e1564b0..42628c881b 100644 --- a/ja_JP.eucJP/man/man1/co.1 +++ b/ja_JP.eucJP/man/man1/co.1 @@ -1,743 +1,743 @@ .\" jpman %Id: co.1,v 1.2 1997/06/01 11:30:43 horikawa Stab % .de Id .ds Rv \\$3 .ds Dt \\$4 .. .Id %Id: co.1,v 1.5 1997/02/22 15:47:21 peter Exp % .ds i \&\s-1ISO\s0 .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 .if n .ds - \%-- .if t .ds - \(em .TH CO 1 \*(Dt GNU .SH 名称 co \- RCS ファイルからリビジョンをチェックアウトする .SH 書式 .B co .RI [ options ] " file " .\|.\|. .SH 解説 .B co は、各 \*r ファイルからリビジョンを取り出し、 対応したワークファイルに格納します。 .PP \*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、 その他のファイル名はワークファイルであるとみなします。 ファイル名の対応に関しては、 .BR ci (1) を参照してください。 .PP \*r ファイルのリビジョンは、ロックしてもしなくともチェックアウトできます。 リビジョンをロックすることにより、 同時に複数の更新が行われることを防止します。 内容を表示したり、読むだけの処理(たとえば、コンパイル)で用いたりする場合は ロックする必要はありません。 編集し後にチェックインするつもりで \*r ファイルから取り出す場合は、 通常、ロックしなければなりません。 他のユーザによってロックされているリビジョンを ロックしてチェックアウトしようとするとエラーになります(ロックは .BR rcs (1) によって解除することができます)。 更に、リビジョンをロックしてチェックアウトするには、 チェックアウトする人が \*r ファイルのアクセスリストに登録されているか、 そのファイルの所有者もしくはスーパユーザであるか、 アクセスリストが空である必要が有ります。 ロックしないで取り出す場合は、 アクセスリストや他人のロックに影響されることはありません。 .PP 取り出されるリビジョンを、リビジョン番号、枝番号、 チェックイン日時、作者、状態によって指定するオプションが存在します。 複数のオプションが組み合わされて指定された場合、 .B co はすべての条件に合致するリビジョンのうちで最新のものを取り出します。 リビジョン指定オプションが指定されなかった場合、 .B co は、デフォルト枝(通常は幹: .BR rcs (1) の .B \-b オプションの項を参照)の最新のリビジョンを取り出します。 リビジョン番号あるいは枝番号は、 以下のオプションを使って指定することができます: .BR \-f , .BR \-I , .BR \-l , .BR \-M , .BR \-p , .BR \-q , .BR \-r , .B \-u 。 オプション .B \-d (日時)、 .B \-s (状態)、 .B \-w (作者)は、単一の枝から取り出します。 この枝は .I 選択された 枝であり、 .BR \-f , \&.\|.\|., .B \-u オプションもしくはデフォルト枝により指定されます。 .PP リビジョンを 1 つも持たない \*r ファイルに対して .B co コマンドを適用すると、長さ 0 のワークファイルが作成されます。 .B co は、つねにキーワード置換を行います (下記参照)。 .SH オプション .TP .BR \-r [\f2rev\fP] リビジョン番号 .I rev 以前( .I rev と同じものも含む)で最新のリビジョンを取り出します。 .I rev がリビジョンではなく枝を指定している場合、その枝上の最新 のリビジョンが取り出されます。 .I rev が省略された場合、デフォルト枝 ( .BR rcs (1) の .B \-b オプションの項を参照)の最新のリビジョンが取り出されます。 .I rev が .B $ の場合、 .B co はリビジョン番号をワークファイルのキーワードから 取り出します。これら以外の場合、 .I rev はリビジョンを示すピリオドで区切られた数字またはシンボルの列です。 .I rev がピリオドで始まる場合、デフォルトの枝(通常は幹)が設定されます。 .I rev がピリオドを後ろに付けた枝番号であるならば、 その枝の最新のリビジョンが使われます。 シンボルは、 .BR ci (1) や .BR rcs (1) によりリビジョン番号と結びつけることができます。 .TP .BR \-l [\f2rev\fP] .B \-r と同様の動作ですが、取り出したリビジョンを呼び出したユーザにてロックします。 .TP .BR \-u [\f2rev\fP] .B \-r と同様の動作ですが、取り出したリビジョンが呼び出したユーザによって ロックされていたならば、そのロックを解除します。 .I rev が省略された場合、 .B co を起動したユーザがロックしたリビジョンが 1 つあれば、 そのリビジョンを取り出します; そうでなければ、デフォルト枝の最新のリビジョンを取り出します。 .TP .BR \-f [\f2rev\fP] ワークファイルの上書きを強制します; 後述の .B \-q オプションを使用する場合、いっしょに .B \-f オプションも 指定すると便利な場合があります。 .SM "ファイルモード" の項も参照してください。 .TP .B \-kkv ワークファイルにデフォルト形式のキーワード文字列を埋め込みます。たとえば、 キーワード .B Revision に対しては、文字列 .B "$\&Revision: \*(Rv $" を生成します。 .B "ci\ \-l" や .B "co\ \-l" でファイルがロックされる時のみ、 .BR Header , .BR Id , .B Locker キーワードにロック者名を挿入します。これがデフォルトの動作です。 .TP .B \-kkvl .B \-kkv とほぼ同様ですが、指定されたリビジョンがロックされていた場合にはいつも、 ロック者名を挿入します。 .TP .BR \-kk キーワード文字列中のキーワード名のみの文字列を生成し、値は省略します。 後述の .SM "キーワード置換" を参照して下さい。 たとえば、キーワード Revision に対しては、通常の .B "$\&Revision: \*(Rv $" のかわりに、 .B "$\&Revision$" を生成します。これは、異なるリビジョンの内容を比較する場合、キーワード 値の違いを無視できるので、便利です。 .B -kk が指定されても、キーワード .B "$\&Log$" の後にはログメッセージが挿入されます。これはリビジョンを統合する変更に、 より便利であることを意図しています。 .TP .BR \-ko チェックインされる前の ワークファイル中のキーワード文字列をそのまま出力します。たとえば、 キーワード .B "$\&Revision$" に対しては、 チェックインされる前に展開されていた文字列 .B "$\&Revision: 1.1 $" が、 .B "$\&Revision: \*(Rv $" の代わりに展開されます。 キーワード文字列の形式を取るバイト列が置換されてしまっては困るような 場合(訳注:バイナリファイル等)に便利でしょう。 .TP .BR \-kb 元のキーワード文字列のバイナリイメージを生成します。これは、 .B \-ko とほぼ同じですが、入出力する全てのワークファイルをバイナリモードで 扱う点が違います。これは、Posix と Unix のホスト間ではたいした違いでは ありません。が、DOS のようなシステムではバイナリファイルを扱う場合、 \*r ファイルの初期化には .B rcs \-i \-kb を使わねばならないでしょう。 また、全ての環境において、 .BR rcsmerge(1) は通常、 .B \-kb が働いている場合はファイルの統合を受け付けません。 .TP .BR \-kv キーワード文字列としてキーワード値のみを生成します。たとえば、キーワード .B Revision に対して、通常の .B "$\&Revision: \*(Rv $" のかわりに .B \*(Rv を生成します。 これは、キーワード文字列から .B "$\&Revision: $" のようなキーワード区切りを取 り除くことが困難なプログラミング言語用のファイル等を生成するために 使用します。しかしながら、キーワード名が取り除かれてしまうと、それ以降に キーワード置換を行うことができないので、注意が必要です。 キーワードを失うことはこのように危険であるため、本オプションを .B \-l オプションと組み合わせて使うことはできません。また、ワークファイルの 書き込み権はオフになります; 後でワークファイルを編集する場合は、 .B \-kv オプションを指定せずにワークファイルを取り出してから行います。 .TP .BR \-p [\f2rev\fP] ワークファイルに格納する代わりに、 対象となるリビジョンを標準出力に書き出します。 .B co をパイプの一部として使用する場合に便利です。 .TP .BR \-q [\f2rev\fP] 静かなモード; 診断メッセージを表示しません。 .TP .BR \-I [\f2rev\fP] 対話モード; たとえ標準入力が端末でなくても、ユーザに対して 問い合わせを行います。 .TP .BI \-d date 選択された枝上の、 .I date 以前の登録日付を持つ、最新のリビジョンを取り出します。 日付と時刻は自由形式で指定します。タイムゾーンとして .B LT を指定することにより、ローカルタイムを使用することができます; 他の一般的なタイムゾーンも使用することができます。 たとえば、以下に挙げるいくつかの .I date 指定は、 太平洋標準時における 1990 年 1 月 11 日午後 8 時と同時刻を示します -(太平洋標準時は標準時 (\*u) よりも 8 時間遅れです)。 +(太平洋標準時は協定世界時 (\*u) よりも 8 時間遅れです)。 .RS .LP .RS .nf .ta \w'\f3Thu, 11 Jan 1990 20:00:00 \-0800\fP 'u .ne 9 \f38:00 pm lt\fP \f34:00 AM, Jan. 12, 1990\fP デフォルトは \*u \f31990-01-12 04:00:00+00\fP \*i 8601 (\*u) \f31990-01-11 20:00:00\-08\fP \*i 8601 (ローカル時刻) \f31990/01/12 04:00:00\fP 伝統的 \*r 形式 \f3Thu Jan 11 20:00:00 1990 LT\fP \f3ctime\fP(3) + \f3LT\fP出力 \f3Thu Jan 11 20:00:00 PST 1990\fP \f3date\fP(1)出力 \f3Fri Jan 12 04:00:00 GMT 1990\fP \f3Thu, 11 Jan 1990 20:00:00 \-0800\fP インターネット RFC 822 \f312-January-1990, 04:00 WET\fP .ta 4n +4n +4n +4n .fi .RE .LP ほとんどの日付の項目にはデフォルト値があります。 デフォルトのタイムゾーンは \*u です。 これは .B \-z オプションにて優先指定することが出来ます。 他のデフォルト値は、年、月、日、時、分、秒 の順番で決定されます。 これらの項目のうち、少なくとも 1 つが指定されなければいけません。 指定のある項目よりも先に決定される項目が省略されている場合には、 タイムゾーンにおける現在の値を使用します。 他の省略されたフィールドには最小値が採用されます。 たとえば、 .B \-z 無しの .B "20, 10:30" の場合は、\*u タイムゾーンの現在の年月の 20 日 10:30:00 \*u が採用されます。 日付の指定に空白が含まれる場合には、 日付の指定をクオートでくくる必要があることに注意してください。 .RE .TP .BR \-M [\f2rev\fP] 作成されるワークファイルの最終更新日付を、取り出されるリビジョンの日付に します。本オプションを指定すると .BR make (1) が正しく動作しなくなるので、注意して使用する必要があります。 .TP .BI \-s state 選択された枝上の、状態 .I state を持つ最新のリビジョンを取り出します。 .TP .BR \-T \*r ファイルの変更日付を変更しません。 ロックされたりロック解除されたりして \*r ファイルが変更された場合でもです。 このオプションは、コピーした \*r ファイルのワークファイルを使って .BR make (1) をかける際に再コンパイルをさせたくない場合に便利でしょう。 このオプションは必要であるにもかかわらず再コンパイルを行なわないことに なってしまう場合があるので注意が必要です。 それは、ロックの変更が別のワークファイルのキーワード文字列の変更を行う時です。 .TP .BR \-w [\f2login\fP] 選択された枝上の、ユーザ名 .I login によって登録された最新のリビジョンを取り出します。 .I login が省略された場合は、 .B co を起動したユーザ名を使います。 .TP .BI \-j joinlist .I joinlist で指定されたリビジョンを結合した新しいリビジョンを作成します。 本オプションは、旧バージョンとの互換性のために残されています。 通常、リビジョンの結合には .BR rcsmerge (1) を用います。 .RS .PP .I joinlist は .IB rev2 : rev3 形式のリビジョンの対をコロンで区切って並べたリストです。 ここで、 .I rev2 と .I rev3 は(シンボリックまたは数字の)リビジョン番号です。 以下の説明で、 .I rev1 は以下のリビジョンを示します: (1) joinlist に列挙さ れた対のうち、最初のものは、上記の .BR \-f , \&.\|.\|., .B \-w オプションによって選択されたリビジョンです。 (2) それ以外の対に対しては、直前の対から作成されたリビジョン (すなわち、1 つの対によって作成されたリビジョンは次の結合 のための入力となります)。 .PP それぞれの対に対して、 .B co は .I rev1 と .I rev3 を .I rev2 と比較しながら結合します。つまり、 .I rev2 を .I rev1 と同一にするための変更を、 .I rev3 のコピーに対して適用します。 .I rev2 を同一の祖先とする 2 つの枝の末端のリビジョン .I rev1 と .I rev3 を結合するのによく用いられます。もし、3 つのリビジョンが同一の 枝上にあり、リビジョン番号が .IR rev1 < rev2 < rev3 ならば、結合の結果は、 .I rev3 の内容のうち、 .I rev1 から .I rev2 への変更を無効にしたものになります。 もし、 .I rev2 から .I rev1 への変更が .I rev2 から .I rev3 への変更と重複している なら、 .B co は .BR merge (1) に示したような報告を行います。 .PP 最初に指定する対では .I rev2 を省略することができます。この場合は、 .I rev1 と .I rev3 の共通の祖先 .ig /*?-> 共通の祖先リビジョン以外に言いかたを思いつきません 共通の祖先リビジョンで良いと思います(horikawa@jp.freebsd.org) 共通の祖先リビジョン | | | revX rev3 revY | rev1 */ .. リビジョンを .I rev2 として使用します。もし、いずれかの引数 がリビジョンではなく枝を示しているなら、その枝上の最新のリビジョンが用 いられます。同時に .B \-l オプションや .B \-u オプションを指定すると、 .I rev1 がロックまたはロック解除されます。 .RE .TP .BI \-V \*r's のバージョン番号を表示します。 .TP .BI \-V n バージョン .I n の \*r システムの動作をエミュレートします。 .I n は .BR 3 , .BR 4 , .B 5 のいずれかです。これは、古い \*r を使っているユーザと \*r ファイルを交 換するときに便利です。使用している \*r がどのバージョンかを調べるには、 .BR "rcs \-V" を実行します; これは最近のバージョンの \*r では動作します。 これが動作しない場合は適当な \*r ファイルに対して .B rlog を起動します; 最初の数行に文字列 .B branch: がなければ、それはバージョン 3 です; また、日付に現れる年が 2 桁の数字ならば、それはバージョン 4 です; どちらでもなければ、バージョン 5 です。 \*r バージョン 3 をエミュレートして作成された \*r ファイルからはデフォルト 枝の情報が失われます。 バージョン 4 またはそれ以前のバージョンをエミュレートして作成された リビジョンは、最大 13 時間ずれた日付を持つことになります。 バージョン 4 またはそれ以前のバージョンをエミュレートして取り出された ファイルには .IB yy / mm / dd 形式の日付がキーワード中に展開されます。また、 .B $\&Log$ キーワードでは空白の入り方が異なります。 .TP .BI \-x "suffixes" \*r ファイルの拡張子として .I suffixes を使用します。詳細は .BR ci (1) を参照して下さい。 .TP .BI \-z zone キーワード置換での日付の出力書式の指定を行い、また、 .BI \-d date オプションでの .I date のデフォルトのタイムゾーンの指定を行います。 .I zone は、省略する事も、UTC からの数値差で指定する事も、特別な文字列 .B LT を使ってローカル時間で指定する事もできます。 デフォルトでは .I zone は空であり、 この場合は伝統的な \*r フォーマット、 すなわちタイムゾーン無しの \*u であり日付をスラッシュで区切ります; そうでない場合は時刻はタイムゾーン付の \*i 8601 フォーマットです。 例えば、ローカルタイムが 1990 年 1 月 11 日 太平洋標準時間 (\*u の 8 時間西)午後 8 時の場合、時間の出力は次のようになります: .RS .LP .RS .nf .ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u .ne 4 \f2オプション\fP\f2時刻の出力\fP \f3\-z\fP \f31990/01/12 04:00:00\fP \f2(デフォルト)\fP \f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP \f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP .ta 4n +4n +4n +4n .fi .RE .LP .B \-z オプションは \*r ファイルに格納されている日付(常に \*u です)には影響しません。 .RE .SH "キーワード置換" テキスト中に存在する .BI $ keyword $ または .BI $ keyword : .\|.\|. $ 形式の文字列は、 .BI $ keyword : value $ 形式の文字列に置換されます。 .I keyword と .I value の対については後述します。キーワードはリテラルな文字列として、あるいは リビジョンを特定するためのコメントとして埋められることがあります。 .PP まず、ユーザは .BI $ keyword $ なる形式の文字列を入力します。 チェックアウト時に、 .B co はこの文字列を .BI $ keyword : value $ に置換します。 .BI $ keyword : value $ 形式の文字列を含むものがチェックインされた場合、 .I value の部分は次にチェックアウトされたときに新たな値に置換されます。 このように、チェックアウトを行うごとにキーワードの値は 更新されていきます。この自動更新は .B \-k オプションにより変更することができます。 .PP キーワードの種類とその値: .TP .B $\&Author$ リビジョンを登録したユーザのログイン名。 .TP .B $\&Date$ リビジョンが登録された日時。 .BI \-z zone を指定した場合、数値によるタイムゾーンオフセットが追加されます; 指定しない場合は、日時は \*u です。 .TP .B $\&Header$ 標準的なヘッダ。\*r ファイルのフルパス名、リビジョン番号、日時、作者、 状態、ロック者(ロックされている場合)が含まれます。 .BI \-z zone を指定した場合、数値によるタイムゾーンオフセットが追加されます; 指定しない場合は、日時は \*u です。 .TP .B $\&Id$ .B $\&Header$ とほぼ同様です。\*r ファイル名はパスをつけずに埋め込まれます。 .TP .B $\&Locker$ リビジョンをロックしたユーザのログイン名(ロックされていない場合は空です)。 .TP .B $\&Log$ チェックイン時に与えたログメッセージ。その前に、\*r ファイル名、リビジョン 番号、作者、日時が埋め込まれます。 .BI \-z zone を指定した場合、数値によるタイムゾーンオフセットが追加されます; 指定しない場合は、日時は \*u です。 すでに埋め込まれているログメッセージは変更 .I されません。 新たなログメッセージのみが .BR $\&Log: .\|.\|. $ のあとに追加されます。 ソースファイルの完全なログを記録するときに便利です。 .RS .LP 挿入される行の前には .B $\&Log$ の行の前のプレフィックス文字列が付きます。例えば、 .B $\&Log$ の行が .RB \*(lq "//\ $\&Log: tan.cc\ $" \*(rq である場合、ログの各行の前の \*r プレフィックスは .RB \*(lq "//\ " \*(rq となります。 これはコメントが行末まで及ぶ言語にて便利です。 別の言語に対しては、複数行コメント内部にて .RB \*(lq " \(** " \(rq プレフィックスを使用するのが慣例です。 例えば、C プログラムの最初のログのコメントは慣例的に以下の形式です: .RS .LP .nf .ft 3 .ne 3 /\(** .in +\w'/'u \(** $\&Log$ \(**/ .in .ft .fi .RE .LP 古いバージョンの \*r とのバックワードコンパチビリティのため、 ログのプレフィックスが .B /\(** または .B (\(** でありオプションの空白で囲まれている場合、挿入されるログの行は .B / や .B ( の代わりに空白が用いられます; しかしこの使用方法は古くさく、この動作に依存してはなりません。 .RE .TP .B $\&Name$ 存在する場合、リビジョンをチェックアウトするために使用したシンボリック名。 例えば .B "co\ \-rJoe" は .B "$\&Name:\ Joe\ $" を生成します。 単に .B co を指定した場合は、 .B "$\&Name:\ \ $" となります。 .TP .B $\&RCSfile$ パス名を含まない \*r ファイル名。 .TP .B $\&Revision$ リビジョン番号。 .TP .B $\&Source$ \*r ファイルのフルパス名。 .TP .B $\&State$ リビジョンに .BR rcs (1) か .BR ci (1) の .B \-s オプションにより割り付けられた状態。 .PP キーワード文字列の体裁を整えるために、 以下の文字をキーワード中に用いるには、 エスケープシーケンスを使用します。 .LP .RS .nf .ne 6 .ta \w'newline 'u \f2文字 エスケープシーケンス\fP tab \f3\et\fP newline \f3\en\fP space \f3\e040 $ \e044 \e \e\e\fP .fi .RE .SH "ファイルモード" ワークファイルは、\*r ファイルの読み込みと実行の許可属性を受け継ぎます。 さらに、ユーザに対する書き込み権が設定されます。 .B \-kv オプションが設定されている場合と、厳格ロックモード( .BR rcs (1) 参照)にてロックせずに取り出した場合は、書き込み権が設定されません。 .PP すでに、ワークファイルと同名の書き込み可能なファイルが存在していると、 .B co は取り出しを中断し、もし可能ならば削除するかどうかを問い合わせます。 もし、すでに存在するファイルが書き込み禁止であったり、 .B -f オプションが 指定されていた場合には、問い合わせを行わずに削除します。 .SH 関連ファイル .B co は .B ci とほぼ同じくらいのファイルにアクセスします。ただし、 .B $ が指定されていなければワークファイルを読むことはありません。 .SH 環境変数 .TP .B \s-1RCSINIT\s0 本変数に空白で区切ったオプションを設定することで、 コマンドライン引数に先立って処理されます。 詳しくは .BR ci (1) を参照してください。 .SH 診断 \*r パス名、ワークファイルパス名、 取り出されるリビジョンの番号を診断出力します。 全ての処理が成功した場合のみ、終了ステータス 0 を返します。 .SH 作者 Author: Walter F. Tichy. .br Manual Page Revision: \*(Rv; Release Date: \*(Dt. .br Copyright \(co 1982, 1988, 1989 Walter F. Tichy. .br Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert. .SH 関連項目 rcsintro(1), ci(1), ctime(3), date(1), ident(1), make(1), rcs(1), rcsclean(1), rcsdiff(1), rcsmerge(1), rlog(1), rcsfile(5) .br Walter F. Tichy, \*r\*-A System for Version Control, .I "Software\*-Practice & Experience" .BR 15 , 7 (July 1985), 637-654. .SH 制限事項 \*r ファイル、ワークファイルのリンクは保存されません。 .PP キーワードを .B "$\&keyword:$" 以外の形式に書換える以外に、一部のキーワードの みを展開させる方法がありません。nroff や troff ではキーワード中にヌル文字 .B \e& を埋め込むことにより展開を防ぐことができます。 .br diff --git a/ja_JP.eucJP/man/man1/date.1 b/ja_JP.eucJP/man/man1/date.1 index 668f57bc2f..62290efd65 100644 --- a/ja_JP.eucJP/man/man1/date.1 +++ b/ja_JP.eucJP/man/man1/date.1 @@ -1,316 +1,316 @@ .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" the Institute of Electrical and Electronics Engineers, Inc. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)date.1 8.2 (Berkeley) 11/17/93 -.\" %Id: date.1,v 1.25 1998/05/13 07:56:44 phk Exp % +.\" %Id: date.1,v 1.26 1999/01/13 07:01:07 danny Exp % .\" jpman %Id: date.1,v 1.2 1997/03/31 23:25:55 mutoh Stab % .\" .Dd November 17, 1993 .Dt DATE 1 .Os .Sh 名称 .Nm date .Nd 日付と時刻の表示、設定 .Sh 書式 .Nm date .Op Fl nu .Op Fl d Ar dst .Op Fl r Ar seconds .Op Fl t Ar minutes_west .Op Fl v Ns Ar [+|-]val Ns Op ymwdHM .Ar ... .Op Fl f Ar fmt Ar date | [[[[yy]mm]dd]HH]MM[\&.ss] .Op Cm + Ns Ar format .Sh 解説 引数なしで実行すると、 .Nm は現在の日付と時刻を表示します。 引数を与えると、ユーザが定義したフォーマットに従った日付や時刻の表示、 あるいは日時の設定を行います。 なお、日付と時刻を設定できるのはスーパーユーザだけです。 .Pp オプション: .Bl -tag -width Ds .It Fl d 夏時間用のカーネル値を設定します。もし .Ar dst が 0 でなければ、そのあとの .Xr gettimeofday 2 呼び出しでは .Ql tz_dsttime に 0 以外の値が返ります。 .It Fl f デフォルトの .Ar [[[[yy]mm]dd]HH]MM[.ss] フォーマットの代りに .Ar fmt を、時刻をパーズするフォーマットとして使用します。 .Xr strptime 3 を使用してパーズします。 .It Fl n .Xr timed 8 を利用して、グループ内のマシン間で時計を同期させます。 .Xr timed が動作している場合、デフォルトでは .Nm コマンドによりグループ内のすべてのマシンの時刻が変更されます。しかし、 .Fl n オプションを指定した場合には、他のマシンの時刻は変更しません。 .It Fl r エポック (1970年1月1日) から .Ar seconds 秒経過した日時を表示します。 .It Fl t カーネルに .Tn GMT (グリニッジ標準時) からの時差を設定します。このあとに呼ばれる .Xr gettimeofday 2 では、ここで指定された値が .Ql tz_minuteswest に入ります。 .It Fl u .Tn UTC (協定世界時) の日付を表示、設定します。 .\" 訳注(Mar.1996):UTC (Universal Time Coordinate) .It Fl v 分、時、日、曜日、月、年のいずれかを .Ar val にもとづき修正します。 .Ar val の前にプラスもしくはマイナスが付いている場合、 時刻はそれに従い前後に修正されます。 そうでない場合は、指定した部分が設定されます。 必要なら任意個このフラグを指定して時刻を修正することが出来ます。 フラグは指定した順序に処理されます。 .Pp 分の範囲は 0-59、時の範囲は 1-12、日の範囲は 1-31、曜日の範囲は 0-6 (Sun-Sat)、月の範囲は 1-12 (Jan-Dec)、 年の範囲は 80-38 もしくは 1980-2038 です。 .Pp .Ar val が数値の場合、 .Ar y , .Ar m , .Ar w , .Ar d , .Ar H , .Ar M のいずれかを使用して、時刻のどの部分を修正するのかを指定する必要があります。 .Pp 曜日もしくは月は数値の代りに名前で指定可能です。 名前と共にプラス(もしくはマイナス)記号を使用した場合、 日付は適合する次の(前の)曜日もしくは月に進みます(戻ります)。 曜日もしくは月が現在のものと変らない場合、日は修正しません。 .Pp 詳細に関しては、下記の例を参照して下さい。 .El .Pp プラス (``+'') で始まるオプションは、日付と時刻の表示方法を指定する フォーマット文字列です。フォーマット文字列には、 .Xr strftime 3 で記述されているような変換文字列と、任意のテキストを含むことができます。 フォーマット文字列によって指定された文字の後には、つねに改行文字が 出力されます。 .Nm のデフォルトの表示形式は、 .Bd -literal -offset indent ``+%+'' .Ed .Pp としたものと同じです。 .Pp もし、引数が``+''記号で始まる文字列でなければ、それはシステムに 日時を設定するための値と解釈されます。日時を設定するための正式な 表現は以下のとおりです: .Pp .Bl -tag -width Ds -compact -offset indent .It Ar yy 西暦の省略表現です。西暦の 10の位と 1 の位です(1989年なら89、06なら2006)。 .It Ar mm 月の数字表現です。1から12までの数字です。 .It Ar dd 日です。1から31までの数字です。 .It Ar HH 時です。0から23までの数字です。 .It Ar MM 分です。0から59までの数字です。 .It Ar .ss 秒です。0から61までの数字です。 (59 秒 + 2 秒までのうるう秒) .El .Pp 分の指定以外はすべて省略可能です。 .Pp 夏時間と標準時の切り替えや、閏秒や閏年の取り扱いは自動的に行われます。 .Pp .Sh 使用例 以下のコマンド: .Bd -literal -offset indent -date "+DATE: 19%y-%m-%d%nTIME: %H:%M:%S" +date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S" .Ed .Pp は、下のような表示を行ないます。 .Bd -literal -offset indent DATE: 1987-11-21 TIME: 13:36:16 .Ed .Pp 以下のコマンド: .Pp .Bd -literal -offset indent date -v1m -v+1y .Ed .Pp は以下を表示します: .Bd -literal -offset indent Sun Jan 4 03:15:24 GMT 1998 .Ed .Pp (現在 Mon Aug 4 04:15:24 BST 1997 の場合)。 .Pp 以下のコマンド: .Bd -literal -offset indent date -v1d -v3m -v0y -v-1d .Ed .Pp は 2000 年 2 月の最後の日を表示します: .Bd -literal -offset indent Tue Feb 29 03:18:00 GMT 2000 .Ed .Pp 以下のコマンド: .Bd -literal -offset indent date -v1d -v+1m -v-1d -v-fri .Ed .Pp は今月最後の金曜日を表示します: .Bd -literal -offset indent Fri Aug 29 04:31:11 BST 1997 .Ed .Pp (現在 Mon Aug 4 04:31:11 BST 1997 の場合)。 .Pp 以下のコマンド: .Bd -literal -offset indent date 8506131627 .Ed .Pp は、 .Dq Li "1985年6月13日午後4時27分" に日時を設定します。 .Pp 以下のコマンド: .Pp .Bd -literal -offset indent date 1432 .Ed .Pp は、日を修正することなく、時だけを .Li "午後2時32分" に設定します。 .Sh 環境変数 .Nm の実行は以下の環境変数の影響を受けます. .Bl -tag -width Ds .It Ev TZ 日時を表示する際に用いられるタイムゾーンを設定します。 通常のフォーマットは .Pa /usr/share/zoneinfo からの相対パス名です。例えば、コマンド .Dq TZ=America/Los_Angeles date はカリフォルニアの現在の時刻を表示します。 詳しいことは、 .Xr environ 7 を参照してください。 .El .Sh 関連ファイル .Bl -tag -width /var/log/messages -compact .It Pa /var/log/wtmp 日付のリセットおよび時刻変更の記録がこのファイルに残されます。 .It Pa /var/log/messages 日付を変更したユーザの記録がこのファイルに残されます。 .El .Sh 関連項目 .Xr gettimeofday 2 , .Xr strftime 3 , .Xr strptime 3 , .Xr utmp 5 , .Xr timed 8 .Rs .%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD" .%A R. Gusella .%A S. Zatti .Re .Sh 診断 成功した場合は 0 を、日時を設定できなかった場合は 1 を、 ローカルマシンの設定はできたが、グループのマシン全体の設定に失敗した 場合は2を返します。 .Pp timed が多数のマシンの時計をあわせる場合には、新しい時刻のセットに 数秒かかることがあります。このとき .Nm は、 .Ql Network time being set と表示します。 .Nm と .Xr timed との間で通信に失敗した場合は、 .Ql Communication error with timed が表示されます。 .Sh バグ システムは .Tn VMS と高い互換性を持つフォーマットで日時を保持しようとしています。しかし、 .Tn VMS は .Tn GMT ではなくローカルな時刻を使っており、夏時間を理解しません。そのため、 .Tn UNIX と .Tn VMS を同時に使う場合は、 .Tn VMS を .Tn GMT で使うべきでしょう。 .Sh 規格 .Nm コマンドは .St -p1003.2 互換であると想定しています。 .Sh 歴史 .Nm date コマンドは .At v1 から導入されました。 diff --git a/ja_JP.eucJP/man/man1/fetch.1 b/ja_JP.eucJP/man/man1/fetch.1 index e77cbbc7bc..bde304ed2f 100644 --- a/ja_JP.eucJP/man/man1/fetch.1 +++ b/ja_JP.eucJP/man/man1/fetch.1 @@ -1,371 +1,400 @@ -.\" %Id: fetch.1,v 1.26 1998/12/08 13:00:48 cracauer Exp % +.\" %Id: fetch.1,v 1.27 1999/01/15 16:56:22 wollman Exp % .\" jpman %Id: fetch.1,v 1.4 1997/08/15 06:31:28 horikawa Stab % -.Dd July 2, 1996 +.Dd January 15, 1999 .Dt FETCH 1 -.Os FreeBSD 2.2 +.Os FreeBSD 3.1 .Sh 名称 .Nm fetch .Nd URL(Uniform Resource Locator)形式でのファイルの取得 .Sh 書式 .Nm fetch .Op Fl MPablmnpqrtv .Op Fl S Ar size .Op Fl T Ar timeout .Op Fl o Ar file .Ar URL .Op Ar ... .Nm fetch .Op Fl MPRlmnpqrv .Op Fl S Ar size .Op Fl o Ar file .Op Fl c Ar dir .Fl f Ar file .Fl h Ar host .Sh 解説 .Nm fetch は、 .Tn FTP もしくは .Tn HTTP プロトコルを使ってネットワークの遠隔サイトから、ファイルの転送を 行います。コマンドの最初の書式の .Ar URL は、 .Li http://site.domain/path/to/the/file もしくは、 .Li ftp://site.domain/path/to/the/file の形式をしています。 複製もしくはリンクされる(以下の .Fl l フラグを参照)ローカルでのファイル名を指定するために、 .Em file:/path/to/the/file という URL 形式が使えます。後述の URL 文法を参照してください。 .Pp コマンドの 2 番目の形式は、 ファイル名と遠隔ホスト名を .Fl h と .Fl f フラグで指定して、 .Tn FTP プロトコルを使ってファイルを取得するために使われます。 .Pp 以下のオプションが使用可能です。 .Bl -tag -width Fl .It Fl a ソフト上での失敗の場合に自動的に転送を再試行します。 .It Fl b .Tn TCP プロトコルを正しく実装していない .Tn HTTP サーバのバグ対応を行います。 .It Fl c Ar dir 遠隔ホストの .Ar dir ディレクトリのファイルを取得します。 .It Fl f Ar file 遠隔ホストの .Ar file という名前のファイルを取得します .It Fl h Ar host ホスト名が .Ar host にあるファイルを取得します。 .It Fl l 目標が .Ar file:/ 形式のURLだった場合、目標を複製しようとするのではなく、 リンクを作成します。 .It Fl M .It Fl m ミラーモード: ファイルの変更時間を遠隔ホストの変更時間と同じに 設定します。ローカルホストにファイルが既に存在しサイズと 変更時間が同じである場合、転送は行われません。 .It Fl n 転送されるファイルの変更時間を保存せず、現在の時間を使います。 .It Fl o Ar file 出力ファイル名を .Ar file にします。 デフォルトでは、``パス名''が指定された URI から取り出され、その ベースネームが出力ファイルの名前として使われます。 .Ar file 引数として .Sq Li \&- を与えると、結果は標準出力に出力されます。 .It Fl P .It Fl p .Tn FTP プロトコルをパッシブモードで使います。これは、防火壁 (firewall) を跨いだ場合に有効です。 .It Fl q 沈黙モード。端末に転送の進行状態を報告しません。 .It Fl R 転送が失敗もしくは不完全であった時でさえ、与えられたファイル名は ``大事にされ''、どんな状況下でもファイル名は消去されません. .It Fl r 以前に中断された転送を再開します。 .It Fl S Ar bytes .Tn FTP もしくは .Tn HTTP のサーバに対してファイルサイズを報告するよう要求し、 本オプションにより指定される値と比較します。 合致しない場合、メッセージが表示され、ファイルは取得されません。 サーバがファイルサイズの報告をサポートしない場合、 本オプションは無視され、ともかくファイルは取得されます。 前もってファイルサイズが分かる場合、 不完全なファイルもしくは誤ったバージョンのファイルを .Nm がダウンロードするのを防ぐために有用です。 .It Fl s サーバにファイルサイズ (バイト) を尋ね、これを標準出力に出力します。 実際のファイル取得は行いません。 .It Fl T Ar second タイムアウト時間を .Ar second 秒に設定します。 ftp での転送に対しては .Ev FTP_TIMEOUT 環境変数が、 http での転送に関しては .Ev HTTP_TIMEOUT 環境変数が,設定されていた場合は、それを上書きします。 .It Fl t 別のバグがある .Tn TCP 実装に対する対処を行います。 .It Fl v 冗長性を増加させます。 複数の .Fl v を指定することで、より情報が得られるようになります。 .El .Pp 多くのオプションは、環境によってのみ制御されます (これはバグです)。 .Sh URL 文法 .Nm は、RFC1738 に記述されている .Tn http および .Tn ftp の URL を受け付けます。 .Tn ftp の URL ではユーザ名とパスワードを指定可能であり、 .Li ftp://user:password@host/ という文法で指定します。 パスがユーザのホームディレクトリの相対指定ではなく、絶対指定の場合には、 パスを %2F で開始する必要があり、 .Li ftp://root:mypass@localhost/%2Fetc/passwd のように指定します。 .Sh プロキシサーバ 防火壁の中の多くのサイトは、信用できるプロトコルで防火壁を通して 通信を行なうためにアプリケーションゲートウェイ( ``プロキシサーバ'' ) を利用します。 .Nm プログラムは、プロキシサーバを使った .Tn FTP と .Tn HTTP プロトコルの両方を利用可能です。 .Tn FTP プロキシサーバは .Tn FTP の要求だけを取り次ぎ、 .Tn HTTP プロキシサーバは .Tn FTP と .Tn HTTP の両方の要求を取り次ぎます。 プロキシサーバは、環境変数 .Dq Va PROTO Ns Ev _PROXY を定義することで設定されます。 ここで、 .Va PROTO はプロトコルの名前で、英大文字で記述します。 環境変数の値には、ホスト名と必要ならばコロン (:) に続けてポート番号を 指定します。 .Pp .Tn FTP プロキシクライアントは、 .Do Va remoteuser Ns Li \&@ Ns Va remotehost .Op Li \^@ Ns Va port .Dc という形式の ホスト名とポート番号を遠隔地のユーザ名として送ります。 .Tn HTTP プロキシクライアントは、 .Tn HTTP .Dq Li GET 要求を出した時に、単純に要求を出した元の URI を遠隔サーバに送ります。 HTTP プロキシによる認証は、いまはまだ実装されていません。 .Sh HTTP による認証 .Tn HTTP プロトコルは、さまざまな種類の認証方法の提供を含んでいます。 現在、 .Nm fetch がサポートしている方式は .Dq basic 方式だけです。 この方法は、パケットの盗み見や人間が間に介在した攻撃にはセキュリティを 提供しません。 認証は、 .Ev HTTP_AUTH と .Ev HTTP_PROXY_AUTH 環境変数を設定することで可能となります。 両環境変数は、次のような同じ形式をしています。 空白で区切られたパラメータの設定リストからなり、個々の設定はコロンで 分けられたパラメータのリストからなります。最初の二つのパラメータはいつも ( 大文字でも小文字でも構わない ) 認証方法名と認証が行われる範囲です。 認証範囲が .Sq Li \&* の形式で指定されている時、他に指定されていない全ての範囲とみなされます。 .Pp .Li basic 認証方式は、二つのオプションのパラメータを利用します。 一つ目はユーザ名で、 2 番目はそれに付けられたパスワードです。 環境でパスワードもしくは両方のパラメータが指定されていなく、 .Nm の標準入力が端末である時には、 .Nm は欠けているパラメータの入力をユーザにうながします。 したがって、ユーザが .Dq Li jane で .Dq Li WallyWorld 範囲の認証で、パスワードが .Dq Li QghiLx79 であるなら、彼女は .Ev HTTP_AUTH 環境変数を以下のように設定します。 .Bl -enum -offset indent .It .Dq Li basic:WallyWorld:jane:QghiLx79 .It .Dq Li basic:WallyWorld:jane .It .Dq Li basic:WallyWorld .El .Pp .Nm は欠けている情報が必要な場合は、尋ねてきます。 彼女は、認証範囲を .Dq Li WallyWorld と指定する代わりに、 .Dq Li \&* と指定することで、どんな範囲でも認証を行うことを示せます。 これは、 .Dq Li basic:* の様なもっとも一般的に使われる設定です。 この設定は、 .Nm にどんな認証範囲であっても .Li basic 認証を行わせることを指示します。 .Sh エラー .Nm は成功した時は 0 を返します。 また、失敗した場合には、 .Aq Pa sysexits.h で定義される 0 でない値が返されます。 複数の URI が再試行のために与えられた時、 .Nm は全てを試して、全て成功した場合だけ 0 を返します (それ以外の場合は、最後の失敗のエラーを返します)。 .Sh 環境変数 .Bl -tag -width FTP_PASSIVE_MODE -offset indent .It Ev FTP_TIMEOUT .Tn FTP 接続を中断するまでの最大時間を秒で指定します。 .It Ev FTP_LOGIN .Tn FTP 転送で使われるログイン名です。 デフォルトは ``anonymous'' が使われます。 .It Ev FTP_PASSIVE_MODE パッシブモードで FTP を行います。 .It Ev FTP_PASSWORD .Tn FTP 転送で使われるパスワードです。 デフォルトは .Dq Va yourname Ns Li \&@ Ns Va yourhost です。 .It Ev FTP_PROXY .Tn FTP を理解するプロキシサーバのアドレスを .Do Va hostname Ns .Op Li : Ns Va port .Dc の形式で与えます。 .It Ev HTTP_AUTH .Tn HTTP 認証パラメータを定義します。 .It Ev HTTP_PROXY .Tn HTTP を理解するプロキシサーバのアドレスを .Do Va hostname Ns .Op Li : Ns Va port .Dc の形式で与えます。 .It Ev HTTP_PROXY_AUTH .Tn HTTP プロキシサーバのための認証パラメータを定義します。 .It Ev HTTP_TIMEOUT .Tn HTTP 接続を中断するまでの最大時間を秒で指定します。 .Sh 関連項目 .Xr ftp 1 , .Xr tftp 1 +.Rs +.%A R. Fielding +.%A J. Gettys +.%A J. Mogul +.%A H. Frystyk +.%A T. Berners-Lee +.%T "Hypertext Transfer Protocol \-\- HTTP/1.1" +.%O RFC 2068 +.%D January 1997 +.Re .Sh 歴史 .Nm fetch コマンドは .Fx 2.1.5 から導入されました。 .Sh 作者 .Nm のオリジナル実装は .An Jean-Marc Zucconi が行いました。 .Fx 2.2 のために、拡張を行ったのは .An Garrett Wollman です。 .Sh バグ たくさんの環境変数とコマンドラインオプションがあります。 .Pp .Fl a オプションは、ある種類の .Tn HTTP の接続失敗のために実装されており、 .Tn FTP の接続失敗のためではありません。 .Pp .Tn HTTP のために、 .Dq basic 認証モードだけが実装されています。 これは、ダイジェスト認証に置き換えられるべきものです。 .Pp ( .Tn FreeBSD 以外の) 実装には、データが含まれるパケットに .Dv SYN や .Dv FIN の制御フラグが含まれている状況を正しく実装していないものがあります。 .Sq Fl t フラグは後者に対する対処を行い、 .Sq Fl b フラグは前者に対する対処を行います。 これらはサーバの .Tn TCP スタックのエラーですから、我々ができる最良の解はこれらの対処です。 正しいサーバとの通信の場合には、 .Fl t および .Fl b を含まない最良の .Tn HTTP 転送が実現されます。 (少ない返答の場合) ラウンドトリップ回数は最小の 2 回となり、 他の実装よりも 1 回少なくなります。 +.Pp +.Tn HTTP +標準は、 +.Tn RFC 850 +の日付書式解釈を要求しますが、この書式は世紀情報を提供しません。 +.Fx 3.1 +以前のバージョンの +.Nm fetch +は、そのような日付を 1900 年代と解釈します。 +このバージョンの +.Nm fetch +は、そのような日付を +.Tn RFC 2068 +にある次の規則に従って解釈します: +.Bd -literal -offset indent + o HTTP/1.1 クライアントおよびキャッシュは、50 年より先の未来の + RFC-850 形式の日付を、実際は過去の日付であると解釈すべきです + (これが「2000 年問題」解決の助けになります)。 +.Ed diff --git a/ja_JP.eucJP/man/man1/gctags.1 b/ja_JP.eucJP/man/man1/gctags.1 index 57c6f57ed2..ba7431b1a8 100644 --- a/ja_JP.eucJP/man/man1/gctags.1 +++ b/ja_JP.eucJP/man/man1/gctags.1 @@ -1,236 +1,142 @@ -.\" Copyright (c) 1987, 1990, 1993 -.\" The Regents of the University of California. All rights reserved. +.\" +.\" Copyright (c) 1996, 1997, 1998 Shigio Yamaguchi. 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. +.\" This product includes software developed by Shigio Yamaguchi. .\" 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. .\" -.\" @(#)gctags.1 8.1 (Berkeley) 6/6/93 .\" jpman %Id: gctags.1,v 1.3 1997/08/31 14:13:32 horikawa Stab % .\" .\" gctags.1 修正時には ctags.1 も同様に修正して下さい。 .\" Aug 31 1997 -.Dd April 21, 1997 +.Dd Aug 19, 1998 .Dt GCTAGS 1 .Os BSD 4 .Sh 名称 .Nm gctags -.Nd タグファイルを作成する (GLOBAL 用の特別なコマンド) +.Nd gtags 用のクロスリファレンスを表示する .Sh 書式 .Nm gctags -.Op Fl BDFacderstuvwx -.Op Fl f Ar tagsfile -.Ar name ... +.Op Fl b +.Op Fl e +.Op Fl n +.Op Fl r +.Op Fl s +.Op Fl w +.Ar file ... .Sh 解説 .Nm -は、指定された C, Pascal, Fortran, +は、指定された C, .Tn YACC , -lex, lisp, アセンブリのソースから、 -.Xr ex 1 +.Tn JAVA +そしてアセンブリのソースから、 +.Xr gtags 1 コマンド用のタグファイルを作成します。 -タグファイルは、指定されたオブジェクトが一群のファイル中の -どの場所にあるかを示すものです。 -タグファイルの各行はオブジェクトの名前、定義されているファイル、 -オブジェクトの定義を見つけるための検索パターンを含み、 +出力の各行はオブジェクトの名前、出現する行番号、定義されているファイル、 +行のイメージを含み、 各々は空白で区切られています。 -この -.Ar tags -ファイルを用いることにより、 -.Xr ex 1 -でこれらのオブジェクトが定義されている場所をすばやく見つけることが -できます。 +オプション -x を付けると、 +.Xr ctags 1 +の出力と同じになります。 .Nm に与えられるオプションによりますが、オブジェクトは -subroutine 、 typedef 、 define 、 struct 、 enum 、 union から +関数定義、関数参照、他のシンボルから 構成されます。 +本コマンドが、GLOBAL ソースコードタグシステムのデフォルトのパーザです。 .Bl -tag -width Ds -.It Fl B -後方検索パターン -.Pq Li ?...? -を用います。 -.It Fl D -同じオブジェクトの名前が複数回出てくるのを許可します。 -.It Fl F -前方検索パターン -.Pq Li /.../ -を用います(デフォルト)。 -.It Fl a -既存の -.Ar tags -ファイルに追加します。 -.It Fl c -コンパクトフォーマットで表示します。 -.Fl x -オプション指定時にのみ有効です。 -.It Fl d -引数を持たない -.Li #define -に関してもタグを作成します。引数を持つ -.Li #define -は自動的にタグが作成されます。 +.It Fl b +1 桁目に '{' が出てきたときに、強制的にレベル 1 ブロックの開始と判断します +(C 言語のみ)。 .It Fl e -一桁目に '}' が出てきたときに、強制的に関数の終わりと判断します -( C 言語のみ ) 。 -.It Fl f Ar tagsfile -.Ar tagsfile -で指定されたファイル名でタグファイルを生成します。 -デフォルトでは -.Ar tags -というファイル名でタグファイルを生成します。 +1 桁目に '}' が出てきたときに、強制的にレベル 1 ブロックの終りと判断します +(C 言語のみ)。 +.It Fl n +タグの出力を抑止します。 +.Fl w +オプションと共に使用する場合に有用です。 .It Fl r 関数定義ではなく関数参照の位置を提供します。 カレントディレクトリに GTAGS ファイルが必要となります -( C 言語のみ ) 。 +(C 言語と Java 言語のみ)。 +デフォルトでは、関数の定義の位置を見付けます。 .It Fl s -関数以外のシンボルを集めます。 -.It Fl t -typedef, struct, union, enum 宣言のタグを生成します。 -.It Fl u -.Ar tags -ファイル内の指定されたファイルに関する情報を更新します。 -すなわち、関係するファイルへのすべての参照が削除され、新しいタグ情報が -ファイルに追加されます。 -(注意: このオプションはあまりスピードのでないような実装しか -おこなわれていません。単に -.Ar tags -ファイルを再構築した方が早く終了するでしょう。) -.It Fl v -.Xr vgrind 1 -形式のファイル一覧が標準出力に出力されます。 -この一覧はオブジェクト名、ファイル名、1 ページあたり 64 行とした場合の -ページ番号から構成されます。 -出力は辞書式の順番でソートされているので、この後に -.Xr sort 1 -を通した方がよいでしょう。次のように使います。 -.Bd -literal -offset indent -gctags \-v files \&| sort \-f > index -vgrind \-x index -.Ed +関数以外のシンボルを収集します。デフォルトでは、関数の定義の位置を見付けます。 .It Fl w -診断用メッセージを表示しないようにします。 -.It Fl x -.Nm -はオブジェクト名、行番号、ファイル名、その行の内容からなる一覧を作成し、 -それを標準出力に出力します。 -これはオフラインでも読みやすいように印刷できる簡単な関数一覧として -利用できます。 +警告メッセージを表示します。 .El .Pp +.Fl r +および +.Fl s +のオプションは、互いに優先し合います。 +最後に指定したものが、使用する方法を決定します。 +.Pp .Nm \&.c や .Nm \&.h で終わる名前のファイルは、 C 言語のソースファイルとみなされ、 C の形式の関数・マクロ定義が検索されます。 .Nm \&.y で終わる名前のファイルは、 .Tn YACC のソースファイルとみなされます。 -.Nm \&.l -で終わる名前のファイルは、最初の空白でない文字が `;' か `(' か `[' で -あれば lisp のファイルであるとみなされ、そうでなければ lex のファイルと -みなされます。 +.Nm \&.java +で終るファイル名のファイルは Java 言語ファイルとみなされます。 .Nm \&.s か .Nm \&.S で終るファイル名のファイルはアセンブリ言語ファイルとみなされます。 -その他のファイルは、まず Pascal か Fortran の定義が含まれるか -どうかがチェックされ、含まれない場合には C 形式の定義が検索されます。 +その他のファイルは、C 形式の定義が検索されます。 .Pp -C 言語の場合、 -.Li main -は特別に扱われ、元のソースファイルのパス名部分と末尾の -.Nm \&.c -の部分を取り除いたファイル名に対し、その先頭に -.Ar M -を付加したものをオブジェクト名とします。 -これにより、同じディレクトリに複数のプログラムがある場合でも -.Nm gctags -を実用的に使うことができます。 -.Pp -yacc と lex のファイルには特殊なタグがあります。 +yacc のファイルには特殊なタグがあります。 .Ar yyparse -は yacc ファイルの第二セクションの始まりを示し、 -.Ar yylex -は lex ファイルの第二セクションの始まりを示します。 -.Sh 関連ファイル -.Bl -tag -width tags -compact -.It Pa tags -デフォルトで出力されるタグファイル -.It Pa GTAGS -GLOBAL 用のタグファイル -.El +は yacc ファイルの第 2 セクションの始まりを示します。 .Sh 診断 .Nm はエラーが発生すると非 0 を返し、それ以外では 0 を返します。 同じ名前のオブジェクトが複数出てきてもエラーとはみなされません。 .Sh 関連項目 .Xr btreeop 1 , .Xr ex 1 , .Xr global 1 , .Xr gtags 1 , .Xr htags 1 , .Xr vi 1 . .Sh バグ -.Tn FORTRAN -と Pascal 用の -.Nm 関数(function) -、 -.Nm サブルーチン(subroutine) -、 -.Nm 手続き(procedure) -の認識にはとても単純な方法を用いています。 -ブロック構造が解釈できないので、異なるブロックに同じ名前の Pascal 手続きが -存在するとうまく動作しません。 -.Nm -は Pascal の型(type)も理解しません。 -.Pp -C か Pascal か -.Tn FORTRAN -かを判断する方法はとりあえず動いている、という程度のものです。 .Pp .Nm はきちんと整形された入力に頼っています。 また、ソースファイルに文法的な間違いがあると 簡単に混乱してしまいます。 -文法的に間違っていなくても混乱する場合があります。 -例えば、 -.Li #ifdef -を理解しないので(バグではなく仕様です)、 -.Li #ifdef -内に括弧のつりあっていないコードがあると混乱してしまいます。 -同様に、定義が複数行にわたっている場合、オブジェクトの先頭行ではなく -最終行が検索パターンにマッチします。 -複数行にわたる -.Li typedef -に関しても同様です。 .Pp アセンブリ言語サポートは完璧からは程遠く、 ソースファイルから ENTRY() と ALTENTRY() を取り出すだけです。 FreeBSD と Linux のカーネルソースでどうにか大丈夫なだけでしょう。 +.Sh 作者 +Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは FreeBSD 2.2.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man1/global.1 b/ja_JP.eucJP/man/man1/global.1 index 5c2849ad26..58000a1bef 100644 --- a/ja_JP.eucJP/man/man1/global.1 +++ b/ja_JP.eucJP/man/man1/global.1 @@ -1,173 +1,193 @@ .\" -.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved. +.\" Copyright (c) 1996, 1997, 1998 Shigio Yamaguchi. 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 Shigio Yamaguchi. .\" 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 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. .\" jpman %Id: global.1,v 1.3 1997/07/27 12:54:52 horikawa Stab % .\" -.Dd Nov 26, 1997 +.Dd Dec 8, 1998 .Dt GLOBAL 1 .Os BSD 4 .Sh 名称 .Nm global .Nd 指定したオブジェクトの位置を表示する .Sh 書式 .Nm global -.Op Fl alrvx +.Op Fl alnrtvx .Ar pattern .Nm global -c .Op Ar prefix .Nm global -.Fl f[arx] -.Ar file +.Fl f[anrtx] +.Ar files .Nm global -.Fl g[alvx] +.Fl g[alntvx] .Ar pattern .Nm global .Fl i[v] .Nm global .Fl p .Nm global -.Fl s[alvx] +.Fl P[alnt] +.Op Ar pattern +.Nm global +.Fl s[alntvx] .Ar pattern .Sh 解説 .Nm -は C や Yacc のソースファイル中から特定のオブジェクトの位置を見つけ出します。 +は C や Yacc や Java +のソースファイル中から特定のオブジェクトの位置を見つけ出します。 .Nm は、ソースツリー(サブディレクトリやソースファイルを持つディレクトリ)も 扱うことができます。 ツリー内のどこにあろうと、オブジェクトの相対パスを得ることができます。 .Nm は関数定義だけではなく、関数参照と他のシンボルの位置を把握します。 二重のエントリも取り扱うことができます。 .Pp このコマンドを使う前に、ソースツリーのルートディレクトリで .Xr gtags 1 を実行し、タグファイルを作成しなければなりません。 それから、 .Nm をソースツリー下のいかなる場所からでも実行可能です。 -.Pp -以下のオプションが使用可能です: +.Sh コマンド +次のコマンドを使用可能です: .Bl -tag -width Ds .It Ar pattern -オブジェクトパターン。POSIX 1003.2 の正規表現を使用可能です。 -.It Fl a -絶対パスで表示します。デフォルトでは相対パス名で表示します。 +.Ar pattern +にマッチするパターンを表示します。POSIX 1003.2 の正規表現を使用可能です。 .It Fl c Op Ar prefix 指定された .Ar prefix で始まる名前の関数の候補を表示します。 .Ar prefix が指定されない場合、すべての関数の名前を表示します。 -.It Fl f Ar file -.Ar file +.It Fl f Ar files +.Ar files の全関数定義を表示します。このオプションは -x オプションを暗黙的に指定します。 -.It Fl g -パターンにマッチする全行を表示します。 +.It Fl g Ar pattern +.Ar pattern +にマッチする全行を表示します。 +grep(1) に似ています。 .It Fl i -タグファイルをインクリメンタルに再構築します。 -.It Fl l -現在のディレクトリ下に存在するオブジェクトを表示します。 -.It Fl r -関数の参照場所を表示します。 -デフォルトでは、関数の定義場所を表示します。 +タグファイルを探して、インクリメンタルに再構築します。 .It Fl p GTAGS の位置を表示します。 -.It Fl s +.It Fl P Op Ar pattern +.Ar pattern +にマッチするパスを表示します。 +パターンを指定しないと、すべてを表示します。 +.It Fl s Ar pattern 関数名ではなく指定したシンボルの位置を表示します。 GSYMS タグファイルが必要です。 .Xr gtags 1 を参照してください。 +.Sh オプション +次のオプションを使用可能です: +.Bl -tag -width Ds +.It Fl a +絶対パスで表示します。デフォルトでは相対パス名で表示します。 +.It Fl l +現在のディレクトリ下に存在するオブジェクトを表示します。 +.It Fl n +ソートフィルタとパス変換フィルタを抑制します。 +.It Fl r +関数の参照場所を表示します。 +デフォルトでは、関数の定義場所を表示します。 +.It Fl t +標準の ctags フォーマットで表示します。 .It Fl x デフォルトの出力に加えて、行番号と行の内容を表示します。 .Sh 関連ファイル .Bl -tag -width tags -compact .It Pa GTAGS 関数定義に関するタグファイル。 .It Pa GRTAGS 関数参照に関するタグファイル。 .It Pa GSYMS 関数以外のシンボルのタグファイル。 +.It Pa GPATH +パスインデックス。インクリメンタル更新とコンパクトフォーマットで使用します。 .El .Sh 環境変数 以下の環境変数が global の実行に影響します。 .Pp .Bl -tag -width indent .It Ev GTAGSROOT ソースツリーのルートディレクトリです。 .It Ev GTAGSDBPATH gtags のデータベースが存在するディレクトリです。 この値は GTAGSROOT が定義されていない場合は無視されます。 .It Ev GTAGSLIBPATH この変数が設定されていると、ライブラリ関数を探すパスとして 用いられます。指定された関数がソースツリー内に見つからない場合、 global はこのパスも検索します。 .Sh 使用例 % ls -F Makefile src/ lib/ % gtags % global main src/main.c % global -x main main 10 src/main.c main (argc, argv) { % global -x '^[sg]et' set_num 20 lib/util.c set_num(values) get_num 30 lib/util.c get_num() { % global -rx '^[sg]et' set_num 113 src/op.c set_num(32); set_num 225 src/opop.c if (set_num(0) > 0) { get_num 90 src/op.c while (get_num() > 0) { % cd lib % global -rx '^[sg]et' set_num 113 ../src/op.c set_num(32); set_num 225 ../src/opop.c if (set_num(0) > 0) { get_num 90 ../src/op.c while (get_num() > 0) { % global strlen % (cd /usr/src/sys; gtags) % setenv GTAGSLIBPATH /usr/src/sys % global strlen ../../../usr/src/sys/libkern/strlen.c % (cd /usr/src/lib; gtags) % setenv GTAGSLIBPATH /usr/src/lib:/usr/src/sys % global strlen ../../../usr/src/lib/libc/string/strlen.c .Sh 診断 .Nm はエラーが発生すると 0 以外の値を、そうでなければ 0 を返します。 .Sh 関連項目 .Xr btreeop 1 , .Xr gtags 1 , .Xr htags 1 , .Xr vi 1 . .Sh 作者 Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは FreeBSD 2.2.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man1/gtags.1 b/ja_JP.eucJP/man/man1/gtags.1 index 74b7c1ceef..4d92e90f13 100644 --- a/ja_JP.eucJP/man/man1/gtags.1 +++ b/ja_JP.eucJP/man/man1/gtags.1 @@ -1,103 +1,110 @@ .\" -.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved. +.\" Copyright (c) 1996, 1997, 1998 Shigio Yamaguchi. 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 Shigio Yamaguchi. .\" 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 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. .\" jpman %Id: gtags.1,v 1.3 1997/07/27 12:57:00 horikawa Stab % .\" -.Dd Sep 12, 1997 +.Dd Oct 10, 1998 .Dt GTAGS 1 .Os BSD 4 .Sh 名称 .Nm gtags -.Nd GTAGS, GRTAGS, GSYMS ファイルを作成する +.Nd global 用のタグファイルを作成する .Sh 書式 .Nm gtags +.Op Fl c .Op Fl i .Op Fl o +.Op Fl w .Op Fl v .Op Ar dbpath .Sh 解説 .Nm は .Xr global 1 -で用いる GTAGS, GRTAGS, GSYMS ファイルを作成します。 +で用いる GTAGS, GRTAGS, GSYMS, GPATH ファイルを作成します。 .Nm はサブディレクトリをたどり、ソースファイルを読み、シンボルの位置を把握して その情報をタグファイルに保存します。 -C や yacc やアセンブラのソースファイルがサポートされています。 +C や yacc や java やアセンブラのソースファイルがサポートされています。 このコマンドはソースツリーのルートで実行する必要があります。 .Pp ソースディレクトリが CDROM のような読み込み専用デバイスの場合、 タグファイルを作成するディレクトリを .Ar dbpath に指定します。 .Pp .Bl -tag -width Ds +.It Fl c +コンパクトフォーマットのタグフファイルを作成します。 .It Fl i -タグファイルが最後に更新されてから更新されたファイルについてのみ -検査することにより、 -タグファイルをインクリメンタルに更新します +タグファイルをインクリメンタルに更新します。 .It Fl o GSYMS ファイルの作成を抑止します。 .Xr global 1 で .Fl s オプションを使用しない場合に使用してください。 +.It Fl w +警告メッセージを表示します。 .It Fl v 冗長モード。 .Sh 関連ファイル .Bl -tag -width tags -compact .It Pa GTAGS 関数定義に関するタグファイル。 .It Pa GRTAGS 関数参照に関するタグファイル。 .It Pa GSYMS 他のシンボルに関するタグファイル。 +.It Pa GPATH +パスインデックスファイルであり、 +インクリメンタル更新とコンパクトフォーマットで使用します。 .El .Sh 診断 .Nm はエラーが発生すると非 0 を、そうでなければ 0 を返します。 .Sh 関連項目 .Xr btreeop 1 , .Xr global 1 , .Xr htags 1 , .Xr vi 1 . .Sh バグ GTAGS, GRTAGS, GSYMS はとても大きくなります。 実行前にディスクの空き容量をチェックしてください。 .br アセンブラのサポートは完璧には程遠く、ソースファイルから ENTRY() と ALTENTRY() を抜き出すだけです。 FreeBSD と Linux のカーネルソースでどうにか大丈夫なだけでしょう。 .br タグファイルに関する並行制御はしていません。 .Sh 作者 Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは FreeBSD 2.2.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man1/htags.1 b/ja_JP.eucJP/man/man1/htags.1 index 3d77a563c5..bc2924a80f 100644 --- a/ja_JP.eucJP/man/man1/htags.1 +++ b/ja_JP.eucJP/man/man1/htags.1 @@ -1,131 +1,143 @@ .\" -.\" Copyright (c) 1996, 1997 Shigio Yamaguchi. All rights reserved. +.\" Copyright (c) 1996, 1997, 1998 Shigio Yamaguchi. 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 Shigio Yamaguchi. .\" 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 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. .\" jpman %Id: htags.1,v 1.3 1997/07/27 12:58:52 horikawa Stab % .\" -.Dd June 28, 1997 +.Dd Oct 11, 1998 .Dt HTAGS 1 .Os BSD 4 .Sh 名称 .Nm htags -.Nd C や yacc のソースコードからハイパーテキストを生成する +.Nd C や Yacc や Java のソースコードからハイパーテキストを生成する .Sh 書式 .Nm htags .Op Fl a +.Op Fl c .Op Fl f +.Op Fl h .Op Fl l .Op Fl n .Op Fl v .Op Fl w .Op Fl d Ar tagdir .Op Fl t Ar title .Op Ar dir .Sh 解説 .Nm -は GLOBAL のデータベース (GTAGS と GRTAGS) を利用して C や yacc の +は GLOBAL のデータベース (GTAGS と GRTAGS) を利用して C や Yacc や Java の ソースコードからハイパーテキストを生成します。 .Pp このコマンドを使う前には、ソースツリーのルートディレクトリで .Xr gtags 1 を実行していなければなりません。 その後、同じディレクトリで .Nm を使うことができるようになります。 .Nm は HTML ディレクトリを作成し、そこにハイパーテキストを生成します。 .Pp \&'HTML/index.html' からブラウズを始めることができます。 いったんハイパーテキストが生成されれば、好きな場所に持っていき、 好きなブラウザで見ることが可能です。 .Pp .br .Bl -tag -width Ds .It Fl a アルファベット順の関数一覧を作成します。 大きなプロジェクトには有効でしょう。 +.It Fl c +html ファイルを +.Xr gzip 1 +で圧縮します。 +HTTP サーバが +.Xr gzip 1 +を起動して各圧縮ファイルを扱えるように設定しておく必要があります。 +htags で作成したスケルトンファイル 'HTML/.htaccess.skel' を参照してください。 .It Fl f CGI プログラムによる入力フォームと動的インデックスをサポートします。 HTTP サーバの設定を行う必要があります。 +.It Fl h +タイトルヘッダフレームを追加します。デフォルトでは追加しません。 .It Fl l 各行に対し名前のタグ()を生成し、他のハイパーテキストから このハイパーテキストの任意の行を指し示すことができるようにします。 デフォルトでは、参照されるオブジェクトがある行にのみタグを生成します。 .It Fl n -行番号を表示します。デフォルトでは表示しません。 +行番号を表示します (デフォルトでは表示しません)。 .It Fl v 冗長モード。 .It Fl w 警告メッセージを表示します。 .It Fl d Ar tagdir GTAGS と GRTAGS が存在するディレクトリを指定します。 デフォルトではカレントディレクトリになります。 .It Fl t Ar title ハイパーテキストのタイトルを指定します。デフォルトでは現在のパスの 最後の構成要素になります。 .It Ar dir ハイパーテキストが生成されるディレクトリを指定します。 デフォルトではカレントディレクトリになります。 .Sh 使用例 % cd /usr/src/sys - # gtags -se + # gtags -o # htags -fnvat 'Welcom to FreeBSD kernel source tour!' % lynx HTML/index.html .Sh 関連ファイル .Bl -tag -width tags -compact .It Pa HTML/index.html 目次ファイル。 .It Pa GTAGS 関数定義のタグファイル。 .It Pa GRTAGS 関数参照のタグファイル。 .El .Sh 環境変数 htags の実行に際しては、以下の環境変数が参照されます。 .Pp .Bl -tag -width indent .It Ev TMPDIR この変数が設定されていると、値が一時ファイルを作成するディレクトリ として用いられます。 デフォルトは /tmp 。 .Sh 診断 エラーが発生すると .Nm は非 0 を返し、それ以外では 0 を返して終了します。 .Sh 関連項目 .Xr btreeop 1 , .Xr global 1 , .Xr gtags 1 . .Sh バグ 生成されるハイパーテキストはとても大きくなります。実行前にディスクの 空き容量をチェックしてください。 .Sh 作者 Shigio Yamaguchi (shigio@wafu.netgate.net) .Sh 歴史 .Nm コマンドは FreeBSD 2.2.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man1/ident.1 b/ja_JP.eucJP/man/man1/ident.1 index 9682ffc852..e8d728b863 100644 --- a/ja_JP.eucJP/man/man1/ident.1 +++ b/ja_JP.eucJP/man/man1/ident.1 @@ -1,186 +1,186 @@ .de Id .\" jpman %Id: ident.1,v 1.2 1997/05/08 13:28:03 mitchy Stab % .ds Rv \\$3 .ds Dt \\$4 .ds iD \\$3 \\$4 \\$5 \\$6 \\$7 .. .Id %Id: ident.1,v 1.4 1997/02/22 15:47:27 peter Exp % .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 .if n .ds - \%-- .if t .ds - \(em .TH IDENT 1 \*(Dt GNU .SH 名称 ident \- ファイル内の RCS キーワードを読み出す .SH 書式 .B ident [ .B \-q ] [ .B \-V ] [ .I file \&.\|.\|. ] .SH 解説 .B ident は、指定されたファイルがあればそのファイルから、指定がない場合には標準入力から、 .BI $ keyword : "\ text\ " $ なるパターンを検索します。 .PP これらのパターンは、通常 \*r の .BR co (1) コマンドにより自動的に挿入されますが、 手作業で入れることも可能です。オプション .B \-q を指定すると、ファイル中に キーワードが発見できなくても警告メッセージを出力しません。 .B \-V を指定すると、 .BR ident のバージョン番号を表示します。 .PP .B ident は、テキストファイルと同様にオブジェクトファイルやダンプファイルにも使 用することができます。 たとえば、以下の C 言語プログラム .B f.c で、 .IP .ft 3 #include .br static char const rcsid[] = .br \&"$\&Id: f.c,v \*(iD $\&"; .br int main() { return printf(\&"%s\en\&", rcsid) == EOF; } .ft P .LP .B f.c が .B f.o にコンパイルされているなら、以下のコマンド .IP .B "ident f.c f.o" .LP は、次のような出力を行います。 .nf .IP .ft 3 f.c: $\&Id: f.c,v \*(iD $ f.o: $\&Id: f.c,v \*(iD $ .ft .fi .PP C 言語プログラムで上記のような文字列 .B rcsid が定義され、かつ使われていないとき、 .BR lint (1) が警告を出したり、 C コンパイラによっては最適化により文字列を削除する 場合があります。もっとも、よい解決策は上のプログラム例のように文字列 .B rcsid を使うことです。 .PP .B ident は、 \r* がサポートする .I keyword でなくても、すべての .BI $ keyword : "\ text\ " $ パターンを表示します。 これにより、 .BR $\&XConsortium$ のような非標準の keyword についても情報が得られます。 .SH キーワード つぎに現在、 .BR co (1) -が扱う keyword を挙げます。デフォルトでは、すべての時刻は協定標準時 +が扱う keyword を挙げます。デフォルトでは、すべての時刻は協定世界時 (\*u しばしば \&\s-1GMT\s0と呼ばれます) で表されますが、 チェックアウトのときに、 .BR co の .BI \-z zone オプションを使ったファイルについては、数字によるタイムゾーンが付加され ます。 .TP .B $\&Author$ そのリビジョンをチェックインしたユーザ名です。 .TP .B $\&Date$ そのリビジョンをチェックインした日付と時刻です。 .TP .B $\&Header$ \*r ファイルのフルパス名を含んだ標準のヘッダ、リビジョン番号、 作者、状態、およびロックされている場合にはロックした人です。 .TP .B $\&Id$ \*r ファイルの名前がフルパスでないことを除いて、 .BR $\&Header$ , と同じです。 .TP .B $\&Locker$ そのリビジョンをロックした人のユーザ名 (ロックされていない場合は空白) です。 .TP .B $\&Log$ チェックインのときに書かれたログメッセージです。 .BR ident の目的としては、 .BR $\&RCSfile$ と等価です。 .TP .B $\&Name$ リビジョンをチェックアウトするときに使うシンボル名です(ないかもしれま せん)。 .TP .B $\&RCSfile$ フルパスでない \*r ファイルの名前です。 .TP .B $\&Revision$ そのリビジョンのリビジョン番号です。 .TP .B $\&Source$ \*r ファイルのフルパス名です。 .TP .B $\&State$ .BR rcs (1) or .BR ci (1) の .B \-s オプションで付けられたそのリビジョンの状態です。 .PP .BR co (1) は以下の文字をエスケープシーケンスで表現することにより、 キーワードの文字列の形を保ちます。 .LP .RS .nf .ne 6 .ta \w'newline 'u \f2char escape sequence\fP tab \f3\et\fP newline \f3\en\fP space \f3\e040 $ \e044 \e \e\e\fP .fi .RE .SH 作者 Author: Walter F. Tichy. .br Manual Page Revision: \*(Rv; Release Date: \*(Dt. .br Copyright \(co 1982, 1988, 1989 Walter F. Tichy. .br Copyright \(co 1990, 1992, 1993 Paul Eggert. .SH 関連項目 ci(1), co(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rlog(1), rcsfile(5) .br Walter F. Tichy, \*r\*-A System for Version Control, .I "Software\*-Practice & Experience" .BR 15 , 7 (July 1985), 637-654. diff --git a/ja_JP.eucJP/man/man1/login.1 b/ja_JP.eucJP/man/man1/login.1 index 9ac427d153..b1cfb43adf 100644 --- a/ja_JP.eucJP/man/man1/login.1 +++ b/ja_JP.eucJP/man/man1/login.1 @@ -1,192 +1,192 @@ .\" %NetBSD: login.1,v 1.5 1994/12/23 06:53:00 jtc Exp % .\" .\" Copyright (c) 1980, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)login.1 8.2 (Berkeley) 5/5/94 -.\" %Id: login.1,v 1.12 1998/12/01 17:05:08 dillon Exp % +.\" %Id: login.1,v 1.13 1999/01/11 09:07:42 asami Exp % .\" jpman %Id: login.1,v 1.3 1997/05/19 16:39:53 horikawa Stab % .\" .Dd May 5, 1994 .Dt LOGIN 1 .Os BSD 4 .Sh 名称 .Nm login .Nd 指定したユーザでログインする .Sh 書式 .Nm .Op Fl fp .Op Fl h Ar hostname .Op Ar user .Sh 解説 .Nm は、指定したユーザでログインするものです。 .Pp user を指定しなかった場合、もしくは指定した user でのログインに失敗した ときには、 .Nm は、再度ユーザ名の入力を求めるプロンプトを表示します。 ユーザの確認は入力されたパスワードにより行われます。 .Pp オプションとしては以下のものがあります: .Bl -tag -width Ds .It Fl f パスワードによるユーザの確認を省略します。このオプションは、スーパーユーザ か、すでにログインしているユーザが同じユーザ名で login を実行す るときのみ指定可能です。 .It Fl h コネクションを受信可能なホスト名を指定します。この機能は .Xr telnetd 8 などのデーモンによって使われています。このオプションはスーパーユーザ しか指定することができません。 .It Fl p .Nm は、デフォルトでは実行時の環境 (環境変数など) を引き継ぎ ませんが、このオプションを指定すると、実行時の環境を引き継ぎます。 .El .Pp もし -.Pa /etc/nologin +.Pa /var/run/nologin ファイルが存在した場合、 .Nm はそのファイル内容 を表示してログイン処理をせずに終了します。この機能は .Xr shutdown 8 で使用されており、システムの終了処理実行中にユーザがログインしないよう にしています。 .Pp もし .Pa /etc/login.access ファイルが存在した場合、 .Nm はそのファイルから、ユーザとホストの組が特別に許可されている、もしくは 拒否されているかどうかをチェックします。 .Pp もし .Pa /etc/fbtab ファイルが存在した場合、 .Nm はそのファイルに記述された幾つかのデバイスのプロテクトと所有者を変えます。 .Pp ファイル .Pa /etc/skeykeys が存在する場合、このファイル中にユーザのエントリが存在する時には、 .Nm は S/key パスワード認証を行います。 .Pa /etc/skey.access により、 接続元のホストやネットワークに応じて S/key パスワード使用の義務を制御します。 .Pp 通常、ユーザがログインすると、 .Nm はシステムのコピーライト表示、 ユーザが最後にログインした日付と時間、その日のメッセージなどの 情報を表示します。ただし、ユーザのホームディレクトリに .Dq Pa .hushlogin というファイルが存在した場合は、これらのメッセージを表示 しないようにします (これは .Xr uucp 1 のようなプログラムがユーザとしてログインするためにあります)。 このあと、 .Nm は .Xr wtmp 5 と .Xr utmp 5 ファイルに記録し、ユーザのコマンドインタプリタ (シェル) を起動します。 .Pp なお、環境変数 ( .Xr environ 7 ) HOME, SHELL, PATH, TERM, LOGNAME, USER は .Nm によりセットされます。 他の環境変数はログインクラスケーパビリティデータベースの エントリにより設定されるかも知れません。 ログインクラスはユーザのシステムパスワードレコードに割り当てられています。 ログインクラスは、当該ログインに許された最大および現在の資源制約、 プロセス優先度や他の多くのユーザログイン環境を制御します。 .Pp 標準シェルである .Xr csh 1 と .Xr sh 1 は、 .Nm が実行されてから起動します。 .Sh 関連ファイル .Bl -tag -width /var/mail/userXXX -compact .It Pa /etc/fbtab デバイスのプロテクトの変更 .It Pa /etc/login.access ログインアクセス制御表 .It Pa /etc/login.conf ログインクラスケーパビリティデータベース .It Pa /etc/motd ログイン時に最初に表示するメッセージ -.It Pa /etc/nologin +.It Pa /var/run/nologin ログインを拒否する時に表示するメッセージ .It Pa /etc/skey.access skey パスワード制御表 .It Pa /etc/skeykeys skey パスワードデータベース .It Pa /var/run/utmp 現在のログイン状況 .It Pa /var/log/lastlog 最後にログインした記録 last login account records .It Pa /var/log/wtmp ログイン・ログアウト状況 .It Pa /var/mail/user ユーザーごとのメイルボックス .It Pa \&.hushlogin ログインメッセージを抑止するファイル .It Pa /etc/auth.conf 認証サービスの設定 .El .Sh 関連項目 .Xr chpass 1 , .Xr passwd 1 , .Xr rlogin 1 , .Xr skey 1 , .Xr getpass 3 , .Xr fbtab 5 , .Xr login.access 5 , .Xr login.conf 5 , .Xr skey.access 5 , .Xr utmp 5 , .Xr environ 7 , .Xr nologin 8 , .Xr pam 8 .Sh 歴史 .Nm login ユーティリティは .At v6 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/mailq.1 b/ja_JP.eucJP/man/man1/mailq.1 index cbcc3c8050..8bd2b43f2e 100644 --- a/ja_JP.eucJP/man/man1/mailq.1 +++ b/ja_JP.eucJP/man/man1/mailq.1 @@ -1,67 +1,67 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)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 は、後で配送するためにキューに蓄えたメールを一覧表示します。 .Pp 各メッセージの 1 行目は、ホストがメッセージにつける内部の識別子、 メッセージのバイト数、キューに入れられた日付と時間、 メッセージの送り手を表示します。 2 行目は、このメールがキューに入れられる原因となったエラーを表示します。 このメッセージは、 キューのなかでメールが最初に処理されているときには表示されません。 そのあとの行には、メールの受け手が 1 行に 1 人ずつ表示されます。 .Pp 次のオプションを使用可能です: .Bl -tag -width flag .It Fl v 詳細な情報を表示します。 通常の表示に加え、メッセージの優先度と、 警告メッセージを送ったか否かを示す 1 文字の記号 (``+'' か空白) を最初の行に追加します。 さらに、メールの受け手の ``制御ユーザ (controlling user)'' 情報を表示します; これは、このメールによって実行されるプログラムの所有者および、 存在するのであれば、このコマンドが展開される元のエイリアス名です。 .El .Pp .Nm mailq は成功した場合は0を、エラーが起きた場合は0より大きな 値を返します。 .Sh 注釈 .Nm は .Dq Li "sendmail -bp" と等価です。 .Xr sendmail 8 に適用可能なオプションのほとんどは、 .Nm にも適用可能です。 .Sh 関連項目 .Xr sendmail 8 .Pp .Sh 歴史 .Nm mailq は .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/newaliases.1 b/ja_JP.eucJP/man/man1/newaliases.1 index b173312037..0b4500a7e5 100644 --- a/ja_JP.eucJP/man/man1/newaliases.1 +++ b/ja_JP.eucJP/man/man1/newaliases.1 @@ -1,53 +1,53 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)newaliases.1 8.10 (Berkeley) 5/19/1998 .\" 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 は、 .Pa /etc/aliases ファイルに記述されているメール エイリアスのデータベースを再構築します。 .Pa /etc/aliases の内容を変更したときには、その内容を反映させるために、 このコマンドを実行しなければなりません。 .Pp .Nm newaliases は、 .Dq Li sendmail \-bi とまったく同じです。 .Sh 戻り値 .Nm newaliases は、成功すると 0 を、エラーが起きた場合は 0 より大きな値を 返します。 .Sh 関連ファイル .Bl -tag -width /etc/aliases -compact .It Pa /etc/aliases メールエイリアスファイル .El .Sh 関連項目 .Xr aliases 5 , .Xr sendmail 8 .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/pkg_add.1 b/ja_JP.eucJP/man/man1/pkg_add.1 index feedd78209..e45a2df694 100644 --- a/ja_JP.eucJP/man/man1/pkg_add.1 +++ b/ja_JP.eucJP/man/man1/pkg_add.1 @@ -1,457 +1,472 @@ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" 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. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_add.1 -.\" %Id: pkg_add.1,v 1.27 1998/12/16 13:59:29 jkh Exp % +.\" %Id: pkg_add.1,v 1.29 1999/01/17 15:08:09 jseger Exp % .\" jpman %Id: pkg_add.1,v 1.3 1997/06/09 04:19:05 jsakai Stab % .\" .Dd November 25, 1994 .Dt pkg_add 1 .Os FreeBSD .Sh 名称 .Nm pkg_add .Nd ソフトウェア配布パッケージをインストールするプログラム .Sh 書式 .Nm -.Op Fl vInfRMS +.Op Fl vInfrRMS .Op Fl t Ar template .Op Fl p Ar prefix .Ar pkg-name [pkg-name ...] .Sh 解説 .Nm コマンドは、 .Xr pkg_create 1 コマンドにより作成されたパッケージを展開するのに用いられます。 .Sh 警告 .Bf -emphasis .Nm コマンドはパッケージファイルに含まれるスクリプトやプログラムを 実行することがあるので、あなたのシステムは、危険な配布ファイルを 作る極悪人からの「トロイの木馬」や他の巧妙な攻撃などを受ける 可能性があります。 .Pp パッケージファイルを提供する人物の能力と身元を確認するとよいでしょう。 より進んだ安全のためには、パッケージを展開するのに .Fl M フラグを用い、その内容と、スクリプトがシステムに害をおよぼさないかを 確認します。 +INSTALL, +POST-INSTALL, +DEINSTALL, +REQUIRE, +POST-INSTALL, +REQUIRE, +MTREE_DIRS の各ファイルには 特に注意を払い、+CONTENTS ファイルの .Cm @cwd , .Cm @mode (setuid をチェック), .Cm @dirrm , .Cm @exec , .Cm @unexec ディレクティブを調べてください。 パッケージファイルを調べるのには .Xr pkg_info 1 コマンドも使えます。 .Ef .Sh オプション 以下のコマンドラインオプションが提供されています: .Bl -tag -width indent .It Ar pkg-name [... pkg-name] 指定されたパッケージがインストールされます。 - という名前が指定されると、 .Nm は stdin から読み込みます。 パッケージがカレントディレクトリに見つからないと、 .Nm は .Ev PKG_PATH で指定された各ディレクトリを探します。 .It Fl v 饒舌な出力に切り替えます。 .It Fl I パッケージにインストール用スクリプト (pre-install または post-install) が存在しても、それを実行しません。 .It Fl n 実際にはインストールを行わず、インストールした場合に実行されるであろう ステップを表示します。 .It Fl R パッケージのインストール結果を記録しません。 このオプションは、後でアンインストールすることを不可能にするため、 自分が何をしているかを理解している人のみ使ってください。 +.It Fl r +リモートフェッチ機能を使用します。 +適切なオブジェクト書式とリリースを決定してから、 +パッケージを取得してインストールします。 .It Fl f あらかじめ必要なパッケージがインストールされていなかったり、 requirements スクリプトが失敗した場合にも強制的にインストールします。 これは .Nm が見つからない必要なパッケージを探して自動的にインストールすることを 止めるわけではなく、見つからない場合でも中断しないようにします。 .It Fl p Ar prefix パッケージからファイルを展開するディレクトリの前に .Ar prefix を付けます。 パッケージがデフォルトディレクトリを保持している場合には、 このオプションで変更できます。 .Nm はディレクトリ設定が相対的に行われているか、絶対的に行われているか を知る術がないので、最初の .Cm @cwd ディレクティブのみが変更されることに注意してください。 複数回のディレクトリ変更が行われることはまれですが、 実際にあった場合、すべてのディレクトリ変更を制御したくなる でしょう。この場合、 .Cm MASTER モード、 .Cm SLAVE モードの使用を検討してみてください (オプション .Fl M と .Fl S を参照)。 .It Fl t Ar template ``作業領域'' を作成する際に、 .Xr mktemp 3 への入力として .Ar template を用います。 これはデフォルトでは .Pa /var/tmp/instmp.XXXXXX という文字列ですが、 .Pa /var/tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 .Xr mktemp 3 が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。 .Pp 作業領域 .Ar template をパッケージファイルがインストールされるディレクトリと同じディスク パーティションに設定することによって、パフォーマンスを高めることが 可能です (大抵は .Pa /usr )。 .It Fl M .Cm MASTER モードで実行します。これは .Nm のとても特殊な実行モードであり、 .Cm SLAVE モードと共に実行しなければなりません。 このモードで実行されると、 .Nm は一時的な作業領域 ( .Fl t オプションを参照) へパッケージを展開する以上のことはせず、 現在の作業領域ディレクトリ名を頭に付加した packing list を標準出力に 出力します(標準出力は .Xr sed 1 のようなプログラムにフィルタされているかもしれません)。 .Cm SLAVE モードと共に用いると、中身を処理する前にパッケージ構造に 大きな変更を加えることが可能になります。 .It Fl S .Cm SLAVE モードで実行します。これは .Nm のとても特殊な実行モードであり、 .Cm MASTER モードと共に実行しなければなりません。 このモードで実行されると、 .Nm はパッケージの内容がすでに作業領域に展開され、その場所が 標準入力から文字列として入力されることを想定します。 完全な packing list も stdin から読み込まれ、その後中身が 通常どおり処理されます。 .El .Pp 一つ以上の .Ar pkg-name 引数を指定することが可能で、それらはパッケージを含むファイル名(通常 拡張子 ``.tgz'' で終わります)か、ftp サイトにあるファイルを 示す URL のどちらかになります。 したがって、anonymous ftp から直接ファイルを展開することが 可能です (例えば .Nm ftp://ftp.freebsd.org/pub/FreeBSD/packages/shells/bash-1.14.4.tgz )。 注意: もし上記のような転送で用いる ftp で .Bf -emphasis passive mode .Ef を利用したいなら、環境変数 .Bf -emphasis FTP_PASSIVE_MODE .Ef に何らかの値を設定する必要があります。 そうでなければ、より一般的な ACTIVE モードが利用されます。 もしうまく動作していることがわかっているサイトからパッケージを 得ようとして .Nm が常に失敗する場合、あなたが .Bf -emphasis passive mode .Ef の ftp を使う必要のあるファイアウォールの中にいるのが原因である場合が あります。 .Sh 技術詳細 .Nm はきわめて単純です。各パッケージの "packing list" を 特別な作業ディレクトリに展開し、 中身を解析し、内容を完全に展開するために 以下の手順を実行します: .Bl -enum -indent indent .It パッケージがすでにインストールされている、と記録されているかどうかを チェックします。もしそうならインストールを中断します。 .It .Cm @pkgdep ディレクティブ ( .Xr pkg_create 1 を参照) による パッケージのすべての依存関係をチェックし、各々が存在するかどうかを 確認します。もし存在しなければ、足りないパッケージを見つけて自動的に インストールしようとします。もし見つからなければ、 インストールを中断します。 .It パッケージがどのようにシステムに追加されるかを制御する .Cm @option ディレクティブを検索します。このマニュアルページを書いている時点では、 実装されているオプションは .Cm @option extract-in-place のみであり、これは .Pa /tmp 内の作業領域を経由しないで、 パッケージを最終的なディレクトリに直接展開するようにします。 .It .Cm @option extract-in-place が指定されていれば、パッケージは最終的な場所に直接展開され、 そうでなければ作業領域内に展開されます。 .It パッケージが .Ar require ファイル ( .Xr pkg_create 1 を参照) を含んでいる場合、そのファイルを以下の引数を付けて実行します: .Bd -filled -offset indent -compact .Ar pkg-name .Ar INSTALL .Ed ここで .Ar pkg-name は問題としているパッケージの名前であり、 .Ar INSTALL キーワードはインストールの requirements チェックであることを 示しています (これは複数の機能を提供するひとつのスクリプトを 用いようとする場合に有用です)。 .It パッケージに .Ar pre-install スクリプトが存在する場合、以下の引数を付けて実行されます: .Bd -filled -offset indent -compact .Cm script .Ar pkg-name .Ar PRE-INSTALL .Ed ここで .Ar pkg-name は対象のパッケージ名であり、 .Ar PRE-INSTALL はこれがインストール前のフェーズであることを示すキーワードです。 .Cm 注釈: ( .Cm Fl i および .Cm Fl I のフラグを .Xr pkg_create 1 に使用することにより) パッケージ作成時に pre-install と post-install のスクリプトが別々に与えられる場合には、 .Ar PRE-INSTALL キーワードは登場しません。 .It .Cm @option extract-in-place が指定されていない場合、packing list ( .Pa +CONTENTS ファイル) が作業領域から最終的な場所に ファイルを移動 (必要ならコピー) するために参照されます。 .It パッケージが .Ar mtreefile ファイル ( .Xr pkg_create 1 を参照) を含む場合、mtree が以下の引数を付けて実行されます: .Bd -filled -offset indent -compact .Cm mtree .Fl u .Fl f .Ar mtreefile .Fl d .Fl e .Fl p .Pa prefix .Ed ここで .Pa prefix は .Fl p フラグが指定されていればその prefix、 .Fl p フラグが指定されていない場合にはこのパッケージの最初の .Cm @cwd ディレクティブのディレクトリ名が prefix になります。 .It パッケージに .Ar post-install スクリプトが含まれる場合、 .Bd -filled -offset indent -compact .Cm script .Ar pkg-name .Ar POST-INSTALL .Ed として実行されます。 ここで .Ar pkg-name は対象のパッケージ名であり、 .Ar POST-INSTALL はこれがインストール後のフェーズであることを示すキーワードです。 .Cm 注釈: ( .Cm Fl i および .Cm Fl I のフラグを .Xr pkg_create 1 に使用することにより) パッケージ作成時に pre-install と post-install のスクリプトが別々に与えられる場合には、 .Ar POST-INSTALL キーワードは登場しません。 .Ar POST-INSTALL および .Ar PRE-INSTALL のキーワードを渡す背景には、 インストールの前とインストール後の 両方の手続きをこなす一つの .Ar install スクリプトを用いることを可能にすることがあります。 しかしながら、メンテナンスの観点からは、機能を分離する方が有利かつ容易です。 .It インストールが終了すると、後で .Xr pkg_delete 1 で使うために packing list 、 .Ar deinstall スクリプト、 description 、 display の各ファイルが .Pa /var/db/pkg/ にコピーされます。 パッケージの依存関係は、他のパッケージの .Pa /var/db/pkg//+REQUIRED_BY ファイル (PKG_DBDIR 環境変数が設定してある場合、上記の .Pa /var/db/pkg/ が置き換えられます) に記録されます。 .It 最後に、作業領域が削除されプログラムは終了します。 .El .Pp すべてのスクリプトは環境変数 .Ev PKG_PREFIX にインストール時の prefix ( 前述の .Fl p オプションを参照) が設定された状態で実行されます。 このことにより、パッケージの作者は .Cm pkg_add の .Fl p フラグによりパッケージがインストールされるディレクトリが 変更されても、きちんとふるまうスクリプトを書くことが可能になります。 .Sh 環境変数 .Ev PKG_PATH の値は、指定されたパッケージが見つからない時に用いられます。 環境変数はコロンで区切られた一連のエントリです。 各エントリはディレクトリ名からなります。 カレントディレクトリは空欄のディレクトリ名で暗黙のうちに指定されるか、 一つのピリオドで明示的に指定します。 .Pp 環境変数 .Ev PKG_DBDIR は、インストールされたパッケージについてのデータベースの位置を指定します。 .Pp .Nm が作業領域の生成を試みる作業用ディレクトリの名前は、環境変数 .Ev PKG_TMPDIR と .Ev TMPDIR とから(この順で)取られます。 これらの変数が存在しないか、指定されたディレクトリに十分な空き容量が ない場合、 .Nm は、 .Pa /var/tmp , .Pa /tmp , .Pa /usr/tmp のうちで、十分な空き容量を持つ最初のディレクトリを使います。 -.Sh ファイル +.Pp +環境変数 +.Ev PACKAGESITE +は、 +.Nm +が取得を行う代替位置を指定します。 +この変数を使用すると、 +.Fl r +オプション使用時に +.Nm +が自動的にディレクトリを決定する論理が破壊されます。 +.Sh 関連ファイル .Bl -tag -width /var/db/pkg -compact .It Pa /var/tmp 環境変数 .Ev PKG_TMPDIR と .Ev TMPDIR のどちらも適切なディレクトリを指定しない場合に、作業領域を作成するため に用いる作業用ディレクトリ。 .It Pa /tmp .Pa /var/tmp が存在しないか、十分な空き容量を持たない場合、その次に選ばれる ディレクトリ。 .It Pa /usr/tmp .Pa /var/tmp と .Pa /tmp のどちらも作業領域を作成するには適切でない場合、最後に選ばれる ディレクトリ。 .It Pa /var/db/pkg インストールされたパッケージについてのデータベースのデフォルトの位置。 .El .Sh 関連項目 .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr mktemp 3 , .Xr sysconf 3 , .Xr mtree 8 .Sh 作者 .An Jordan Hubbard 最初の仕事およびそれに続く開発。 .An John Kohl NetBSD 向け改良。 .El .Sh バグ 配布物のファイル間のハードリンクは、 (1) 作業領域が、ファイルへのすべてのリンクの最終的な ディレクトリと同じファイルシステムの場合もしくは、 (2) ファイルへのすべてのリンクが contents ファイル内で .Cm @cwd ディレクティブで括られている場合にのみ保存されます。 .Em さらに その上、リンク名は単一の .Cm tar コマンド ( .Fn sysconf _SC_ARG_MAX により返される値に依存する実行時の引数の長さの制限により、複数の 実行には分割できません) で展開されなければなりません。 .Pp バグは他にもあるはずです。 diff --git a/ja_JP.eucJP/man/man1/rlog.1 b/ja_JP.eucJP/man/man1/rlog.1 index 12d2202a3b..82aa955bb9 100644 --- a/ja_JP.eucJP/man/man1/rlog.1 +++ b/ja_JP.eucJP/man/man1/rlog.1 @@ -1,309 +1,309 @@ .de Id .\" jpman %Id: rlog.1,v 1.2 1997/06/03 11:46:09 bobson Stab % .ds Rv \\$3 .ds Dt \\$4 .. .Id %Id: rlog.1,v 1.7 1997/02/22 15:48:10 peter Exp % .ds i \&\s-1ISO\s0 .ds r \&\s-1RCS\s0 .ds u \&\s-1UTC\s0 .if n .ds - \%-- .if t .ds - \(em .TH RLOG 1 \*(Dt GNU .SH 名称 rlog \- RCS ファイルのログメッセージや、その他の関連情報を表示する .SH 書式 .B rlog .RI [ " options " ] " file " .\|.\|. .SH 解説 .B rlog は \*r ファイルに関する情報を表示します。 .PP \*r 拡張子にマッチするファイル名は \*r ファイルであるとみなし、 その他のファイル名はワークファイルであるとみなします。 .BR ci (1)で説明しているように、ファイル名は RCS ファイルと ワークファイルのペアになっています。 .PP .B rlog は、各 \*r ファイルの以下の情報を表示します: \*r ファイルのパス名、 ワークファイルのパス名、ヘッド(幹で最新のリビジョン)、デフォルト枝、 アクセスリスト、ロック状況、シンボル名、拡張子、総リビジョン数、 指定されたリビジョンの数、内容記述。以上の情報に加え、新しいものから順に 選択されたリビジョンのリストが表示されます。各リビジョンに関して、 .B rlog は、 リビジョン番号、作者、日時、状態、(直前のリビジョンから)追加/削除された行数、 ロック者、ログメッセージを表示します。 -デフォルトでは、表示されるすべての時刻は Coordinated Universal Time (\*u) +デフォルトでは、表示されるすべての時刻は協定世界時 (\*u) です ; これは .BR \-z オプションで書き換え可能です。 オプションを指定しない場合、 .B rlog は以上のすべての情報を表示します。 以下のオプションにより表示する内容を限定することができます。 .nr n \w'\f3\-V\fP\f2n\fP'+2n-1/1n .ds n \nn .if \n(.g .if r an-tag-sep .ds n \w'\f3\-V\fP\f2n\fP'u+\n[an-tag-sep]u .TP \*n .B \-L ロックされていない \*r ファイルを無視します。 .B \-h 、 .B \-l 、 .B \-R オプションと組み合わせると便利です。 .TP .B \-R \*r ファイル名のみを表示します。ワークファイルのパス名を \*r ファイル 名に変換するのに便利です。 .TP .BI \-v "[string]" ワーキングファイルの名前とデフォルト枝(の枝)の先端リビジョンだけを表示します。 .I [string] で指定した文字列は出力行の先頭に出力されます。 .TP .B \-h \*r ファイルのパス名、ワークファイルのパス名、ヘッド、デフォルト枝、ア クセスリスト、ロック者、シンボル名、拡張子を表示します。 .TP .B \-t .BR \-h の情報に追加して内容記述を表示します。 .TP .B \-N シンボル名を表示しません。 .TP .B \-b デフォルト枝に関する情報を表示します。通常は、幹の最も大きな番号を持つ枝 です。 .TP .BI \-d "dates" セミコロンで区切られた、登録日時の範囲にあるリビジョンに関する情報を 表示します。 .IB d1 < d2 または .IB d2 > d1 なる形式の範囲は、日時 .I d1 から日時 .I d2 までの間 (d1とd2は除く) に登録されたリビジョンを指定します。 .BI < d または .IB d > なる形式の範囲は、日時 .IR d より前に登録されたすべてのリビジョンを指定します。 .IB d < または .BI > d なる形式の範囲は日時 .IR d より後を指定します。 もし .B < または .B > に .B = が続いていれば、範囲は両端を含むようになります。 .I d なる形式の範囲は日時 .I d 以前の最新のリビジョンを指定します。 .I d 、 .I d1 、 .I d2 は .BR co (1) に記述されている自由形式の日時です。 通常 .B < や .B > を使う場合にはクォートが必要です。要素の区切りがセミコロンであることに 注意してください。 .TP .BR \-l [\f2lockers\fP] ロックされているリビジョンに関する情報のみを表示します。コンマで区切られた ユーザ名のリスト .I lockers が指定された場合は、指定されたユーザがロックしたリビジョンに関する情報のみを 表示します。例えば、 .BI "rlog\ \-L\ \-R\ \-l" wft "\ RCS/*" はユーザ .I wft がロックしている \*r ファイル名を表示します。 .TP .BR \-r [\f2revisions\fP] コンマで区切られたリビジョンのリスト .I revisions で指定されたリビジョンに関する情報のみを表示します。 .IB rev1 : rev2 の形式の範囲指定は、同一枝上の .I rev1 から .I rev2 までを、 .BI : rev は枝上の最初のリビジョンからリビジョン .I rev までを、 .IB rev : はリビジョン .I rev から枝上の最後のリビジョンまでを示します。引数に枝番号を指定した場合は、 その枝上のすべてのリビジョンに関する情報が表示されます。 枝番号による範囲指定は、範囲内の枝上のすべてのリビジョンを示します。 .I revisions が省略された場合は、デフォルト枝(通常は幹)上の最新リビジョンの情報のみを 表示します。 .TP .BI \-s states 状態が .I states であるリビジョンの情報のみを表示します。 .I states はコンマで区切った状態名のリストです。 .TP .BR \-w [\f2logins\fP] .I logins で指定したユーザが登録したリビジョンに関する情報のみを表示します。 .I logins はコンマで区切ったユーザ名のリストです。 .I logins が省略された場合は、 .B rlog を起動したユーザ名が用いられます。 .TP .B \-T このオプションの効果はありません ; ほかの \*r コマンドとの互換性を保つために存在しています。 .TP .BI \-V \*r システムのバージョンを表示します。 .TP .BI \-V n ログの生成時に、\*r システムのバージョン .I n のエミュレーションを行います。詳細は .BR co (1) を参照してください。 .TP .BI \-x "suffixes" \*r ファイル拡張子を指定します。詳しくは .BR ci (1) を参照してください。 .PP .B rlog は指定されたオプション .B \-d 、 .B \-l 、 .B \-s 、 .B \-w のすべてに適合し、かつ .B \-b 、 .B \-r の いずれかに適合したリビジョンに関する情報のみを表示します。 .TP .BI \-z zone 日時の出力形式を指定し、 .BI \-d dates オプションの .I date に対するデフォルトのタイムゾーンを指定します。 .I zone には何も指定しないか、数字の \*u を指定するか、ローカルタイムのための 特別な文字列 .B LT を指定します。 デフォルトは何も指定しない空の .IR zone で、伝統的な \*u の \*r 形式ですが、タイムゾーンを示す表示はなく、 日付の部分を分割するのにスラッシュを用います ; 他では、\*i 形式でタイムゾーンの表示と一緒に時間を出力します。 例えば、ローカルタイムが 太平洋標準時の 1990 年 1 月 11 日、午後 8 時で、 \*u から 8 時間、西である(遅れている)場合、時間の出力は以下のようになります : .RS .LP .RS .nf .ta \w'\f3\-z+05:30\fP 'u +\w'\f31990-01-11 09:30:00+05:30\fP 'u .ne 4 \f2option\fP \f2time output\fP \f3\-z\fP \f31990/01/12 04:00:00\fP \f2(default)\fP \f3\-zLT\fP \f31990-01-11 20:00:00\-08\fP \f3\-z+05:30\fP \f31990-01-12 09:30:00+05:30\fP .ta 4n +4n +4n +4n .fi .RE .SH 使用例 .LP .nf .B " rlog \-L \-R RCS/*" .LP ロックされたすべての \*r ファイル名を出力します。 .LP .B " rlog \-L \-h RCS/*" .LP ロックされたすべての \*r ファイルのヘッダを出力します。 .LP .B " rlog \-L \-l RCS/*" .LP ロックされたすべての \*r ファイルのヘッダとログメッセージを出力します。 .LP .B " rlog RCS/*" .LP すべての \*r ファイルに関するすべての情報を出力します。 .fi .LP .SH 環境変数 .TP .B \s-1RCSINIT\s0 コマンドライン引数に先立って指定すべきオプションを指定します。オプションは 空白で区切って指定します。詳しくは .BR ci (1) を参照してください。 .SH 診断 すべての動作が成功した場合に終了ステータス 0 を返します。 .SH 作者 Author: Walter F. Tichy. .br Manual Page Revision: \*(Rv; Release Date: \*(Dt. .br Copyright \(co 1982, 1988, 1989 Walter F. Tichy. .br Copyright \(co 1990, 1991, 1992, 1993, 1994, 1995 Paul Eggert. .SH 関連項目 ci(1), co(1), ident(1), rcs(1), rcsdiff(1), rcsintro(1), rcsmerge(1), rcsfile(5) .br Walter F. Tichy, \*r\*-A System for Version Control, .I "Software\*-Practice & Experience" .BR 15 , 7 (July 1985), 637-654. .SH バグ 以前の版の .B rlog では .B \-r オプションにおけるリビジョンの区切りは .B \- でした。 しかし、これはシンボリック名が .B \- を含んでいるときに混乱を生じます。 従来の版との互換性のため、 .B \- を用いた記法もサポートしますが、この記法を用いた場合は 警告メッセージを表示します。 .br diff --git a/ja_JP.eucJP/man/man5/aliases.5 b/ja_JP.eucJP/man/man5/aliases.5 index 2f3e336bc3..307112aeb9 100644 --- a/ja_JP.eucJP/man/man5/aliases.5 +++ b/ja_JP.eucJP/man/man5/aliases.5 @@ -1,85 +1,85 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)aliases.5 8.8 (Berkeley) 5/19/1998 .\" jpman %Id: aliases.5,v 1.3 1998/05/28 15:47:09 kuma Stab % .\" .\" 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 解説 このファイルには、 .Pa /usr/sbin/sendmail が使用する、ユーザ .Tn ID の別名を記述します。 このファイルは .Pa /etc に置かれる、下記の形式の一連の行です。 .Bd -filled -offset indent name: name_1, name_2, name_3, . . . .Ed .Pp .Em name はエイリアスする名前、 .Em name_n はその名前の別名です。 空白ではじまる行は継続行です。 .Ql # ではじまる行はコメントです。 .Pp エイリアスはローカル名でのみ適用されます。 ループは起りえません。 なぜなら、メッセージは同じ人に複数回送られないからです。 .Pp エイリアス適用後、ローカルかつ有効な受信者で .Dq Pa .forward ファイルをホームディレクトリに持つ人のメッセージは、 このファイルに定義された一連のユーザに転送されます。 .Pp これは単なる生のデータファイルです; 実際のエイリアス情報は .Xr newaliases 1 プログラムを使用することにより、バイナリ形式でファイル .Pa /etc/aliases.db に置かれます。aliases ファイルを更新したときには、その内容を反映させるために、 .Xr 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 を NEWDB サポート付きではなく DBM サポート付きでコンパイルした時には、 エイリアス 1 つがおよそ 1000 バイトまでの情報に限るという .Xr dbm 3 の制約が問題となるかもしれません。 このような場合に長いエイリアスを使用するためには ``連鎖'' を使用します; これは別名の最後の名前をダミーの名前にし、 これを引続き別の別名として使用するというものです。 .Sh 歴史 .Nm ファイルフォーマットは .Bx 4.0 に登場しました。 diff --git a/ja_JP.eucJP/man/man5/nologin.5 b/ja_JP.eucJP/man/man5/nologin.5 index c9ebb0846c..f7b73a0776 100644 --- a/ja_JP.eucJP/man/man5/nologin.5 +++ b/ja_JP.eucJP/man/man5/nologin.5 @@ -1,67 +1,67 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)nologin.8 8.1 (Berkeley) 6/19/93 -.\" %Id: nologin.5,v 1.4 1998/07/15 06:37:06 charnier Exp % +.\" %Id: nologin.5,v 1.5 1999/01/12 14:09:23 asami Exp % .\" .\" jpman %Id: nologin.5,v 1.3 1998/06/13 09:47:03 kumano Stab % .\" .Dd June 19, 1993 .Dt NOLOGIN 5 .Os FreeBSD 2.1 .Sh 名称 .Nm nologin .Nd ログインを拒否する .Sh 解説 .Nm は、 -.Pa /etc/nologin +.Pa /var/run/nologin ファイルがあるとログインを拒否します。 このプログラムはユーザに -.Pa /etc/nologin +.Pa /var/run/nologin の内容を表示し、終了します。 .Sh セキュリティ ユーザ root の .Xr login 1 では無視されます。 .Sh 関連ファイル -.Bl -tag -width /etc/nologinxxx -compact -.It Pa /etc/nologin +.Bl -tag -width /var/run/nologinxxx -compact +.It Pa /var/run/nologin .Nm ファイルは -.Pa /etc +.Pa /var/run にあります。 .El .Sh 関連項目 .Xr login 1 , .Xr rlogin 1 , .Xr telnet 1 , .Xr shutdown 8 diff --git a/ja_JP.eucJP/man/man5/rc.conf.5 b/ja_JP.eucJP/man/man5/rc.conf.5 index 0a211fba0e..5274906109 100644 --- a/ja_JP.eucJP/man/man5/rc.conf.5 +++ b/ja_JP.eucJP/man/man5/rc.conf.5 @@ -1,1018 +1,1024 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: rc.conf.5,v 1.26 1998/12/12 23:26:52 dillon Exp % +.\" %Id: rc.conf.5,v 1.27 1999/01/14 09:13:00 jkh Exp % .\" .\" jpman %Id: rc.conf.5,v 1.3 1998/06/26 09:39:58 jsakai Stab % .\" .Dd April 26, 1997 .Dt RC.CONF 5 .Os FreeBSD 2.2.2 .Sh 名称 .Nm rc.conf .Nd システム設定情報 .Pp .Nm rc.conf.local .Nd ローカルのシステム設定情報 .Sh 解説 .Nm rc.conf ファイルはローカルホスト名、全ての潜在的なネットワークインタフェースに 関する設定の詳細、システムの初期起動時に立ち上げるべき サービスに関する記述可能な情報を含んできます。初めてインストールする際に は、一般に .Nm rc.conf ファイルはシステムインストールユーティリティ .Pa /stand/sysinstall によって初期化されます。 .Pp .Nm rc.conf.local ファイルは rc.conf で設定された変数を変更するために使用します。 典型的には、システム管理者はディストリビューションに含まれる .Nm rc.conf を使用して、ローカルの変更/追加を .Nm rc.conf.local に対して適用します。 .Pp .Nm rc.conf[.local] の目的は、 コマンドの実行やシステム起動操作を直接行うことではありません。 それに代わり、 そこに見出される設定にしたがって内部操作を条件付きで制御する .Pa /etc 下のいろいろな類の起動スクリプトの一部をなしています。 .Pp 以下に示すのは .Nm ファイル中で設定可能な各変数について、 その名前と簡単な解説をリストしたものです。 .Bl -tag -width Ar .It Ar swapfile (文字列) .Ar NO にセットすると スワップファイルはインストールされません。 .Ar NO 以外の場合、その値は追加スワップ領域のために利用するファイルの 完全パス名として用いられます。 .It Ar apm_enable (ブール値) .Ar YES にセットすると .Xr apm 8 コマンドでの自動電源管理(Automatic Power Management)のサポートを有効に します。 .It Ar pccard_enable (ブール値) .Ar YES にセットすると起動時にPCCARDのサポートを有効にします。 .It Ar pccard_mem (文字列) PCCARDコントローラメモリアドレスをセットします。 .Ar DEFAULT とするとデフォルト値になります。 .It Ar pccard_ifconfig (文字列) 挿入または起動時に動的にifconfigされるべきイーサネットデバイス のリストです。 (例 .Ar "ed0 ed1 ep0 ..." ) .It Ar local_startup (文字列) 起動スクリプトファイルを検索するためのディレクトリのリストです。 .It Ar local_periodic (文字列) 定期的に実行するスクリプトを検索するディレクトリのリストです (3.0 のみ)。 .It Ar hostname (文字列) ネットワーク上でのあなたのホストの完全な形のドメイン名 (The Fully Qualified Domain Name) です。あなたがネットワークに接続されていない 場合でも、この変数は確実に何か意味のあるものに設定すべきです。 .It Ar nisdomainname (文字列) あなたのホストの NIS ドメイン名。NIS が動いてないときは .Ar NO とします。 .It Ar firewall_enable (ブール値) 起動時にロードされるファイアウォール規則を持ちたくないときには .Ar NO 、持ちたいときには .Ar YES をセットします。 .Ar YES にセットし、かつカーネルが IPFIREWALL 付きで作られなかった場合、 ipfw カーネルモジュールがロードされます。 .It Ar firewall_type (文字列) .Pa /etc/rc.firewall 中で選択されたファイアウォールのタイプまたはローカルファイアウォール規則 の組を含むファイルを名付けます。 .Pa /etc/rc.firewall 中では以下のものが選択可能です: ``open''- 無制限の IP アクセス; ``closed''- lo0 経由を除く全ての IP サービスを禁止; ``client''- ワークステーション向けの基本的な保護; ``simple''- LAN 向けの基本的な保護。 ファイル名が指定される場合には完全なパス名でなければなりません。 .It Ar firewall_quiet (ブール値) .Ar YES にセットすると起動時にコンソール上で ipfw 規則の表示を行ないません。 .It Ar natd_enable (ブール値) .Ar YES にセットすると natd を有効にします。 .Ar firewall_enable もまた .Ar YES にセットされ、 .Xr divert 4 ソケットがカーネルで有効にされている必要があります。 .It Ar natd_interface natd が実行されるパブリックインタフェースの名前です。 .Ar natd_enable が .Ar YES にセットされている場合には、これを設定する必要があります。 インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 .It Ar natd_flags 追加の natd フラグはここに記述する必要があります。 .Fl n または .Fl a のフラグは上記 .Ar natd_interface とともに自動的に引数として追加されます。 .It Ar tcp_extensions (ブール値) デフォルトでは .Ar YES です。これは RFC 1323 や 1644 で述べられているような ある TCP オプションを有効にします。 もしネットワークコネクションが不規則にハングアップしたり、 それに類する他の不具合がある場合には、これを .Ar NO にセットして様子をみてみるのもよいかもしれません。世間に出回っている ハードウェア/ソフトウェアの中には、これらのオプションでうまく動作しない ものがあることが知られています。 .It Ar network_interfaces (文字列) このホスト上で形成されるネットワークインタフェースのリストを 設定します。 たとえば、ループバックデバイス (標準) および SMC Elite Ultra NIC があるなら .Qq Ar "lo0 ed0" という 2 つのインタフェースを設定します。 .Em interface の各値に対して .No ifconfig_ Ns Em interface という変数が存在すると仮定されます。 1 つのインタフェースに複数の IP アドレスを登録したい場合は、 ここに IP エイリアスのエントリを追加することも可能です。 対象とするインタフェースが ed0 であると仮定すると、 .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" .Ed というようになります。 見つかった各 ifconfig__alias エントリについて、 その内容が .Xr ifconfig 8 に渡されます。最初にアクセスに失敗した時点で実行は中止されるので .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.251 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.252 netmask 0xffffffff" ifconfig_ed0_alias2="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias4="inet 127.0.0.254 netmask 0xffffffff" .Ed のようにすると、alias4 は追加され\fB ない\fR ことに注意してください。これは alias3 エントリを抜かしたことで検索が中止されるからです。 .It Ar syslogd_enable (ブール値) .Ar YES にセットすると .Xr syslogd 8 デーモンを起動します。 .It Ar syslogd_flags (文字列) syslogd_enable が .Ar YES の場合、これらは .Xr syslogd 8 に渡すフラグになります。 .It Ar inetd_enable (ブール値) .Ar YES にセットすると .Xr inetd 8 デーモンを起動します。 .It Ar inetd_flags (文字列)inetd_enable が .Ar YES の場合、これらは .Xr inetd 8 へ渡すフラグとなります。 .It Ar named_enable (ブール値) .Ar YES にセットすると .Xr named 8 デーモンを起動します。 .It Ar named_program (文字列) .Xr named 8 のパス。(デフォルトは .Pa /usr/sbin/named ) .It Ar named_flags (文字列) .Ar named_enable が .Ar YES の場合、これらは .Xr named 8 に渡すフラグとなります。 .It Ar kerberos_server_enable (ブール値) ブート時に Kerberos 認証サーバを起動したい場合は .Ar YES にセットします。 .It Ar kadmind_server_enable .Xr kadmind 8 (Kerberos 管理デーモン) を実行したい場合は .Ar YES とします。スレーブサーバ上では .Ar NO にセットします。 .It Ar kerberos_stash (文字列) .Ar YES なら (唯一 .Ar kerberos_server_enable が .Ar YES にセットされ、かつ .Xr kerberos 1 および .Xr kadmind 8 の両方を用いるときにのみ) 隠されたマスタキーのプロンプト入力を行なう代りに、 そのキーを用いるよう Kerberos サーバに指示します。 .It Ar rwhod_enable (ブール値) .Ar YES にセットするとブート時に .Xr rwhod 8 デーモンを起動します。 +.It Ar rwhod_flags +(文字列) +.Ar rwhod_enable +が +.Ar YES +にセットされている場合、これらは rwhod に渡すフラグになります。 .It Ar amd_enable (ブール値) .Ar YES にセットするとブート時に .Xr amd 8 デーモンを起動します。 .It Ar amd_flags (文字列) .Ar amd_enable が .Ar YES にセットされている場合、これらは amd に渡すフラグとなります。 詳しくは\fBinfo amd\fR コマンドを利用してください。 .It Ar update_motd (ブール値) .Ar YES にセットするとブート時に実行されているカーネルリリースを反映するように .Nm /etc/motd を更新します。 .Ar NO にセットすると .Nm は更新を行いません。 .It Ar nfs_client_enable (ブール値) .Ar YES にセットするとブート時に NFS クライアントデーモンを起動します。 .It Ar nfs_client_flags (文字列) .Ar nfs_client_enable が .Ar YES の場合、これらは .Xr nfsiod 8 デーモンに渡すフラグとなります。 .It Ar nfs_access_cache .Ar nfs_client_enable が .Ar YES の場合、この変数に .Ar 0 をセットして NFS ACCESS RPC キャッシングを無効化することができますし、 NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 2-10 秒の値を設定すると、 多くの NFS 操作のネットワークトラフィックを十分減らします。 .It Ar nfs_server_enable (ブール値) .Ar YES にセットするとブート時に NFS サーバデーモンを起動します。 .It Ar nfs_server_flags (文字列) .Ar nfs_server_enable が .Ar YES の場合、これらは .Xr nfsd 8 デーモンに渡すフラグとなります。 .It Ar weak_mountd_authentication (ブール値) .Ar YES にセットすると、権限付けられていないマウント要求を行なうために \fBPCNFSD\fR のようなサービスを許可します。 .It Ar nfs_reserved_port_only (ブール値) .Ar YES にセットすると、安全なポート上でのみ NFS サービスを提供します。 .It Ar rcp_lockd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.lockd 8 を起動します。 .It Ar rcp_statd_enable (ブール値) この変数が .Ar YES にセットされ、しかも NFS サーバである場合、ブート時に .Xr rpc.statd 8 を起動します。 .It Ar portmap_enable (ブール値) .Ar YES の場合、ブート時に .Xr portmap 8 サービスを起動します。 .It Ar portmap_flags (文字列) .Ar portmap_enable が .Ar YES の場合、これらは .Xr portmap 8 デーモンに渡すフラグとなります。 .It Ar xtend_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xtend 8 デーモンを起動します。 .It Ar xtend_flags (文字列) .Ar xtend_enable が .Ar YES の場合、これらは .Xr xtend 8 デーモンに渡すフラグとなります。 .It Ar timed_enable (ブール値) .Ar YES なら、ブート時に .Xr timed 8 サービスを実行します。このコマンドは、全ホストについて一貫した .Qq "ネットワーク時間" が確立されなければならないマシンネットワークのためにあります。 これが有用である典型例は、 ファイルのタイムスタンプがネットワークワイドで一貫性をもつことが 期待されるような、大規模 NFS 環境です。 .It Ar timed_flags (文字列) .Ar timed_enable が .Ar YES の場合、これらは .Xr timed 8 サービスに渡すフラグとなります。 .It Ar ntpdate_enable (ブール値) .Ar YES にセットすると、システムスタートアップ時に ntpdate を実行します。 このコマンドは、ある標準的な参照先を元に、ただ .Ar 1 回 だけシステム時刻を同期させるためにあります。 また、システムを最初にインストールする際、 これを (知られているサービスのリストから) 最初にセットアップするオプションが .Pa /stand/sysinstall プログラムによって提供されます。 .It Ar ntpdate_program (文字列) .Xr ntpdate 8 のパス (デフォルトは .Pa /usr/sbin/ntpdate です)。 .It Ar ntpdate_flags (文字列) .Ar ntpdate_enable が .Ar YES の場合、これらは .Xr ntpdate 8 コマンドに渡すフラグとなります (典型的にはホスト名)。 .It Ar xntpd_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr xntpd 8 コマンドが起動されます。 .It Ar xntpd_program (文字列) .Xr xntpd 8 のパス (デフォルトは .Pa /usr/sbin/xntpd です)。 .It Ar xntpd_flags (文字列) .Ar xntpd_enable が .Ar YES の場合、これらは .Xr xntpd 8 デーモンに渡すフラグとなります。 .It Ar nis_client_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypbind 8 サービスを起動します。 .It Ar nis_client_flags (文字列) .Ar nis_client_enable が .Ar YES の場合、これらは .Xr ypbind 8 サービスに渡すフラグとなります。 .It Ar nis_ypset_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypset 8 デーモンを起動します。 .It Ar nis_ypset_flags (文字列) .Ar nis_ypset_enable が .Ar YES の場合、これらは .Xr ypset 8 デーモンに渡すフラグとなります。 .It Ar nis_server_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypserv 8 デーモンを起動します。 .It Ar nis_server_flags (文字列) .Ar nis_server_enable が .Ar YES の場合、これらは .Xr ypserv 8 デーモンに渡すフラグとなります。 .It Ar nis_ypxfrd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr ypxfrd 8 デーモンを起動します。 .It Ar nis_ypxfrd_flags (文字列) .Ar nis_ypxfrd_enable が .Ar YES の場合、これらは .Xr ypxfrd 8 デーモンに渡すフラグとなります。 .It Ar nis_yppasswdd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr yppasswdd 8 デーモンを起動します。 .It Ar nis_yppasswdd_flags (文字列) .Ar nis_yppasswdd_enable が .Ar YES の場合、これらは .Xr yppasswdd 8 デーモンに渡すフラグとなります。 .It Ar defaultrouter (文字列) .Ar NO をセットしないと、このホスト名または IP アドレスへのデフォルトルートを 作成します (このルータがネームサーバへたどりつく必要がある 場合は IPアドレスを使用すること!)。 .It Ar static_routes (文字列) システムブート時に追加したいスタティックルートのリストを セットします。 .Ar NO 以外をセットした場合、その値を空白で区切った各要素について、 各 .Em element 毎に変数 .No route_ Ns em element が存在すると仮定され、その後、``route add'' 操作に渡されます。 .It Ar gateway_enable (ブール値) .Ar YES にセットすると、IP ルータとして動作する、 たとえばインタフェース間でパケットをフォワードするように ホストを設定します。 .It Ar router_enable (ブール値) .Ar YES にセットすると、 .Ar router および .Ar router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Ar router (文字列) .Ar router_enable が .Ar YES にセットされると、これが使用するルーティングデーモン名になります。 .It Ar router_flags (文字列) .Ar router_enable が .Ar YES にセットされると、これらがルーティングデーモンへ渡すフラグとなります。 .It Ar mrouted_enable (ブール値) .Ar YES にセットすると、マルチキャストルーティングデーモン .Xr mrouted 8 を起動します。 .It Ar mrouted_flags (文字列) .Ar mrouted_enable が .Ar YES の場合、これらはマルチキャストルーティングデーモンへ渡すフラグとなります。 .It Ar ipxgateway_enable (ブール値) .Ar YES にセットすると、IPX トラフィックのルーティングを有効にします。 .It Ar ipxrouted_enable (ブール値) .Ar YES にセットすると、ブート時に .Xr ipxrouted 8 デーモンを起動します。 .It Ar ipxrouted_flags (文字列) .Ar ipxrouted_enable が .Ar YES の場合、これらは .Xr ipxrouted 8 デーモンへ渡すフラグとなります。 .It Ar arpproxy_all .Ar YES にセットするとグローバルプロキシ ARP を有効にします。 .It Ar forward_sourceroute これが .Ar YES にセットされ、更に .Ar gateway_enable もまた .Ar YES にセットされている場合、 送信元が経路指定したパケット (source routed packets) はフォワードされます。 .It Ar accept_sourceroute .Ar YES にセットすると、 システムは自分宛の送信元経路指定パケットを受け付けます。 .It Ar rarpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr rarpd 8 デーモンを起動します。 .It Ar rarpd_flags (文字列) .Ar rarpd_enable が .Ar YES の場合、これらは .Xr rarpd 8 デーモンへ渡すフラグとなります。 .It Ar atm_enable (bool) Set to .Ar YES システムブート時に ATM インタフェースの設定を有効にします。 次に説明する ATM 関連の変数に関し、 利用可能なコマンドパラメータの更なる詳細については、 .Xr atm 8 のマニュアルページを参照してください。 更なる詳細な設定情報に関しては、 .Pa /usr/share/examples/atm 中のファイルも参照してください。 .It Ar atm_netif_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 作成すべき ATM ネットワークインタフェースの 名前プレフィックスと数字を指定します。 値はコマンド .Dq atm set netif Va のパラメータとして渡されます。 .It Ar atm_sigmgr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 値はコマンド .Dq atm attach Va のパラメータとして渡されます。 .It Ar atm_prefix_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの NSAP プレフィックスを定義します。 .Em ILMI に設定すると、プレフィックスは自動的に .Xr ilmid 8 デーモンを介して設定されます。 そうでない場合、値はコマンド .Dq atm set prefix Va のパラメータとして渡されます。 .It Ar atm_macaddr_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの MAC アドレスを定義します。 .Em NO に設定すると、ATM インタフェースカードに格納されている ハードウェア MAC アドレスが使用されます。 そうでない場合、値はコマンド .Dq atm set mac Va のパラメータとして渡されます。 .It Ar atm_arpserver_ (文字列) ATM 物理インタフェース .Va に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ 利用可能です。 .Em local に設定すると、本ホストが ATMARP サーバになります。 値はコマンド .Dq atm set arpserver Va のパラメータとして渡されます。 .It Ar atm_scsparp_ (bool) .Em YES に設定すると、ネットワークインタフェース .Va に対する SCSP/ATMARP サービスが、 .Xr scspd 8 および .Xr atmarpd 8 を使用して開始されます。 本変数は .So .No atm_arpserver_ Ns Va .No Ns = Ns Qq local .Sc が定義されている場合にのみ利用可能です。 .It Ar atm_pvcs (文字列) システムブート時に追加したい ATM PVC のリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_pvc_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add pvc のパラメータとして渡されます。 .It Ar atm_arps (文字列) システムブート時に追加したい、 永続的な ATM ARP エントリのリストを設定します。 値中で空白で区切られた .Em element ごとに、変数 .No atm_arp_ Ns Em element が存在するものと仮定されます。これらの変数の値がコマンド .Dq atm add arp のパラメータとして渡されます。 .It Ar keymap (文字列) .Ar NO にセットするとキーマップはインストールされません。それ以外の場合、 ここで指定した .Ar value がキーマップファイル .Pa /usr/share/syscons/keymaps/.kbd をインストールするのに用いられます。 .It Ar keyrate (文字列) キーボードのリピートスピードです。以下のいずれかにセットします。 .Ar slow , .Ar normal , .Ar fast デフォルト値を希望する場合は .Ar NO とします。 .It Ar keychange (文字列) .Ar NO 以外にセットすると、その値でファンクションキーをプログラムしようとします。 指定できる値は単一の文字列で, .Qq Ar " [ ]..." という形式でないといけません。 .It Ar cursor (文字列) カーソルの動作を明示的に指定する場合は .Ar normal , .Ar blink , .Ar destructive のいずれかの値にセットします。デフォルト動作を選ぶには .Ar NO とします。 .It Ar scrnmap (文字列) .Ar NO にセットすると、スクリーンマップはインストールされません。 それ以外の場合には、ここで指定した .Ar value がスクリーンマップファイル .Pa /usr/share/syscons/scrnmaps/ をインストールするのに用いられます。 .It Ar font8x16 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x16 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x14 (文字列) .Ar NO にセットするとスクリーンサイズの要求に対しデフォルトの 8x14 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar font8x8 (文字列) .Ar NO にセットすると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が 用いられます。それ以外の場合は .Pa /usr/share/syscons/fonts/ の値が用いられます。 .It Ar blanktime (整数) .Ar NO にセットすると、デフォルトのスクリーンブランク時間間隔が用いられます。 それ以外の場合は .Ar value 秒にセットされます。 .It Ar saver (文字列) .Ar NO 以外にセットすると、これが実際に使用する スクリーンセーバ (ブランク, 蛇, デーモンなど) となります。 .It Ar moused_enable (文字列) .Ar YES にセットすると、コンソール上でのカット/ペーストセレクション用に .Xr moused 8 デーモンが起動されます。 .It Ar moused_type (文字列) 利用したいマウスのプロトコルのタイプ。 .Ar moused_enable が .Ar YES の場合、この変数は必ず設定しなければなりません。 多くの場合、 .Xr moused 8 デーモンは適切なマウスタイプを自動的に検出することができます。 デーモンにマウスを検出させるには、この変数を .Ar auto にセットします。 自動検出が失敗する場合、以下のリストから 1 つを選びます。 .Bd -literal microsoft Microsoft マウス intellimouse Microsoft IntelliMouse mousesystems Mouse system 社製のマウス mmseries MM シリーズのマウス logitech Logitech 製のマウス busmouse バスマウス mouseman Logitech の MouseMan および TrackMan glidepoint ALPS 製の GlidePoint thinkingmouse Kensignton 製の ThinkingMouse ps/2 PS/2 マウス mmhittab MM の HitTablet x10mouseremote X10 MouseRemote .Ed お使いのマウスが上記のリストにない場合でも、 リスト中のいずれかと互換性があるかも知れません。 互換性に関する情報については .Xr moused 8 のマニュアルページを参照してください。 .Pp また、 この変数が有効であるときは、(Xサーバのような) 他の全てのマウスクライアントは 仮想マウスデバイス .Pa /dev/sysmouse を通してマウスにアクセスし、 それを sysmouse タイプのマウスとして構成すべきであると いうことにも注意すべきです。これは、 .Xr moused 8 使用時は、全てのマウスデータがこの単一の標準フォーマットに変換されるためです。 クライアントプログラムが sysmouse タイプを サポートしないなら次に望ましいタイプとして mousesystems を指定してください。 .It Ar moused_port (文字列) .Ar moused_enable が .Ar YES の場合、これはマウスが接続されている実際のポートになります。 たとえば、COM1 シリアルマウスに対しては .Pa /dev/cuaa0 、PS/2 マウスに対しては .Pa /dev/psm0 、バスマウスに対しては .Pa /dev/mse0 となります。 .It Ar moused_flags (文字列) .Ar moused_type がセットされている場合、これらは .Xr moused 8 デーモンに渡す追加のフラグとなります。 .It Ar cron_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr cron 8 デーモンを起動します。 .It Ar lpd_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr lpd 8 デーモンを起動します。 .It Ar lpd_flags (文字列) .Ar lpd_enable が .Ar YES の場合、これらは .Xr lpd 8 デーモンに渡すフラグとなります。 .It Ar sendmail_enable (ブール値) .Ar YES にセットすると、システムブート時に .Xr sendmail 8 デーモンを起動します。 .It Ar sendmail_flags (文字列) .Ar sendmail_enable が .Ar YES の場合、これらは .Xr sendmail 8 デーモンに渡すフラグとなります。 .It Ar savecore_enable (ブール値) .Ar YES にセットすると、クラッシュ後システムが復旧するとき、デバッグ用にカーネル のクラッシュダンプを保存します。クラッシュイメージは通常 .Pa /var/crash ディレクトリに格納されます。 .It Ar dumpdev (文字列) .Ar NO にセットしないと、カーネルクラッシュダンプ出力先を .Em value で指定したスワップデバイスに向けます。 .It Ar check_quotas (ブール値) .Xr quotacheck 8 コマンドによってユーザディスクのクォータチェックを有効にしたいなら、 .Ar YES にセットします。 .It Ar accounting_enable (ブール値) .Xr accton 8 ファシリティでシステムアカウンティングを有効にしたいなら .Ar YES にセットします。 .It Ar ibcs2_enable (ブール値) システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar linux_enable (ブール値) システムブート時に Linux/ELF バイナリエミュレーションを有効にしたいなら .Ar YES にセットします。 .It Ar rand_irqs (文字列) 乱数生成用に監視する IRQ のリストをセットします ( .Xr rndcontrol 8 のマニュアル参照)。 .It Ar clear_tmp_enable (ブール値) 起動時に .Pa /tmp 下を消去したいなら .Ar YES をセットします。 .It Ar ldconfig_paths (文字列) .Xr ldconfig 8 で使用する共有ライブラリのパスのリストをセットします。注意: .Pa /usr/lib は常に先頭に追加されるので、このリストに指定する必要はありません。 .It Ar kern_securelevel_enable (ブール値) カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 .Ar YES にセットします。 .It Ar kern_securelevel (整数) スタートアップ時にセットされるカーネルセキュリティレベルです。 .Ar 値 として許される範囲は -1 (コンパイル時のデフォルト) から 2 (最も安全) です。 利用可能なセキュリティレベルとシステム操作への影響については、 .Xr init 8 を参照してください。 .Sh 関連項目 .Bl -tag -width /etc/rc.conf -compact .It Pa /etc/rc.conf .El .Pp .Bl -tag -width /etc/rc.conf.local -compact .It Pa /etc/rc.conf.local .El .Sh 関連項目 .Xr gdb 1 , .Xr info 1 , .Xr exports 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , .Xr atm 8 , .Xr cron 8 , .Xr gated 8 , .Xr ifconfig 8 , .Xr inetd 8 , .Xr lpd 8 , .Xr motd 5 , .Xr moused 8 , .Xr mrouted 8 , .Xr named 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr ntpdate 8 , .Xr pcnfsd 8 , .Xr portmap 8 , .Xr quotacheck 8 , .Xr rc 8 , .Xr rndcontrol 8 , .Xr route 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , .Xr rwhod 8 , .Xr sendmail 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr swapon 8 , .Xr tickadj 8 , .Xr timed 8 , .Xr vnconfig 8 , .Xr xntpd 8 , .Xr xtend 8 , .Xr ypbind 8 , .Xr ypserv 8 , .Xr ypset 8 .Sh 歴史 .Nm ファイルは .Fx 2.2.2 で登場しました。 .Sh 作者 .An Jordan K. Hubbard . diff --git a/ja_JP.eucJP/man/man6/factor.6 b/ja_JP.eucJP/man/man6/factor.6 index fcf8ff9ad9..d75a062fdf 100644 --- a/ja_JP.eucJP/man/man6/factor.6 +++ b/ja_JP.eucJP/man/man6/factor.6 @@ -1,120 +1,130 @@ .\" Copyright (c) 1989, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Landon Curt Noll. .\" .\" 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. .\" .\" @(#)factor.6 8.1 (Berkeley) 5/31/93 -.\" jpman %Id: factor.6,v 1.3 1998/04/08 10:27:18 kuma Stab % .\" +.\" $Id: factor.6,v 1.2 1999-02-01 14:37:38 kuriyama Exp $ .\" .\" By: Landon Curt Noll chongo@toad.com, ...!{sun,tolsoft}!hoptoad!chongo .\" .\" chongo /\oo/\ .\" +.\" jpman %Id: factor.6,v 1.3 1998/04/08 10:27:18 kuma Stab % .\" 以下は Linux JM のクレジット .\" Japanese Version Copyright (c) 1997,1998 MAEHARA Kohichi .\" all rights reserved. .\" Translated Sat Feb 21 00:00:00 JST 1998 .\" by MAEHARA Kohichi .\" .\"WORD: 10 most wanted FBI の出す凶悪犯リスト .\" .\" -.TH FACTOR 6 "May 31, 1993" +.TH FACTOR 6 "Jan 7, 1999" .UC 7 .SH 名称 factor, primes \- factor は素因数分解を行なう, primes は素数を求める .SH 書式 .B factor +-[h] [ number ] ... [ number ] ... .PP .B primes -[ start [ stop ]] +-[h] [ start [ stop ]] .SH 解説 .I factor -ユーティリティは -2147483648 以上 2147483647 以下の整数を素因数分解します。 +ユーティリティは 0 以上 ULONG_MAX ( +32 ビットアーキテクチャでは 4294967295 であり、 +64 ビットアーキテクチャでは 18446744073709551615) 以下 +の整数を素因数分解します。 素因数分解されると、元の整数の後ろに ``:'' をつけて、 さらにその後ろに一行で因数のリストが表示されます。 因数は空白で区切りながら昇順に表示されます。 もし同じ因数で複数回割ることができる場合は、その因数は回数分表示されます。 .PP .I factor に 1 つ以上の引数を与えて実行すると、 それぞれについて素因数分解を行います。 .PP .I factor を引数無しで実行すると、 .I factor は一行につき一つの数値を、 ファイルの終了またはエラーとなるまで、標準入力から読み込みます。 先頭の空白ならびに空行は無視されます。 数字の前に一つだけ - か + の記号がついているのはかまいません。 数字は非数字キャラクタ(たとえば改行)で終了します。 数字を一つ読む毎に、それは素因数分解されます。 入力行はそれぞれ一行が255文字を越えてはなりません。 .PP .I primes ユーティリティは .B start 以上 .B stop 未満の素数を一行に一つ、昇順で表示します。 .B start は最低でも 0 以上で、 .B stop\& 未満であることが必要です。 .B stop は 4294967295 よりも大きくてはなりません。 .B stop を省略した場合のデフォルトは 4294967295 です。 .PP 引数なしで .I primes ユーティリティを起動した場合、 .B start は標準入力から読み込まれます。 この場合 .B stop として 4294967295 が用いられます。 .B start の数字の頭に + 記号を付けるのはかまいません。 .B start の数字は非数字のキャラクタ(例えば改行)で終了します。 入力行は255文字を越えてはなりません。 +.SH オプション +.LP +.TP 8 +.B \-h +10 進数ではなく 16 進数で、結果を表示します。 .SH 診断 範囲外あるいは不正な入力を与えると、 答として `ouch' を標準エラーに出力します。 .SH バグ .I factor は ``十大凶悪'' 因子のリストを処理するのには使えませんし、 .I primes で素数の世界記録を求めることはできません。 diff --git a/ja_JP.eucJP/man/man6/wump.6 b/ja_JP.eucJP/man/man6/wump.6 index 16a45811ec..da04262354 100644 --- a/ja_JP.eucJP/man/man6/wump.6 +++ b/ja_JP.eucJP/man/man6/wump.6 @@ -1,114 +1,114 @@ .\" Copyright (c) 1989, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Dave Taylor, of Intuitive Systems. .\" .\" 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. .\" .\" @(#)wump.6 8.1 (Berkeley) 5/31/93 .\" jpman %Id: wump.6,v 1.3 1998/12/24 13:01:19 kuma Stab % .\" .TH WUMP 6 "May 31, 1993" .UC 7 .SH 名称 -wump \- 地下洞窟で wump を狩る +wump \- 地下洞窟で Wump を狩る .SH 書式 .ft B wump [-h] [-a arrows] [-b bats] [-p pits] [-r rooms] [-t tunnels] .ft R .SH 解説 ゲーム .I wump は、1973 年の .I "People's Computer Company" のページ初出のファンタジーゲームを元にしています。 ゲーム Hunt the Wumpus では、 トンネルにより相互接続された多くの部屋からなる洞窟中にあなたは置かれます。 ゲームの目的は、 落し穴に落ちたり矢を使い尽くす前に、 -洞窟中のどこかにいる悪い wump を見つけて撃つことです。 +洞窟中のどこかにいる悪い Wump を見つけて射殺すことです。 .PP オプションを以下に示します: .TP .I -a 冒険者が持つ魔法の矢の数を指定します。 デフォルトでは 5 本です。 .TP .I -b -洞窟中の蝙蝠がいる部屋の数を指定します。 +洞窟中の蝙蝠 (コウモリ) がいる部屋の数を指定します。 デフォルトでは 3 部屋です。 .TP .I -h 難しいバージョン -- より多くの落し穴、より多くの蝙蝠、そしてより危険な洞窟 -- でプレイします。 .TP .I -n 洞窟中の底なし落し穴を持つ部屋の数を指定します。 デフォルトでは 3 部屋です。 .TP .I -r 洞窟中の部屋の数を指定します。 デフォルトの洞窟の大きさは 25 部屋です。 .TP .I -t 洞窟中の各部屋から別の部屋へ接続するトンネルの数を指定します。 注意:小さな洞窟でトンネル数の指定を多くし過ぎると、 かんたんに洞窟が壊れてしまいます。 デフォルトでは、洞窟の部屋は他の部屋へのトンネルを 3 つ持ちます。 .PP 洞窟をさまよっているうちに、 トンネルはどこにでもあるけれども、 洞窟の構造には奇妙な特徴があることに気づくかもしれません。たとえば、 トンネルによっては、ある部屋から別の部屋に行ける場合でも、 戻り道があるとは限らないことがあります。 また、最もやっかいな特徴として、むちゃくちゃな数の蝙蝠の巣となっている 部屋があります。 邪魔をされた蝙蝠は、ひとまとまりとなってあなたをつまみあげ、 洞窟中の別の場所 (不用心な冒険者を確実に殺す、底なし落し穴がある部屋を含みます) にあなたを移動してしまいます。 .PP 幸運なことに、武器や道具無しに洞窟に潜り込もうとしているわけではありません。 そして、実際のところ、最も助けになるものは自分自身の感覚です; -Wumpus の悪臭は +Wump の悪臭は .I 2 部屋先から感じることが可能です。 点在する底なし落し穴からの隙間風を常に感じ取ることができます。 蝙蝠が眠っている洞窟中では羽の音を聞くことができます。 .PP -wump を殺すためには、魔法の矢の 1 本をもって射る必要があります。 +Wump を殺すためには、魔法の矢の 1 本をもって射る必要があります。 幸運なことに、その生物と同じ部屋にいる必要はなく、 3 部屋もしくは 4 部屋離れたところから矢を射ることが可能です。 .PP 矢を射るときには、矢が通る部屋のリストを打ち込む必要があります。 矢が通る経路上のどこかで、ある部屋から次に指定した部屋へのトンネルが 無い場合には、 矢はその部屋のトンネルのひとつをランダムに選択して飛びます。 本当に不幸な場合には、自分の部屋に戻ってきて 自分自身に当たる可能性すらあります! diff --git a/ja_JP.eucJP/man/man7/hier.7 b/ja_JP.eucJP/man/man7/hier.7 index 0d221457c8..e063d12fd5 100644 --- a/ja_JP.eucJP/man/man7/hier.7 +++ b/ja_JP.eucJP/man/man7/hier.7 @@ -1,618 +1,618 @@ .\" Copyright (c) 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)hier.7 8.1 (Berkeley) 6/5/93 -.\" jpman %Id: hier.7,v 1.3 1999/01/04 08:08:08 kuma Stab % -.\" %Id: hier.7,v 1.15 1997/09/13 17:52:36 wosch Exp % +.\" %Id: hier.7,v 1.16 1998/12/21 05:57:57 jkoshy Exp % .\" +.\" jpman %Id: hier.7,v 1.3 1999/01/04 08:08:08 kuma Stab % .Dd June 5, 1993 .Dt HIER 7 .Os .Sh 名称 .Nm hier .Nd ファイルシステムのレイアウト .Sh 解説 ファイルシステムの階層構成についての概略です。 .Bl -tag -width "/stand/" .It Li / ファイルシステムのルートディレクトリ。 .It Li /bin/ ユーザ用ユーティリティの基本的なもの。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Li /dev/ ブロックデバイスおよびキャラクタデバイスファイル。 .Pp .Bl -tag -width MAKEDEV -compact .It Li MAKEDEV デバイスファイル作成用スクリプト。 .Xr MAKEDEV 8 参照。 .It Li fd/ ファイル記述子ファイル。 .Xr \&fd 4 参照。 .El .It Li /etc/ システムの設定ファイル、およびスクリプト。 .Pp .Bl -tag -width "disklabels/" -compact .It Li gnats/ gnats 設定ファイル。 .Xr send-pr 1 参照。 .It Li kerberosIV/ kerberos バージョン IV の設定ファイル。 .Xr kerberos 1 参照。 .It Li localtime ローカルタイムゾーン情報。 .Xr ctime 3 参照。 .It Li mtree/ mtree 設定ファイル。 .Xr mtree 8 参照。 .It Li namedb/ named 設定ファイル。 .Xr named 8 参照。 .It Li ppp/ .Xr ppp 8 ppp 設定ファイル。 .Xr ppp 8 参照。 .It Li skel/ 新しいアカウントのための \&. (ドット) ファイルのローカルの例。 .Xr adduser 8 参照。 .It Li uucp/ uucp 設定ファイル。 .Xr uucp 1 参照。 .El .It Li /kernel カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Li /lkm/ ロード可能なカーネルモジュール。 .Xr lkm 4 参照。 .It Li /mnt/ 通常、システム管理者が一時的なマウントポイントとして使用する 空のディレクトリ。 .It Li /proc/ プロセスファイルシステム。 .Xr procfs 5 , .Xr mount_procfs 8 参照。 .It Li /root root のホームディレクトリ。 .It Li /sbin/ システムプログラム、および基本的な管理者用ユーティリティ。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Li /stand/ スタンドアロン環境で使用されるプログラム。 .It Li /tmp/ テンポラリファイル。通常は .Xr mfs 8 メモリファイルシステム (通常、/tmp の内容はシステムを再起動した際には 保存されない)。 .It Li /usr/ ユーザ用ユーティリティ、およびアプリケーションの大部分を含む。 .Pp .Bl -tag -width "libdata/" -compact .It Li bin/ 一般的なユーティリティ、プログラミングツール、アプリケーション。 .It Li games/ 有用でちょっとふざけたプログラム。 .It Li include/ 標準 C 言語インクルードファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Li arpa/ インターネットサービスプロトコルのための C 言語インクルードファイル。 .It Li g++/ GNU C++ 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Li std/ GNU C++ 言語 libstdc++ インクルードファイル。 .El .It Li isofs/ .Bl -tag -width "kerberosIV/" -compact .It Li cd9660/ iso9660 形式ファイルシステム。 .El .It Li kerberosIV/ kerberos 認証パッケージ用 C 言語インクルードファイル。 .Xr kerberos 1 参照。 .It Li machine/ マシン固有機能の C 言語インクルードファイル。 .It Li msdosfs/ MS-DOS ファイルシステム。 .It Li net/ その他のネットワーク機能用 C 言語インクルードファイル。 .\" .It Li netimp/ .\" IMP プロトコル用 C 言語インクルードファイル .\" ( .\" .Xr imp 4 .\" 参照) .It Li netatalk/ Appletalk プロトコル。 .It Li netinet/ インターネット標準プロトコル用 C 言語インクルードファイル。 .Xr inet 4 参照。 .\" .It Li netiso/ .\" ISO 標準プロトコル用 C 言語インクルードファイル .\" ( .\" .Xr iso 4 .\" 参照) .\" .It Li netns/ .\" XNS 標準プロトコル用 C 言語インクルードファイル .\" ( .\" .Xr \&ns 4 .\" 参照) .It Li netipx/ IPX/SPX プロトコルスタック。 .It Li netkey/ カーネルの鍵管理サービス。 .It Li netns/ Xerox 社の NS プロトコル。 .It Li nfs/ NFS (Network File System) 用 C 言語インクルードファイル。 .It Li objc/ ??? .It Li pccard/ PC-CARD コントローラ。 .It Li protocols/ Berkeley サービスプロトコル用 C 言語インクルードファイル。 .It Li readline/ ユーザからの一行入力機能(編集機能付き)。 .Xr readline 3 参照。 .It Li rpc/ リモート手続き呼び出し。 .Xr rpc 3 参照。 .It Li rpcsvc/ ??? .It Li ss/ libss ??? .It Li sys/ システム用 C 言語インクルードファイル (カーネルデータ構造)。 .It Li tcl/ Tcl 言語。 .Xr Tcl n 参照。 .Bl -tag -width "kerberosIV/" -compact .It Li generic/ ??? .It Li unix/ ??? .El .It Li ufs/ UFS (U-word File System) 用 C 言語インクルードファイル。 .Bl -tag -width "kerberosIV/" -compact .It Li ffs/ Fast filesystem。 .It Li lfs/ ログファイルシステム。 .Xr mount_lfs 8 参照。 .It Li mfs/ メモリファイルシステム。 .Xr mount_mfs 8 参照。 .It Li ufs/ UFS ファイルシステム。 .El .It Li vm/ 仮想記憶。 .Xr vmstat 8 参照。 .El .Pp .It Li lib/ アーカイブライブラリ。 .Bl -tag -width Fl -compact .It Li compat/ 互換性維持用の共有ライブラリ。 .El .Pp .It Li libdata/ その他のユーティリティデータファイル。 .Bl -tag -width Fl -compact .It Li gcc/ ??? .It Li lint/ さまざまな lint 用ライブラリ(事前に構築されている)。 .Xr lint 1 参照。 .It Li stallion/ ダウンロードファームウェアのイメージが保持されている。 .It Li tcl ???; .Xr Tcl n 参照。 .El .Pp .It Li libexec/ システムデーモンおよびシステムユーティリティ。 (他のプログラムから実行されるもの)。 .Bl -tag -width Fl -compact .It Li lpr/ ??? .Xr lpr 1 参照。 .It Li sm.bin/ sendmail 用制限付きシェル。 .Xr smrsh 8 参照。 .It Li uucp/ uucp ユーティリティ。 .Xr uucp 1 参照。 .El .Pp .It Li local/ ローカルの実行可能ファイル、ライブラリなど。 .br .Tn FreeBSD ports フレームワークのデフォルトのインストール先としても使用されます。 local/以下では、 .Xr hier 7 で /usr に関して 記述された一般的な配置が使用されます。例外として、man ディレクトリは local/share/ の下ではなく、local/ の直下に存在します。ports のドキュメントは share/doc// に置かれます。 .It Li mdec/ ブートプログラム。 .Xr disklabel 8 参照。 .It Li obj/ アーキテクチャ依存のターゲットツリー。 /usr/src ツリーを構築することで作成される。 .It Li ports/ .Tn FreeBSD ports コレクション (オプション扱い)。 .It Li sbin/ (ユーザによって実行される) システムデーモン、およびシステムユーティリティ。 .It Li share/ -アーキテクチャに依存しない ascii テキストファイル。 +アーキテクチャに依存しないファイル。 .Pp .Bl -tag -width "calendar/" -compact .It Li calendar/ 事前に組み立てられた calendar ファイルいろいろ。 .Xr calendar 1 参照。 .It Li dict/ 単語リスト。 .Xr look 1 参照。 .Pp .Bl -tag -width Fl -compact .It Li words 一般の単語 .It Li web2 Webster's 2nd International からの単語 .It Li papers/ リファレンスデータベース。 .Xr refer 1 参照。 .It Li special/ 特殊な語のリスト。 .Xr spell 1 参照。 .El .Pp .It Li doc/ その他の文書。 ( .Tn USENIX association から入手できる) .Bx マニュアルのほとんどのソース。 .Bl -tag -width Fl -compact .It Li FAQ/ しばしば行なわれる質問とその答え (Frequently Asked Questions)。 .It Li handbook/ .Tn FreeBSD ハンドブック .It Li papers/ UNIX 関連の論文 .It Li psd/ UNIX プログラマ用補助文書 .It Li smm/ UNIX システム管理者用マニュアル .It Li usd/ UNIX ユーザ用補助文書 .El .Pp .It Li examples/ 一般ユーザやプログラマ向けのさまざまな用例。 .It Li games/ 各種のゲームで使用される ascii テキストファイル。 .It Li groff_font/ デバイス名ごとに用意されたデバイス記述ファイル。 .It Li info/ GNU Info ハイパーテキストシステム。 .It Li isdn/ ISDN。 .It Li libg++/ libg++ genclass のプロトタイプ/テンプレートクラスファイル。 .It Li locale/ 国際化機能関係のファイル。 .Xr setlocale 3 参照。 .It Li man/ マニュアルページ。 .It Li me/ me マクロパッケージで使用するマクロ。 .It Li misc/ その他システム全体の ascii テキストファイル。 .Bl -tag -width Fl -compact .It Li fonts/ ??? .It Li pcvtfonts/ ???; .Xr pcvt 4 参照。 .It Li pkg_manage/ パッケージマネージャのヘルプファイル。 .Xr pkg_manage 参照。 .It Li termcap 端末の特性を記述するデータベース。 .Xr termcap 5 参照。 .El .It Li mk/ make 用テンプレート。 .Xr make 1 参照。 .It Li ms/ ms マクロパッケージで使用するマクロ。 .It Li nls/ 各国語サポート(National Lanuguage Support)ファイル。 .Xr mklocale 1 参照。 .It Li perl/ perl ライブラリファイル。 .Xr perl 1 参照。 .It Li sgml/ SGML ツールファイル。 .Xr instant 1 参照。 .It Li skel/ 新しいアカウントのための . (ドット) ファイルの例。 .It Li tabset/ 各種端末用タブ記述ファイル。termcap ファイルの中で使用される。 .Xr termcap 5 参照。 .It Li tmac/ テキスト処理マクロ。 .Xr nroff 1 および .Xr troff 1 参照。 .It Li zoneinfo/ タイムゾーン設定情報。 .Xr tzfile 5 参照。 .El .It Li src/ BSD と local のソースファイル。 .Pp .Bl -tag -width "kerberosIV/" -compact .It Li bin/ /bin 内のファイルのソース。 .It Li contrib/ 寄贈されたソフトウェアのファイルのソース。 .It Li eBones/ Kerberos と DES。 .It Li etc/ /etc 内のファイルのソース。 .It Li games/ /usr/games 内のファイルのソース。 .It Li gnu/ GNU Public Licence で保護されたユーティリティ。 .It Li include/ /usr/include 内のファイルのソース。 .It Li kerberosIV/ Kerberos version IV のソース。 .It Li lib/ /usr/lib 内のファイルのソース。 .It Li libexec/ /usr/libexec 内のファイルのソース。 .It Li local/ /usr/local 内のファイルのソース。 .It Li lkm/ /lkm 内のファイルのソース。 .It Li release/ .Tn FreeBSD のリリースを生成するために必要なファイル。 .It Li sbin/ /sbin 内のファイルのソース。 .It Li secure/ DES のソース。 .It Li share/ /usr/share 内のファイルのソース。 .It Li sys/ カーネルのソースファイル。 .It Li usr.bin/ /usr/bin 内のファイルのソース。 .It Li usr.sbin/ /usr/sbin 内のファイルのソース。 .El .Pp .It Li X11R6/ X11R6 配布パッケージの実行可能形式ファイル、ライブラリなど (オプション扱い)。 .El .It Li /var/ さまざまな用途のログファイル、一時ファイル、遷移的ファイル、 スプールファイル。 .Pp .Bl -tag -width "preserve/" -compact .It Li account/ システムアカウンティングファイル。 .Pp .Bl -tag -width Fl -compact .It Li acct 実行アカウントファイル。 .Xr acct 5 参照。 .El .Pp .It Li at/ 指定した時間に動くコマンドのスケジュールファイル。 .Xr \&at 1 参照。 .Bl -tag -width "preserve/" -compact .It Li jobs ジョブファイルを含むディレクトリ。 .It Li spool 出力スプールファイルを含むディレクトリ。 .El .Pp .It Li backups/ さまざまなバックアップファイル。 .It Li crash/ ???; .Xr crash 8 参照。 .It Li cron/ .Bl -tag -width "preserve/" -compact .It Li log cron のログファイル。 .Xr cron 8 参照。 .It Li tabs crontab ファイル。 .Xr crontab 5 参照。 .El .Pp .It Li db/ システム固有のさまざまなデータベースファイル。自動生成される。 .It Li games/ さまざまなゲームのステータスおよびログファイル。 .\" .It Li games/ .\" ゲームスコアのファイル。 .It Li log/ さまざまなシステムログファイル。 .Pp .Bl -tag -width Fl -compact .It Li wtmp login/logout ログ。 .Xr wtmp 5 参照。 .El .Pp .It Li mail/ ユーザのメールボックスファイル。 .It Li preserve/ エディタの不慮の死の際に保存されるファイルを一時的に安置するディレクトリ。 .Xr \&ex 1 参照。 .It Li msgs/ システムメッセージのデータベース。 .Xr msgs 1 参照。 .It Li quotas/ ファイルシステムのクォータ情報のファイル。 .It Li run/ ブートされてからのシステムについての各種情報を記述した システム情報ファイル。 .Pp .Bl -tag -width Fl -compact .It Li utmp 現在のユーザについてのデータベース。 .Xr utmp 5 参照。 .El .Pp .It Li rwho/ rwho データファイル。 .Xr rwhod 8 , .Xr rwho 1 , .Xr ruptime 1 参照。 .It Li spool/ さまざまなプリンタ、メールシステムのスプールディレクトリ。 .Pp .Bl -tag -width Fl -compact .It Li ftp/ 一般に ~ftp となる部分。anonymous ftp のルートディレクトリ。 .It Li mqueue/ 配送されていないメールのキュー。 .Xr sendmail 8 参照。 .It Li output/ ラインプリンタ用スプールディレクトリ。 .It Li secretmail/ 機密メール用スプールディレクトリ。 .Xr xget 1 参照。 .It Li uucp/ uucp スプールディレクトリ。 .It Li uucppublic/ 一般に ~uucp となる部分。共用 uucp テンポラリディレクトリ。 .El .Pp .It Li tmp/ システムがリブートするまでの間保持されるテンポラリファイル。 .Bl -tag -width Fl -compact .It Li vi.recover vi のリカバリファイルを格納しておくディレクトリ。 .El .It Li yp NIS マップ。 .El .El .Sh 関連項目 .Xr apropos 1 , .Xr find 1 , .Xr finger 1 , .Xr grep 1 , .Xr ls 1 , .Xr whatis 1 , .Xr whereis 1 , .Xr which 1 , .Xr fsck 8 .Sh 歴史 .Nm hier マニュアルページは .At v7 で登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 98-12-26 diff --git a/ja_JP.eucJP/man/man7/mdoc.7 b/ja_JP.eucJP/man/man7/mdoc.7 index 8b0ccc2452..6a8856c323 100644 --- a/ja_JP.eucJP/man/man7/mdoc.7 +++ b/ja_JP.eucJP/man/man7/mdoc.7 @@ -1,413 +1,413 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mdoc.7 8.2 (Berkeley) 12/30/93 -.\" %Id: mdoc.7,v 1.6 1997/03/20 16:04:00 mpp Exp % +.\" %Id: mdoc.7,v 1.8 1998/12/04 00:51:17 jkoshy Exp % .\" .\" jpman %Id: mdoc.7,v 1.5 1999/01/21 18:02:11 kuma Stab % .\" .\" WORD: display ディスプレイ (表示よりも展示に意味が近いと思います) .\" WORD: enclose 囲む、囲み .\" WORD: quote クォート .\" WORD: open (quote) 開き… .\" WORD: close (quote) 閉じ… .\" WORD: content macro コンテントマクロ .\" WORD: parse 解析する .Dd December 30, 1993 .Os .Dt MDOC 7 .Sh 名称 .Nm mdoc .Nd マクロパッケージ .Nm \-mdoc のクイックリファレンスガイド .Sh 書式 .Nm groff .Fl m Ns Ar doc .Ar files ... .Sh 解説 .Nm \-mdoc パッケージは、 .Bx マニュアルページをフォーマットするのに 使うコンテントベースおよび領域ベースのマクロのセットです。 マクロ名とその意味はクイックリファレンスとして以下に一覧が あります。パッケージを使う上での詳細な説明は、サンプルチュートリアルの .Xr mdoc.samples 7 を見て下さい。 .Pp マクロは 2 つのグループに分けて述べられています。1 つ目は 構造的なページレイアウトマクロと物理的な ページレイアウトマクロです。 2 つ目は、 マニュアル領域マクロと 一般テキスト領域マクロであり、 .Nm -\mdoc パッケージを他の .Xr troff フォーマットパッケージとは異なるものとしています。 .Sh ページ構造領域 .Ss タイトルマクロ 正しいマニュアルを生成するために、以下の 3 つのマクロがこの順序で 必要になります: .Bl -tag -width "xxxx.Os OPERATINGxSYSTEM [version/release]" -compact .It Li "\&.Dd " Ar "Month day, year" ドキュメントの日付 .It Li "\&.Dt " Ar "DOCUMENT_TITLE [section] [volume]" 大文字で記述したタイトル .It Li "\&.Os " Ar "OPERATING_SYSTEM [version/release]" オペレーティングシステム .Pq Tn BSD .El .Ss ページレイアウトマクロ セクションヘッダ、段落の区切り、リスト、ディスプレイです。 .Bl -tag -width flag -compact .It Li \&.Sh セクションヘッダ。 正しいヘッダを、登場する順に示します: .Bl -tag -width "RETURN VALUES" -compact .It Ar NAME 名称セクション。 .Ql \&.Nm もしくは .Ql \&.Fn と、 .Ql \&.Nd マクロを含む必要があります。 .It Ar SYNOPSIS 使用方法。 .It Ar DESCRIPTION 一般的な解説。オプションとパラメータを含む必要があります。 .It Ar RETURN VALUES セクション 2, 3 の関数呼び出しが使用します。 .It Ar ENVIRONMENT 環境変数を記述します。 .It Ar FILES その題材に関係があるファイル群。 .It Ar EXAMPLES 例と助言。 .It Ar DIAGNOSTICS 普通、セクション 4 のデバイスインタフェースの診断のために使用します。 .It Ar ERRORS セクション 2, 3 で、エラーとシグナルを取り扱います。 .It Ar SEE ALSO クロスリファレンスと引用。 .It Ar STANDARDS 適用できるなら、規格準拠を示します。 .It Ar HISTORY 規格が適用できない場合、題材の歴史が必要です。 .It Ar BUGS 思い違い (gotcha) と警告。 .It Ar その他 著者の裁量によりカスタマイズしたヘッダを加えてもかまいません。 .El .It Li \&.Ss サブセクションヘッダ。 .It Li \&.Pp 段落区切り。 垂直な空白 (1 行) です。 .It Li \&.D1 (D-one) 1 個分のディスプレイ。 インデントして、1 テキスト行をディスプレイします。 .It Li \&.Dl (D-ell) 1 個分のリテラルディスプレイ。 インデントして、リテラルテキストを 1 行でディスプレイします。 .It Li \&.Bd ディスプレイブロックを開始します。 表示オプション: .Bl -tag -width "xoffset string " -compact .It Fl ragged 揃えない(行末はちぎれた状態)。 .It Fl filled 揃える。 .It Fl literal リテラルテキストやコード。 .It Fl file Ar name .Ar file を読み込み、ディスプレイします。 .It Fl offset Ar string オフセットディスプレイ。使用可能な .Ar string 値: .Bl -tag -width indent-two -compact .It Ar left ブロックの左寄せ (デフォルト)。 .It Ar center センタリングするように余白を取ります。 .It Ar indent 6 つの一定幅の空白 (タブ 1 個)。 .It Ar indent-two タブ 2 個。 .It Ar right 右から 2 インチのところにブロックを左寄せします。 .It Ar xx Ns Cm n .Ar xx には、 .No \&4 Ns Cm n から .No \&9\&9 Ns Cm n までの数字。 .It Ar Aa .Ar Aa は、呼び出し可能なマクロ名。 .It Ar string .Ar string の幅が使われます。 .El .El .It Li \&.Ed ディスプレイの終り (\&.Bd に対応)。 .It Li \&.Bl リストの開始。リストまたは列を作成します。 オプション: .Bl -tag -width flag -compact .It Ar リストの型 .Bl -column xbullet -compact .It Fl bullet Ta "丸印付きの項目リスト" .It Fl item Ta "ラベル無しのリスト" .It Fl enum Ta "番号付けしたリスト" .It Fl tag Ta "タグラベルのリスト" .It Fl diag Ta "診断リスト" .It Fl hang Ta "ぶら下がりラベルのリスト" .It Fl ohang Ta "突き出したラベルのリスト" .It Fl inset Ta "挿入または追い込みラベルのリスト" .El .It リストのパラメータ .Bl -tag -width "xcompact " -compact .It Fl offset (すべてのリスト) 上記の .Ql \&.Bd ディスプレイ開始を参照。 .It Fl width .Pf ( Fl tag と .Fl hang リストのみ) .Ql \&.Bd を参照。 .It Fl compact (すべてのリスト) 空行を作らない。 .El .El .It Li \&.El リストの終り。 .It Li \&.It リストの項目。 .El .Sh マニュアル領域と一般テキスト領域のマクロ マニュアル領域マクロと一般テキスト領域マクロは、 そのほとんどが呼び出し可能なマクロに解析されるという点で特別です。例えば: .Bl -tag -width ".Op Fl s Ar filex" -offset indent .It Li "\&.Op Fl s Ar file" は .Op Fl s Ar file を生成します。 .El .Pp この例では、オプション囲みマクロ .Ql \&.Op が解析されると、引数 .Ql s を操作する 呼び出し可能なコンテントマクロ .Ql \&Fl を呼び出してから、引数 .Ql file を操作する 呼び出し可能なコンテントマクロ .Ql \&Ar を呼びます。 呼び出し可能ではあるものの解析はされないマクロがありますし、 その逆もあります。 これらのマクロを、後述の .Em 解析対象 (parsed) と .Em 呼出可 (callable) の列に示します。 .Pp 言及していなければ、マニュアル領域マクロは、次の共通の構文をとります: .Pp .Dl \&.Va argument [\ .\ ,\ ;\ :\ (\ )\ [\ ]\ argument \...\ ] .Pp .Sy 注意 : 開く句読点文字と閉じる句読点文字 (訳注: 句読点文字には括弧なども含みます) がそのように認識されるのは、 ひとつずつ登場する場合だけです。 文字列 .Ql ")," は、句読点とは認識されず、 先行する空白文字とともに呼び出しマクロが使用しているフォントで出力されます。 引数リスト .Ql "] ) ," は 3 つの連続した閉じる句読点と認識され、 文字間および (存在する場合には) 先行する引数との間には、 先行する空白文字は出力されません。 句読点文字の特別の意味は、文字列 .Ql \e& によりエスケープされます。 例えば、次の文字列 .Bl -tag -width "&.Ar file1\ , file2\ , file3\ )\ ." -offset indent .It Li "\&.Ar file1\ , file2\ , file3\ )\ ." は .Ar file1 , file2 , file3 ) . を生成します。 .El .ne 1i .Ss マニュアル領域のマクロ .Bl -column "名称" "解析対象" "呼出可" -compact .It Em 名称 解析対象 呼出可 解説 .It Li \&Ad Ta Yes Ta Yes Ta "アドレス (このマクロは使用しないように言われています)。" .It Li \&An Ta Yes Ta Yes Ta "著者名。" .It Li \&Ar Ta Yes Ta Yes Ta "コマンドラインの引数。" .It Li \&Cd Ta \&No Ta \&No Ta "コンフィギュレーション宣言 (セクション 4 のみ)。" .It Li \&Cm Ta Yes Ta Yes Ta "コマンドライン引数修飾子。" .It Li \&Dv Ta Yes Ta Yes Ta "定義された変数 (ソースコード)。" .It Li \&Er Ta Yes Ta Yes Ta "エラー番号 (ソースコード)。" .It Li \&Ev Ta Yes Ta Yes Ta "環境変数。" .It Li \&Fa Ta Yes Ta Yes Ta "関数の引数。" .It Li \&Fd Ta Yes Ta Yes Ta "関数の定義。" .It Li \&Fn Ta Yes Ta Yes Ta "関数呼び出し (.Fo や .Fc も同様)。" .It Li \&Ic Ta Yes Ta Yes Ta "対話的なコマンド。" .It Li \&Li Ta Yes Ta Yes Ta "リテラルテキスト。" .It Li \&Nm Ta Yes Ta Yes Ta "コマンド名。" .It Li \&Op Ta Yes Ta Yes Ta "オプション (.Oo や .Oc も同様)。" .It Li \&Ot Ta Yes Ta Yes Ta "古いスタイルの関数型 (Fortran のみ)。" .It Li \&Pa Ta Yes Ta Yes Ta "パス名やファイル名。" .It Li \&St Ta Yes Ta Yes Ta "規格 (-p1003.2 や -p1003.1 や -ansiC)。" .It Li \&Va Ta Yes Ta Yes Ta "変数名。" .It Li \&Vt Ta Yes Ta Yes Ta "変数の型 (Fortran のみ)。" .It Li \&Xr Ta Yes Ta Yes Ta "マニュアルのクロスリファレンス。" .El .Ss 一般テキスト領域のマクロ .Bl -column "名称" "解析対象" "呼出可" -compact .It Em "名称 解析対象 呼出可 解説" .It Li \&%A Ta Yes Ta \&No Ta "参照の著者。" .It Li \&%B Ta Yes Ta Yes Ta "参照の図書タイトル。" .It Li \&%\&C Ta \&No Ta \&No Ta "参照の発行場所(市)。" .It Li \&%\&D Ta \&No Ta \&No Ta "参照の日付。" .It Li \&%J Ta Yes Ta Yes Ta "参照の雑誌タイトル。" .It Li \&%N Ta \&No Ta \&No Ta "参照の刊行番号。" .It Li \&%\&O Ta \&No Ta \&No Ta "参照の追加的な情報。" .It Li \&%P Ta \&No Ta \&No Ta "参照のページ番号。" .It Li \&%R Ta \&No Ta \&No Ta "参照のレポート名。" .It Li \&%T Ta Yes Ta Yes Ta "参照の記事タイトル。" .It Li \&%V Ta \&No Ta \&No Ta "参照の巻名。" .It Li \&Ac Ta Yes Ta Yes Ta "カギ括弧(angle)閉じクォート。" .It Li \&Ao Ta Yes Ta Yes Ta "カギ括弧(angle)開きクォート。" .It Li \&Ap Ta Yes Ta Yes Ta "アポストロフィ。" .It Li \&Aq Ta Yes Ta Yes Ta "カギ括弧(angle)クォート。" .It Li \&At Ta \&No Ta \&No Ta Tn "AT&T UNIX。" .It Li \&Bc Ta Yes Ta Yes Ta "角括弧(bracket)閉じクォート。" .It Li \&Bf Ta \&No Ta \&No Ta "フォントモード始点。" .It Li \&Bo Ta Yes Ta Yes Ta "角括弧(bracket)開きクォート。" .It Li \&Bq Ta Yes Ta Yes Ta "角括弧(bracket)クォート。" .It Li \&Bx Ta Yes Ta Yes Ta "BSD UNIX。" .It Li \&Db Ta \&No Ta \&No Ta "デバッグ (デフォルトは \\*qoff\\*q)。" .It Li \&Dc Ta Yes Ta Yes Ta "ダブル(double)閉じクォート。" .It Li \&Do Ta Yes Ta Yes Ta "ダブル(double)開きクオート。" .It Li \&Dq Ta Yes Ta Yes Ta "ダブル(double)クォート。" .It Li \&Ec Ta Yes Ta Yes Ta "文字列で囲む閉じクォート。" .It Li \&Ef Ta \&No Ta \&No Ta "フォントモード終了。" .It Li \&Em Ta Yes Ta Yes Ta "強調 (古風な英語)。" .It Li \&Eo Ta Yes Ta Yes Ta "文字列で囲む開きクォート。" .It Li \&Fx Ta \&No Ta \&No Ta Tn "FreeBSD オペレーティングシステム。" .It Li \&No Ta Yes Ta Yes Ta "通常のテキスト (no-op)。" .It Li \&Ns Ta Yes Ta Yes Ta "空白なし。" .It Li \&Pc Ta Yes Ta Yes Ta "丸括弧(parenthesis)閉じクォート。" .It Li \&Pf Ta Yes Ta \&No Ta "接頭文字列。" .It Li \&Po Ta Yes Ta Yes Ta "丸括弧(parenthesis)開きクォート。" .It Li \&Pq Ta Yes Ta Yes Ta "丸括弧クォート。" .It Li \&Qc Ta Yes Ta Yes Ta "まっすぐなダブル(double)閉じクォート。" .It Li \&Ql Ta Yes Ta Yes Ta "クォートされたリテラル。" .It Li \&Qo Ta Yes Ta Yes Ta "まっすぐなダブル(double)開きクォート。" .It Li \&Qq Ta Yes Ta Yes Ta "まっすぐなダブル(double)クォート。" .It Li \&Re Ta \&No Ta \&No Ta "参照終了。" .It Li \&Rs Ta \&No Ta \&No Ta "参照開始。" .It Li \&Rv Ta \&No Ta \&No Ta "戻り値 (セクション 2 と 3 のみ)。" .It Li \&Sc Ta Yes Ta Yes Ta "(single)閉じクォート。" .It Li \&So Ta Yes Ta Yes Ta "(single)開きクォート。" .It Li \&Sq Ta Yes Ta Yes Ta "(single)クォート。" .It Li \&Sm Ta \&No Ta \&No Ta "空白モード(デフォルトは \\*qon\\*q)。" .It Li \&Sx Ta Yes Ta Yes Ta "セクションクロスリファレンス。" .It Li \&Sy Ta Yes Ta Yes Ta "シンボリック (古風な英語)。" .It Li \&Tn Ta Yes Ta Yes Ta "商標またはタイプ名 (小さい大文字)。" .It Li \&Ux Ta Yes Ta Yes Ta "UNIX。" .It Li \&Xc Ta Yes Ta Yes Ta "拡張引数リスト終了。" .It Li \&Xo Ta Yes Ta Yes Ta "拡張引数リスト開始。" .El .\" .It Sy \&Hf Ta \&No Ta \&No Ta "Include file with header" .Pp .Ql q で終わるマクロ名は、引数リストの残りの項目をクォートします。 .Ql o で終わるマクロ名はクォートの開始であり、複数行の入力に渡ります。 .Ql c で終わる対応するマクロ名は、このクォートを閉じます。 囲みマクロは入れ子になっても良く、引数は 8 個に制限されます。 .Pp 注意: 拡張引数リストマクロ .Pf ( Ql \&.Xo , .Ql \&.Xc ) と関数囲みマクロ .Pf ( Ql \&.Fo , .Ql \&.Fc ) は、変則です。 拡張リストマクロは、マクロ引数が .Xr troff の制限である 9 個を越える場合に使われます。 .Sh コンフィギュレーション マクロパッケージのサイト依存コンフィギュレーションのために、 ファイル .Pa /usr/src/share/tmac/README を参照して下さい。 .Sh 関連ファイル .Bl -tag -width "tmac.doc-ditroff" -compact .It Pa tmac.doc マニュアル領域と一般テキスト領域のマクロ。 .It Pa tmac.doc-common 共通構造マクロと定義。 .It Pa tmac.doc-nroff サイト依存の .Xr nroff スタイルファイル。 .It Pa tmac.doc-ditroff サイト依存の .Xr troff スタイルファイル。 .It Pa tmac.doc-syms (標準マクロのような) 特殊定義。 .El .Sh 関連項目 .Xr mdoc.samples 7 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 99-1.21 diff --git a/ja_JP.eucJP/man/man7/mdoc.samples.7 b/ja_JP.eucJP/man/man7/mdoc.samples.7 index 4e31b6cc6e..102cae151d 100644 --- a/ja_JP.eucJP/man/man7/mdoc.samples.7 +++ b/ja_JP.eucJP/man/man7/mdoc.samples.7 @@ -1,2706 +1,2709 @@ .\" 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 -.\" %Id: mdoc.samples.7,v 1.16 1997/12/08 07:44:20 charnier Exp % +.\" %Id: mdoc.samples.7,v 1.17 1998/12/03 03:38:45 jkoshy Exp % .\" .\" jpman %Id: mdoc.samples.7,v 1.4 1999/01/21 17:52:58 kuma Stab % .\" .\" 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. .\" .\" 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 "タイトルマクロの紹介" +.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 "クロスリファレンス" .El .It .Tn "一般テキスト領域" .Bl -tag -width flag -compact -offset indent .It "AT&T マクロ" .It "BSD マクロ" +.It "FreeBSD マクロ" .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" ださい。この次の項目はセクション 2 と 3 でのみ必要な、関数の戻り \&.\e" 値です。 \&.\e" .Sh RETURN VALUES \&.\e" 次の項目はセクション 1, 6, 7, 8 でのみ必要なものです。 \&.\e" .Sh ENVIRONMENT \&.\e" .Sh FILES \&.\e" .Sh EXAMPLES \&.\e" 次の項目はセクション 1, 6, 7, 8 でのみ必要なものです。 \&.\e" ((シェルへの)コマンドの戻り値と fprintf/stderr の型の診断 \&.\e" です。) \&.\e" .Sh DIAGNOSTICS \&.\e" 次の項目はセクション 2 と 3 でのみ必要な、エラーハンドリングと \&.\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,\ ...,\ 8 となり、これが指定されると ボリュームタイトルを省略してもかまいません。 ボリュームタイトルは任意のものか、以下のうちいずれかになります。 .\" .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 マニュアル領域 +.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 \&.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 変数 一般的な変数への参照です。 .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,...,8] \*(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 マクロ .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 .Ql \&.Fx マクロは解析 .Em されず 、呼び出し .Em 不可能 です。 最大 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 (訳注: 作者) クレジットが必要であれば、ここで入れます。 .It \&.Sh DIAGNOSTICS (訳注: 診断) コマンドからの診断はこのセクションに入れます。 .It \&.Sh ERRORS (訳注: エラー) 特定のエラーハンドリング、特にライブラリ関数 (man ページのセクション 2 と 3) でのエラーハンドリングは、ここで説明します。 .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 .Dl Fl ldghfstru .Pp これは次の指定で生成されたものです。 .Li \&.Dl 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/ports.7 b/ja_JP.eucJP/man/man7/ports.7 index e3fdb52ace..a3be314260 100644 --- a/ja_JP.eucJP/man/man7/ports.7 +++ b/ja_JP.eucJP/man/man7/ports.7 @@ -1,332 +1,342 @@ .\" .\" Copyright (c) 1997 David E. O'Brien .\" .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %Id: ports.7,v 1.8 1998/06/29 06:54:34 hoek Exp % +.\" %Id: ports.7,v 1.9 1998/12/30 17:32:47 hoek Exp % .\" .\" jpman %Id: ports.7,v 1.3 1999/01/24 06:53:11 horikawa Stab % .Dd January 25, 1998 .Dt PORTS 7 .Os FreeBSD 2.2 .Sh 名称 .Nm ports .Nd 寄贈されたアプリケーション .Sh 解説 .Nm FreeBSD ports コレクション によって、ユーザや管理者は簡単にアプリケーションをインストールする ことができます。 .Em port はそれぞれ、オリジナルのソースコードを BSD 上でコンパイルして実行 させるために必要なパッチのすべてを含んでいます。アプリケーションの コンパイルは、 port のディレクトリで .Ic make build と入力するだけで簡単にできます。 port の .Ql Pa Makefile は、ローカルディスクからもしくは ftp を使って、自動的にアプリケーションの ソースコードを取得 .Pq fetch して、自分のシステムでそれを展開して、 パッチを当て、コンパイルします。すべてが順調に進んだ場合、 .Ic make install を実行することにより、アプリケーションがインストールされます。 .Pp +インストールされたシステムよりも新しい ports を、 +FreeBSD リポジトリからダウンロードして使用できます。 +ただし、最初に適切な「アップグレードキット」を http://www.FreeBSD.ORG/ports/ +から取得してインストールすることが重要です! +新しい ports をダウンロードするときには、 +.Xr portcheckout 1 +スクリプト (もちろんこれも port です!) が役立つでしょう。 +.Pp port の利用に関してさらに情報が必要ならば、 .Nm ports コレクション (The Ports Collection) (原文: file:/usr/share/doc/handbook/ports.html または、 -http://www.freebsd.org/handbook/ports.html。 +http://www.FreeBSD.ORG/handbook/ports.html。 和文: file:/usr/share/doc/ja/handbook/ports.html または、 -http://www.freebsd.org/ja/handbook/ports.html) +http://www.FreeBSD.ORG/ja/handbook/ports.html) ) に目を通して下さい。 port を新規に作成するための情報については、 .Nm 自分で port を作る (Porting applications) (原文: file:/usr/share/doc/handbook/porting.html または、 -http://www.freebsd.org/handbook/porting.html、 +http://www.FreeBSD.ORG/handbook/porting.html、 和文: file:/usr/share/doc/ja/handbook/porting.html または -http://www.freebsd.org/ja/handbook/porting.html) に目を通して下さい。 +http://www.FreeBSD.ORG/ja/handbook/porting.html) に目を通して下さい。 どちらも FreeBSD ハンドブックの一部です。 .Pp .Sh ターゲット .Pp ターゲットのいくつかは、サブディレクトリを再帰的に make して行きます。 これにより、例えば、biology の port すべてをインストールすることが できます。再帰的に make を行なうターゲットは、 .Ar build , checksum , clean , configure , -.Ar extract , fetch , install , +.Ar depends , extract , fetch , install , .Ar package です。 .Pp 次のターゲットは、それぞれすぐ手前のターゲットによって順に自動的に 実行されます。すなわち、 .Ar build は、 .Pq 必要があれば、 .Ar install によって実行されます。以下のターゲットそれぞれについて、同様のルールが .Ar fetch まで順次適用されます。 通常は、ターゲットとして、 .Ar install を指定するだけでよいはずです。 .Bl -tag -width configure .It Ar fetch MASTER_SITES と PATCH_SITES でリストされたサイトから、 この port を構築するために必要なファイルすべてを取得 .Pq fetch します。 .Ev FETCH_CMD と .Ev MASTER_SITE_OVERRIDE とを参照して下さい。 .It Ar checksum 取得した distfile が port で動作確認されたものと一致するかどうかを検証 します。 .Ev NO_CHECKSUM を定義することで、このステップを飛ばすことができます。 .It Ar depends 現在の port と依存関係にある port をインストール .Pq もしくは、必要がある場合のみコンパイル します。ターゲット .Ar extract もしくは .Ar fetch により呼び出された場合、 .Ar fetch-depends , .Ar build-depends などとしてひとつずつ実行されます。 .Ev NO_DEPENDS を定義することで、このステップを飛ばすことができます。 .It Ar extract distfile を作業用ディレクトリに展開します。 .It Ar patch port に必要なパッチすべてを適用します。 .It Ar configure port を構成 (configure) します。port によっては、この段階で質問して くるものもあります。 .Ev INTERACTIVE と .Ev BATCH を参照して下さい。 .It Ar build port を構築します。これはターゲット .Ar all を呼び出すことと同じです。 .It Ar install port をインストールし、この port をインストールしたことを パッケージシステムに登録します。このターゲットは、実際に必要なこと すべてを行なってくれます。 .El .Pp 次のターゲットは、通常のインストールプロセスでは実行されません。 .Bl -tag -width fetch-list .It Ar fetch-list この port を構築するために取得が必要なファイルのリストを表示します。 .It Ar depends-list package-depends コンパイル依存 port リストと実行依存 port リストを表示します。 また、これらの依存 port リストが依存する port についても表示します。 .It Ar clean 展開されたソースコードを削除します。 .Ev NOCLEANDEPENDS を定義しておかない限り、削除は依存関係にある port に再帰的に適用されます。 .It Ar distclean その port の distfile を削除し、 .Ar clean を実行します。 .Ev NOCLEANDEPENDS を定義しておかない限り、 .Sq clean の部分は依存関係にある port に再帰的に適用されます。しかし、 .Sq distclean の部分は決して再帰的に適用されません .Pq この挙動はひょっとするとバグかもしれません 。 .It Ar reinstall .Ar deinstall を使用すべきところでうっかり .Xr pkg_delete 1 を使ってしまった場合、このターゲットを使って port を復活させて下さい。 .It Ar deinstall .Xr pkg_delete 1 と同様に、インストールした port をシステムから削除します。 .It Ar package この port のバイナリパッケージを作成します。まだインストールされて いなかった場合、その port をインストールします。 パッケージは\ .tgz ファイルであり、その port を他のマシンに .Xr pkg_add 1 を使ってインストールする際に使用することができます。 .Ev PACKAGES で指定されたディレクトリが存在しなければ、パッケージはカレントディレクトリに 置かれます。 .Ev PKGREPOSITORY と .Ev PKGFILE とを参照して下さい。 .It Ar readmes その port の .Pa README.html ファイルを生成します。 ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/ports/templates/README.port を取得 .Pq Xr fetch 1 することが必要で、ディレクトリを .Ev TEMPLATES に設定しておく必要があります。 これはリリースエンジニアになる人のためのターゲットです。ほとんどの人は、 .Pa pkg/COMMENT と .Pa pkg/DESCR とを読むことができるだけです。 .El .Sh 環境変数 これら環境変数のすべてを変更することができます。 .Bl -tag -width MASTER_SITES .It Ev PORTSDIR port ツリーの場所を指定します。これは FreeBSD と OpenBSD では .Pa /usr/ports で、 .\"ZZZ: .Nx NetBSD では .\" .Fx .\" .Ox , .Pa /usr/pkgsrc です。 .It Ev DISTDIR distfile を探す場所であり、取得した distfile を置く場所です。通常は .Ev PORTSDIR の下の .Pa distfiles/ です。 .It Ev PACKAGES ターゲット .Ar package でのみ使用されます。 パッケージツリーのベースディレクトリです。通常は、 .Ev PORTSDIR の下の .Pa packages/ です。 このディレクトリが存在する場合、パッケージツリーが (部分的に) 構築されます。 このディレクトリは存在する必要はありません。存在しない場合、パッケージは カレントディレクトリに置かれます。もしくは、以下のいずれか一方を定義 することができます。 .Bl -tag -width PKGREPOSITORY .It Ev PKGREPOSITORY パッケージを置くディレクトリ。 .It Ev PKGFILE そのパッケージのフルパス。 .El .It Ev PREFIX 一般に、成果物をどこにインストールするかを指定します .Po 通常は .Pa /usr/local か、 .Pa /usr/X11R6 です .Pc 。 .It Ev MASTER_SITES ローカルマシンに配布ファイルが存在しない場合、最初に取得しに行くサイトです。 .It Ev PATCH_SITES ローカルマシンにパッチファイルが存在しない場合、最初に取得しに行くサイトです。 .It Ev MASTER_SITE_FREEBSD これが設定されている場合、すべてのファイルを FreeBSD のマスタサイトに 取りに行きます。 .It Ev MASTER_SITE_OVERRIDE すべてのファイルとパッチについて、まずこのサイトに行って取得を試みます。 .It Ev NOCLEANDEPENDS これが定義されている場合、依存関係にある port に対して .Sq clean を再帰的に適用しません。 .It Ev FETCH_CMD ファイルを取得する際に使用するコマンドです。通常は .Xr fetch 1 です。 .It Ev FORCE_PKG_REGISTER これが設定されている場合、既にシステムに存在するパッケージ登録情報を 上書きします。 .It Ev MOTIFLIB libXm.{a,so} の位置を指定します。 -.It Ev PATCH_DEBUG -これが設定されている場合、パッチを当てる際に冗長な出力を表示します。 .It Ev INTERACTIVE これが設定されている場合、ユーザ入力が必要な port にのみ動作します。 .It Ev BATCH これが設定されている場合、100% 自動的にインストールできる port にのみ 動作します。 .El .Sh 関連ファイル .Bl -tag -width /usr/ports/xxxx -compact .It Pa /usr/ports デフォルトの port ディレクトリ (FreeBSD と OpenBSD)。 .It Pa /usr/pkgsrc デフォルトの port ディレクトリ (NetBSD)。 .It Pa /usr/share/mk/bsd.port.mk .\"kuma: big Kahuna というのはモアイのような巨大石のものらしい。 .\"kuma: だれか教えて?! ご本尊様であらしゃいます。 .Sh 関連項目 .Xr make 1 , .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , -.Xr pkg_info 1 . +.Xr pkg_info 1 , +.Xr portcheckout 1 +(port です), +.Xr pib 1 +(これも port です). .Pp FreeBSD ハンドブック .Pp http://www.FreeBSD.ORG/ports .Pq port すべてが検索可能なインデックス .Sh 作者 このマニュアルページは、もともとは .An David O'Brien によるものです。 ports コレクションは .An Satoshi Asami と恐るべき port チームによって維持管理されています。 .Sh 歴史 .Nm ports コレクション は、 .Fx 1.0 で登場しました。 .Sh バグ port に関する文書が 4 か所に分散されてしまっています。 .Pa /usr/share/mk/bsd.port.mk , ハンドブックの .Dq port コレクション のセクションと、 .Dq 既存のソフトウェアを port にする のセクション、 .Xr ports 7 の 4 つです。 .Pp このマニュアルページは長過ぎです。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai, 98-12-26 diff --git a/ja_JP.eucJP/man/man8/Makefile b/ja_JP.eucJP/man/man8/Makefile index c529f236ea..1907003aaa 100644 --- a/ja_JP.eucJP/man/man8/Makefile +++ b/ja_JP.eucJP/man/man8/Makefile @@ -1,264 +1,263 @@ MAN8 = IPXrouted.8\ MAKEDEV.8\ ac.8\ accton.8\ adding_user.8\ adduser.8\ adjkerntz.8\ amd.8\ amq.8\ apm.8\ apmconf.8\ arp.8\ atm.8\ atmarpd.8\ atrun.8\ bad144.8\ badsect.8\ boot_i386.8\ bootparamd.8\ bootpd.8\ bootpef.8\ bootptest.8\ btxld.8\ camcontrol.8\ ccdconfig.8\ chat.8\ chkgrp.8\ chkprintcap.8\ chown.8\ chroot.8\ clri.8\ comcontrol.8\ comsat.8\ config.8\ crash.8\ cron.8\ cvsbug.8\ dev_mkdb.8\ disklabel.8\ diskless.8\ diskpart.8\ dm.8\ dmesg.8\ - dset.8\ dump.8\ dumpfs.8\ dumpon.8\ edquota.8\ fdcontrol.8\ fdisk.8\ fingerd.8\ fixmount.8\ fore_dnld.8\ fsck.8\ fsdb.8\ fsinfo.8\ fsirand.8\ ft.8\ ftpd.8\ getty.8\ hlfsd.8\ ibcs2.8\ ifconfig.8\ ilmid.8\ inetd.8\ init.8\ intro.8\ iostat.8\ ipfstat.8\ ipfw.8\ ipmon.8\ ispcvt.8\ joy.8\ kernbb.8\ keyadmin.8\ keyserv.8\ kgmon.8\ kldload.8\ kldstat.8\ kldunload.8\ kvm_mkdb.8\ kzip.8\ ldconfig.8\ linux.8\ locate.updatedb.8\ lpc.8\ lpd.8\ lptcontrol.8\ mail.local.8\ mailstats.8\ makekey.8\ makemap.8\ makewhatis.local.8\ manctl.8\ map-mbone.8\ mixer.8\ mk-amd-map.8\ mknetid.8\ mknod.8\ modload.8\ modstat.8\ modunload.8\ mount.8\ mount_cd9660.8\ mount_ext2fs.8\ mount_msdos.8\ mount_nfs.8\ mount_null.8\ mount_portal.8\ mount_std.8\ mount_umap.8\ mount_union.8\ mountd.8\ moused.8\ mrinfo.8\ mrouted.8\ mtest.8\ mtrace.8\ mtree.8\ named-xfer.8\ named.8\ named.reload.8\ named.restart.8\ natd.8\ ndc.8\ newfs.8\ newfs_msdos.8\ newkey.8\ newsyslog.8\ nextboot.8\ nfsd.8\ nfsiod.8\ nologin.8\ nslookup.8\ nos-tun.8\ ntpdate.8\ ntpq.8\ ntptrace.8\ pac.8\ pccardd.8\ pciconf.8\ periodic.8\ ping.8\ pnpinfo.8\ portmap.8\ ppp.8\ pppctl.8\ pppd.8\ pppstats.8\ praliases.8\ procctl.8\ pstat.8\ pw.8\ pwd_mkdb.8\ quot.8\ quotacheck.8\ quotaon.8\ rarpd.8\ rbootd.8\ rc.8\ reboot.8\ renice.8\ repquota.8\ restore.8\ revnetgroup.8\ rexecd.8\ rlogind.8\ rmail.8\ rmt.8\ rmuser.8\ rndcontrol.8\ route.8\ routed.8\ rpc.lockd.8\ rpc.rquotad.8\ rpc.rstatd.8\ rpc.rusersd.8\ rpc.rwalld.8\ rpc.sprayd.8\ rpc.statd.8\ rpc.yppasswdd.8\ rpc.ypxfrd.8\ rpcinfo.8\ rshd.8\ rstat_svc.8\ rtquery.8\ rwhod.8\ sa.8\ savecore.8\ scspd.8\ sendmail.8\ showmount.8\ shutdown.8\ sicontrol.8\ slattach.8\ sliplogin.8\ slstat.8\ smrsh.8\ spkrtest.8\ spray.8\ sticky.8\ stlload.8\ stlstats.8\ strfile.8\ swapon.8\ sync.8\ sysctl.8\ syslogd.8\ talkd.8\ telnetd.8\ tftpd.8\ timed.8\ timedc.8\ traceroute.8\ trpt.8\ tunefs.8\ tzsetup.8\ umount.8\ uuchk.8\ uucico.8\ uucpd.8\ uusched.8\ uuxqt.8\ vinum.8\ vipw.8\ vmstat.8\ vnconfig.8\ watch.8\ wire-test.8\ wlconfig.8\ wormcontrol.8\ xntpd.8\ xntpdc.8\ xtend.8\ yp_mkdb.8\ ypbind.8\ ypinit.8\ yppoll.8\ yppush.8\ ypserv.8\ ypset.8\ ypxfr.8\ zdump.8\ zic.8 MLINKS+= strfile.8 unstr.8 MLINKS+= makewhatis.local.8 catman.local.8 MLINKS+= bootpd.8 bootpgw.8 MLINKS+=dump.8 rdump.8 MLINKS+= mount_std.8 mount_devfs.8 mount_std.8 mount_fdesc.8 \ mount_std.8 mount_kernfs.8 mount_std.8 mount_procfs.8 MLINKS+= newfs.8 mount_mfs.8 newfs.8 mfs.8 newfs.8 tmpfs.8 MLINKS+= reboot.8 halt.8 reboot.8 fastboot.8 reboot.8 fasthalt.8 MLINKS+= boot_i386.8 boot.8 MLINKS+=restore.8 rrestore.8 MLINKS+= slattach.8 slip.8 MLINKS+= locate.updatedb.8 updatedb.8 MLINKS+= apm.8 zzz.8 MLINKS+= pstat.8 swapinfo.8 MLINKS+= quotaon.8 quotaoff.8 MLINKS+= vnconfig.8 swapfile.8 MLINKS+= inetd.8 inetd.conf.5 .include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man8/atm.8 b/ja_JP.eucJP/man/man8/atm.8 index 4cddb86e3b..82b2420095 100644 --- a/ja_JP.eucJP/man/man8/atm.8 +++ b/ja_JP.eucJP/man/man8/atm.8 @@ -1,1001 +1,1005 @@ .\" .\" =================================== .\" HARP | Host ATM Research Platform .\" =================================== .\" .\" .\" This Host ATM Research Platform ("HARP") file (the "Software") is .\" made available by Network Computing Services, Inc. ("NetworkCS") .\" "AS IS". NetworkCS does not provide maintenance, improvements or .\" support of any kind. .\" .\" NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED, .\" INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY .\" AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE .\" SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE. .\" In no event shall NetworkCS be responsible for any damages, including .\" but not limited to consequential damages, arising from or relating to .\" any use of the Software or related support. .\" .\" Copyright 1994-1998 Network Computing Services, Inc. .\" .\" Copies of this Software may be made, however, the above copyright .\" notice must be reproduced on all copies. .\" -.\" @(#) %Id: atm.8,v 1.1 1998/09/15 08:22:45 phk Exp % +.\" @(#) %Id: atm.8,v 1.2 1999/01/20 18:36:58 mks Exp % .\" jpman %Id: atm.8,v 1.3 1999/01/01 14:20:46 vanitas Stab % .\" .\" .\" WORD: attach アタッチ .\" WORD: open オープン .\" WORD: close クローズ .\" WORD: prefix プレフィックス .\" WORD: transmit 送出 .\" WORD: ATM Adaptation Layer ATM アダプテーションレイヤ .\" WORD: Virtual Channel Identifier 仮想チャネル識別子 .\" WORD: Virtual Path Identifier 仮想パス識別子 .\" WORD: Virtual Channel Connection 仮想チャネル接続 .\" WORD: End System Identifier エントシステム識別子 .\" WORD: Protocol Data Unit プロトコルデータユニット .\" .\" .de EX \"Begin example .ne 5 .if n .sp 1 .if t .sp .5 .nf .in +.5i .. .de EE .fi .in -.5i .if n .sp 1 .if t .sp .5 .. .TH ATM 8 "1998-08-20" "HARP" .SH 名称 atm \- HARP ATM インタフェースに関する、ユーザ設定と表示のコマンド .SH 書式 インタフェース管理サブコマンド: .in +10 .ti -5 .B atm attach .ti -5 .B atm detach .ti -5 .B atm set MAC .ti -5 .B atm set netif .ti -5 .B atm set prefix .ti -5 .B atm show config [] .ti -5 .B atm show interface [] .ti -5 .B atm show netif [] .ti -5 .B atm show stats interface [ [phy | dev | atm | aal0 | aal4 | aal5 | driver]] .sp .ti -10 VCC 管理サブコマンド: .ti -5 .B atm add PVC ... .ti -5 .B atm delete PVC .ti -5 .B atm delete SVC .ti -5 .B atm show stats VCC [ [ []]] .ti -5 .B atm show VCC [ [ [] | SVC | PVC]] .sp .ti -10 IP 管理サブコマンド: .ti -5 .B atm add ARP [] .ti -5 .B atm add PVC IP | dynamic .ti -5 .B atm delete ARP [] .ti -5 .B atm set arpserver | local [ ...] .ti -5 .B atm show ARP [] .ti -5 .B atm show arpserver [] .ti -5 .B atm show IPVCC [ | ] .ti -5 .sp .ti -10 その他のサブコマンド: .ti -5 .B atm help .ti -5 .B atm show version .in -10 .fi .SH 解説 .I atm は Host ATM Research Platform (HARP) ネットワーキングソフトウェアの状態を 設定および表示します。 サブコマンドは、いくつかのカテゴリに分類されます: .PP \fIインタフェース管理\fP サブコマンドは、ATM インタフェースを制御します。 機能としては、シグナリングマネージャのインタフェースへの割り当て、 ATM アドレスの設定、 (複数の) ネットワークインタフェースと (単一の) インタフェースとの関連付け、 インタフェースの情報の表示があります。 .PP \fIVCC 管理\fP サブコマンドは、 ATM 仮想チャネル接続 (Virtual Channel Connection; VCC) を管理します。 機能としては、VCC のオープン・クローズ・情報の表示があります。 .PP \fIIP 管理\fP サブコマンドは、 IP と ATM ソフトウェアの間のインタフェースを管理します。 機能としては、ATMARP キャッシュの表示と操作、 IP に接続した PVC のオープン、 ATMARP サーバのネットワークインタフェースへの割り当て、 IP VCC の情報の表示があります。 .PP \fIその他\fP のサブコマンドは、ATM ソフトウェアのバージョン表示と \fIatm\fP コマンドのヘルプ表示があります。 .SS "シグナリングマネージャ" シグナリングマネージャには VCC のオープンとクローズの責任があります。 4 種のシグナリングマネージャがサポートされています: .PP .in +10 .ti -5 PVC - PVC にのみ対応。 .ti -5 SPANS - FORE 独自のシグナリングプロトコルである SPANS をサポート。 .ti -5 UNI 3.0 - ATM Forum の \fIATM User-Network Interface Specification, Version 3.0\fP のシグナリングプロトコルをサポート。 .ti -5 UNI 3.1 - ATM Forum の \fIATM User-Network Interface Specification, Version 3.1\fP のシグナリングプロトコルをサポート。 .in -10 .PP 4 種すべてのシグナリングマネージャが PVC のオープンとクローズをサポートします (\fIadd\fP と \fIdelete\fP のサブコマンドを参照)。 .PP 物理インタフェース上で VCC を作成可能とするには、 物理インタフェース 1 個に対し、 シグナリングマネージャ 1 個をアタッチする必要があります (\fIattach\fP サブコマンド参照)。 .SS "物理インタフェースおよびネットワークインタフェース" 次の 2 種類のインタフェースがサポートされています: それぞれ物理インタフェースとネットワークインタフェースです。 物理インタフェースは ATM ネットワークへの物理的な接続点を表現します。 物理インタフェースは、自身に関連付けられた ATM アドレスを持ちます。 +ただし、PVC のみのシグナリングマネージャが使用されているときは例外です。 .PP ネットワークインタフェースは論理インタフェースです。 1 個以上のネットワークインタフェースを 1 個の物理インタフェースに 関連付けられます。 各ネットワークインタフェースは、自身に関連付けられた IP アドレスを持ちます。 -SPANS もしくは PVC のシグナリングマネージャが制御するインタフェースでは、 -各物理インタフェースには単一のネットワークインタフェースのみが -関連付けられる必要があります。 UNI が制御するインタフェースでは、 1 個の物理インタフェースに 256 個までのネットワークインタフェースを関連付けることができます。 この場合、ネットワークインタフェースと ATM アドレスの対応は、 物理インタフェースの ATM アドレスのセレクタフィールド (最後のバイト) によって行われます。 +PVC のみのインタフェースでは、 +各物理インタフェースに 256 個までの論理インタフェースを +関連付けることが可能です。 +SPANS もしくは PVC のシグナリングマネージャが制御するインタフェースでは、 +各物理インタフェースには単一のネットワークインタフェースのみが +関連付けられる必要があります。 .SS "キーワードと文書の約束" キーワードを十分区別できるだけの先頭部分を与えるだけで、 コマンドとサブコマンドのキーワードを短縮できます。 よって、\fIatm sh v\fB は \fIatm show vcc\fB と同じ結果になります。 .PP すべてのキーワードは大文字小文字の区別がありません。 .PP \fIatm\fP コマンドにホストアドレスを与える必要があるときには、 DNS での名前でも、ドット付き 10 進数形式による IP アドレスでも使用可能です。 .PP ATM アドレスは 16 進数の文字列として指定します。 前に "0x" を付けてもかまいません。 アドレス内のフィールドはピリオドで区切ってもかまいません。 ピリオドは読み易さのためだけにあり、単に無視されます。 SPANS アドレスは 8 バイト長であり、NSAP 形式アドレスは 20 バイト長です。 先行する 0 を含めて、全アドレスを指定する必要があります。 例: .in +5 0x47.0005.80.ffe100.0000.f21a.0170.0020481a0170.00 (NSAP 形式) .br 0x00000010.f2050aa9 (SPANS 形式) .in -5 .fi .SH サブコマンド .SS インタフェース管理サブコマンド: .in +5 .ti -5 \fIatm add PVC ...\fP .in -5 .PP \fIadd PVC\fP サブコマンドの形式は PVC の所有者に依存して変化します。 "IP 管理サブコマンド" を参照してください。 .PP \fIatm attach \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 シグナリングマネージャをアタッチする物理インタフェースを指定します。 .ti -5 \fI\fP は、どのシグナリングマネージャをアタッチするかを指定します。 有効な指定は、"SIGPVC", "SPANS", "UNI30", "UNI31" です。 .in -10 .PP このコマンドは、シグナリングマネージャをインタフェースにアタッチします。 この処理が完了するまで、VCC のオープンおよびクローズはできません。 1 度に 1 個のシグナリングマネージャのみインタフェースにアタッチ可能です。 .PP \fIatm detach \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 シグナリングマネージャをデタッチする物理インタフェースを指定します。 .in -10 .PP このコマンドは、インタフェースからシグナリングマネージャをデタッチします。 このシグナリングマネージャが作成した全 VCC はクローズされ、 再度 (同じもしくは異った) シグナリングマネージャが作成されるまで 新規の VCC は作成できません。 .PP \fIatm set MAC \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 MAC アドレスが設定される物理インタフェースを指定します。 .ti -5 \fI\fP は、 インタフェースの NSAP アドレスの 6 バイト MAC 部分を指定します。 MAC アドレスは 12 文字の 16 進数文字列により指定され、 先頭に "0x" を付けてもかまいません。 アドレス中のフィールドをピリオドで区切ってもかまいません。 .in -10 .PP このコマンドは、UNI が制御するインタフェースの MAC アドレスを設定します。 20 バイトの NSAP 形式アドレスのうち、 先頭 13 バイト (プレフィックス) が \fIatm set prefix\fP コマンドもしくは ILMI デーモン (\fIilmid\fP (8)) によって設定され、 次の 6 バイト (エンドシステム識別子 (End System Identifier; ESI)) が 本コマンドにより設定され、 最後のバイト (セレクタ) が どのネットワークインタフェースがアドレスに関連付けられているかによって 決定されます。 .PP \fIatm set MAC\fP コマンドを使用して、 インタフェースハードウェア中の MAC アドレスを上書き可能です。 .PP \fIatm set netif \fP .PP ここで: .in +10 .ti -5 \fI\fP は、ネットワークインタフェース (複数可) を関連付ける 物理インタフェースを指定します。 .ti -5 \fI\fP は、ネットワークインタフェース名の不変部分を指定します。 .ti -5 \fI\fP は、作成するネットワークインタフェース数を指定します。 .in -10 .PP このコマンドは 1 個以上のネットワークインタフェースを作成し、 これらを指定した物理インタフェースに関連付けます。 ネットワークインタフェース名は、プレフィックスとカウントから決定されます。 名前は の形式となり、 は \fIset\fP サブコマンドで指定するプレフィックスであり、 は 0 から -1 の範囲の値です。例えば、コマンド: .PP .ti +5 atm set netif hfa0 ni 2 .PP は ni0 と ni1 という名称の 2 個のネットワークインタフェースを作成し、 これらを物理インタフェース hfa0 と関連付けます。 .PP \fIatm set prefix \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 NSAP プレフィックスを設定する物理インタフェースを指定します。 .ti -5 \fI\fP は、 インタフェースの NSAP アドレスの先頭 13 バイトを指定します。 プレフィックスは16 進数文字列により指定され、 先頭に "0x" を付けてもかまいません。 プレフィックス中のフィールドをピリオドで区切ってもかまいません。 .in -10 .PP このコマンドは、UNI が制御するインタフェースのアドレスを設定します。 20 バイトの NSAP 形式アドレスのうち、 先頭 13 バイト (プレフィックス) が本コマンドにより設定され、 次の 6 バイト (エンドシステム識別子 (End System Identifier; ESI)) が 物理インタフェースから得られる MAC アドレスになるかまたは \fIset MAC\fP サブコマンドにより設定され、 最後のバイト (セレクタ) が どのネットワークインタフェースがアドレスに関連付けられているかによって 決定されます。 .PP UNI が制御するインタフェースがアクティブになる前に、 NSAP プレフィックスを設定する必要があります。 これは、ILMI デーモン (\fIilmid\fP (8)) もしくは \fIset prefix\fP サブコマンドにより実現されます。 .PP .I atm show config [] .PP 次の情報を表示します: .PP .B Interface \- 物理インタフェース名。 .PP .B Vendor \- アダプタベンダ名。 .PP .B Model \- アダプタのモデル。 .PP .B Media \- アダプタが使用する通信媒体。 .PP .B Bus \- アダプタがアタッチされているバスのタイプ。 .PP .B Serial No. \- アダプタのシリアル番号。 .PP .B MAC address \- インタフェースの MAC アドレス。 \fIatm set MAC\fP コマンドを使用して インタフェースの実効 MAC アドレスを変更した場合であっても、 これはアダプタのハードウェアにエンコードされた MAC アドレスです。 .PP .B Hardware version \- インタフェースが報告するハードウェアリビジョンレベル。 .PP .B Firmware version \- インタフェースが報告するファームウェアリビジョンレベル。 .PP \fIshow config\fP サブコマンドでパラメータを指定しない場合、 全物理インタフェースの設定が表示されます。 インタフェース名を指定すると、指定したインタフェースの設定だけが表示されます。 .PP .I atm show interface [] .PP 次の情報を表示します: .PP .B Interface \- 物理インタフェース名。 .PP .B Sigmgr \- インタフェースにアタッチされたシグナリングマネージャ名。 シグナリングマネージャがアタッチされていない場合、ダッシュ (-) が表示されます。 .PP .B State \- インタフェースのシグナリングマネージャの状態。 各シグナリングマネージャは、それぞれの状態の組み合わせを保持します。 それらを示します: .in +21 .ti -16 PVC: .ti -11 ACTIVE\ ---\ シグナリングマネージャはアクティブです。 .ti -11 DETACH\ ---\ シグナリングマネージャはデタッチされているところです。 .ti -16 SPANS: .ti -11 ACTIVE\ ---\ シグナリングマネージャはアクティブです。 .ti -11 DETACH\ ---\ シグナリングマネージャはデタッチされているところです。 .ti -11 INIT\ -----\ シグナリングマネージャの初期状態。 .ti -11 PROBE\ ----\ シグナリングマネージャは ATM スイッチと接続を行っているところです。 .ti -16 UNI 3.0 または UNI 3.1: .ti -11 NULL\ -----\ シグナリングマネージャの初期状態。 .ti -11 ADR_WAIT\ -\ シグナリングマネージャは NSAP プレフィックスが設定されるのを待っているところです。 .ti -11 INIT\ -----\ シグナリングマネージャはスイッチとの接続を確立しているところです。 .ti -11 ACTIVE\ ---\ シグナリングマネージャはアクティブです。 .ti -11 DETACH\ ---\ シグナリングマネージャはデタッチされているところです。 .ti -21 .PP .B ATM address \- インタフェースの ATM アドレス。 .PP .B Network interfaces \- 物理インタフェースに関連付けられたネットワークインタフェース名 (存在する場合)。 .PP \fIshow interface\fP サブコマンドでパラメータを指定しない場合、 全物理インタフェースの設定が表示されます。 インタフェース名を指定すると、指定したインタフェースの設定だけが表示されます。 .PP .I atm show netif [] .PP 次の情報を表示します: .PP .B Net Intf \- ネットワークインタフェース名。 .PP .B IP Address \- ネットワークインタフェースの IP アドレス。 .PP \fIshow netif\fP サブコマンドでパラメータを指定しない場合、 全物理インタフェースの設定が表示されます。 インタフェース名を指定すると、指定したインタフェースの設定だけが表示されます。 .PP \fIatm show stats interface [ [phy | dev | atm | aal0 | aal4 | aal5 | driver]]\fP .PP 1 個以上のインタフェースに関連する統計情報を表示します。 対象を示すキーワード (\fIphy\fP, \fIdev\fP, \fIatm\fP, \fIaal0\fP, \fIaal4\fP, \fIaal5\fP, \fIdriver\fP) を指定して、 表示する統計情報のスコープを変更可能です。 .PP 対象を表すキーワードを指定しないと、次の情報を表示します: .PP .B Interface \- 物理 ATM インタフェース名。 .PP .B Input PDUs \- インタフェースで受信した プロトコルデータユニット (Protocol Data Unit; PDU) 数。 .PP .B Input Bytes \- インタフェースで受信したバイト数。 .PP .B Input Errs \- インタフェースに発生した入力エラー数。 .PP .B Output PDUs \- インタフェースから送出した プロトコルデータユニット (Protocol Data Unit; PDU) 数。 .PP .B Output Bytes \- インタフェースから送出したバイト数。 .PP .B Output Errs \- インタフェースに発生した出力エラー数。 .PP .B Cmd Errs \- インタフェースに発生したコマンドエラー数。 .PP 対象を表すキーワードを指定すると、その対象の統計情報が表示されます。 表示される情報はアダプタ依存です。 要求した統計情報が利用不能なアダプタの場合、エラーが報告されます。 .PP \fIshow stats interface\fP サブコマンドでパラメータを指定しない場合、 全 ATM インタフェースの統計情報が表示されます。 インタフェース名を指定すると、 指定したインタフェースの統計情報だけが表示されます。 .PP .SS VCC 管理サブコマンド: .PP \fIatm delete PVC \fP .br \fIatm delete SVC \fP .PP ここで: .in +10 .ti -5 \fIPVC\fP は、クローズする VCC として PVC を指定します。 .ti -5 \fISVC\fP は、クローズする VCC として SVC を指定します。 .ti -5 \fI\fP は、 クローズする VCC が終端する物理インタフェースを指定します。 .ti -5 \fI\fP は、VCC の仮想パス識別子 (Virtual Path Identifier; VPI) を指定します。 .ti -5 \fI\fP は、VCC の仮想チャネル識別子 (Virtual Channel Identifier; VCI) を指定します。 .in -10 .PP このコマンドは、VCC をクローズします。 2 個の形式の違いは、 1 番目の形式が VCC は PVC (\fIadd PVC\fP サブコマンドで作成されたものです) であると指定するのに対し、 2 番目の形式が VCC は SVC であると指定することだけです。 予約された VCC (VCI 値が 32 未満のもの) は、このコマンドでクローズできません。 .PP \fIatm show stats VCC [ [ []]]\fP .PP 次の情報を表示します: .PP .B Interface \- VCC が終端する物理インタフェース。 .PP .B VPI \- VCC の仮想パス識別子 (Virtual Path Identifier; VPI)。 .PP .B VCI \- VCC の仮想チャネル識別子 (Virtual Channel Identifier; VCI)。 .PP .B Input PDUs \- VCC で受信した プロトコルデータユニット (Protocol Data Unit; PDU) 数。 .PP .B Input Bytes \- VCC で受信したバイト数。 .PP .B Input Errs \- VCC で発生した入力エラー数。 .PP .B Output PDUs \- VCC から送出した プロトコルデータユニット (Protocol Data Unit; PDU) 数。 .PP .B Output Bytes \- VCC から送出したバイト数。 .PP .B Output Errs \- VCC で発生した出力エラー数。 .PP .\" show status VCC の誤り? \fIshow VCC\fP サブコマンドでパラメータを指定しない場合、 アクティブな VCC すべてが表示されます。 インタフェース名を指定すると、 指定したインタフェースのアクティブな VCC すべてが表示されます。 インタフェースと VPI を指定すると、 指定したインタフェースの VPI に対するアクティブな VCC すべてが表示されます。 インタフェースと VPI と VCI が指定された場合、 指定されたインタフェースの指定された VCC だけが表示されます (SPANS は SVC を単方向と見なしますので、実際には 2 個の VCC になり得ます)。 .PP \fIatm show VCC [ [ [] | SVC | PVC]]\fP .PP 次の情報を表示します: .PP .B Interface \- VCC が終端する物理インタフェース。 .PP .B VPI \- VCC の仮想パス識別子 (Virtual Path Identifier; VPI)。 .PP .B VCI \- VCC の仮想チャネル識別子 (Virtual Channel Identifier; VCI)。 .PP .B AAL \- VCC で使用している ATM アダプテーションレイヤ (ATM Adaptation Layer; AAL)。 表示される値は、ヌルと AAL の 1 から 5 です。 .PP .B Type \- VCC が SVC か PVC かを指定します。 .PP .B Dir \- VCC の情報の流れの方向。 VCC は、入力・出力・双方向のいずれかになり得ます。 .PP .B State \- シグナリングマネージャが報告する、VCC の状態。 各シグナリングマネージャは、それぞれの状態の組み合わせを保持します。 それらを示します: .in +21 .ti -16 PVC: .ti -11 NULL\ -----\ 状態はありません。 .ti -11 ACTIVE\ ---\ VCC はアクティブです。 .ti -11 FREE\ -----\ VCC はクローズされ、 シグナリングマネージャは自己の資源が解放されることを待っています。 .ti -16 SPANS: .ti -11 NULL\ -----\ 状態はありません。 .ti -11 ACTIVE\ ---\ VCC は PVC であり、アクティブです。 .ti -11 ACT_DOWN\ -\ VCC は PVC であり、インタフェースがダウンしています。 .ti -11 POPEN\ ----\ VCC はオープンされるところです。 .ti -11 R_POPEN\ --\ VCC はリモートホストによってオープンされるところです。 .ti -11 OPEN\ -----\ VCC はアクティブです。 .ti -11 CLOSE\ ----\ VCC はクローズされるところです。 .ti -11 ABORT\ ----\ VCC は中断 (abort) するところです。 .ti -11 FREE\ -----\ VCC はクローズされ、 シグナリングマネージャは自己の資源が解放されることを待っています。 .ti -16 UNI 3.0 または UNI 3.1: .ti -11 NULL\ -----\ 状態はありません。 .ti -11 C_INIT\ ---\ VCC が開始 (initiate) されるところです。 .ti -11 C_OUT_PR\ -\ 外向きの VCC リクエストが進行しています。 .ti -11 C_PRES\ ---\ VCC がネットワークにより開始されるところです。 .ti -11 CONN_REQ\ -\ VCC リクエストが HARP ユーザに受理されました。 .ti -11 C_IN_PR\ --\ 内向きの VCC リクエストが進行しています。 .ti -11 ACTIVE\ ---\ VCC はアクティブです。 .ti -11 REL_REQ\ --\ VCC はクローズされるところです。 .ti -11 REL_IND\ --\ ネットワークが VCC をクリアしています。 .ti -11 SSCF_REC\ -\ シグナリングチャネルの SSCF セッションはエラーから回復中です。 .ti -11 FREE\ -----\ VCC はクローズされ、 シグナリングマネージャは自己の資源が解放されることを待っています。 .ti -11 ACT_DOWN\ -\ VCC は PVC であり、インタフェースがダウンしています。 .ti -21 .PP .B Encaps \- VCC で有効となっているカプセル化。 表示されるカプセル化は、ヌルか LLC/SNAP です。 .PP .B Owner \- VCC の所有者 (複数可) です。 VCC を使用している機能 (function) 名を表示します。 .PP .B Destination \- VCC のリモートエンドにあるホストの ATM アドレス。 .PP \fIshow VCC\fP サブコマンドでパラメータを指定しない場合、 アクティブな VCC すべてが表示されます。 インタフェース名を指定すると、 指定したインタフェースのアクティブな VCC すべてが表示されます。 インタフェースと VPI を指定すると、 指定したインタフェースの VPI に対するアクティブな VCC すべてが表示されます。 インタフェースと VPI と VCI が指定された場合、 指定されたインタフェースの指定された VCC だけが表示されます (SPANS は SVC を単方向と見なしますので、実際には 2 個の VCC になり得ます)。 .PP .SS IP 管理サブコマンド: \fIatm add ARP [] \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 ATMARP エントリが関連付けられるネットワークインタフェース名であり、 省略可能です。 名前を指定しないと、 追加されるホストの IP アドレスに依存して、 ネットワークインタフェースが選択されます。 .ti -5 \fI\fP は、ATMARP テーブルに追加されるホストの ホスト名もしくは IP アドレスです。 .ti -5 \fI\fP は、ホストの ATM アドレスです。 .in -10 .PP このコマンドは、ATM の ATMARP テーブルにエントリを追加します。 指定したホストの IP アドレスは、指定した ATM アドレスと関連付けられます。 IP がそのホストに対してデータを送出する必要があるとき、 指定した ATM アドレスを使用して SVC をオープンします。 .PP ATMARP テーブルのエントリには永続的の印が付けられ、 エイジングの対象にはなりません。 .PP .in +5 .ti -5 \fIatm add PVC IP | dynamic\fP .in -5 .PP ここで: .in +10 .ti -5 \fI\fP は、PVC が終端する物理インタフェースを指定します。 .ti -5 \fI\fP は、PVC の仮想パス識別子 (Virtual Path Identifier; VPI) を指定します。 .ti -5 \fI\fP は、PVC の仮想チャネル識別子 (Virtual Channel Identifier; VCI) を指定します。 .ti -5 \fI\fP は、PVC のATM アダプテーションレイヤ (ATM Adaptation Layer; AAL) を指定します。 使用可能な値は、"null" か、 ヌル AAL を表す "AAL0" か、 AAL 1 を表す "AAL1" か、 AAL 2 を表す "AAL2" か、 AAL 3/4 を表す "AAL3", "AAL4", "AAL3/4" のいずれかか、 AAL 5 を表す "AAL5" です。 .ti -5 \fI\fP は、PVC のカプセル化を指定します。 指定可能な値は、 カプセル化無しを表す "null" または "none" か、 LLC/SNAP カプセル化を表す "LLC/SNAP", "LLC", "SNAP" のいずれかです。 .ti -5 \fIIP\fP は、PVC の所有者が IP であることを指定します。 .ti -5 \fI\fP は、PVC が関連付けられるネットワークインタフェースを指定します。 ネットワークインタフェースが存在することと、 指定された物理インタフェースと関連付けられていることが必要です。 .ti -5 \fI | dynamic\fP は、 PVC の彼方にあるホストのアドレスを指定するか、 逆 ARP でアドレスを決定する必要がある場合には語 "dynamic" を指定します。 "dynamic" を指定する場合、LLC/SNAP カプセル化もまた指定する必要があります。 .PP このコマンドは、指定した属性の PVC を作成し、IP にアタッチします。 .PP \fIatm delete ARP [] \fP .PP ここで: .in +10 .ti -5 \fI\fP は、 ATMARP エントリが関連付けられるネットワークインタフェース名であり、 省略可能です。 名前を指定しないと、 関連付けられているネットワークインタフェースにかかわらず、 指定したホストをキャッシュエントリから削除します。 .ti -5 \fI\fP は、ATMARP テーブルから削除されるホストの ホスト名もしくは IP アドレスです。 .PP このコマンドは、指定したホストのエントリを ATMARP テーブルから削除します。 .PP \fIatm set arpserver | local [ ...]\fP .PP ここで: .in +10 .ti -5 \fI\fP は、 ATMARP サーバアドレスが設定されるネットワークインタフェースを指定します。 .ti -5 \fI\fP は、 ATMARP サービスを提供するホストの ATM アドレスを指定します。 ATM アドレスではなく "local" が指定された場合、 このコマンドが発行されたホストが ATMARP サーバになります。 .ti -5 \fI ...\fP は、 ATMARP サーバの情報提供対象となる IP プレフィックスのリストであり、 省略可能です。 IP プレフィックスは、 ドット付き 10 進数の IP アドレス、 続いてスラッシュ、 続いて IP アドレスの何ビットが意味があるかを示す数字により指定されます。 例えば 10.0.0.0/8 は、 IP ネットワーク 10 の全アドレスに対して ATMARP サーバがサービスすることを 表現します。 ネットワークインタフェースが属する IP サブネットワークは、 自動的に含まれます。 .in -10 .PP このコマンドは、 ネットワークインタフェースに対して ATMARP サーバのアドレスを設定します。 .PP .I atm show ARP [] .PP 次の情報を表示します: .PP .B Net Intf \- エントリに対応するトラフィックが使用するネットワークインタフェース名。 .PP .B Flags .\" 最初の \- ... は消し忘れ? \- エントリが有効であるか、そして永続的であるかを示すフラグ。 \- ATMARP エントリの更なる情報を示すフラグ。 フラグの文字の意味は次の通りです: .PP .in +5 P - エントリは永続的です。 .br R - エントリはリフレッシュされました。 .br V - エントリは有効です。 .in -5 .PP .B Age \- エントリが有効なままでいる残り時間 (分)。 .PP .B Origin \- ATMARP エントリのソース。 表示される値は次の通りです: .in +16 .ti -11 LOCAL\ ----\ このエントリは、このホストのインタフェース用です。 .ti -11 PERM\ -----\ このエントリは、永続的です。 \fIadd ARP\fP コマンドで作成したエントリに対して使用されます。 .ti -11 REG\ ------\ このエントリは、 あるホストが ATMARP サーバに登録した結果として作成されました。 .ti -11 SCSP\ -----\ このエントリは、SCSP を介して学習しました。 .ti -11 LOOKUP\ ---\ このエントリは、 あるホストが ATMARP 検索 (lookup) を実行した結果として作成されました。 .ti -11 PEER_RSP\ -\ このエントリは、 あるホストが InARP リクエストに応答した結果として作成されました。 .ti -11 PEER_REQ\ -\ このエントリは、 あるホストが InARP リクエストを送信した結果として作成されました。 .in -5 .PP .B ATM address \- エントリが参照するホストの ATM アドレス。 .PP .B IP address \- エントリが参照するホストの IP アドレスまたはドメイン名。 .PP \fIshow ARP\fP サブコマンドでパラメータを指定しない場合、 ATMARP テーブルすべてが表示されます。 ホスト名もしくは IP アドレスが指定されると、 指定したホストに関する情報のみが表示されます。 .PP このコマンドは、動的に学習した情報 (あれやこれやの形式の ATMARP によるもの、または SCSP によるもの) と、 ユーザが設定した情報 (\fIadd ARP\fP サブコマンドによるもの) の両方を表示します。 .PP .I atm show arpserver [] .PP 次の情報を表示します: .PP .B Net Intf \- 情報表示対象のネットワークインタフェース。 .PP .B State \- ATMARP サーバへの接続状態。 表示される値は次の通りです: .in +16 .ti -11 NOT_CONF\ -\ インタフェースに対して ATMARP サーバが設定されていません。 .ti -11 SERVER\ ---\ このホストが ATMARP サーバです。 .ti -11 PEND_ADR\ -\ インタフェースに対して ATM アドレスが設定されていません。 .ti -11 POPEN\ ----\ このホストが ATMARP サーバに対して VCC をオープンしようとしています。 .ti -11 REGISTER\ -\ このホストは、 ATMARP サーバに対してオープンされた VCC を持っていて、 サーバに対して登録作業中です。 .ti -11 ACTIVE\ ---\ ATMARP サーバへの接続はアクティブです。 .in -16 .PP .B ATM Address \- ATMARP サーバの ATM アドレス。 .PP \fIshow arpserver\fP サブコマンドでパラメータを指定しない場合、 全ネットワークインタフェースに関する ATMARP サーバが表示されます。 インタフェース名を指定すると、 指定したネットワークインタフェースに関する情報のみ表示されます。 .PP .I atm show IPVCC [ | ] .PP 次の情報を表示します: .PP .B Net Intf \- VCC が終端するネットワークインタフェース名。 .PP .B VPI \- VCC の仮想パス識別子 (Virtual Path Identifier; VPI)。 .PP .B VCI \- VCC の仮想チャネル識別子 (Virtual Channel Identifier; VCI)。 .PP .B State \- VCC の状態。 表示される値は次の通りです: .in +15 .ti -10 PMAP\ ----\ ホストは送信すべき IP パケットを持っていて、 ATMARP マッピングを待っています。 .ti -10 POPEN\ ---\ VCC はオープンされているところです。 .ti -10 PACCEPT\ -\ リモートホストからの VCC が受理されているところです。 .ti -10 ACTPENT\ -\ PVC はオープンですが、ATMARP 情報はまだ利用できません。 .ti -10 ACTIVE\ --\ VCC はアクティブです。 .in -15 .PP .B Flags \- フラグは、VCC に関する更なる情報を表示します。 フラグの文字の意味は次の通りです: .PP .in +5 S - VCC は SVC です。 .br P - VCC は PVC です。 .br L - VCC は LLC/SNAP カプセル化を使用します。 .br M - VCC の IP-to-ATM アドレスマッピングは有効です。 .br N - VCC に関するアイドルタイムアウトはありません。 .in -5 .PP .B IP Address \- VCC のリモートエンドのホストの名前と IP アドレス。 .PP \fIshow IPVCC\fP サブコマンドでパラメータを指定しない場合、 アクティブな VCC すべてが表示されます。 ホスト名を指定すると、指定したホストのアクティブな VCC が表示されます。 ネットワークインタフェース名を指定すると、 指定したネットワークインタフェースのアクティブな VCC が表示されます。 .PP .SS その他のサブコマンド: .I atm help .PP サブコマンドとパラメータとともに、atm コマンドとの書式を表示します。 .PP .I atm show version 実行中の HARP ソフトウェアのバージョンを表示します。 .fi .SH 関連項目 \fIilmid\fP (8); \fIscspd\fP (8); \fIatmarpd\fP (8) .fi .SH バグ 物理インタフェースとネットワークインタフェースに混乱しないようにしてください。 .PP バグは harp-bugs@magic.net に報告してください。 .fi .SH COPYRIGHT Copyright (c) 1994-1998, Network Computing Services, Inc. .fi .SH 作者 John Cavanaugh, Network Computing Services, Inc. .br Mike Spengler, Network Computing Services, Inc. .br Joe Thomas, Network Computing Services, Inc. .fi .SH 謝辞 本ソフトウェアは、 Defense Advanced Research Projects Agency (DARPA) の協力により開発されました。 .SH 日本語訳 堀川和雄 diff --git a/ja_JP.eucJP/man/man8/boot_i386.8 b/ja_JP.eucJP/man/man8/boot_i386.8 index f57d8918db..c418b00fa1 100644 --- a/ja_JP.eucJP/man/man8/boot_i386.8 +++ b/ja_JP.eucJP/man/man8/boot_i386.8 @@ -1,269 +1,262 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software written and contributed .\" to Berkeley by William Jolitz. .\" .\" Almost completely rewritten for FreeBSD 2.1 by Joerg Wunsch. .\" .\" 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. .\" .\" @(#)boot_i386.8 8.2 (Berkeley) 4/19/94 -.\" %Id: boot_i386.8,v 1.15 1999/01/06 14:19:09 rnordier Exp % +.\" %Id: boot_i386.8,v 1.16 1999/01/19 09:04:18 rnordier Exp % .\" jpman %Id: boot_i386.8,v 1.5 1997/12/04 18:33:50 ken Exp % .\" .\" .Dd April 19, 1994 .Dt BOOT 8 i386 .Os .Sh 名称 .Nm boot .Nd システム立上げ時の手続き .Sh 解説 .Sy 電源断とクラッシュからの回復。 通常、電源復旧時とクラッシュ発生後には、システムは自動的にリブートし ます。ファイルシステムの整合性チェックが自動実行され、途中で失敗しな ければ、システムはマルチユーザ・モードに移行します。 .Pp .Sy コールドスタート。 -大多数の 386 -.Tn "PC AT" -互換機は、まずフロッピードライブ 0 (ドライブ A: ともいう) からの -ブートを試み、それに失敗すると、ハードディスクドライブ 0 (ドライブ C: も -しくは (紛らわしいが) ハードディスクドライブ 1 とも BIOS のドライブ -0x80 ともいう) からブートしようとします。いくつかの BIOS では、この -デフォルトの順序を変えたり、 CD-ROM デバイスをブートデバイスとして +大多数の i386 PC +は、まずフロッピドライブ 0 (ドライブ A: ともいう) からのブートを試み、 +それに失敗すると、 +ハードディスクドライブ 0 (ドライブ C: もしくは BIOS のドライブ 0x80 ともいう) +からブートしようとします。いくつかの BIOS では、この +デフォルトの順序を変えたり、CD-ROM デバイスをブートデバイスとして 含めることができます。 .Pp デフォルトでは 3 段階のブートストラップが使用され、 ブートブロック (ブートストラップの 第 1 および 第 2 段階) から、 これとは別の第 3 段階のブートストラッププログラム .Pa /boot/loader へと自動的に制御が移行されます。 この第 3 段階では、 ブート処理において、 -ブートブロックにおいて可能なことよりもかなり洗練された制御を提供します。 +ブートブロックにおいて可能なことよりも洗練された制御を提供します。 ブートブロックには、 ディスクやスライスの限られた空間しか与えられないという制約があります。 .Pp しかしながら、第 3 段階をまったく使用せずに済ますこともできます。 このようにするには、ブートブロックパラメータファイル .Pa /boot.config においてカーネル名を指定するか、 .Pa /boot/loader が起動される前の短い待ち時間 (文字 .Dv - , .Dv \e , .Dv \&| , .Dv / のいずれかが表示されている間) にキーを打ちます。 第 3 段階をロードできない場合にも、第 2 段階においてブートが試みられます。 .Pp 本サブセクションの残りの部分では、ブートブロックについてのみ扱います。 現在のところ、第 3 段階についての文書は、主に .Pa /boot/loader プログラム自身のオンラインヘルプを通じて利用可能です。 .Pp ブートブロックがロードされたあとで、次のようなプロンプトが現れます。 .Bd -literal >> FreeBSD/i386 BOOT Default: 0:wd(0,a)/kernel - boot: .Ed .Pp -(スクリーン上にはいくつかの情報も出力されているかもしれません) -.Pp -自動ブートにおいては、フロッピー +自動ブートにおいては、フロッピ もしくはハードディスクのパーティション .Ql a から .Pa /kernel をロードしようとします。 この動作は .Ql boot: というプロンプトが出ている間なら、キーボードから適当な文字を入力する ことで中断できます。以下にあげるような入力はブート動作に対する指示と して受付けられます。 .Bl -tag -width 10x .It \&? ブートファイルを探す際のヒントとして、デフォルトのブートデバイスの ルートディレクトリにあるファイルの名前を表示します。 (パスの最後の部分に .Dv \&? を指定することもできます。この場合、任意のサブディレクトリの一覧となります。) -.It Op bios_drive:interface(unit,part) Op filename Op Fl aCcDdghPrsv +.Pp +.It bios_drive:interface(unit,part) filename Op Fl aCcDdghPrsv ブートファイルとブートフラグを指定します。 .Bl -tag -width 10x -compact .It bios_drive BIOS によって認識されるドライブ番号です。 1 つ目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 .It interface そこからブートするコントローラのタイプです。ブートファイルのイメージ をロードするのには BIOS の機能を使用するので、そのコントローラに対す る BIOS サポートが必要となることに注意して下さい。 .Pp サポートされているインタフェースを以下にあげます。 .Bl -tag -width "wdXX" -compact .It wd WD100[2367] とその互換コントローラ上の ST506, IDE, ESDI, RLL ディスク .It fd 5 1/4" または 3 1/2" 高密度 フロッピ .It da サポートされている SCSI コントローラ上の SCSI ディスク .\".It cd .\"CDROM からのブート .El .It unit 使用されているインタフェース上のドライブのユニット番号です。 1 つ 目のドライブに対しては 0 、 2 つ目のドライブに対しては 1 、などです。 .It part ディスク上の BSD 部分内のパーティション文字です。詳しくは .Xr disklabel 8 を参照して下さい。慣例として、パーティション .Ql a のみが ブート可能なイメージを含んでいます。ディスクにスライス .Pq Dq fdisk パーティション か設けられていた場合、任意のスライスからブート可能です。 デフォルトでは、アクティブスライスから、 -これがない場合は最初のスライスからのブートとなります。 +これがない場合は最初の FreeBSD スライスからのブートとなります。 .It filename ブートファイルの (指定されたパーティションのルートディレクトリからの 相対) パス名です。デフォルトでは .Pa /kernel となります。シンボリックリンクはサポートされていません (ハードリンク は使用できます)。 .It Fl acCdDghPrsv ブートフラグです。 .Bl -tag -width "-CXX" -compact .It Fl a カーネル初期化中に、ルートファイルシステムとしてマウントされるデバイスを 尋ねて来るようにします。 .It Fl C CDROM からブートします。 .It Fl c ロードしたカーネルに対し、ハードウェアのパラメータを変更するため、 UserConfig を実行します。 カーネルが USERCONFIG_BOOT オプション付きで構築された場合、 スクリプト中に .Ic quit コマンドがあったとしても、UserConfig 中にとどまります。 .It Fl D シングルとデュアルのコンソール設定を切り替えます。シングル設定では、 下記の .Fl h オプションの状態によって、コンソールは内部ディスプレイかシリアルポートの いずれかになります。デュアルコンソール設定では、内部ディスプレイ とシリアルポートの両方が、 .Fl h オプションの状態によらず、同時にコンソールになります。しかし、 デュアルコンソール設定は、ブートプロンプトの間だけでしか効果を持ちません。 一旦カーネルがロードされると、 .Fl h オプションによって指定されたコンソールが唯一のコンソールになります。 .It Fl d カーネルの初期化のできる限り早い段階で DDB カーネルデバッガ .Pq Xr ddb 4 を参照 に入ります。 .It Fl g GDB リモートデバッギングプロトコルを使用します。 .It Fl h 内部コンソールとシリアルコンソールの切替えを行います。これを使用して コンソールデバイスを変更できます。例えば、内部コンソールからブートし た場合、カーネルがコンソールデバイスとしてシリアルポートを使用するよ うにするため、 .Fl h オプションを使用できます。反対に、シリアルポートからブートした場合、 カーネルがコンソールとして代わりに内部ディスプレイを使用するようにす るため、このオプションを使用できます。 カーネルを .Em options COMCONSOLE 付きでコンパイルした場合には、このオプションは効果ありません。 .It Fl P キーボードを検出します。キーボードが発見できなかった場合には、 .Fl D と .Fl h オプションが自動的にセットされます。 .It Fl r ルートファイルシステムを含むデバイスとしてスタティックに config され たデフォルトを使用します .Pq Xr config 8 を参照 。 .It Fl s シングルユーザ・モードで立上がるようになります。コンソールが .Dq insecure .Pq Xr ttys 5 を参照 に設定されていた場合には、root のパスワードを入力しなければなり ません。 .It Fl v デバイス検出の際 (そしてその後も) 、詳細を出力します。 .El .El .El .Pp デフォルトを設定するため、BIOS ドライブ番号, コントローラタイプ, ユニット番号, パーティション, カーネルファイル名と -.Fl D , -.Fl h , -.Fl P -オプションを +有効なオプションを .Pa /boot.config に書くこともできます。 .Ql boot: プロンプトでタイプするように、 1 行で書いてください。 .Sh 関連ファイル .Bl -tag -width /kernel.old.config -compact .It Pa /boot.config ブートブロックに対するパラメータ (必須ではない) -.It Pa /boot.help -ヘルプメッセージ (必須ではない) .It Pa /boot/loader 第 3 段階のブートストラップ .It Pa /kernel デフォルトカーネル .It Pa /kernel.old 普通は非デフォルトカーネル (必須ではない) .El .Sh 関連項目 .Xr ddb 4 , .Xr ttys 5 , +.Xr btxld 8 , .Xr config 8 , .Xr disklabel 8 , .Xr halt 8 , .Xr reboot 8 , .Xr shutdown 8 .Sh バグ このバージョンの .Bx で使用されているディスクラベルのフォーマットは、他のアーキテクチャで 使用されている物とは全く異なっています。 .Pp まだ記述されていない機能があります。 diff --git a/ja_JP.eucJP/man/man8/ftpd.8 b/ja_JP.eucJP/man/man8/ftpd.8 index 7e0ec3349c..7346b58fb1 100644 --- a/ja_JP.eucJP/man/man8/ftpd.8 +++ b/ja_JP.eucJP/man/man8/ftpd.8 @@ -1,465 +1,465 @@ .\" Copyright (c) 1985, 1988, 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. .\" .\" @(#)ftpd.8 8.2 (Berkeley) 4/19/94 -.\" %Id: ftpd.8,v 1.24 1998/12/02 22:11:02 billf Exp % +.\" %Id: ftpd.8,v 1.25 1999/01/12 14:09:14 asami Exp % .\" jpman %Id: ftpd.8,v 1.3 1997/09/08 07:23:46 kuma Stab % .\" .Dd April 19, 1994 .Dt FTPD 8 .Os BSD 4.2 .Sh 名称 .Nm ftpd .Nd インターネットファイル転送プロトコルサーバ .Sh 書式 .Nm ftpd .Op Fl dl .Op Fl D .Op Fl R .Op Fl S .Op Fl U .Op Fl T Ar maxtimeout .Op Fl t Ar timeout .Op Fl a Ar address .Op Fl p Ar file .Sh 解説 .Nm は、インターネットファイル転送プロトコルサーバプロセスです。 このサーバは .Tn TCP プロトコルを用いて、 .Dq ftp サービスに割り当てられたポートを listen() します。 .Dq ftp サービスについては、 .Xr services 5 を参照して下さい。 .Pp 利用可能なオプションは以下の通りです: .Bl -tag -width indent .It Fl d syslog の LOG_FTP のファシリティ (facility) を用いてデバッグ情報を出力します。 .It Fl l .Xr ftp 1 セッションそれぞれの結果を、成功も失敗もともども syslog の LOG_FTP のファシリティを用いて ログに残します。このオプションが 2 回指定されると、 retrieve (get), store (put), append, delete, make directory, remove directory, rename の各操作およびそれらの引数で指定された ファイル名も記録されます。 注意: LOG_FTP メッセージはデフォルトでは .Xr syslogd 8 によって表示されません。場合によっては .Xr syslogd 8 Ns の設定ファイルでそれを有効にしなければなりません。 .It Fl D このオプションがセットされると、 .Nm は制御端末を切り離してデーモンとなり、 FTP ポートへの接続要求を待ち、 子プロセスを生成して接続要求に対応します。 この方式は .Nm を .Xr inetd 8 から起動するよりオーバヘッドが少ないため、 処理量の多いサーバで負荷を低減するのに役立ちます。 .It Fl R このオプションがセットされると、 .Nm は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して 古き良き時代の振る舞いに戻ります。 現在では、 .Nm はリモートユーザのホストの非特権ポートに向けられた PORT コマンド だけを用います (これは FTP プロトコルの仕様に違反していますが、 いくつかのセキュリティホールを閉じることができます)。 .It Fl S このオプションがセットされると、 .Nm は匿名 (anonymous) による転送の全てについてのログを、ファイル .Pa /var/log/ftpd が存在する場合に限り、このファイルに残します。 .It Fl U 以前のバージョンの .Nm では、パッシブモードのクライアントがサーバにデータ接続を要求すると、 サーバは 1024 〜 4999 の範囲のデータポートを使用していました。 現在のバージョンでは、サーバはデフォルトでは 49152 〜 65535 の範囲の データポートを使用しますが、 このオプションを指定することにより、以前の振る舞いに戻ります。 .It Fl T クライアントは異なったタイムアウト秒数を要求することもできます。 .Fl T オプションにより、 .Ar タイムアウト までの最大待ち時間を設定できます。 デフォルトは 2 時間です。 .It Fl t 何も操作しないで放置した場合のタイムアウト時間を .Ar timeout 秒に設定します (デフォルトは 15 分)。 .It Fl a .Fl D オプションが指定されている場合、 .Ar address で指定されたアドレスに対する接続のみを許可します。 .It Fl p .Fl D オプションが指定されている場合、 デーモンのプロセス ID を .Ar file に書き出します。 .It Fl A 匿名 ftp アクセスのみ許可します。 .El .Pp ファイル -.Pa /etc/nologin +.Pa /var/run/nologin は、ftp アクセスを拒否するのに使うことができます。 このファイルが存在する場合、 .Nm はそのファイルの内容を表示して終了します。 .Pa /etc/ftpwelcome ファイルが存在する場合、 .Nm は .Dq ready メッセージを表示する前にその内容を表示します。 もし .Pa /etc/ftpmotd ファイルが存在する場合、 ログイン成功後に .Nm はその内容を出力します。 使用される motd ファイルはログイン環境に対して相対であることに 注意してください。 つまり、匿名ユーザの場合には、 .Pa ~ftp/etc に存在することを意味じます。 .Pp この ftp サーバは、現在、以下の ftp リクエストをサポートしています。 リクエストの文字の大文字小文字の区別は無視されます。 .Bl -column "Request" -offset indent .It Sy リクエスト Ta Sy "説明" .It ABOR Ta "abort previous command" .It ACCT Ta "specify account (ignored)" .It ALLO Ta "allocate storage (vacuously)" .It APPE Ta "append to a file" .It CDUP Ta "change to parent of current working directory" .It CWD Ta "change working directory" .It DELE Ta "delete a file" .It HELP Ta "give help information" .It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" .It MKD Ta "make a directory" .It MDTM Ta "show last modification time of file" .It MODE Ta "specify data transfer" Em mode .It NLST Ta "give name list of files in directory" .It NOOP Ta "do nothing" .It PASS Ta "specify password" .It PASV Ta "prepare for server-to-server transfer" .It PORT Ta "specify data connection port" .It PWD Ta "print the current working directory" .It QUIT Ta "terminate session" .It REST Ta "restart incomplete transfer" .It RETR Ta "retrieve a file" .It RMD Ta "remove a directory" .It RNFR Ta "specify rename-from file name" .It RNTO Ta "specify rename-to file name" .It SITE Ta "non-standard commands (see next section)" .It SIZE Ta "return size of file" .It STAT Ta "return status of server" .It STOR Ta "store a file" .It STOU Ta "store a file with a unique name" .It STRU Ta "specify data transfer" Em structure .It SYST Ta "show operating system type of server system" .It TYPE Ta "specify data transfer" Em type .It USER Ta "specify user name" .It XCUP Ta "change to parent of current working directory (deprecated)" .It XCWD Ta "change working directory (deprecated)" .It XMKD Ta "make a directory (deprecated)" .It XPWD Ta "print the current working directory (deprecated)" .It XRMD Ta "remove a directory (deprecated)" .El .Pp 以下に示した非標準コマンドあるいは .Tn UNIX に特有のコマンドが、SITE リクエストでサポートされています。 .Pp .Bl -column Request -offset indent .It Sy リクエスト Ta Sy 説明 .It UMASK Ta change umask, e.g. ``SITE UMASK 002'' .It IDLE Ta set idle-timer, e.g. ``SITE IDLE 60'' .It CHMOD Ta "change mode of a file, e.g. ``SITE CHMOD 755 filename''" .It HELP Ta give help information. .El .Pp Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは 解釈はされますがインプリメントされていません。 MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される FTP RFC には登場するでしょう。 .Pp ftp サーバがアクティブなファイル転送を中断するのは、ABOR コマンドの前に、 Telnet "Interrupt Process" (IP) シグナルか Telnet "Synch" シグナルが Telnet ストリーム内にある場合だけです。 これは Internet RFC 959 に記述されています。 もし、データの転送中に STAT コマンドを受けとり、その前に Telnet IP や Synch があった場合、転送ステータスが返されます。 .Pp .Nm は、 .Xr csh 1 で使われているファイル名展開を解釈します。これにより、 ユーザはメタキャラクタ .Dq Li \&*?[]{}~ を利用できます。 .Pp .Nm は、5 つのルールに従ってユーザの認証を行います。 .Pp .Bl -enum -offset indent .It ログイン名はパスワードデータベース になければならず、空のパスワードであってはいけません。 この場合、あらゆるファイルの操作に先だって、クライアント側からパスワードが 提供されていなければなりません。ユーザが S/Key のキーを持っている場合は、 USER コマンドが成功した際の応答には S/Key チャレンジを含めて送られます。 クライアントは、それに対して PASS コマンドを使って応答する際に、 通常のパスワードか S/Key のワンタイムパスワードのどちらをつけて応答 するかを選択できます。サーバはどちらのパスワードを受け取ったかを自動的に 判定し、それに応じて認証を試みます。S/Key の認証に関する詳細は .Xr key 1 を参照して下さい。S/Key は Bellcore 社の商標です。 .It ログイン名はファイル .Pa /etc/ftpusers に載っていてはいけません。 .It ログイン名はファイル .Pa /etc/ftpusers で指定されているグループのメンバであってはいけません。 このファイルでグループ名として解釈されるエントリの先頭には アットマーク .Ql \&@ が付きます。 .It ユーザは .Xr getusershell 3 が返す標準のシェルを持っていなければなりません。 .It ユーザ名がファイル .Pa /etc/ftpchroot に載っているか、そのファイルにあるグループエントリ (つまり .Ql \&@ で始まるエントリ) のメンバである場合、アカウント .Dq anonymous や .Dq ftp と同様、 .Xr chroot 2 によって、 そのセッションのルートディレクトリが ユーザのログインディレクトリに変ります (次の項目を参照して下さい)。 この機能は、 .Xr login.conf 5 でブール型フラグ "ftp-chroot" をオンにしても有効になります。 しかし、ユーザは依然、パスワードを与える必要があります。 この特徴は、完全に匿名 (anonymous) なアカウントと 完全な特権のあるアカウントの間での妥協的な利用のためのものです。 このアカウントは匿名アカウントで設定するのと同様に設定されていなければ なりません。 .It もしユーザ名が .Dq anonymous または .Dq ftp の場合は、匿名の ftp アカウントがパスワードファイル (ユーザ .Dq ftp ) で提供されていなければなりません。 この場合、ユーザはどのようなパスワードでもログインを許可されます (慣習としては ユーザの email アドレスをパスワードとして用いることになっています)。 .Fl S オプションがセットされていると、全ての転送操作も記録されます。 .El .Pp 最後のケースの場合、 .Nm は特別な手段でクライアントのアクセス権を制限します。 サーバは .Dq ftp ユーザのホームディレクトリへ .Xr chroot 2 します。 システムのセキュリティが侵害されないために、 .Dq ftp サブツリーは、以下の規則に従って慎重に構築することを推奨します。 .Bl -tag -width "~ftp/pub" -offset indent .It Pa ~ftp ホームディレクトリは .Dq root の所有とし、誰も書き込みできないようにします。 .It Pa ~ftp/bin このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 list コマンドのサポートのため、ここに .Xr ls 1 プログラムを置くことが必要です。 このプログラムのモードは 111 とすべきです。 .It Pa ~ftp/etc このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 .Xr ls が所有者を数字でなく名前で表示できるようにするために、 ファイル pwd.db ( .Xr passwd 5 参照) 及び .Xr group 5 が必要です。 ファイル .Xr passwd 中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。 ファイル .Pa ftpmotd が存在すると、ログイン成功後、その内容が表示されます。 このファイルのモードは 444 とすべきです。 .It Pa ~ftp/pub このディレクトリのモードは 777、所有者は .Dq ftp とします。 ゲストユーザは、このディレクトリ中にあって匿名アカウントで アクセス可能なファイルをアクセスします。 .El .Pp システムに複数の IP アドレスがある場合、 .Nm は仮想ホストの概念をサポートします。 仮想ホストは、複数の匿名 ftp 領域それぞれを別々のインターネットアドレス に割り当てる機能を提供します。 ファイル .Pa /etc/ftphosts は各仮想ホストに関連した情報を保持します。 各ホストはそれぞれの行で定義され、 各行は空白で区切ったいくつかのフィールドからなります: .Bl -tag -offset indent -width hostname .It hostname 仮想ホストのホスト名あるいは IP アドレス。 .It user システムのパスワードファイル中のユーザレコードを含みます。 普通の匿名 ftp と同様に、このユーザのアクセス UID, GID および グループによって匿名 ftp 領域のファイルアクセス権が決まります。 匿名 ftp 領域 (ログイン時にユーザが chroot するディレクトリ) は、 そのアカウントに対するホームディレクトリとして決定されます。 他の ftp アカウントのユーザ ID およびグループも、 標準 ftp ユーザと同じであって構いません。 .It statfile 全てのファイル転送のログが記録されるファイル。デフォルトでは .Pa /var/log/ftpd です。 .It welcome サーバがプロンプトを出す前に表示される welcome メッセージ。デフォルトでは .Pa /etc/ftpwelcome です。 .It motd このファイル内容はユーザがログインした後に表示されます。デフォルトでは .Pa /etc/ftpmotd です。 .El .Pp 文字 '#' で開始する行は無視されますので、コメントを含むことが可能です。 .Pp プライマリ IP アドレスあるいはホスト名に対する仮想ホストを定義すると、 そのアドレスへの ftp ログインのデフォルト値が変更されます。 \&'user', 'statfile', 'welcome', 'motd' の各フィールドは デフォルト値を用いる場合、ブランクのままもしくはハイフン一つ \&'-' と しても構いません。 .Pp いかなる匿名ログインの設定についても言えることですが、 設定と保守には十分に注意を払い、セキュリティ上の問題をきたさないよう 防御しなければなりません。 .Pp .Em FTPD_INTERNAL_LS オプションをつけてコンパイルすると、 .Nm はリモートからのファイル一覧表示要求に対応するための内部サポートを用意し、 chroot された環境でもそれ以外でも .Pa /bin/ls を実行しなくなります。 この場合、 .Pa ~/bin/ls の実行形式ファイルは chroot されたディレクトリになくてよく、 .Pa ~/bin ディレクトリも存在する必要はありません。 このサポートは、 .Pa /etc/make.conf あるいはシェルの環境で .Em INTERNAL_LS 変数を設定して ftpd を作成することで追加されます。 .Sh 関連ファイル .Bl -tag -width /etc/ftpwelcome -compact .It Pa /etc/ftpusers 歓迎されない/制限を受けるユーザのリスト。 .It Pa /etc/ftpchroot chroot される一般ユーザのリスト。 .It Pa /etc/ftphosts 仮想ホストのための設定ファイル .It Pa /etc/ftpwelcome welcome メッセージ。 .It Pa /etc/ftpmotd login 後の welcome メッセージ。 -.It Pa /etc/nologin +.It Pa /var/run/nologin 内容を表示し、アクセスを拒否します。 .It Pa /var/log/ftpd 匿名による転送のログファイル。 .El .Sh 関連項目 .Xr ftp 1 , .Xr key 1 , .Xr getusershell 3 , .Xr login.conf 5 , .Xr inetd 8 , .Xr syslogd 8 .Sh バグ 特権ポート番号を用いてソケットを作成するために、 ftpd はスーパーユーザの権限で実行させて下さい。 サーバはログインユーザの実効ユーザ ID を保持しておき、 アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。 考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、 それでも不完全かもしれません。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/ipfw.8 b/ja_JP.eucJP/man/man8/ipfw.8 index 666c480ca4..aece95ac9a 100644 --- a/ja_JP.eucJP/man/man8/ipfw.8 +++ b/ja_JP.eucJP/man/man8/ipfw.8 @@ -1,597 +1,597 @@ .Dd July 20, 1996 .\" jpman %Id: ipfw.8,v 1.4 1997/05/19 17:19:51 horikawa Stab % .Dt IPFW 8 SMM .Os FreeBSD .Sh 名称 .Nm ipfw .Nd IPファイアウォール制御ユーティリィティ .Sh 書式 .Nm ipfw .Op Fl q .Oo .Fl p Ar preproc .Op Fl D Ar macro Ns Op Ns =value .Op Fl U Ar macro .Oc file .Nm ipfw .Oo .Fl f | .Fl q .Oc flush .Nm ipfw .Oo .Fl q .Oc zero .Op Ar number ... .Nm ipfw delete .Ar number ... .Nm ipfw .Op Fl aftN list .Op Ar number ... .Nm ipfw .Oo .Fl ftN .Oc show .Op Ar number ... .Nm ipfw .Oo .Fl q .Oc add .Op Ar number .Ar action .Op log .Ar proto from .Ar src to .Ar dst .Op via Ar name | ipno .Op Ar options .Sh 解説 書式の 1 行目のようにファイル名を指定した場合は、 .Ar file を 1 行ずつ、引数として読み込みます。 .Pp .Fl p Ar preproc を使用して、 .Ar file がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュから始まらない場合、 .Ev PATH を使用した通常の名前検索行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、本件に注意してください。 ひとたび .Fl p が指定されると、オプションの .Fl D と .Fl U の指定を続けることが可能となり、これらがプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp .Nm はパケットごとに、マッチするルールが見つかるまでルールリストを調べます。 各ルールにはパケット数とパケットサイズの 2 つのカウンタが用意されていて、 パケットがマッチするとカウンタ値は更新されます。 .Pp 全ルールは 1 から 65534 の範囲の行番号で順序付けられます。この番号によって ルールの並べ変えと削除を行ないます。 ルールのマッチングは昇順で行なわれ、最初にマッチしたものが適用されます。 複数のルールが同じ番号を共有することも可能です。この場合はルールが追加された 順序でマッチングが行なわれます。 .Pp -番号を指定せずにルールを追加した場合は、直前のルールの番号に 100 を加えたものと -なります。 -ルールの番号が 65534 より大きい場合は、新しいルールは最後のルールに追加されます +番号を指定せずにルールを追加した場合は、 +既に定義されているルールの最大の番号に 100 を加えたものとなります。 +ルールの番号が 65435 以上の場合は、新しいルールは同じ番号が与えられます。 。 .Pp delete 操作は .Ar number で指定された番号を持つ最初のルールを、もし有れば、削除します。 .Pp list 操作は現在のルール一覧を出力します。 .Pp show 操作は `ipfw -a list' と同じ結果を出力します。 .Pp zero 操作は .Ar number で指定された番号を持つルールのカウンタをクリアします。 .Pp flush 操作は全ルールを削除します。 .Pp 記号 `#' で始まる行および空行は無視されます。 .Pp どんな場合でも次のルールは存在します: .Bd -literal -offset center 65535 deny all from any to any .Ed .Pp 全パケットを拒否するのがデフォルトのポリシーです。 これを修正し、必要なルールを設定して下さい。 .Pp しかしながら、カーネルオプション .Dq IPFIREWALL_DEFAULT_TO_ACCEPT が有効な場合、ルールは次のようになります: .Bd -literal -offset center 65535 allow all from any to any .Ed .Pp このバリエーションでは全てが通過可能です。 このオプションを有効にしてよいのは特定の状況だけであり、 例えば通常は解放しており、 必要に応じてサービス拒否 (denial-of-service) フィルタとなる ファイアウォールシステムを使用する場合がこれに該当します。 .Pp オプションは以下のものが利用可能です。 .Bl -tag -width flag .It Fl a list 操作の時、カウンタの値を表示します。 show の項を参照のこと。 .It Fl f 操作を実行する際に確認メッセージを表示しません。 flush 操作も無条件に実行されます。 .Ar (注意) プロセスに tty が関連付けられていない場合には、 このオプションが指定されているものとして実行されます。 .It Fl q ルールを add, zero, flush する際に、メッセージの出力を抑制します ( .Fl f も含まれます)。 このオプションは、リモートログインセッションでルールを調整する際に、 (例えば sh /etc/rc.firewall のようにして)スクリプトの中から複数の ipfw コマンド を 実行する場合や、 多数の ipfw ルールを記述したファイルを用いる場合に 便利です。 flush 操作が通常の(冗舌な)状態(デフォルトのカーネルの設定) で実行されると、メッセージが出力されます。 ここで、すべてのルールは削除されるので、メッセージをログインセッションに 送ることができず、ログインセッションがクローズされてしまうので、 残りのルールセットは実行されません。 この状態を修復するにはコンソールへのアクセスが必要となります。 .It Fl t list 操作の時に、最後にマッチしたパケットのタイムスタンプを表示します。 .It Fl N IPアドレスとサービス名をリゾルブしてホスト名で表示します。 .El .Pp .Ar action : .Bl -hang -offset flag -width 1234567890123456 .It Ar allow マッチするパケットを通過させ、マッチングを終了します。 .Ar pass , .Ar permit , .Ar accept と同じです。 .It Ar deny マッチするパケットを破棄し、マッチングを終了します。 .Ar drop は .Ar deny と同じです。 .It Ar reject (パケットを送らないよう嘆願) マッチするパケットを破棄し、 ICMP の host unreachable を送信して、終了します。 .It Ar unreach code パケットを破棄し、ICMP の unreachable に .Ar code を付けて送信します。 .Ar code は、 0 から 256 までの数字、もしくは、以下に列挙する別名のいずれかです: .Ar net, .Ar host , .Ar protocol , .Ar port , .Ar needfrag , .Ar srcfail , .Ar net-unknown , .Ar host-unknown , .Ar isolated , .Ar net-prohib , .Ar host-prohib , .Ar tosnet , .Ar toshost , .Ar filter-prohib , .Ar host-precedence , .Ar precedence-cutoff 。送信後、終了します。 .It Ar reset TCP パケットのみに対応。 パケットを破棄し、TCP の (RST) を送信し、終了します。 .It Ar count マッチするパケットのカウンタを更新し、引続きマッチングを行ないます。 .It Ar divert port マッチするパケットを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、マッチングを終了します。 .It Ar tee port マッチするパケットのコピーを .Ar port で指定されたポートにバインドされている .Xr divert 4 ソケットに送り、引続きマッチングを行ないます。 この機能は未実装です。 .It Ar fwd ipaddr Op ,port マッチしたパケットの次のホップを .Ar ipaddr に変更します。これはドット付き 4 つ組の IP アドレスでもホスト名でもよいです。 .Ar ipaddr が直接到達可能なアドレスではない場合、その IP に対して ローカルルーティングテーブルでみつかる経路を使用します。 .Ar ipaddr がローカルアドレスの場合、 リモートホストからこのシステムにパケットが到着すると、 そのパケットをローカルマシンの .Ar port に転換します。 その際、 ソケットのローカルアドレスは、 パケットの元々の宛先の IP アドレスのままとします。 これは透過的プロキシサーバのためにあります。 IP が ローカルアドレスではない場合、ポート番号は (指定されていても) 無視され、 ルールはシステムから出て行くパケットに対してのみ適用されます。 また、」 パケットローカルに生成された時にもアドレスをローカルポートにマップします。 検索はルールがマッチしたときに終了します。 ポート番号が与えられなかった場合、パケット中のポート番号が使用され、 外部マシンのポート Y へのパケットは ローカルポート Y へ転送されます。 カーネルは、 オプション IPFIREWALL_FORWARD 付きでコンパイルされている必要があります。 .It Ar skipto number .Ar number より小さな番号のルールを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、マッチングを継続します。 .El .Pp パケットが .Ar divert や .Ar tee のどちらかひとつ以上、もしくは両方の組み合わせの、複数のルールにマッチした場合、 最後のものを除き、無視します。 .Pp カーネルが .Dv IPFIREWALL_VERBOSE オプション付きでコンパイルされている場合に、``log'' が指定されているルールと マッチした時は、メッセージをコンソールに表示します。 もし、 .Dv IPFIREWALL_VERBOSE_LIMIT オプション付きでコンパイルされている場合、一連のルールに対し指定されたパケット 数を受信した後、メッセージの表示を中止します。 パケットのカウンタをクリアすれば再びメッセージを出力します。 .Pp コンソールへの表示とその制限数は、 .Xr sysctl 8 を通し、直接設定できます。 .Pp .Ar proto : .Bl -hang -offset flag -width 1234567890123456 .It Ar ip 全パケットがマッチします。別名 .Ar all も使えます。 .It Ar tcp TCP パケットのみマッチします。 .It Ar udp UDP パケットのみマッチします。 .It Ar icmp ICMP パケットのみマッチします。 .It Ar 指定されたプロトコルのパケットのみマッチします ( .Pa /etc/protocols のリストを参照の事) .El .Pp .Ar src と .Ar dst : .Pp .Bl -hang -offset flag .It Ar
.Op Ar ports .El .Pp .Em
は以下のように指定できます。 .Bl -hang -offset flag -width 1234567890123456 .It Ar ipno IP番号を 1.2.3.4 の形式で指定します。指定されたアドレスのみがマッチします。 .It Ar ipno/bits IP番号とネットマスクの幅を 1.2.3.4/24 の形式で指定します。 この場合は 1.2.3.0 から 1.2.3.255 のアドレスがマッチします。 .It Ar ipno:mask IP番号とネットマスクの幅を 1.2.3.4:255.255.240.0 の形式で指定します。 この場合は 1.2.0.0 から 1.2.15.255 のアドレスがマッチします。 .El .Pp アドレスの前に ``not'' を付けることによって、マッチの意味を反転させる ことができます(指定されたアドレス以外の総てのアドレスがマッチします)。 これはポート番号には影響しません。 .Pp TCP と UDP ではさらに、 .Em ports を以下のように指定できます。 .Pp .Bl -hang -offset flag .It Ns {port|port-port} Ns Op ,port Ns Op ,... .El .Pp ポート番号の代わりに(ファイル .Pa /etc/services から取った)サービス名を使用できます。 port-port の書式で、最初の値に限り範囲指定できます。 列挙出来るポート数は .Pa /usr/src/sys/netinet/ip_fw.h で .Dv IP_FW_MAX_PORTS として定義されています。 .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 一つ以上のポート仕様を持つルールにはマッチしません。? 断片化されたパケットへのマッチングに関する詳細は .Ar frag オプションを参照してください。 .Pp マッチングのルールは、入ってくるパケットか、出ていくパケット、もしくはその両方 に対し適応されます。 .Ar in を指定すれば、入ってくるパケットのみにルールを適応します。 .Ar out を指定すれば、出ていくパケットのみに適応します。 .Pp 特定のインタフェースを通過するパケットには、 .Ar via を用いてインタフェースを指定します: .Bl -hang -offset flag -width 1234567890123456 .It Ar via ifX .Ar ifX を通過するパケットを指定します。 .It Ar via if* .Ar ifX を通過するパケットを指定します。X はいずれかのユニットの番号です。 .It Ar via any .Em いずれか のインタフェースを通過するパケットを指定します。 .It Ar via ipno IP アドレスが .Ar ipno のインタフェースを通過するパケットを指定します。 .El .Pp .Ar via を用いると、常時指定されたインタフェースがチェックされます。 .Ar recv や .Ar xmit を、 .Ar via の代わりに指定すると、 受信、もしくは送信インタフェースのみが(各々に)チェックされます。 両方を指定すれば、 受信と送信の両方のインタフェースを通るパケットを指定できます。 例 : .Pp .Dl "ipfw add 100 deny ip from any to any out recv ed0 xmit ed1" .Pp .Ar recv で指定したインタフェースでは、受信と送信、両方のパケットをチェックできます。 それに対し、 .Ar xmit で指定したインタフェースでは、送信パケットのみとなります。 それゆえに、 .Ar xmit を指定すると .Ar out が、必須です( .Ar in は不可)。 .Ar via と共に .Ar xmit もしくは、 .Ar recv を指定する事はできません。 .Pp 個々のパケットは、受信用ないし送信用インタフェースを持たないかもしれません。 ローカルホストで発生したパケットには受信用のインタフェースはないし、 ローカルホスト内宛のパケットは、送信用インタフェースが有りません。 .Pp 追加用 .Ar options : .Bl -hang -offset flag -width 1234567890123456 .It frag パケットが断片(フラグメント)化されたデータグラムの一部で、かつデータグラムの 先頭の断片でない場合にマッチします。 .Ar frag を、 .Ar tcpflags や TCP/UDP ポート仕様と共に使用することはできません。 .It in ネットワークから受信したパケットのみマッチします。 .It out ネットワークへ送信するパケットのみマッチします。 .It ipoptions Ar spec IP ヘッダが、 .Ar spec に指定されたコンマで区切られたオプションのリストを含む場合にのみマッチします。 サポートされている IP オプションは .Ar ssrr (strict source route), .Ar lsrr (loose source route), .Ar rr (record packet route), .Ar ts (timestamp) です。 ``!'' によって、特定のオプションを含めないよう指定できます。 .It established RST または ACK ビットがセットされているパケットのみマッチします。 このビットがセットされることがあるのは TCP のパケットのみです。 .It setup SYN ビットがセットされ ACK がセットされていないパケットのみマッチします。 このビットがセットされることがあるのは TCP のパケットのみです。 .It tcpflags Ar spec TCP ヘッダが .Ar spec に指定されたコンマで区切られたフラグのリストを含む場合にのみマッチします。 サポートされているフラグは、 .Ar fin , .Ar syn , .Ar rst , .Ar psh , .Ar ack , .Ar urg です。 ``!'' によって、特定のフラグを含めないよう指定できます。 .Ar tcpflags 仕様を含むルールは非 0 のオフセットを持つ断片化されたパケットに マッチすることはありません。 断片化されたパケットに関するマッチについての詳細は .Ar frag オプションを参照してください。 .It icmptypes Ar types ICMP タイプが .Ar types で指定されたリスト中に存在する場合にのみ適用されるルールとなります。 リストはレンジの組み合わせでも、各タイプをコンマで区切ったものでもどちらでも かまいません。 .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点を述べます。 .Bl -bullet -hang -offset flag .It かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる のがよいでしょう。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 長所 ファイアウォールが常に破棄するパケットが 1 種類あります。 フラグメントオフセットが 1 のフラグメントパケットです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 .Pp ネットワーク越しにログインしている場合、LKM 版の .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset center modload /lkm/ipfw_mod.o && \e ipfw add 32000 allow all from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset center ipfw flush .Ed .Pp とするのは良くありません。 .Pp システムセキュリティレベルが 3 以上に設定されている場合、 IP フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .Sh パケットの行き先変更 指定されたポートを見ているソケットは、そのポートへ行き先変更されたパケットを、 全部受けとります。 .Xr divert 4 を参照して下さい。ポートを見ているソケットがない場合やカーネルがパケットの行き 先変更をサポートするようにはコンパイルされていない場合、パケットは破棄されます 。 .Sh 使用例 次のコマンドは .Em cracker.evil.org から .Em wolf.tambov.su の telnet ポートへ送られる全ての TCP パケットを拒否するルールを追加します。 .Pp .Dl ipfw add deny tcp from cracker.evil.org to wolf.tambov.su 23 .Pp 次のコマンドはネットワーク hackers からホスト my への全てのコネクションを 拒否します。 .Pp .Dl ipfw add deny all from 123.45.67.0/24 to my.host.org .Pp 次はカウントされている情報とタイムスタンプを見る例です .Pp .Dl ipfw -at l .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a l .Pp 次のルールは 192.168.2.0/24 からの全ての受信パケットを、5000番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 all from 192.168.2.0/24 to any in .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr divert 4 , .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr init 8 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ .Pp .Em WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!! .Pp このプログラムはコンピュータをかなり使いにくい状態にしてしまう可能性があります 。 はじめて使用する時はコンソール上で実行し、理解していない操作は .Em 絶対に実行しない ようにして下さい。 .Pp 連続したエントリの操作もしくは追加に際し、サービス名やプロトコル名は使用できま せん。 .Pp 入ってきたパケットの断片(フラグメント)が .Ar divert によって行き先を変更されると、ソケットに配送される前に、組み立て直しをします。 それに対し、 .Ar tee を経由した断片(フラグメント)は、組み立て直しされません。 .Pp ポートの別名でダッシュ (-) を含むものは、リストの最初には書けません。 .Pp ``tee'' アクションは未実装です。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs . API は .An Daniel Boulet が BSDI 向けに記述したコードに基づいています。 .Sh 歴史 .Nm は、FreeBSD 2.0 で最初に現れました。 diff --git a/ja_JP.eucJP/man/man8/mail.local.8 b/ja_JP.eucJP/man/man8/mail.local.8 index b9c11db8cc..b83202181e 100644 --- a/ja_JP.eucJP/man/man8/mail.local.8 +++ b/ja_JP.eucJP/man/man8/mail.local.8 @@ -1,103 +1,103 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)mail.local.8 8.7 (Berkeley) 5/19/1998 .\" 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 は EOF がくるまで標準入力から読み込みを行い、 それらを各 .Ar user の .Pa mail ファイルに追加します。 .Ar user は、有効なユーザ名でなければなりません。 .Pp オプション: .Bl -tag -width xxxfrom .It Fl f Ar from 送り手の名前を指定します。 .It Fl b .Dq biff サービスに通知する事をやめます。 .It Fl s .Dq success 状態を返す前にメールボックスをディスクにコミットするために使用する、 .Xr fsync 2 呼び出しを無効にします。 .El .Pp メールボックスのなかの個々のメッセージは、 空行に続く ``From '' という文字列からはじまる行によって区切られます。 ``From'' という文字列、送り手 (sender) の名前、 時刻 (time stamp) を含む行が配送されたメールそれぞれに 付加されます。 空行がそれぞれのメッセージに追加されます。 大なり記号 (``>'') は ``From '' によって誤って別のメッセージとして処理 される可能性のある行の行頭に付加されます (それは、空白行に続く行で ``From '' という 5 文字で始まる行です)。 .Pp メールファイルはメールが追加されている間は .Xr flock 2 によって排他的にロックされます。 メールボックスがロックされている間、 .Pa user.lock が作成されますが、これは古い MUA との互換性のためです。 .Pp .Xr getservbyname 3 が ``biff'' を返すと、 biff サーバにメールの配送が伝えられます。 .Pp .Nm mail.local は成功すれば 0 を、失敗すれば 0 より大きな値を返します。 .Sh 環境変数 .Bl -tag -width indent .It Ev TZ タイムスタンプを記録する際に適切なタイムゾーンを設定します。 .El .Sh 関連ファイル .Bl -tag -width /tmp/local.XXXXXX -compact .It Pa /tmp/local.XXXXXX テンポラリファイル .It Pa /var/mail/user ユーザのメールボックスディレクトリ .It Pa /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 (メールボックスを読む際、配送時と同様に扱います) は .At v7 から、 .Nm mail として現れました。 diff --git a/ja_JP.eucJP/man/man8/mailstats.8 b/ja_JP.eucJP/man/man8/mailstats.8 index c218986b34..0ae15e1632 100644 --- a/ja_JP.eucJP/man/man8/mailstats.8 +++ b/ja_JP.eucJP/man/man8/mailstats.8 @@ -1,88 +1,100 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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.5 (Berkeley) 5/19/98 +.\" @(#)mailstats.8 8.8 (Berkeley) 11/13/1998 .\" .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 は、現在のメールの統計情報を表示します。 .Pp まず、統計が開始された時刻が .Xr ctime 3 で指定されるフォーマットで表示されます。 次に、各メーラの状態が 1 行で表示されます。 それぞれ空白で区切られた次のフィールドからなります: .Pp .Bl -tag -width 10n -offset indent -compact .It Sy M メーラ番号。 .It Sy msgsfr メーラからのメッセージ数。 .It Sy bytes_from メーラからのキロバイト数。 .It Sy msgsto メーラへのメッセージ数。 .It Sy bytes_to メーラへのキロバイト数。 +.It Sy msgsrej +拒否されたメッセージ数。 +.It Sy msgsdis +捨てられたメッセージ数。 .It Sy Mailer メーラ名。 .El .Pp この表示の後、 すべてのメーラの総計行が表示されますが、 等号 .Pq Dq \&= 文字のみからなる行によりその前の情報と分けられます。 .Pp オプションは以下の通りです: .Bl -tag -width Ds .It Fl C デフォルトの .Nm sendmail .Dq cf ファイルの代りに指定されたファイルを読みます。 .It Fl f .Nm sendmail .Dq cf ファイルで指定されている統計情報ファイルの代りに、 指定された統計情報ファイルを読みます。 +.if \nP \ +\{ +.It Fl p +プログラムが読み取る形式で情報を出力し、統計情報をクリアします。 +.\} .It Fl o 出力においてメーラ名を表示しません。 .El .Pp .Nm mailstats は成功時には 0 で、エラー時には >0 で終了します。 .Sh 関連ファイル .Bl -tag -width /var/log/sendmail.st -compact -.It Pa /etc/sendmail.cf +.ie \nP .It Pa /etc/mail/sendmail.cf +.el .It Pa /etc/sendmail.cf デフォルトの .Nm sendmail .Dq cf ファイル -.It Pa /var/log/sendmail.st +.ie \nP .It Pa /etc/mail/statistics +.el .It Pa /var/log/sendmail.st デフォルトの .Nm sendmail 統計情報ファイル .El .Sh 関連項目 .Xr mailq.1 , .Xr sendmail 8 diff --git a/ja_JP.eucJP/man/man8/makemap.8 b/ja_JP.eucJP/man/man8/makemap.8 index daee6c1071..e073488434 100644 --- a/ja_JP.eucJP/man/man8/makemap.8 +++ b/ja_JP.eucJP/man/man8/makemap.8 @@ -1,117 +1,128 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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.10 (Berkeley) 5/19/98 +.\" @(#)makemap.8 8.12 (Berkeley) 11/13/1998 .\" 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 -.Op Fl N +.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 は、 .Xr sendmail 8 がキー付きマップを検索する際に用いるデータベースマップを作成します。 これは標準入力から読み込みを行い、指定された .Ar mapname に出力を行います。 .Pp コンパイル方法に依存しますが、 .Nm は最大 3 種類のデータベースフォーマットを扱います。 扱うフォーマットは .Ar maptype で指定します。 .Ar maptype には、以下のようなものがあります。 .Pp .Bl -tag -width Fl .It Li dbm .Tn DBM フォーマットマップ。 .Xr ndbm 3 ライブラリが必要です。 .It Li btree B-Treeフォーマットマップ。 新しい Berkeley DB ライブラリが必要です。 .It Li hash ハッシュフォーマットマップ。 同じく Berkeley DB ライブラリが必要です。 .El .Pp すべてのフォーマットで、 .Nm makemap は標準入力から空白文字で区切られた 2 つの単語を読み込みます。 最初の単語はデータベースキーで、2番目の単語がその値です。 値が ``%\fIn\fP'' .Pf ( Ar n は数字)という文字列を含んでいると、sendmail がパラメータ置換を行います。 .Dq % という文字を含めるには、``%%'' とする必要があります。 空行や ``#'' から始まる行は無視されます。 .Pp .Ss フラグ .Bl -tag -width Fl .It Fl N 文字列の終端記号として、ヌル文字もマップに含めます。 これは、sendmail.cf の ``K'' 行における \-N フラグと一致していなければ なりません。 +.if \nP \ +\{\ +.It Fl c +指定したハッシュと B-Tree キャッシュサイズを使用します。 +.\} .It Fl d マップ中に重複するキーが存在することを許します。 B-Treeフォーマットマップでのみ可能です。 2 つの同じキーが読まれた場合、両方ともマップに挿入されます。 .It Fl f 通常、キーのなかのすべての大文字(upper case)は、 すべて小文字(lower case)として記録されますが、 このフラグを指定することによってこの動作を行わないように指定できます。 これは、sendmail.cf 中の \fBK\fP 行における \-f フラグと一致していなければなりません。 +.if \nP \ +\{\ +.It Fl l +サポートされているマップタイプを列挙します。 +.\} .It Fl o すでにあるファイルに追加が行われます。 すでに存在するファイルを引数として指定することができます。 .It Fl r すでに存在しているキーを置き換えます。 通常はすでに入力したキーをさらに繰り返して入力しても、 .Nm は警告を出力し、データベースには取り込みません。 .It Fl s 生成されるマップの安全チェックを無視します。 これには、 だれでも書き込めるディレクトリへのハードリンクおよびシンボリックのチェックも 含まれます。 .It Fl v 処理の内容を詳細に表示します。 .El .Sh 関連項目 .Xr sendmail 8 .Sh 歴史 .Nm コマンドは .Bx 4.4 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/mount_msdos.8 b/ja_JP.eucJP/man/man8/mount_msdos.8 index a068107662..cbf098151b 100644 --- a/ja_JP.eucJP/man/man8/mount_msdos.8 +++ b/ja_JP.eucJP/man/man8/mount_msdos.8 @@ -1,223 +1,214 @@ .\" $NetBSD: mount_msdos.8,v 1.13 1998/02/06 05:57:00 perry Exp $ .\" .\" Copyright (c) 1993,1994 Christopher G. Demetriou .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by Christopher G. Demetriou. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" .\" %Id: mount_msdos.8,v 1.14 1998/06/30 06:23:41 charnier Exp % .\" jpman %Id: mount_msdos.8,v 1.3 1997/09/08 01:55:26 seki Stab % .\" .Dd April 7, 1994 .Dt MOUNT_MSDOS 8 .Os .Sh 名称 .Nm mount_msdos .Nd MS-DOS ファイルシステムをマウントする .Sh 書式 .Nm mount_msdos .Op Fl o Ar options .Op Fl u Ar uid .Op Fl g Ar gid .Op Fl m Ar mask .Op Fl s .Op Fl l .Op Fl 9 .\".Op Fl G .Op Fl L Ar locale .Op Fl W Ar table .Pa special .Pa node .Sh 解説 .Nm コマンドは、デバイス名 .Pa special 上の MS-DOS ファイルシステムを、 グローバルファイルシステムの名前空間の .Pa node の示す位置に接続します。 通常このコマンドは、ブート時に .Xr mount 8 によって実行されますが、 任意のユーザが、 自分の所有する任意のディレクトリに MS-DOS ファイルシステムをマウントするために使うこともできます。 (もちろん、 そのファイルシステムを含むデバイスに対して 適切なアクセスを行えることが条件ですが。) .Pp オプションは以下のものが使用できます: .Bl -tag -width Ds .It Fl o Ar options 指定されたマウントオプション .Ar options を .Xr mount 8 の記述通り使用します。 .It Fl u Ar uid ファイルシステム上のファイルの所有者を .Ar uid にします。デフォルトの所有者はファイルシステムがマウントされるディレクトリの 所有者です。 .It Fl g Ar gid ファイルシステム上のファイルのグループを .Ar gid にします。デフォルトのグループはファイルシステムがマウントされるディレクトリの グループです。 .It Fl m Ar mask ファイルシステム上のファイルの最大のパーミッションを指定します。 (例えば、 Ar mask .Li 755 は、デフォルトで、 .\" ここでの by default は「MS-DOS の『ファイル属性』として特別な指定 .\" がないとき」という意味であると思われる。意味がわかりにくいが、原文 .\" もわかりにくいので、特に説明を補わない。 .\" by 所有者がファイルの読み書き実行の権限を持ち、 他のユーザが読みと実行の権限だけを持つことを指定します。 8 進のファイルモードに関しては .Xr chmod 1 を御覧下さい。) .Ar mask の下位 9 ビットのみが使用されます。 デフォルトの .Ar mask は、 ファイルシステムがマウントされるディレクトリから取得されます。 .It Fl s Win'95 のロングファイル名を無視および生成しないように強制します。 .It Fl l Win'95 のロングファイル名のリストおよび生成と、 生成/修正/アクセス日を分離するように強制します。 .Pp .Fl s も .Fl l も指定されない場合、 .Nm は既存の Win'95 のロングファイル名から マウントすべきファイルシステムのルートディレクトリを探してマウントします。 -このようなエントリが見付からなかった場合、 +このようなエントリが見付からなかった場合で、 +短い DOS ファイル名が見付かった場合、 .Fl s がデフォルトです。そうでない場合、 .Fl l が仮定されます。 .It Fl 9 ファイルを削除およびリネームするときにおいても、 特殊な Win'95 のディレクトリエントリを無視します。 これは .Fl s を強制します。 .\".It Fl G .\"This option causes the filesystem to be interpreted as an Atari-Gemdos .\"filesystem. The differences to the MS-DOS filesystem are minimal and .\"limited to the boot block. This option enforces .\".Fl s . .It Fl L Ar locale DOS と Win'95 の国際大文字小文字名前変換において使用される ロケール名を指定します。 デフォルトでは ISO 8859-1 がローカルな文字セットと仮定されます。 .It Fl W Ar table 3 個の変換表を含むテキストファイルを指定します: .Bl -enum .It Win'95 のロングファイル名に対して、 ローカル文字セットから Unicode へ変換する表 (上半分)であり、 128 Unicode コードです。 Unicode に存在しないコードがあった場合、 0x003F コード ('?') を代わりに使用します。 .It DOS 名に対して、 DOS からローカル文字セットへ変換する表 (上半分) であり、 128 文字コードです。 変換できないものに対しては、 コード 0x3F ('?') を使用します。 .It DOS 名に対して、 DOS からローカル文字セットへ変換する表 (上半分) であり、 128 文字コードです。 特殊な意味を持つコードがあります: .Bl -hang .It 0x00 DOS フィイル名において禁止されている文字; .It 0x01 DOS ファイル名において '_' に変換されるべき文字; .It 0x02 DOS ファイル名においてスキップされるべき文字; .El .El .Pp デフォルトでは ISO 8859-1 がローカル文字セットとして仮定されます。 パスが絶対パスでない場合、 .Pa /usr/libdata/msdosfs/ プレフィックスが前に付きます。 .El .Sh 関連ファイル .Bl -tag -width /usr/libdata/msdosfs -compact .It Pa /usr/libdata/msdosfs 文字セット変換表のデフォルトの置き場所 .El .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 .Sh 警告 Win'95 で使用しているものと同様の手続きを使用して注意しているにもかかわらず、 .Fl 9 フラグを使用するとファイルシステムを破壊することがあります。 .Pp .Fx 2.1 およびそれ以前のバージョンでは 16K より大きなクラスタサイズを扱えませんでした。 MS-DOS ファイルシステムをマウントするだけで、 そのファイルシステムを破壊してしまうことがありました。 16K より大きなクラスタサイズは 1G より大きなファイルシステムでは避けようがありませんし、 1G より大きなファイルシステムを FIPS で縮めたときにも発生し得ます。 -.Pp -デフォルトの -.Fl s -および -.Fl l -の扱いによって、 -空のファイルシステムにおいて短いファイル名のみ発生することがあります。 -空の DOS ファイルシステムにおいてロングファイル名を生成するには -.Fl l -を使用してください。 .Sh 歴史 .Nm は .Fx 2.0 にて初めて登場しました。 この元になった、 .Nm mount_pcfs は .Fx 1.0 にて登場しましたが、 よりそれらしい名前の .Nm が出来たため廃止されました。 diff --git a/ja_JP.eucJP/man/man8/mrouted.8 b/ja_JP.eucJP/man/man8/mrouted.8 index d13f58ba37..61970fff84 100644 --- a/ja_JP.eucJP/man/man8/mrouted.8 +++ b/ja_JP.eucJP/man/man8/mrouted.8 @@ -1,449 +1,627 @@ -.\"%Id: mrouted.8,v 1.11 1998/08/31 16:41:08 wosch Exp % +.\"%Id: mrouted.8,v 1.12 1999/01/20 07:55:51 fenner Exp % .\" jpman %Id: mrouted.8,v 1.3 1997/07/26 22:00:11 horikawa Stab % .Dd May 8, 1995 .Dt MROUTED 8 .Sh 名称 .Nm mrouted .Nd IP マルチキャストルーティングデーモン .Sh 書式 .Nm mrouted .Op Fl c Ar config_file .Op Fl d Op Ar debug_level .Op Fl p .Sh 解説 .Nm は、RFC1075 にて規定されている Distance-Vector Multicast Routing Protocol (DVMRP) の実装です。本コマンドは distance-vector routing protocol (RIP に似たプロトコルであり、RFC1058 に記述されています) を使うことで、ネットワークトポロジに関する情報を管理し、 そのプロトコルの上で、Reverse Path Multicasting と呼ばれる マルチキャストデータグラムフォワーディングアルゴリズムを実装しています。 .Pp .Nm は、マルチキャストデータグラムを、データグラムが生成されたサブネットを幹と して樹状に構成されるパス上に、パスの最短距離を通過するようにして送出します。 マルチキャストツリーは目的のグループを含むサブネットを越えないブロード キャストツリーと考えることができます。 したがって、データグラムはマルチキャストの受け手がいない枝には送出され ません。 さらに、マルチキャストデータグラムパケットの生存時間によっては、到達で きる範囲が限定される場合もあります。 .Pp IP マルチキャストをサポートしない (ユニキャスト) ルータを介したサブネット間で、 マルチキャストを実現する場合、 .Nm の実装にはトンネリングのサポートも含まれます。トンネリングとは、 インターネットのあらゆるところにて稼働している -.Nm +マルチキャストルータ の組の間で仮想的なポイントツーポイントリンクを確立する技術です。 IP マルチキャストパケットは、トンネルを通過するところでカプセル化されます。 カプセル化されたパケットは、 ルータ及びサブネットを進む通常のユニキャストデータグラムに見えます。 トンネルの入口でカプセル化が行われ、トンネルの出口でカプセルが取り外されます。 -デフォルトでは、パケットは、IP-in-IP プロトコル +パケットは、IP-in-IP プロトコル (IP プロトコル番号 4) を用いることでカプセル化を 行ないます。 古いバージョンの .Nm のトンネリングは、 IP ソースルーティングを用いたものですが、 本手法はルータによっては大きな負荷をかけることになります。 本バージョンでは、IP ソースルーティングを用いたトンネリングは サポートしません。 .Pp トンネリング機構の実装により、 .Nm は、 実際のインターネットとは独立の、 マルチキャストパケットのみを扱う広範囲の自立システムに跨る 仮想インターネットを構築できます。 これを可能にすることにより、 実験的ではあるが、インターネットマルチキャストをサポートし、 (ユニキャスト)ルータによるマルチキャストルーティング を可能にします。 .Nm は deistance vector ルーティングプロトコルが持つ よく知られたスケーリングの問題の影響を被りますし、 階層的なマルチキャストルーティングを (まだ) サポートしていません。 .Pp .Nm はマルチキャストルーティングのみを扱いますので、同じ機械の上でユニキャ ストルーティングソフトが走っていてもいなくても構いません。 トンネリングを利用すれば、 .Nm はマルチキャストフォーワーディングのためにひとつより多くの 物理的なサブネットにアクセスする必要がありません。 .Pp -以下のオプションを使用可能です: +次のオプションを使用可能です: .Bl -tag -width indent .It Fl c Ar config_file 別の設定コマンドファイルを指定します。 デフォルトは .Pa /etc/mrouted.conf です。 .Fl d オプションが与えられないか、もしくは debug level として 0 が指定された 場合、 .Nm は起動された端末から切り離されます。それ以外の場合は、 .Nm は、起動された端末に残り、起動された端末からの割り込みを受け付けます。 -.Fl d -が引数なしで指定された場合の debug level はデフォルトの 2 です。 debug level の指定の有無にかかわらず、 .Nm は常に警告メッセージやエラーメッセージを syslogd に対して送ります。 -0 以外の debug level が指定された場合、以下の挙動を示します: +.Fl debug-level +引数は、次に示すものをコンマで区切ったリストです: .Bl -tag -width indent -.It "level 1" -すべての syslog へ出力されるメッセージは、stderr へも出力されます。 -.It "level 2" -debug level 1での挙動に加え、重要と思われる挙動通知を stderr に出力します。 -.It "level 3" -debug level 2 での挙動に加え、すべてのパケット送出/到着について stderr -に出力します。 -.El -.It Fl p -枝苅りを抑止します。 +.It "packet" +送受信したすべてのパケットに関し、タイプ・ソース・宛先を表示します。 +.It "pruning" +送受信した枝苅りに関し、更なる情報を表示します。 +.It "routing" +送受信した経路更新パケットに関し、更なる情報を表示します。 +.It "route_detail" +経路更新に関し、過度に詳細な程表示します。 +大概の場合、情報が多すぎるでしょう。 +.It "neighbors" +隣接ルータ発見に関し、情報を表示します。 +.It "cache" +カーネルのフォワーディングキャッシュに関し、挿入・削除・更新を表示します。 +.It "timeout" +タイムアウトと定期処理をデバッグします。 +.It "interface" +インタフェースとその設定に関し、情報を表示します。 +.It "membership" +物理インタフェースにおけるグループメンバシップに関し、情報を表示します。 +.It "traceroute" +このルータを通過するマルチキャスト経路追跡要求に関し、情報を表示します。 +.It "igmp" +グループメンバシップおよび問い合わせ者選出を含む IGMP 操作を表示します。 +.\" Display IGMP operation including group membership and querier election. +.\" including 以降はこれで良いのか? +.It "icmp" +ICMP 操作を監視します。 +.It "rsrr" +RSRR 操作を監視します。 .El +.Pp 起動にともない、 .Nm はその pid を .Pa /var/run/mrouted.pid ファイルに 書き出します。 .Sh 初期設定 .Nm は、自動的にすべてのマルチキャスト可能なインタフェース、 つまり、IFF_MULTICAST フラグがセットされたインタフェース (ループバックインタフェースは除きます) に対して初期化を行い、別の -.Nm +DVMRP ルータ に直接接続可能なインタフェースを探索します。 デフォルトの設定を上書きする、あるいは別の -.Nm +マルチキャストルータ に対するトンネルリンクを付加するには、 .Pa /etc/mrouted.conf (もしくは .Fl c オプションによって指定されるファイル) を編集します。 -コンフィギュレーションのためには以下の 4 種類のコマンドがあります。 -.nf - - phyint [disable] [metric ] [advert_metric ] - [threshold ] [rate_limit ] - [boundary (|/)] - [altnet /] - - tunnel [metric ] [advert_metric ] - [threshold ] [rate_limit ] - [boundary (|/)] - - cache_lifetime - - name / - -.fi +設定のためには次の 4 種類のコマンドがあります。 .Pp ファイルの形式は自由です。すなわち、空白文字 (改行も含みます) は意味を 持ちません。 -.Em boundary -と -.Em altnet -オプションは必要な数だけ指定して下さい。 +.I mrouted +の操作全体またはデフォルト設定に適用されるコマンドから、ファイルは開始します。 +.Bl -tag -width indent +.It cache_lifetime Ar secs +マルチキャストフォワーディングキャッシュ経路の生存時間を、秒で指定します。 +カーネル内のマルチキャストフォワーディングキャッシュのエントリは、 +.Ar secs +秒毎にチェックされ、ソースがアクティブな場合にはリフレッシュされ、 +そうでない場合は削除されます。 +この値を設定するときには注意してください。 +小さな値を設定するとカーネルキャッシュは小さくなりますが、 +定期的な送信者がいると +キャッシュの「スラッシング」が起るという弊害がありますし、 +大きな値を設定すると許容できない程カーネルキャッシュが大きくなります。 +デフォルトは 300 (5 分) です。 +.It prune_lifetime Ar secs +親に送った枝苅りの平均生存時間を、秒で指定します。 +実際の生存時間は [.5\fIsecs\fP,1.5\fIsecs\fP] の範囲でランダムとなります。 +デフォルトは 7200 (2 時間) です。 +小さな値を設定するとこのルータおよび親ルータが保存する状態は少なくなりますが、 +ブロードキャストの頻度が高くなるという弊害があります。 +隣接ルータのリブート判定に +DVMRP の世代 ID を使用しないルータがあります +(例えば 3.3 以前の mrouted と、cisco の IOS の現在知られている全バージョン)。 +リブートからの回復時間を短縮するために、 +これらの隣接ルータに送信した枝苅りを保持する時間は短くすべきです。 +このような状況で使用する場合、後述するように +prune_lifetime キーワードをインタフェースに指定すると良いでしょう。 +.It noflood +.Nm +は DVMRP 最適化を使用し、 +各隣接ルータに対して個々にルーティングテーブルを持つことを避けます。 +接続されている個々のサブネットに対し、 +隣接ルータがフォワーダであると開始時に仮定することも、この最適化の一部です。 +ちょうと今開始したルータと正しいフォワーダの両方が +トラフィックをフォワードすることにより、 +短期間 (およそ経路報告間隔 1 回分) 重複が生じることがあります。 +この動作は noflood キーワードを指定することにより停止できます。 +.Nm +が隣接ルータをフォワーダであると仮定しなくなるためです。 +noflood を指定すると、再開時におよそ経路報告間隔 1 回分、 +ブラックホールを生じさせることがあります。 +noflood キーワードは個々のインタフェースに指定可能です。 +.It rexmit_prunes Ar [on|off] +デフォルトでは、 +.Nm +は枝苅りを全ポイントツーポイントインタフェース (トンネル含む) に対して +再フォワードしますが、マルチアクセスインタフェースに対しては行いません。 +本オプションを使用すると、全インタフェースに対してデフォルトをオン +(またはオフ) にします。 +rexmit_prunes キーワードもまた個々のインタフェースに指定可能です。 +.It name Ar "boundary-name scoped-addr/mask-len" +.Ar boundary-name +を +.Ar scoped-addr/mask-len +で記述される境界に関連付け、設定ファイルにおいて、 +インタフェース設定を読み易くし、繰り返しを減らします。 +.El .Pp -phyint コマンドはローカル IP アドレス によって認識される -物理インタフェース上のマルチキャストルーティングを無効にするか、 -デフォルトでない metric あるいは threshold を -物理インタフェースに結びつけます。 -ローカル IP アドレス はインタフェース名 (le0 等) -で代用できます。 -phyint が複数の IP からなるサブネットに向けられる場合、 +設定ファイルの第 2 の部分は、空でも構いませんが、 +物理インタフェースに適用されるオプションを記述します。 +.Bl -tag -width indent +.It phyint Ar "local-addr|ifname" +phyint コマンド自身は何もしません。 +単なる埋め草であり、この後にインタフェース固有のコマンドが続きます。 +インタフェースのアドレスまたは名前を指定します。 +.It disable +本インタフェースにおけるマルチキャストのフォワーディングを無効にします。 +デフォルトでは、 +.Nm +はローカルに接続されたマルチキャスト可能なインタフェースをすべて発見し、 +それらすべてに対してフォワードします。 +.It netmask Ar netmask +カーネルの netmask がサブネットを正確に反映していない場合 +(例えば IP サブネット化の代りに代理 ARP 使用の場合)、 +netmask コマンドを使用して実際の netmask を記述してください。 +.It altnet Ar network/mask-len +phyint が複数の IP からなるサブネットに接続されている場合、 altnet キーワードを使用してそれぞれのサブネットについて記述して下さい。 -phyint コマンドは tunnel コマンドより前に書く必要が有ります。 -.Pp -tunnel コマンドはローカル IP アドレス と -リモート IP アドレス とを結ぶトンネルリンクを作り、 -デフォルトでない metric あるいは threshold をそのトンネルに結びつけます。 -ローカル IP アドレス はインタフェース名(le0 等)で -置き換えても構いません。 -リモート IP アドレス は、 -ホスト名に結びつけられた IP アドレスが 1 つである場合に限り、 -ホスト名で置き換えても構いません。 -双方のルータの -.Pa mrouted.conf -ファイルにおいて、 -そのトンネルが使用される前に記述されている必要があります。 +本コマンドを複数回使用して、複数のサブネットを記述可能です。 +.It igmpv1 +phyint 上に IGMPv1 ルータが存在する場合、 +\fBigmpv1\fP キーワードを使用して +.Nm +を強制的に IGMPv1 モードにしてください。 +phyint 上の全ルータは、同じバージョンの IGMP を使用する必要があります。 +.It force_leaf +このインタフェース上の他のルータを無視するように、 +.Nm +に強制します。 +mrouted は、本インタフェース上では、 +隣接ルータへプローブを送りませんし、受け付けません。 +.El .Pp -cache_lifetime はキャッシュされたマルチキャスト経路がタイムアウトまで -に kernel 内にどれだけ保持されるかを定めます。この変数は 300 (5 分) か -ら 86400 (1 日) の間がいいでしょう。デフォルトは 300 です。 +更に、後述する共通の vif コマンドを phyint に対してすべて使用可能です。 .Pp -設定をキーワードを用いて簡単に行うために、境界に名前をつけることもでき -ます。phyint あるいは tunnel コマンドの boundary オプションは -名前もしくは boundary のいずれかを受け付けます。 +設定ファイルの第 3 の部分は、これも空でも構いませんが、 +このルータが持つ DVMRP トンネルの設定を記述します。 +.Bl -tag -width indent +.It tunnel Ar "local-addr|ifname" Ar "remote-addr|remote-hostname" +このコマンドは、このホスト ( +.Ar local-addr +または +.Ar ifname +で記述されるインタフェース) とリモートホスト ( +.Ar remote-addr +または +.Ar remote-hostname +で識別されます) との間の DVMRP トンネルを確立します。 +リモートのホスト名は、単一の IP アドレスにマップされる場合のみ使用可能です。 +トンネルは、使用前に、両方のルータ上で構成されている必要があります。 + +リモートアドレスへのユニキャスト経路が、 +.Ar "local-addr|ifname" +で指定されるインタフェースから出て行くように気を付けてください。 +.Nm +が扱うパケットの宛先に送出インタフェースのアドレスを含む場合、 +パケットのソースアドレスを書き換えてしまう UNIX カーネルがあります。 +安全第一のためには、静的なホスト単位の経路を使用してください。 +.El .Pp -metric は与えられたインタフェースかトンネルへデータグラムを送るため -の -\&"コスト" です; 経路の選択に影響を与えます。 -デフォルト値は 1 です。metric は可能なかぎり小さくすべきです。 +後述する共通の vif コマンドを phyint に対してすべて使用可能です。 +.Bl -tag -width indent +.It metric Ar m +metric は、 +指定したインタフェースもしくはトンネルでデータグラムを受信するための +「コスト」であり、経路選択に影響を与えるために使用します。 +metric のデフォルト値は 1 です。metric は可能なかぎり小さくすべきです。 なぜなら、 -.Nm +DVMRP は metric の合計が 31 を越える経路を通ることができないからです。 -.Pp -advert_metric は、与えられたインタフェースもしくは tunnel に関連する -\&"コスト" です; -これは経路選択に影響します。 +.It advert_metric Ar m +advert_metric は、 +指定したインタフェースもしくはトンネルでデータクラムを送信するための +「コスト」であり、経路選択に影響を与えるために使用します。 advert_metric のデフォルト値は 0 です。 リンクの実際の metric は一端の metric ともう一端の advert_metric との和です。 -.Pp +.It threshold Ar t threshold は最小の IP の生存時間であり、 この要件を満たすマルチキャストデータグラムは -指定されるインタフェースもしくはトンネルを転送されます。 -このパラメータによりマルチキャストデータグラムの到達範囲が定められます。 -(転送されたパケットの TTL は threshold と比較するだけで、 -threshold だけ TTL を減らしたりはしません。 -すべてのマルチキャストルータは TTL を 1 づつ減らします。) -デフォルト値は 1 です。 -.Pp -特定のサブネットやトンネルへ接続する +指定したインタフェースもしくはトンネルにフォワードされます。 +このパラメータは、 +マルチキャストデータグラムの到達範囲を定めるために使用します。 +(フォワードされたパケットの TTL は threshold と比較されるだけで、 +threshold だけ TTL を減らすというわけではありません。 +すべてのマルチキャストルータは TTL を丁度 1 づつ減らします。) +threshold のデフォルト値は 1 です。 + +特定のサブネットやトンネルへ接続される +全マルチキャストルータ +は、一般的にはすべて同じ metric と threshold を持つべきです。 +.It rate_limit Ar r +rate_limit オプションによって、 +マルチキャストトラフィック用に何キロビット毎秒のバンド幅を割り当てるかを、 +ネットワーク管理者は指定可能です。 +デフォルト値は、0 (無制限) です。 +.It boundary Ar "boundary-name|scoped-addr/mask-len" +boundary オプションは、ある範囲のアドレスに対して、管理可能な境界を設定します。 +この範囲のアドレスに属するパケットは範囲内のインタフェース +にはフォワードされません。boundary オプションは名前もしくは境界にて指定します。 +単一のインタフェースに対して本コマンドを複数回使用して、 +複数の境界を記述可能です。 +.It passive +もう一端から何かが聞こえるまで、 +このリンクまたはトンネルに対してパケットを送出しません。 +要求時にダイヤルするリンク上のトンネルにおける「サーバ」側で +使用すると良いです。 +「サーバ」側を passive とすることで、 +もう一方から何かが聞こえるまで定期的なプローブをサーバは送りませんので、 +リンクをアップ状態に保つということはありません。 +トンネルの両端でこのオプションを指定すると、 +トンネルは何時になっても使えないでしょう。 +.It noflood +前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 +.It prune_lifetime Ar secs +前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 +.It rexmit_prunes Ar "[on|off]" +前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 +枝苅りの再送信のデフォルトは、 +ポイントツーポイントリンクとトンネルではオンであり、 +マルチアクセスリンクではオフです。 +.It allow_nonpruners +デフォルトでは、枝苅りをサポートしないと主張する DVMRP 隣接ルータとは .Nm -は、一般的にはすべて同じ metric と threshold を持ちます。 -.Pp -rate_limit オプションによって、ネットワークの管理者はマルチキャスト -トラフィックのために何キロビット毎秒のバンド幅をわりあてればよいかを指定 -できます。デフォルト値は、トンネルは 500Kbps、 -物理インタフェースは 0 (無制限) です。 -.Pp -boundary オプションは、ある範囲のアドレスに対して、管理可能な境界を設 -定します。この範囲のアドレスに属するパケットは範囲内のインタフェース -には転送されません。boundary オプションは名前もしくは境界にて指定します。 +は仲間にはなりません。 +本オプションを使用すると、本インタフェースにおいて、 +このようなルータとも仲間となります。 +.It notransit +経路フィルタリングの特殊ケースです。 +\&"notransit" とマークされたインタフェースから学習された経路は、他の +\&"notransit" とマークされたインタフェースにおいて広告されません。 +単一のインタフェースのみを "notransit" とマークしても、意味はありません。 +.It accept|deny Ar "(route/mask-len [exact])+" Op bidir +.Li accept +および +.Li deny +のコマンドにより、原始的な経路フィルタリングが可能となります。 +.Li accept +コマンドにより、設定されたインタフェースに関してリストされた経路のみ、 +.Nm +は受け付けます。 +.Li deny +コマンドにより、リストされた経路以外のすべての経路を、 +.Nm +は受け付けます。 +あるインタフェースには、 +.Li accept +または +.Li deny +のどちらかのみ使用可能です。 + +.Li accept +と +.Li deny +のキーワードの後には、経路のリストが続きます。 +経路の後にキーワード +.Ar exact +が続くと、その経路のみがマッチします。 +指定しない場合には、その経路とより具体的な経路がマッチします。 +例えば、 +.Li deny 0/0 +はすべての経路を拒否しますが、 +.Li deny 0/0 exact +はデフォルト経路のみ拒否します。 +デフォルト経路は +.Li default +キーワードで指定することも可能です。 + +.Ar bidir +キーワードは双方向の経路フィルタリングを可能にします。 +フィルタは、出力および入力の両方の経路に適用されます。 +.Ar bidir +キーワードを指定しないと、 +.Li accept +および +.Li deny +のフィルタは、入力に対してのみ適用されます。 +Poison reverse 経路は、フィルタにより取り除かれることはありません。 +.El .Pp .Nm は 2 つ以上の有効な vif (仮想インタフェース) が無いときには実行を開始しません。 vif はマルチキャスト可能な物理インタフェースもしくはトンネルです。 -全ての仮想インタフェースがトンネルの場合は警告が記録されます; +すべての仮想インタフェースがトンネルの場合は警告が記録されます。 そのような .Nm の設定は、より多くの直接トンネルを指定した方が良いかもしれません (中間管理者を削除するという意味です)。 .Sh 設定例 -以下は大きな学校にある架空のマルチキャストルータでの例です。 +次に示すのは大きな学校にある架空のマルチキャストルータでの例です。 .sp .nf # # mrouted.conf example # # Name our boundaries to make it easier name LOCAL 239.255.0.0/16 name EE 239.254.0.0/16 # # le1 is our gateway to compsci, don't forward our # local groups to them phyint le1 boundary EE # # le2 is our interface on the classroom net, it has four # different length subnets on it. # note that you can use either an ip address or an # interface name phyint 172.16.12.38 boundary EE altnet 172.16.15.0/26 altnet 172.16.15.128/26 altnet 172.16.48.0/24 # # atm0 is our ATM interface, which doesn't properly # support multicasting. phyint atm0 disable # # This is an internal tunnel to another EE subnet # Remove the default tunnel rate limit, since this # tunnel is over ethernets tunnel 192.168.5.4 192.168.55.101 metric 1 threshold 1 rate_limit 0 # # This is our tunnel to the outside world. # Careful with those boundaries, Eugene. tunnel 192.168.5.4 10.11.12.13 metric 1 threshold 32 boundary LOCAL boundary EE .fi .Sh シグナル .Nm -は以下のシグナルに反応します。 +は次のシグナルに反応します。 .Bl -tag -width indent .It HUP .Nm を再スタートします。 設定ファイルは再度読み込まれます。 .It INT 後かたづけをしてから実行終了します (たとえば、隣接するルータすべてにさよならのメッセージを送ります)。 .It TERM INT と同じです。 .It USR1 内部ルーティングテーブルを .Pa /var/tmp/mrouted.dump にダンプします。 .It USR2 内部キャッシュテーブルを .Pa /var/tmp/mrouted.cache にダンプします。 .It QUIT 内部ルーティングテーブルを stderr にダンプします。 ただし、 .Nm が 0 以外の debug level の時のみです。 .El .Pp シグナルを送る際の便宜のために、 .Nm は開始時に自身の pid を .Pa /var/run/mrouted.pid に書き出します。 .SH 使用例 -ルーティングテーブルは以下のようになります: +ルーティングテーブルは次のようになります: .nf +.ft C Virtual Interface Table Vif Local-Address Metric Thresh Flags - 0 36.2.0.8 subnet: 36.2 1 1 querier + 0 36.2.0.8 subnet: 36.2/16 1 1 querier groups: 224.0.2.1 224.0.0.4 pkts in: 3456 pkts out: 2322323 - 1 36.11.0.1 subnet: 36.11 1 1 querier + 1 36.11.0.1 subnet: 36.11/16 1 1 querier groups: 224.0.2.1 224.0.1.0 224.0.0.4 pkts in: 345 pkts out: 3456 2 36.2.0.8 tunnel: 36.8.0.77 3 1 - peers: 36.8.0.77 (2.2) - boundaries: 239.0.1 - : 239.1.2 + peers: 36.8.0.77 (3.255) + boundaries: 239.0.1/24 + : 239.1.2/24 pkts in: 34545433 pkts out: 234342 3 36.2.0.8 tunnel: 36.6.8.23 3 16 Multicast Routing Table (1136 entries) Origin-Subnet From-Gateway Metric Tmr In-Vif Out-Vifs 36.2 1 45 0 1* 2 3* 36.8 36.8.0.77 4 15 2 0* 1* 3* 36.11 1 20 1 0* 2 3* . . . .fi +.Pp この例では、4 つの vif が 2 つのサブネットと 2 つのトンネルにつながっています。 vif 3 がつながったトンネルは使われていません (peer アドレスが有りません)。 vif 0 と vif 1 がつながったサブネットには -いくつかのグループが有ります; +いくつかのグループが有ります。 トンネルにはグループは有りません。 この例の .Nm は、 \&"querier" フラグが示すように、 定期的なグループメンバシップクエリを vif 0 および vif 1 サブネットにて 送出する責任が有ります。 境界のリストは当該インタフェースのアドレス範囲が示されます。 入力及び出力パケット数が各インタフェースに対して示されます。 .Pp マルチキャストデータグラムの起源となりうるサブネットに関連して 表示される情報は、 直前のホップのルータのアドレス(サブネットが直接接続されていない場合)、 -起源までのパスのメトリック、 +起源までのパスの metric、 当該サブネットから最後に更新を受信してから経過した時間、 当該起源からのマルチキャストが入力される vif、 出力 vif 一覧です。 \&"*" は、 起源を根とするブロードキャストツリーの葉に、 当該出力 vif が接続していることを意味します。 宛先グループのメンバが当該葉にいる時のみ、 当該起源からのマルチキャストデータグラムを当該出力 vif からフォワードします。 .Pp .Nm はカーネル内のフォワーディングキャッシュテーブルも管理します。 エントリの生成及び削除は .Nm が行います。 .Pp -キャッシュテーブルは以下のようなものです: +キャッシュテーブルは次のようなものです: .nf +.ft C Multicast Routing Cache Table (147 entries) Origin Mcast-group CTmr Age Ptmr IVif Forwvifs 13.2.116/22 224.2.127.255 3m 2m - 0 1 >13.2.116.19 >13.2.116.196 138.96.48/21 224.2.127.255 5m 2m - 0 1 >138.96.48.108 128.9.160/20 224.2.127.255 3m 2m - 0 1 >128.9.160.45 198.106.194/24 224.2.135.190 9m 28s 9m 0P >198.106.194.22 .fi +.Pp 各エントリは起源のサブネット番号、マスク、宛先マルチキャストグループにて 区別します。 .Pp \&'CTmr' フィールドは当該エントリの生存時間を表します。 -このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます。 -.Pp +このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます +(エントリはトラフィックが流れるとリフレッシュされます)。 \&'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。 キャッシュエントリはリフレッシュされるため、 当該エントリに関するトラフィックが続く限りルーティングエントリは生き残ります。 .Pp \&'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、 そうでないばあいには上流の枝刈がタイムアウトするまでの時間を表します。 .Pp \&'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif を表します。 各ルータは特定のソース及びグループに関し、 隣接するルータより受信する枝刈数の記録も管理します。 あるサブネットに関してマルチキャストツリーの下流の枝において マルチキャストグループのメンバが存在しない場合、 上流のルータに対して枝刈メッセージが送信されます。 この場合、vif 番号の後に \&"P" が付けられます。 .Pp \&'Forwvifs' フィールドは ソースグループに属するデータグラムがフォワードされる インタフェースを表します。 \&"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない ことを表します。 リストされないインタフェースは葉のサブネットであり、 特定のグループのメンバを当該サブネットに持ちません。 インタフェースにおける "b" の表示は、 当該インタフェースが境界インタフェースであることを表します。 すなわち、範囲内のアドレスのトラフィックは 当該インタフェースを介してフォワードされないことを意味します。 .Pp \&">" を最初の文字として表示する追加の行は、 当該サブネット上のソースと表します。 -一つのサブネット上に複数のソースが存在可能であることに注意して下さい。 +1 つのサブネット上に複数のソースが存在可能であることに注意して下さい。 +\&"<" を最初の文字として表示する追加の行は、 +このサブネットもしくはグループに関して、 +下流の隣接ルータから受信した枝苅りを表示します。 .Sh 関連ファイル .Bl -tag -width /var/tmp/mrouted.cache -compact .It Pa /etc/mrouted.conf .It Pa /var/run/mrouted.pid .It Pa /var/tmp/mrouted.dump .It Pa /var/tmp/mrouted.cache .El .Sh 関連項目 .Xr map-mbone 8 , .Xr mrinfo 8 , .Xr mtrace 8 .Pp DVMRP は、 他のマルチキャスト経路制御アルゴリズムと共に、 ACM SIGCOMM '88 コンファレンスのプロシーディングに、 S. Deering が \&"Multicast Routing in Internetworks and Extended LANs" として記述しています。 .Sh 作者 .An Steve Deering , .An Ajit Thyagarajan , .An Bill Fenner diff --git a/ja_JP.eucJP/man/man8/mtrace.8 b/ja_JP.eucJP/man/man8/mtrace.8 index ad021d295d..e3db8270d7 100644 --- a/ja_JP.eucJP/man/man8/mtrace.8 +++ b/ja_JP.eucJP/man/man8/mtrace.8 @@ -1,543 +1,543 @@ .\" Copyright (c) 1995 by the University of Southern California .\" All rights reserved. .\" .\" Permission to use, copy, modify, and distribute this software and its .\" documentation in source and binary forms for non-commercial purposes .\" and without fee is hereby granted, provided that the above copyright .\" notice appear in all copies and that both the copyright notice and .\" this permission notice appear in supporting documentation, and that .\" any documentation, advertising materials, and other materials related .\" to such distribution and use acknowledge that the software was .\" developed by the University of Southern California, Information .\" Sciences Institute. The name of the University may not be used to .\" endorse or promote products derived from this software without .\" specific prior written permission. .\" .\" THE UNIVERSITY OF SOUTHERN CALIFORNIA makes no representations about .\" the suitability of this software for any purpose. THIS SOFTWARE IS .\" PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, .\" INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" .\" Other copyrights might apply to parts of this software and are so .\" noted when applicable. .\" .\" This manual page (but not the software) was derived from the .\" manual page for the traceroute program which bears the following .\" copyright notice: .\" .\" Copyright (c) 1988 The Regents of the University of California. .\" All rights reserved. .\" -.\" mtrace.8,v 5.1 1996/12/19 21:31:26 fenner Exp +.\" mtrace.8,v 5.2 1998/12/04 04:48:16 fenner Exp .\" .\" jpman %Id: mtrace.8,v 1.3 1997/08/20 12:03:14 horikawa Stab % .Dd May 8, 1995 .Dt MTRACE 8 .UC 6 .Sh 名称 .Nm mtrace .Nd 発信元から受信側へのマルチキャストの経路を表示する .Sh 書式 .Nm mtrace .Op Fl e Ar extrahops .Op Fl g Ar gateway .Op Fl i Ar if_addr .Op Fl l .Op Fl M .Op Fl m Ar max_hops .Op Fl n .Op Fl O .Op Fl p .Op Fl P .Op Fl q Ar nqueries .Op Fl r Ar resp_dest .Op Fl s .Op Fl S Ar stat_int .Op Fl t Ar ttl .Op Fl T .Op Fl U .Op Fl v .Op Fl w Ar waittime .Ar source .Op Ar receiver .Op Ar group .Sh 解説 IP マルチキャストのトラフィックの配送における問題点を突き止めるのは困難な 作業です。 .Nm mtrace は IGMP プロトコルの拡張機能によってアクセスされる、 マルチキャストルータに実装されたトレース機能を利用します。 .Ar receiver から .Ar source への逆経路に沿ったホップごとにトレースの問い合わせを行ない、経路上の ホップのアドレス、パケット数、ルーティングのエラー状況の情報を収集し、 要求者へ応答を返します。 .Pp 唯一必須である引数は .Ar source のホスト名もしくはアドレスです。デフォルトの .Ar receiver は mtrace を実行しているホストとなり、デフォルトの .Ar group -は "MBone Audio" (224.2.0.1) となります。特定のマルチキャストグループ +は 0.0.0.0 となります。特定のマルチキャストグループ でのパケット消失の統計が必要でなければ、これで十分です。以下に解説され ているいくつかの制約を条件として、特定の group でのいくつかの他の receiver をテストするために、これらの 2 つのオプションの引数を 指定することができます。 .Ar receiver はユニキャストアドレスであり、 .Ar group はマルチキャストアドレスであることより、これらの 2 つの引数を 区別することができます。 .Fl g フラグが指定されると、source アドレスには .Nm mtrace が実行されているホストがデフォルトとして使われ、 receiver には .Fl g フラグで指定されるルータがデフォルトとして使われます。この場合、必須の 引数はありません。 .Pp 注釈: Solaris 2.4/2.5 ではマルチキャストインタフェースがデフォルトの インタフェースでなければ、 .Fl i オプションによってローカルアドレスをセットしなければなりません。 .Pp 以下のオプションが使用できます: .Bl -tag -width indent .It Fl e Ar extrahops 応答がないルータを越えて、 .Ar extrahops だけのホップ数のトレースを試みます。 .It Fl g Ar gwy トレースの問い合わせを、マルチキャストではなく、ユニキャストによって 直接マルチキャストルータ .Ar gwy へ送ります。 このマルチキャストルータは意図する .Ar source から .Ar receiver への経路上の最後のホップのルータでなければなりません。 .Pp .Em 注意!! バージョン 3.3 と 3.5 の .Nm mrouted は、トレースの問い合わせがユニキャストパケットによって受信されかつ、 .Nm mrouted に .Ar source への経路がないと、クラッシュします。そのためターゲットの .Nm mrouted が 3.4 であるか、3.5 より新しいことが分かっていなければ、 .Fl g オプションを使わないでください。 .It Fl i Ar addr .Ar addr をトレースの問い合わせを送る (マルチホームホスト上の) ローカルインタフェースアドレス、および .Ar receiver と応答先のデフォルトアドレスとして使用します。 .It Fl l 10 秒ごとにマルチキャスト経路のパケットレートと消失の統計を表示して、 無限ループします。 ( .Fl S Ar stat_int 参照) .It Fl M 試みの後半は、ユニキャストではなく、常にマルチキャストを使って応答を 要求します。 .It Fl m Ar n .Ar receiver から .Ar source へ遡ってトレースされる最大ホップ数を .Ar n にセットします。 デフォルトは 32 ホップ (DVMRP ルーティングプロトコルについては無限) です。 .It Fl n ホップアドレスをシンボル名および数字ではなく数字で表示します。 (経路上に発見された各ルータに対する ネームサーバでのアドレス-名前検索を省くことができます。) .It Fl q Ar n すべてのホップに対して試みる問い合わせの最大の回数を .Ar n にセットします。デフォルトは 3 です。 .It Fl O router-alert IP オプションを、これが必要な要求においても使用しません。 Cisco の IOS のいくつかのバージョンでは IP オプションつきのマルチキャスト トレースルートが扱えないため、最後のホップのルータが Cisco のものである時は、 .Fl O フラグが必要となることがあります。 .It Fl p 他から起動されたトレースによるマルチキャストの応答を受動的に聴取します。 これはマルチキャストルータ上で動作している場合に最も良く動作します。 .It Fl P 10 秒おきに経路情報を収集しながら無限ループし ( .Fl S Ar stat_int 参照)、 経路情報が変化するとそれを表示します。統計情報は表示しません。 .It Fl r Ar host トレースの応答を、 .Nm が実行されているホストや この目的で登録されている他のマルチキャストアドレス (224.0.1.32) ではなく、 .Ar host へ送ります。 .It Fl s マルチキャスト経路のみを含む短い形式の表示を行ない、パケットレートと 消失統計は表示しません。 .It Fl S Ar n 統計情報を収集する間隔を .Ar n 秒 (デフォルトは 10 秒) に変更します。 .It Fl t Ar ttl マルチキャストトレースの問い合わせと応答の .Ar ttl (time-to-live もしくはホップ数) をセットします。ttl に 1 を 使用する "全てのルータ" へのローカルな問い合わせの場合を除き、 デフォルトは 127 です。 .It Fl T "トンネル統計" モードです。全てのトラフィックでのロスレートを表示します。 これらの統計は非常に誤解を招くおそれのあるものです。 .It Fl U マルチキャストから試みるのではなく、常にユニキャストによる応答を要求します。 .It Fl v 冗長モードです。最初のトレースのホップ時間と統計情報を表示します。最初 のトレースを転送するのに使用した経路も表示します。 .It Fl w Ar n トレースの応答の待ち時間を .Ar n 秒 (デフォルトは 3 秒) にセットします。 .El .Sh 使用方法 .Ss どのように動作するか ? .Nm traceroute ツールでユニキャストのネットワーク経路をトレースするために使用している 技法は IP マルチキャストでは動作しません。それは、ICMP 応答が マルチキャストトラフィックでは禁止されているためです。そのかわりに、 トレースの機能はマルチキャストルータにおいて実装されています。 この技法は送出するパケット数を最小にしながら、 パケットレートやロスを計測できる点で優れています。 .Pp マルチキャストでは逆経路転送が使われているため、トレースは .Ar receiver から .Ar source へ逆方向に実行されます。 トレースの問い合わせパケットは最終ホップのマルチキャストルータ ( .Ar receiver アドレスでの末端ルータ) へ送られます。最終ホップのルータではトレースの 応答パケットを生成し、それにそのホップでのレポートを詰め込み、 ユニキャストを使って、指定された .Ar source から送られてくるパケットにおける、そのルータの前段のホップであると思わ れるルータへ、生成したパケットを転送します。 経路上の各ルータはそのパケットにレポートを追加して転送します。 トレースの応答パケットが最初のホップのルータ ( source のネットワークに 直結されているルータ) に到達すると、そのルータはトレースの問い合わせに 指定されている応答の送り先アドレスへ最終的な形の応答を送ります。 .Pp 経路上のいくつかのマルチキャストルータにマルチキャストのトレースルート 機能が実装されていなかったり、停止しているものがあると、応答は返されま せん。この問題を解決するには、応答が返されるまでにトレースされるホップ 数を制限するための最大ホップ数フィールドを、トレースの問い合わせに 含ませます。これによって、部分的な経路のトレースが可能となります。 .Pp 各ルータによって挿入されるレポートには、ホップのアドレスだけでなく、 転送のために必要な ttl とルーティングのエラーを示すいくつかのフラグ、 それに受信と送信インタフェース上および指定された .Ar group へ転送されたパケット数の合計が含まれます。時間をあけて 2 回トレースを 行なってこれらのパケット数の差分をとり、あるホップからの送信パケット 数とその次のホップでの受信パケット数を比較することにより、パケットレートと パケット消失の統計が計算でき、ネットワークへの過負荷による問題を切 り離すことができます。 .Ss 最終ホップルータを見つける トレースの問い合わせは .Ar source から .Ar receiver へ到る経路上の最後のホップであるマルチキャストルータへ送られなければな りません。もし、receiver がローカルサブネット上にあれば (これはサブネットマスク によって決定されます)、デフォルトの方法ではトレースの問い合わせ を ttl を 1 にして all-routers.mcast.net (224.0.0.2) へマルチキャスト します。receiver がサブネット上になければ、 .Ar group へトレースの問い合わせをマルチキャストします。それは receiver がその グループのメンバであれば、最後のホップルータもグループのメンバであるため です。そのため、意図している receiver が属しているグループを指定する 必要があります。このマルチキャストは ttl をデフォルトの 127 にして送られ ます。この ttl は全ての場合では十分でないかもしれません。( .Fl t オプションで変更可能です。) もし最後のホップルータが分かっていれば、 .Fl g オプションを使用して直接指定することもできます。また、最後のホップのルータが 別のグループのメンバであるということが分かっており、receiver が属 していないグループのトレースを行ないたい場合、 .Fl g オプションを使用してトレースの問い合わせに別のマルチキャストアドレスを 指定することもできます。 .Pp マルチホームであるホストやルータからのトレースを行なう場合は、デフォルトの receiver のアドレスは source からの経路での意図したインタフェース でないかも知れません。インタフェースを指定したい場合は、 .Ar receiver によって明示的に指定しなければなりません。 .Ss 応答の誘導 .Fl m オプションによってトレースするホップ数が明示的に指定されている場合を除 き、 .Nm はデフォルトではまず逆経路全てに渡ったトレースを試みます。もしタイムアウト 時間である 3 秒 (これは .Fl w オプションで変更できます) 以内に応答がなければ、"*" が表示され、プローブ方式を hop-by-hop モードに切り替えます。 トレースの問い合わせは最大ホップ数を 1 から開始し、応答を受信しなくなる か全ての経路を網羅するまでホップ数を 1 づつ増やして行きます。 各ホップでは、複数のプローブ (デフォルトでは 3、 .Fl q オプションで変更可) が送られます。トレースの試みの前半 (デフォルトでは 2 回) では、応答 アドレスを標準のマルチキャストアドレス mtrace.mcast.net (224.0.1.32) に セットし、ttl を receiver までの経路上で今までにあった最大のスレッショルド である 32 にセットして行なわれます。引き続く各々の試みについては ttl は最大 192 まで 32 づつ増やされます。 目的のルータはマルチキャスト応答を送ることができないかもしれないので、 残りの試みでは .Nm が動作しているホストへユニキャストを使って応答することを要求します。 また、マルチキャストの ttl は .Fl t オプションを使って明示的に指定することができ、最初のマルチキャストの試みは .Fl U オプションを使ってユニキャストに強制的に変更することができ、最後の マルチキャストの試みは .Fl M オプションを使って強制的にマルチキャストにすることができ、また .Fl UM を指定することにより、 .Nm は最初はユニキャストで試み、次にマルチキャストを試みます。各々の試みで はタイムアウトとなるまで応答が受信できなければ "*" が表示されます。指定された 回数の試みが失敗すると、 .Nm は次のホップのルータへ ( .Nm mrinfo プログラムで使われているように) DVMRP_ASK_NEIGHBORS2 要求で問い合わせ を試み、そのルータの種類を調べます。 .Nm mtrace は応答がないルータを越えて 3 ホップ (これは .Fl e オプションで変更可能) へ、応答を返す能力がないとしてもその要求の転送は できるであろうと想定して、問い合わせを試みます。 .Sh 使用例 .Nm の出力は 2つのセクションからなります。最初のセクションではホップが問い 合わされた順、すなわち .Ar source から .Ar receiver への逆順で簡潔にリストされます。各々のホップについて、ホップ番号 (逆経路 であることを示すように負の数でカウントされる)、マルチキャスト ルーティングプロトコル (DVMRP、MOSPF、PIM など)、データの転送 (上向きの矢印で 示されたリストでの前のホップへの転送) 要求のスレッショルド、問い合わせ がそのホップへ届くまでの遅れの累積 (クロックが同期している時のみ有効) が 1 行で表示されます。最初のセクションの最後には、問い合わせが発行さ れてから応答を受信するまでの間隔をローカルのシステムクロックで計測した ラウンドトリップ時間と、パケットがこの経路を通って行き来するのに必要な ttl の合計が表示されます。以下に使い方とその出力の例を示します。 .Pp .nf .ft C oak.isi.edu 80# mtrace -l caraway.lcs.mit.edu 224.2.0.3 Mtrace from 18.26.0.170 to 128.9.160.100 via group 224.2.0.3 Querying full reverse path... 0 oak.isi.edu (128.9.160.100) -1 cub.isi.edu (128.9.160.153) DVMRP thresh^ 1 3 ms -2 la.dart.net (140.173.128.1) DVMRP thresh^ 1 14 ms -3 dc.dart.net (140.173.64.1) DVMRP thresh^ 1 50 ms -4 bbn.dart.net (140.173.32.1) DVMRP thresh^ 1 63 ms -5 mit.dart.net (140.173.48.2) DVMRP thresh^ 1 71 ms -6 caraway.lcs.mit.edu (18.26.0.170) Round trip time 124 ms; total ttl of 6 required. .fi .Pp あるホップがパケットを転送するのにデフォルトの経路を使っていることを報 告すれば、 .Em [default] がそのホップの後に表示されます。 .Fl v フラグが指定されていれば、そのパケットを転送するのに使われた経路が .Em [18.26.0/24] の形式で表示されます。 .Pp 2 番目のセクションでは転送の経路が図によって表示されます。データの流れ は下向きの矢印で表され、問い合わせの経路は上向きの矢印で表されます。各 ホップでは、ルータの入力アドレスと出力アドレスが違っていれば、それらの アドレスが、そのホップパケットを転送するのに必要な ttl の初期値と、 両端のルータのクロックが同期していると想定した場合のホップにまたがった 伝搬遅れとともに表示されます。このセクションの右半分は 2 組の統計情報か ら構成されます。最初のカラムには各ホップでの全てのトラフィックについて の平均のパケットレートが表示されます。残りのカラムでは消失したパケット の数、送信したパケットの数、消失したパーセンテージ、それに平均パケット レートが各ホップについて表示されます。これらの統計情報は上で解説したよ うにトレース間の差とホップ間の差から計算されます。最初のグループでは、 あるホップでのインタフェースにおける全流出トラフィックと次のホップでの全流入 トラフィックの統計情報が表示されます。2 番目のグループでは、指定された .Ar source から指定された .Ar group への転送トラフィックのみについての統計情報が表示されます。統計の最初の グループは .Fl T オプションを使って消失レートを含ませることもできます。しかし、これらの 数字は大幅な誤差を含む可能性があり、これらを適切に解釈するためには ルータについての詳細な知識が要求されるでしょう。 .Pp これらの統計情報は各々のホップにつき 1 行か 2 行で表示されます。 オプションが何も指定されていないと、この出力中の 2 番目のセクションは最初 のトレースからおよそ 10 秒後に 1 度のみ表示されます。各ホップにつき 1 行にその 10 秒間での統計情報を表示します。もし .Fl l オプションが指定されていると、2 番目のセクションは 10 秒ごとに繰り返さ れ、各ホップにつき 2 行が表示されます。最初の行ではそれまでの 10 秒間 における統計が表示され、2 番目の行で最初のトレースからの累積の統計情報 が表示されます。下の例ではこれは 101 秒間での統計となっています。 .Fl s オプションが指定されるか、マルチキャストグループが指定されていると、こ の出力での 2 番目のセクションは省略されます。 .ie t \{\ .ft C . ie \w'i'<>\w'm' \{\" looks like this is not proper Courier font (If this example is not properly columned with a fixed-width font, get .B groff and try again.) . \} .\} .Pp .ft C .nf Waiting to accumulate statistics... Results after 101 seconds: Source Response Dest Overall Packet Statistics For Traffic From 18.26.0.170 128.9.160.100 Packet 18.26.0.170 To 224.2.0.3 | __/ rtt 125 ms Rate Lost/Sent = Pct Rate v / hop 65 ms ------- --------------------- 18.26.0.144 140.173.48.2 mit.dart.net | ^ ttl 1 0 pps 0/2 = --% 0 pps v | hop 8 ms 0 pps 0/18 = 0% 0 pps 140.173.48.1 140.173.32.1 bbn.dart.net | ^ ttl 2 0 pps 0/2 = --% 0 pps v | hop 12 ms 0 pps 0/18 = 0% 0 pps 140.173.32.2 140.173.64.1 dc.dart.net | ^ ttl 3 27 pps 0/2 = --% 0 pps v | hop 34 ms 26 pps 0/18 = 0% 0 pps 140.173.64.2 140.173.128.1 la.dart.net | ^ ttl 4 83 pps 0/2 = --% 0 pps v | hop 11 ms 79 pps 0/18 = 0% 0 pps 140.173.128.2 128.9.160.153 cub.isi.edu | \\__ ttl 5 83 pps ?/2 0 pps v \\ hop -8 ms 79 pps ?/18 0 pps 128.9.160.100 128.9.160.100 Receiver Query Source .fi .Pp パケットのカウント数はトレースの問い合わせが伝搬するとともに変化するた め、統計情報中には小さな誤差 (1 か 2 のずれ) が含まれることがあります。 しかし、これらの誤差は累積されるべきではないため、累積統計行ではあらた なトレースが 10 秒ごとに実行されるたびに精度が増さなければなりません。 大きな誤差の要因としては 2 つあり、このいずれもマイナスのロスとして現われます。 .Pp あるノードへの入力カウントが他のノードがアタッチされているマルチアクセス ネットワークからのものであれば、入力カウントはアタッチされている全てのノード からの出力カウントの総和となります (もしくは近くなります) が、トレースし ている経路上のその前のホップからの出力カウントはその単なる一部分となり ます。そのため、出力カウントから入力カウントを引いたものはマイナスの値 になります。 .Pp SunOS およびその他のシステムにおける DVMRP マルチキャスト転送ソフトウェアの リリース 3.3 では、ルータにおいて生成されたマルチキャストパケット はインタフェースに入力されていない場合においても、入力されたものとし てカウントされます。これは上の例において見ることのできるマイナスのロス となります。 .Pp これらのマイナスのロスはプラスのロスを隠してしまうことが あることに注意してください。 .Pp この例ではまた、1 つマイナスのホップの時間が表示されています。これは 単にそのホップ間でのシステムクロックが同期していないことを示しています。 この例ではまた、送られたパケットの数が 10 より少ない時には、パーセンテージの 値は統計的に有効ではないため、ロスのパーセンテージが 2 つのダッシュ として表示されることも示しています。 .Pp 2 番目の例では ローカルでない receiver へのトレースを示します。問い合 わせは .Fl g オプションによって最終ホップのルータに送られます。この例では、全逆経路 のトレースが、マルチキャストトレースルート機能が実装されていない 古いバージョンの .Nm mrouted が動作しているノードがあるために応答なしの結果となっており、そのため .Nm は hop-by-hop モードに切り替わっています。\*(lqOutput pruned\*(rq の エラーコードはグループ 224.2.143.24 へのトラフィックが転送されていないこ とを示しています。 .Pp .nf .ft C oak.isi.edu 108# mtrace -g 140.173.48.2 204.62.246.73 \\ butter.lcs.mit.edu 224.2.143.24 Mtrace from 204.62.246.73 to 18.26.0.151 via group 224.2.143.24 Querying full reverse path... * switching to hop-by-hop: 0 butter.lcs.mit.edu (18.26.0.151) -1 jam.lcs.mit.edu (18.26.0.144) DVMRP thresh^ 1 33 ms Output pruned -2 bbn.dart.net (140.173.48.1) DVMRP thresh^ 1 36 ms -3 dc.dart.net (140.173.32.2) DVMRP thresh^ 1 44 ms -4 darpa.dart.net (140.173.240.2) DVMRP thresh^ 16 47 ms -5 * * * noc.hpc.org (192.187.8.2) [mrouted 2.2] didn't respond Round trip time 95 ms .fi .Sh 作者 .An Ajit Thyagarajan によって書かれた最初のプロトタイプをベースにして、 .An Steve Casner によって実装されました。マルチキャストトレースルートの メカニズムは .An Steve Casner , .An Steve Deering , .An Dino Farinacci , .An Deb Agrawal の助けを得て、 .An Van Jacobson によって設計され、 .An Ajit Thyagarajan と .An Bill Fenner によって .Nm mrouted に実装されました。オプションの構文と .Nm の出力形式は、 .An Van Jacobson によって書かれたユニキャストの .Nm traceroute をモデルにしています。 .Sh 関連項目 .Xr map-mbone 8 , .Xr mrinfo 8 , .Xr mrouted 8 , .Xr traceroute 8 .Sh バグ .Pp 受動モードでの統計収集は、能動的にデータを収集しているときと常に同じ 出力とはなりません。 diff --git a/ja_JP.eucJP/man/man8/ppp.8 b/ja_JP.eucJP/man/man8/ppp.8 index 4d420cc65a..edc25a5c94 100644 --- a/ja_JP.eucJP/man/man8/ppp.8 +++ b/ja_JP.eucJP/man/man8/ppp.8 @@ -1,3996 +1,4029 @@ -.\" %Id: ppp.8,v 1.138 1999/01/06 00:08:15 brian Exp % +.\" %Id: ppp.8,v 1.142.2.1 1999/01/28 23:02:23 billf Exp % .\" jpman %Id: ppp.8,v 1.4 1997/06/08 18:41:58 saeki Stab % .\" WORD: expect string 受信待ち文字列 (chat.8) .\" WORD: negotiation 交渉 .Dd 20 September 1995 +.nr XX \w'\fC00' .Os FreeBSD .Dt PPP 8 .Sh 名称 .Nm ppp .Nd PPP (Point to Point Protocol) (別名 user-ppp) .Sh 書式 .Nm .Oo .Fl auto | .Fl background | .Fl ddial | .Fl direct | .Fl dedicated .Oc .Op Fl alias .Op Ar system ... .Sh 解説 本プログラムは、ユーザプロセスとして動作する .Em PPP パッケージです。 .Em PPP は通常、( .Xr pppd 8 でそうなっているように) カーネルの一部として実装されますが、 そのため、デバッグや動作の変更が少々難しい場合があります。 それに対し、この実装ではトンネルデバイスドライバ (tun) を利用して、 ユーザプロセスで .Em PPP を実現しています。 .Sh 主な特徴 .Bl -diag .It 対話的なユーザインタフェースを提供 コマンドモードで利用する場合、ユーザがコマンドを 入力することで、簡単にリモートコンピュータとの接続の確立、 接続状態の確認、 接続の切断を行うことができます。 オプションとして、セキュリティ確保のために すべての機能をパスワードで保護することができます。 .It 手動と自動でのダイヤルをサポート 対話モードでは、直接モデムと通信できるように .Dq term コマンドが用意されています。 モデムがリモートホストと接続されて、 .Em PPP での通信が始まったら、 .Nm はそれを検出して自動的にパケットモードに移行します。 ひとたびリモートホストとの接続に必要なコマンドシーケンスがわかったら、 後々の接続を簡単にするため、必要なダイヤル手順やログイン手順を定義した チャットスクリプトを書くことができます。 .It オンデマンドでのダイヤルアップをサポート .Fl auto モード (自動モード) では .Nm はデーモンとして動作し、 .Em PPP リンクを通して送られるパケットを待ちうけます。 パケットを検出すると、デーモンが自動的にダイヤルを行って接続を確立します。 .Fl ddial モード (直接ダイヤルモード) でも ほぼ同様に、自動ダイヤルと接続の確立を行います。 しかしながらこのモードは、送るべきパケットが存在しない場合にも、 リンクが切れていることを検出するといつでもリモートへダイヤルするという点が auto モードと異なります。 このモードは、電話料金よりも常時接続されていることが重視される場合に有用です。 3 番目の .Fl dedicated モード (専用線モード) も利用可能です。 このモードは 2 つのマシン間の専用線を対象にしています。 専用線モードでは .Nm は自発的に動作を終了することはありません - 終了するには .Dq quit all コマンドを診断ソケットを介して送る必要があります。 .Dv SIGHUP は LCP の再交渉を強要し、 .Dv SIGTERM は終了を強要します。 .It クライアントコールバックをサポート .Nm は標準 LCP コールバックプロトコルならびに Microsoft コールバック制御プロトコル (ftp://ftp.microsoft.com/developr/rfc/cbcp.txt) を使用できます。 .It パケットエイリアシングをサポート パケットエイリアシング (別名: IP マスカレード) により、 未登録でプライベートなネットワーク上のコンピュータからも インターネットにアクセスすることが可能です。 .Em PPP ホストはマスカレードゲートウェイとして動作します。 送信パケットの IP アドレスと TCP や UDP のポート番号は どちらもエイリアスされ、返信パケットではエイリアスが元に戻されます。 .It バックグラウンド PPP 接続をサポート バックグラウンドモードでは、接続を確立するのに成功した場合に .Nm はデーモンになります。 それ以外の場合はエラーで終了します。 これにより、 接続が成功裏に確立した場合のみコマンドを実行するようなスクリプト をセットアップすることが出来ます。 .It サーバとしての PPP 接続をサポート ダイレクトモードでは、 .Nm は標準入力/標準出力からの .Em PPP 接続を受け入れるサーバとして動作させることができます。 .It PAP と CHAP による認証をサポート PAP もしくは CHAP を用いることにより、Unix スタイルの .Xr login 1 手続きをスキップし、 .Em PPP プロトコルを代りに認証に使用することが可能です。 相手が Microsoft CHAP 認証を要求し、かつ .Nm が DES をサポートするようにコンパイルされている場合、適当な MD4/DES 応答がなされます。 .It 代理 arp (Proxy Arp) をサポート .Em PPP がサーバとして動作している時、その接続について代理 arp を行うよう 設定できます。 .It パケットのフィルタリングをサポート ユーザは 4 種類のフィルタを定義できます。 .Em in は受信パケットに対するフィルタです。 .Em out は送信パケットに対するフィルタです。 .Em dial はダイヤルを行うきっかけとなるパケットを定義するフィルタで、 .Em alive は接続を保持するためのパケットを定義するフィルタです。 .It トンネルドライバは bpf (Berkeley Packet Filter) をサポート .Em PPP リンクを流れるパケットを調べるために、 .Xr tcpdump 1 を使うことができます。 .It PPP オーバ TCP をサポート デバイス名が .Em host Ns No : Ns Em port 形式で指定された場合、 .Nm は通常のシリアルデバイスを使うのではなく、データ転送のための TCP 接続を開きます。 .It IETF ドラフトの Predictor-1 と DEFLATE 圧縮をサポート .Nm は VJ 圧縮の他に Predictor-1 と DEFLATE 圧縮もサポートしています。 モデムは通常 (例えば v42.bis のような) 組み込みの圧縮機能を持っており、 その結果システムは .\"(訳注)「転送データレートよりも」をここにいれたいと考えています。 .\" 2.2.1R 対象(1997/04/02) Takeshi MUTOH より高いデータレートで通信できます。 これは一般には良いことですが、より高速のデータによってシリアル回線からの 割り込みが増加します。 システムはこの割り込みをモデムと通信して処理しなくてはならないため、 システムの負荷と遅延時間が増加することになります。 VJ 圧縮とは異なり、Predictor-1 と DEFLATE 圧縮はリンクを通る .Em すべての ネットワークトラフィックをあらかじめ圧縮しておくことで、オーバヘッドを 最小にします。 .It Microsoft の IPCP 拡張をサポート Microsoft の .Em PPP スタックを使用するクライアント (つまり Win95, WinNT) との間で ネームサーバのアドレスと NetBIOS ネームサーバのアドレスを 交渉することができます。 .It マルチリンク PPP をサポート 接続先への複数の物理的な回線をオープンし、すべてのリンクの 帯域幅を合わせてより高いスループットを得ることができます。 .El .Sh パーミッション .Nm はユーザ .Dv root 、グループ .Dv network 、パーミッション .Dv 4554 でインストールされます。 デフォルトでは .Nm は、起動したユーザ ID が 0 でない場合には実行しません。 これは .Dq allow users コマンドを .Pa /etc/ppp/ppp.conf に記載することにより変更することが可能です。 通常ユーザとして実行する場合には、 .Nm はユーザ ID 0 に変わり、システムの経路表の変更と、 システムロックファイルの作成と、 ppp の設定ファイルの読み込みを行います。 すべての外部コマンド ("shell" や "!bg" で実行されます) は、 .Nm を起動したユーザ ID で実行されます。 ユーザ ID 0 にて正確になにが行われているのかに興味がある場合には、 ログ機能の .Sq ID0 を参照してください。 .Sh 始める前に 次のコマンドラインスイッチを .Nm ppp は理解します: .Bl -tag -width XXX -offset XXX .It Fl auto .Nm は tun インタフェースをオープンし、これを設定した後バックグラウンドになります。 出力データが tun インタフェース上で検出されるまでリンクはアップせず、 出力データが tun インタフェース上で検出されると .Nm はリンクをアップしようとします。 .Nm がリンクをアップしようとしている間に受信したパケット (最初のものを含みます) は、デフォルトで 2 分間キューにとどまります。 後述の .Dq set choked コマンドを参照してください。 .Pp コマンドラインには少なくとも 1 つの .Dq system を指定する必要があり (後述)、 インタフェース設定時に使用する相手の IP アドレスを指定する .Dq set ifaddr を、システムプロファイルで実行する必要があります。 通常、 .Dq 10.0.0.1/0 のようなものが適切です。例としては、 .Pa /etc/ppp/ppp.conf.sample の .Dq pmdemand システムを参照してください。 .It Fl background この場合、 .Nm は相手との接続をすぐに確立しようとします。 成功すると、 .Nm はバックグラウンドになり、親プロセスは終了コード 0 を返します。 失敗すると、 .Nm は非 0 の結果で終了します。 .It Fl direct これは入力接続を受け付けるために使用します。 .Nm は ``set device'' 行を無視し、リンクにデスクリプタ 0 を使用します。 .Pp コールバックの設定を行うと、ダイヤルバック時に .Nm は .Dq set device 情報を使用します。 .It Fl dedicated このオプションは、専用線で接続されたマシンのためにデザインされています。 .Nm はデバイスを常にオープンに保ち、設定チャットスクリプトは一切使用しません。 .It Fl ddial .Fl auto モードと等価ですが、なんらかの理由でリンクが落ちた場合に .Nm が再度リンクをアップすることが違います。 .It Fl interactive これは no-op であり、前述のフラグがどれも指定されなかった場合の動作を行います。 .Nm はコマンドラインで指定されたシステムをロードし、対話プロンプトを提供します。 .It Fl alias このフラグは .Nm のモードを制御しません。 .Dq enable alias yes と等価です。さらに、 .Fl auto もまた指定されている場合、暗黙的に .Dq enable iface-alias が実行されます。 詳細については後述しているものを参照してください。 .Pp IP エイリアシングを有効にすると、 .Nm は、内部 LAN 上の全マシンに対する NAT もしくはマスカレーディングエンジンとして動作します。詳細は .Xr libalias 3 を参照してください。 .El .Pp さらに、1 つ以上の system をコマンドライン上に指定可能です。 .Sq system は .Pa /etc/ppp/ppp.conf の設定エントリです。起動時に .Nm は .Pa /etc/ppp/ppp.conf から .Dq default システムを読み込み、その後コマンドラインで指定した各 system を読み込みます。 .Pp .Fl auto , .Fl background , .Fl ddial , .Fl direct , .Fl dedicated , .Fl interactive のいずれか 1 つのスイッチのみ指定可能です。 .Nm の .Sq モード は、 .Dq set mode コマンド (後述) を使用することで後で変更可能です。 .Pp 以降、対話モードの使用方法について説明します。 .Pp 最初に .Nm を実行する時には、いくつかの初期設定を整える必要があります。 .Bl -bullet .It カーネルにトンネルデバイスが含まれていなければ なりません (GENERIC カーネルではデフォルトで 1 つ含まれます)。 もし含まれていない場合や複数の tun インタフェースが必要な場合、 次の行をカーネル設定ファイルに追加して、 カーネルを再構築する必要があります: .Pp .Dl pseudo-device tun N .Pp ここで .Ar N は .Em PPP 接続を行いたい最大の数です。 .It .Pa /dev ディレクトリにトンネルデバイスのエントリ .Pa /dev/tunN があるかどうかを調べてください。 ここで .Sq N は、0 から始まる tun デバイスの番号です。 もし無いようならば、"sh ./MAKEDEV tunN" を実行すれば作ることができます。 これにより 0 から .Ar N までの tun デバイスが作成されます。 .It あなたのシステムの .Pa /etc/group ファイルに .Dq network グループがあり、そのグループが .Nm を使うと想定されるすべてのユーザ名を含んでいることを確かめてください。 詳細は .Xr group 5 マニュアルページを参照してください。また、これらのユーザは .Pa /etc/ppp/ppp.conf ファイルで .Dq allow users コマンドを使用してアクセス権が与えられなければなりません。 .It ログファイルを作成します。 .Nm は .Xr syslog 3 を使用して情報をログします。通常のログファイル名は .Pa /var/log/ppp.log です。 このファイルに出力を行うためには、次の行を .Pa /etc/syslog.conf ファイルに記述してください: .Bd -literal -offset indent !ppp *.*/var/log/ppp.log .Ed .Pp -TAB と書かれている場所には、実際にはタブを入力します。 -空白文字を使うと、 -.Xr syslogd 8 -はこの行を無視し、そのことも報告しません。 -.Pp .Nm の実行形式にリンクを作成することにより、複数の .Em PPP ログファイルを持つことが可能です: .Pp .Dl # cd /usr/sbin .Dl # ln ppp ppp0 .Pp として .Pa /etc/syslog.conf で .Bd -literal -offset indent !ppp0 *.*/var/log/ppp0.log .Ed .Pp とします。 .Pa /etc/syslog.conf を更新した後に、 .Xr syslogd 8 に .Dv HUP シグナルを送ることをお忘れなく。 .It 厳密には .Nm の操作とは関係ありませんが、リゾルバが正しく働くように設定した方が 良いでしょう。 これは .Pq Xr named 8 を用いて ローカルな DNS サーバを設定するか、もしくは .Pa /etc/resolv.conf ファイルに適切な .Sq name-server 行を加えることで行われます。 詳細は .Xr resolv.conf 5 のマニュアルを参照してください。 .Pp 他の方法として、もし接続先がサポートしている場合には .Nm が接続先にネームサーバのアドレスを尋ねて、自動的に .Pa /etc/resolv.conf を更新することができます。詳細は後述の .Dq enable dns コマンドを参照してください。 .El .Sh 手動ダイヤル 次の例では、あなたのマシン名が .Dv awfulhak であるとして説明します。 .Nm を引数無しで起動すると (前述の .Em パーミッション 参照) 次のプロンプトが表示されます: .Bd -literal -offset indent ppp ON awfulhak> .Ed .Pp プロンプトの .Sq ON の部分は常に大文字であるべきです。ここが小文字の場合、 .Dq passwd コマンドを使用してパスワードを入力しなければならないことを意味します。 実行中の .Nm に接続し、 まだ正しいパスワードを入力していない場合にのみこのような状態になります。 .Pp ここで、モデムのデバイス名、スピードやパリティの設定、 CTS/RTS 信号を使うかどうか (デフォルトでは CTS/RTS が使用されます) を 指定して、開始可能です。もしハードウェアが CTS/RTS 信号を持っていない場合 (これは PPP 可能な端末サーバに直接つなぐ場合に起こり得ます)、 .Nm はそのポートを通してどんな出力も送らず、来るはずのない信号を待ち続けます。 したがって、直接接続で通信ができないような場合には、 CTS/RTS を off にしてみてください: .Bd -literal -offset indent ppp ON awfulhak> set line /dev/cuaa0 ppp ON awfulhak> set speed 38400 ppp ON awfulhak> set parity even ppp ON awfulhak> set ctsrts on ppp ON awfulhak> show modem * モデム関連のパラメータが、ここに示されます * ppp ON awfulhak> .Ed .Pp ここでは、直接モデムと通信するために term コマンドを使用可能です: .Bd -literal -offset indent ppp ON awfulhak> term at OK atdt123456 CONNECT login: ppp Password: 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 で「あなた側」 このようにならない場合、接続先がこちらの開始交渉を 待っているか、入力パケットを .Em PPP パケットであると .Nm ppp が識別できない可能性があります。 後者の場合、あなた側のパリティ設定の問題かもしれません。 強制的に .Nm に接続先への PPP 設定パケットの送出を開始させるためには .Dq ~p コマンドを使ってパケットモードに移行して下さい。 .Pp これで接続されました! プロンプトの .Sq PPP が大文字に変化して、接続されたことを知らせます。もし 3 つの P の内 いくつかだけが大文字になっている場合には、すべての文字が大文字もしくは 小文字になるまで待ってください。もし小文字に戻った場合には、それは .Nm が接続先との交渉に成功しなかったことをを意味します。 たいてい、その原因は PAP もしくは CHAP 認証の name や key が 正しくないことです。 .Dq set log local phase することが、この時点でのトラブルシューティングへの第一歩としては 良いでしょう。 詳細は、下記の .Dq set log コマンドの説明を参照してください。 .Pp リンクが確立したら、show コマンドを使用することで、 どのように事態が進行しているのかが分ります: .Bd -literal -offset indent PPP ON awfulhak> show modem * モデム関連の情報がここに表示されます * PPP ON awfulhak> show ccp * CCP (圧縮) 関連の情報がここに表示されます * PPP ON awfulhak> show lcp * LCP (回線制御) 関連の情報がここに表示されます * PPP ON awfulhak> show ipcp * IPCP (IP) 関連の情報がここに表示されます * PPP ON awfulhak> show link * (高レベル) リンク関係の情報がここに表示されます * PPP ON awfulhak> show bundle * (高レベル) 論理接続関係の情報がここに表示されます * .Ed .Pp この時点で、マシンは接続先に対するホスト単位の経路 (host route) を持っています。 これはリンクの相手のホストとのみ接続可能であるという意味です。 デフォルト経路のエントリ (他の経路エントリを持たずに、全パケットを .Em PPP リンクの相手に送る ように、あなたのマシンに指示します)を追加したければ、 次のコマンドを入力してください。 .Bd -literal -offset indent PPP ON awfulhak> add default HISADDR .Ed .Pp .Sq HISADDR という文字列は、相手側の IP アドレスを表します。 既存の経路のために失敗する場合には、 .Bd -literal -offset indent PPP ON awfulhak> add! default HISADDR .Ed .Pp を用いることで既存の経路を上書きできます。 ここで、(ping, telnet, ftp のような) ネットワークアプリケーションを 別のウィンドウで使用可能です。 使用可能コマンドの詳細は .Em PPP コマンドリスト の節を参照してください。 .Sh 自動ダイヤル 自動ダイヤルを行うためには、ダイヤルとログインのチャットスクリプトを 用意しなければなりません。定義の例は .Pa /etc/ppp/ppp.conf.sample を見てください ( .Pa /etc/ppp/ppp.conf の書式は非常に簡単です)。 各行は単一のコメント、インクルード、ラベル、コマンドのいずれかを含みます。 .Bl -bullet .It .Pq Dq # 文字で始まる行は、コメントとして扱われます。 コメント行と認識した場合、先行する空白は無視されます。 .It インクルードは語 .Sq !include から始まる行です。 1 つの引数 - インクルードするファイル - を持つ必要があります。 古いバージョンの .Nm との互換性のために、 .Dq !include ~/.ppp.conf を使用したいかもしれません。 .It ラベルは行頭から始まり、最後にコロン .Pq Dq \&: が続かなければなりません。 .It コマンド行は、最初の桁に空白かタブを含む必要があります。 .El .Pp .Pa /etc/ppp/ppp.conf ファイルには少なくとも .Dq default セクションが存在する必要があります。 このセクションは常に実行されます。 このファイルには 1 つ以上のセクションが含まれます。 セクション名は用途に応じて付けます。例えば、 .Dq MyISP はあなたの ISP を表したり、 .Dq ppp-in は入力の .Nm 構成を表したります。 .Nm ppp を立ち上げる際に、接続先のラベル名を指定可能です。 .Dq default ラベルに関係づけられたコマンドが実行されてから、 接続先ラベルに関連づけられたコマンドが実行されます。 .Nm を引数無しで起動した場合、 .Dq default だけは実行されます。load コマンドを使用して、 .Pa /etc/ppp/ppp.conf のセクションを手動でロード可能です: .Bd -literal -offset indent PPP ON awfulhak> load MyISP .Ed .Pp ひとたび接続が確立したなら、プロンプトの .Sq ppp は .Sq PPP に変わります: .Bd -literal -offset indent # ppp MyISP -... +\&... ppp ON awfulhak> dial Ppp ON awfulhak> PPp ON awfulhak> PPP ON awfulhak> .Ed .Pp Ppp プロンプトは .Nm が認証フェースに入ったことを示します。PPp プロンプトは .Nm がネットワークフェーズに入ったことを示します。PPP プロンプトは .Nm がネットワーク層プロトコルの交渉に成功し、使用可能状態にあることを示します。 .Pp もし .Pa /etc/ppp/ppp.linkup が利用可能ならば、 .Em PPP 接続が確立された時に、その内容が実行されます。 接続が確立された後のバックグラウンドでのスクリプト実行については、 提供されている .Pa /etc/ppp/ppp.conf.sample (使用可能な置換文字列については、後述の .Dq shell と .Dq bg を参照してください) の .Dq pmdemand の例を参照してください。 同様に、接続が閉じられると、 .Pa /etc/ppp/ppp.linkdown ファイルの内容が実行されます。 これらのファイルのフォーマットは .Pa /etc/ppp/ppp.conf と同じです。 .Pp 以前のバージョンの .Nm では、デフォルト経路のような経路は .Pa ppp.linkup ファイルで追加し直す必要がありました。 現在では .Nm は、 .Dv HISADDR もしくは .Dv MYADDR が変化したときに、自動的に .Dv HISADDR もしくは .Dv MYADDR 文字列を含むすべての経路を更新する .Sq スティッキー経路 をサポートします。 .Sh バックグラウンドダイヤル .Nm を使って非対話的に接続を確立したい場合 (例えば .Xr crontab 5 エントリや .Xr at 1 ジョブから使うような場合) には、 .Fl background オプションを使います。 .Fl background が指定された場合、 .Nm はすぐに接続を確立しようとします。 複数の電話番号が指定された場合には、各電話番号が 1 回づつ試されます。 これらに失敗すると、 .Nm は即座に終了し、0 でない終了コードを返します。 接続に成功すると .Nm はデーモンになり、呼び出し側に終了コード 0 を返します。 デーモンは、リモートシステムが接続を終了した場合、 もしくは .Dv TERM シグナルを受け取った場合に、自動的に終了します。 .Sh ダイヤルオンデマンド デマンドダイヤル機能は .Fl auto または .Fl ddial オプションにて有効にされます。この場合にも .Pa /etc/ppp/ppp.conf で定義された接続先のラベルを指定しなければなりません。 これには、リモート接続先の IP アドレスを指定するための .Dq set ifaddr コマンドも書かれていなければなりません ( .Pa /etc/ppp/ppp.conf.sample を参照してください)。 .Bd -literal -offset indent # ppp -auto pmdemand .Ed .Pp .Fl auto または .Fl ddial が指定された時に .Nm はデーモンとして動作しますが、 .Pa /etc/ppp/ppp.conf 中で .Dq set server コマンドを使うことで、設定を確認したり変更したりすることができます。 .Po たとえば、 .Dq set server +3000 mypasswd とすると .Pc 次のように診断ポートを通じて接続することができます。 .Bd -literal -offset indent # pppctl 3000 (tun0 を仮定 - ``set server'' の記述を参照) Password: PPP ON awfulhak> show who tcp (127.0.0.1:1028) * .Ed .Pp .Dq show who コマンドは現在 .Nm 自身に接続しているユーザの一覧を表示します。診断ソケットが閉じられる、 もしくは異なるソケットに変更された場合、すべての接続は即座に終了します。 .Pp .Fl auto モードにて 送信パケットが検出された時、 .Nm は (チャットスクリプトに基づいて) ダイヤルを行い、 通信相手に接続しようとします。 .Fl ddial モードでは回線がダウンしていることが確認された場合にはいつでも ダイヤルが行われます。 接続に失敗したら、デフォルトの動作では 30 秒間待ってから、 別の送信パケットが検出された時に接続しようとします。 この動作は次の方法で変更できます。 .Bd -literal -offset indent set redial seconds|random[.nseconds|random] [dial_attempts] .Ed .Pp .Sq seconds は、再び接続しようとするまでの秒数です。 引数が .Sq random の場合には、待ち時間を 0 秒から 30 秒の間でランダムに選びます。 .Sq nseconds は電話番号リストの中の次の番号をダイヤルする前に待つ秒数です。( .Dq set phone コマンドを参照してください)。これのデフォルトは 3 秒です。 繰り返しますが、引数が .Sq random の場合には、待ち時間を 0 秒から 30 秒の間でランダムに選びます。 .Sq dial_attempts は、受け取った個々の送信パケットに対して、何回接続を試みるのかを示す 数字です。 このパラメータが省略された場合には、以前の値がそのまま使われます。 .Sq dial_attempts に 0 が指定された場合には、 .Nm は接続できるまでダイヤルを続けます。 .Bd -literal -offset indent set redial 10.3 4 .Ed .Pp は個々の送信パケットに対して 4 回接続を試み、 番号間の待ち時間が 3 秒で、すべての番号を試した後に 10 秒待つことを表します。 複数の電話番号が指定されている場合でも、トータルのダイヤル回数は 4 回のままです。 (それぞれの番号を 4 回ダイヤルするのではありません)。 リンクの両端が .Nm のデマンドダイヤルモードを利用している場合は、 ダイヤル間隔を変更しておくのが良いでしょう。 もし、リンクの両端が同じタイムアウト時間に設定されていて、 リンクが切れて両方に送信待ちのパケットがあった場合、 両方が同時に相手を呼び出しあうことになってしまいます。 場所によっては、シリアルリンクに信頼性がなく、 切れるべきでない時にキャリアが失われるかもしれません。 セッションの途中で予期せずキャリアが失われた場合、 .Nm にリダイヤルさせることができます。 .Bd -literal -offset indent set reconnect timeout ntries .Ed .Pp このコマンドは、キャリアが失われた時に .Ar timeout 秒の間隔を置いて .Ar ntries 回まで接続を再確立するよう .Nm に指示します。例えば、 .Bd -literal -offset indent set reconnect 3 5 .Ed .Pp は、予期せぬキャリア喪失の際に .Ar 3 秒待ってから再接続を試みるように .Nm に指示します。これは .Nm があきらめる前に .Ar 5 回まで行われます。 ntries のデフォルト値は 0 (再接続しない) です。 このオプションを使用する際には注意が必要です。 もしローカル側のタイムアウトがリモート側よりもわずかに長いと、 リモート側がタイムアウトにより回線を切断した場合に、 再接続機能が (指定した回数まで) 起動されてしまいます。 注: この文脈においては、多くの LQR を喪失するとキャリア喪失を引き起こし、 ひいては再接続を引き起こします。 .Fl background フラグが指定された場合、接続が行えるまで すべての電話番号が最大 1 回ダイヤルされます。 .Dq set redial コマンドにて、リダイヤル期間の後に、 再接続回数を指定します。 リダイヤル値が指定した電話番号数より少ない場合、 指定した電話番号で使用されないものが出来ます。 プログラムを終了させるには、次のように入力してください。 .Bd -literal -offset indent PPP ON awfulhak> close ppp ON awfulhak> quit all .Ed .Pp .Dq quit コマンドは .Xr pppctl 8 もしくは .Xr telnet 1 による接続を終了しますが、 プログラム自身は終了させません。 .Nm も終了させたい場合には、 .Dq quit all を実行してください。 .Sh PPP 接続の受け入れ (方法その 1) .Em PPP 接続要求を受け入れるには、次の手順にしたがってください。 .Bl -enum .It モデムと、 (必要であれば) .Pa /etc/rc.serial が正しく設定されていることを確認します。 .Bl -bullet -compact .It フロー制御にはハードウェアハンドシェイク (CTS/RTS) を使います。 .It モデムはエコーバックを行わず (ATE0) 、コマンドの結果も報告しない (ATQ1) ように設定されていなければなりません。 .El .Pp .It モデムが接続されているポートで .Xr getty 8 が起動されるように .Pa /etc/ttys を編集します。 例えば、次のように設定すれば良いでしょう: .Pp .Dl ttyd1 "/usr/libexec/getty std.38400" dialup on secure .Pp .Xr getty 8 を起動するために .Xr init 8 プロセスに .Dv HUP シグナルを送るのを 忘れないでください: .Pp .Dl # kill -HUP 1 .It .Pa /usr/local/bin/ppplogin ファイルを次のような内容で作成します: .Bd -literal -offset indent #!/bin/sh exec /usr/sbin/ppp -direct incoming .Ed .Pp ダイレクトモード .Pq Fl direct では、 .Nm は標準入力と標準出力を使って動作します。クライアント動作の .Nm と同様に、 .Xr pppctl 8 を使用することで、構成された診断ポートに接続可能です。 .Pp ここで .Pa /etc/ppp/ppp.conf 中の .Ar incoming セクションが設定されていなければなりません。 .Pp .Ar incoming セクションに適当な .Dq allow users コマンドがあることを確かめておいてください。 .It 受け入れるユーザのアカウントを用意してください。 .Bd -literal ppp:xxxx:66:66:PPP Login User:/home/ppp:/usr/local/bin/ppplogin .Ed .Pp 詳細は .Xr adduser 8 と .Xr vipw 8 のマニュアル項目を参照してください。 .Dq accept dns および .Dq set nbns コマンドを使うことで IPCP によるドメインネームサーバと NetBIOS ネームサーバの 交渉を有効にすることが可能です。 下記の記述を参照してください。 .El .Pp .Sh PPP 接続の受け入れ (方法その 2) この方法は、 .Xr login 1 ではなく .Nm ppp で接続の認証を行うという点が異なります。 .Bl -enum .It .Pa /etc/gettytab の default セクションに .Dq pp ケーパビリティを指定することで ppp を自動的に認識するように 設定してください。 .Bd -literal default:\\ :pp=/usr/local/bin/ppplogin:\\ ..... .Ed .It 上記の方法その 1 の最初の 3 手順と同じように、 シリアルデバイスを設定し、 .Xr getty 8 を有効にして、 .Pa /usr/local/bin/ppplogin を作成してください。 .It .Pa /etc/ppp/ppp.conf の .Sq incoming ラベル (もしくは .Pa ppplogin が用いるラベルならなんでも構いません) 下に .Dq enable chap か .Dq enable pap .Pq もしくはその両方 を加えてください。 .It .Pa /etc/ppp/ppp.secret に、受け入れるユーザそれぞれについて、エントリを作成してください。 .Bd -literal Pfredxxxx Pgeorgeyyyy .Ed .El .Pp これで、 .Xr getty 8 は (HDLC フレームヘッダを認識することで) ppp 接続を検出すると、すぐに .Dq /usr/local/bin/ppplogin を実行します。 .Pp 上記のように PAP もしくは CHAP を有効にすることは .Em 必須 です。そうしなければ、あらゆる人があなたのマシンにパスワード .Em なしに ppp セッションを確立することを許可し、 あらゆる種類の潜在的な攻撃に対して門戸を開いていることになります。 .Sh 内向き接続の認証 通常、接続の受信側は相手が相手自身を認証することを要求します。 これは通常 .Xr login 1 にて行われますが、代りに PAP か CHAP を使用可能です。 2 つのうちで CHAP の方がより安全ですが、 クライアントによってはサポートしていないものがあります。 どちらを使いたいか決めたら、 .Sq enable chap または .Sq enable pap を .Pa ppp.conf の適切なセクションに追加してください。 .Pp その後、 .Pa /etc/ppp/ppp.secret ファイルの設定を行う必要があります。 このファイルは、クライアントになりうるマシンごとに 1 行を含みます。 各行は 4 つまでのフィールドからなります: .Bd -literal -offset indent name key [hisaddr [label]] .Ed .Pp .Ar name と .Ar key は期待されるクライアントを指定します。 .Ar key が .Dq \&* で PAP が使用される場合、 .Nm は認証時にパスワードデータベース .Pq Xr passwd 5 を検索します。 .Pa ppp.secret の如何なる .Ar name No / Ar key の組み合わせにおいても適切でない返答をクライアントが与える場合、 認証は失敗します。 .Pp 認証に成功したならば、 .Pq 指定時には .Ar hisaddr を IP 番号交渉時に使用します。詳細は .Dq set ifaddr コマンドを参照してください。 .Pp 認証に成功し .Ar label が指定された場合、現在のシステムラベルは .Ar label にマッチするように修正されます。 このことはファイル .Pa ppp.linkup と .Pa ppp.linkdown の後続のパーズに影響があります。 .Sh PPP オーバ TCP (別名: トンネリング) シリアルリンク上以外の .Nm の使用方法として、 device にホストとポートを指定することにより、 TCP 接続を使用することが可能です: .Pp .Dl set device ui-gate:6669 .Pp シリアルデバイスをオープンする代りに、 .Nm は指定されたマシンの指定されたソケットへの TCP 接続をオープンします。 .Nm は telnet プロトコルを使用しないこと、 telnet サーバと交渉できないことに注意を払うべきです。 受信マシン (ui-gate) 上に、 この ppp 接続を受信するポートを設定する必要があります。まず .Pa /etc/services を更新して、サービスを定義します: .Pp .Dl ppp-in 6669/tcp # Incoming PPP connections over tcp .Pp そして .Pa /etc/inetd.conf を更新して、このポートへの受信接続をどのように扱うかを .Xr inetd 8 に指示します: .Pp .Dl ppp-in stream tcp nowait root /usr/sbin/ppp ppp -direct ppp-in .Pp .Pa /etc/inetd.conf を更新した後には、 .Xr inetd 8 に .Dv HUP シグナルを送るのをお忘れなく。 ここではラベル名 .Dq ppp-in を使用します。 ui-gate (受信側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含みます: .Bd -literal -offset indent ppp-in: set timeout 0 set ifaddr 10.0.4.1 10.0.4.2 add 10.0.1.0/24 10.0.4.2 .Ed .Pp セキュリティのために PAP もしくは CHAP の設定をしたいかもしれません。 PAP を有効にするには次の行を追加します: .Bd -literal -offset indent enable PAP .Ed .Pp また、次のエントリを .Pa /etc/ppp/ppp.secret に作成する必要があります: .Bd -literal -offset indent MyAuthName MyAuthPasswd .Ed .Pp .Ar MyAuthPasswd が .Pq Dq * の場合には、パスワードは .Xr passwd 5 データベースから検索されます。 .Pp awfulhak (起動側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含む必要があります: .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in set dial set timeout 30 set log Phase Chat Connect hdlc LCP IPCP CCP tun set ifaddr 10.0.4.2 10.0.4.1 add 10.0.2.0/24 10.0.4.1 .Ed .Pp PAP を有効にしようとしている場合、次の設定も必要です: .Bd -literal -offset indent set authname MyAuthName set authkey MyAuthKey .Ed .Pp 我々は、 ui-gate に 10.0.4.1 のアドレスを割り当て、 awfulhak に 10.0.4.2 のアドレスを割り当てようとしています。 接続をオープンするためには、次の内容をタイプするだけで良いです。 .Pp .Dl awfulhak # ppp -background ui-gate .Pp 結果として、 awfulhak にはネットワーク 10.0.2.0/24 への新たな「経路」が、 ui-gate にはネットワーク 10.0.1.0/24 への新たな「経路」が、 TCP 接続経由でそれぞれ作成されます。 ネットワークは実質的にブリッジされます - 下位レベルの TCP 接続はパブリックなネットワーク (例えばインターネット) を またがっても良いです。 また 2 つのゲートウェイ間では ppp トラフィックは 概念的に TCP ストリーム中でカプセル化されます (パケットがパケットに対応するわけではありません)。 この機構の大きな欠点は、同時に 2 つの「配送保証」機構が存在することです - この 2 つとは、下位レベルの TCP ストリームと .Em PPP リンク上で使用されるプロトコルであり、おそらくまた TCP でしょう。 パケット喪失が起ると、両者はそれぞれの方法で喪失した パケットを再送しようと するでしょう。 .Sh パケットエイリアシング .Fl alias コマンドラインオプションにより、 パケットエイリアシングが有効になります。 これにより、 .Nm ホストがローカルエリアネットワークの他のコンピュータに対して マスカレードゲートウェイとして動作するようになります。 送信される IP パケットは、まるで .Nm ホストから来たかのようにエイリアスされ、 受信パケットは、それがローカルエリアネットワークの正しいマシンに 送られるようにエイリアスが戻されます。 パケットエイリアシングにより、 未登録でプライベートなサブネット上のコンピュータを 外部から見えないようにしつつ、 インターネットへアクセス可能とします。 一般に、 .Nm が正しく動作していることの確認は、 まず最初にパケットエイリアシングを禁止して行います。 次に .Fl alias オプションを有効にして、 .Nm ホストの上で (ウェブブラウザや .Xr telnet 1 , .Xr ftp 1 , .Xr ping 8 , .Xr traceroute 8 などの) ネットワークアプリケーションの動作を確認します。 最後に、LAN 上の別のコンピュータの上で同様なアプリケーションの 動作を確認することになります。 .Nm ホストではネットワークアプリケーションが正しく動作するのに、 LAN 上の別のコンピュータでは動かないのであれば、マスカレードソフトウェアは 正しく動いているけれども、ホストが IP パケットをフォワーディングしないか、 ひょっとするとパケットが送られて来ていないかのどちらかです。 .Pa /etc/rc.conf で IP フォワーディングが有効にされていることと、 他のコンピュータで .Nm ホストがその LAN のゲートウェイとして 指定されていることを確認してください。 .Sh パケットのフィルタリング この実装では、パケットのフィルタリングがサポートされています。 .Em in フィルタ、 .Em out フィルタ、 .Em dial フィルタ、そして .Em alive フィルタの 4 種類のフィルタがあります。 ここでは基本的なことについて書くことにします。 .Bl -bullet .It フィルタ定義は次のような構文になっています。 .Pp set filter .Ar name .Ar rule-no .Ar action .Op Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width [ .Ar proto .Op src Op Ar cmp No Ar port .Op dst Op Ar cmp No Ar port .Op estab .Op syn .Op finrst ] .Bl -enum .It .Ar name は .Sq in , .Sq out , .Sq dial , .Sq alive のいずれかです。 .It .Ar rule-no は .Sq 0 から .Sq 19 までの数値で、ルール番号を指定します。 ルールは .Ar rule-no の番号順に指定されます。 ただしルール .Sq 0 が指定されている場合のみです。 .It .Ar action は .Sq permit , .Sq deny のいずれかです。 もし、あるパケットがルールに一致した場合、 結びつけられた action が直ちに実行されます。 .It .Op Ar src_addr Ns Op / Ns Ar width と .Op Ar dst_addr Ns Op / Ns Ar width は始点と終点の IP アドレスです。 .Op / Ns Ar width が指定された場合には、それによって適切なネットマスクのビット値を与え、 アドレスの範囲を指定することができます。 .It .Ar proto は .Sq icmp , .Sq udp , .Sq tcp のうちのいずれか 1 つです。 .It .Ar cmp は .Sq \< , .Sq \&eq , .Sq \> のうちいずれか 1 つです。それぞれ、より小さい、等しい、 より大きいを意味します。 .Ar port はポート番号で指定するか、 .Pa /etc/services のサービス名で指定することができます。 .It .Sq estab , .Sq syn , .Sq finrst フラグは .Ar proto が .Sq tcp に設定されているときにのみ許可され、それぞれ TH_ACK、TH_SYN、および TH_FIN もしくは TH_RST という TCP フラグを表わします。 .El .Pp .It -各フィルタはルール 0 から始まり、20 個までのルールをもつことができます。 +各フィルタはルール 0 から始まり、40 個までのルールをもつことができます。 規則のルールは、ルール 0 が定義されていなければ、有効にはなりません。 すなわち、デフォルトではすべてが通されます。 .It パケットにマッチするルールが無い場合は、パケットは破棄 (ブロック) されます。 .It すべての規則を消去するには、 .Dq set filter Ar name No -1 を使ってください。 .El .Pp -.Pa /etc/ppp/ppp.conf.example +.Pa /etc/ppp/ppp.conf.sample を参照してください。 .Sh アイドルタイマの設定 アイドルタイマを調べたり/設定するためには、それぞれ .Dq show bundle と .Dq set timeout コマンドを使ってください: .Bd -literal -offset indent ppp ON awfulhak> set timeout 600 .Ed .Pp タイムアウト時間は秒数で指定します。デフォルト値は timeout が 180 秒 .Pp 3 分 です。 アイドルタイマ機能を使わないようにするためには、 次のコマンドを利用してください。 .Bd -literal -offset indent ppp ON awfulhak> set timeout 0 .Ed .Pp .Fl ddial と .Fl dedicated モードではアイドルタイムアウトは無視されます。 .Fl auto モードでは、アイドルタイムアウトが発生すると .Nm プログラムは実行したままで .Em PPP セッションを終了します。別の引金となるパケットがきた時に リンクを再び確立しようとします。 .Sh Predictor-1 および DEFLATE 圧縮 .Nm は Predictor type 1 圧縮および deflate 圧縮をサポートしています。 デフォルトでは、 .Nm は、接続相手が同意 .Pq あるいは要求 した場合に、 この機能を使おうと (もしくは受け入れようと) します。 .Nm は deflate プロトコルを優先します。 これらの機能を使用したくない時には .Dq disable と .Dq deny のコマンドを参照してください。 .Pp .Dq disable deflate か .Dq deny deflate の一方を使用することにより、 方向ごとに異ったアルゴリズムを使用することができます。 .Pq 接続相手が両方のプロトコルをサポートしていると仮定しています。 .Pp デフォルトでは、DEFLATE について交渉するときには .Nm はウィンドウサイズとして 15 を使います。この動作を変更したい場合には .Dq set deflate コマンドを参照してください。 .Pp デフォルトでは無効にされ受け付けませんが、DEFLATE24 と呼ばれる特殊な アルゴリズムを使用することもできます。これは CCP ID 24 を 交渉に使う点を除いては DEFLATE と完全に同じものです。 これを使用することで .Nm は .Nm pppd バージョン 2.3.* と DEFLATE 交渉を成功させることができます。 .Sh IP アドレスの制御 .Nm は IP アドレスの交渉のために IPCP を使います。接続の両側は、自分が 使おうとするアドレスを提示し、要求された IP アドレスが受け入れ可能な ものであれば、相手に ACK (肯定応答) を返します。 受け入れることができなければ、別の IP アドレスの使用を促すために .Nm は相手に NAK (否定応答) を返します。 接続の両側が受け取った要求に同意し (ACK を送っ) た時、 IPCP はオープン状態にセットされ、ネットワーク層での接続が確立されます。 IPCP の動作を制御するために、この実装はローカルとリモートの IP アドレスを定義するための .Dq set ifaddr コマンドを持っています。 .Bd -literal -offset indent set ifaddr [src_addr [dst_addr [netmask [trigger_addr]]]] .Ed .Pp ここで、 .Sq src_addr はローカル側で使おうと思っている IP アドレスで、 .Sq dst_addr はリモート側が使用すべき IP アドレスです。 .Sq netmask は使用すべきネットマスクです。 .Sq src_addr のデフォルトは現在の .Xr hostname 1 のもの、 .Sq dst_addr のデフォルトは 0.0.0.0 であり、 .Sq netmask のデフォルトは .Sq src_addr に適したマスク値です。 .Sq netmask はデフォルトより小さくすることのみ可能です。 ほとんどのカーネルが POINTOPOINT インタフェースのネットマスクを 無視するので、便利な値は 255.255.255.255 でしょう。 .Pp 誤った .Em PPP の実装には、接続交渉のために、 .Sq src_addr ではなく特別な IP アドレスを使用しなければならないものがあります。 この場合、 .Sq trigger_addr で指定した IP アドレスが使用されます。 相手がこの提案された番号に同意しない限り、経路表には影響しません。 .Bd -literal -offset indent set ifaddr 192.244.177.38 192.244.177.2 255.255.255.255 0.0.0.0 .Ed .Pp 上の例の意味は次の通りです: .Pp .Bl -bullet -compact .It 自分の IP アドレスとしてまず 0.0.0.0 を提案しますが、アドレス 192.244.177.38 のみは受け付けます。 .It 相手側のアドレスとして 192.244.177.2 を使うように要求し, 192.244.177.2 以外のどんなアドレスを使うことも許可しません。 相手側が別の IP アドレスを要求してきた時は、いつでも 192.244.177.2 を提案します。 .It 経路表のネットマスク値は 0xffffffff に設定されます。 .El .Pp これは、両側が既に決まった IP アドレスを持っている場合には うまくいきますが、多くの場合、一方がすべての IP アドレスを制御する サーバとして動作しており、もう一方はその方針に従わなくてはなりません。 より柔軟な動作をさせるために、`ifaddr' 変数の IP アドレス指定を もっと緩やかにすることが可能です: .Pp .Dl set ifaddr 192.244.177.38/24 192.244.177.2/20 .Pp スラッシュ (/) に続く数字は、この 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 コマンドを使って、ダイヤルスクリプトにプロバイダの電話番号を記述します。 ダイヤルやリダイヤルに使用する電話番号は、 パイプ (|) またはコロン (:) で区切って 複数指定することができます。例えば、次のようになります。 .Bd -literal -offset indent set phone "111[|222]...[:333[|444]...]..." .Ed .Pp 最初のパイプで区切られたリストの番号は、 直前の番号でダイヤルもしくはログインスクリプトが失敗した場合のみ使用されます。 コロンで区切られた番号は、直前の番号の使用によりなにが起ったのかにかかわらず、 この順番で使用されます。例えば: .Bd -literal -offset indent set phone "1234567|2345678:3456789|4567890" .Ed .Pp この場合、まず 1234567 にダイヤルしてみます。 ダイヤルもしくはログインスクリプトに失敗したら、 次は 2345678 を使用します。 しかしこれはダイヤルもしくはログインスクリプトに失敗したとき *のみ* です。 このダイヤルの後、3456789 が使用されます。 4567890 は 345689 でダイヤルもしくはログインスクリプトに失敗したときのみ 使用されます。 2345678 のログインスクリプトが失敗したとしても、次の番号は 3456789 です。 必要な数だけ、パイプとコロンを使用可能です (しかし、通常はパイプのみかコロンのみであり両方の使用はないでしょう)。 次の番号へのリダイヤルまでのタイムアウトは、すべての番号にて使用されます。 リストが終了すると、 通常のリダイヤル期間だけ待ち、 最初から再開します。 .Dq set dial コマンドの \\\\T 文字列は選択された番号で置きかえられます。 (以降を参照してください)。 .It リダイヤルに関する設定は、 .Dq set redial で行います。 例えば回線の調子が悪かったり、 (最近では それほど多くないでしょうが) プロバイダがいつも話中だったりすると、 次のように設定したくなるかもしれません: .Bd -literal -offset indent set redial 10 4 .Ed .Pp これは最初の番号にリダイヤルを行う前に 10 秒待って、 4 回までダイヤルしてみるという意味になります。 .It .Dq set dial と .Dq set login コマンドを使ってログイン手続きを記述します。 .Dq set dial コマンドはモデムと通信してプロバイダへのリンクを確立するのに使われます。 例えば、次のようになります: .Bd -literal -offset indent set dial "ABORT BUSY ABORT NO\\\\sCARRIER TIMEOUT 4 \\"\\" \e ATZ OK-ATZ-OK ATDT\\\\T TIMEOUT 60 CONNECT" .Ed .Pp このモデム「チャット」文字列の意味は次の通りです。 .Bl -bullet .It \&"BUSY" または "NO CARRIER" を受信した場合には処理を中止します。 .It タイムアウトを 4 秒にセットします。 .It 文字列の受信待ちは行いません。 .It ATZ を送信します。 .It OK の受信待ちを行います。もし 4 秒以内に受信できなければ、 もう 1 度 ATZ を送信し、OK の受信待ちを行います。 .It ATDTxxxxxxx を送信します。xxxxxxx は 上記の電話番号リストの中の、次にダイヤルする番号です。 .It タイムアウトを 60 にセットします。 .It 文字列 CONNECT の受信待ちを行います。 .El .Pp 一旦接続が確立されると、ログインスクリプトが実行されます。 このスクリプトはダイヤルスクリプトと同じスタイルで書かれますが、 パスワードがログされないように注意してください: .Bd -literal -offset indent set authkey MySecret set login "TIMEOUT 15 login:-\\\\r-login: awfulhak \e word: \\\\P ocol: PPP HELLO" .Ed .Pp このログイン「チャット」文字列の意味は次の通りです。 .Bl -bullet .It タイムアウトを 15 秒にセットします。 .It "login:" の受信待ちを行います。もし受信できなければ 復改文字を送信して、再び "login:" の受信待ちを行います。 .It "awfulhak" を送信します。 .It "word:" ("Password:" プロンプトの末尾) の受信待ちを行います。 .It .Ar authkey に現在設定されている値を送信します。 .It "ocol:" ("Protocol:" プロンプトの末尾) の受信待ちを行います。 .It "PPP" を送信します。 .It "HELLO" の受信待ちを行います。 .El .Pp .Dq set authkey ( .Ar command ログ使用時には) コマンドのログは特別な方法でとられ、( .Sq ******** とログされますので) 実際のパスワードが危険にさらされることはありません。 .Ar chat ログ使用時には、実際のパスワードの代りに '\\P' とログされます。 .Pp ログインスクリプトはプロバイダによって大きく違うものになるでしょう。 始めてそれを設定するときには .Em チャットログを有効化 することで、あなたのスクリプトが予定通りに動いているかを 調べることができます。 .It シリアル回線と通信速度を指定するためには .Dq set line と .Dq set speed を使います。例えば次のようになります。 .Bd -literal -offset indent set line /dev/cuaa0 set speed 115200 .Ed .Pp FreeBSD では cuaa0 が 1 つめのシリアルポートになります。 OpenBSD で .Nm を実行している場合には cua00 が 1 つめです。 あなたのモデムが 28800 かそれ以上のビットレートで通信することが できるなら、シリアルポートの速度には 115200 を指定しておくべきでしょう。 一般に、シリアルポートの速度はモデムの速度の約 4 倍にしておきます。 .It .Dq set ifaddr コマンドで IP アドレスを定義します。 .Bl -bullet .It プロバイダがどの IP アドレスを使っているのか知っている場合には、 それをリモートアドレス (dst_addr) として使ってください。 知らない場合には、10.0.0.2/0 か何かを使ってください (以降を参照してください)。 .It 特定の IP アドレスをプロバイダから割り当てられている場合は、 それをローカルアドレス (src_addr) として使ってください。 .It プロバイダが IP アドレスを動的に割り当てる場合は、適当に控えめで 緩やかに記述した IP アドレスをローカルアドレスに選んでください。 10.0.0.1/0 が適切でしょう。 / に続く数値は、このアドレスのうち何ビットを重視しているかを示します。 もしもクラス C のネットワーク 1.2.3.0 上のアドレスを使うことを 主張したいのなら、1.2.3.1/24 と指定することができます。 .It プロバイダがあなたが提示した最初の IP 番号を受け付ける場合、 第 3, 4 の引数に .Dq 0.0.0.0 を指定してください。 これによりプロバイダが番号を割り当てます。 (3 つめの引数は、 .Sq src_addr に対してデフォルトのマスクよりも制約が緩いため、無視されます。) .El .Pp 自分の IP アドレスもプロバイダの IP アドレスも 知らない場合には、次の例のようにするとよいでしょう。 .Bd -literal -offset indent set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0 .Ed .Pp .It ほとんどの場合、プロバイダはデフォルトルータでもあるでしょう。 この場合、次の行を .Pa /etc/ppp/ppp.conf に追加します。 .Bd -literal -offset indent add default HISADDR .Ed .Pp これは、 .Nm 接続先のアドレスが何であっても .Pq この例では 10.0.0.2 デフォルト経路として追加するように指示します。 この経路は .Sq スティッキー です。これは .Dv HISADDR の値が変わると、経路もそれに従って自動的に更新されるという意味です。 .Pp 以前のバージョンの .Nm では .Pa /etc/ppp/ppp.linkup ファイルにこれと似たエントリが必要でした。 .Sq スティッキー経路 の出現により、これはもはや必要ではなくなりました。 .It プロバイダが PAP/CHAP による認証を要求している場合は、 .Pa /etc/ppp/ppp.conf ファイルに次の行を追加してください: .Bd -literal -offset indent set authname MyName set authkey MyPassword .Ed .Pp デフォルトではどちらも受け付けられますので、ISP が何を要求しても大丈夫です。 .Pp PAP もしくは CHAP を使用する場合、ログインスクリプトはほとんどの場合、 必要とされないことを記述しておくべきでしょう。 .It 次のような行を加え、ISP にネームサーバアドレスを確認してください。 .Bd -literal -offset indent enable dns .Pp .Ed ローカル DNS を走らせている場合には、これを .Em やらない でください。 .Nm は単純に .Pa /etc/resolv.conf に nameserver 行を入れることで、ローカル DNS の使用を 出し抜いてしまうからです。 .El .Pp 現実の例を見たい場合には、 .Pa /etc/ppp/ppp.conf.sample と .Pa /etc/ppp/ppp.linkup.sample を参照してください。 ラベル pmdemand は、ほとんどのプロバイダで使用できるでしょう。 .Sh ログ機能 .Nm は次のログ情報を、 .Xr syslog 3 経由で、もしくはスクリーンに出力することができます: -.Bl -column SMMMMMM -offset indent -.It Li Async 非同期レベルパケットの 16 進ダンプ -.It Li CBCP CBCP (CallBack Control Protocol) ログの生成 -.It Li CCP CCP パケットトレースの生成 -.It Li Chat チャットスクリプトのトレースログの生成 -.It Li Command コマンド実行のログ -.It Li Connect "CONNECT" を含むチャット行のログ -.It Li Debug デバッグ情報のログ -.It Li HDLC HDLC パケットの 16 進ダンプ -.It Li ID0 ユーザ ID 0 で実行された全関数呼び出しを詳細に記録 -.It Li IPCP IPCP パケットトレースの生成 -.It Li LCP LCP パケットトレースの生成 -.It Li LQM LQR レポートの生成 -.It Li Phase フェーズ遷移ログの出力 -.It Li TCP/IP 全 TCP/IP パケットのダンプ -.It Li Timer タイマ操作のログ -.It Li TUN ログの各行に tun デバイスを含めます -.It Li Warning 端末デバイスへの出力。端末が存在しない場合は、LOG_WARNING を使用してログファイルに送ります。 -.It Li Error 端末デバイスとログファイルへの出力で、LOG_ERROR を使用します。 -.It Li Alert ログファイルへの出力で、LOG_ALERT を使用します。 +.Pp +.Bl -tag -width XXXXXXXXX -offset XXX -compact +.It Li Async +非同期レベルパケットの 16 進ダンプ。 +.It Li CBCP +CBCP (CallBack Control Protocol) ログの生成。 +.It Li CCP +CCP パケットトレースの生成。 +.It Li Chat +.Sq dial , +.Sq login , +.Sq hangup +のチャットスクリプトのトレースログの生成。 +.It Li Command +コマンド実行のログ。 +.It Li Connect +文字列 "CONNECT" を含むチャット行のログ。 +.It Li Debug +デバッグ情報のログ。 +.It Li HDLC +HDLC パケットの 16 進ダンプ。 +.It Li ID0 +ユーザ ID 0 で実行された全関数呼び出しを詳細に記録。 +.It Li IPCP +IPCP パケットトレースの生成。 +.It Li LCP +LCP パケットトレースの生成。 +.It Li LQM +LQR レポートの生成。 +.It Li Phase +フェーズ遷移ログの出力。 +.It Li TCP/IP +全 TCP/IP パケットのダンプ。 +.It Li Timer +タイマ操作のログ。 +.It Li TUN +ログの各行に tun デバイスを含めます +.It Li Warning +端末デバイスへの出力。端末が存在しない場合は、 +.Dv LOG_WARNING +を使用してログファイルに送ります。 +.It Li Error +端末デバイスとログファイルへの出力で、 +.Dv LOG_ERROR +を使用します。 +.It Li Alert +ログファイルへの出力で、 +.Dv LOG_ALERT +を使用します。 .El .Pp .Dq set log コマンドで、ログの出力レベルを設定することができます。 また、複数のレベルを単一コマンドラインにて指定することも可能です。 デフォルトは、 .Dq set log Phase です。 .Pp スクリーンに直接ログを表示することも可能です。 文法は同じで、語 .Dq local が .Dq set log の直後に付くことだけが違います。 デフォルトは .Dq set log local (つまり、マスクされない警告、エラーと注意のみ出力) です。 .Pp .Dq set log Op local への最初の引数が '+' か '-' の文字で始まる場合、 現在のログレベルを消去せずに修正します。例えば: .Bd -literal -offset indent PPP ON awfulhak> set log phase PPP ON awfulhak> show log Log: Phase Warning Error Alert Local: Warning Error Alert PPP ON awfulhak> set log +tcp/ip -warning PPP ON awfulhak> set log local +command PPP ON awfulhak> show log Log: Phase TCP/IP Warning Error Alert Local: Command Warning Error Alert .Ed .Pp レベル Warning, Error, Alert のメッセージログは .Dq set log Op local では制御できません。 .Pp .Ar Warning レベルは特別で、ローカルに表示可能な場合にはログされません。 .Sh シグナルハンドリング .Nm は次のシグナルを扱います: .Bl -tag -width XX .It INT このシグナルを受信すると、現在の接続がもしあればそれを終了します。 .Fl auto もしくは .Fl ddial のモードではない場合、 .Nm は終了します。 .It HUP, TERM, QUIT .Nm を終了させます。 .It USR2 .Nm に全サーバソケットを閉じさせ、すべての既存の診断ポートへの接続を 取り下げます。 .El .Pp .Sh マルチリンク PPP .Em PPP 相手に接続するのに複数の物理的なリンクを利用したいなら、 接続相手も .Em マルチリンク PPP プロトコルを理解する必要があります。 仕様の詳細は RFC 1990 を参照してください。 .Pp 接続先は、 .Dq 終点の選択 とその .Dq 認証 ID の組み合わせによって識別されます。 これらの一方、もしくは両方を指定することができます。 最低でも片方は指定しておくことが推奨されます。 そうでないと、すべてのリンクが実際に同一のプログラムに接続されていることを 確認する方法がなくなり、 混乱してロックアップを引き起こすことがあります。 ローカルには、これらの識別変数は .Dq set enddisc と .Dq set authname コマンドを用いることで指定されます。先立って接続相手と .Sq authname .Pq と Sq authkey について合意しておく必要があります。 .Pp マルチリンクの能力は .Dq set mrru コマンド (set maximum reconstructed receive unit) を用いることで 有効になります。一度マルチリンクが有効になれば、 .Nm は接続相手とマルチリンク接続の交渉を行います。 .Pp デフォルトでは .Po .Sq deflink と呼ばれる .Pc ただ 1 つの .Sq リンク のみが有効です。さらにリンクを作成するには .Dq clone コマンドが使われます。このコマンドは既存のリンクを複製します。 それは次の点を除いてすべての性質が同じものです: .Bl -enum .It 新しいリンクは .Dq clone コマンドラインで指定された独自の名前を持ちます。 .It 新しいリンクは .Sq interactive リンクです。そのモードは次の .Dq set mode コマンドで変更することができます。 .It 新しいリンクは .Sq closed の状態にあります。 .El .Pp すべての有効なリンクのまとめは、 .Dq show links コマンドを用いて見ることができます。 .Pp 一度リンクが作成されると、コマンドの使用方法が変わります。 すべてのリンク固有のコマンドの前には、 .Dq link Ar name プレフィックスをつけて、 コマンドを適用するリンクを指定する必要があります。 .Nm は十分賢いので、 利用可能なリンクが 1 つだけの場合には、 .Dq link Ar name プレフィックスは不要です。 .Pp コマンドの中には依然としてリンクの指定なしに使用できるものがあり、それは .Sq バンドル レベルの操作を行います。たとえば、2 つ以上のリンクが存在するとき .Dq show ccp はマルチリンクレベルの CPP 設定と統計を表示し .Dq link deflink show ccp は .Dq deflink のリンクレベルの同じ情報を表示します。 .Pp これらの情報を用いて、次の設定を用いることができます: .Pp .Bd -literal -offset indent mp: set timeout 0 set log phase chat set device /dev/cuaa0 /dev/cuaa1 /dev/cuaa2 set phone "123456789" set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\\" ATZ \e OK-AT-OK \\\\dATDT\\\\T TIMEOUT 45 CONNECT" set login set ifaddr 10.0.0.1/0 10.0.0.2/0 set authname ppp set authkey ppppassword set mrru 1500 clone 1,2,3 link deflink remove .Ed .Pp すべての複製が設定の最後で行われていることに注意してください。 一般にはリンクは最初に設定され、そして複製されます。 あなたが常にすべてのリンクがアップ状態であることを望む場合には、 設定の最後に次の行を追加することができます。 .Pp .Bd -literal -offset indent link 1,2,3 set mode ddial .Ed .Pp リンクが必要に応じてダイヤルされることを望む場合には、次のコマンドを 使うことができます。 .Pp .Bd -literal -offset indent link * set mode auto .Ed .Pp 上記の .Dq set device 行を取り除き、 .Dq clone コマンドに続けて次の内容を指定することで、 リンクを特定の名前に結びつけることもできます: .Pp .Bd -literal -offset indent link 1 set device /dev/cuaa0 link 2 set device /dev/cuaa1 link 3 set device /dev/cuaa2 .Ed .Pp どのコマンドが ( .Dq link コマンドを使用した) コンテキスト (文脈) を要求し、 どのコマンドがコンテキストをオプションとし、 そしてどのコマンドがコンテキストを一切とらないかを調べるには、 .Dq help コマンドを使用します。 .Pp .Nm が接続相手と .Em マルチリンク モードで交渉をすると、 .Nm はローカルドメインソケットを .Pa /var/run ディレクトリに作成します。このソケットは、 リンク情報 (実際のリンクファイル記述子も含む) を、異なる .Nm の間で受け渡しするために使われます。 この機能によって、 .Nm はシリアル回線の初期制御を行う必要なしに .Xr getty 8 から、もしくは直接 .Pa /etc/gettydefs から ( .Sq pp= ケーパビリティを用いて) 実行することが可能となっています。 ひとたび .Nm がマルチリンクモードの交渉を行うと、 .Nm は自分がオープンした リンクをすでに実行されている任意の他のプロセスに渡すことができます。 すでに実行されているプロセスがない場合、 .Nm はマスタとして振る舞い、ソケットを作成し、新たな接続を待ちます。 .Sh PPP コマンドリスト この節では利用可能コマンドとその効果をリストします。 .Nm ppp セッションで対話的に使用することも、 設定ファイルで指定することも、 .Xr pppctl 8 もしくは .Xr telnet 1 セッションで指定することも可能です。 .Bl -tag -width XX .It accept|deny|enable|disable Ar option.... これらのディレクティブは 最初の接続においてどのように相手と交渉するかを .Nm に指示します。各 .Dq option は、accept/deny および enable/disable のデフォルトを持ちます。 .Dq accept は相手がこのオプションを要求したら、ACK を送ることを意味します。 .Dq deny は相手がこのオプションを要求したら、NAK を送ることを意味します。 .Dq enable はこのオプションを当方が要求することを意味します。 .Dq disable はこのオプションを当方が要求しないことを意味します。 .Pp .Dq option は次のいずれかです: .Bl -tag -width XX .It acfcomp デフォルト: enable かつ accept。 ACFComp はアドレスおよびコントロールフィールド圧縮 (Address and Control Field Compression) を意味します。 LCP パケット以外は非常に良く似たフィールドを持ちますので、 簡単に圧縮可能です。 .It chap デフォルト: disable かつ accept。 CHAP はチャレンジ交換認証プロトコル (Challenge Handshake Authentication Protocol) を意味します。 CHAP もしくは PAP (後述) のどちらか一方のみ交渉可能です。 CHAP では、認証者は「チャレンジ」メッセージを相手に送ります。 相手は一方向ハッシュ関数を使用して「チャレンジ」を暗号化し、 結果を送り返します。 認証者は同じことを行い結果を比較します。 この機構の利点は、接続を介してパスワードを送らないことです。 接続が最初に確立する時にチャレンジが行われます。 更なるチャレンジが行われるかもしれません。 相手の認証を行いたい場合は、 .Dq enable chap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを .Pa /etc/ppp/ppp.secret に書く必要があります。 .Pp クライアントとして CHAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 CHAP はデフォルトで accept されます。 .Em PPP の実装によっては、チャレンジの暗号化に MD5 ではなく "MS-CHAP" を使用するものがあります。 MS-CHAP は MD4 と DES の組み合わせです。もし .Nm が DES ライブラリの存在するマシン上で構築された場合 MS-CHAP 認証要求に応答しますが、MS-CHAP 認証を要求することは 決してありません。 .It deflate デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に deflate 圧縮を使用するか否かを決定します。 使用されるアルゴリズムは .Xr gzip 1 プログラムが使用するものと同じです。 注: .Xr pppd 8 - 多くのオペレーティングシステムで使用可能な .Em PPP の実装 - との .Ar deflate 能力についての交渉には問題があります。 .Nm pppd (バージョン 2.3.1) が .Ar deflate 圧縮の交渉を行おうとする CCP コンフィギュレーションタイプは、 .Pa rfc1979 に規定されたタイプ .Em 26 ではなくタイプ .Em 24 であり、誤っています。 タイプ .Ar 24 は実際には .Pa rfc1975 では .Dq PPP Magna-link Variable Resource Compression と指定されています! .Nm は .Nm pppd と交渉する能力がありますが、 .Dq deflate24 が .Ar enable かつ .Ar accept されている場合のみです。 .It deflate24 デフォルト: disable かつ deny。 これは .Ar deflate のバリエーションで、 .Xr pppd 8 プログラムとの交渉を許可します。 詳細は上記の .Ar deflate セクションを参照してください。 これは .Pa rfc1975 に反するため、デフォルトでは disable となっています。 .It dns デフォルト: disable かつ deny。 このオプションは DNS 交渉を許可します。 .Pp .Dq enable にすることにより、 .Nm は接続相手が .Pa /etc/resolv.conf ファイルのエントリを確認することを要求します。 もし接続相手が当方の要求に否定応答をした場合 (新しい IP アドレスを 提案したら)、 .Pa /etc/resolv.conf ファイルは更新され、新しいエントリを確認するように要求を送ります。 .Pp .Dq accept にすることにより、 .Nm は接続相手からの DNS 検索要求を拒否せずに、返答します。 .Dq set dns コマンドの使用によって上書きされていない場合には、応答は .Pa /etc/resolv.conf から採られます。 .It lqr デフォルト: disable かつ accept。 このオプションはリンク品質要求 (Link Quality Request) を送信する、 もしくは受け入れるかどうかを決定します。 LQR は、モデムのキャリア検出を使用せずに、リンクダウンを .Nm に決定させるプロトコルです。 LQR が enable になっていると、 .Nm は LCP 要求の一部として .Em QUALPROTO オプション (後述の .Dq set lqrperiod を参照) を送ります。 接続相手が同意した場合、両端は同意した間隔で LQR パケットを交換し、 LQM ロギングを有効にすることで、詳細なリンク品質を監視することが 可能になります。 接続相手が同意しなかった場合、ppp は代りに ECHO LQR 要求を 送ります。これらのパケットは興味ある情報を何も渡しませんが、 .Em 必ず 接続相手に応答しなければなりません。 .Pp LQR, ECHO LQR のいずれを用いるにせよ、 .Nm は 5 つのパケットを送ったが確認応答が無い場合、6 つ目のパケットを送らずに 回線を切断します。 メッセージを .Em PHASE レベルで記録し、回線切断の原因が接続相手にあるものとして、適当な .Dq reconnect 値を使用します。 .It 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 オプションを参照)。 .Pp クライアントとして PAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 PAP はデフォルトで accept されます。 .It pred1 デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に Predictor 1 圧縮を使用するかどうかを決定します。 .It protocomp デフォルト: enable かつ accept。 このオプションは PFC (プロトコルフィールド圧縮) の交渉を行うために使用されます。 この機構により、 プロトコルフィールド数が 2 オクテットから 1 オクテットに減ります。 .It shortseq デフォルト: enable かつ accept。 このオプションは .Nm がマルチリンクモードの交渉時に .Pq 12 ビットの 短いシーケンス番号を要求し、そして受け入れるかどうかを決定します。 これは、当方の MMRU が設定されたときのみ (マルチリンクが有効になっているときのみ) 適用されます。 .It vjcomp デフォルト: enable かつ accept。 このオプションは Van Jacobson ヘッダ圧縮を使用するかどうかを決定します。 .El .Pp 次に示すオプションは、実際には相手と交渉しません。 それゆえ accept および deny は意味を持ちません。 .Bl -tag -width 20 .It idcheck デフォルト: enable。 低レベルな LCP, CCP, IPCP 設定トラフィックを交換するときに、 すべての応答の識別子フィールドはその要求の識別子フィールドと 同一であることが予定されています。デフォルトでは .Nm は予定された識別子フィールドを持たないすべての応答パケットを 捨て、それぞれのログレベルで報告します。もし .Ar idcheck が disable になっている場合、 .Nm は識別子フィールドを無視します。 .It loopback デフォルト: enable。 .Ar loopback が enable の場合、 .Nm は自動的に .Em PPP インタフェースと同じ終点アドレス宛に送出されたパケットを ループバックします。 disable の場合、 .Nm がパケットを送ると、おそらく他の終点からの ICMP リダイレクトとなります。 インタフェースがデフォルト経路であるため、 ループバック経路を必要とすることを避けたい場合、 このオプションを enable にすると便利です。 .It passwdauth デフォルト: disable。 このオプションを enable にすることにより、 PAP 認証コードが呼び出し側を認証する時に、 .Pa /etc/ppp/ppp.secret ファイル中でみつからない場合、パスワードデータベース ( .Xr passwd 5 参照) を使用します。 .Pa /etc/ppp/ppp.secret は常に、最初に調べられます。 .Xr passwd 5 からパスワードを調べ、かつそのクライアントに対して IP アドレスもしくは ラベルを指定したい場合には、 .Pa /etc/ppp/ppp.secret ファイル中のクライアントのパスワードとして .Dq \&* を用いてください。 .It proxy デフォルト: disable。 このオプションを enable にすることにより、 .Nm に相手のために代理 ARP をさせます。 .It proxyall デフォルト: disable。 このオプションを enable にすることにより、 .Nm に代理 ARP エントリを追加させます。 追加されるエントリは、 tun インタフェースによってルーティングされる すべてのクラス C もしくはそれ以下のサブネットの中の、全 IP アドレスです。 .It sroutes デフォルト: enable。 .Dq add コマンドが .Dv HISADDR もしくは .Dv MYADDR という値とともに用いられると、エントリは .Sq スティック経路 リストに格納されます。 .Dv HISADDR もしくは .Dv MYADDR が変更される度に、このリストが経路表に適用されます。 .Pp このオプションを disable にすると、 スティッキー経路が適用されなくなります。 .Sq スティック経路 リストは依然として保守されます。 .It throughput デフォルト: enable。 このオプションを有効にすると、 .Nm はスループット統計を収集します。 ずれ動く 5 秒間のウィンドウにおいて入出力が検査され、 現在、最良時、総計の数値が保持されます。 このデータは関連する .Em PPP 層が終了するときに出力され、また .Dq show コマンドで表示することで得られます。スループット統計は .Dq IPCP と .Dq modem のレベルで利用可能です。 .It utmp デフォルト: enable。 通常ユーザが PAP もしくは CHAP で認証された時で、 .Nm が .Fl direct モードで実行されている時は、このユーザのエントリが utmp ファイルおよび wtmp ファイルに作成されます。 このオプションを disable にすると、 .Nm は utmp および wtmp のエントリを作成しません。 通常、 ユーザがログインしかつ認証することを要求する場合のみ必要です。 .It iface-alias デフォルト: .Fl alias が指定された場合 enable。 このオプションは、 インタフェースのアドレスを交換するのではなく、 インタフェースに新規アドレスを追加するように、 .Nm に指示します。 IP エイリアシングが有効な場合のみ .Pq Dq alias enable yes 、本オプションを enable にできます。 .Pp 本オプションを enable にすると、 .Nm は古いインタフェースアドレスのトラフィックを IP エイリアスエンジン .Pq Xr libalias 5 参照 を通すようになり、( .Fl auto モードでは) 最初に PPP リンクを立ち上げたプロセスが正しく接続できるようにします。 .Pp .Dq alias enable off として IP エイリアシングを disable すると、 .Sq iface-alias も disable します。 .El .Pp .It add[!] Ar dest[/nn] [mask] gateway .Ar dest は宛先 IP アドレスです。 ネットマスクは .Ar /nn によってビット数で指定するか、もしくは .Ar mask を用いて IP 番号で指定します。 .Ar 0 0 ならびにマスクなしの .Ar 0 はデフォルト経路を意味します。 .Ar 0 の代りにシンボル名 .Ar default を使うことが可能です。 .Ar gateway は、 .Ar dest マシン/ネットワークに至る、次のホップのゲートウェイです。 詳細は .Xr route 8 コマンドを参照してください。 .Pp 宛先にシンボル名 .Sq MYADDR と .Sq HISADDR を使用可能であり、 .Ar gateway には .Sq HISADDR を使用可能です。 .Sq MYADDR はインタフェースアドレスに置き換えられ、 .Sq HISADDR はインタフェースの宛先 (相手の) アドレスに置き換えられます。 .Pp .Ar add! コマンド .Po .Dq \&! に注意 .Pc 使用時には、経路が存在する場合には .Sq route change コマンド (詳細は .Xr route 8 参照) にて経路を更新します。 .Pp .Dq HISADDR もしくは .Dq MYADDR を含む経路は .Sq スティッキー と見なされます。これらはリスト (リストを見るには .Dq show ipcp コマンドを使用します) に格納され、 .Dv HISADDR もしくは .Dv MYADDR の値が変更される度に、経路表の関連するエントリが更新されます。 この機能は .Dq disable sroutes を使用することで無効にできます。 .It allow Ar command Op Ar args このコマンドは .Nm と設定ファイルへのアクセスを制御します。 ユーザレベルでのアクセスは可能であり、 設定ファイルのラベルと .Nm の実行モードに依存します。 例えば、ユーザ .Sq fred のみがラベル .Sq fredlabel に .Fl background モードでアクセスできるように、 .Nm を構成したいかもしれません。 .Pp ユーザ ID 0 はこれらのコマンドの対象外です。 .Bl -tag -width XX .It allow user[s] Ar logname... デフォルトでは、ユーザ ID 0 のみが .Nm へのアクセスを許されています。 このコマンドが指定されると、 .Dq allow users が記載されているセクションに列挙されているユーザのアクセスが可能となります。 .Sq default セクションは 常に最初にチェックされます (スタートアップ時に常にロードされる唯一の セクションです)。後続する .Dq allow users コマンドは、先行するコマンドに優先します。 あるラベル以外のすべてにアクセスを許すことが可能であり、 そのためにはデフォルトユーザを .Sq default セクションで指定し、新しいユーザリストをこのあるラベルに指定します。 .Pp ユーザ .Sq * が指定されると、全ユーザにアクセスが許されます。 .It allow mode[s] Ar modelist... デフォルトでは全 .Nm モードが使用可能です。 このコマンドが使用されると、 このコマンドが指定されたラベルのロードに許されるアクセスモードが制限されます。 .Dq allow users コマンドと同様、 各 .Dq allow modes コマンドは先行するコマンドに優先し、 .Sq default セクションは常に最初にチェックされます。 .Pp 使用可能なモードは次の通りです: .Sq interactive , .Sq auto , .Sq direct , .Sq dedicated , .Sq ddial , .Sq background , .Sq * 。 .Pp マルチリンクモードで動作するときには、 現在存在する回線モードを許可するセクションをロード可能です。 .El .Pp .It alias Ar command Op Ar args このコマンドは .Nm 組込みのエイリアシング (マスカレーディング) 機能を 制御するために使用します。 あなたのシステムでエイリアシングが有効になると (コンパイル時に削除できます)、 次のコマンドが使用可能となります: .Bl -tag -width XX .It alias enable [yes|no] エイリアシングを有効もしくは無効にします。 .Fl alias コマンドラインフラグは .Dq alias enable yes と同じ意味です。 .It alias port Op Ar proto targetIP:targetPORT [aliasIP:]aliasPORT このコマンドにより、 マシン .Ar aliasIP の .Ar aliasPORT へ到着する接続を、 .Ar targetIP の .Ar targetPORT へリダイレクトします。 .Ar proto は .Sq tcp もしくは .Sq udp のいずれかで、指定したプロトコルの接続のみマッチします。 あなたのゲートウェイの後のマシンでインターネット電話等を実行したい場合に、 このオプションは有用です。 .It alias addr Op Ar addr_local addr_alias このコマンドにより、 .Ar addr_alias へのデータを .Ar addr_local へリダイレクトします。 少数の実 IP アドレスを持っていて、これらをあなたのゲートウェイの後の 特定のマシンにマップしたい場合に有用です。 .It alias deny_incoming [yes|no] yes に設定した場合、ファイアウォールがパケットを落すのと同様に、 すべての入力の接続を拒否します。 .It alias help|? このコマンドにより、 使用可能なエイリアスコマンドのまとめを表示します。 .It alias log [yes|no] このオプションを指定することにより、 種々のエイリアシングの統計と情報を、ファイル .Pa /var/log/alias.log にログします。 .It alias same_ports [yes|no] 有効になると、 エイリアスライブラリが出力パケットのポート番号を変更しようとすることを 止めさせます。 RPC や LPD といった、 ウェルノウンポート (well known port) からの接続を要求する プロトコルをサポートするのに有用です。 .It alias use_sockets [yes|no] 有効になると、 エイリアスライブラリにソケットを作成させ、 正しい ftp データ入力や IRC 接続を保証できるようになります。 .It alias 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 [!]bg Ar command 指定した .Ar command を、次の語を置換した後に、バックグラウンドで実行します: .Bl -tag -width PEER_ENDDISC .It Li AUTHNAME これは、ローカルの .Ar authname の値と置き換えられます。後述の .Dq set authname コマンドを参照してください。 .It Li ENDDISC これは、ローカルの終点選択値と置き換えられます。 後述の .Dq set enddisc コマンドを参照してください。 .It Li HISADDR これは、相手の IP 番号と置き換えられます。 .It Li INTERFACE これは、使用中のインタフェース名と置き換えられます。 .It Li LABEL これは、最後に使用したラベル名と置き換えられます。 ラベルは、 .Nm のコマンドラインから .Dq load または .Dq dial のコマンドから指定するか、 .Pa ppp.secret ファイルから指定可能です。 .It Li MYADDR これは、ローカルインタフェースに割り当てられた IP 番号と置き換えられます。 .It Li PEER_ENDDISC これは、相手の終点選択番号と置き換えられます。 .It Li PROCESSID これは、現在のプロセス ID と置き換えられます。 .It Li USER これは、PAP もしくは CHAP で認証されたユーザ名と置き換えられます。 通常、この変数は -direct モードでのみ割り当てられます。 この値は、utmp ロギングが有効になっているかどうかに関わらず、利用可能です。 .El .Pp これらの置換は .Dq set proctitle コマンドによっても実行されます。 .Pp コマンド実行中に .Nm を停止させたい場合は、 .Dq shell コマンドを使用してください。 .It clear modem|ipcp Op current|overall|peak... .Dq modem もしくは .Dq ipcp 階層で、指定されたスループット値をクリアします。 .Dq modem を指定する場合にはコンテキストが与えられなければなりません (後述の .Dq link コマンドを参照)。 第 2 引数が与えられない場合、すべての値がクリアされます。 .It clone Ar name[,name]... 指定されたリンクを複製し、引数の .Ar name に関連づけた新しいリンクを作成します。 このコマンドは、リンクが 1 つしかない場合 (この場合にはそのリンクがデフォルトになります) を除いて後述の .Dq link コマンドから使用する必要があります。 リンクは下記の .Dq remove コマンドで削除できます。 .Pp デフォルトのリンク名は .Dq deflink です。 .It close Op lcp|ccp[!] 引数が与えられないと、適切なプロトコル層がダウンし、リンクが閉じられます。 .Dq lcp が指定されると LCP 層がダウンしますが、 .Nm をオフラインにはしません。例えば .Dq slirp のようなものを使用すれば、 .Dq term .Pq 後述 を使用して相手のマシンと会話できます。 .Dq ccp が指定されると適切な圧縮層が閉じられます。 .Dq \&! が使用されると、圧縮層はクローズ状態のままとなります。 使用されない場合には、STOPPED 状態へ再度入り、 相手が更なる CCP 交渉を開始するのを待ちます。 なにが起きようとも、ユーザを .Nm から切り離すことはありませんし、 .Nm を終了させることもありません。 後述の .Dq quit を参照してください。 .It delete[!] Ar dest このコマンドは指定した .Ar dest IP アドレスの経路を削除します。 .Ar dest に .Sq ALL が指定された場合、 現在のインタフェースの経路表の非直接エントリと .Sq スティッキー経路 がすべて削除されます。 .Ar dest に .Sq default が指定された場合、デフォルト経路が削除されます。 .Pp .Ar delete! コマンドが使用された場合 .Po 最後の .Dq \&! に注意 .Pc 、存在しない経路について .Nm は文句を言わなくなります。 .It dial|call Op Ar label 引数なしで使用された場合、このコマンドは .Dq open コマンドと同一です。 .Ar label が 1 つ以上指定された場合、最初に .Dq load が実行されます。 .It down Op Ar lcp|ccp 適切な階層をダウンさせますが、 綺麗な方法ではなく、下位層が使用不能になったように見えます。 オープン状態にある有限状態機械でこのコマンドを使用することは、 丁寧ではないとされています。 引数が与えられない場合、すべてのリンクが閉じられます (コンテキストが与えられない場合にはすべてのリンクが終了されます)。 .Sq lcp が指定された場合、 .Em LCP 層は終了されますが、モデムはオフラインに移行せず、 リンクも閉じられません。 .Sq ccp が指定された場合、 関連する圧縮層のみが終了されます。 .It help|? Op Ar command 利用可能なコマンドをリストします。 .Ar command を指定した場合、このコマンドの使用方法を表示します。 .It iface Ar command Op args このコマンドは、 .Nm ppp が使用するインタフェースを制御します。 .Ar command は次のいずれかです: .Bl -tag -width XX .It iface add[!] Ar addr[[/bits| mask] peer] 指定された .Ar addr mask peer の組み合わせをインタフェースに追加します。 .Ar mask を指定する代りに、 .Ar /bits を使用可能です .Pq addr との間に空白を入れてはなりません 。指定したアドレスが既に存在する場合、 .Dq \&! を使用していない限りコマンドは失敗します - この場合、 以前のインタフェースアドレスエントリは新しいもので置き換えられ、 ネットマスクと相手のアドレスの変更を許します。 .Pp .Ar addr のみが指定されると、 .Ar bits はデフォルト値 .Dq 32 になり、 .Ar peer はデフォルト値 .Dq 255.255.255.255 になります。 このアドレス (ブロードキャストアドレス) は、 相手のアドレスとして複数存在することを .Nm が唯一許すものです。 .It iface clear .Nm が OPENED 状態または .Fl auto モードの場合にこのコマンドを使用すると、 IPCP 交渉されたアドレス以外の全アドレスがインタフェースから削除されます。 .Nm が OPENED 状態でも .Fl auto モードでもない場合、全インタフェースアドレスが削除されます。 .Pp .It iface delete[!]|rm[!] Ar addr このコマンドは、指定した .Ar addr をインタフェースから削除します。 .Dq \&! が指定されると、現在そのアドレスがインタフェースに割り当てられていなくても、 エラーは報告されません (削除も行われません)。 .It iface show インタフェースの現在の状態と現在のアドレスを表示します。 .Dq ifconfig INTERFACE を実行することと、ほとんど同じです。 .It iface help Op Ar sub-command このコマンドを .Ar sub-command 無しで起動すると、利用可能な .Dq iface サブコマンドと、おのおのの短い書式を表示します。 .Ar sub-command 付きで起動すると、指定した sub-command の書式のみを表示します。 .El .It [data]link Ar name[,name...] command Op Ar args コマンドが影響を与えるリンクを特定したい場合に、このコマンドを 任意の他のコマンドのプレフィックスとして使うことができます。 これはマルチリンクモードで .Dq clone コマンドを使って複数のリンクを作成した後でのみ適用されます。 .Pp .Ar name は存在するリンク名を指定します。 .Ar name がコンマ区切りのリストの場合には、 .Ar command はそれぞれのリンクに対して実行されます。 .Ar name が .Dq * の場合には、 .Ar command はすべてのリンクに対して実行されます。 .It load Op Ar label ... .Pa ppp.conf ファイルから指定された .Dq label (複数指定可) をロードします。 .Dq label が指定されない場合、 .Dq default ラベルが仮定されます。 .It open Op lcp|ccp|ipcp これは .Dq close の反対のコマンドです。 .Dq open コマンドを引数なしで用いることは .Dq dial を引数なしで用いることと同一です。 すなわちすべての閉じられたリンクが、現在の設定を用いて起動されます ( .Dq set autoload コマンドに基づいた自動リンクの中には起動されないものもあります)。 .Pp LCP 層がすでにオープンされているときに .Dq lcp を指定すると、LCP は再度交渉されます。 したがって、種々の LCP オプションを変更したあとで .Dq open lcp コマンドを用いることで、変更を有効にすることができます。 LCP が再度交渉された後、 同意したあらゆる認証が実行されます。 .Pp .Dq ccp 引数が用いられると、関連する圧縮層がオープンされます。 すでにオープンされている場合には、再度交渉されます。 .Pp .Dq ipcp 引数が用いられると、リンクが通常通り起動されます。すでに IPCP が オープンされている場合には、IPCP は再度交渉され、 ネットワークインタフェースが再設定されます。 .Pp このようにして PPP の状態機械を再オープンするのは、 おそらく良い手段ではありません。 接続相手が正しく振る舞わない可能性があるためです。 しかしながら、強制的に CCP もしくは VJ 辞書をリセットする手段としては 便利です。 .It passwd Ar pass すべての .Nm コマンドセットにアクセスするために要求されるパスワードを指定します。 このパスワードは診断ポート ( .Dq set server コマンド参照) に接続するときに必要です。 .Ar pass は .Dq set server コマンドラインで指定します。 .Ar command ログが有効でも、値 .Ar pass はログされず、文字列 .Sq ******** がログされます。 .It quit|bye [all] .Dq quit が制御接続もしくはコマンドファイルから実行されると、 ppp はすべての接続を閉じた後に終了します。その他の場合、 つまりユーザが診断ソケットから接続している場合には、 単にその接続が失われます。 .Pp .Ar all 引数が与えられた場合、 .Nm はコマンドがどこから発行されたかに関わらず、 すべての存在する接続を閉じて終了します。 .It remove|rm このコマンドは与えられたリンクを消去します。 これはマルチリンクモードでのみ有用です。リンクは消去する前に .Dv CLOSED 状態になっていなければなりません。 .It rename|mv Ar name このコマンドは与えられたリンクの名前を .Ar name に変更します。 .Ar name がすでに他のリンクで使用されている場合には、失敗します。 .Pp デフォルトリンクの名前は .Sq deflink です。これを .Sq modem , .Sq cuaa0 , .Sq USR のいずれかに変更すると、ログファイルの可読性が向上するかも知れません。 .It save このオプションは (まだ) 実装されていません。 .It set[up] Ar var value このオプションは次に示す変数の設定のために使用します: .Bl -tag -width XX .It set accmap Ar hex-value ACCMap は非同期制御文字マップ (Asyncronous Control Character Map) を 意味します。 これはいつも相手と交渉され、デフォルト値は 16 進数で 00000000 です。 このプロトコルが必要なのは、 (XON/XOFF などの) 特定の文字を終点間で受渡すことに依存するハードウェアを 使用する場合です。 .Pp XON/XOFF については .Dq set accmap 000a0000 を使用します。 .It set authkey|key Ar value クライアントモードでの PAP または CHAP の交渉で使用される 認証キー (もしくはパスワード) を、指定した値に設定します。 ダイヤルもしくはログインスクリプトの '\\P' シーケンス で使用されるパスワードを指定しますが、 実際のパスワードがログされることを防ぎます。 .Ar command ログが有効な場合、セキュリティの観点から、 .Ar value は .Sq ******** としてログされます。 .It set authname Ar id クライアントモードでの PAP または CHAP の交渉で使用される 認証 ID を設定します。 .Pp PAP もしくは CHAP を enable にして .Fl direct モードで利用すると、 .Ar id は初期認証要求で用いられ、通常はローカルマシン名に設定されます。 .It set autoload Ar max-duration max-load [min-duration min-load] これらの設定はマルチリンクモードでのみ適用され、 デフォルト値はすべて 0 です。 1 つ以上の .Ar demand-dial .Po .Fl auto としても知られる .Pc モードのリンクが存在する場合、 .Nm が最初に tun デバイスからデータを読むときには最初のリンクのみが 有効になっています。 次の .Ar demand-dial リンクは、 .Ar max-duration 秒の間、送出キューに .Ar max-load 以上のパケットが存在した場合にのみ開かれます。 両方のデフォルト値が 0 であるため、 .Ar demand-dial リンクはデフォルトでは 1 つだけオープンされます。 .Pp 複数のリンクが開かれていて、少なくともその内の 1 つが .Ar demand-dial リンクである場合、 .Ar min-duration 秒の間、送出キューに最大 .Ar min-packets 未満のパケットしか存在しなかったときに閉じられます。 .Ar min-duration が 0 の場合には、タイマは無効になります。 デフォルトでは両方の値が 0 であるため、 .Ar demand-dial リンクはバンドルされたアイドルタイマが期限切れになるまで アクティブであり続けます。 .It set callback [none|auth|cbcp|E.164 *|number[,number]...]... 引数が与えられない場合、コールバックは disable になります。 そうでない場合には、 .Nm は与えられたプロトコルでコールバックを要求します (もしくは .Ar direct モードでは受け付けます)。 クライアントモードで、要求の否定応答が返されると、 .Nm は他に選択肢がなくなるまで別の要求を出します。 選択肢が尽きると .Nm は交渉を終了します。 サーバモードでは、 .Nm は与えられるプロトコルをなんでも受け付けますが、 クライアントがいずれかひとつを要求する .Em 必要があります 。コールバックをオプションにしたいのであれば、オプションとして .Ar none を指定する必要があります。 .Pp オプションは下記の通りです (優先度順): .Pp .Bl -tag .It auth コールバック応答側は、認証に基づいてコールバック番号を 決定することが求められます。 .Nm がコールバック応答側である場合、番号は .Pa /etc/ppp/ppp.secret 中の接続先エントリの 5 番目のフィールドで指定されます。 .It cbcp Microsoft コールバック制御プロトコルが用いられます。後述の .Dq set cbcp を参照してください。 .It E.164 *|number[,number]... コールバック要求側が .Ar number を指定します。 .Nm がコールバック応答側である場合、 .Ar number は許可する番号をコンマで区切って並べたリスト、もしくは 任意の番号を許可するという意味の .Dq \&* とします。 .Nm がコールバック要求側である場合、1 つの数字だけを指定します。 .Pp .Dq \&* を用いる場合、このオプションはとても危険なものとなることに 注意してください。 というのは、悪意あるコールバック要求者が、最初の認証なしに 電話すべき番号として任意の (国際通話番号も可能です) 番号を 伝えることができるからです。 .It none 接続相手がコールバックをまったく望まない場合、 .Nm はそのことを受け入れ、接続を終了するのではなく コールバックせずに処理を続けます。 コールバックをオプションにしたいのであれば、これを指定する必要があります。 .El .Pp .It set cbcp Op *|number[,number]... Op delay Op retry 引数が与えられない場合、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 choked Op Ar timeout これは .Nm がすべての未送出パケットを破棄する前に 送出キュー詰まりを保持する秒数を設定します。 .Ar timeout が 0 以下もしくは .Ar timeout が指定されない場合、デフォルト値の .Em 120 秒 に設定されます。 .Pp 送出キュー詰まりは .Nm がローカルネットワークから特定の数の送出パケットを読み込んだが、 リンク失敗 (接続相手がビジーなど) のためにデータを送れない場合に 発生します。 .Nm はパケットを無限には読み込みません。代りに .Em 20 パケット (マルチリンクモードでは .Em 20 No + .Em nlinks No * .Em 2 パケット) まで読み込み、 .Ar timeout 秒経過するか、1 つ以上のパケットが送られるまで ネットワークインタフェースの読み込みを停止します。 .Pp .Ar timeout 秒が経過すると、すべての未送出パケットは破棄されます。 .It set ctsrts|crtscts on|off ハードウェアフロー制御をセットします。 デフォルトではハードウェアフロー制御は .Ar on です。 .It set deflate Ar out-winsize Op Ar in-winsize DEFLATE アルゴリズムの、 デフォルトの出力ウィンドウサイズと入力ウィンドウサイズを設定します。 .Ar out-winsize および .Ar in-winsize は、 .Em 8 から .Em 15 までの値をとる必要があります。 .Ar in-winsize が指定されると、 .Nm はこのウィンドウサイズの使用を強要し、相手が他の値を示しても受け入れません。 .It set dns Op Ar primary Op Ar secondary .Dq accept dns コマンドで使用される、DNS 上書きを設定します。 詳細については前述の .Dq accept コマンドの記述を参照してください。本コマンドは .Dq enable dns を使用して要求される IP 番号には影響を与えません。 .It set device|line Ar value[,value...] .Nm が使用するデバイスを、指定された .Dq value に設定します。 全シリアルデバイス名は .Pa /dev/ から始まることが仮定されています。 .Dq value が .Pa /dev/ から始まらない場合、エクスクラメーションマーク .Pq Dq \&! から始めるか、 .Dq host:port の形式である必要があります。 .Pp エクスクラメーションマークで始まる場合、 デバイス名の残りはプログラム名として扱われ、 そのデバイスがオープンされるときにそのプログラムが実行されます。 標準入出力およびエラーは .Nm にフィードバックされ、それらが通常デバイスであるかのように読み書きされます。 .Pp .Dq host:port の組が与えられる場合、 .Nm は、指定された .Dq host の指定された .Dq port と接続しようとします。 詳細は上述の .Em PPP オーバ TCP の節を参照してください。 .Pp 複数の .Dq value を指定した場合、 .Nm は成功するか全デバイスについて実行し終るまで、順番にオープンを試みます。 .It set dial Ar chat-script 相手へダイヤルする際に使用されるチャットスクリプトを指定します。 後述の .Dq set login コマンドも参照してください。 チャットスクリプトのフォーマットの詳細については、 .Xr chat 8 と設定ファイルの例を参照してください。 次の特殊な .Sq value をチャットスクリプトに指定可能です: .Bd -unfilled -offset indent .It \\\\\\\\\\\\\\\\c .Sq 送信 文字列の最後の文字として使用した場合、 改行を追加してはならないことを意味します。 .It \\\\\\\\\\\\\\\\d チャットスクリプトがこのシーケンスに出会うと、2 秒待ちます。 .It \\\\\\\\\\\\\\\\p チャットスクリプトがこのシーケンスに出会うと、1/4 秒待ちます。 .It \\\\\\\\\\\\\\\\n 改行文字と置き換えられます。 .It \\\\\\\\\\\\\\\\r 復改文字と置き換えられます。 .It \\\\\\\\\\\\\\\\s 空白文字と置き換えられます。 .It \\\\\\\\\\\\\\\\t タブ文字と置き換えられます。 .It \\\\\\\\\\\\\\\\T 現在の電話番号と置き換えられます (後述の .Dq set phone 参照)。 .It \\\\\\\\\\\\\\\\P 現在の .Ar authkey 値と置き換えられます (前述の .Dq set authkey 参照)。 .It \\\\\\\\\\\\\\\\U 現在の .Ar authname 値と置き換えられます (前述の .Dq set authname 参照)。 .Ed .Pp 2 つのパーザがこれらのエスケープシーケンスを検査することに注意してください。 .Sq チャットのパーザ にエスケープ文字を見せるには、 .Sq コマンドパーザ からエスケープする必要があります。 つまり、2 つのエスケープを使用する必要があります。例えば次のようにします: .Bd -literal -offset indent set dial "... ATDT\\\\T CONNECT" .Ed .Pp チャットスクリプトから外部コマンドを実行することもできます。 そうするためには、 受信待ち文字列または送信文字列の最初の文字をエクスクラメーションマーク .Pq Dq \&! にします。 コマンドが実行されると、標準入力と標準出力がモデムデバイス ( .Dq set device 参照) に向けられ、標準エラー出力が .Nm に読まれて受信待ち文字列もしくは送信文字列に置き換えられます。 .Nm が対話モードで実行されている場合、ファイルデスクリプタ 3 は .Pa /dev/tty に接続されます。 .Pp 例えば (読み易さのために折り返しています); .Bd -literal -offset indent set login "TIMEOUT 5 \\"\\" \\"\\" login:--login: ppp \e word: ppp \\"!sh \\\\\\\\-c \\\\\\"echo \\\\\\\\-n label: >&2\\\\\\"\\" \e \\"!/bin/echo in\\" HELLO" .Ed .Pp は次のチャットシーケンスになります (ダイヤル前の .Sq set log local chat コマンドによる出力): .Bd -literal -offset indent Dial attempt 1 of 1 dial OK! Chat: Expecting: Chat: Sending: Chat: Expecting: login:--login: Chat: Wait for (5): login: Chat: Sending: ppp Chat: Expecting: word: Chat: Wait for (5): word: Chat: Sending: ppp Chat: Expecting: !sh \\-c "echo \\-n label: >&2" Chat: Exec: sh -c "echo -n label: >&2" Chat: Wait for (5): !sh \\-c "echo \\-n label: >&2" --> label: Chat: Exec: /bin/echo in Chat: Sending: Chat: Expecting: HELLO Chat: Wait for (5): HELLO login OK! .Ed .Pp 複数レベルのネストについて、 エスケープ文字の使用方法に (再度) 注意してください。 ここでは、4 つのパーザが動作してます。 1 番目は、オリジナルの行をパーズし、3 つの引数として読みます。 2 番目は、第 3 引数を 11 個の引数として読みます。 ここで、 .Dq \&- 記号がエスケープされていることが重要です。 そうでなければパーザは、 受信待ち-送信-受信待ちのシーケンスとして見てしまいます。 .Dq \&! 文字を見付けると、実行パーザは最初のコマンドを 3 つの引数として読み、 .Xr sh 1 自身が .Fl c 以降の引数を展開します。 我々は出力をモデムに送り返したいので、 1 番目の例では出力をファイルデスクリプタ 2 (stderr) にリダイレクトして .Nm 自身に送信およびログさせ、 2 番目の例では単に stdout に出力して直接モデムに出力させます。 .Pp もちろん全体を、組み込みのものではなく外部の .Dq chat コマンドに実行させることが可能です。 良い代替方法については .Xr chat 8 を参照してください。 .It set enddisc Op label|IP|MAC|magic|psn value このコマンドは、ローカル終点の選択値を設定します。 LCP 交渉の前に設定されると、 .Nm は LCP 終点選択値オプションを使用して、相手に情報を送ります。 次の選択値を設定可能です。 .Bd -unfilled -offset indent .It Li label 現在のラベルが使用されます。 .It Li IP 当方のローカル IP 番号を使用します。 LCP は IPCP より前に交渉されますので、 IPCP 層が後からこの値を変更することが可能です。 その場合、手動でリセットしない限り、終点の選択値は古い値のままとなります。 .It Li MAC 前述の .Ar IP オプションに似ていますが、 ローカル IP 番号に関係する MAC アドレスが使用される点が異なります。 ローカル IP 番号がどのイーサネットインタフェースにも存在しない場合、 本コマンドは失敗します。 .Pp ローカル IP 番号のデフォルトは、 マシンンホスト名がなんであれ、その名前になりますので、通常 .Dq set enddisc mac を .Dq set ifaddr コマンドよりも先に実行します。 .It Li magic 20 桁の乱数が使用されます。 .It Li psn Ar value 指定された .Ar value が使用されます。 .Ar value は、絶対的な公衆スイッチネットワーク番号の先頭に 国コードを付けたものであるべきです。 .Ed .Pp 引数が与えられない場合、終点の選択値はリセットされます。 .It set escape Ar value... このオプションは前述の .Dq set accmap オプションに似ています。 リンクを経由する時に「エスケープ」される文字を指定するために使用します。 .It set filter dial|alive|in|out rule-no permit|deny Ar "[src_addr/width] [dst_addr/width] [proto [src [lt|eq|gt port]] [dst [lt|eq|gt port]] [estab] [syn] [finrst]]" .Nm は 4 つのフィルタセットをサポートします。 .Em alive フィルタは接続を活性状態に保つパケットを指定します - アイドルタイマをリセットします。 .Em dial フィルタは、 .Fl auto モード時に .Nm にダイヤルさせるパケットを指定します。 .Em in フィルタは、マシンに入力可能なパケットを指定します。 .Em out フィルタは、マシンから出力可能なパケットを指定します。 .Pp フィルタリングは、 エイリアスエンジンが行う IP 変更の前に適用されます。 デフォルトでは、全フィルタセットが全パケットの通過を許可します。 ルールは .Ar rule-no に従って順番に処理されます。 -各セットに対し 20 までのルールを指定可能です。 +各セットに対し 40 までのルールを指定可能です。 指定されるセットにおけるどのルールにもマッチしないパケットは破棄されます。 .Em in と .Em out のフィルタでは、パケットをドロップすることを意味します。 .Em alive フィルタでは、アイドルタイマをリセットしないことを意味します。 .Em dial フィルタではダイアルさせることにはならないことを意味します。 ダイヤルを引き起こさないパケットは、 キューされるのではなく、捨てられることに注意してください。 上述のパケットのフィルタリングの節を参照してください。 .It set hangup Ar chat-script モデムを閉じる前にこれをリセットする時に使用する、 チャットスクリプトを指定します。 通常は不要であるべきですが、 閉じる時に自己を正しくリセットできないデバイスに対して使用できます。 .It set help|? Op Ar command 利用可能な set コマンドのまとめを表示するか、 .Ar command が指定されると、コマンドの使用方法を表示します。 .It set ifaddr Ar [myaddr [hisaddr [netmask [triggeraddr]]]] このコマンドは、IPCP 交渉の間使用される IP アドレスを指定します。 アドレスのフォーマットは次の通りです。 .Pp .Dl a.b.c.d/n .Pp ここで .Ar a.b.c.d は希望する IP アドレスであり、 .Ar n はこのうち何ビットが有効であるかを示します。 .Ar /n が省略された場合、デフォルトの .Ar /32 になります。 ただし IP アドレスが 0.0.0.0 である場合には、マスクのデフォルトは .Ar /0 です。 .Pp .Ar hisaddr に IP 番号の範囲として .Pp .Dl a.b.c.d[-d.e.f.g][,h.i.j.k[-l,m,n,o]]... .Pp のフォーマットを指定できます。例えば: .Pp .Dl set ifaddr 10.0.0.1 10.0.1.2-10.0.1.10,10.0.1.20 .Pp は .Ar 10.0.0.1 のみをローカル IP 番号として交渉しますが、指定された 10 個の IP 番号から 相手に割り当てを行います。 相手がこれらの番号のうちの 1 つを要求し、この番号が未使用な場合には、 .Nm は相手の要求を認めます。 相手がリンクを再確立して前回割り当てていた IP 番号を使用したい場合に有用です (既存の TCP 接続を保存します)。 .Pp 相手が要求した IP 番号が範囲外もしくは使用中の場合、 .Nm は範囲内の未使用 IP 番号をランダムに指示します。 .Pp .Ar triggeraddr が指定された場合、この値が .Ar myaddr の代りに IPCP 交渉で使用されます。 ただし、 .Ar myaddr の範囲のアドレスのみ受け入れられます。 これが有用なのは、相手が .Ar 0.0.0.0 を要求しない限り IP アドレスを割り当てようとしない .Dv PPP 実装と交渉するときです。 .Pp .Fl auto モードでは設定ファイルの .Dq set ifaddr 行を読んだ直後に .Nm がインタフェースを構成することに注意してください。 他のモードではこれらの値は IPCP 交渉で使用され、 IPCP 層がアップするまでこれらのインタフェースは構成されません。 .Pp .Po PAP か CHAP が .Dq enable である場合 .Pc クライアントが自己証明をした後では、 .Ar HISADDR 引数は .Pa ppp.secret ファイルの第 3 引数で上書きされうることに注意してください。 .Em 内向き接続の認証 の節を参照してください。 .Pp どの場合でも、インタフェースが既に構成されている場合には、 .Nm はインタフェースの IP 番号を保存して、 既にバインドされているソケットが正しいままであるようにします。 .It set ccpretry Ar period .It set chapretry Ar period .It set ipcpretry Ar period .It set lcpretry Ar period .It set papretry Ar period これらのコマンドは .Nm が有限状態機械 (Finite State Machine; FSM) に要求パケットを送る前に 待つ秒数を指定します。 .Ar period のデフォルトは、全 FSM において 3 秒です (ほとんどの場合十分です)。 .It set log [local] [+|-] Ns Ar value... このコマンドにより現在のログレベルを修正できます。 詳細はログ機能の節を参照してください。 .It set login chat-script この .Ar chat-script はダイヤルスクリプトを補います。 もし両方が指定された場合、ダイヤルスクリプトの後で、 ログインスクリプトが実行されます。 ダイヤルスクリプト中で使用可能なエスケープシーケンスはここでも使用可能です。 .It set lqrperiod Ar frequency このコマンドは、 .Em LQR または .Em ECHO LQR のパケットが送信される頻度 .Ar frequency を秒で指定します。デフォルトは 30 秒です。 相手に LQR 要求を送りたい場合には、 .Dq enable lqr コマンドもまた使用する必要があります。 .It set mode Ar interactive|auto|ddial|background 指定したリンクにおけるモード .Sq mode を変更できます。通常マルチリンクモードでのみ有用ですが、 単一リンクモードでも使用可能です。 .Pp .Sq direct または .Sq dedicated のリンクを変更することはできません。 .Pp 注釈: コマンド .Dq set mode auto を発行し、IP エイリアシングが enable にされていた場合、後で .Dq enable iface-alias を行うと便利です。 .Nm が必要なアドレス変換を行うようにすることにより、 相手が当方に新しい (動的な) IP アドレスを割り当てたとしても、 リンクがアップすると接続のトリガとなるプロセスが接続できるようにします。 .It set mrru Op Ar value このオプションを設定すると、 マルチリンクプロトコルまたは MP としても知られる、 マルチリンク PPP 交渉を有効にします。 MRRU (Maximum Reconstructed Receive Unit) の値にはデフォルトはありません。 引数を指定しないと、マルチリンクモードは無効にされます。 .It set mru Op Ar value デフォルトの MRU (最大受信単位; Maximum Receive Unit) は 1500 です。 この値を増加させた場合、相手は MTU を増加させても *かまいません*。 デフォルトの MRU より減らすことは意味がありません。 なぜなら、 .Em PPP プロトコルでは少なくとも 1500 オクテットのパケットを 受信できなければ *ならない* からです。 引数が指定されないと、1500 が仮定されます。 .It set mtu Op Ar value デフォルトの MTU は 1500 です。 交渉時に、(296 バイト未満でなければ) 相手が望むいかなる MRU および MRRU も受け付け可能です。 MTU が設定されると、 .Nm は .Ar value よりも小さい MRU/MRRU の値を受け付けなくなります。 交渉が完了すると、相手がより大きな MRU/MRRU を要求していたとしても、 インタフェースに対して MTU が割り当てられます。 当方のパケットサイズを制限するのに有用です (よりよくバンド幅を共有できるようになりますが、 ヘッダデータが増えるというコストがかかります)。 .Pp .Ar value を指定しないと、1500 または相手が要求した値が使用されます。 .It set nbns Op Ar x.x.x.x Op Ar y.y.y.y このオプションは、相手の要求によって返される Microsoft NetBIOS ネームサーバの値を設定します。 値を指定しないと、 .Nm はそのような要求を拒否するようになります。 .It set openmode active|passive Op Ar delay デフォルトでは、 .Ar openmode は常に、1 秒の .Ar delay をもって .Ar active となります。 この場合、 .Nm は回線が設定されてから 1 秒が経過したなら いつでも LCP/IPCP/CCP の交渉を開始します。 相手が交渉を開始するのを待ちたい場合は、値 .Dq passive を使用します。 直ちにもしくは 1 秒以上待ってから交渉を開始したい場合、 .Ar delay を秒単位で指定します。 .It set parity odd|even|none|mark 回線のパリティを設定できます。デフォルト値は .Ar none です。 .It set phone Ar telno[|telno]...[:telno[|telno]...]... ダイヤルおよびログインのチャットスクリプトで使用される \\\\T 文字列が 置き換えられる電話番号を指定できます。 複数の電話番号をパイプ (|) もしくはコロン (:) で区切って指定可能です。 パイプの後の番号がダイヤルされるのは、 直前の番号へのダイヤルもしくはログインのスクリプトが失敗した場合のみです。 回線の切断の理由にかかわらず、 コロンで区切られた番号は順番に試行されます。 複数の番号を指定した場合、接続が確立するまで .Nm はこのルールに基づいてダイヤルします。 再試行の最大値は、後述の .Dq set redial で指定します。 .Fl background モードでは各番号は最大 1 回試行されます。 .It set [proc]title Op Ar value .Xr ps 1 が表示する現在のプロセスタイトルを、 .Ar value に従って変更します。 .Ar value が指定されないと、元のプロセスタイトルが回復されます。 シェルコマンドが行うすべての語置換 (前述の .Dq bg コマンドを参照してください) は、ここでも行われます。 +.Pp +プロセスタイトル中に USER が必要な場合、 +.Dq set proctitle +コマンドは +.Pa ppp.linkup +中に登場する必要があることに注意してください。 +.Pa ppp.conf +が実行されているときには、分からないからです。 .It set reconnect Ar timeout ntries (CD の喪失もしくは LQR の失敗により) 予想外の回線切断となった場合、 指定した .Ar timeout の後に接続が再確立されます。 回線は最大 .Ar ntries 回、再接続されます。 .Ar ntries のデフォルトは 0 です。 .Ar timeout に .Ar random を指定すると、0 から 30 秒の間の任意時間の停止となります。 .It set recvpipe Op Ar value ルーティングテーブルの RECVPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It set redial Ar seconds[.nseconds] [attempts] .Nm に .Ar attempts 回のリダイヤルを指示できます。 1 より大きな数を指定した場合 (前述の .Ar set phone 参照)、 各番号にダイヤルする前に、 .Ar nseconds だけ停止します。 最初の番号に戻ってダイヤル開始する前に .Ar seconds だけ停止します。 .Dq random を .Ar seconds および .Ar nseconds のところで使用でき、0 から 30 秒の間の任意時間の停止となります。 .Pp .Ar attempts が経過した後でもこの遅延は効果があるので、 すぐに手動でダイヤルしても何も起ってないように見えるかもしれません。 すぐにダイヤルする必要がある場合、 .Dq \&! を .Dq open キーワードの直後に付けます。 更なる詳細については、前述の .Dq open の記述を参照してください。 .It set sendpipe Op Ar value ルーティングテーブルの SENDPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It set server|socket Ar TcpPort|LocalName|none password Op Ar mask このコマンドは .Nm に指定したソケットもしくは .Sq 診断ポート にてコマンド接続の入力を listen するように指示します。 .Pp 語 .Ar none は .Nm に既に存在するソケットを閉じさせます。 .Pp ローカルドメインソケットを指定したい場合、 .Ar LocalName に絶対ファイル名を指定します。そうしないと、TCP ポートの名前もしくは番号 であると解釈されます。 ローカルドメインソケットに使用される 8 進 umask を指定可能です。 .Sq 0 から始まる 4 桁 8 進数で指定します。 umask の詳細については .Xr umask 2 を参照してください。TCP ポート名がどのように変換されるかについては .Xr services 5 を参照してください。 .Pp このソケットにクライアントが接続するときに使用されねばならないパスワードも 指定可能です ( 前述の .Dq passwd コマンドを使用します)。 パスワードが空文字列として指定される場合、 クライアントが接続するときにパスワードを必要とされません。 .Pp ローカルドメインソケットが指定される場合、ソケット名中の最初の .Dq %d シーケンスは現在のインタフェースユニット番号で置換されます。 複数接続のために同一のプロファイルを使用したい場合に便利です。 .Pp 同様の方法で TCP ソケットの前に .Dq + 文字を付けることができます。 この場合、現在のインタフェースユニット番号が、ポート番号に加算されます。 .Pp .Nm をサーバソケットと共に使用する場合、通信機構として .Xr pppctl 8 コマンドを使用することが好ましいです。 現在 .Xr telnet 1 も使用可能ですが、将来リンク暗号化が実装されるかもしれませんので、 .Xr telnet 1 に依存しないようにしてください。 .It set speed Ar value シリアルデバイスの速度を指定します。 .It set stopped Ar [LCPseconds [CCPseconds]] このオプションが指定されると、 指定した FSM (有限状態機械; Finite State Machine) が停止状態になってから .Dq seconds で指定した秒数だけ停止したのち、 .Nm はタイムアウトします。 このオプションは、 相手が終了要求を送り我々が終了確認応答を送ったにもかかわらず 実際には接続を閉じない場合に、有用かもしれません。また、 .Dq set openmode passive を使用した場合に相手が指定時間内に Configure Request を送らないことを タイムアウト検出する場合には、便利かもしれません。 .Dq set log +lcp +ccp を使用すると、 .Nm は適切な状態遷移をログします。 .Pp デフォルト値は 0 であり、 停止状態による .Nm のタイムアウトは発生しません。 .Pp この値は openmode の遅延 (上述の .Dq set openmode 参照) より小さくなってはなりません。 .It set timeout Ar idleseconds このコマンドはアイドルタイマの値を指定します。 更なる詳細については .Dq アイドルタイマの設定 というタイトルの節を参照してください。 .It set vj slotcomp on|off このコマンドは .Nm に VJ スロット圧縮を交渉するか否かを指示します。 デフォルトではスロット圧縮は .Ar on です。 .It set vj slots Ar nslots このコマンドは最初の .Ar slots 番号を指定します。 .Nm は VJ 圧縮が enable されている時には、 これを使用して相手と交渉をします (前述の .Sq enable コマンドを参照してください)。 デフォルト値は 16 です。 .Ar nslots は .Ar 4 以上 .Ar 16 以下の値です。 .El .Pp .It shell|! Op Ar command .Ar command が指定されない場合、 .Dv SHELL 環境変数で指定されるシェルが起動されます。 そうでなければ指定された .Ar command が実行されます。 語の置換は、前述の .Dq !bg コマンドと同様の方法で行われます。 .Pp 文字 ! を使用する場合、コマンドとの間に空白が必要です。 このコマンドはフォアグラウンドで実行されることに注意してください - .Nm はプロセスが終了するまでは実行を続けません。 バックグラウンドでコマンド処理を行いたい場合には、 .Dv bg コマンドを使用してください。 .It show Ar var このコマンドを使用して、次の内容を確認できます: .Bl -tag -width 20 .It show bundle 現在のバンドル設定を表示します。 .It show ccp 現在の CCP 圧縮統計を表示します。 .It show compress 現在の VJ 圧縮統計を表示します。 .It show escape 現在のエスケープ文字を表示します。 .It show filter Op Ar name 指定したフィルタの現在のルールをリストします。 .Ar name を指定しないと、全フィルタが表示されます。 .It show hdlc 現在の HDLC 統計を表示します。 .It show help|? 利用可能な show コマンドのまとめを表示します。 .It show iface 現在のインタフェース情報 .Po Dq iface show と同じです .Pc を表示します。 .It show ipcp 現在の IPCP 統計を表示します。 .It show lcp 現在の LCP 統計を表示します。 .It show [data]link 高レベルリンク情報を表示します。 .It show links 利用可能な論理リンクのリストを表示します。 .It show log 現在のログ値を表示します。 .It show mem 現在のメモリ統計を表示します。 .It show modem 現在の下位レベルリンク情報を表示します。 .It show proto 現在のプロトコルの総計を表示します。 .It show route 現在の経路表を表示します。 .It show stopped 現在の stopped タイムアウト値を表示します。 .It show timer アクティブアラームタイマを表示します。 .It show version .Nm の現在のバージョン番号を表示します。 .El .Pp .It term 端末モードに移行します。 キーボードからタイプした文字はモデムに送られます。 モデムから読んだ文字はスクリーンに表示されます。 モデムの相手側に .Nm の相手が認識された時には、 .Nm は自動的にパケットモードを有効にし、コマンドモードに戻ります。 .El .Pp .Sh 更に詳細について .Bl -bullet .It 設定ファイルの例を読んでください。良い情報源です。 .It 何が利用できるかについては、 .Dq help , .Dq alias ? , .Dq enable ? , .Dq set ? , .Dq show ? コマンドを使って、オンライン情報を取得してください。 .It 次の URL に有用な情報があります: .Bl -bullet -compact .It http://www.FreeBSD.org/FAQ/userppp.html .It http://www.FreeBSD.org/handbook/userppp.html .El .Pp .El .Pp .Sh 関連ファイル .Nm は、4 つのファイル .Pa ppp.conf , .Pa ppp.linkup , .Pa ppp.linkdown , .Pa ppp.secret を参照します。 これらのファイルは .Pa /etc/ppp に置かれます。 .Bl -tag -width XX .It Pa /etc/ppp/ppp.conf システムのデフォルト設定ファイル。 .It Pa /etc/ppp/ppp.secret 各システム用の認証設定ファイル。 .It Pa /etc/ppp/ppp.linkup .Nm がネットワークレベルの接続を確立した時に実行されるファイル。 .It Pa /etc/ppp/ppp.linkdown .Nm がネットワークレベルの接続を閉じる時にチェックするファイル。 .It Pa /var/log/ppp.log ログとデバッグ情報のファイル。このファイル名は .Pa /etc/syslogd.conf にて指定されます。詳細は .Xr syslog.conf 5 を参照してください。 .It Pa /var/spool/lock/LCK..* tty ポートをロックするためのファイル。詳細は .Xr uucplock 3 を参照してください。 .It Pa /var/run/tunN.pid tunN デバイスに接続されている .Nm プログラムのプロセス ID (pid) 。 ここで .Sq N はデバイスの番号です。 .It Pa /var/run/ttyXX.if このポートで使われている tun インタフェース。 このファイルも .Fl background , .Fl auto , .Fl ddial のいずれかのモードの時のみ作成されます。 .It Pa /etc/services サービス名でポート番号が指定されている場合に、ポート番号を取得します。 .It Pa /var/run/ppp-authname-class-value マルチリンクモードでは、 相手の認証名称 .Pq Sq authname と相手の終点選択クラス .Pq Sq class と相手の終点選択値 .Pq Sq value を使用して、ローカルドメインソケットが生成されます。 終点選択値はバイナリ値であってもかまわないため、 実際のファイル名を判定するために 16 進数に変換されます。 .Pp このソケットは、別の .Nm のインスタンスとリンクを受け渡しを行うために使用します。 .El .Pp .Sh 関連項目 .Xr at 1 , .Xr ftp 1 , .Xr gzip 1 , .Xr hostname 1 , .Xr login 1 , .Xr tcpdump 1 , .Xr telnet 1 , .Xr syslog 3 , .Xr uucplock 3 , .Xr crontab 5 , .Xr group 5 , .Xr passwd 5 , .Xr resolv.conf 5 , .Xr syslog.conf 5 , .Xr adduser 8 , .Xr chat 8 , .Xr getty 8 , .Xr inetd 8 , .Xr init 8 , .Xr named 8 , .Xr ping 8 , .Xr pppctl 8 , .Xr pppd 8 , .Xr route 8 , .Xr syslogd 8 , .Xr traceroute 8 , .Xr vipw 8 .Sh 歴史 元のプログラムは Toshiharu OHNO (tony-o@iij.ad.jp) が作成し、 FreeBSD-2.0.5 に Atsushi Murai (amurai@spec.co.jp) が提出しました。 .Pp 1997 年中に本質的に Brian Somers (brian@Awfulhak.org) が修正をし、 11 月に OpenBSD に移植されました (2.2-RELEASE の直後です)。 .Pp 1998 年初頭にマルチリンク ppp サポートが追加されたときに、 ほとんどのコードを Brian Somers が書き直しました。 diff --git a/ja_JP.eucJP/man/man8/praliases.8 b/ja_JP.eucJP/man/man8/praliases.8 index 5a7d55466e..486b71c44c 100644 --- a/ja_JP.eucJP/man/man8/praliases.8 +++ b/ja_JP.eucJP/man/man8/praliases.8 @@ -1,50 +1,50 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)praliases.8 8.5 (Berkeley) 5/19/1998 .\" .\" 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 ユーティリティーは、 現在のシステムエイリアスを 1 行につき 1 つ ずつ ( 但し項目順ではなく ) 表示します。 .Pp オプションは次の通りです : .Bl -tag -width Ds .It Fl f デフォルトの .Nm sendmail システムのエイリアスファイルの代わりに、 指定されたファイルを読みます。 .El .Pp .Nm praliases ユーティリティーは成功すると 0 、 エラーが発生すると 0 より大きな値を返します。 .Sh 関連ファイル .Bl -tag -width /var/log/sendmail.stXX -compact .It Pa /etc/aliases デフォルトの .Nm sendmail システムのエイリアスファイル .It Pa /etc/aliases.db .Pa /etc/aliases ファイルのデータベース版 .El .Sh 関連項目 .Xr mailq 1 , .Xr sendmail 8 diff --git a/ja_JP.eucJP/man/man8/rlogind.8 b/ja_JP.eucJP/man/man8/rlogind.8 index 13d5de53a2..bfaa34d6ee 100644 --- a/ja_JP.eucJP/man/man8/rlogind.8 +++ b/ja_JP.eucJP/man/man8/rlogind.8 @@ -1,195 +1,195 @@ .\" Copyright (c) 1983, 1989, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)rlogind.8 8.1 (Berkeley) 6/4/93 -.\" %Id: rlogind.8,v 1.9 1997/11/25 07:17:13 charnier Exp % +.\" %Id: rlogind.8,v 1.10 1999/01/12 14:09:17 asami Exp % .\" jpman %Id: rlogind.8,v 1.2 1997/05/23 00:50:03 mutoh Stab % .\" .Dd June 4, 1993 .Dt RLOGIND 8 .Os BSD 4.2 .Sh 名称 .Nm rlogind .Nd リモートログインのサーバ .Sh 書式 .Nm .Op Fl Daln .Sh 解説 .Nm は、 .Xr rlogin 1 のためのサーバです。サーバは信頼できるホストからの 特権ポート番号に基づいた認証を用いて、リモートログイン機能を提供します。 .Nm では、以下のオプションが使用可能です。 .Bl -tag -width indent .It Fl D TCP_NODELAY ソケットオプションを設定します。これは、いくつかの ネットワークトラフィックの増大に対して、応答性を向上します。 .It Fl a 検証のために、ホスト名を問い合わせます。 .It Fl l ユーザがスーパユーザとしてログインしない限り、 一般ユーザの .Dq Pa .rhosts による、あらゆる認証を禁止します。 .It Fl n キープアライブメッセージを禁止します。 .El .Pp Kerberos を使っている時には、以下のようなオプションが利用可能です。 .Bl -tag -width indent .It Fl k Kerberos 認証を利用可能にします。 .It Fl v vacuous モードを利用可能にします。 .It Fl x .Xr rlogin 1 セッションで流される全てのデータに .Tn DES 暗号化を施します。このオプションを利用すると、応答性や CPU に負荷が かかりますが、機密性は向上します。 .El .Pp .Nm は、``login'' サービスの仕様に基づく番号のポートで、要求を受け付けます。 詳しくは .Xr services 5 を参照してください。 サービスの要求を受け取ると、以下のプロトコルを開始します。 .Bl -enum .It サーバはクライアントの要求元ポート番号を調べます。 もしポート番号が512〜1023の範囲外であれば、サーバは接続を切断します。 .It サーバはクライアントの要求元アドレスを調べ、それに対応するホスト名を 求めます ( .Xr gethostbyaddr 3 , .Xr hosts 5 , .Xr named 8 を参照してください)。 ホスト名を決定できなければ、ドット表記法によるホストアドレスを 用います。 ホスト名がサーバと同じドメインに属しているか (ドメイン名の最後の二つの 構成要素に基づいて判断します)、あるいは .Fl a オプションが指定されていたら、 ホスト名に対するアドレスを調べて、ホスト名とアドレスが一致しているか どうかを検証します。 アドレスの検証に失敗した場合は、通常の認証作業は行いません。 .El .Pp 要求元ポートの番号を調べ終えたら、 .Nm は、 .Xr rshd 8 で説明している認証作業を開始します。 そして、疑似端末 ( .Xr pty 4 を参照のこと) を割り当てると共に、 ファイルディスクリプタを操作して、 この疑似端末のスレーブ側がログインプロセスの .Em stdin , .Em stdout , .Em stderr になるようにします。 認証作業が成功した場合には、 .Xr login 1 プログラムに .Fl f オプションを指定してログインプロセスを生成します。 自動認証作業に失敗した場合には、 通常の端末回線からのログインの場合と同様に、 ユーザに問い合わせをします。 .Pp ログインプロセスの親プロセスは、疑似端末のマスタ側を操作します。 すなわちログインプロセスと、クライアント側の .Xr rlogin 1 プログラムを実体化したものとの間で処理を行います。 通常の処理においては、 .Ql ^S/^Q のような機能を提供したり、割り込み信号をリモートプログラムへと伝えるために .Xr pty 4 で説明しているパケットプロトコルを起動します。 ログインプロセスは、クライアントの端末の通信速度や 環境変数 .Ql Ev TERM で指定されている端末タイプを伝えます。 .Xr environ 7 を参照してください。 クライアント側に端末の画面、あるいはウィンドウの大きさを問い合わます。 また、クライアント側からウィンドウサイズの変更が疑似端末へ 伝えられます。 .Pp トランスポートレベルのキープアライブメッセージは、オプション .Fl n が指定されていない限り出力されます。 キープアライブメッセージを利用すると、クライアントがクラッシュしたり、 通信不能になってしまった時に、セッションをタイムアウトで 終了することが可能になります。 .Sh 診断 すべての診断メッセージは、ネットワーク接続が切断された後に、最初に 1 の値 のバイトが付加されて通知されます。 .Xr login 1 が起動された後にエラーが発生しない場合、 処理成功の通知のために、NULL バイトを返します。 .Bl -tag -width Ds .It Sy Try again. サーバが .Xr fork 2 に失敗したことを表します。 .El .Sh 関連項目 .Xr login 1 , .Xr ruserok 3 , .Xr hosts 5 , .Xr nologin 5 , .Xr rshd 8 .Sh 関連ファイル .Bl -tag -width /etc/hostsxxxxxxxx -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv .It Pa $HOME/.rhosts -.It Pa /etc/nologin +.It Pa /var/run/nologin .El .Sh バグ このコマンドが用いている認証手続きは、それぞれのクライアントマシンと 接続媒体が完全であるということを仮定したものです。これはセキュリティホールに なりやすいのですが、``オープン'' な環境においては有用な方針です。 .Pp 全てのデータについて暗号化を行なう機能が実装されるべきです。 .Pp もっと発展性のあるプロトコルが用いられるべきです。 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/rmail.8 b/ja_JP.eucJP/man/man8/rmail.8 index d25c6b1a1c..bf94ea1c52 100644 --- a/ja_JP.eucJP/man/man8/rmail.8 +++ b/ja_JP.eucJP/man/man8/rmail.8 @@ -1,52 +1,52 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)rmail.8 6.14 (Berkeley) 5/19/1998 .\" 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 は .Xr uucp 1 経由で受けとったメールを解釈し、 .Xr mail.local 8 によって生成される``From''行を、``return-path!sender'' という一行に変換して .Xr sendmail 8 に渡します。 .Pp .Nm は、明らかに .Xr uucp 1 と .Xr sendmail 8 で使われるように設計されています。 .Sh 関連項目 .Xr uucp 1 , .Xr mail.local 8 , .Xr sendmail 8 .Sh 歴史 .Nm プログラムは .Bx 4.2 から登場しました。 .Sh バグ .Nm は .Pa /bin に置くべきではありません。 diff --git a/ja_JP.eucJP/man/man8/rshd.8 b/ja_JP.eucJP/man/man8/rshd.8 index 7c22f5cf9d..04429a62da 100644 --- a/ja_JP.eucJP/man/man8/rshd.8 +++ b/ja_JP.eucJP/man/man8/rshd.8 @@ -1,224 +1,225 @@ .\" Copyright (c) 1983, 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. .\" .\" @(#)rshd.8 8.1 (Berkeley) 6/4/93 +.\" %Id: rshd.8,v 1.15 1999/01/12 14:09:18 asami Exp % .\" %Id: rshd.8,v 1.14 1998/12/16 07:20:44 peter Exp % .\" jpman %Id: rshd.8,v 1.4 1997/08/10 18:35:56 horikawa Stab % .\" .Dd June 4, 1993 .Dt RSHD 8 .Os BSD 4.2 .Sh 名称 .Nm rshd .Nd リモートシェルのサーバ .Sh 書式 .Nm rshd .Op Fl alnDL .Sh 解説 .Nm は、 .Xr rcmd 3 ルーチンのためのサーバであり、結果として .Xr rsh 1 の実行のために必要となるサーバです。 .Nm は、信頼できるホストからの特権ポート番号に基づいた 認証を行なうことによって、プログラムのリモート実行機能を提供します。 .Pp .Nm サーバは、``cmd'' サービスに割り当てられたポート ( .Xr services 5 参照) でサービス要求を受け付けます。サービス要求を受信すると、 サーバは以下の手順を開始します: .Bl -enum .It サーバは、クライアントの要求元ポート番号のチェックをおこないます。 要求元ポート番号 が 512 から 1023 の範囲にない場合、サーバは接続を強制切断します。 .It サーバは、ソケットから .Tn ヌル バイト (`\e0') を検出するまで文字を読みます。 受信文字列は、 .Tn ASCII コードによる 10 進数の数値に変換します。 .It ステップ 2 で受信した数値が 0 でない場合、その数値を .Em 標準エラー出力 で使用する 2 番目のストリームのポート番号として解釈します。 そしてクライアントマシン上でも指定されたポート番号の 2 番目の接続を生成します。 この 2 番目の接続の要求元ポート番号も、512 から 1023 の範囲で指定します。 .It サーバは、クライアントの要求元アドレスをチェックし、該当するホスト名を要求し ます ( .Xr gethostbyaddr 3 , .Xr hosts 5 , .Xr named 8 を参照してください)。ホスト名が特定できない場合、 または確認したホスト名とアドレスとが一致しない場合、 ドット表記法によるホストアドレスを用います。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em クライアント マシン上のユーザ識別に使用します。 .It 最初のソケットを介して、ヌル終端された最大 16 文字の ユーザ名を取得します。ユーザ名は、 .Em サーバ マシン上のユーザ認証に使用します。 .It 最初のソケットを介して、シェルに渡されるべき、ヌル終端された コマンドを取得します。コマンド長の制限は、システムの引数リスト サイズの上限に依存します。 .It .Nm は、 .Pa /etc/hosts.equiv および当該ユーザのホームディレクトリ上に存在する .Pa .rhosts ファイルを用いる .Xr ruserok 3 を使用して、ユーザ認証を行います。 .Fl l オプションは、ユーザがスーパユーザでない限り、 .Pa .rhosts ファイルに基づいた .Xr ruserok 3 のすべての認証をおこなわないようにします。 .It -.Pa /etc/nologin +.Pa /var/run/nologin ファイルが存在し、ユーザがスーパユーザでない場合、接続を 切断します。 nologin ファイルの名前に関しては、 .Pa login.conf にて ローカルユーザのログインクラスに関する nologin ケーパビリティが優先します。 ログインクラスは、ログイン時間(times.allow と times.denny ケーパビリティ) およびリモートホスト(hosts.allow と hosts.denny ケーパビリティ)による .Xr rsh 1 アクセスの制限にも使われます。 .It 最初のソケットを用いて .Tn ヌル バイトを返し、コマンドライン を、ユーザの通常のログインシェルに渡します。シェルは .Nm によって確立されたネットワーク接続を継承します。 .El .Pp .Fl n オプションが与えられないかぎり、トランスポートレベルの keepalive メッセージが 有効になります。keepalive メッセージを使用することによって、 クライアントプロセスが異常終了するか、もしくはネットワーク到達不可に なった場合にセッションをタイムアウトで終了させることができます。 .Pp .Fl D オプションは TCP_NODELAY ソケットオプションを設定します。 小さな連続する (back-to-back) 書き込みの性能を向上させますが、 ネットワークトラフィックは増えてしまいます。 .Pp .Fl L オプションを用いることで、すべての正常なアクセスを .Xr syslogd 8 を経由して .Li auth.info メッセージとして、ログします。 .Sh 診断 以下に示す例のうち最後のものを除き、 すべての診断メッセージを最初のソケットを用いて返した後、 すべての接続をクローズします。 エラーは、先行する 1 バイトとして値 1 が返されるこ とでわかります (ログインシェル実行の前のすべてのステップが正常に完了した場合、 上記のステップ 10 の処理で 0 を返します)。 .Bl -tag -width indent .It Sy Locuser too long. クライアントマシン上のユーザ名が、16 文字を超えています。 .It Sy Ruser too long. リモートマシン上のユーザ名が、16 文字を超えています。 .It Sy Command too long. 渡されたコマンドラインの長さが、引数リストの大きさを超えています (システムに依存します)。 .It Sy Login incorrect. 当該ユーザに関するエントリが、パスワードファイルに登録されていないか、 上述の認証手続きに失敗しました。 .It Sy Remote directory. ホームディレクトリへの .Xr chdir 2 巻数が失敗しました。 .It Sy Logins not available right now. ローカルユーザのログインクラスに対する .Pa login.conf において、許された時間以外で .Xr rsh 1 が試されました。 .It Sy Can't make pipe. .Em 標準エラー出力 に必要なパイプを作成できませんでした。 .It Sy Can't fork; try again. サーバによる .Xr fork 2 が失敗しました。 .It Sy : ... ユーザのログインシェルを起動できませんでした。本メッセージの出力は .Em 標準エラー出力 に関連づけられたコネクションを介して返されますので、 フラグバイトは先行しません。 .El .Sh 関連項目 .Xr rlogin 1 , .Xr rsh 1 , .Xr gethostbyaddr 3 , .Xr rcmd 3 , .Xr ruserok 3 , .Xr hosts 5 , .Xr login.conf 5 , .Xr nologin 5 , .Xr services 5 , .Xr named 8 , .Xr rlogind 8 , .Xr syslogd 8 . .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv .It Pa /etc/login.conf .It Pa $HOME/.rhosts -.It Pa /etc/nologin +.It Pa /var/run/nologin .El .Sh バグ ここで用いられているユーザ認証手順は、各クライアントマシンおよび接続媒体が 信頼できるものと仮定しています。 これは安全ではないですが、``オープン'' な環境下では便利です。 .Pp 全てのデータについて暗号化を行なう機能が実装されるべきです。 .Pp TELNET のような、もっと拡張性のあるプロトコルが用いられるべきです。 diff --git a/ja_JP.eucJP/man/man8/rwhod.8 b/ja_JP.eucJP/man/man8/rwhod.8 index bb628bb3cc..eeaed88663 100644 --- a/ja_JP.eucJP/man/man8/rwhod.8 +++ b/ja_JP.eucJP/man/man8/rwhod.8 @@ -1,206 +1,219 @@ .\" this file based on that translated to japanese on NetBSD Japanese Reference .\" Manual Project, and modefied to fit FreeBSD Reference Manual .\" by Mochida Shuji 1995/03/31 .\" .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)rwhod.8 8.2 (Berkeley) 12/11/93 .\" jpman %Id: rwhod.8,v 1.3 1997/10/11 07:49:54 horikawa Stab % .\" .Dd December 11, 1993 .Dt RWHOD 8 .Os BSD 4.2 .Sh 名称 .Nm rwhod .Nd システムステータスサーバ .Sh 書式 .Nm rwhod .Op Fl i +.Op Fl l .Op Fl m Op Ar ttl .Sh 解説 .Nm は、 .Xr rwho 1 や .Xr ruptime 1 プログラムで使われるデータベースを管理するサーバです。 ネットワークにおいて .Em ブロードキャスト もしくは .Em マルチキャスト メッセージが使用できることが前提となります。 .Pp .Nm -は、ステータス情報のを生成と利用の両方を行います。情報の生成では、定期的に +はステータス情報の生成と利用の両方を行います。 +ただし、 +.Fl l +(listen モード) オプションを指定した場合は例外で、利用のみ行います。 +情報の生成では、定期的に システムに状態を問い合わせ、ステータスメッセージを構築してネットワークに ブロードキャストします。情報の利用では、他の .Nm サーバからの状態メッセージを受け取り、検査してから、 .Pa /var/rwho ディレクトリの下のファイルに記録します。 .Pp .Fl i オプションは、安全ではないモードを有効にします。 このモードでは、 .Nm は入力パケットのソースポートを無視します。 .Pp +.Fl l +オプションを指定すると listen モードが有効になり、 +.Nm +は情報をブロードキャストしなくなります。 +これにより、自分自身の情報をブロードキャストせずに他のマシンの +.Nm +情報を監視することができます。 +.Pp .Fl m オプションは、インタフェースの "ifnet" 構造体に IFF_MULTICAST フラグが 設定されている全てのインタフェース (ループバックインタフェースは 除きます) 上で、 .Nm に (ブロードキャストの代わりに) IP マルチキャストを使わせます。マルチキャストによる報告は、 直接つながっているサブネットへの転送を防ぐために TTL(Time To Live) 1で送られます。 .Pp オプションの .Ar ttl 引数が .Fl m フラグとともに与えられた時には、 .Nm は IP マルチキャストデータグラムを TTL が .Ar ttl として、 全てのインタフェースではなく 1 つのインタフェースに対して送ります。 .Ar ttl は 0 から 32 (または、MAX_MULTICAST_SCOPE) までの値です。 .Fl m Ar 1 は、 .Fl m とは異なることに注意してください。 .Fl m Ar 1 は、1 つのインタフェースにだけ転送を行います。 .Pp .Fl m フラグが、 .Ar ttl 引数無しで使われた場合、プログラムはマルチキャスト .Nm 報告を全ての マルチキャストが利用可能なインタフェースから受け取ります。 .Ar ttl 引数が与えられた場合は、マルチキャストレポートは 1 つのインタフェース からだけ受け取ります。その 1 つは、報告を行っているものです (これは、ホストルーティング表によって制御されます)。 .Fl m オプション無しでは、プログラムはブロードキャストもしくは ユニキャストによる報告を全てのインタフェースから受け取ります。 したがって、このプログラムは、古い報告をマルチキャストを使っていない .Nm から受け取り、マルチキャストが使われている場合は古い .Nm は このプログラムによって生成される報告を受け取れないことになります。 .Pp サーバは、``who'' サービスで指定されているポート番号でメッセージを 送受信します。 .Xr services 5 を参照して下さい。送受信するメッセージは以下のような形式です。 .Bd -literal -offset indent struct outmp { char out_line[8]; /* 端末 (tty) 名 */ char out_name[8]; /* ユーザID */ long out_time; /* 時刻 */ }; struct whod { char wd_vers; char wd_type; char wd_fill[2]; int wd_sendtime; int wd_recvtime; char wd_hostname[32]; int wd_loadav[3]; int wd_boottime; struct whoent { struct outmp we_utmp; int we_idle; } wd_we[1024 / sizeof (struct whoent)]; }; .Ed .Pp すべてのフィールドは、送信に先立ってネットワークバイトオーダに変換されます。 ホスト負荷 (load average) は .Xr w 1 によって計算され、送信の 5, 10, 15 分前の負荷を 100 倍した 整数として表現されます。ホスト名は、 .Xr gethostname 3 システムコールで得られたものがドメイン名を省略して格納されます。 メッセージの最後の配列には、メッセージを送信したマシンにログインしている ユーザの情報が格納されています。この情報は、 .Xr utmp 5 の非アイドルの端末ラインのエントリと、その端末ラインから最後に文字を 受け取った時間を秒数で表した値が入っています。 .Pp .Nm サーバによって受信されるメッセージは、 .Nm サーバのポートから送信されたものでないか、 .Fl i オプションが指定されていなければ捨てられます。さらにメッセージ のホストの名前が表示できない .Tn ASCII 文字を含んでいる場合も、メッセージは捨てられます。 .Nm が受け取った正しいメッセージは .Pa /var/rwho ディレクトリに .Pa whod.hostname というファイル名で格納されます。これらのファイルには、最新のメッセージ だけが、上で説明した形式で残っています。 .Pp ステータスメッセージはほぼ 3 分ごとに作成されます。 .Nm は、30 分ごとに .Pa /kernel に対して .Xr nlist 3 を実行します。これは、このファイルがその時点での実際のシステムイメージ であることを確認するためです。 .Sh 関連項目 .Xr ruptime 1 , .Xr rwho 1 .Sh バグ ネットワーク間でステータス情報を中継する方法が必要です。 ステータス情報は、ずっと送りつづけるのではなく、要求があったとき にだけ送るようにするべきでしょう。サーバが死んでいたり、ネットワークの 通信障害を、マシンがダウンしていると思い込んでしまう場合がよくあります。 .Sh 歴史 .Nm コマンドは .Bx 4.2 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/sendmail.8 b/ja_JP.eucJP/man/man8/sendmail.8 index 0e798c79ec..a7401e95dd 100644 --- a/ja_JP.eucJP/man/man8/sendmail.8 +++ b/ja_JP.eucJP/man/man8/sendmail.8 @@ -1,562 +1,564 @@ .\" Copyright (c) 1998 Sendmail, Inc. All rights reserved. .\" Copyright (c) 1983, 1997 Eric P. Allman. 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. .\" .\" -.\" @(#)sendmail.8 8.19 (Berkeley) 5/19/98 +.\" @(#)sendmail.8 8.20 (Berkeley) 8/2/1998 .\" jpman %Id: sendmail.8,v 1.2 1997/06/05 01:31:44 yugawa Stab % .\" -.Dd May 19, 1998 +.Dd August 2, 1998 .Dt SENDMAIL 8 .Os BSD 4 .Sh 名称 .Nm sendmail .Nd 電子メール配送デーモン .Sh 書式 .Nm sendmail .Op Ar flags .Op Ar address ... .Nm newaliases .Nm mailq .Op Fl v .Sh 解説 .Nm sendmail はメッセージを他の人に送ります。必要ならばネットワークを 通してメッセージを正しい場所に転送します。 .Pp ただし、 .Nm sendmail はユーザインタフェースとして使われることは考慮さ れていません。ユーザにとって使いやすいフロントエンドは別のプログラムで 提供されます。 .Nm sendmail は、あらかじめメールとして整形されたメッセージ を配送するためだけに使われます。 .Pp .Nm sendmail を引数を指定せずに起動すると、 .Nm sendmail は標準入力を EOF (エンド・オブ・ ファイル)か `.'だけを含む行まで読み込み、メッセージのなかに記述されている アドレスにメッセージのコピーを送ります。アドレスの文法や内容にもとづいて 経路に使用するネットワークを決定します。 .Pp ローカルアドレスは、ファイルの中を検索して適当なエイリアスを行います。 先頭にバックスラッシュ `\\' のついたアドレスについては、エイリアスは 行なわれません。 通常、送り手はエイリアスの対象に含まれません。つまり、もし `john' が `group' にメールを送って、 `john' が `group' に 含まれている場合、送ったメッセージは `john' には送られません。 .Ss パラメータ .Bl -tag -width Fl .It Fl B Ns Ar type ボディのタイプを .Ar type に設定します。現在有効なのは、 .Li `7BIT' か .Li `8BITMIME' です。 .It Fl ba .Tn ARPANET モードに移行します。すべての入力行は CR-LF で終わらなければならず、 すべてのメッセージの末尾には CR-LF がつきます。また、``From:'' と ``Sender:'' フィールドは送り手の名前としてチェックされます。 .It Fl bd デーモンモードで実行します。Berkley .Tn IPC が必要です。 .Nm sendmail は .Xr fork 2 を行い、バックグラウンドで動作し、ソケット番号 25 で .Tn SMTP コネクションを 待ちます。通常このモードは、 .Pa /etc/rc から実行されています。 .It Fl bD フォアグラウンドで動作する以外は .Fl bd と同じです。 .It Fl bh 現在のホストの状況のデータベースを表示します。 .It Fl bH 現在のホストの状況のデータベースをパージします。 .It Fl bi エイリアスデータベースを初期化します。 .It Fl bm 普通にメールを配送します(デフォルト)。 .It Fl bp メールキューのリストを表示します。 .It Fl bs 標準入出力で .Tn RFC821 にもとづいた .Tn SMTP プロトコルを使います。この フラグは、 .Fl ba フラグのうち .Tn SMTP 互換の全ての操作を含みます。 .It Fl bt アドレスのテストモードで起動します。このモードは対話 モードでアドレスを入力し、処理の過程を表示します。設定ファイル をデバッグするのに使います。 .It Fl bv 名前のチェックだけを行います。メッセージの収集や配送は行い ません。ベリファイモードは、ユーザやメーリングリストが有効かどうかを確認する ために使います。 .It Fl C Ns Ar file 別の設定ファイルを使います。 .Nm sendmail は、別の設定ファイル を使用する場合は root として実行することはできません。 .It Fl d Ns Ar X デバッグ値を .Ar X に設定します。 .ne 1i .It Fl F Ns Ar fullname 送り手のフルネームを設定します。 .It Fl f Ns Ar name ``from'' に入る名前(つまり、送り手の名前です)を設定します。 .Fl f は、``trusted''なユーザ(普通は .Em root , .Em daemon , .Em network です)が使うか、 送り手が自分自身の名前を指定して使う場合のみ指定することができます。 .It Fl h Ns Ar N ホップカウントを .Ar N に設定します。ホップカウントは、 メールが処理されるたびに増えていきます。ホップカウントがリミットになった とき、メールは「エイリアスがループしている」という旨のエラーメッセージと いっしょに送り返されます。 もしこのフラグが指定されなければ、メッセージのなかの ``Received:'' 行がカウント されます。 .It Fl i 入力されるメッセージ中の `.' だけを含む行を無視します。 このフラグは、データをファイルから読み込むような場合に使用する必要があります。 .It Fl N Ar dsn 配送状況の通知条件を .Ar dsn に設定します。 .Ar dsn には、 .Ql never (何も通知しない)または、コンマで区切った、 .Ql failure (配送が失敗した場合に通知する) .Ql delay (配送が遅れた場合に通知する) .Ql success (配送が正常に行われた場合に通知する) の組み合わせを指定する事ができます。 .It Fl n エイリアスを行いません。 .It Fl O Ar option Ns = Ns Em value オプション .Ar option を、指定した .Em value に設定します。この形式では長いオプション名が使用されます。 詳しくは後に記述します。 .It Fl o Ns Ar x Em value オプション .Ar x を、指定した .Em value に設定します。 この形式では、一文字のオプション名しか使用できません。 短いオプション名についてはこのマニュアルには記述されていません。 詳しくは、 .%T "Sendmail Installation and Operation Guide" を参照して下さい。 .It Fl p Ns Ar protocol メッセージを受け取るのに利用するプロトコル名を設定します。 設定できるのは、 ``UUCP'' のようなプロトコル名だけかプロトコル+ホスト名、たとえば ``UUCP:ucbvax'' などです。 .It Fl q Ns Bq Ar time キューのなかにあるメッセージを処理する間隔を設定します。 .Ar time を省略した場合は、キューの内容を一度だけしか処理しません。 .Ar time は、 .Ql s (秒)、 .Ql m (分)、 .Ql h (時間)、 .Ql d (日)、 .Ql w (週)の単位を付けた数字で指定します。 たとえば、 .Ql -q1h30m や .Ql -q90m は、タイムアウトを 1 時間 30 分に設定します。 .Ar time が指定されると、 .Nm sendmail はデーモンとしてバックグラウンドで 実行されます。 デーモンとして実行させる際には、同時にオプション .Fl bd を つけておくほうが安全です。 .It Fl qI Ns Ar substr キュー ID の文字列に .Ar substr が含まれるジョブのみを処理します。 .It Fl qR Ns Ar substr 受信者のリストの文字列に .Ar substr が含まれるジョブのみを処理します。 .It Fl qS Ns Ar substr 送信者の文字列に .Ar substr が含まれるジョブのみを処理します。 .It Fl R Ar return メッセージがバウンスした時に返送されるメッセージの量を設定します。 .Ar return パラメータには、メッセージ全体を返送する場合は .Ql full を、ヘッダのみを返送する場合は .Ql hdrs を指定します。 .It Fl r Ns Ar name .Fl f フラグと同じですが、古い形式です。 .It Fl t 受信者をメッセージから読み取ります。To:, Cc:, Bcc: フィールドが受信者 のアドレスとして読み込まれます。Bcc: フィールドはメッセージの転送前に 削除されます。 .It Fl U 最初の(ユーザからの)発送である事を示します。 このフラグは、 .Nm Mail や .Nm exmh の様なユーザエージェントから呼び出す場合は .Em 必ず 指定する必要があり、 .Nm rmail 等のネットワーク配送エージェントから呼び出す場合は、 .Em 絶対に 指定してはいけません。 .It Fl V Ar envid オリジナルのエンベロープ ID を設定します。 これは、DSN をサポートするサーバ間では SMTP 上を伝達し、 DSN に従ったエラーメッセージの中で返送されます。 .It Fl v 詳細モードに移行します。展開されるエイリアスなどが報告されます。 .It Fl X Ar logfile 指定された .Ar logfile に、メーラに出たり入ったり するすべてメッセージに関する情報を記録します。メーラをデバッグする際の 最後の手段としてのみ使ってください。非常に大量の情報があっという間に記録 されます。 +.It Fl - +コマンドフラグ処理を停止し、残りの引数をアドレスとして使用します。 .El .Ss オプション .Nm sendmail には、設定することができる多くの処理オプションがあります。 通常、これらのオプションはシステム管理者のみが使います。 オプションは、コマンドラインから .Fl o フラグを使って(短いオプション名で)指定したり、 .Fl O フラグを使って(長いオプション名で)指定したり、 設定ファイルから指定することができます。ここに記述して いるのは部分的なもので、コマンド行から指定する場合に便利な物だけを、 長いオプション名で示しています。完全なリスト(と詳細)は、 .%T "Sendmail Installation and Operation Guide" を参照してください。 オプションには以下の物があります。 .Bl -tag -width Fl .It Li AliasFile= Ns Ar file 別のエイリアスファイルを使います。 .It Li HoldExpensive 接続するのに時間がかかるホストと接続するときは、 すぐに接続せず、リクエストはキューに入れられます。 .It Li CheckpointInterval= Ns Ar N .Nm sendmail が、 .Ar N 個の配送に成功するたびにキューファイルに チェックポイントを設定します(デフォルトは 10 個です)。これによって、 システムのクラッシュによって長いメーリングリストの配送が中断 されたときでも、再開時に同じ人に重複して配送されることを防ぎます。 .ne 1i .It Li DeliveryMode= Ns Ar x 配送モードを .Ar x に設定します。配送モードには .Ql i 対話的(同期的)配送モード、 .Ql b バックグラウンド(非同期的)配送モード、 .Ql q キューモード(実際の配送は、キューが実行されるときに行われる)、 .Ql d 延期モード(データベースの検索(特に DNS や NIS )が行われない以外は .Ql q と同じ)があります。 .It Li ErrorMode= Ns Ar x エラー処理をモード .Ar x に設定します。 .Ql m はエラーメッセージを送り返します。 .Ql w はエラーメッセージを送り手の端末に書き出します (送り手がログインしていなければ、メールを返します)。 .Ql p は、エラーメッセージを端末に表示します(デフォルト)。 .Ql q は、エラーメッセージを捨てます(exit コードだけを返します)。 .Ql e は、BerkNet 用に特別処理をします。 もし、モード .Ql m や .Ql w を使っている場合に、エラーとなったメッセージが エラーメールとして送り返されず、送り手が .Nm sendmail を実行している マシン上のユーザならば、 メッセージのコピーは送り手のホームディレクトリにある .Pa dead.letter に追加されます。 .It Li SaveFromLine メッセージのはじめに .Tn UNIX Ns \-style From 行を残します。 .It Li MaxHopCount= Ar N メールがループしていると判断されない、最大のホップ数を 指定します。 .It Li IgnoreDots `.' だけを含む行をメッセージの終わりとして解釈しません。 .It Li SendMimeErrors エラーメッセージをMIMEフォーマットで送り返します。 設定されていない場合は、DSN (Delivery Status Notification: 配送状況通知) SMTP 拡張は無効になります。 .It Li ConnectionCacheTimeout= Ns Ar timeout コネクションキャッシュの .Ar timeout を設定します。 .It Li ConnectionCacheSize= Ns Ar N コネクションキャッシュのサイズを .Ar N に設定します。 .It Li LogLevel= Ns Ar n ログレベルを .Ar n にします。 .It Li MeToo エイリアスに自分自身が含まれている場合、``me''(送り手自身)にも送ります。 .It Li CheckAliases .Xr newaliases 1 コマンドの実行の際、 エイリアスの右側の項目(エイリアスの値)を有効性をチェックします。 .It Li OldStyleHeaders もしオプションが設定されていれば、メッセージが古いスタイルのヘッダ を持つことがあることを意味します。 このオプションが設定されていなければ、このメッセージが新しい スタイルを持っていることが保証されます(2 つのアドレスの間はスペースのかわり にコンマで区切られます)。このオプションが設定されていると、大抵の場合、 ヘッダのフォーマットを正しく決定するためのアルゴリズムが用いられます。 .It Li QueueDirectory= Ns Ar queuedir キューメッセージを保存するディレクトリを選択します。 .It Li StatusFile= Ns Ar file 指定した名前のファイルに統計情報をセーブします。 .It Li Timeout.queuereturn= Ns Ar time キューのなかの配送されなかったメッセージのタイムアウト時間を設定します。 この時間内に(ホストのダウンなどにより)配送が行われなかったときには、 失敗した旨のメッセージが送り返されます。デフォルトは 5 日です。 .It Li UserDatabaseSpec= Ns Ar userdatabase このオプションが設定されると、情報を送る際にユーザデータ ベースに対する問い合わせが行われます。 この方法をエイリアス機構の補助として使用する事ができます。ただし、 エイリアスはそのホストローカルでのみ有効なので、データベースが意図的に 分散されている場合は使用できません。 .Nm sendmail が .Dv USERDB 付きでコンパイルされていなければ使うことはできません。 .It Li ForkEachJob キューを処理する間、 .Xr fork 2 を行います。メモリが少ないマシン では便利です。 .It Li SevenBitInput 到着するメッセージを 7 ビットにします (8 ビット目は落します)。 .It Li EightBitMode= Ns Ar mode 8 ビットの入力を 7 ビットの宛先へ送る場合の処理方法を .Ar mode に設定します。 処理方法には、 .Li m (mime 化) 7 ビット MIME 形式へ変換、 .Li p (パス) 8 ビットのまま配送(プロトコルには違反します)、 .Li s (厳密) メッセージをバウンス、 があります。 .It Li MinQueueAge= Ns Ar timeout 配送の試行の間、ジョブがキューに蓄積される時間を設定します。 .It Li DefaultCharSet= Ns Ar charset 特に指定されていない場合に、8 ビットのデータである事を示す ラベルとして使用されるデフォルトのキャラクタを設定します。 .It Li DialDelay= Ns Ar sleeptime コネクションの確立が失敗した場合に、再試行までに .Ar sleeptime だけスリープします。オンデマンドでダイアル接続するサイトでの使用に便利です。 .It Li NoRecipientAction= Ns Ar action 受信者ヘッダ (To: Cc: あるいは Bcc:) がない場合の動作を .Ar action に設定します。 .Li none メッセージを変更しない、 .Li add-to To: ヘッダにエンベロープで指定された受信者を加える、 .Li add-apparrently-to Apparrently-To: ヘッダにエンベロープで指定された受信者を加える、 .Li add-bcc 空の Bcc: ヘッダを加える、 .Li add-to-undisclosed .Ql "To: undisclosed-recipients:;" というヘッダを加える、という動作が指定できます。 .It Li MaxDaemonChildren= Ns Ar N 待ち受け SMTP デーモンが同時に動作できる子プロセスの最大数を .Ar N に設定します。 .It Li ConnectionRateThrottle= Ns Ar N SMTP ポートへの 1 秒当りの最大コネクション数を .Ar N に設定します。 .El .Pp エイリアスのなかで最初の文字が `|' で始まるものは、メールの内容をパイプで コマンドに送るものと解釈されます。引数などをつけるために空白文字が 必要な場合はクォートする (" でくくる)必要があります。以下に、例を示します: .Pp .Bd -literal -offset indent -compact msgs: "|/usr/bin/msgs -s" .Ed .Pp エイリアスには、 .Dq :include: Ns Ar filename という文法もあります。 .Nm sendmail は、 メールの受け手のエイリアスとして、指定されたファイルを読みます。 以下に、例を示します: .Pp .Bd -literal -offset indent -compact poets: ":include:/usr/local/lib/poets.list" .Ed .Pp 上記の例の場合は、 .Pa /usr/local/lib/poets.list を読み、`poets' のグループの ためのアドレスリストを作ります。 .Pp .Nm sendmail は、以下に示すような終了コードを返します。これらの コードは、 .Aq Pa sysexits.h に定義されています。 .Bl -tag -width EX_UNAVAILABLE -compact -offset indent .It Dv EX_OK すべてのアドレスについて完全に成功しました。 .It Dv EX_NOUSER ユーザ名が認識できません。 .It Dv EX_UNAVAILABLE 処理に必要なリソースを得ることができません。 .It Dv EX_SYNTAX アドレスに文法的な間違いがあります。 .It Dv EX_SOFTWARE 引数が間違っている等の、内部的なエラーです。 .It Dv EX_OSERR .Dq cannot fork のような、一時的な OS エラーです。 .It Dv EX_NOHOST ホスト名が認識できません。 .It Dv EX_TEMPFAIL メッセージはすぐには送られませんでしたが、 キューには入れられました。 .El .Pp .Nm newaliases というコマンドで実行されると、 .Nm sendmail はエイリアス データベースを再構築します。 .Nm mailq というコマンドで実行されると、 .Nm sendmail はメールキューの内容を表示します。 .Sh 関連ファイル .Pa /etc/sendmail.cf とデーモンプロセス ID ファイルを除き、以下のファイルのパスはすべて .Pa /etc/sendmail.cf 内部で決められています。以下は一例に過ぎません。 .Pp .Bl -tag -width /usr/lib/sendmail.fc -compact .It Pa /etc/aliases エイリアス名の生データ .It Pa /etc/aliases.db エイリアス名のデータベース .It Pa /etc/sendmail.cf 設定ファイル .It Pa /usr/share/misc/sendmail.hf ヘルプファイル .It Pa /var/log/sendmail.st 統計情報ファイル .It Pa /var/spool/mqueue/* テンポラリファイル .El .Sh 関連項目 .Xr mail 1 , .Xr syslog 3 , .Xr aliases 5 , .Xr mailaddr 7 , .Xr mail.local 8 , .Xr rc 8 , .Xr rmail 8 ; .Pp DARPA Internet Request For Comments .%T RFC819 , .%T RFC821 , .%T RFC822 . .Rs .%T "Sendmail \- An Internetwork Mail Router" .%V SMM .%N \&No. 9 .Re .Rs .%T "Sendmail Installation and Operation Guide" .%V SMM .%N \&No. 8 .Re .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/shutdown.8 b/ja_JP.eucJP/man/man8/shutdown.8 index d85c16588a..bb9a3c6bb6 100644 --- a/ja_JP.eucJP/man/man8/shutdown.8 +++ b/ja_JP.eucJP/man/man8/shutdown.8 @@ -1,138 +1,138 @@ .\" Copyright (c) 1988, 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. .\" .\" @(#)shutdown.8 8.2 (Berkeley) 4/27/95 -.\" %Id: shutdown.8,v 1.8 1998/12/11 10:35:38 bde Exp % +.\" %Id: shutdown.8,v 1.9 1999/01/11 09:07:42 asami Exp % .\" jpman %Id: shutdown.8,v 1.2 1997/05/13 00:55:09 mutoh Stab % .\" .Dd Dec 11, 1998 .Dt SHUTDOWN 8 .Os BSD 4 .Sh 名称 .Nm shutdown .Nd 指定時刻にシステムを停止する .Sh 書式 .Nm shutdown .Op Fl .Op Fl hknpr .Ar time .Op Ar warning-message ... .Sh 解説 .Nm shutdown は、自動的にシャットダウンするための手順をスーパユーザに提供します。 システムがシャットダウンされるときユーザに知らせるので、 こういったお知せを面倒がって行なわない システム管理者やハッカーやグルといった人々から、ユーザを救います。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl h .Ar time で指定された時間に .Xr halt 8 を実行し、システムを停止します。 .It Fl k 全ユーザを追い出します。 実際にはシステムを停止しませんが、 マルチユーザシステムのままでスーパユーザ以外のユーザをログインできなくします。 .It Fl n 停止する前に、通常実行される .Xr sync 2 を実行しません。 .It Fl p 可能であれば、シャットダウン後にシステムは電源をオフします。 .It Fl r .Ar time で指定した時刻に .Xr reboot 8 を実行し、システムを再起動します。 .It Ar time .Nm がシステムを停止させる時間を指定します。 .Ar now を指定すると即時にシステムを停止します。 また、時間を指定する次の二つの書式があります: .Ar +number もしくは .Ar yymmddhhmm の形式です。現在のシステムの年・月・日の値がデフォルトになっています。 一つめの書式は .Ar number 分経過後をあらわし、二つめの書式は停止する時刻を直接指定します。 .It Ar warning-message その他の引数は現在ログイン中のユーザに送る警告メッセージとして扱われます。 .It Fl もし .Ql Fl がオプションとして与えられると、警告メッセージを標準入力から読み取ります。 .El .Pp システム停止の 10 時間前から、ログイン中の全てのユーザの端末に 警告メッセージが表示されはじめ、終末が近付くにつれ頻繁になってきます。 システム停止の 5 分前、もしくは 5 分以内にシステム停止する場合には、 ただちに警告メッセージをコピーした -.Pa /etc/nologin +.Pa /var/run/nologin が作られログインが禁止されます。 ユーザがログインしようとした際にこのファイルが存在する場合には、 .Xr login 1 はその内容を表示し終了します。このファイルは .Nm が終了する際に削除されます。 .Pp システム停止時には、システムを停止した時間、実行者、理由が システムログに記録されます。その後、terminate シグナルが .Xr init 8 に送られ、システムをシングルユーザ状態にします(この動作は上記の オプションに依存します)。 システムを停止する時間と警告メッセージは -.Pa /etc/nologin +.Pa /var/run/nologin に置かれます。これをユーザにシステムを再開する時間や、なぜシステムを 停止するかなどを知らせるために使うべきです。 .Sh 関連ファイル -.Bl -tag -width /etc/nologin -compact -.It Pa /etc/nologin +.Bl -tag -width /var/run/nologin -compact +.It Pa /var/run/nologin login に誰にもログインさせないことを知らせます。 .El .Sh 関連項目 .Xr login 1 , .Xr wall 1 , .Xr nologin 5 , .Xr halt 8 , .Xr reboot 8 .Bd -literal -offset indent .Sh 以前との互換性 以前との互換性のため、二つめの書式で時と分をコロン(``:'')で区切ることができます。 .Ed .Sh 歴史 .Nm コマンドは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/smrsh.8 b/ja_JP.eucJP/man/man8/smrsh.8 index 62d88f88a5..b76d345a34 100644 --- a/ja_JP.eucJP/man/man8/smrsh.8 +++ b/ja_JP.eucJP/man/man8/smrsh.8 @@ -1,81 +1,81 @@ .\" Copyright (c) 1998 Sendmail, Inc. 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/98 +.\" @(#)smrsh.8 8.7 (Berkeley) 5/19/1998 .\" 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 ディレクトリに存在するもの だけに限定します。これにより、システム管理者は利用可能なコマンドを選択する 事ができます。 更に、 .I smrsh は、``end run'' 攻撃を防ぐために、コマンド行に `\`', `<', `>', `|', `;', `&', `$', `(', `)', `\er'(キャリッジリターン), `\en'(ニューライン) の文字を含むコマンドは実行しません。 .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/sysctl.8 b/ja_JP.eucJP/man/man8/sysctl.8 index 2727cca4ef..e67202ee59 100644 --- a/ja_JP.eucJP/man/man8/sysctl.8 +++ b/ja_JP.eucJP/man/man8/sysctl.8 @@ -1,246 +1,248 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 -.\" %Id: sysctl.8,v 1.17 1998/09/29 02:01:06 jkoshy Exp % +.\" %Id: sysctl.8,v 1.18 1999/01/10 02:10:08 des Exp % .\" jpman %Id: sysctl.8,v 1.2 1997/05/30 00:57:58 yugawa Stab % .\" .Dd September 23, 1994 .Dt SYSCTL 8 .Os .Sh 名称 .Nm sysctl .Nd カーネル状態の取得や設定 .Sh 書式 .Nm sysctl -.Op Fl bn +.Op Fl bdn .Ar name ... .Nm sysctl .Op Fl bn .Fl w .Ar name=value ... .Nm sysctl -.Op Fl bn +.Op Fl bdn .Fl aAX .Sh 解説 .Nm はカーネル状態を取り出し、適切な権限があれば プロセスがカーネル状態を設定することを許します。取り出され たり、設定されたりした状態は、``Management Information Base''(``MIB'') 形式を使って記述されます。この形式では、要素はドット ``.'' で 接続されます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl a 現在有効な文字列や整数値をすべて表示します。 .It Fl A データ形式を知らないもの(以下、形式不明の変数と称する) を含めて、 存在している全ての MIB を表示します。 .Fl a フラグ同様、文字列や整数値も表示されます。 形式不明の変数に関しては、 そのフォーマットおよび長さに関する情報と、その変数の内容の最初の数バイトを 16 進数でダンプします。 .It Fl X フラグは、形式不明の変数の全ての内容が 16 進数でダンプされる以外は .Fl A と同じです。 .It Fl n フィールド名の出力は抑制されて、値 だけが表示されます。これはシェル変数を設定するのに役に 立ちます。たとえば、ページサイズを変数 psize に保存する には、以下のようにします: .Bd -literal -offset indent -compact set psize=`sysctl -n hw.pagesize` .Ed .Pp .It Fl b 変数の値を加工せずに、バイナリ形式で表示します。 変数名や、最後の改行文字は出力されません。これは、単一の変数に対して 操作する際に便利でしょう。 +.It Fl d +指定した変数の値ではなく、内容記述を表示します。 .It Fl w Ar name=value ... MIB の .Ar name を新しい値 .Ar value に設定します。 MIB 形式 .Ar name だけが指定された場合、その名前に対応する値が得られます。 .El .Nm で得られる情報は、整数、文字列、形式不明の変数です。 .Nm はいくつかの形式不明の変数の形式を知っているだけで、それ以外のものに 対しては 16 進ダンプに頼ります。 形式不明の変数の情報は、 .Nm ps や .Nm systat , .Nm netstat などの特別な目的のプログラムによって取得された場合に、より効果的です。 .Pp 文字列と整数の情報を簡単にまとめて以下に示します。これらの 変数の詳細な説明は、 .Xr sysctl 3 を参照してください。 .Pp changeable の列は、適切な権限を持つプロセスがその値を変更 できるかどうかを示しています。 .Bl -column net.inet.ip.forwardingxxxxxx integerxxx .It Sy Name Type Changeable .It kern.ostype string no .It kern.osrelease string no .It kern.osrevision integer no .It kern.version string no .It kern.maxvnodes integer yes .It kern.maxproc integer no .It kern.maxprocperuid integer yes .It kern.maxfiles integer yes .It kern.maxfilesperproc integer yes .It kern.argmax integer no .It kern.securelevel integer raise only .It kern.hostname string yes .It kern.hostid integer yes .It kern.clockrate struct no .It kern.posix1version integer no .It kern.ngroups integer no .It kern.job_control integer no .It kern.saved_ids integer no .It kern.boottime struct no .It kern.domainname string yes .It kern.update integer yes .It kern.osreldate string no .It kern.bootfile string yes .It kern.corefile string yes .It kern.logsigexit integer yes .It vm.loadavg struct no .It hw.machine string no .It hw.model string no .It hw.ncpu integer no .It hw.byteorder integer no .It hw.physmem integer no .It hw.usermem integer no .It hw.pagesize integer no .It hw.floatingpoint integer no .It hw.machine_arch string no .It machdep.console_device dev_t no .It machdep.adjkerntz integer yes .It machdep.disable_rtc_set integer yes .It user.cs_path string no .It user.bc_base_max integer no .It user.bc_dim_max integer no .It user.bc_scale_max integer no .It user.bc_string_max integer no .It user.coll_weights_max integer no .It user.expr_nest_max integer no .It user.line_max integer no .It user.re_dup_max integer no .It user.posix2_version integer no .It user.posix2_c_bind integer no .It user.posix2_c_dev integer no .It user.posix2_char_term integer no .It user.posix2_fort_dev integer no .It user.posix2_fort_run integer no .It user.posix2_localedef integer no .It user.posix2_sw_dev integer no .It user.posix2_upe integer no .It user.stream_max integer no .It user.tzname_max integer no .El .Pp .Sh 使用例 たとえば、システム中で許されている最大のプロセス数を知りたい ときは、以下のようにします: .Bd -literal -offset indent -compact sysctl kern.maxproc .Ed .Pp システム中で許されている最大のプロセス数を 1000 に設定する には、以下のようにします: .Bd -literal -offset indent -compact sysctl -w kern.maxproc=1000 .Ed .Pp システムのクロックレートに関する情報を得るには、以下の ようにします: .Bd -literal -offset indent -compact sysctl kern.clockrate .Ed .Pp システム負荷(ロード・アベレージ)の履歴に関する情報を 得るには、以下のようにします: .Bd -literal -offset indent -compact sysctl vm.loadavg .Ed .Pp ここに挙げたもの以外の変数も存在します。それらに関するより深い意味を知る もっとも良く、かつ、おそらく唯一の方法は、それらを定義しているソースコードを みる事であることは疑いのない事実でしょう。 .Sh 関連ファイル .Bl -tag -width -compact .It Pa トップレベルの識別子、第 2 レベルのカーネル/ハードウェア識別子、 そしてユーザレベル識別子の定義 .It Pa 第 2 レベルのネットワーク識別子の定義 .It Pa 第 3 レベルのプロファイル識別子の定義 .It Pa 第 2 レベルの仮想メモリ識別子の定義 .It Pa 第 3 レベルのインターネット識別子と 第 4 レベルの IP 識別子の定義 .It Pa 第 4 レベルの ICMP 識別子の定義 .It Pa 第 4 レベルの UDP 識別子の定義 .El .Sh 関連項目 .Xr sysctl 3 .Sh バグ 現状では .Nm は、sysctl ツリーの追跡、および、形式と名前の情報を得る際に、 文書化されていないカーネルの sysctl 機能へのインタフェースを使用しています。 この方法に関する正しいインタフェースは、現在検討中です。 .Sh 歴史 .Nm sysctl は .Bx 4.4 ではじめて登場しました。 .Pp .Fx 2.2 の .Nm sysctl は著しく改良されています。 diff --git a/ja_JP.eucJP/man/man8/tunefs.8 b/ja_JP.eucJP/man/man8/tunefs.8 index 1d99b2b058..355d4bf878 100644 --- a/ja_JP.eucJP/man/man8/tunefs.8 +++ b/ja_JP.eucJP/man/man8/tunefs.8 @@ -1,152 +1,152 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tunefs.8 8.2 (Berkeley) 12/11/93 -.\" %Id: tunefs.8,v 1.7 1998/08/03 06:41:20 charnier Exp % +.\" %Id: tunefs.8,v 1.8 1999/01/13 08:07:56 des Exp % .\" jpman %Id: tunefs.8,v 1.3 1997/07/26 22:16:10 horikawa Stab % .\" .Dd December 11, 1993 .Dt TUNEFS 8 .Os BSD 4.2 .Sh 名称 .Nm tunefs .Nd 既存のファイルシステムをチューンする .Sh 書式 .Nm tunefs .Op Fl A .Op Fl a Ar maxcontig .Op Fl d Ar rotdelay .Op Fl e Ar maxbpg .Op Fl m Ar minfree -.Op Fl p .Bk -words .Op Fl n Ar enable | disable .Op Fl o Ar optimize_preference +.Op Fl p .Ek .Op Ar special | Ar filesystem .Sh 解説 .Nm tunefs は、ファイルシステムのレイアウト方針に影響する動的なパラメータを 変更するために使います。変更するパラメータは以下のフラグで指定します: .Bl -tag -width indent .It Fl A ファイルシステムはスーパブロックのバックアップをいくつか持っています。 このオプションを指定すると、全てのバックアップの内容は プライマリスーパブロックと同じく変更されます。 これはかなりの危険を秘めています。実行する時は気をつけて下さい。 .It Fl a Ar maxcontig 回転遅延 ( .Fl d を参照) が強制的に行われる前に連続して配置されるブロック数を指定します。 ほとんどのデバイスドライバはディスク転送のたびに割り込みが必要なので、 デフォルト値は 1 です。 一度の転送でいくつかのバッファをつないで転送できるデバイスドライバでは、 この値を最大の連結長にすべきです。 .It Fl d Ar rotdelay 同じディスクに対する転送完了割り込みサービスと 次の転送を開始する時間の期待値をミリ秒単位で指定します。 この値は、回転遅延によるファイル中のブロック間隔を決めるのに使います。 .It Fl e Ar maxbpg 単一のファイルが他のシリンダグループへまたがる前に、1 つのシリンダグループ から割り当てることのできる最大のブロック数を指定します。 普通は、この値にはシリンダグループのブロック数の約 1/4 が使われます。 この値は、単一のファイルが 1 つのシリンダグループのブロックを使いつくして しまうことを防ぐために指定します。 なぜなら、これによって、そのシリンダグループに続いて配置される すべてのファイルのアクセス速度を低下させてしまうからです。 この制限によって、大きなファイルに対しては 1 つのシリンダに配置するよりも、 長いシークをより頻繁に行わせることがあります。 極端に大きなファイルのあるファイルシステムに対しては、 このパラメータは大きな値にすべきです。 .It Fl m Ar minfree 一般ユーザが利用することができない領域の割合を指定します。 これは最低限の空き領域のしきい値となります。 デフォルト値は 8% です。 この値はゼロにすることもできますが、10% のしきい値を設けた場合と比較し、 アクセスの効率が最大 3 倍まで落ちてしまいます。 5% 以下にすると常に最適化は space 優先になってしまい、 ファイル書き込みのオーバーヘッドがかなり増えます。 もしこの値を現在の空き領域より大きな値に引き上げると、 ファイルを削除してその値を満たすだけの空き領域を用意するまで、 ユーザはファイルを作成することができなくなります。 .It Fl n Ar enable | disable ソフトアップデートをオン/オフします。 ファイルシステムのアンマウントが必要です。 .It Fl o Ar optimize_preference ファイルシステムの最適化において、 ブロック割り当てにかかる時間を最小化するか、 もしくはディスク上のフラグメントサイズを最小にするかの いずれかを選択できます。 space 優先の場合、 ファイル書き込みのオーバヘッドは大きくなります。 カーネルは通常、 ファイルシステムのフラグメントの割合に応じて自動的に優先を変化させます。 .It Fl p このオプションは、 指定されたファイルシステムにおいて現在変更可能な設定のまとめを表示します。 詳細は .Xr dumpfs 8 のマニュアルを参照してください。 .El .Sh 関連項目 .Xr fs 5 , .Xr dumpfs 8 , .Xr newfs 8 .Rs .%A M. McKusick .%A W. Joy .%A S. Leffler .%A R. Fabry .%T "A Fast File System for UNIX" .%J "ACM Transactions on Computer Systems 2" .%N 3 .%P pp 181-197 .%D August 1984 .%O "(reprinted in the BSD System Manager's Manual, SMM:5)" .Re .Sh バグ このプログラムは、 マウントされているファイルシステムに対しても動作すべきです。 スーパブロックはバッファキャッシュ内に保存されていないため、 実行の影響は、それをマウントされていないファイルシステムに 対して実行したときのみ現れます。 ルートファイルシステムをチューンするには、チューン後に再起動する必要が あります。 .\" Take this out and a Unix Demon will dog your steps from now until .\" the time_t's wrap around. .Pp ファイルシステムをチューンする事はできても、ファイルの中身まではチュー ンできません:-) .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/vinum.8 b/ja_JP.eucJP/man/man8/vinum.8 index bb60c396d9..b69ad75524 100644 --- a/ja_JP.eucJP/man/man8/vinum.8 +++ b/ja_JP.eucJP/man/man8/vinum.8 @@ -1,1047 +1,1268 @@ .\" Hey, Emacs, edit this file in -*- nroff-fill -*- mode .\" .\" jpman %Id: vinum.8,v 1.3 1999/01/05 15:15:53 horikawa Stab % .\" WORD: attach 結合 (する) -.Dd 11 July 1998 +.Dd 15 January 1999 .Dt vinum 8 .Os FreeBSD .Sh 名称 .Nm vinum .Nd 論理ボリュームマネージャの制御プログラム .Sh 書式 .Nm .Op command .Op Fl options .Sh コマンド .Cd create .Ar description-file .in +1i .Ar description-file の記述に従ってボリュームを作成します。 .in .\" XXX remove this .Cd attach Ar plex Ar volume .Op Nm rename .Cd attach Ar subdisk Ar plex Ar [offset] .Op Nm rename .in +1i プレックスをボリュームに、またはサブディスクをプレックスに結合します。 .in .\" XXX remove this .Cd debug .in +1i ボリュームマネージャをカーネルデバッガに移行させます。 .in +.Cd debug +.Ar flags +.in +1i +デバッグフラグを設定します。 +.in .Cd detach .Op Ar plex | subdisk -.in +1 +.in +1i 結合されていたボリュームやプレックスから、プレックスやサブディスクを分離します。 .in .Cd info .Op Fl v .in +1i ボリュームマネージャの状態を表示します。 .in .Cd init .Op Fl v .in +1i .\" XXX 配下の全サブディスクに 0 を書き込んでそのプレックスを初期化します。 .in .Cd label .Ar volume .in +1i ボリュームラベルを作成します。 .in .Cd list .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume | plex | subdisk .in +1i 指定したオブジェクトの情報を表示します。 .in .Cd l .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume | plex | subdisk .in +1i 指定したオブジェクトの情報を表示します ( .Cd list コマンドの別形式)。 .in .Cd ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .in +1i ドライブの情報を表示します。 .in .Cd ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op subdisk .in +1i サブディスクの情報を表示します。 .in .Cd lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op plex .in +1i プレックスの情報を表示します。 .in .Cd lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .in +1i ボリュームの情報を表示します。 .in .Cd makedev .in +1i -/dev/vinum にデバイスノードを再作成します。 +.Ar /dev/vinum +にデバイスノードを再作成します。 +.in +.Cd quit +.in +1i +対話モード時に、 +.Nm +プログラムを終了します。通常 +.Ar EOF +文字を入力することにより実現できます。 .in .Cd read -.Ar disk-partition +.Ar disk Op disk... .in +1i -指定したディスクパーティションから +指定したディスクから .Nm の設定を読み出します。 .in .Cd rename Op Fl r .Ar [ drive | subdisk | plex | volume ] .Ar newname .in +1i 指定したオブジェクトの名前を変更します。 +.ig +.XXX .in .Cd replace .Ar [ subdisk | plex ] .Ar newobject .in +1i オブジェクトを同一の他のオブジェクトと入れ換えます。XXX まだ実装されていません。 +.. .in .Cd resetconfig .in +1i すべての .Nm の設定をリセットします。 .in .Cd resetstats .Op Fl r .Op volume | plex | subdisk .in +1i 指定したオブジェクトの統計情報をリセットします。指定がない場合はすべての オブジェクトが対象です。 .in .Cd rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .in +1i オブジェクトを削除します。 .in .ig XXX .Cd set .Op Fl f .Ar state .Ar volume | plex | subdisk | disk .in +1i オブジェクトの状態を \fIstate\fP\| に設定します。 .in .. +.Cd setdaemon +.Op value +.in +1i +デーモンの設定を与えます。 +.in .Cd start .Op volume | plex | subdisk .in +1i システムがオブジェクトへアクセスできるようにします。 .in .Cd stop .Op Fl f .Op volume | plex | subdisk .in +1i オブジェクトへのアクセスを終了させます。 .in .Sh 解説 .Nm は \fBVinum\fP\| 論理ボリュームマネージャと通信するための ユーティリティプログラムです。 ボリュームマネージャの詳細については .Xr vinum 4 を参照してください。 .Xr vinum 8 は対話形式と、単独のコマンドを実行する形式のいずれも実行可能になっています。 コマンドを伴わずに .Nm を起動すると対話形式になる一方、引数としてコマンドを指定するとそのコマンド だけを実行します。 +対話モードでは、 +.Nm +はコマンドラインヒストリを保持します。 .Ss オプション .Nm のコマンドにはオプションを付加することができます。どのコマンドにも 下記オプションのどれでも指定することができますが、指定しても変化がない場合も あります。 その場合にはそのオプションは無視されます。例えば、 .Nm stop コマンドは .Fl v オプションと .Fl V オプションを無視します。 .Bl -hang .It Cd -v .Nm -v オプションはどのコマンドにも使えて、より詳細な情報を引き出します。 .It Cd -V .Nm -V オプションはどのコマンドにも使えて、 .Nm -v オプションが表示するものよりさらに詳細な情報を引き出します。 .It Cd -f .Nm -f オプションは安全性の確認を無効にします。細心の注意を払って 使用して下さい。 このオプションは緊急時にのみ使用するものです。例えば、 コマンド .Bd -unfilled -offset indent rm -f myvolume .Ed .Pp は .Nm myvolume がオープンされていたとしても削除します。以降、このボリュームに アクセスすると、ほぼ確実にパニックを起こします。 .It Cd -r .Nm -r (``recursive: 再帰的'') オプションは表示系のコマンドで使い、 指示したオブジェクト だけでなく、配下のオブジェクトの情報も表示します。 例えば、 .Nm lv コマンドとともに使われる場合、 .Nm -r オプションは対象のボリュームに属するプレックスとサブディスクの情報も表示します。 .It Cd -s .Nm -s オプションは表示系のコマンドで統計情報を表示するために使います。 .El .Pp .Ss コマンドの詳細 .Pp .Nm コマンドは以下の機能を実行します。 .Bl -hang .It Nm attach Ar plex Ar volume .Op Nm rename -.sp -1v +.if n .sp -1v +.if t .sp -.6v .It Nm attach Ar subdisk Ar plex Ar [offset] .Op Nm rename .sp .Nm .Ar attach は指定されたプレックスやサブディスクをそれぞれボリュームやプレックスに 組み込みます。サブディスクに ついては、プレックス中の始点 (オフセット) を指定することができます。 指定がない場合、 サブディスクは有効な最初の位置に結合されます。空でないボリュームにプレックスが 結合されると、 .Nm はそのプレックスを再統合します。 .Pp .Nm rename キーワードが指定されると、 .Nm はオブジェクトの (プレックスの場合には配下のサブディスクの) 名前を変更して デフォルトの .Nm 命名規則に合わせます。 .Pp サブディスク結合に際しては、いくつか考慮すべきことがあります: .Bl -bullet .It サブディスクの結合対象は、通常、コンカチネート化プレックスのみです。 .It ストライプ化プレックスおよび RAID-5 プレックスにおいて サブディスクが失われた場合 (例えばドライブの故障後など)、 当該サブディスクを置き換えられるのは同じ大きさのサブディスクだけです。 別のサブディスクを結合することは、現在許されていません。 .It コンカチネート化プレックスに対しては、 .Ar offset パラメータが、プレックスの先頭からのブロック単位のオフセットを指定します。 ストライプ化プレックスおよび RAID-5 プレックスに対しては、 本パラメータは、サブディスクの最初のブロックのオフセットを指定します。 別の表現をするなら、オフセットは、 サブディスクの数値指定による位置とストライプの大きさとの積になります。 例えば、ブロックの大きさが 256k のプレックスでは、 最初のサブディスクはオフセット 0 に、2 番目のオフセットは 256k に、 3 番目は 512k に、などとなります。 この計算では、RAID-5 プレックスのパリティブロックは無視されます。 .El .It Nm create Ar description-file .sp .Nm .Ar create はどのオブジェクトの作成にも使われます。相互の関連性が比較的複雑で .Nm オブジェクトの作成には潜在的に危険があることを考慮して、この機能には対話的な インタフェースはありません。詳細は後述の設定ファイルの節を参照して下さい。 .It Nm debug .Pp .Nm .Ar debug はリモートカーネルデバッガに入るために使用します。これは .Nm -が DEBUG オプション付きで作成されている場合にのみ実行可能です。 +が +.Ar VINUMDEBUG +オプション付きで作成されている場合にのみ実行可能です。 このオプションはカーネルデバッガから抜け出るまでオペレーティング システムの実行を停止させます。もしカーネルデバッガへのリモートコネクション がないと、デバッガから抜け出るためにはシステムをリセットしてリブート することが必要になります。 +.It Nm debug +.Ar flags +.Pp +内部デバッグフラグのマスクを設定します。 +この製品は十分に発達しているため、 +デバッグフラグのマスクは警告無しに変わります。 +.\" この文って(自虐的に)本来の意図とは逆のことを書いている? +.\" horikawa@jp.freebsd.org 1999/01/30 +.\" 原文 These will change without warning as the product matures. +確認のために、ヘッダファイル +.Pa sys/dev/vinumvar.h +を見てください。 +ビットマスクは次の値から構成されます: +.Bl -hang +.It DEBUG_ADDRESSES (1) +.br +リクエスト中のバッファ情報を表示します。 +.It DEBUG_NUMOUTPUT (2) +.br +.Dv vp->v_numoutput +の値を表示します。 +.It DEBUG_RESID (4) +.br +.Fd complete_rqe +においてデバッガに移行します。 +.It DEBUG_LASTREQS (8) +.br +最新のリクエストのリングバッファを保存します。 +.It DEBUG_REVIVECONFLICT (16) +.br +再生における衝突に関する情報を表示します。 +.It DEBUG_REMOTEGDB (256) +.br +.Nm debug +コマンドが発行されたときに、リモート +.Ic gdb +に移行します。 +.El .It Nm detach Op Fl f .Ar plex -.sp -1v +.if n .sp -1v +.if t .sp -.6v .It Nm detach Op Fl f .Ar subdisk .sp .Nm .Ar detach は指定されたプレックスやサブディスクを、 結合されているボリュームやプレックスから 分離します。分離するとボリュームのデータが欠ける可能性のある 場合、この操作は .Fl f オプションを指定しない限り実行されません。 オブジェクトが上位のオブジェクトに従った名前になっている場合 (例えば、プレックス vol1.p7 に結合されているサブディスク vol1.p7.s0 の場合)、 その名前は頭に ``ex-'' がついたものに変更されます (例えば ex-vol1.p7.s0 に変更されます)。 その後の処理で必要であれば、その名前から頭の部分が外されます。 .Pp ストライプ化プレックスおよび RAID-5 プレックスにおいては、 .Nm detach はサブディスク数を減らしません。 その代わり、サブディスクには存在しないという印が付けられ、後で .Nm attach コマンドを使用して交換可能となります。 .It Nm info -.Pp +.br .Nm .Ar info は .Nm のメモリ使用に関する情報を表示します。これは主にデバッグのためのものです。 .Fl v オプションを付けると、使用中のメモリ領域についての詳細な情報を表示します。 +.Pp +.Fl V +オプションを付けると、 +.Nm +ドライバが扱った最大 64 個までの最近の I/O に関する情報を、 +.Ar info +は表示します。 +この情報は、デバッグフラグ 8 が設定されているときのみ収集されます。 +書式は次のようになります: +.Pp +.Bd -literal +vinum -> info -V +Flags: 0x200 1 opens +Total of 38 blocks malloced, total memory: 16460 +Maximum allocs: 56, malloc table at 0xf0f72dbc + +Time Event Buf Dev Offset Bytes SD SDoff Doffset Goffset + +14:40:00.637758 1VS Write 0xf2361f40 0x5b03 0x10 16384 +14:40:00.639280 2LR Write 0xf2361f40 0x5b03 0x10 16384 +14:40:00.639294 3RQ Read 0xf2361f40 0x427 0x104109 8192 19 0 0 0 +14:40:00.639455 3RQ Read 0xf2361f40 0x417 0xd2109 8192 17 0 0 0 +14:40:00.639529 3RQ Read 0xf2361f40 0x40f 0x6e109 8192 16 0 0 0 +14:40:00.652978 4DN Read 0xf2361f40 0x427 0x104109 8192 19 0 0 0 +14:40:00.667040 4DN Read 0xf2361f40 0x40f 0x6e109 8192 16 0 0 0 +14:40:00.668556 4DN Read 0xf2361f40 0x417 0xd2109 8192 17 0 0 0 +14:40:00.669777 6RP Write 0xf2361f40 0x427 0x104109 8192 19 0 0 0 +14:40:00.685547 4DN Write 0xf2361f40 0x427 0x104109 8192 19 0 0 0 +.Ed +.Pp +.Ar Buf +フィールドは、ユーザバッファヘッダのアドレスを常に含みます。 +ユーザリクエストに関連付けられるリクエスト (複数可) を識別するために +使用できますが、100% 信頼できるものというわけではありません: +理論的には、シーケンス中の 2 個のリクエストが同じバッファヘッダを使い得ますが、 +これは一般的ではありません。 +リクエストの先頭は、イベント +.Ar 1VS +で識別可能です。 +前記の例では、複数のリクエストが単一のユーザリクエストに含まれています。 +.Pp +.Ar Event +フィールドは、 +リクエストチェーン中のイベントシーケンスに関連する情報を含みます。 +.Ar 1 +から +.Ar 6 +までの数字はイベントの大まかなシーケンスを示し、 +2 文字の省略形は位置のニーモニックです。 +.Bl -hang +.It 1VS +(vinum の strategy) +.Fd vinumstrategy +の入口にある、ユーザ情報に関する情報を表示します。 +デバイス番号は +.Nm +デバイスであり、オフセットと長さはユーザパラメータです。 +本ニーモニックは、常にリクエストシーケンスの先頭になります。 +.It 2LR +(リクエスト発行) 関数 +.Fd launch_requests +において低レベル +.Nm +リクエストを発行する直前の、ユーザリクエストを表示します。 +パラメータは +.Ar 1VS +の情報と同じはずです。 +.Pp +ここから後のリクエストでは、利用可能である場合、 +.Ar Dev +は関連付けられたディスクパーティションのデバイス番号であり、 +.Ar Offset +はパーティションの先頭からのオフセットであり、 +.Ar SD +は +.Dv vinum_conf +中のサブディスクインデックスであり。 +.Ar SDoff +はサブディスクの先頭からのオフセットであり、 +.Ar Doffset +は関連付けられたデータリクエストのオフセットであり、 +.Ar Goffset +は関連付けられたグループリクエストのオフセットです。 +.It 3RQ +(リクエスト) 上位レベルのリクエストを満たすために発行される、 +いくつかありうる下位レベル +.Nm +リクエストのうちのひとつを表示します。 +この情報は、 +.Fd launch_requests +においても記録されます。 +.It 4DN +(完了) +.Fd complete_rqe +から呼ばれ、リクエストの完了を表示します。 +この完了は、ステージ +.Ar 4DN +において +.Fd launch_requests +から発行されたリクエストか、またはステージ +.Ar 5RD +か +.Ar 6RP +の +.Fd complete_raid5_write +から発行されたリクエストにマッチするはずです。 +.It 5RD +(RAID-5 データ) +.Fd complete_raid5_write +から呼ばれ、 +パリティ計算後に RAID-5 データストライプへ書き込まれたデータを表現します。 +.It 6RP +(RAID-5 パリティ) +.Fd complete_raid5_write +から呼ばれ、 +パリティ計算後に RAID-5 パリティストライプへ書き込まれたデータを表現します。 +.El .\" XXX .It Nm init Ar plex .Pp .Nm .Ar init は指定したプレックスのすべてのサブディスクに 0 を書き込んでプレックスを初期化 します。これはプレックス中のデータに矛盾のないことを確実にする唯一の方法です。 RAID-5 プレックスの使用前には、この初期化が必要です。 他の新規プレックスに対しても、この初期化を推奨します。 .Pp .Nm はプレックス中のすべてのサブディスクを並行して初期化します。 この操作には長い時間が かかるため、バックグラウンドで実行されます。 .Nm は初期化が完了するとコンソールメッセージを出力します。 .It Nm label .Ar volume .Pp .Nm label コマンドは、ボリュームに .Ar ufs 形式のボリュームラベルを書き込みます。これは適切に .Ar disklabel を呼び出すことに対しての、単純な代替方法です。 いくつかの .Ar ufs コマンドはラベルを入手するために正規の .Ar ioctl コールを使わず、依然としてラベルを捜してディスクの読み込みを行う ため、このコマンドは必要になります。 .Nm はボリュームのデータとは別にボリュームラベルを保持しているため、この コマンドは .Ar newfs 用には必要ありません。 このコマンドの価値は低下しています。 .Pp .It Nm list .Op Fl r .Op Fl V .Op volume | plex | subdisk -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm l .Op Fl r .Op Fl V .Op volume | plex | subdisk -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op subdisk -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op plex -.sp -1 +.if n .sp -1v +.if t .sp -.6v .It Nm lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op volume .Pp .Ar list は指定したオブジェクトの情報を表示するために使われます。引数が省略されると .Nm が認識しているすべてのオブジェクトについての情報が表示されます。 .Ar l コマンドは .Ar list と同じものです。 .Pp .Fl r オプションはボリュームとプレックスに関連します。 指定されると、そのオブジェクト配下のサブディスクと (ボリュームに対しては) プレックスの情報を再帰的に表示します。 .Ar lv , .Ar lp , .Ar ls , .Ar ld のコマンドは、それぞれボリューム、プレックス、サブディスク、そしてドライブの 情報だけを表示します。これはパラメータを指定しないで使う場合に特に有用です。 .Pp .Fl s オプションで .Nm は装置の統計情報を出力するようになり、 .Op Fl v (verbose: 饒舌な) オプションはいくらかの付加情報を出力させ、 そして .Op Fl V は数多くの付加情報を出力させます。 .It Nm makedev .br .Nm makedev コマンドは、ディレクトリ /dev/vinum を除去した上で、 現在の設定を反映するようなデバイスノードと共にこのディレクトリを再作成します。 本コマンドは、通常の場合に使用されることを意図していません。 非常時にのみ使用するために提供しています。 .Pp +.It Nm quit +対話モードで実行中のときに、 +.Nm +プログラムを終了します。通常は、文字 +.Ar EOF +を入力することで実現できます。 .It Nm read -.Ar disk-partition +.Ar disk Op disk... .Pp .Nm read -コマンドは、指定したディスクパーティションから、作成済の +コマンドは、指定したディスクを走査し、作成済の +.Nm +設定を探します。 +そして、最近更新されたものから過去に更新されたものの順番で、 +設定を読み込みます。通常、この方法で .Nm -設定を読み込みます。 +を起動します。 .Nm は最新のすべての設定情報を各ディスクパーティションに保持しています。 このコマンドの -パラメータとして、構成の中のどのパーティションでも指定することができます。 +パラメータとして、構成の中の全パーティションを指定する必要があります。 +.Nm +.Nm read +は非 Vinum パーティションの名前を受け付けますので、 +.Nm +パーティションが存在するかもしれない全パーティションを、 +本コマンドに指定することができます .It Nm rename .Op Fl r .Ar [ drive | subdisk | plex | volume ] .Ar newname .Pp 指定したオブジェクトの名前を変更します。 .Fl r オプションが指定されると、配下のオブジェクトがデフォルトの規則に従って命名され ます。プレックスの名前はボリューム名に .p\f(BInumber\fP を付加して作られ、 サブディスクの名前はプレックス名に .s\f(BInumber\fP を付加して作られます。 .It Nm replace .Ar [ subdisk | plex ] .Ar newobject .Pp 指定したオブジェクトを同一の他のオブジェクトで置き換えます。このコマンドはまだ 実装されていません。 .It Nm resetconfig .Pp .Nm resetconfig コマンドはシステム内の .Nm 設定を完全に削除します。設定を完全に消去したい場合にだけ使って下さい。 .Nm は確認を求めます。NO FUTURE (前途なし) という語句を以下の通りに入力する必要が あります。 .Bd -unfilled -offset indent # \f(CBvinum resetconfig\f(CW WARNING! This command will completely wipe out your vinum configuration. All data will be lost. If you really want to do this, enter the text NO FUTURE Enter text -> \f(BINO FUTURE\fP Vinum configuration obliterated (訳注: ここから上記テキストの翻訳です) -警告! このコマンドはあなたの vinum 設定を完全に消し去ります。すべての -データは失われます。本当にこれを実行したい場合は、語句 +警告! このコマンドはあなたの vinum 設定を完全に消し去ります。 +全データは失われます。本当にこれを実行したい場合は、語句 NO FUTURE を入力して下さい。 入力してください -> \f(BINO FUTURE\fP vinum の設定は削除されました。 (訳注: ここまで上記テキストの翻訳です) .Ed .ft R +.Pp +メッセージが示すように、どたん場のコマンドです。 +既存の設定をもう見たくもないとき以外は、このコマンドを使わないでください。 .It Nm resetstats .Op Fl r .Op volume | plex | subdisk .Pp .Nm は各オブジェクトについて多数の統計カウンタを保持しています。詳細は ヘッダファイル .Fi vinumvar.h を参照して下さい。 .\" XXX 仕上がったらここに入れる これらのカウンタをリセットするためには .Nm resetstats コマンドを使って下さい。 .Fl r オプションも共に指定すると、 .Nm は配下のオブジェクトのカウンタもリセットします。 .It Nm rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .Pp .Nm rm はオブジェクトを .Nm 設定から消去します。ひとたびオブジェクトが消去されるとそれを復旧する方法は ありません。通常 .Nm はオブジェクトを消去する前に数多くの一貫性確認を行います。 .Fl f オプションを指定すると、 .Nm はこの確認を省略し、オブジェクトを無条件に消去します。このオプションは細心の 注意を払って使用して下さい。ボリューム上のすべてのデータを失うことも あり得ます。 .Pp 通常、 .Nm は配下にプレックスを持つボリュームや、配下にサブディスクを持つプレックスを 消去することを拒否します。 .Fl f フラグを指定すると、 .Nm は無条件にオブジェクトを消去します。または .Fl r (recursive: 再帰的) フラグを使うことで、同様に配下のオブジェクトを 消去することができます。 .Fl r フラグを付けてボリュームを消去すると、プレックスとそれに属するサブディスクも 消去します。 .ig .It Nm set .Op Fl f .Ar state .Ar volume | plex | subdisk | disk .Nm set は指定したオブジェクトに、妥当な状態 (下記「オブジェクト状態」参照) のひとつを セットします。 通常、 .Nm は変更を加える前に非常に多くの一貫性の調査を実行します。 .Fl f オプションを指定すると、 .Nm はこの調査を省略し、無条件に変更を行います。このオプションは大いに注意して 使って下さい。ボリューム上のすべてのデータを失うこともあり得ます。 .\"XXX .Nm このコマンドはまだ実装されていません。 .. +.It Nm setdaemon +.Op value +.Pp +.Nm setdaemon +は +.Nm +デーモンの変数ビットマスクを設定します。 +本コマンドは一時的なものであり、将来置き換えられます。 +現在、ビットマスクにはビット 1 (全アクションを syslog へ記録する) と +ビット 4 (設定を更新しない) があります。 +オプションビット 4 はエラー回復時に有用かもしれません。 .It Nm start .Op volume | plex | subdisk .Pp .Nm start -は +は 1 つまたはそれ以上の .Nm -サブシステムやその中の 1 つのコンポーネントを起動します。 +オブジェクトを起動します。 マルチプレックスボリュームの中の 1 つのプレックスを起動するには、 ボリューム中の他のプレックスからデータをコピーする必要があります。 これにはしばしば長い時間がかかるため、バックグラウンドで実行されます。 .ig XXX 引数なしで起動されると、システムに接続されているすべてのディスクを調べて BSD パーティション (type 165) を見つけます。そしてパーティションを走査して .Nm パーティションを求めます。これは \fIドライブ\fR\| と呼ばれます。 .Nm ドライブにはそのドライブ中のデータについてのすべての情報を持つヘッダが 入っており、その情報としてはプレックスとボリュームを表現するために必要な 他のドライブの名前を含んでいます。 .\" XXX .Nm 走査機能はまだ実装されていません。 .. .It Nm stop .Op Fl f .Op volume | plex | subdisk .Pp .Nm stop は、指定したオブジェクトと配下のオブジェクトに対するアクセスを抑止します。 オブジェクトを設定から削除することはありません。 .Nm start コマンドの後で再度アクセスができるようになります。 .Pp デフォルトでは .Nm は動作中のオブジェクトは削除しません。例えば、動作中のボリュームに結合 されているプレックスは削除できないし、オープン中のボリュームは削除できません。 .Fl f オプションは .Nm にこの確認を省略して無条件に削除するよう指示します。このオプションは 大いに注意し、よく理解した上で使って下さい。もし間違って使うとひどい データ破壊を起こすことがあります。 .El .Ss 設定ファイル .Nm では、 .Nm create コマンドに渡すすべての引数は設定ファイルに入っている必要があります。 設定ファイルのエントリは、ボリュームやプレックスやサブディスクを定義します。 エントリは 1 行に 1 つということ以外には決まった書式はありません。 .Pp 設定ファイルのいくつかの引数では、大きさ (長さ、ストライプ長) を指定します。 これらの長さは、バイト単位でも、512バイトのセクタ数 (\f(CWb\fRを後ろにつける) でも、キロバイト単位 (\f(CWk\fRをつける) でも、メガバイト単位(\f(CWm\fRを つける)でも、またはギガバイト単位 (\f(CWg\fRをつける) でも指定することが できます。これらの数はそれぞれ 2**10、2**20、2**30を表しています。例えば、 \f(CW16777216\fR バイトという値は \f(CW16m\fR とも \f(CW16384k\fR とも \f(CW32768b\fR とも記述することができます。 .Pp 設定ファイルには以下のエントリを記述することができます。 .Pp -.Bl -hang +.Bl -hang -width 4n .It Nm volume .Ar name .Op options .Pp .Ar name という名前でボリュームを定義します。 .Pp オプションには次のものがあります。 .Pp -.TS H -tab(#) ; -l lw50 . -オプション#意味 -.TH N -T{ -.Nm plex -.Ar plexname -T}#T{ +.Bl -hang -width 18n +.It Nm plex Ar plexname 指定したプレックスをボリュームに追加します。 .Ar plexname が .Ar * として指定されると、 .Nm は設定ファイル中のボリューム定義の後で、次の妥当なエントリとなり得るプレックス の定義を捜します。 -T} -.sp -T{ -.Nm readpol -.Ar policy -T}#T{ +.It Nm readpol Ar policy ボリュームの .Ar read policy (読み込み方針) を定義します。 .Ar policy は .Nm round か .Nm prefer Ar plexname のどちらかです。 .Nm は読み込み要求を、ただ 1 つのプレックスによって満たします。 .Ar round 読み込み方針は、読み込みを別々のプレックスから \fIラウンドロビン\fR\| 方式で 行うように指定します。 .Ar prefer 読み込み方針では、指定したプレックスから毎回読み込みを行います。 -T} -.sp -T{ -.Nm setupstate -T}#T{ +.It Nm setupstate マルチプレックスボリュームを作成する際に、すべてのプレックスの内容に一貫性が あると仮定します。通常こうなることはないため、正式には .Nm init コマンドを使って、最初に一貫性のある状態にする必要があります。しかし ストライプ化プレックスとコンカチネート化プレックスの場合には、普通は一貫性が ないままでも問題にはなりません。ボリュームをファイルシステムや スワップパーティションとして使う場合にはディスク上の以前の内容は どうでもよいため、それは無視されます。この危険を受け入れる場合には、 このキーワードを使って下さい。 設定ファイル中でボリュームの直後で定義されるプレックスに対してのみ 適用されます。 後でプレックスをボリュームに追加する場合には、 これらのプレックスを統合する必要があります。 .Pp RAID-5 プレックスには .Nm init を使うことが \fI必要\fP\| なことに注意して下さい。さもないと 1 つのサブディスクに障害が起きた時、大きくデータが破壊されます。 -T} .fi -.TE -.It Nm plex -.Op options +.El +.It Nm plex Op options .Pp プレックスを定義します。ボリュームとは異なり、名前は不要です。 +オプションには次のものを指定可能です: .Pp -.TS H -tab(#) ; -l lw50 . -オプション#意味 -.TH N -T{ -.Nm name -.Ar plexname -T}#T{ +.Bl -hang -width 18n +.It Nm name Ar plexname プレックスの名前を指定します。プレックスやサブディスクに名前をつける場合には .Ar name キーワードが必要になることに注意して下さい。 -T} .sp -T{ -.Nm org -.Ar organization -.Op stripesize -T}#T{ +.It Nm org Ar organization Op stripesize +.Pp プレックスの編成を指定します。 .Ar organization は .Ar concat か .Ar striped か .Ar raid5 のいずれかです。 .Ar striped と .Ar raid5 のプレックスに対しては .Ar stripesize 引数を指定する必要がありますが、 .Ar concat のプレックスに対しては省略する必要があります。 .Ar striped タイプについては各ストライプの幅を指定します。 .Ar raid5 については、グループの大きさを指定します。 グループとはプレックスの一部分であり、 同じサブディスクに入っているすべてのデータのパリティが入っています。 それはプレックスの大きさの約数である必要があり (つまり、プレックスの大きさをストライプの大きさで割ったものは 整数である必要があり)、 ディスクセクタ長 (512バイト) の倍数である必要があります。 .sp 最適な性能のためには、ストライプの大きさは少なくとも 128kB であるべきです。 これより小さくすると、 個々のリクエストが複数のディスクに対して割り当てられることにより、 I/O のアクティビティが非常に増加します。 この割り当てに起因する並行性の増加は、レイテンシを増加させません。 ストライプの大きさの目安は、256kB から 512 kB の間です。 -T} .Pp -#T{ ストライプ化プレックスは最低 2 つのサブディスクを持つ必要がありますし (そうでないとコンカチネート化プレックスになります)、 それぞれは同じ大きさである必要があります。 RAID-5 プレックスは最低 3 つのサブディスクを持つ必要があり、 それぞれは同じ大きさである必要があります。 実際には RAID-5 プレックスは最低 5 つのサブディスクから構成されるべきです。 -T} .Pp -T{ -.Nm volume -.Ar volname -T}#T{ +.It Nm volume Ar volume プレックスを、指定したボリュームに追加します。 .Nm volume キーワードが指定されないと、プレックスは設定ファイル中の最後に記述された ボリュームに追加されます。 -T} .sp -T{ -.Nm sd -.Ar sdname -.Ar offset -T}#T{ +.It Nm sd Ar sdname Ar offset 指定したサブディスクをプレックスの .Ar offset の位置に追加します。 -T} .br .fi -.TE -.It Nm subdisk -.Op options +.El +.It Nm subdisk Op options .Pp -サブディスクを定義します。 +サブディスクを定義します。オプションには次のものを指定可能です: .Pp -.TS H -tab(#) ; -l lw50 . -オプション#意味 +.Bl -hang -width 18n .nf .sp -T{ -.Nm name -.Ar name -T}#T{ +.It Nm name Ar name サブディスクの名前を指定します。これは必ずしも指定する必要は ありません\(em 上記の「オブジェクトの命名」を参照してください。 サブディスクに名前をつける場合には .Ar name キーワードを指定する必要があることに注意して下さい。 -T} .sp -T{ -.Nm plexoffset -.Ar offset -T}#T{ +.It Nm plexoffset Ar offset プレックス内のサブディスクの始点を指定します。指定がないと、 .Nm はすでにサブディスクがあればその直後の領域を割り当て、なければ プレックスの先頭から割り当てます。 -T} .sp -T{ -.Nm driveoffset -.Ar offset -T}#T{ +.It Nm driveoffset Ar offset ドライブ内のサブディスクの始点を指定します。指定がないと、 .Nm はドライブ中で最初の .Ar length バイト連続の空き領域を割り当てます。 -T} .sp -T{ -.Nm length -.Ar length -T}#T{ +.It Nm length Ar length サブディスクの大きさを指定します。このキーワードは必須です。 デフォルト値はありません。 .Nm length は .Nm len と短縮することもできます。 -T} .sp -T{ -.Nm plex -.Ar plex -T}#T{ +.It Nm plex Ar plex サブディスクが属すプレックスを指定します。デフォルトでは、サブディスクは 最後に記述されたプレックスに属します。 -T} .sp -T{ -.Nm drive -.Ar drive -T}#T{ +.It Nm drive Ar drive サブディスクが乗るドライブを指定します。デフォルトでは最後に記述された ドライブ上に位置します。 -T} .br .fi -.TE .El -.Bl -hang -.It Nm drive -.Ar name -.Op options +.It Nm drive Ar name Op options .Pp -ドライブを定義します。 +ドライブを定義します。オプションには次のものを指定可能です: .Pp -.TS H -tab(#) ; -l lw50 . -オプション#意味 -.nf -.sp -T{ -.Nm device -.Ar devicename -T}#T{ +.Bl -hang -width 18n +.It Nm device Ar devicename ドライブが乗るデバイスを指定します。 -T} -.TE +.El .El .Sh 設定ファイル例 -.nf +.Bd -literal # vinum 設定ファイル例 # # ドライブ drive drive1 device /dev/da1h drive drive2 device /dev/da2h drive drive3 device /dev/da3h drive drive4 device /dev/da4h drive drive5 device /dev/da5h drive drive6 device /dev/da6h # 1 つのストライプ化プレックスをもつボリューム volume tinyvol plex org striped 32b sd length 64m drive drive2 sd length 64m drive drive4 volume stripe plex org striped 32b sd length 512m drive drive2 sd length 512m drive drive4 # 2 つのプレックス volume concat plex org concat sd length 100m drive drive2 sd length 50m drive drive4 plex org concat sd length 150m drive drive4 # 1 つのストライプ化プレックスと 1 つのコンカチネート化プレックスを持つボリューム volume strcon plex org striped 32b sd length 100m drive drive2 sd length 100m drive drive4 plex org concat sd length 150m drive drive2 sd length 50m drive drive4 # 1 つの RAID-5 プレックスと 1 つのストライプ化プレックスを持つボリューム # RAID-5 ボリュームの方が 1 つのサブディスク分だけ大きいことに注意 volume vol5 plex org striped 64k sd length 1000m drive drive2 sd length 1000m drive drive4 plex org raid5 32k sd length 500m drive drive1 sd length 500m drive drive2 sd length 500m drive drive3 sd length 500m drive drive4 sd length 500m drive drive5 -.fi +.Ed .Ss ドライブレイアウト上の考慮点 現在、 .Nm ドライブは BSD ディスクパーティションです。それは ファイルシステムの上書きを避けるために .Ar unused タイプである必要があります。 .Nm の後のバージョンではこれは .Ar vinum タイプに変更される予定です。 .Nm disklabel .Ar -e を使用して、パーティションタイプ定義を編集してください。 次の表示は、 .Nm disklabel が示す典型的なパーティションレイアウトです: -.nf +.Bd -literal 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 344064 4.2BSD 0 0 0 # (Cyl. 240*- 297*) b: 262144 81920 swap # (Cyl. 57*- 240*) c: 4226725 0 unused 0 0 # (Cyl. 0 - 2955*) e: 81920 0 4.2BSD 0 0 0 # (Cyl. 0 - 57*) f: 1900000 425984 4.2BSD 0 0 0 # (Cyl. 297*- 1626*) g: 1900741 2325984 unused 0 0 0 # (Cyl. 1626*- 2955*) -.fi +.Ed .sp この例では、パーティション .Nm g を .Nm パーティションとして使用可能です。パーティション .Nm a , .Nm e , .Nm f は、 .Nm UFS ファイルシステムまたは .Nm ccd パーティションとして使用可能です。パーティション .Nm b はスワップパーティションであり、パーティション .Nm c はディスク全体を表現するため他の用途に使用できません。 .Pp .Nm は各パーティションの先頭から 265 セクタを設定情報に使用するため、 サブディスクの最大の大きさはドライブよりも 265 セクタ小さくなります。 -.Sh 良くない仕様 (GOTCHAS) +.Sh 分かりにくい仕様 (GOTCHAS) +次の事柄はバグではありませんし、存在する理由があるのですが、 +混乱を引き起こすものです。 +各項目は適切な節において議論されています。 +.Bl -enum +.It .Nm はデバイスを UFS パーティション上には作成するよう要求されると、 ``wrong partition type'' というエラーメッセージを返します。 パーティションタイプは、現在のところ、``unused'' である必要があります。 -詳細については前述してあります。 -.Sh バグ +.It +複数のプレックスからなるボリューム作成時に、 +.Nm +はプレックスを自動的には初期化しません。 +これは、内容については分からなくても、 +これらの間には確かに一貫性がないということを意味しています。 +その結果デフォルトでは、 +新規作成されたプレックスのうち最初のものを除いたすべての状態を、 +.Nm +は +.Ar 古い (stale) +状態に設定します。 +.sp +実際上は、プレックス作成時にその内容に多大な興味を持つ人はいないので、 +他のボリュームマネージャはどんなときでも +.Ar 起動 (up) +に設定して騙します。 +.Nm +は、新規作成されたプレックスが +.Ar 起動 (up) +状態であることを保証するために、2 つの方法を提供します: +.Bl -bullet +.It +プレックスを作成し、それらを +.Nm vinum init +で初期化します。 +.It +キーワード +.Ar setupstate +付きでボリューム (プレックスではありません) を作成します。 +このキーワードは、矛盾が存在しても無視してプレックスの状態を +.Ar 起動 (up) +状態にするように、 +.Nm +に指示します。 +.El +.It 現在 .Nm -はベータテストの段階です。数多くのバグが予想されます。設定機構は -まだ完全には機能しません。 -問題がある場合には、報告する前に -http://www.lemis.com/vinum_beta.html と -http://www.lemis.com/vinum_debugging.html を参照してください。 +がサポートしているコマンドには、実際には不要なものがあります。 +私には理解できない理由があるのでしょうが、 +.Nm label +および +.Nm resetconfig +のコマンドを使おうとするユーザをしばしば見掛けます。特に +.Nm resetconfig +は、あらゆる種類の恐しいメッセージを表示するにもかかわらずです。 +正当な理由無しに、これらのコマンドを使わないでください。 +.It +状態遷移には非常に分り難いものがあります。 +事実、これがバグであるのか仕様であるのかは明かではありません。 +.Ar reborn +サブディスクなどの、奇妙な状態になったオブジェクトを開始できない場合には、 +.Nm stop +または +.Nm stop Ar -f +のコマンドを使用して、まず +.Ar stopped +状態に遷移させてください。 +これが上手くいけば、オブジェクトを開始できるはずです。 +簡単な方法では上手くいかなくて、これが唯一の回復手段である場合、 +その状況を報告してください。 +.It +カーネルモジュールを +.Ar -DVINUMDEBUG +オプション付きで構築した場合、 +.Nm vinum(8) +もまた +.Ar -DVINUMDEBUG +オプション付きで構築する必要があります。 +なぜなら、両方のコンポーネントで使用されるデータオブジェクトに、 +大きさが本オプションに依存しているものがあるからです。 +前記のようにしないと、 +.Ar Invalid argument +というメッセージを表示してコマンドは失敗し、 +次のようなコンソールメッセージが記録されます: +.Pp +.Bd -literal +vinumioctl: invalid ioctl from process 247 (vinum): c0e44642 +.Ed +.Pp +古いバージョンの kld やユーザランドプログラムを使うと、 +このエラーが発生することがあります。 +.El +.\"XXX.Sh BUGS .Sh 関連ファイル .Ar /dev/vinum - .Nm オブジェクトのデバイスノードがあるディレクトリ .br .Ar /dev/vinum/control - .Nm vinum の制御デバイスがあるディレクトリ .br .Ar /dev/vinum/plex - .Nm プレックスのデバイスノードがあるディレクトリ .br .Ar /dev/vinum/sd - .Nm サブディスクのデバイスノードがあるディレクトリ .Sh 関連項目 -.Xr vinum 4 -.Xr disklabel 8 +.Xr vinum 4 , +.Xr disklabel 8 , +.Nm http://www.lemis.com/vinum.html , +.Nm http://www.lemis.com/vinum-debugging.html . .Sh 作者 Greg Lehey .Pa .Sh 歴史 .Nm コマンドは FreeBSD 3.0 から登場しました。