diff --git a/ja_JP.eucJP/man/man1/Makefile b/ja_JP.eucJP/man/man1/Makefile index b74d0b7158..25bd4899c9 100644 --- a/ja_JP.eucJP/man/man1/Makefile +++ b/ja_JP.eucJP/man/man1/Makefile @@ -1,488 +1,487 @@ # $FreeBSD$ MAN1 = addftinfo.1\ addr2line.1\ afmtodit.1\ apply.1\ apropos.1\ ar.1\ as.1\ asa.1\ at.1\ basename.1\ bc.1\ bdes.1\ biff.1\ brandelf.1\ builtin.1\ bzip2.1\ c89.1\ c99.1\ calendar.1\ cap_mkdb.1\ cat.1\ catman.1\ cdcontrol.1\ checknr.1\ chflags.1\ chgrp.1\ chio.1\ chkey.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\ cpp.1\ crontab.1\ crunchgen.1\ crunchide.1\ csplit.1\ ctags.1\ ctm.1\ ctm_rmail.1\ cursor.1\ cut.1\ cvs.1\ date.1\ dc.1\ dd.1\ df.1\ dialog.1\ diff.1\ diff3.1\ dig.1\ dnskeygen.1\ dnsquery.1\ domainname.1\ doscmd.1\ dtmfdecode.1\ du.1\ echo.1\ ed.1\ ee.1\ elfdump.1\ enigma.1\ env.1\ eqn.1\ expand.1\ expr.1\ f77.1\ false.1\ fdformat.1\ fdread.1\ fdwrite.1\ fetch.1\ file.1\ file2c.1\ find.1\ finger.1\ fmt.1\ fold.1\ fontedit.1\ from.1\ fstat.1\ fsync.1\ ftp.1\ g711conv.1\ gasp.1\ gcc.1\ gcore.1\ gdb.1\ gencat.1\ getNAME.1\ getconf.1\ getfacl.1\ getopt.1\ gperf.1\ gprof.1\ grep.1\ grn.1\ grodvi.1\ groff.1\ grog.1\ grolbp.1\ grolj4.1\ grops.1\ grotty.1\ groups.1\ gzexe.1\ gzip.1\ head.1\ hexdump.1\ host.1\ hostname.1\ hpftodit.1\ id.1\ ident.1\ indent.1\ indxbib.1\ info.1\ install-info.1\ install.1\ intro.1\ ipcrm.1\ ipcs.1\ ipftest.1\ ipnat.1\ ipresend.1\ ipsend.1\ iptest.1\ join.1\ jot.1\ kbdcontrol.1\ kbdmap.1\ kcon.1\ kdump.1\ kenv.1\ keylogin.1\ keylogout.1\ kill.1\ killall.1\ ktrace.1\ lam.1\ last.1\ lastcomm.1\ ld.1\ ldd.1\ leave.1\ less.1\ lesskey.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\ makeinfo.1\ makewhatis.1\ man.1\ manpath.1\ md5.1\ merge.1\ mesg.1\ minigzip.1\ mkdep.1\ mkdir.1\ mkfifo.1\ mklocale.1\ mkstr.1\ mktemp.1\ mmroff.1\ mptable.1\ msgs.1\ mt.1\ mv.1\ nawk.1\ ncal.1\ ncplist.1\ ncplogin.1\ ncplogout.1\ neqn.1\ netstat.1\ newaliases.1\ newgrp.1\ nfsstat.1\ nice.1\ nl.1\ nm.1\ nohup.1\ nroff.1\ objcopy.1\ objdump.1\ objformat.1\ od.1\ opieinfo.1\ opiekey.1\ opiepasswd.1\ pagesize.1\ passwd.1\ paste.1\ patch.1\ pathchk.1\ pawd.1\ pax.1\ pfbtops.1\ pic.1\ pkg_add.1\ pkg_create.1\ pkg_delete.1\ pkg_info.1\ pkg_sign.1\ pkg_version.1\ pr.1\ printenv.1\ printf.1\ ps.1\ psroff.1\ pwd.1\ quota.1\ ranlib.1\ rcp.1\ rcs.1\ rcsclean.1\ rcsdiff.1\ rcsfreeze.1\ rcsintro.1\ rcsmerge.1\ readelf.1\ realpath.1\ refer.1\ rev.1\ rlog.1\ rlogin.1\ rm.1\ rmdir.1\ rpcgen.1\ rs.1\ rsh.1\ rtld.1\ rtprio.1\ rup.1\ ruptime.1\ rusers.1\ rwall.1\ rwho.1\ sasc.1\ scon.1\ scp.1\ script.1\ sdiff.1\ sed.1\ send-pr.1\ setfacl.1\ sftp.1\ sgsc.1\ sh.1\ shar.1\ size.1\ sleep.1\ smbutil.1\ sockstat.1\ soelim.1\ sort.1\ split.1\ ssh-add.1\ ssh-agent.1\ ssh-keygen.1\ ssh-keyscan.1\ ssh.1\ startslip.1\ stat.1\ strings.1\ strip.1\ stty.1\ su.1\ - symorder.1\ systat.1\ tabs.1\ tail.1\ talk.1\ tar.1\ tbl.1\ tcopy.1\ tcpdump.1\ tcpslice.1\ tcsh.1\ tee.1\ telnet.1\ test.1\ texindex.1\ tfmtodit.1\ tftp.1\ time.1\ tip.1\ top.1\ touch.1\ tput.1\ tr.1\ troff.1\ true.1\ truncate.1\ truss.1\ tset.1\ tsort.1\ tty.1\ ul.1\ uname.1\ unifdef.1\ uniq.1\ units.1\ unvis.1\ uptime.1\ usbhidctl.1\ users.1\ uuencode.1\ uuidgen.1\ vacation.1\ vgrind.1\ vi.1\ vidcontrol.1\ vis.1\ vt220keys.1\ vttest.1\ w.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\ yacc.1\ yes.1\ ypcat.1\ ypmatch.1\ ypwhich.1\ yyfix.1\ zdiff.1\ zforce.1\ zmore.1\ znew.1 MLINKS= builtin.1 alias.1 builtin.1 alloc.1 builtin.1 bg.1 builtin.1 bindkey.1 \ builtin.1 bind.1 \ builtin.1 break.1 builtin.1 breaksw.1 builtin.1 builtins.1 \ builtin.1 case.1 builtin.1 cd.1 builtin.1 chdir.1 builtin.1 command.1 \ builtin.1 complete.1 \ builtin.1 continue.1 builtin.1 default.1 \ builtin.1 dirs.1 builtin.1 do.1 builtin.1 done.1 \ builtin.1 echotc.1 builtin.1 elif.1 builtin.1 else.1 \ builtin.1 end.1 builtin.1 endif.1 builtin.1 endsw.1 \ builtin.1 esac.1 builtin.1 eval.1 builtin.1 exec.1 \ builtin.1 exit.1 builtin.1 export.1 builtin.1 fc.1 \ builtin.1 fg.1 builtin.1 fi.1 builtin.1 filetest.1 builtin.1 for.1 \ builtin.1 foreach.1 builtin.1 getopts.1 builtin.1 glob.1 \ builtin.1 goto.1 builtin.1 hash.1 builtin.1 hashstat.1 \ builtin.1 history.1 builtin.1 hup.1 builtin.1 if.1 builtin.1 jobid.1 \ builtin.1 jobs.1 builtin.1 limit.1 builtin.1 log.1 builtin.1 logout.1 \ builtin.1 ls-F.1 \ builtin.1 notify.1 builtin.1 onintr.1 builtin.1 popd.1 \ builtin.1 pushd.1 builtin.1 read.1 builtin.1 readonly.1 \ builtin.1 rehash.1 \ builtin.1 repeat.1 builtin.1 sched.1 builtin.1 set.1 \ builtin.1 setenv.1 builtin.1 settc.1 builtin.1 setty.1 \ builtin.1 setvar.1 builtin.1 shift.1 builtin.1 source.1 \ builtin.1 stop.1 builtin.1 suspend.1 builtin.1 switch.1 \ builtin.1 telltc.1 builtin.1 then.1 builtin.1 trap.1 builtin.1 type.1 \ builtin.1 ulimit.1 builtin.1 umask.1 builtin.1 unalias.1 \ builtin.1 uncomplete.1 \ builtin.1 unhash.1 builtin.1 unlimit.1 builtin.1 unset.1 \ builtin.1 unsetenv.1 builtin.1 until.1 builtin.1 wait.1 \ builtin.1 where.1 \ builtin.1 while.1 MLINKS+=ed.1 red.1 MLINKS+=test.1 [.1 MLINKS+=gcc.1 cc.1 MLINKS+=gcc.1 c++.1 MLINKS+=gcc.1 g++.1 MLINKS+=gcc.1 CC.1 MLINKS+=grep.1 egrep.1 MLINKS+=grep.1 fgrep.1 MLINKS+=grep.1 zgrep.1 MLINKS+=grep.1 zegrep.1 MLINKS+=grep.1 zfgrep.1 MLINKS+=grep.1 bzgrep.1 grep.1 bzegrep.1 grep.1 bzfgrep.1 MLINKS+=gzip.1 gunzip.1 MLINKS+=gzip.1 zcat.1 MLINKS+=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 MLINKS+=at.1 atq.1 MLINKS+=at.1 atrm.1 MLINKS+=basename.1 dirname.1 MLINKS+=chpass.1 chfn.1 MLINKS+=chpass.1 chsh.1 MLINKS+=chpass.1 ypchpass.1 MLINKS+=chpass.1 ypchfn.1 MLINKS+=chpass.1 ypchsh.1 MLINKS+=compress.1 uncompress.1 MLINKS+=ee.1 ree.1 MLINKS+=expand.1 unexpand.1 MLINKS+=ftp.1 pftp.1 MLINKS+=ftp.1 gate-ftp.1 MLINKS+=hexdump.1 hd.1 MLINKS+=intro.1 introduction.1 MLINKS+=less.1 more.1 MLINKS+=lex.1 flex.1 MLINKS+=lex.1 flex++.1 MLINKS+=lex.1 lex++.1 MLINKS+=mail.1 Mail.1 MLINKS+=mail.1 mailx.1 MLINKS+=nawk.1 awk.1 MLINKS+=passwd.1 yppasswd.1 MLINKS+=rtld.1 ld-elf.so.1.1 MLINKS+=rtld.1 ld.so.1 MLINKS+=stat.1 readlink.1 MLINKS+=tip.1 cu.1 MLINKS+=tput.1 clear.1 MLINKS+=tset.1 reset.1 MLINKS+=vi.1 ex.1 MLINKS+=vi.1 view.1 MLINKS+=vi.1 nex.1 MLINKS+=vi.1 nview.1 MLINKS+=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 \ uuencode.1 b64encode.1 \ b64encode.1 b64decode.1 MLINKS+=ncal.1 cal.1 MLINKS+=enigma.1 crypt.1 MLINKS+=ln.1 link.1 MLINKS+=rm.1 unlink.1 MLINKS+=opiekey.1 otp-md4.1 MLINKS+=opiekey.1 otp-md5.1 MLINKS+=opiekey.1 otp-sha.1 MLINKS+=tcsh.1 csh.1 MLINKS+=ee.1 edit.1 MLINKS+=pkg_sign.1 pkg_check.1 MLINKS+=ssh.1 slogin.1 MLINKS+=bzip2.1 bunzip2.1 MLINKS+=bzip2.1 bzcat.1 MLINKS+=unifdef.1 unifdefall.1 .include "bsd.prog.mk" diff --git a/ja_JP.eucJP/man/man1/cdcontrol.1 b/ja_JP.eucJP/man/man1/cdcontrol.1 index 9707178188..d4f9353834 100644 --- a/ja_JP.eucJP/man/man1/cdcontrol.1 +++ b/ja_JP.eucJP/man/man1/cdcontrol.1 @@ -1,196 +1,196 @@ .\" %FreeBSD: src/usr.sbin/cdcontrol/cdcontrol.1,v 1.37 2002/11/27 15:31:07 ru Exp % .\" .\" $FreeBSD$ .\" .Dd May 8, 2002 .Dt CDCONTROL 1 .Os .Sh 名称 .Nm cdcontrol .Nd コンパクトディスク制御ユーティリティ .Sh 書式 .Nm cdcontrol .Op Fl sv .Op Fl f Ar device .Op Ar command ... .Sh 解説 .Nm ユーティリティはオーディオ CD プレイヤーを操作するためのプログラムです。 device には .Pa cd0 や .Pa mcd0 などを指定します。 .Pp .Ar command を指定しない場合、 .Nm は対話モードになり、標準入力からコマンドを読み込みます。 .Pp 以下のオプションを使用可能です。 .Bl -tag -width indent .It Fl s サイレントモード。 テーブルヘッダ及び人間が可読なコメントを表示しません。 .It Fl v 冗長モード。 表示できる情報は全て表示します。 .It Fl f Ar device .Pa /dev/cd0c や .Pa mcd0 といったデバイスを指定します。 絶対パス及び .Pa /dev からの相対パスの指定が可能です。 必要ならば最後に .Pa c を追加します。 .El .Pp 現時点では以下のコマンドが利用できます。 コマンドをユニークに特定できるために必要な文字だけ指定する 必要があります。 語 .Ic play は省略可能であり、 .Ic next と .Ic prev の代りに文字 .Ic + と .Ic - を使用可能です。 .Bl -tag -width indent .It Ic play Ar first_track Op Ar last_track .Ar first_track で指定されたトラックから .Ar last_track で指定されたトラックまで演奏します。最初のトラックが1番になります。 .It Xo .Ic play .Ar start_m : Ns Ar start_s . Ns Ar start_f .Op Ar end_m : Ns Ar end_s . Ns Ar end_f .Xc 絶対アドレス (MSF) を元に演奏します。演奏開始する時間は .Ar start_m に演奏開始する分を、 .Ar start_s に秒を、 .Ar start_f にはフレーム番号を指定します。演奏終了の時間は .Ar end_m に演奏終了する分を、 .Ar end_s, に秒を、 .Ar end_f にフレーム番号を指定することで指定できます。分指定で指定できる数値は 0 から 99 の範囲の値です。秒には 0 から 59 までが指定できます。フレーム 番号は 0 から 74 までの範囲で指定できます。 .It Ic play Op # Ns Ar start_block Op Ar length 論理ブロック .Ar start_block から .Ar length 論理ブロック分だけ演奏します。 .It Ic next Op Ar tracks 指定した数のトラックを、前向きにスキップします (デフォルト 1)。 .It Ic prev Op Ar tracks 指定した数のトラックを、後向きにスキップします (デフォルト 1)。 .It Ic pause 演奏を停止します。ディスクは停止しません。 .It Ic resume 演奏を再開します。 .Ic pause で一時停止した後に使います。 .It Ic stop ディスクを停止します。 .It Ic eject ディスクを取り出します。 .It Ic close ディスクを挿入します。 .It Ic volume Ar left_channel right_channel 左チャネルのボリュームを .Ar left_channel にセットし、右チャネルを .Ar right_channel にセットします。指定できる値は 0 から 255 の範囲の値です。 .It Ic volume Cm mute 音を消します。 .It Ic volume Cm mono モノラルモードにします。 .It Ic volume Cm stereo ステレオモードにします。 .It Ic volume Cm left 左サブトラックを左と右の両チャネルで演奏します。 .It Ic volume Cm right 右サブトラックを左と右の両チャネルで演奏します。 .It Ic info 目次を表示します。 .It Ic status Op Cm audio | media | volume ディスクに関する以下のような情報を表示します: .Pp .Bl -tag -width ".Cm volume" -compact .It Cm audio 現在の演奏の状態と位置、 .It Cm media 現在のメディアカタログ状態、 .It Cm volume 現在の左チャネル及び右チャネルのボリューム値。 .El .It Ic cdid CD のシリアル番号を、 .Tn CDDB プロジェクト .Pq Pa http://www.cddb.org/ が使用する方法を使用して、 表示します。 .It Ic help 利用可能なコマンドの一覧を表示します。 .It Ic debug Cm on CD デバイスドライバのデバッグモードを有効にします。 .It Ic debug Cm off ドライバのデバッグモードを無効にします。 .It Ic reset デバイスに対するハードウェアリセットを実行します。 .It Ic set Cm msf minute-second-frame ioctl モードに設定します (デフォルト)。 .It Ic set Cm lba LBA ioctl モードに設定します。 .It Ic speed Ar s ドライブが読み込みに使用可能な最高速度を指定します。 単倍速 CDROM (150KB/s) の倍数の単位となります。 ドライブの最高速度を指定するには .Dq Li max を使用します。 .It Ic quit プログラムを終了します。 .El .Sh 環境変数 次の環境変数が .Nm の実行に影響します: .Bl -tag -width ".Ev CD_DRIVE" .It Ev CDROM .Fl f オプションで指定しなかった場合に使用される CD デバイス。 .It Ev CDPLAY , CD_DRIVE , DISC , MUSIC_CD .Ev CDROM が選ばれたため、これらの変数の価値は低下しています。 .El .Sh 関連ファイル -.Bl -tag -width ".Pa /dev/mcd0c" -compact -.It Pa /dev/cd0c -.It Pa /dev/mcd0c -.It Pa /dev/acd0c +.Bl -tag -width ".Pa /dev/mcd0" -compact +.It Pa /dev/cd0 +.It Pa /dev/mcd0 +.It Pa /dev/acd0 .El .Sh 作者 .An Jean-Marc Zucconi .An Andrey A. Chernov .An Serge V. Vakulenko .Sh 歴史 .Nm コマンドは .Fx 2.1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/colldef.1 b/ja_JP.eucJP/man/man1/colldef.1 index dbc68995ca..b8f744a69e 100644 --- a/ja_JP.eucJP/man/man1/colldef.1 +++ b/ja_JP.eucJP/man/man1/colldef.1 @@ -1,238 +1,252 @@ .\" Copyright (c) 1995 Alex Tatmanjants .\" at Electronni Visti IA, Kiev, Ukraine. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.bin/colldef/colldef.1,v 1.18 2002/11/26 17:33:34 ru Exp % +.\" %FreeBSD: src/usr.bin/colldef/colldef.1,v 1.20 2003/09/14 13:41:57 ru Exp % .\" .\" $FreeBSD$ .\" .Dd January, 27 1995 .Dt COLLDEF 1 .Os .Sh 名称 .Nm colldef .Nd 照合シークエンスのソース定義を変換する .Sh 書式 .Nm colldef .Op Fl I Ar map_dir .Op Fl o Ar out_file .Op Ar filename .Sh 解説 .Nm ユーティリティは、照合シークエンスのソース定義を .Fn strxfrm と .Fn strcoll 関数で使えるフォーマットに変換します。すなわち、文字列をソートや照合で きるようにする様々な方法を定義するために使われます。 .Fn strxfrm -は、その第一引数を変換して第二引数の結果に置き換えます。 +関数は、その第一引数を変換して第二引数の結果に置き換えます。 変換された文字列は、 .Fn strcmp , .Fn strncmp , .Fn memcmp を使って別の変換された文字列と比較して正しくソートできるようになります。 .Fn strcoll -はその引数を変換し、比較を行ないます。 +関数はその引数を変換し、比較を行ないます。 .Pp .Nm ユーティリティは、 標準入力から照合シークエンスソース定義を読み込み、変換された定義を filename に格納します。 生成される出力ファイルの内容は、システムコマンドやシステムルーチンが 使える形式の照合シークエンス情報を持つデータベースです。 .Pp -オプションリスト: -.Bl -tag -width 4n +次のオプションが使用可能です: +.Bl -tag -width indent .It Fl I Ar map_dir -このオプションは .Ar charmap ファイルを探すディレクトリ名を設定します。 デフォルトでカレントディレクトリです。 .It Fl o Ar out_file 出力ファイル名を設定します。 デフォルトで .Ar LC_COLLATE になります。 .El .Pp 照合シークエンス定義は、照合要素集合、 およびこれを含む文字列をどのように順序付けるかを定義する規則を指定します これは異なる言語定義に最も便利です。 .Pp 指定ファイルは次の三つのステートメントから成ります: .Ar charmap , .Ar substitute, .Ar order .Pp この中で .Ar order ステートメントだけが必須です。 .Ar charmap や .Ar substitute が与えられたときは、ステートメントの順序は上のようになっていなければ なりません。 orderステートメントの後のステートメントは無視されます。 .Pp 指定ファイルの中で -.Ar # +.Em # で始まる行はコメントと扱われ、無視されます。空行も無視されます。 .Pp -.Ar charmap charmapfile +.Bd -literal -offset indent +charmap charmapfile +.Ed .Pp .Ar charmap は、文字のマッピングと実際の文字エンコーディングへの照合要素シンボル が見つかる場所を定義します。 .Pp .Ar charmapfile のフォーマットを以下に示します。 シンボル名とその値は、タブまたは空白文字によって区切られます。 symbol-value は 16 進 (\ex\fI??\fR) または 8 進 (\e\fI???\fR) 表現で指定でき、長さは一文字を意味します。 -.Bd -literal -.Ar symbol-name1 symbol-value1 -.Ar symbol-name2 symbol-value2 -.Ar ... +.Pp +.Bd -literal -offset indent +symbol-name1 symbol-value1 +symbol-name2 symbol-value2 +\&... .Ed +.Pp +シンボル名は +.Ar substitute +フィールドでは指定できません。 +.Pp .Ar charmap ステートメントはオプション指定です。 .Pp -.Ar substitute -\fIsymbol\fR -.Ar with -\fIrepl_string\fR +.Bd -literal -offset indent +substitute "symbol" with "repl_string" +.Ed .Pp .Ar substitute ステートメントは、文字 .Ar symbol を文字列 .Ar repl_string に置き換えます。 .Pp .Ar substitute ステートメントはオプション指定です。 .Pp -.Ar order order_list +.Bd -literal -offset indent +order order_list +.Ed .Pp .Ar order_list は、セミコロンで区切られた、照合シークエンスを定義する シンボルのリストです。 特殊シンボル .Ar ... は、簡略な形の機械語順で連なったシンボルを指定します。 .Pp orderリストの要素は、次の方法のうちのどれかで表現できます。 .Bl -bullet .It シンボル自身 (例えば、小文字の .Ar a は .Ar a -と書きます) +と書きます)。 .It 8 進表現のシンボル (例えば、文字 .Ar a には .Ar \e141 ) +。 .It 16 進表現のシンボル (例えば、文字 .Ar a には .Ar \ex61 ) +。 .It .Ar charmap ファイル内で定義されたシンボル名 (例えば、 .Ar charmapfile の .Ar letterA \e023 に対して .Ar )。文字マップ名が、文字 .Ar > を持つ場合は、 .Ar /> , のようにエスケープされなければならず、 文字 .Ar / は .Ar // のようにエスケープされなければなりません。 .It シンボル .Ar \ea , .Ar \eb , .Ar \ef , .Ar \en , .Ar \er , .Ar \ev は、通常の C言語の意味で使うことが許されています。 .It シンボルチェーン (例えば、 .Ar abc , .Ar c , .Ar \exf1b\exf2 ) +。 .It シンボルの範囲 (例えば .Ar a;...;z ) +。 .It コンマ区切りのシンボル、範囲、チェーンは括弧でくくられます。 (例えば .Ar \&( .Ar sym1 , .Ar sym2 , .Ar ... .Ar \&) ) は同じ一次順序で割り当てられますが、異なる二次順序となります。 .It 鈎括弧でくくられたコンマ区切りのシンボル、範囲、チェーン (例えば、 .Ar \&{ .Ar sym1 , .Ar sym2 , .Ar ... .Ar \&} ) -は、同じ一次順序だけに割り当てられます) +は、同じ一次順序だけに割り当てられます)。 .El .Pp バックスラッシュ文字 .Ar \e は、行の継続に使われます。この場合、バックスラッシュ文字の後には どんな文字も書かれてはなりません。 .Sh 診断 .Nm ユーティリティは、次の戻り値で終了します。 .Bl -tag -width indent .It Li 0 エラーがなく、出力の生成に成功した場合 .It Li !=0 エラーが見つかった場合 .El .Sh 関連ファイル -.Bl -tag -width ".Pa /usr/share/locale//LC_COLLATE" -compact -.It Pa /usr/share/locale//LC_COLLATE -localeの配下で、localeの照合順序のための標準共有位置 +.Bl -tag -width indent +.It Pa /usr/share/locale/ Ns Ao Ar language Ac Ns Pa /LC_COLLATE +locale +.Aq Ar language +の配下で、locale の照合順序のための標準共有位置 .El .Sh 関連項目 .Xr mklocale 1 , .Xr setlocale 3 , .Xr strcoll 3 , .Xr strxfrm 3 diff --git a/ja_JP.eucJP/man/man1/doscmd.1 b/ja_JP.eucJP/man/man1/doscmd.1 index b4bb5b8853..8f2acc53aa 100644 --- a/ja_JP.eucJP/man/man1/doscmd.1 +++ b/ja_JP.eucJP/man/man1/doscmd.1 @@ -1,761 +1,761 @@ .\" .\" Copyright (c) 1992, 1993, 1996 .\" Berkeley Software Design, Inc. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Berkeley Software .\" Design, Inc. .\" .\" THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Berkeley Software Design, Inc. BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" BSDI doscmd.1,v 2.3 1996/04/08 19:32:29 bostic Exp -.\" %FreeBSD: src/usr.bin/doscmd/doscmd.1,v 1.31 2002/12/12 17:25:59 ru Exp % +.\" %FreeBSD: src/usr.bin/doscmd/doscmd.1,v 1.32 2003/09/14 13:41:57 ru Exp % .\" .\" $FreeBSD$ .\" WORD: raw file ロウファイル (mknod.8 によると character special file) .\" WORD: cooked device 加工されたデバイス (mknod.8 によると block special) .Dd January 30, 1995 .Dt DOSCMD 1 .Os .Sh 名称 .Nm doscmd .Nd リアルモード DOS プログラムのサブセットを実行する .Sh 書式 .Nm doscmd .Fl 23AbDEfGHIMOPRrtVvXxYz .Fl c Ar file .Fl d Ar file .Fl i Ar port Ns Xo .Op : Ns Ar cnt .Xc .Fl o Ar port Ns Xo .Op : Ns Ar cnt .Xc .Fl S Ar int .Fl U Ar int .Op Ar cmd Op Ar args ... .Sh 解説 .Nm ユーティリティは、DOS のサブセットをエミュレートして単一コマンド .Ar cmd .Ar args を実行することができますし、 PC をエミュレートして DOS をブートすることもできます。 DOS をブートする場合には、より多様な DOS アプリケーションを 実行することができます。 MS-DOS 6.2 以降は .Nm ではうまく扱えないようです。 DOS をブートするには、 .Fl b フラグを指定するか、 .Ar cmd 引数を省略してください。 .Fl b を指定すると、 .Ar cmd と .Ar args は無視されます。 .Pp .Nm は DOS のサブセットを提供するだけですが、 多くのプログラムを実行するには十分です。 コンパイラ、アセンブラ、リンカローダといったプログラムも実行できますが、 これらに限定するものではありません。 .Pp 次に示す多様なフラグを .Nm に指定可能です: .Bl -tag -width indent .It Fl 2 DOS プログラムからの .Nm エミュレータへのすべてのトラップのデバッグトレースを有効にします。 カーネルによって扱われるためにトレースされないトラップがあることに 注意してください。 .It Fl 3 割り込みベクタの変更や論理ドライブへのパスの初期化といった、 いくつかの下位レベル機能のデバッグを有効にします。 .\" .\" .\" .It Fl A エミュレータを通過するすべての割り込みのトレースを有効にします。 .Fl S オプションを、255 個すべての割り込みの値とともに指定する場合と同じです。 .\" .\" .\" .It Fl b DOS をエミュレートする代りに DOS をブートします。 .\" .\" .\" .It Fl c Ar file 画面へのすべての出力を捕まえて、 .Ar file へ出力します。 画面の直接の書き込みは捕まえられないことに注意してください。 .\" .\" .\" .It Fl C MS-DOS の呼び出しエミュレーションと戻り値をリストします。 .\" .\" .\" .It Fl D ディスクとファイルの操作に関するデバッグを有効にします。 .\" .\" .\" .It Fl d Ar file デバッグ出力を、標準エラー出力の代りに .Ar file へ送ります。 .\" .\" .\" .It Fl E exec ルーチンのデバッグを有効にします。 .\" .\" .\" .It Fl G ビデオ (グラフィックス) ルーチンのデバッグを有効にします。 .\" .\" .\" .It Fl H 中途半端に実装された呼び出しのトレースを有効にします。 .\" .\" .\" .It Fl I すべての割り込みのトレースを有効にします。 .Fl A とほとんど同じですが、有効になるトレースは少しだけ少ないです。 .\" .\" .\" .It Fl i Ar port Ns Xo .Op : Ns Ar cnt .Xc 入出力ポート .Ar port からのすべての入力要求のトレースを有効にします。 もし .Ar cnt が与えられると、 .Ar port から .Ar port+cnt Ns No -1 までをトレースします。 .\" .\" .\" .It Fl M メモリ操作のデバッグを有効にします。 .\" .\" .\" .It Fl O デバッグ出力を、標準エラー出力の代りに、標準出力へ出力します。 .\" .\" .\" .It Fl o Ar port Ns Xo .Op : Ns Ar cnt .Xc 入出力ポート .Ar port からのすべての出力要求のトレースを有効にします。 もし .Ar cnt が与えられると、 .Ar port から .Ar port+cnt Ns No -1 までをトレースします。 .\" .\" .\" .It Fl p Ar port Ns Xo .Op : Ns Ar cnt .Xc 要求された I/O .Ar port (オプションとして .Ar port+cnt Ns No -1 までの範囲を指定可能です) を実機ハードウェア I/O ポートへマップします。 アクセスには root 権限が必要でしょう。 .\" .\" .\" .It Fl P 入出力ポート呼び出し (例えば .Li inb , .Li outb など) のトレースを有効にします。 .\" .\" .\" .It Fl R ファイルリダイレクトコードのデバッグを有効にします。 .\" .\" .\" .It Fl r 生のキーボード入力と表示を使用します。 を押すと、 doscmd は終了します。VGA グラフィックスが使えるようになります。 .\" .\" .\" .It Fl S Ar int 割り込み .Ar int のトレースを有効にします。 .\" .\" .\" .It Fl t 命令レベルのトレースを試みます。 トレースを混乱させる命令があります。 .Li を押すとトレースモードの有効と無効とを切り替えます。 .\" .\" .\" .It Fl U Ar int 割り込み .Ar int のトレースを無効にします。 .Fl A や .Fl I の後で使用すると便利です。 .\" .\" .\" .It Fl V 未知の割り込みを報告する際、レジスタダンプも含めます。 .\" .\" .\" .It Fl v .Fl AH と同じです。 .\" .\" .\" .It Fl X XMS 操作のデバッグを有効にします。 .\" .\" .\" .It Fl x X11 のウィンドウを表示出力のためにオープンします。 他の方法では利用できない様々な割り込みを有効にします。 .Fl b を指定しても、指定しなくても、使用可能です。 .\" .\" .\" .It Fl Y EMS 操作のデバッグを有効にします。 .\" .\" .\" .It Fl z DOS プログラムにジャンプする直前に .Nm を停止させます。 .Nm を開発する以外の用途はほとんどありません。 .El .Pp 起動時に、 .Nm はコンフィギュレーションファイルを読もうとします。 まず、カレントディレクトリのファイル .Cm .doscmdrc を試します。もし見付からない場合、 .Cm $HOME を検索します。それでもなお見付からない場合、ファイル .Cm /etc/doscmdrc を使用します。 .Pp コンフィギュレーションファイルでは、コメントは \fB#\fP 文字から開始します。 また、空行は無視されます。 非空行は、環境変数またはデバイスを設定するコマンドです。 空白の前に \fB=\fP がある行は、環境変数への代入であると扱われ、 DOS の環境に追加されます。 その他の行は次のいずれかです。 .Bl -tag -width XXXXX .\" .\" .\" .It Cm boot Op Cm A: | C: ブートするデバイスを設定します。 デフォルトでは、 .Cm A: が定義されていれば最初に試され、もしそれが失敗すると、 .Cm C: が試されます。 .\" .\" .\" .It Cm assign Xo .Op Cm A-Z : .Op Fl ro .Ar path .Xc .Bsx のディレクトリ .Ar path を、指定したドライブに割り当てます。 .Fl ro フラグを指定すると、読み取り専用ファイルシステムになります。 DOS ブート時には、 .Pa /usr/libdata/doscmd/redir.com バイナリが実行されるまでは、これらの割り当ては実行されません。 .\" .\" .\" .It Cm assign Xo .Cm lpt Ns Op Cm 0-4 : .Op Cm direct .Ar path .Op Ar timeout .Xc 指定したプリンタを .Ar path に割り当てようとします。 .Ar timeout が指定された場合、 その期間 (秒数) 活動がない場合に、プリンタをフラッシュすべきことを示します。 デフォルトは 30 秒です。 .Ar path が本物のプリンタを参照している場合には、 .Cm direct オプションを指定してください。 .\" .\" .\" .It Cm assign Xo .Op Cm A: | B: .Op Fl ro .Ar path .Ar density .Xc .It Cm assign Xo .Cm flop Ns Op Cm 01 .Op Fl ro .Ar path .Ar density .Xc ファイル .Ar path を、次に利用可能なフロッピまたは指定したフロッピに割り当てます。 .Fl ro が指定されると、フロッピは読み取り専用になります。 .Ar density は次のいずれかです: .sp .Bl -tag -compact -width 1440x .It 180 9 ヘッド 40 トラック片面フロッピ .It 360 9 ヘッド 40 トラック両面フロッピ .It 720 9 ヘッド 80 トラック両面フロッピ .It 1200 15 ヘッド 80 トラック両面フロッピ .It 1440 18 ヘッド 80 トラック両面フロッピ .It 2880 36 ヘッド 80 トラック両面フロッピ .El .\" .\" .\" .It Cm assign Xo .Op Cm C-Z : .Op Fl ro .Ar path .Op Ar type | cyl head sec .Op Ar fdisk_tab .Xc .It Cm assign Xo .Cm hard Ns Op Cm 01 .Op Fl ro .Ar path .Op Ar type | cyl head sec .Op Ar fdisk_tab .Xc ファイル .Ar path を、次に利用可能なハードディスクまたは指定したハードディスクに割り当てます。 ディスクのジオメトリは、シリンダ数 .Ar cyl とヘッド数 .Ar head とトラックあたりのセクタ数 .Ar sec で直接指定することもできますし、標準タイプから 1 つを .Ar type (後述) で指定することもできます。 オプションの .Ar fdisk_tab 引数は、このディスクの最初のセクタとして使用するファイルを指定します。 .Ar path がディスクの一部のみを参照する場合に、 偽の fdisk テーブルを挿入するために使用できます。 .\" .\" .\" .It Cm assign Xo .Cm com Ns Op Cm 1-4 : .Ar path .Ar port .Ar irq .Xc .Ar path で指定した tty または pty を、 指定した com ポートとして使用するように割り当てます。 ベースアドレスは .Ar port でエミュレートされ、割り込みは .Ar irq で指定されます。 このコードは軽くテストしただけなので、向かない用途があるかもしれません。 .\" .\" .\" .It Cm "setver command version" doscmd が DOS をエミュレートする場合、 .Cm command という名前のプログラムから呼ばれた時に、DOS バージョンとして .Cm version を報告するようにします。 .Cm version のフォーマットは、後述の .Cm MS_VERSION 変数と同じです。 .El .Pp .Cm C: は、まだ割り当てられていない場合には、ルートディレクトリ (/) に割り当てられ、 .Cm C: のカレントディレクトリは、現在のカレントディレクトリに設定されます。 これはすなわち、 .Pp .Dl "doscmd ../foo .Pp のように起動しても、動作しないことを意味することに注意してください。 なぜなら .Cm C: ディレクトリはカレントパスで開始するからです。 また、次の環境変数も、未設定の場合には設定されます: .Bd -literal .Cm "COMSPEC=C:\eCOMMAND.COM .Cm "PATH=C:\e .Cm "PROMPT=DOS> .Ed .Pp .Cm PATH 変数は .Ar cmd を検索する際にも使用されます。 DOS のように、まず .Ar cmd.com が検索され、それから .Ar cmd.exe が検索されます。 .Sh コンフィギュレーション変数 doscmd の内部変数であり、実際の DOS の環境では設定されない変数が、 .Cm .doscmdrc ファイル中にいくつかあります。 それらを以下に示します: .Bl -tag -width MS_VERSION .It Cm MS_VERSION この変数の値は、 .Nm が報告を行なう DOS のバージョンを決定するために使用されます。 .Nm は、動作を変えずに、報告方法だけを変えることに注意してください。 デフォルトでは、この値は .Cm 410 であり、 .Tn "MS-DOS バージョン 4.1 に対応します。 バージョン 3.2 (以前の .Nm のデフォルトでした) に変更するには、値 .Cm 320 を使用してください。 .It Cm X11_FONT この変数の値は X window で使用するフォントを決定します。 デフォルトのフォントは .Cm vga であり .Pa /usr/libdata/doscmd/fonts にインストールされています。 X サーバがフォントを見付けられるように .Ql xset fp+ /usr/libdata/doscmd/fonts を .Pa ${HOME}/.xsession か .Pa ${HOME}/.xinitrc に追加してください。 .El .Sh ファイル変換 .Nm ユーティリティは .Bsx のファイル名を .Tn DOS のファイル名に変換する際、すべて大文字に変換し、無効な文字を除去します。 ASCII ファイルを、DOS の世界で好まれる .Cm 形式へ変換するということはありません。 ASCII ファイルを変換するには、プログラム .Xr fconv 1 (ports コレクションの一部です) か、これに類するツール を使用してください。 .bp .Sh ディスクタイプ .TS H expand, box; r | r | r | r | r. タイプ シリンダ ヘッド セクタ サイズ = 01 306 4 17 10MB 02 615 4 17 20MB 03 615 6 17 30MB 04 940 8 17 62MB 05 940 6 17 46MB _ 06 615 4 17 20MB 07 462 8 17 30MB 08 733 5 17 30MB 09 900 15 17 112MB 10 820 3 17 20MB _ 11 855 5 17 35MB 12 855 7 17 49MB 13 306 8 17 20MB 14 733 7 17 42MB 15 976 15 17 121MB _ 16 612 4 17 20MB 17 977 5 17 40MB 18 977 7 17 56MB 19 1024 7 17 59MB 20 733 5 17 30MB _ 21 733 7 17 42MB 22 733 5 17 30MB 23 306 4 17 10MB 24 925 7 17 53MB 25 925 9 17 69MB _ 26 754 7 17 43MB 27 754 11 17 68MB 28 699 7 17 40MB 29 823 10 17 68MB 30 918 7 17 53MB _ 31 1024 11 17 93MB 32 1024 15 17 127MB 33 1024 5 17 42MB 34 612 2 17 10MB 35 1024 9 17 76MB _ 36 1024 8 17 68MB 37 615 8 17 40MB 38 987 3 17 24MB 39 987 7 17 57MB 40 820 6 17 40MB _ 41 977 5 17 40MB 42 981 5 17 40MB 43 830 7 17 48MB 44 830 10 17 68MB 45 917 15 17 114MB _ 46 1224 15 17 152MB .TE .bp .Sh 擬似ディスクへの DOS のインストール doscmd の擬似ハードディスクに DOS をインストールするには、 次のようにします: .Bl -tag -width XXXX .It 1 少なくとも次の記述を含む .Pa .doscmdrc を作成します: .Bd -literal -offset indent assign A: /dev/fd0.1440 1440 assign A: /dev/fd0.720 720 assign hard boot_drive 80 2 2 .Ed .Pp A: ドライブに対応するロウファイル (訳注: キャラクタスペシャルファイル) を、 システムに応じて修正する必要があるかもしれません。 この例では、HD ドライブを最初に試し、DD ドライブを次に試します (訳注: HD = High Density; 高密度、DD = Double Density; 倍密度)。 .\" HD = Hard Disk と思ってしまうと混乱するので、訳注を追加したい。 .\" HD = High Density, DD = Double Density .\" 1998/09/20 by horikawa@jp.FreeBSD.org .Pp ここでは、 ロウデバイスやロウファイルのみを使用する必要があることに注意してください。 加工された (cooked) デバイス (訳注: ブロックスペシャルファイル) を使用しないこと! (おそらくハードディスクは大丈夫でしょうが、フロッピは確実に駄目です) .Pp .Li boot_drive は、ブート可能なイメージを格納するファイルの名前です。 .Li 80 2 2 という 3 つの数字は、 ドライブが 80 個のシリンダと 2 個のヘッドとトラックあたり 2 個のセクタを 持つことを示します。 これは、MS-DOS 5.0 を .Pa config.sys と .Pa autoexec.bat のファイルと共にインストールすることが可能な、最小のドライブです。 .Pp もっと大きなブートドライブを作成したいかもしれません。 .Pp ファイル .Pa boot_drive は存在する必要がありますので、touch コマンドで作成してください。 .It 2 MS-DOS をブート可能で fdisk, format, sys コマンドを含むフロッピディスクを、 A: ドライブに挿入してください。 ファイル redir.com もフロッピにコピーしてください。 この際、msdos ファイルシステム型でフロッピをマウントするか、mtools を使用してください (例えば .Dq Li mwrite redir.com a: とします)。 .It 3 doscmd を実行してください。 .It 4 > プロンプトにて、 .Li fdisk とタイプします。 .It 5 .Li Create DOS partition or Logical Drive を選択します。 .It 6 .Li Create Primary DOS Partition を選択します。 .It 7 大きさを指定します (典型的にはドライブ全体です。それでも非常に小さいものです。) .It 8 .Li を何度か押して、FDISK を終了します。 .It 9 doscmd が実行中断するでしょうから、 そうなった場合、doscmd を再度実行します。 .It 10 > プロンプトにて、 .Li format c: とタイプし、指示に従います。 .It 11 > プロンプトにて、 .Li sys c: とタイプします。 .It 12 doscmd を終了します。 .It 13 ドライブからフロッピを取り除くか、 .Bd -literal -offset indent boot C: .Ed という行をあなたの .Pa .doscmdrc に加えてください。 .It 14 新しいディスクから DOS を動かします。 config.sys と autoexec.bat の両ファイルが欲しいでしょうから、 まず最初は次のようにします: .Bd -literal -offset indent > copy con: config.sys LASTDRIVE=Z ^Z > copy con: autoexec.bat @echo off redir.com ^Z .Ed .It 15 doscmd を終了します。 .It 16 .Fx ディスクを組み込む魔法のプログラム .Li redir を自動的に呼び出す、ブート可能な擬似ディスクが完成しました。 FreeBSD ディスクを使用するためには、次の行をあなたの .doscmdrc に追加します: .Bd -literal -offset indent assign D: /usr/dos assign P: -ro /usr/prb .Ed 名前の問題により、 アクセスできないファイルがあるかもしれないことに注意してください。 .El .Sh 診断 実装されていない割り込みに出会うと、 .Nm は次のようなメッセージを表示し終了します: .Pp .Dl Unknown interrupt 21 function 99 .Pp .Pp .Nm .Fl x スイッチ指定時に、 .Ic X11 support not compiled in というメッセージが表示された場合、環境変数 .Ev X11BASE を X Window System をインストールした場所 (通常 .Pa /usr/X11R6 ) に設定し、ソースディレクトリ (通常 .Pa /usr/src/usr.bin/doscmd ) で .Ic make install とタイプすることで、本機能を有効にすることができます。 このように動作するためには、 X プログラマキットがインストールしてある必要があります。 .Sh 作者 .An Pace Willisson , .An Paul Borman .Sh 歴史 .Nm は .Tn BSD/386 に初めて登場しました。 diff --git a/ja_JP.eucJP/man/man1/fetch.1 b/ja_JP.eucJP/man/man1/fetch.1 index 8334eb958a..b0e0a6c38b 100644 --- a/ja_JP.eucJP/man/man1/fetch.1 +++ b/ja_JP.eucJP/man/man1/fetch.1 @@ -1,255 +1,254 @@ .\"- .\" Copyright (c) 2000 Dag-Erling Co��an Smgrav .\" All rights reserved. .\" Portions Copyright (c) 1999 Massachusetts Institute of Technology; used .\" by permission. .\" .\" 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 .\" in this position and unchanged. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.bin/fetch/fetch.1,v 1.53 2003/06/10 20:34:50 trhodes Exp % +.\" %FreeBSD: src/usr.bin/fetch/fetch.1,v 1.54 2003/09/08 18:58:47 ru Exp % .\" .\" $FreeBSD$ -.Dd June 28, 2000 +.Dd March 11, 2003 .Dd February 22, 1999 .Dt FETCH 1 .Os .Sh 名称 .Nm fetch .Nd URL (Uniform Resource Locator) 形式でのファイルの取得 .Sh 書式 .Nm .Op Fl 146AFMPRUadlmnpqrsv .Op Fl B Ar bytes .Op Fl S Ar bytes .Op Fl T Ar seconds .Op Fl N Ar file .Op Fl o Ar file .Op Fl w Ar seconds .Op Fl h Ar host .Op Fl c Ar dir .Op Fl f Ar file .Op Ar URL ... .Sh 解説 .Nm ユーティリティは .Xr fetch 3 ライブラリへのコマンド行インタフェースを提供します。 目的は、コマンド行の URL (複数可) に示されるファイル (複数可) を取得することです。 .Pp 以下のオプションが使用可能です。 .Bl -tag -width Fl .It Fl \&1 最初にファイルの取得に成功したときに、終了値 0 を返して停止します。 .It Fl 4 .Nm が IPv4 アドレスのみを使用することを強制します。 .It Fl 6 .Nm が IPv6 アドレスのみを使用することを強制します。 .It Fl A ``一時的な'' (302) リダイレクトを自動的には追跡しません。 要求したオブジェクトが存在しない場合に、 発見できないというエラーではなくリダイレクトを返すという、 壊れたウェブサイトが存在します。 .It Fl a ソフト上での失敗の場合に自動的に転送を再試行します。 .It Fl B Ar bytes 読み込みバッファの大きさをバイト単位で指定します。 デフォルトは 4096 バイトです。 バッファの大きさを小さくしようとしても、黙って無視されます。 実際に実行された読み込み回数は、冗長レベル 2 以上で報告されます ( .Fl v フラグを参照してください)。 .It Fl c Ar dir 遠隔ホストの .Ar dir ディレクトリのファイルを取得します。 本オプションは、価値が低下しており、後方互換性のためだけに提供されています。 .It Fl d プロキシが設定されていても、直接接続します。 .It Fl F .Fl r フラグと組み合わせると、 ローカルファイルとリモートファイルの修正時刻が異なったとしても、 強制的に再開します。 .Fl R を暗黙的に指定します。 .It Fl f Ar file 遠隔ホストの .Ar file という名前のファイルを取得します。 本オプションは、価値が低下しており、後方互換性のためだけに提供されています。 .It Fl h Ar host ホスト名が .Ar host にあるファイルを取得します。 本オプションは、価値が低下しており、後方互換性のためだけに提供されています。 .It Fl l 目標が、ファイル形式の URL の場合、目標を複製しようとするのではなく、 リンクを作成します。 .It Fl M .It Fl m ミラーモード: ローカルホストにファイルが既に存在し、サイズと 変更時間がリモートファイル同じである場合、転送は行われません。 .Fl m と .Fl r のフラグは、あいいれないことに注意してください。 .It Fl N Ar file .Pa ~/.netrc の代りに .Ar file を使用し、FTP サイト用のログイン名とパスワードを見付けます。 ファイルの書式については .Xr ftp 1 を参照してください。 この機能は実験的です。 .It Fl n 転送されるファイルの変更時間を保存しません。 .It Fl o Ar file 出力ファイル名を .Ar file にします。 デフォルトでは、``パス名'' が指定された URI から取り出され、その ベースネームが出力ファイルの名前として使われます。 .Ar file 引数として .Sq Li \&- を与えると、結果は標準出力に出力されます。 .It Fl P .It Fl p .Tn FTP プロトコルをパッシブモードで使います。 これは、入力接続をブロックするファイアウォール (firewall) の背後に いる場合に有用です。FTP URL を取得するときに .Nm がハングするように見える場合に使用してみてください。 .It Fl q 沈黙モード。 .It Fl R 与えられたファイル名は大事にされ、どんな状況下でもファイル名は消去されません。 それは、転送が失敗もしくは不完全であった時でさえ、あてはまります。 .It Fl r 以前に中断された転送を再開します。 .Fl m と .Fl r のフラグは、あいいれないことに注意してください。 .It Fl S Ar bytes サーバが報告するファイルサイズが、指定値に合致することを要求します。 合致しない場合、メッセージが表示され、ファイルは取得されません。 サーバがファイルサイズの報告をサポートしていない場合、 本オプションは無視され、無条件にファイルが取得されます。 .It Fl s 各要求ファイルごとに、取得せずに、バイト数単位の大きさを表示します。 .It Fl T Ar seconds タイムアウト時間を .Ar seconds 秒に設定します。 FTP での転送に対しては .Ev FTP_TIMEOUT 環境変数が、HTTP での転送に関しては .Ev HTTP_TIMEOUT 環境変数が、設定されていた場合は、それを上書きします。 .It Fl U パッシブな FTP を使用しているとき、データ接続用に低位 (デフォルト) ポート を割り当てます。 どのポート範囲が対応するかの指定方法の詳細については、 .Xr ip 4 を参照してください。 .It Fl v 冗長レベルを増やします。 .It Fl w Ar seconds .Fl a が指定された場合、次のリトライの前に指定した秒数だけ待ちます。 .El .Pp .Nm が .Dv SIGINFO シグナルを受け取ると ( .Xr stty 1 への .Cm status 引数を参照して下さい)、 現在の転送レートの統計情報が、 標準の完了メッセージと同じ書式で 標準エラー出力に書き込まれます。 .Sh 診断 .Nm コマンドは、成功時には 0 を返し、失敗時には 1 を返します。 コマンド行上に複数の URL を指定した場合、 .Nm は、それぞれを順番に取得しようとし、 すべての取得に成功した場合のみに 0 を返します。 .Sh 環境変数 .Bl -tag -width HTTP_TIMEOUT .It Ev FTP_TIMEOUT .Tn FTP 接続を中断するまでの最大時間を秒で指定します。 .It Ev HTTP_TIMEOUT .Tn HTTP 接続を中断するまでの最大時間を秒で指定します。 .El .Pp .Xr fetch 3 ライブラリの文書に記述されている環境変数は、すべてサポートされています。 .Sh 関連項目 -.Xr sh 1 , .Xr fetch 3 .Sh 歴史 .Nm コマンドは .Fx 2.1.5 から導入されました。 本実装が最初に登場したのは .Fx 4.1 です。 .Sh 作者 .An -nosplit .Nm のオリジナル実装は .An Jean-Marc Zucconi が行いました。 .Fx 2.2 のために、拡張を行ったのは .An Garrett Wollman であり、後に .Xr fetch 3 を使用するように .An Dag-Erling Sm\(/orgrav が完全に書き直しました。 .Sh 注 .Fl b および .Fl t のオプションは、すでにサポートされておらず、警告を表示します。 これらのオプションは、他の OS のバグの回避策であって、 本実装ではバグを引き起こしません。 .Pp .Fl h , .Fl c , .Fl f オプションの使用と、コマンド行上の URL 指定は、同時にはできません。 diff --git a/ja_JP.eucJP/man/man1/file.1 b/ja_JP.eucJP/man/man1/file.1 index d28bc951ca..5963080e97 100644 --- a/ja_JP.eucJP/man/man1/file.1 +++ b/ja_JP.eucJP/man/man1/file.1 @@ -1,552 +1,552 @@ -.\" %FreeBSD: src/usr.bin/file/file.1,v 1.31 2003/03/12 14:37:01 ru Exp % +.\" %FreeBSD: src/usr.bin/file/file.1,v 1.32 2003/09/08 19:57:21 ru Exp % .\" $Id: file.man,v 1.44 2003/02/27 20:47:46 christos Exp % .\" .\" $FreeBSD$ .Dd February 27, 2003 .Dt FILE 1 "Copyright but distributable" .Os .Sh 名称 .Nm file .Nd ファイルの種類を判定する .Sh 書式 .Nm .Op Fl bciknNsvzL .Op Fl f Ar namefile .Op Fl F Ar separator .Op Fl m Ar magicfiles .Ar .Nm .Fl C .Op Fl m Ar magicfile .Sh 解説 このマニュアルは、 引数で指定されたファイルの種類を判定する、 .Nm ユーティリティのバージョン 3.41 について記載しています。 判定のために、ファイルシステムテスト、マジックナンバテスト、言語テストの 3 つのテストをこの順に実行し、 .Em 最初に 判定できた結果からファイルの種類を表示します。 .Pp ファイルの種類として表示されるのは、 .Dq Li text (印字可能文字と少数の制御文字だけのファイルで、 .Tn ASCII 端末に表示した場合、 問題が起こらないもの)、 .Dq Li executable ( .Ux カーネル等に理解可能な形にコンパイルされたプログラムを 含むファイル)、その他のものを意味する .Dq Li data (data は、通常 .Sq バイナリ か表示不能なもの) のうちの 1 つです。 例外は、内部フォーマットがよく知られた、 バイナリデータを含むファイル (コアファイルや tar アーカイブ) です。 ファイル .Pa /usr/share/misc/magic やプログラムそのものを変更するときは、 .Em "これらのキーワードを残して下さい" 。 ディレクトリ内のすべての可読なファイルは、 単語 .Dq Li text を表示することが期待されています。 Berkeley で行われたように、 .Dq Li "shell commands text" を .Dq Li "shell script" と変更するようなことはしないで下さい。 ファイル .Pa /usr/share/misc/magic は、 .Nm のソース配布中の .Pa Magdir サブディレクトリ中の大量の小さなファイルから機械的に構築されることに 注意してください。 .Pp ファイルシステムテストは、 .Xr stat 2 システムコールからの戻り値を調べることに基づいています。 このプログラムは、ファイルが空であるかどうか、ある種の 特殊ファイルであるかどうかを調べます。 使っているシステムに合った既知のファイルの種類 (システムに実装されたソケット、シンボリックリンク、 名前付きパイプ (FIFO)) は、システムヘッダファイル -.Aq Pa sys/stat.h +.In sys/stat.h で定義されていれば表示されます。 .Pp マジックナンバテストは、ファイルが固定フォーマットのデータであるか どうかをチェックするために使われます。 よい例が、実行可能なバイナリ実行形式 (コンパイルされたプログラム) .Pa a.out ファイルです。このフォーマットは標準インクルードディレクトリ内の -.Aq Pa a.out.h +.In a.out.h や場合により -.Aq Pa exec.h +.In exec.h で定義されています。 実行ファイルは、 ファイルの先頭近くの特定の場所に、 .Sq マジックナンバ を持ちます。 これは .Ux オペレーティングシステムに対し、 ファイルがバイナリ実行形式であり、 どのタイプの実行可能ファイルであるかを知らせます。 .Sq マジックナンバ の概念は拡張され、データファイルにも適用されています。 ファイルの先頭に近い固定位置に固定識別子があるファイルは、 このように記述できます。 これらのファイル識別情報は、組み込みのマジックファイル .Pa /usr/share/misc/magic.mgc または組み込みファイルが存在しない場合は .Pa /usr/share/misc/magic から読み込まれます。 .Pp ファイルがマジックファイルのどのエントリにもマッチしない場合、 text ファイルに見えるかどうか検査されます。 .Tn ASCII , .Tn ISO-8859-x , 非 ISO 8-bit 拡張 ASCII 文字集合 (Macintosh および IBM PC システムで使用), .Tn UTF-8-encoded Unicode , .Tn UTF-16-encoded Unicode , .Tn EBCDIC の文字集合が区別可能であり、 これには各文字集合における印字可能 text を構成する バイトの範囲およびシーケンスを使用します。 ファイルがこれらのテストのいずれかを通過した場合、文字集合が報告されます。 .Tn ASCII , .Tn ISO-8859-x , .Tn UTF-8 , extended-ASCII ファイルは .Dq text として識別されます。 なぜなら、ほとんどどのような端末においても読めるからです。 .Tn UTF-16 および .Tn EBCDIC は .Dq Li "character data" でしかありません。 これらは text を含みますが、読む前に変換が必要だからです。 さらに、 .Nm は text タイプファイルの他の特性も判定しようとします。 ファイルの行の終端が、 .Ux 標準の LF ではなく、 CR, CRLF, NEL のいずれかである場合、そのことが報告されます。 組み込みのエスケープシーケンスや重ね打ちを含むファイルについても、 識別されます。 .Pp text タイプファイルで使用されている文字集合を判定した後、 その言語を推定しようとします。 言語テストは、ファイルの始めの数ブロックに 特定の文字列 ( .Pa Inames.h を参照) があるかどうかを探します。たとえばキーワード .Ic .br があればそれはおそらく .Xr troff 1 の入力ファイルであり、 .Ic struct というキーワードは、C 言語のプログラムであることを示しています。 こうした推定方法は、前述の 2 つのテストより信頼性が低いため、 最後に行われます。言語テストルーチンは ( .Xr tar 1 アーカイブのような) その他のファイルもチェックします。 .Pp 上記の文字集合のいずれで記述されているとも識別できなかったファイルは、 単に .Dq Li data と呼ばれます。 .Sh オプション .Bl -tag -width indent .It Fl b 出力行の前にファイル名を付けません (短縮モード)。 .It Fl c マジックファイルを解析した形式を、調査できるように表示します。 通常、 新しいマジックナンバファイルを使う前にデバッグするために、 .Fl m オプションとともに用います。 .It Fl C .Pa magic.mgc 出力ファイルを書きます。 これには構文解析される前のバージョンのファイルが含まれます。 .It Fl f Ar namefile 引数の前に .Ar namefile から調べるべきファイル名を (1 行に 1 つ) 読み込みます。 .Ar namefile もしくは引数の filename は少なくとも 1 つは指定しなければなりません。 標準入力のファイルの種類を判定させる場合は、 ファイル名として、 .Dq Fl を指定します。 .It Fl F Ar separator .Ql \&: の代りに、指定したセパレータ文字を使用します。 .It Fl i .Nm に、伝統的な人間が読める形式の代りに、 mime タイプ文字列を出力させます。 よって、 .Dq Li "ASCII text" の代りに .Dq Li "text/plain; charset=us-ascii" となります。 本オプションが動作するようにするために、 .Nm はファイル認識方法 (例えば、多くの text ファイルタイプやディレクトリ等) を変え、 別の .Pa magic ファイルを使用します (後述の .Sx 関連ファイル 節を参照してください)。 .It Fl k 最初にマッチしても停止せずに、処理を継続します。 .It Fl m Ar list マジックナンバを含む別のファイルの list を指定します。 これは、1 つのファイルか、コロン (:) で分けられたファイルのリストです。 .It Fl n 各ファイルのチェック後に、標準出力をフラッシュします。 ファイルの一覧をチェックしているときのみ、有用です。 ファイルタイプをパイプから出力するプログラムにおいて使用することを意図します。 .It Fl N ファイル名が格好良く揃うようにはパッドしません。 .It Fl v プログラムのバージョンを表示して、終了します。 .It Fl z compress で圧縮されたファイルの中身を見ようとします。 .It Fl L オプションは(システムがシンボリックリンクを提供していれば)、 .Xr ls 1 コマンドの .Fl L オプションと同様にシンボリックリンクをたどって実際のファイルの中 身の種類を判定します。 .It Fl s 通常、 .Nm が引数のファイルの読み込みとタイプの判定を行うのは、 .Xr stat 2 が通常ファイルであると報告した場合のみです。 これにより問題を回避しています。 なぜなら、特殊ファイルの読み込みは、 特定の結果を発生させる場合があるからです。 .Fl s オプションを指定すると、 .Nm は、ブロックおよびキャラクタの特殊ファイルも読み込みます。 これは、raw ディスクパーティション中のデータに存在する ファイルシステムタイプの判定に有用です。 なぜなら、raw ディスクパーティションはブロック型特殊ファイルであるからです。 本オプションはまた、 .Nm が .Xr stat 2 が報告するファイルの大きさを無視するようにさせます。 なぜなら、システムによっては、 raw ディスクパーティションの大きさは 0 であると報告するものがあるからです。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /usr/share/misc/magic.mime" -compact .It Pa /usr/share/misc/magic.mgc デフォルトの組み込まれたマジックナンバのリスト .It Pa /usr/share/misc/magic デフォルトのマジックナンバのリスト .It Pa /usr/share/misc/magic.mime .Fl i が指定されて mime タイプを出力する場合に使用する、 デフォルトのマジックナンバのリスト .El .Sh 環境変数 環境変数 .Ev MAGIC は、デフォルトのマジックナンバファイルを指定するために 使うことができます。 .Sh 関連項目 .Xr hexdump 1 , .Xr od 1 , .Xr strings 1 , .Xr magic 5 .Sh 標準適合性 FILE(CMD) の .St -svid4 の曖昧な記述から 判断する限りにおいては、 このプログラムはこの仕様を越えていると思われます。 同名の System V のプログラムと、ほとんど動作は同じです。 しかし、このバージョンはより多くのマジックを知っているので、多くの場合に 異なった (より正確な) 出力を出します。 .Pp このバージョンと System V のものとの大きな違いは、 このバージョンは全ての空白を区切り文字として扱うため パターン内の空白はエスケープしなければならないということです。 たとえば、 .Pp .Dl ">10 string language impress\ (imPRESS data)" .Pp とマジックファイルに書かれていた場合は、次のように 変更せねばなりません。 .Pp .Dl ">10 string language\e impress (imPRESS data)" .Pp またこのバージョンでは、バックスラッシュを含んでいる パターンもエスケープしなくてはいけません。たとえば、 .Pp .Dl "0 string \ebegindata Andrew Toolkit document" .Pp とマジックファイルに書かれていた場合は、次のように 変更せねばなりません。 .Pp .Dl "0 string \e\ebegindata Andrew Toolkit document" .Pp Sun Microsystems の SunOS リリース 3.2 もしくはそれ以降には、 System V 由来の .Xr file 1 コマンドが含まれていますが、拡張がなされています。 このバージョンは SUN のものとは、細かい点でしか異なりません。 このバージョンには .Sq Ic & 演算子の拡張が含まれています。 使い方は、次のようなものです。 .Pp .Dl ">16 long&0x7fffffff >0 not stripped" .Sh マジックディレクトリ マジックファイルのエントリは様々なソース (主に USENET) から集められたり、様々な作者から提供されました。 .An Chirstos Zoulas (下記のアドレス) が、 マジックファイルエントリをさらに集めたり訂正するでしょう。 統合したマジックファイルエントリは、定期的に配布されるでしょう。 .Pp マジックファイルにおけるエントリの順序は 重要です。 使っているシステムによって、エントリの順序が正しくなくなることが あります。 もし、あなたの古い .Nm コマンドがマジックファイルを使っているのなら、 比較のため古いマジックファイルを保存して下さい (たとえば、 .Pa /usr/share/misc/magic.orig という名前に変更します)。 .Sh 使用例 .Bd -literal $ file file.c file /dev/{wd0a,hda} file.c: C program text file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped /dev/wd0a: block special (0/0) /dev/hda: block special (3/0) $ file -s /dev/wd0{b,d} /dev/wd0b: data /dev/wd0d: x86 boot sector $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10} # Linux /dev/hda: x86 boot sector /dev/hda1: Linux/i386 ext2 filesystem /dev/hda2: x86 boot sector /dev/hda3: x86 boot sector, extended partition table /dev/hda4: Linux/i386 ext2 filesystem /dev/hda5: Linux/i386 swap file /dev/hda6: Linux/i386 swap file /dev/hda7: Linux/i386 swap file /dev/hda8: Linux/i386 swap file /dev/hda9: empty /dev/hda10: empty $ file -s /dev/rwd0e # BSD /dev/rwd0e: Unix Fast File system (little-endian), last mounted on /usr, last written at Mon Feb 10 13:22:40 2003, clean flag 2, number of blocks 28754208, number of data blocks 27812712, number of cylinder groups 3566, block size 8192, fragment size 1024, minimum percentage of free blocks 5, rotational delay 0ms, disk rotational speed 60rps, TIME optimization $ file -i file.c file /dev/{wd0a,hda} file.c: text/x-c file: application/x-executable, dynamically linked (uses shared libs), not stripped /dev/hda: application/x-not-regular-file /dev/wd0a: application/x-not-regular-file .Ed .Sh 歴史 .Nm コマンドは、少なくとも Research Version 4 (マニュアルページの日付は、1973 年 11 月) からはどの .Ux にもありました。 System V バージョンはある重要な変更、 すなわち外部マジックナンバリストを導入しました。 これによってプログラムのスピードはわずかに低下しましたが、 更にまた柔軟になりました。 .Pp このプログラムは、System V バージョンを基づいており、 .An Ian Darwin Aq ian@darwinsys.com によって、他の誰かのソースコードを見ることなく 書かれました。 .Pp .An John Gilmore は、コードを拡張し、最初の版よりもよいものにしました。 .An Geoff Collyer は、不適当なところが数箇所あるのを発見し、 いくつかマジックファイルエントリを提供しました。 .An Rob McMahon Aq cudcv@warwick.ac.uk は、1989 年に、 .Sq Ic & 演算子を寄贈しました。 .Pp .An Guy Harris Aq guy@netapp.com は、1993 年から現在に至り、多くの変更を行っています。 .Pp 基本開発と 1990 年から現在に至るメンテナンスを、 .An Christos Zoulas Aq christos@astron.com が行っています。 .Pp 2000 年に .An Chris Lowth Aq chris@lowth.com が修正を行い、 .Fl i オプションが mime タイプ文字列を出力し、 別のマジックファイルと内部ロジックを使用するようになりました。 .Pp 2000 年 7 月に .An Eric Fischer Aq enf@pobox.com が修正を行い、 文字コードを識別し、非 .Tn ASCII ファイルの原語を識別しようとするようになりました。 .Pp .Pa Magdir ディレクトリ ( .Pa /usr/share/misc/magic ファイルのソース) に対する寄贈者は、ここに含めるには長過ぎます。 ご了承ください。 .Sh 法律上の注意 Copyright (c) Ian F. Darwin, Toronto, Canada, 1986-1999. Covered by the standard Berkeley Software Distribution copyright; see the file .Pa LEGAL.NOTICE in the source distribution. .Pp The files .Pa tar.h and .Pa is_tar.c were written by .An John Gilmore from his public-domain .Nm tar program, and are not covered by the above license. .Sh バグ .Pa Magdir から .Pa Magic ファイルを自動的に作成するよりよい方法があるはずです。 それは何なのでしょうか。より起動を速くするため マジックファイルをバイナリにコンパイルするとよいでしょう。 (たとえば .Xr ndbm 3 あるいは、異機種ネットワーク環境では固定長の .Tn ASCII 文字)。 そうすれば、同名の バージョン 7 のプログラムと同じぐらいの速さで System V バージョンの柔軟性を持ったプログラムとなるでしょう。 .Pp .Nm ユーティリティには、正確さよりも 速度を重視したアルゴリズムが いくつかあるので text ファイルの内容については 間違うことがあります。 .Pp text ファイルのサポート (元々はプログラミング言語のため) は 単純で、不十分であり、更新には再コンパイルが必要です。 .Pp 複数の行に渡るものをサポートするため .Ic else 項があるべきです。 .Pp マジックファイルと キーワードの正規表現を サポートするべきです。 .Tn "ASCII TAB" をフィールドの識別子にすることは醜く、 ファイルの編集を難しくしていますが、残されています。 .Pp キーワードに大文字を許すことが勧められます。たとえば、 .Xr troff 1 コマンドと man page マクロの区別です。 正規表現のサポートで、このことは簡単になるでしょう。 .Pp .Tn FORTRAN に対してプログラムが働きません。 行の先頭にインデントされているキーワードを見ることにより .Tn FORTRAN だと判別すべきです。 正規表現のサポートによりこれは簡単になるでしょう。 .Pp .Pa ascmagic に入っている キーワードのリストは、おそらく .Pa Magic ファイルに 入れるべきものです。 これはオフセットの値として .Sq Ic * のようなキーワードを 使うことで可能でしょう。 .Pp 最初の文字、最初の語、最初の long などに関する テストを 最初に読み込んだときに全て行うことができるよう マジックファイルを並べ直す最適化法はないだろうか。 マジックファイルの矛盾について述べるようにならないか。 エントリの順序を マジックファイル上の位置ではなく、 ファイルオフセット順にすることはできないだろうか。 .Pp プログラムは、推定が .Dq どれぐらいよい のかを知る方法を 提供すべきです。ファイルの最初の 5 文字が .Dq Li "From " であるときに推測をしても、 .Dq Li "Newsgroups:" や .Dq Li "Return-Path:" といった文字による推測ほどよくはないので、推測結果を 捨てることになります。しかし、もしそういった文字が 現れなければ最初の推定を使わなければなりません。 .Pp このプログラムは、いくつかの商用の .Nm コマンドより遅いです。 複数の文字コードのサポートにより、より遅くなっています。 .Pp このマニュアルページ、特にこの節が長過ぎます。 .Sh 入手性 オリジナル作者の最新のバージョンを anonymous FTP で、 .Pa ftp.deshaw.com の .Pa /pub/file/file-X.YZ.tar.gz から手に入れることができます。 diff --git a/ja_JP.eucJP/man/man1/getconf.1 b/ja_JP.eucJP/man/man1/getconf.1 index 650b7ccb2e..2128dbbff3 100644 --- a/ja_JP.eucJP/man/man1/getconf.1 +++ b/ja_JP.eucJP/man/man1/getconf.1 @@ -1,203 +1,203 @@ .\" .\" Copyright 2000 Massachusetts Institute of Technology .\" .\" Permission to use, copy, modify, and distribute this software and .\" its documentation for any purpose and without fee is hereby .\" granted, provided that both the above copyright notice and this .\" permission notice appear in all copies, that both the above .\" copyright notice and this permission notice appear in all .\" supporting documentation, and that the name of M.I.T. not be used .\" in advertising or publicity pertaining to distribution of the .\" software without specific, written prior permission. M.I.T. makes .\" no representations about the suitability of this software for any .\" purpose. It is provided "as is" without express or implied .\" warranty. .\" .\" THIS SOFTWARE IS PROVIDED BY M.I.T. ``AS IS''. M.I.T. DISCLAIMS .\" ALL EXPRESS OR IMPLIED WARRANTIES WITH REGARD TO THIS SOFTWARE, .\" INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT .\" SHALL M.I.T. BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, .\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT .\" LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF .\" USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND .\" ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, .\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.bin/getconf/getconf.1,v 1.11 2002/12/12 17:26:00 ru Exp % +.\" %FreeBSD: src/usr.bin/getconf/getconf.1,v 1.12 2003/09/08 19:57:21 ru Exp % .\" .\" $FreeBSD$ .Dd September 18, 2002 .Dt GETCONF 1 .Os .Sh 名称 .Nm getconf .Nd 標準設定変数の取り出し .Sh 書式 .Nm .Op Fl v Ar environment .Ar path_var .Ar file .Nm .Op Fl v Ar environment .Ar system_var .Sh 解説 .Nm ユーティリティは、 .Tn POSIX や .Tn X/Open のパスの値やシステム設定変数を標準出力へ表示します。 指定された変数が未定義の場合、文字列 .Dq Li undefined が出力されます。 .Pp コマンドの第 1 の形式は 2 個の必須引数を取り、 .Xr pathconf 2 を使用して、ファイル固有もしくはファイルシステム固有の設定変数を取り出します。 第 2 の形式は 1 個の引数を取り、変数の型に依存して .Xr confstr 3 か .Xr sysconf 3 を使用して、システム設定変数を取り出します。 拡張として、第 2 の形式を使用して静的な制限を -.Aq Pa limits.h +.In limits.h から取り出せます。 .Pp すべての .Xr sysconf 3 と .Xr pathconf 2 の変数は、先行するアンダスコアやプレフィックスを含め、 適切な標準 C 言語の束縛で定義された目録定数と同じ名前を持ちます。 つまり .Ar system_var は .Dv ARG_MAX や .Dv _POSIX_VERSION であり、それに対して .Xr sysconf 3 での名前は .Dv _SC_ARG_MAX や .Dv _SC_POSIX_VERSION ということです。 .Xr confstr 3 から取り出された変数は、先行する .Ql _CS_ が取り除かれます。 ですので、 .Ar system_var に .Dq Li PATH を指定すると .Dv _CS_PATH を要求することになります。 .Ss プログラミング環境 .Fl v Ar environment オプションは、 .St -p1003.1-2001 プログラミング環境を指定し、その環境のもとでの値を問い合わせます。 このオプションは現在のところ何もしませんが、32 ビットと 64 ビットの 両方の実行環境をサポートするプラットフォーム上で将来これが使用される かもしれません。 現在実行中のプラットフォームがサポートしない環境を指定すると、 未定義の結果となります。 .Pp 標準プログラミング環境は次の通りです: .Bl -tag -width ".Li POSIX_V6_LPBIG_OFFBIG" -offset indent .It Li POSIX_V6_ILP32_OFF32 整数 (int)、long、ポインタ、ファイルオフセットが、正確に 32 ビットです。 .Sy サポートされたプラットフォーム : 無し。 .It Li POSIX_V6_ILP32_OFFBIG 整数 (int)、long、ポインタが、正確に 32 ビットです。 ファイルオフセットは少なくとも 64 ビットです。 .Sy サポートされたプラットフォーム : .Tn IA32 , .Tn PowerPC 。 .It Li POSIX_V6_LP64_OFF64 整数 (int) が、正確に 32 ビットです。 long、ポインタ、ファイルオフセットが、正確に 64 ビットです。 .Sy サポートされたプラットフォーム : .Tn Alpha , .Tn SPARC64 。 .It Li POSIX_V6_LPBIG_OFFBIG 整数 (int) が、少なくとも 32 ビットです。 long、ポインタ、ファイルオフセットが、少なくとも 64 ビットです。 .Sy サポートされたプラットフォーム : 無し。 .El .Pp コマンド .Pp .Dl "getconf POSIX_V6_WIDTH_RESTRICTED_ENVS" .Pp は、基本型の幅がネイティブな C の型 .Vt long の幅を越えないような環境を、改行で区切ったリストにして返します。 現在のところ、 .Fx がサポートするすべてのプログラミング環境にはこの特性があります。 .Xr confstr 3 変数のいくつかは、前述の標準プログラミング環境で使うのに必要な コンパイラやリンカのフラグの情報を提供します。 .Sh 診断 .Ex -std まったく認識できない .Ar system_var や .Ar path_var を使うと、エラーとみなされ、診断メッセージが標準エラーに書かれます。 既知ではあるが、単に未定義のものに関しては、エラー表示されません。 .Nm ユーティリティは、現在実装されていないものを含め、 .St -p1003.1-2001 用に定義されたすべての変数を認識します。 .Sh 使用例 コマンド .Pp .Dl "getconf PATH" .Pp は、 .Ev PATH 環境変数のシステムデフォルト設定を表示します。 .Pp コマンド .Pp .Dl "getconf NAME_MAX /tmp" .Pp は、 .Pa /tmp ディレクトリ中のファイル名の最大長を表示します。 .Pp コマンド .Pp .Dl "getconf -v POSIX_V6_LPBIG_OFFBIG LONG_MAX" .Pp は、システムが .Li POSIX_V6_LPBIG_OFFBIG プログラミング環境をサポートする場合には、その環境における C の型 .Vt long の最大値を表示します。 .Sh 関連項目 .Xr pathconf 2 , .Xr confstr 3 , .Xr sysconf 3 .Sh 規格 .Nm ユーティリティは .St -p1003.1-2001 に適合していると期待されます。 .Sh 歴史 .Nm ユーティリティが最初に登場したのは .Fx 5.0 です。 .Sh 作者 .An Garrett A. Wollman Aq wollman@lcs.mit.edu diff --git a/ja_JP.eucJP/man/man1/grotty.1 b/ja_JP.eucJP/man/man1/grotty.1 index 6d412ea4a9..896877024b 100644 --- a/ja_JP.eucJP/man/man1/grotty.1 +++ b/ja_JP.eucJP/man/man1/grotty.1 @@ -1,395 +1,395 @@ .ig -%FreeBSD: src/contrib/groff/src/devices/grotty/grotty.man,v 1.7 2002/10/14 09:15:17 ru Exp % +%FreeBSD: src/contrib/groff/src/devices/grotty/grotty.man,v 1.8 2003/09/08 17:46:32 ru Exp % Copyright (C) 1989-2000, 2001, 2002 Free Software Foundation, Inc. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. .. .\" $FreeBSD$ . . -.TH GROTTY 1 "14 October 2002" "Groff Version 1.19" +.TH GROTTY 1 "9 September 2003" "Groff Version 1.19" .SH 名称 grotty \- タイプライタ型デバイスのための groff ドライバ . . .SH 書式 .B grotty [ .B \-bBcdfhioruUv ] [ .BI \-F dir ] [ .IR files \|.\|.\|.\& ] .PP .B \-F オプションとパラメータの間に空白を含めることが可能です。 . . .SH 解説 .B grotty は、GNU .B troff の出力をタイプライタ型デバイスのために変換します。通常 .B grotty は、ASCII ベースのシステム上では .B groff に .BR \-Tascii , -.BR \-Tkoi8-r , .BR \-Tlatin1 , +.BR \-Tkoi8-r , .B \-Tutf8 のいずれかのオプションを指定することにより、EBCDIC ベースのシステム上では .B \-Tcp1047 , .B \-Tutf8 オプションを指定することによりそれぞれ起動されます。 ファイル名を指定しない場合は標準入力を読み込みます。 ファイル名として .B \- を指定した場合も標準入力を読み込みます。 出力は標準出力に書き出されます。 .LP デフォルトでは、テキスト属性 (ボールド、イタリック、色) を変えるために、 .B grotty は SGR エスケープシーケンス (ISO 6429 であり ANSI 色シーケンスとも呼ばれます) を出力します。 これにより、8 種類の \M[green]背景色\M[] と \m[red]前景色\m[] が持てます。 更に、ボールドとイタリック属性は \f[BI]同時に\f[] 使用可能です (BI フォントを使います)。 .LP 次の色が .BR tty.tmac で定義されています: black, white, red, green, blue, yellow, magenta, cyan。 未知の色はデフォルトの色にマップされます (端末の設定に依存しますが、ほとんどの場合前景色は黒で、背景色は白です)。 .LP 昔の動作に戻すには .B \-c を使用してください。 .B grotty は、ボールド文字 .I c を .RI ` c .SM BACKSPACE .IR c ' というシーケンスで、 イタリック文字 .I c を .RB ` _ .SM BACKSPACE .IR c ' というシーケンスで出力するようになります。 同時に色出力が無効になります。 同じ効果を得るには、環境変数 .B GROFF_NO_SGR を設定するか、`sgr' X コマンド (後述) を使用します。 .LP SGR サポートのためには、 .BR less (1) に .B \-R オプションを使用することで、 .BR grotty の古い出力フォーマットを解釈しないようにさせます。 その結果、 .B less をページャとして使うすべてのプログラムはこのオプションを渡す必要がありなす。 特に .BR man (1) の場合、 .B \-R を .B $PAGER 環境変数に追加する、例えば .RS .LP .B PAGER="/usr/bin/less -R" .br .B export PAGER .RE .LP とするか、 .B man の .B \-P オプションにてページャ実行形式とオプションを指定するか、 .B man の設定ファイルを同様の方法で修正します。 .LP .BR grotty の古い整形を .BR ul (1) を通すことにより、端末で表示することができるようになります。 .BR more (1) や .BR less (1) のようなページャも、これらのシーケンスを表示することができます。 .BR less (1) を使って表示する場合は .B \-B または .B \-U オプションを、 .BR more (1) を使って表示する場合は .B \-b オプションを使用してください。 .B grotty は逆改行を出力しないので、 .BR col (1) を通す必要はありません。 .LP フォント記述ファイルには、以下のコマンドを含めることができます。 .IP .BI internalname\ n .LP ここで、 .I n は 10 進数の整数です。もし .I n の 01 ビットがセットされているなら、そのフォントは イタリックフォントとして扱われます。 02 ビットがセットされているなら、ボールドフォントとして扱われます。 フォント記述のコードフィールドは、出力時に用いられる文字を指定します。 このコードは、 .B troff の .B \[rs]N エスケープシーケンスでも使用されます。 . . .SH オプション .TP .B \-b ボールド文字を出力するのに二重打ちを使わないようにします。 .B \-c が使われていない場合には無視されます。 . .TP .B \-B ボールドイタリック文字をただの二重打ちで出力します。 .B \-c が使われていない場合には無視されます。 . .TP .B \-c .BR grotty の古い出力フォーマット (上述) を使用します。 また、色出力も無効化します。 . .TP .B \-d すべての .B \[rs]D コマンドを無視します。このオプションを指定しないと、 .B grotty は .B \[rs]D'l\|.\|.\|.\&' コマンドのうち引数のどちらかが 0 (すなわち水平あるいは垂直線の描画) であるものを、文字 .BR \- , .BR \&| , .B \&+ を用いて描画します。 . .TP .B \-f フォームフィードを使用します。 最終行に出力するものがないページの最後にフォームフィードが出力されます。 . .TP .BI \-F dir フォントとデバイス記述ファイルの検索パスの前に、ディレクトリ .IB dir /dev name を追加します。 .I name はデバイス名で、通常は .BR ascii , -.BR koi8-r , .BR latin1 , +.BR koi8-r , .BR utf8 , .B cp1047 のいずれかです。 .TP .B \-h 出力に水平タブを使用します。水平タブは 8 桁ごとに設定されているものとします。 .TP .B \-i イタリックフォント (`I' と `BI') に対し、 下線属性を使用する代りにイタリックテキスト属性を設定する エスケープシーケンスを使用します。 ほとんどの端末 (xterm を含みます) が これをサポートしないことに注意してください。 .B \-c が使用されている場合には無視されます。 . .TP .B \-r イタリックフォント (`I' と `BI') に対し、 下線属性を使用する代りに反転テキスト属性を設定する エスケープシーケンスを使用します。 .B \-c が使用されている場合には無視されます。 . .B \-u イタリック文字を出力するのにアンダーラインを使用しないようにします。 .B \-c が使用されていない場合には無視されます。 .TP .B \-U ボールドイタリック文字をただのアンダーラインで出力します。 .TP .B \-v バージョン番号を表示します。 . . .SH 使用法 .B grotty は、 .B \[rs]X エスケープシーケンスで生成した、単独の X コマンドを理解します。 .TP .BI \[rs]X'tty:\ sgr\ n ' .I n が 0 でない場合か無い場合、SGR 出力を有効にします (デフォルトです)。 そうではない場合、ボールドと下線に関し、古い描画方式を使用します。 . .SH 環境変数 .TP .B GROFF_NO_SGR 設定すると、ボールドとアンダラインに対し (バックスペース文字を使うという) 古い描画方式を使用します。 色は無効化されます。 . . .SH 関連ファイル .TP .B /usr/share/groff_font/devascii/DESC .B ascii デバイス記述ファイル . .TP .BI /usr/share/groff_font/devascii/ F .B ascii デバイスにおけるフォント .I F 用のフォント記述ファイル . .TP .B /usr/share/groff_font/devkoi8-r/DESC .B koi8-r デバイス記述ファイル . .TP .BI /usr/share/groff_font/devkoi8-r/ F .B koi8-r デバイスにおけるフォント .I F 用のフォント記述ファイル . .TP .B /usr/share/groff_font/devlatin1/DESC .B latin1 デバイス記述ファイル .TP .BI /usr/share/groff_font/devlatin1/ F .B latin1 デバイスにおけるフォント .I F 用のフォント記述ファイル . .TP .B /usr/share/groff_font/devutf8/DESC .B utf8 デバイス記述ファイル .TP .BI /usr/share/groff_font/devutf8/ F .B utf8 デバイスにおけるフォント .I F 用のフォント記述ファイル . .TP .B /usr/share/groff_font/devcp1047/DESC .B cp1047 デバイス記述ファイル . .TP .BI /usr/share/groff_font/devcp1047/ F .B cp1047 デバイスにおけるフォント .I F 用のフォント記述ファイル . .TP .B /usr/share/tmac/tty.tmac .B grotty で用いるマクロ . .TP .B /usr/share/tmac/tty-char.tmac そのままでは .B grotty に表示できない文字の表示方法の定義 .LP EBCDIC ホストでは、 .B cp1047 デバイス用のファイルのみがインストールされることに注意してください。 . . .SH バグ .LP .B grotty は、単純なドキュメントの作成を意図して作られています。 .LP 水平や鉛直方向への小さな移動 (半改行など、1文字、1行より小さな位置決め) を サポートしていません。 .LP 水平線、鉛直線以外の .B \[rs]D コマンドはサポートされていません。 .LP 1 行目よりも上に位置する文字(すなわち垂直方向の座標が 0 である文字)は 出力されません。 .LP 色の扱い方が .BR grops (1) と違います。 .B \[rs]M は閉じたグラフィック物体 (どちらにせよ .B grotty はこれをサポートしません) の塗り潰し色を設定しませんが、 文字セルの背景色を変えるので、後続する操作すべてに影響します。 . . .SH 関連項目 .BR groff (1), .BR troff (1), .BR groff_out (5), .BR groff_font (5), .BR groff_char (7), .BR ul (1), .BR more (1), .BR man (1), .BR less (1) . .\" Local Variables: .\" mode: nroff .\" End: diff --git a/ja_JP.eucJP/man/man1/make.1 b/ja_JP.eucJP/man/man1/make.1 index a2638603d1..081a51fa0e 100644 --- a/ja_JP.eucJP/man/man1/make.1 +++ b/ja_JP.eucJP/man/man1/make.1 @@ -1,1219 +1,1228 @@ .\" 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. .\" .\" @(#)make.1 8.8 (Berkeley) 6/13/95 -.\" %FreeBSD: src/usr.bin/make/make.1,v 1.62 2002/12/23 16:04:51 ru Exp % +.\" %FreeBSD: src/usr.bin/make/make.1,v 1.64 2003/10/02 18:38:23 ru Exp % .\" .\" this file based on that translated to japanese on NetBSD Japanese Reference .\" Manual Project, and modefied to fit FreeBSD Reference Manual .\" by Mochida Shuji 1996/04/26 .\" $FreeBSD$ .\" .Dd June 13, 1995 .Dt MAKE 1 .Os .Sh 名称 .Nm make .Nd プログラムの依存関係をメンテナンスする .Sh 書式 .Nm .Op Fl BPSXeiknqrstv .Op Fl C Ar directory .Op Fl D Ar variable .Op Fl d Ar flags .Op Fl E Ar variable .Op Fl f Ar makefile .Op Fl I Ar directory .Bk -words .Op Fl j Ar max_jobs .Op Fl m Ar directory .Ek .Op Fl V Ar variable .Op Ar variable Ns No = Ns Ar value .Op Ar target ... .Sh 解説 .Nm ユーティリティは、プログラムのメンテナンスを単純化するためのツールです。 その入力はファイルの生成とプログラムとの間の依存関係を指定する リストが記述されています。 カレントディレクトリまたは特別なオブジェクトディレクトリ .Va ( .OBJDIR 参照) のどちらか一方において .Pa BSDmakefile , .Pa makefile , .Pa Makefile の最初に見つかった方から、この指定のリストが読み込まれます。 .Pa .depend というファイルが見つかれば、それも読み込みます .Pq Xr mkdep 1 を参照 。 .Pp 本マニュアルはリファレンスのためのみのドキュメントです。 .Nm と makefile に関する詳しい紹介は .%T "Make \- A Tutorial" を参照してください。 .Pp オプションは以下のとおりです。 .Bl -tag -width Ds .It Fl B シーケンス中の依存行のソースを作成するために、各コマンドに対して 1 つのシェルを実行する、バックワード互換モードで実行しようとします。 このオプションは .Fl j が使用されない限り、デフォルトで有効になります。 .It Fl C Ar directory -実行時に +makefile の読み取りや他のなにかをする前に、 .Ar directory へ移動します。 +複数の +.Fl C +が指定された場合、それぞれは、直前のものに対する相対として解釈されます。 +.Fl C Pa / Fl C Pa etc +は +.Fl C Pa /etc +と等価です。 .It Fl D Ar variable 大域変数 .Ar variable を 1 と定義します。 .It Fl d Ar flags デバッグモードを有効にし、 .Nm が表示するデバッグ情報の種類を指定します。 引数 .Ar flags には、以下のうち 1 つ以上を指定できます。 .Bl -tag -width Ds .It Ar A すべてのデバッグ情報を出力します。他のフラグをすべて指定したことと 等価です。 .It Ar a アーカイブ検索とキャッシュに関する情報を表示します。 .It Ar c 条件評価に関する情報を表示します。 .It Ar d ディレクトリ検索とキャッシュに関する情報を表示します。 .It Ar f for ループの実行に関するデバッグ情報を表示します。 .It Ar "g1" 処理を行う前に、入力のグラフを表示します。 .It Ar "g2" すべての処理を行ったあと、あるいはエラーにより終了する前に入力のグラフを 表示します。 .It Ar j 複数のシェルを起動する場合の情報を表示します。 .It Ar l @ がコマンドに前置されていようといまいと、 また他の「静寂」フラグの有無に関わらず、Makefile のコマンドを表示します。 これは「やかましい」動作としても知られています。 .It Ar m ターゲットの作成と変更日付に関する情報を表示します。 .It Ar s 拡張子解釈に関する情報を表示します。 .It Ar t ターゲットリストのメンテナンスに関する情報を表示します。 .It Ar v 変数の値に関する情報を表示します。 .El .It Fl E Ar variable (存在すれば) 環境の値で上書きする、makefile の中の変数を指定します。 .It Fl e 環境の値で makefile 中のすべての変数の値を上書きするように指示します。 .It Fl f Ar makefile デフォルトの .Pa makefile と .Pa Makefile のかわりに、読み込むファイルを指定します。もし .Ar makefile が .Sq Fl なら標準入力から読み込みます。複数のファイルが指定可能で、 指定した順に読み込まれます。 .It Fl I Ar directory makefile と、インクルードされる makefile を検索するためのディレクトリを 指定します。システムで定義してある makefile のあるディレクトリ (または、 複数のディレクトリ; .Fl m オプションを参照) は自動的にリストに含まれ、検索されます。 .It Fl i makefile から実行されたシェルコマンドが 0 でない終了ステータスを返し ても無視します。makefile 中でコマンドの先頭に .Sq Ic \- を指定するのと同じです。 .It Fl j Ar max_jobs .Nm が同時に起動できるジョブの数を指定します。 .Ar B フラグを指定しなければ、互換性モードはオフになります。 .It Fl k エラーが発生しても処理を続行します。ただし、発生したエラーによって作成 が不能になったターゲットに依存したターゲットに関しては処理が中断されます。 .It Fl m Ar directory <...> 形式で読み込まれる .Pa sys.mk や makefile を検索するための ディレクトリを指定します。複数のディレクトリを検索パスに加えることが できます。このパスは、デフォルトのシステムインクルードパス .Pa /usr/share/mk を上書きします。 さらに、システムインクルードパスを "..." 形式のインクルードによって 追加することができます( .Fl I オプションを参照)。 .It Fl n make が実行するであろうコマンド内容の表示のみを行い、実行はしません。 .It Fl P 並行して動作するジョブを一緒に混ぜて出力するのでなく、 与えられたジョブの順番をそろえて、ジョブが終了するまで表示しません。 このオプションは .Fl j が使われた時のみ効果を持ちます。 .It Fl q いっさいのコマンドを実行せず、指定されたターゲットが最新のものであれば 0 を、そうでなければ 1 を終了ステータスとして返します。 .It Fl r システムの makefile で定義された組み込みのルールを使用しません。 .It Fl S エラーが起きた時に処理を中止します。 デフォルトの動作です。このオプションは 再帰的な構築の際に .Fl k オプションを打ち消すのに必要となります。 .It Fl s 実行するコマンドを表示しません。makefile のなかで、コマンドの先頭に .Sq Ic @ を指定するのと同じです。 .It Fl t makefile で指定されたターゲットを作り直すのではなく、ターゲットを作成 するか、あるいは最終更新日付を現在の時刻に設定することにより、 ターゲットが最新であるかのようにします。 .It Fl V Ar variable グローバルな文脈での .Nm の .Ar variable の値を表示します。如何なるターゲットも生成しません。 このオプションで複数のインスタンスを指定することができます。 変数は、各行毎に表示されます。未定義もしくは空の変数は、空行で 表現されます。 .It Fl v 特に冗長表示させます。 複数ジョブの make においては、ファイルバナーを生成させます。 .It Fl X .Fl V オプションを使用して変数の値を表示するときに、再帰的な値の展開をしません。 .It Ar variable Ns No = Ns Ar value 変数 .Ar variable の値を .Ar value に設定します。 .El .Pp makefile には 7 種類の行があります: 依存関係記述、シェルコマンド、変数 代入、インクルード文、条件命令、for ループ、コメントです。 .Pp 一般に、行は行末にバックスラッシュ .Pq Ql \e を置くことにより次行へ継続させることがで きます。この場合、バックスラッシュ直後の改行と、次の行の先頭の 空白部分は 1 つの空白に置き換えられます。 .Sh ファイル依存関係記述 入力ファイルにおける依存関係記述行は、1 つ以上のターゲット、オペレータ、 0 個 以上のソースからなります。 これは、ターゲットがソースに .Dq 依存 しているという関係を 定義しており、通常は、ソースからターゲットが作成されます。ターゲットと ソースとの厳密な関係はオペレータによって、両者間に指定します。 オペレータには以下の種類があります。 .Bl -tag -width flag .It Ic \&: ターゲットの最終更新日付が、いずれかのソースの最終更新日付よりも 古いものであれば、ターゲットは古いものであり、作り直されるべきものと 判断されます。 別の行でこのオペレータによる同じターゲットに関するソースの記述があれば、 それらはすべて 1 つにまとめられます。ターゲットの作成中に .Nm が中断されると、ターゲットは削除されます。 .It Ic \&! ターゲットはつねに作り直されます。ただし、作り直されるのは、 すべてのソースが検査され、必要と判断されたソースが作り直されたあとです。 このオペレータによる同じターゲットに関するソースの記述が別の行にもあれば、 それらはすべて 1 つにまとめられます。ターゲットの作成中に .Nm が中断されると、ターゲットは削除されます。 .It Ic \&:: ソースが指定されていなかった場合、つねにターゲットは作り直されます。 指定されていた場合にはソースのいずれかがターゲットよりも新しい時だけ ターゲットは作り直されます。本オペレータでは、別の行において同じ ターゲットに関するソースの記述があっても 1 つにまとめません。 ターゲットの作成中に .Nm が中断されても、ターゲットは削除されません。 .El .Pp ターゲットとソースは、シェルのワイルドカード表記として .Ql \&? , .Ql * , .Ql [] , .Ql {} を含むことができます。 .Ql \&? , .Ql * , .Ql [] の表記は、ターゲットまたはソースの最後の要素として記述でき、 存在するファイルを指定するものでなければなりません。 表記 .Ql {} はファイルが存在しなくてもかまいません。シェルのように辞書順に並べられて 展開されることはなく、ファイルシステム上に並んでいる順番のまま行われます。 .Sh シェルコマンド ターゲットは、シェルコマンドの列と関連付けることができ、通常はそれによって ターゲットを作成します。 これに含まれる各コマンドは、 .Em 必ず 行頭のタブに続けて記述します。同一のターゲットに 対して複数の依存記述行がある場合、 .Sq Ic :: オペレータを使用したのでなければ、それらのうちの 1 つにのみコマンド行を 続けることができます。 .Pp コマンドラインの先頭もしくは先頭 2 文字が .Sq Ic @ や .Sq Ic \- ならば、コマンドは特別な扱いを受けます。 .Sq Ic @ は、コマンドが実行前に、コマンド内容の表示を抑制します。 .Sq Ic \- は、コマンドの 0 ではない終了ステータスを無視するように指示します。 .Sh 変数代入 .Nm で使われる変数はシェルでの変数に類似しています。そして、歴史的な経緯から、 すべて大文字からなる名前が用いられます。変数代入には以下の 5 通りの オペレータを使用できます。 .Bl -tag -width Ds .It Ic \&= 変数に値を代入します。その時点までの値は失われます。 .It Ic \&+= 現在の変数の値に、右辺の値を追加します。 .It Ic \&?= 変数が未定義の場合のみ、値を代入します .It Ic \&:= 右辺を展開した値を代入します。つまり、変数に代入する前に値の展開を行います。 通常、値の展開は代入時には行われず、変数が参照されるときに行われます。 .It Ic \&!= 右辺を展開した値をシェルに実行させ、実行結果を左辺の変数に代入します。 結果のなかに含まれる改行は空白に置き換えられます。 .El .Pp いずれの場合も、値の前にある空白は無視されます。値が追加される場合、 変数の直前の値と追加する値との間に空白が挿入されます。 .Pp 変数は、ドル記号 .Pq Ql $ に続いて中括弧 .Pq Ql {} または小括弧 .Pq Ql () で囲まれた変数名を置くことにより展開されます。もし変数名が 1 文字な ら、変数名を囲む括弧は省略できますが、このような省略形は推奨できません。 .Pp 変数置換は、変数が用いられている場所により、 2 つの別々のタイミングで 行われます。依存関係記述行で用いられた変数は、その行が読み込まれたときに 展開されます。シェルコマンド内で用いられた変数は、シェルコマンド実行時に 展開されます。 .Pp 変数には、優先度に従って、4 つの異なるクラスがあります: .Bl -tag -width Ds .It 環境変数 .Nm の環境中で有効な変数 .It グローバル変数 makefile とインクルードされた makefile 内で有効な変数。 .It コマンドライン変数 コマンドラインで指定された変数。 .It ローカル変数 あるターゲットのみに対して定義される変数。ローカル変数には、 以下の 7 種類があります: .Bl -tag -width ".ARCHIVE" .It Va .ALLSRC このターゲットに対するすべてのソースのリスト。 .Sq Va \&> も同じです。 .It Va .ARCHIVE アーカイブファイル名。 .Sq Va \&! も同じです。 .It Va .IMPSRC ターゲット名に変換するのに使用するソースのファイル名またはパス名 ( .Dq 暗黙の ソース)。 .Sq Va \&< も同じです。 .It Va .MEMBER アーカイブのメンバ。 .Sq Va \&% も同じです。 .It Va .OODATE ターゲットよりも新しいソースのリスト。 .Sq Va \&? も同じです。 .It Va .PREFIX ターゲットのディレクトリ名と拡張子を取り除いた名前。 .Sq Va * も同じです。 .It Va .TARGET ターゲットの名前。 .Sq Va @ も同じです。 .El .Pp 短い形式 .Sq Va @ , .Sq Va \&! , .Sq Va \&< , .Sq Va \&% , .Sq Va ? , .Sq Va \&> , .Sq Va * は互換性のためのものですが、利用することは推奨できません。 また、 .Sq Va "@F" , .Sq Va "@D" , .Sq Va " .It Ic \&.include Ar \*qfile\*q 指定した makefile をインクルードします。 アングルブラケットが使用された場合は、 makefile はシステムの makefile ディレクトリにあるものを用います。 ダブルクォートが使用された場合は、 makefile が存在するディレクトリ、 .Fl I オプションで指定されたディレクトリ、システムの makefile ディレクトリの 順に検索します。 .It Ic \&.undef Ar variable 指定したグローバル変数を未定義とします。 グローバル変数のみ、未定義とすることができます。 .It Ic \&.error Ar message makefile の処理を即座に終了します。 makefile のファイル名と、どの行でエラーとなったかと、 指定したエラーメッセージとを、標準出力に表示し、 .Nm は終了コード 1 で終了します。 .El .Pp 条件文は Makefile のどの部分を処理するのかを判定するために使用します。 C プリプロセッサがサポートする条件文と同様に使用されます。 以下の条件文がサポートされています: .Bl -tag -width Ds .It Xo .Ic \&.if .Oo \&! Oc Ns Ar expression .Op Ar operator expression ... .Xc 式の値をテストします。 .It Xo .Ic .ifdef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc 変数の値をテストします。 .It Xo .Ic .ifndef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc 変数の値をテストします。 .It Xo .Ic .ifmake .Oo \&! Oc Ns Ar target .Op Ar operator target ... .Xc ターゲット .Ar target が作成中かどうかをテストします。 .It Xo .Ic .ifnmake .Oo \&! Oc Ns Ar target .Op Ar operator target ... .Xc ターゲット .Ar target が作成中かどうかをテストします。 .It Ic .else 最後に行った条件文の意味を逆にします。 .It Xo .Ic .elif .Oo \&! Oc Ns Ar expression .Op Ar operator expression ... .Xc .Ic .else と直後の .Ic .if を対にしたものです。 .It Xo .Ic .elifdef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc .Ic .else と直後の .Ic .ifdef を対にしたものです。 .It Xo .Ic .elifndef .Oo \&! Oc Ns Ar variable .Op Ar operator variable ... .Xc .Ic .else と直後の .Ic .ifndef を対にしたものです。 .It Xo .Ic .elifmake .Oo \&! Oc Ns Ar target .Op Ar operator target ... .Xc .Ic .else と直後の .Ic .ifmake を対にしたものです。 .It Xo .Ic .elifnmake .Oo \&! Oc Ns Ar target .Op Ar operator target ... .Xc .Ic .else と直後の .Ic .ifnmake を対にしたものです。 .It Ic .endif 条件文の本体を終了させます。 .El .Pp オペレータ .Ar operator は、以下のうちのいずれかです。 .Bl -tag -width "Cm XX" .It Cm \&|\&| 論理 .Tn OR 。 .It Cm \&&& 論理 .Tn AND 。 .Ql Ic || より優先順位が上です。 .El .Pp C 言語と同様、 .Nm は条件式を、式の値を決定するのに必要なところまでしか評価しません。 評価順序を変更するには括弧を使います。論理オペレータ .Ql Ic !\& は条件式全体の値を反転するのに使用します。 .Ql Ic !\& は .Ql Ic \&&& より優先順位が上です。 .Pp 式 .Ar expression は、以下のいずれかの形式です: .Bl -tag -width Ic .It Ic defined 引数として変数名をとり、変数が定義されていれば真となる。 .It Ic make 引数としてターゲット名をとり、そのターゲットが .Nm のコマンドライン引数に指定されているか、デフォルトのターゲット .Pq 明示的なものも暗黙的なものも含む。 Va .MAIN の項を参照 として宣言されている場合に真となる。 .It Ic empty 引数として変数名 .Pq と修飾子 をとり、展開した結果が空文字列ならば真となる。 .It Ic exists 引数としてファイル名をとり、ファイルが存在すれば真となる。 ファイルはシステム検索パス .Pq Va .PATH の項を参照 にそって検索される。 .It Ic target 引数としてターゲット名をとり、ターゲットが定義されているなら真となる。 .El .Pp 条件式 .Ar expression としては、数値あるいは文字列の比較を用いることもでき、 左辺には変数展開を使用可能です。 比較オペレータの 両辺は、変数展開が適用されたあとに比較されます。値が 0x で始まるなら 16 進数 であると解釈し、さもなければ 10 進数と解釈します。8 進数はサポートして いません。標準的な C 言語の関係オペレータは全て利用可能です。 変数展開後、 .Ql Ic == または .Ql Ic "!=" の左辺値または右辺値のいずれかが数値とは認められない場合、文字列として 比較を行います。関係オペレータが指定されなかった場合、展開された変数と 0 とを 比較します。 .Pp 条件式を評価中に、評価できない単語が出現した場合は、条件式の形式によって、 .Dq make または .Dq defined オペレータを適用します。条件式が .Ic .if , .Ic .ifdef または .Ic .ifndef ならば .Dq defined を、条件式が .Ic .ifmake または .Ic .ifnmake ならば .Dq make を、それぞれ適用します。 .Pp 条件式が真と評価されたなら、makefile の解析はそのまま続行されます。 偽と評価されたなら、 .Ic .else または .Ic .endif が見つかるまで makefile の解析をスキップします。 .Pp for ループは、いくつかのルールを一連のファイルに適用するのによく 用いられます。以下がループの形式です: .Pp .Bl -tag -width indent -compact .It Ic .for Ar variable Ic in Ar expression .It .It Ic \&.endfor .El .Pp .Ar expression は評価されたあとに単語に分解され、それぞれを .Ar variable に代入 しながら、 .Ic make-rules 部分を繰り返し展開します。 .Sh コメント コメントはハッシュ記号 .Pq Ql \&# から始まり、シェルコマンド行以外のどこにでも置くことができます。 コメントは改行で終わります。 .Sh 特殊ソース .Bl -tag -width Ic .It Ic .IGNORE 本ターゲットに関連したコマンドでのエラーを無視します。シェルコマンドの 先頭にダッシュ .Ql \- を指定したのと等価です。 .It Ic .MAKE たとえ、 .Fl n や .Fl t オプションが指定されていても、このターゲットに関連したシェルコマンドを 実行します。通常、再帰的な .Nm のために用いられます。 .It Ic .NOTMAIN 通常 .Nm は、最初に発見したターゲットをデフォルトのターゲットとみなします。 .Ic .NOTMAIN が指定されたターゲットはデフォルトのターゲットとはみなされなくなります。 .It Ic .OPTIONAL もし .Ic .OPTIONAL が指定されたターゲットの作り方がわからなくても、エラーとはせず、 そのターゲットは必要ないか、すでに存在しているものとみなします。 .It Ic .PRECIOUS 通常 .Nm が中断されたときは、作成途中のターゲットは削除されます。本ソースを 指定することで、そのターゲットを削除しなくなります。 .It Ic .SILENT 指定されたターゲットに関連づけられたシェルコマンドを実行するときに エコーを行いません。シェルコマンドの先頭に .Ql @ を指定したのと等価です。 .It Ic .USE 指定されたターゲットをマクロ的に扱います。 .Ic .USE をソースに持つターゲット .Pq 以下ではマクロと呼びます が別のターゲットのソースとなった場合、その ターゲットはコマンド、ソース、属性( .Ic .USE は除く) をマクロから受け取ります。もし、すでにターゲットにコマンドが指定されていた 場合は、マクロのコマンドが追加されます。 .It Ic .WAIT 特別な .Ic .WAIT ソースが依存関係行に現れた時には、ソースはその行中でソースが 作成されるまで待ちます。ループは検出されず、ループ形式のターゲットは 単に無視されます。 .El .Sh 特殊ターゲット 特殊ターゲットは、他のターゲットとともに使用してはいけません。すなわち、 依存関係記述行の唯一のターゲットとして指定する必要があります。 .Bl -tag -width Ic .It Ic .BEGIN 本ターゲットに指定されたシェルコマンドは他の処理に先立って実行されます。 .It Ic .DEFAULT これは、作成方法がわからないどんなターゲットにも適用される .Ic .USE ルールのようなものです。シェルスクリプトのみを使用します。 .Ic .DEFAULT に指定されたコマンド中の .Ic .IMPSRC 変数はターゲット自身の名前に置換されます。 .It Ic .END 本ターゲットに指定されたシェルコマンドは、他のすべての処理の終了後に 実行されます。 .It Ic .IGNORE 指定されたソースに .Ic .IGNORE 属性を付与します。もしソースが指定されていなければ、 .Fl i オプションを指定したのと同じ意味になります。 .It Ic .INCLUDES ソースファイル中で include される可能性のあるファイルの拡張子のリスト。 拡張子はあらかじめ .Ic .SUFFIXES で宣言されていなければなりません; このように宣言された拡張子は自身の検索パス( .Ic .PATH 参照) にそれぞれ .Fl I フラグを前に付けた状態で .Va .INCLUDES 特殊変数に設定されます。 .It Ic .INTERRUPT .Nm が中断されたとき、本ターゲットに指定されたコマンドを実行します。 .It Ic .LIBS .Ic .INCLUDES が include ファイルに対して行なうことと同じことを ライブラリに対して行ないます。ただし .Fl L フラグが使われます。 .It Ic .MAIN ターゲットを指定せずに .Nm が起動された場合、本ターゲットを処理します。 .Nm がデフォルトターゲットを選択した際に、 利用者がコマンドラインからデフォルトターゲットを指示できるようにするため、 明示的・暗黙的に関わらず必ず設定されます。 .It Ic .MAKEFLAGS ソースにおいて、 .Nm に指定するフラグを指定します。フラグはシェルでタイプしたのと同様に 渡されますが、 .Fl f オプションは無効になります。 .\" XXX: NOT YET!!!! .\" .It Ic .NOTPARALLEL .\" この名前のターゲットは、並列モードを使わすに実行されます。 .\" ターゲットが指定されていない時には、全てのターゲットが非並列モード .\" で実行されます。 .It Ic .NOTPARALLEL 並列モードを使いません。 .It Ic .NO_PARALLEL 上と同じですが、 .Nm pmake の変種のための互換性のためにあります。 .It Ic .ORDER シーケンス中の名前付きターゲットが作成されます。 .\" XXX: NOT YET!!!! .\" .It Ic .PARALLEL .\" 名前付きターゲットが並列モードで実行されます。 .\" ターゲットが指定されない時には、全てのターゲットが並列モードで実行 .\" されます。 .It Ic .PATH カレントディレクトリに発見できなかったときのファイルの検索パスを、 本ターゲットのソースとして指定します。ソースが指定されなかった場合、 以前に設定されていたディレクトリが無効になります。 可能であれば .Ic .PATH を利用する方が、 .Va VPATH 変数を利用するよりも好まれています。 .It Ic .PATH\fIsuffix\fR カレントディレクトリに発見できなかったときの suffix のついたファイルの検索パスをソースとして指定します。 .Nm ユーティリティはファイルが見つからなかった場合に、 デフォルトパスよりも先に、まず suffix の付いた検索パスで探します。 この形式は .Ic .LIBS と .Ic .INCLUDES が動作するために必要です。 .It Ic .PHONY .Ic .PHONY 属性を指定したソースに適用します。この属性を持ったターゲットは いつでも更新されていると考えられます。 .It Ic .PRECIOUS 指定されたソースに .Ic .PRECIOUS 属性を付与します。もし、ソースが指定されなかった場合、 すべてのターゲットに .Ic .PRECIOUS 属性を与えます。 .It Ic .SILENT 指定されたソースに .Ic .SILENT 属性を付与します。もし、ソースが指定されなかった場合、 ファイル中のすべてのコマンドに .Ic .SILENT 属性を与えます。 .It Ic .SUFFIXES ソースにおいて、 .Nm で用いる拡張子を指定します。ソースが指定されなかった場合は、 以前の指定が無効になります。 .El .Sh 互換性 .Nm の古いバージョンは .Ev MAKEFLAGS の代わりに .Ev MAKE を使っていました。 この機能は POSIX への互換性のために削除されました。 内部変数 .Va MAKE は .Va .MAKE と同じ値が代入されます ; この機能は将来削除されるかもしれません。 .Pp .Nm のたくさんの秘密にされている機能の多くは、 より多くの互換性を保つために使用を避けるべきです。 .Sh 環境変数 .Nm ユーティリティは次の環境変数の値を用います: .Ev MACHINE , .Ev MAKE , .Ev MAKEFLAGS , .Ev MAKEOBJDIR , .Ev MAKEOBJDIRPREFIX .Sh 関連ファイル .Bl -tag -width /usr/share/doc/psd/12.make -compact .It Pa .depend 依存関係リスト .It Pa Makefile 依存関係リスト .It Pa makefile 依存関係リスト .It obj オブジェクトディレクトリ .It Pa sys.mk システム定義の makefile (他のすべてのファイルよりも前に処理されます。これには .Pa makefile と .Pa Makefile も含まれます) .It Pa /usr/share/mk システム定義の makefile が置かれるディレクトリ .It /usr/share/doc/psd/12.make PMake のチュートリアル .It Pa /usr/obj デフォルトの .Ev MAKEOBJDIRPREFIX ディレクトリ .El .Sh バグ .Va .OBJDIR の決定は不条理といっていいほどまで曲解されます。 .Pp 複数の .Ic .MAIN 特殊ターゲットが存在した場合、 .Nm は最初のもの以外は黙って無視します。 .Pp .Nm がターゲット名なしに起動された場合と .Ic .MAIN 特殊ターゲットが存在しなかった場合、 .Va .TARGETS は設定されません。 .Pp テスト時の .Ar expression の評価はあまり気が配られていません。今のところ、 .Ql .if ${VAR} op something という形式でしか動きません。 例えば、テストは .Ql .if ${VAR} = "string" のように書かなければなりません。 他の書き方では動きません。 .Pp for ループはテストされる前に展開されるため、 .Bd -literal -offset indent \&.for TMACHINE in ${SHARED_ARCHS} \&.if ${TMACHINE} = ${MACHINE} ... \&.endif \&.endfor .Ed .Pp のような断片は動きません。他の方法を使って書き直す必要があります。 .Pp コロンの後のセミコロンの扱いに関して解析コードが壊れているため、 .Bd -literal -offset indent HDRS= foo.h bar.h all: \&.for h in ${HDRS:S;^;${.CURDIR}/;} ... \&.endfor .Ed .Pp のような断片は動きません。 .Sh 関連項目 .Xr mkdep 1 , .Xr make.conf 5 .Rs .%T "PMake - A Tutorial" .Re .Pa /usr/share/doc/psd/12.make にあります。 .Sh 歴史 .Nm は PWB UNIX において追加されました。 diff --git a/ja_JP.eucJP/man/man1/mt.1 b/ja_JP.eucJP/man/man1/mt.1 index 8e3f67b4e7..b6273f604a 100644 --- a/ja_JP.eucJP/man/man1/mt.1 +++ b/ja_JP.eucJP/man/man1/mt.1 @@ -1,383 +1,383 @@ .\" Copyright (c) 1981, 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. .\" .\" @(#)mt.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/mt/mt.1,v 1.37 2003/05/21 21:07:28 ru Exp % +.\" %FreeBSD: src/usr.bin/mt/mt.1,v 1.38 2003/09/05 15:28:09 roam Exp % .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt MT 1 .Os .Sh 名称 .Nm mt .Nd 磁気テープ操作プログラム .Sh 書式 .Nm .Op Fl f Ar tapename .Ar command .Op Ar count .Sh 解説 .Nm ユーティリティは、 磁気テープドライブへコマンドを与えるのに使われます。 通常、 .Nm は要求された操作を一度だけ行います。 操作によっては .Ar count で指定した回数だけ繰り返し実行できます。 なお、 .Ar tapename は生の (ブロック型でない) テープデバイスを指していなければなりません。 .Pp 使用可能なコマンドは下記のようになっています。 コマンドの指定にあたって、 一意に特定するのに必要なだけの文字数は与える必要があります。 .Bl -tag -width "eof, weof" .It Cm weof テープの現在位置に .Ar count 個のファイル終端マークを書き込みます。 .It Cm smk テープの現在位置に .Ar count 個の位置決定マークを書き込みます。 .It Cm fsf ファイル .Ar count 個分早送りします。 .It Cm fsr レコード .Ar count 個分早送りします。 .It Cm fss 位置決定マーク .Ar count 個分早送りします。 .It Cm bsf ファイル .Ar count 個分巻き戻します。 .It Cm bsr レコード .Ar count 個分巻き戻します。 .It Cm bss 位置決定マーク .Ar count 個分巻き戻します。 .It Cm rdhpos ハードウェアブロック位置を読み取ります。 この機能をサポートしないドライブもあります。 報告されるブロック番号は、そのハードウェア固有のものです。 count 引数は無視されます。 .It Cm rdspos SCSI 論理ブロック位置を読み取ります。 この機能をサポートしないドライブもあります。 count 引数は無視されます。 .It Cm sethpos ハードウェアブロック位置を設定します。 この機能をサポートしないドライブもあります。 count 引数は、テープ移動先のハードウェアブロックであると解釈されます。 .It Cm setspos SCSI 論理ブロック位置を設定します。 この機能をサポートしないドライブもあります。 count 引数は、テープ移動先の SCSI 論理ブロックであると解釈されます。 .It Cm rewind テープを巻き戻します (カウントは無視)。 .It Cm offline , rewoffl テープを巻き戻して、 テープユニットをオフライン状態にします (カウントは無視)。 .It Cm erase テープを消去します。 カウント 0 は長い消去を無効にします。これがデフォルトです。 .It Cm retension テープのたるみを取ります (一度最後まで早送りして、 また巻き戻します。カウントは無視)。 .It Cm status テープユニットの状態情報を出力します。 SCSI 磁気テープドライブに対しては、 現在の操作モードとして、密度・ブロックサイズ・圧縮の有無が報告されます。 ドライブの現在の状態 (デバイスに対して何を行っているのか) も報告されます。 ドライブが (ファイルマークおよびレコードを基準とした) BOT からの相対位置を知っている場合、これも表示します。 この情報は信頼できるものではないことに注意してください (BOT、記録メディアの終端、(ドライブが報告するのであれば) ハードウェアブロック位置と SCSI 論理ブロック位置のみが、 テープ位置として信頼できます)。 .It Cm errstat このドライブに関するエラー状態情報を表示 (およびクリア) します。 各通常操作 (例えば読み込みや書き込み) および 各制御操作 (例えば巻き戻し) に対し、 最後に実行したコマンドとこれに関連した状態と存在すれば残りのカウントを、 ドライバは格納します。 本コマンドは、この情報を引き出して表示します。 可能であれば、ラッチしたエラー情報もまたクリアします。 .It Cm blocksize テープユニットに対してブロックサイズを指定します。 零は可変長ブロックを意味します。 .It Cm density テープユニットに対して密度を指定します。 密度の符号化方式については、 下記を参照して下さい。 密度の値は、 .Dq リファレンス 欄に応じた数字と文字列のどちらでも与えることができます。 もし文字列が略記されていたら、 表に書かれてある順番で調べていき、 最初に合致した項目が使われます。 与えられた文字列と正しい密度名称を調べた結果が正確に合致しないのであれば、 与えられた文字列がどう解釈されたかについて、 通知メッセージが出力されます。 .It Cm geteotmodel 現在の EOF ファイルマークモデルを、取得して表示します。 モデル状態とは、 テープが書き込まれる場合、 書き込みクローズ時に何個のファイルマークが書き込まれるかを表現します。 .It Cm seteotmodel 現在の EOT ファイルマークモデルを、( .Ar count 引数に) 設定して表示します。 典型的には、これはファイルマーク .Ar 2 個ですが、デバイスによっては (典型的には QIC カートリッジドライブでは)、 ファイルマークを .Ar 1 個だけ書き込み可能です。現在のところ、値は .Ar 1 または .Ar 2 だけから選択可能です。 .It Cm eom 記録されたメディアの終端まで早送りします (カウントは無視)。 .It Cm eod データの終端まで早送りします。 .Cm eom と同じです。 .It Cm comp 圧縮モードを指定します。 現在、圧縮モードに指定可能な値はいくつかあります: .Pp .Bl -tag -width 9n -compact .It off 圧縮オフ .It on 圧縮オン .It none .Ar off と同じ .It enable .Ar on と同じ .It IDRC IBM Improved Data Recording Capability 圧縮 (0x10)。 .It DCLZ DCLZ 圧縮アルゴリズム (0x20)。 .El .Pp 前記の認識される圧縮キーワードに加え、 テープドライブが使用する圧縮アルゴリズムをユーザが数値で指定可能です。 ほとんどの場合、単に圧縮を .Sq on にするだけで、 ドライブがサポートしているデフォルトの圧縮アルゴリズムを有効にするという 望ましい効果が得られます。 そうでない場合 ( .Cm status を見て、どの圧縮アルゴリズムを現在使用しているかを見てください)、 サポートされている圧縮キーワード (上述) もしくは 数値の圧縮値をユーザが手動で指定可能です。 .El .Pp テープ名が与えられていないくて、かつ環境変数 .Ev TAPE が存在しない場合、 .Nm はデバイス .Pa /dev/nsa0 を使用します。 .Pp .Nm ユーティリティは、操作が成功したならば 0 の終了値を、 コマンドが認識不能の場合には 1 を、 また操作が失敗したならば 2 を返します。 .Pp 次に示す密度表は、1997 年 11 月 11 の SCSI-3 Stream Device Commands (SSC) working draft の Revision 11 における、 .Sq Historical sequential access density codes table (A-1) の情報です。 .Pp それぞれ密度の符号化方式は次の通りです。 .Pp .Dl "0x0 デバイスの既定値" .Dl "0xE ECMA 用予約値" .Bd -literal -offset 3n 値 幅 トラック 密度 コード 型 リファレンス 注 mm in bpmm bpi 0x01 12.7 (0.5) 9 32 (800) NRZI R X3.22-1983 2 0x02 12.7 (0.5) 9 63 (1,600) PE R X3.39-1986 2 0x03 12.7 (0.5) 9 246 (6,250) GCR R X3.54-1986 2 0x05 6.3 (0.25) 4/9 315 (8,000) GCR C X3.136-1986 1 0x06 12.7 (0.5) 9 126 (3,200) PE R X3.157-1987 2 0x07 6.3 (0.25) 4 252 (6,400) IMFM C X3.116-1986 1 0x08 3.81 (0.15) 4 315 (8,000) GCR CS X3.158-1987 1 0x09 12.7 (0.5) 18 1,491 (37,871) GCR C X3.180 2 0x0A 12.7 (0.5) 22 262 (6,667) MFM C X3B5/86-199 1 0x0B 6.3 (0.25) 4 63 (1,600) PE C X3.56-1986 1 0x0C 12.7 (0.5) 24 500 (12,690) GCR C HI-TC1 1,6 0x0D 12.7 (0.5) 24 999 (25,380) GCR C HI-TC2 1,6 0x0F 6.3 (0.25) 15 394 (10,000) GCR C QIC-120 1,6 0x10 6.3 (0.25) 18 394 (10,000) GCR C QIC-150 1,6 0x11 6.3 (0.25) 26 630 (16,000) GCR C QIC-320 1,6 0x12 6.3 (0.25) 30 2,034 (51,667) RLL C QIC-1350 1,6 0x13 3.81 (0.15) 1 2,400 (61,000) DDS CS X3B5/88-185A 5 0x14 8.0 (0.315) 1 1,703 (43,245) RLL CS X3.202-1991 5 0x15 8.0 (0.315) 1 1,789 (45,434) RLL CS ECMA TC17 5 0x16 12.7 (0.5) 48 394 (10,000) MFM C X3.193-1990 1 0x17 12.7 (0.5) 48 1,673 (42,500) MFM C X3B5/91-174 1 0x18 12.7 (0.5) 112 1,673 (42,500) MFM C X3B5/92-50 1 0x19 12.7 (0.5) 128 2,460 (62,500) RLL C DLTapeIII 6,7 0x1A 12.7 (0.5) 128 3,214 (81,633) RLL C DLTapeIV(20) 6,7 0x1B 12.7 (0.5) 208 3,383 (85,937) RLL C DLTapeIV(35) 6,7 0x1C 6.3 (0.25) 34 1,654 (42,000) MFM C QIC-385M 1,6 0x1D 6.3 (0.25) 32 1,512 (38,400) GCR C QIC-410M 1,6 0x1E 6.3 (0.25) 30 1,385 (36,000) GCR C QIC-1000C 1,6 0x1F 6.3 (0.25) 30 2,666 (67,733) RLL C QIC-2100C 1,6 0x20 6.3 (0.25) 144 2,666 (67,733) RLL C QIC-6GB(M) 1,6 0x21 6.3 (0.25) 144 2,666 (67,733) RLL C QIC-20GB(C) 1,6 0x22 6.3 (0.25) 42 1,600 (40,640) GCR C QIC-2GB(C) ? 0x23 6.3 (0.25) 38 2,666 (67,733) RLL C QIC-875M ? 0x24 3.81 (0.15) 1 2,400 (61,000) CS DDS-2 5 0x25 3.81 (0.15) 1 3,816 (97,000) CS DDS-3 5 0x26 3.81 (0.15) 1 3,816 (97,000) CS DDS-4 5 0x27 8.0 (0.315) 1 3,056 (77,611) RLL CS Mammoth 5 0x28 12.7 (0.5) 36 1,491 (37,871) GCR C X3.224 1 0x29 12.7 (0.5) 0x2A 0x2B 12.7 (0.5) 3 ? ? ? C X3.267 5 0x41 12.7 (0.5) 208 3,868 (98,250) RLL C DLTapeIV(40) 6,7 0x48 12.7 (0.5) 448 5,236 (133,000) PRML C SDLTapeI(110) 6,8 0x49 12.7 (0.5) 448 7,598 (193,000) PRML C SDLTapeI(160) 6,8 .Ed .Bd -literal -offset 3n コード 意味 型 意味 ---------------- ---------------- NRZI 非 0 復帰、1 で変更 R リールトゥリール (Non Return to Zero, change on ones) C カートリッジ GCR グループ符号記録 CS カセット (Group Code Recording) PE 位相符号化 (Phase Encoded) IMFM 反転修正周波数変調 (Inverted Modified Frequency Modulation) MFM 修正周波数変調 (Modified Frequency Modulation) DDS DAT データ記憶装置 (Dat Data Storage) RLL ランレングス符号化 (Run Length Encoding) PRML Partial Response Maximum Likelihood .Ed .\" 上記(訳注)は、略号の解説には訳文とその原文とを併記しておくことが .\" 理解の助けになるものと判断し、追加しました。 .\" 2.2.2-RELEASE 対象 .\" By taku@tail.net (June 16, 1997) .\" 3.0-RELEASE でも確認 by horikawa@jp.freebsd.org .Bd -literal -offset 3n 注 1. シリアル記録。 2. パラレル記録。 3. QIC-11 として知られる古い形式。 5. ヘリカルスキャン。 6. American National Standard ではありません。リファレンスは、 メディアフォーマットの工業標準の定義に基づいています。 7. DLT 記録: 直線的に記録されたトラックの組 (DLTapeIII と DLTapeIV(20)) か、トラックの 4 つ組み (DLTapeIV(35) と DLTapeIV(40))。 8. Super DLT (SDLT) の記録方式: 56 個の直列に記録される論理トラック毎に 8 個の物理トラックがあります。 .Ed .Sh 環境変数 次の環境変数が存在すれば、 .Nm に利用されます。 .Bl -tag -width Fl .It Ev TAPE 引数 .Ar tapename が与えられていない時、 .Nm ユーティリティは .Ev TAPE 環境変数を調べます。 .El .Sh 関連ファイル -.Bl -tag -width /dev/*rsa[0-9]*xx -compact -.It Pa /dev/*rwt* +.Bl -tag -width /dev/*sa[0-9]*xx -compact +.It Pa /dev/*wt* QIC-02/QIC-36 磁気テープインタフェース -.It Pa /dev/*rsa[0-9]* +.It Pa /dev/*sa[0-9]* SCSI 磁気テープインタフェース .El .Sh 関連項目 .Xr dd 1 , .Xr ioctl 2 , .Xr mtio 4 , .Xr ast 4 , .Xr sa 4 , .Xr environ 7 .Sh 歴史 .Nm コマンドは .Bx 4.3 で登場しました。 .Pp .Xr st 4 ドライバに関する拡張部分は .Xr st 1 コマンドとは別のものとして .Bx 386 0.1 で登場し、 .Nm コマンドに .Fx 2.1 で含められました。 .Pp .Cm weof と同義のコマンドであった .Cm eof コマンドは .Fx 2.1 で破棄されました。 なぜなら、しばしば .Cm eom との混乱があり、非常に危険だったためです。 diff --git a/ja_JP.eucJP/man/man1/pawd.1 b/ja_JP.eucJP/man/man1/pawd.1 index 0d83eaf703..321941f562 100644 --- a/ja_JP.eucJP/man/man1/pawd.1 +++ b/ja_JP.eucJP/man/man1/pawd.1 @@ -1,85 +1,85 @@ .\" -.\" Copyright (c) 1997-1999 Erez Zadok +.\" Copyright (c) 1997-2003 Erez Zadok .\" Copyright (c) 1990 Jan-Simon Pendry .\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" -.\" %Id: pawd.1,v 1.2 1998/09/05 06:56:36 obrien Exp % -.\" %FreeBSD: src/contrib/amd/amq/pawd.1,v 1.4 1999/09/15 05:45:14 obrien Exp % -.\" $FreeBSD: doc/ja_JP.eucJP/man/man1/pawd.1,v 1.5 2001/05/14 01:07:26 horikawa Exp $ +.\" $Id: pawd.1,v 1.7 2003-10-13 02:42:25 horikawa Exp $ +.\" %FreeBSD: src/contrib/amd/amq/pawd.1,v 1.5 2003/09/02 15:42:56 mbr Exp % +.\" $FreeBSD$ .\" .\" WORD: automounter オートマウンタ[pawd.1] .\" WORD: current working directory (現在の)作業ディレクトリ[pawd.1] .\" .Dd January 6, 1998 .Dt PAWD 1 .Os .Sh 名称 .Nm pawd .Nd オートマウンタの作業ディレクトリを表示する .Sh 書式 .Nm .Op Ar path ... .Sh 解説 .Nm は、現在の作業ディレクトリを表示します。このとき、作業ディレクトリの パスは、オートマウンタを通じて再利用するのに適切なかたちで、かつ可能な限り 最短なものになるように補正して出力されます。とくに、出力されるパスは .Nm amd のローカルマウントポイントを含みません。ローカルマウントポイントを使用 することは安全ではありません。その理由は、 .Nm amd は、管理しているファイルシステムをマウントポイントからアンマウント することがあり、それゆえ、そのようなポイントをパスに含めると、その中の ファイルを常に見つけられるとは限らないためです。 .Pp 引数なしで起動した場合、 .Nm は、オートマウンタ用に補正された現在の作業ディレクトリを出力します。引 数をいくつか指定した場合は、おのおのを .Ar path として、 オートマウンタ用に補正して出力します。 .Sh 関連項目 .Xr pwd 1 , .Xr amd 8 , .Xr amq 8 .Sh 歴史 .Nm ユーティリティは、 .Fx 3.0 で最初に登場しました。 diff --git a/ja_JP.eucJP/man/man1/pkg_create.1 b/ja_JP.eucJP/man/man1/pkg_create.1 index bed9e80e46..80a1e4a2fb 100644 --- a/ja_JP.eucJP/man/man1/pkg_create.1 +++ b/ja_JP.eucJP/man/man1/pkg_create.1 @@ -1,579 +1,579 @@ .\" .\" 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_create.1 -.\" %FreeBSD: src/usr.sbin/pkg_install/create/pkg_create.1,v 1.58 2003/04/17 09:56:05 kris Exp % +.\" %FreeBSD: src/usr.sbin/pkg_install/create/pkg_create.1,v 1.59 2003/08/26 14:49:11 roam Exp % .\" .\" hacked up by John Kohl for NetBSD--fixed a few bugs, extended keywords, .\" added dependency tracking, etc. .\" .\" [jkh] Took John's changes back and made some additional extensions for .\" better integration with FreeBSD's new ports collection. .\" .\" $FreeBSD$ .Dd April 21, 1995 .Dt PKG_CREATE 1 .Os .Sh 名称 .Nm pkg_create .Nd ソフトウェア配布 package を作成するプログラム .Sh 書式 .Nm .Op Fl YNOhjvyz .Op Fl P Ar pkgs .Op Fl p Ar prefix .Op Fl f Ar contents .Op Fl i Ar iscript .Op Fl I Ar piscript .Op Fl k Ar dscript .Op Fl K Ar pdscript .Op Fl r Ar rscript .Op Fl s Ar srcdir .Op Fl t Ar template .Op Fl X Ar excludefile .Op Fl D Ar displayfile .Op Fl m Ar mtreefile .Op Fl o Ar originpath .Fl c Ar comment .Fl d Ar description .Fl f Ar packlist .Ar pkg-filename .Nm .Op Fl YNhvy .Fl b Ar pkg-name .Op Ar pkg-filename .Sh 解説 この .Nm コマンドは、package 展開/情報プログラムに渡される package (訳注: FreeBSD の package system におけるパッケージを指す場合にこう表記します) を作成します。 package 作成のために入力する説明とコマンドライン引数 は本来人間が生成することを意図していませんが、 そうすることも簡単にできます。 自力でどうにかすることも可能ですが、作成にはフロントエンドツールを 用いた方がいいでしょう。 とはいうものの、入力書式の概略はこの文書に含まれています。 .Sh オプション 以下のコマンドラインオプションが提供されています: .Bl -tag -width indent .It Fl f Ar packinglist ファイル .Ar packinglist から、もしくは .Ar packinglist が .Cm - (ダッシュ)であれば .Cm stdin から、package 用の .Dq packing list を取得します。 .It Fl c Xo .Oo Fl Oc Ns Ar desc .Xc ファイル .Ar desc から、もしくは先頭が .Cm - で始まっていれば引数自身から、package の .Dq 一行説明 を取得します。 この文字列は、package が提供するもののバージョンを知る 手がかりとなるべきです。 .It Fl d Xo .Oo Fl Oc Ns Ar desc .Xc ファイル .Ar desc から、もしくは先頭が .Cm - で始まっていれば引数自身から、package の長い説明を取得します。 .It Fl Y 質問に対してのデフォルトの回答を `Yes' とします。 .It Fl N 質問に対してのデフォルトの回答を `No' とします。 .It Fl O `packing list Only' モードに移行します。 これは .Fx .Em "Ports Collection" のための特別な修正であり、port がインストールされる時の `fake pkg_add' を行うために用いられます。 このような場合には、調整された最終的な packing list が どのようなものになるかを知る必要があるのです。 .It Fl v 饒舌な出力に切り替えます。 .It Fl h tar がシンボリックリンクをたどるようにします。 この結果、リンク自身ではなくリンク先のファイルが出力されます。 .It Fl i Ar iscript package のインストール前手続きとして .Ar iscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これは package がインストールされる時に自動的に起動されます。 その際、package 名が第 1 引数として渡されます。 .Pp .Sy 注: .Fl I オプションが指定されない場合、 本スクリプトは当該 package の pre-install および post-install の両方のスクリプトとして動作します。 -package 名とともにキーワード +package 名の後にキーワード .Ar PRE-INSTALL および .Ar POST-INSTALL をそれぞれ渡すことにより、機能を切り替えることになります。 .It Fl I Ar piscript package のインストール後手続きとして .Ar piscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これは package がインストールされる時に自動的に起動されます。 その際、package 名が第 1 引数として渡されます。 .It Fl C Ar conflicts 初期の package 衝突リストとして .Ar conflicts を用います。 これは、空白で区切った package 名のリストとみなされ、 packing list 中で複数の .Cm @conflicts ディレクティブを指定する手っ取り早い方法でもあります (後述の .Sx PACKING LIST 詳細 節を参照してください)。 .It Fl P Ar pkgs 初期の package 依存リストとして .Ar pkgs を用います。 これは空白で区切られた package の名前となります。 また、packing list (後述の .Sx "PACKING LIST 詳細" セクションを参照) 内の複数の .Cm @pkgdep ディレクティブを指定する手っ取り早い方法でもあります。 .Ar pkgs リストの各引数は .Ar pkgname Ns Op : Ns Ar pkgorigin という書式です。 省略可能な .Ar pkgorigin 要素は、リストからの各依存の起源を表し、 .Ar pkgname と共に .Cm @comment ディレクティブを使用して packing list 中に記録されます。 .It Fl p Ar prefix package のファイルを選択する際に .Dq 基準 となる初期ディレクトリとして .Ar prefix を用います。 .It Fl k Ar dscript package のアンインストール手続きとして .Ar dscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これは package がアンインストールされる時に自動的に起動されます。 その際、package 名が第 1 引数として渡されます。 .Pp .Sy 注: .Fl K オプションが指定されない場合、 本スクリプトは当該 package の de-install および post-deinstall の両方のスクリプトとして動作します。 package 名とともにキーワード .Ar DEINSTALL および .Ar POST-DEINSTALL をそれぞれ渡すことにより、機能を切り替えることになります。 .It Fl K Ar pdscript package のアンインストール後手続きとして .Ar pdscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これは package がアンインストールされる時に自動的に起動されます。 その際、package 名が第 1 引数として渡されます。 .It Fl r Ar rscript package の .Dq requirements 手続きとして .Ar rscript を用います。 これは実行可能なプログラム (もしくはシェルスクリプト) なら なんでも構いません。 これはインストール時、アンインストール時に自動的に起動され、 インストール、アンインストールを継続するべきかどうかを決定するのに 用いられます。 インストールとアンインストールを区別するために、キーワード .Ar INSTALL と .Ar DEINSTALL がそれぞれ、package 名と共に渡されます。 .It Fl s Ar srcdir package 作成中に .Ar srcdir は、 .Cm @cwd の値に優先します。 .It Fl t Ar template .Xr mktemp 3 への入力として .Ar template を用います。 これはデフォルトでは .Pa /tmp/instmp.XXXXXX という文字列ですが、 .Pa /tmp ディレクトリの容量が制限されているような状況では 変更する必要があるかもしれません。 .Xr mktemp 3 が一意の ID を用いるために必要な `X' の文字をいくつか残しておく ことを忘れないでください。 .It Fl X Ar excludefile 最終的に package を作成する際に、 .Ar excludefile を .Cm tar に .Fl exclude-from 引数として渡します。 このオプションを使うにあたっての詳しい情報は、 .Cm tar のマニュアルページ (もしくは .Fl -help 引数を付けて .Cm tar を実行) を参照してください。 .It Fl D Ar displayfile package をインストールした後にファイルを (連結して標準出力へ) 表示します。 「ほとんど free なソフトウェア」などにおいて、 法的な通知のようなものなどに便利でしょう。 .It Fl m Ar mtreefile package がインストールされる前に、mtreefile を入力として .Xr mtree 8 を実行します。mtree は .Cm mtree .Fl u .Fl f .Ar mtreefile .Fl d .Fl e .Fl p .Pa prefix として起動されます (ただし .Pa prefix は .Cm @cwd ディレクティブにより名付けられた最初のディレクトリの名前)。 .It Fl o Ar originpath .Ar originpath を、 .Em "FreeBSD Ports Collection" 中で package が作成された場所として記録します。 この書式は、 .Pa MASTERCATEGORY/PORTDIR であるべきです。 .It Fl j package の tarball を圧縮するために、 .Xr bzip2 1 ユーティリティを .Xr gzip 1 の代りに使用します。 最終的なアーカイブの書式が、認識可能なサフィックスによって .Ar pkg-filename で明示的に指定されている場合、本オプションは無効であることに注意してください。 現在 .Nm は、次のサフィックスを認識します: .Pa .tbz , .tgz , .tar 。 .It Fl y 互換性のための、 .Fl j の同義語です。 .It Fl z package の tarball を圧縮するために、 .Xr gzip 1 ユーティリティを使用します。 .It Fl b Ar pkg-name .Ar pkg-name という名前でローカルにインストールされた package から、 package ファイルを作成します。 .Ar pkg-filename が指定されない場合、最終的なアーカイブはカレントディレクトリに作成され、 .Ar pkg-name に対して伸長用の適切なサフィックスが付いた名前となります。 .El .Sh PACKING LIST 詳細 .Dq packing list の書式 ( .Fl f を参照) は単純で、package に含めるファイル名を一行につきひとつずつ 並べたものにすぎません。 どこにインストールされるかわからない package に対して絶対パスを 用いるのは一般的に悪い方法なので、 どこにインストールされることを想定しているのか、 そしてどんな ownership と mode を伴ってインストールされるべきなのか (こちらはオプション) を指定する方法が用意されています。 これは packing list 内に一連の特殊コマンドを 埋め込むことで実現されています。以下に簡単に示します: .Bl -tag -width indent -compact .It Cm @cwd Ar directory 内部のディレクトリポインタが .Ar directory を指すようにします。以降のファイル名はこのディレクトリへの相対パス であるとみなされます。 注: .Cm @cd はこのコマンドの別名です。 .It Cm @srcdir Ar directory 「作成時のみ」の内部ディレクトリポインタを .Ar directory に設定します。 package 作成時に .Cm @cwd に優先すると言えますが、展開時にはこれはあてはまりません。 .It Cm @exec Ar command 展開処理の一環として .Ar command を実行します。 .Ar command が以下の文字列を含んでいた場合、その場で置換されます。 以下の例では .Cm @cwd が .Pa /usr/local と設定されていて、最後に展開されたファイルが .Pa bin/emacs だったとしています。 .Bl -tag -width indent -compact .It Cm "%F" 最後に展開されたファイル名に置換されます。この例では .Pa bin/emacs となります。 .It Cm "\&%D" .Cm @cwd で設定されたカレントディレクトリプレフィックスに置換されます。 この例では .Pa /usr/local になります。 .It Cm "\&%B" 完全な (フルパスの) ファイル名の .Dq basename へ置換されます。 これはカレントディレクトリプレフィックスに最後の filespec を 加え、末尾のファイル名部分を除いたものです。 この例では、 .Pa /usr/local/bin になります。 .It Cm "%f" 完全な (フルパスを含む) ファイル名の .Dq filename 部分へ置換されます。 .Cm \&%B と対応していて、この例では .Pa emacs となります。 .El .It Cm @unexec Ar command アンインストール処理の一環として .Ar command を実行します。特別な .Cm % 文字列の置換は .Cm @exec と同様です。 このコマンドは .Cm @exec のように package を加える際に実行されるのではなく、package が 削除されるときに実行されます。 これは、package を加えるときに作られたリンクや他の 付随ファイル (package の内容一覧に記されているファイルは自動的に 削除されるので除く) を削除するのに便利です。 アンインストールスクリプトよりも .Cm @unexec を用いる方が有利な点は、どこにインストールされているかわからない ( .Fl p を参照) ファイルの場所を得るのに .Dq 特殊文字列置換 を用いることが 可能なことです。 .It Cm @mode Ar mode この後で展開されるすべてのファイルのデフォルトの許可属性を .Ar mode に設定します。 書式は .Cm chmod コマンドで用いられているものと同じです (というよりも、そのまま 渡されています)。 引数無しで用いると、デフォルトの (展開) 許可属性に戻します。 .It Cm @option Ar option 内部用 package オプションを設定します。 現在二つのオプションのみがサポートされています。 ひとつは .Ar extract-in-place で、これは pkg_add コマンドに package の tarball を staging area に展開せずに、目的の階層に直接展開するよう指示します (これは主に配布物や他の特殊な package などに用いられます)。 もうひとつは .Ar preserve で、存在するファイルを別の所に保存しておくよう pkg_add に指示します (これらは pkg_delete の時に復活しますが、自分の責任で行ってください)。 .It Cm @owner Ar user この後で展開されるすべてのファイルのデフォルトの ownership を .Ar user に設定します。 引数無しで用いると、デフォルトの (展開) ownership に戻します。 .It Cm @group Ar group この後で展開されるすべてのファイルのデフォルトの group ownership を .Ar group に設定します。 引数無しで用いると、デフォルトの (展開) group ownership に戻します。 .It Cm @comment Ar string packing list 内にコメントを埋め込みます。 誰かが後で間違えてしまうかもしれない特に厄介な部分を説明しようとする 場合に便利です。 .It Cm @ignore 特殊な目的に使われるファイルなどのため、展開時に次のファイルを 無視する (どこにもコピーしない) ように、内部で用いられます。 .It Cm @ignore_inst .Cm @ignore と同様ですが、次のファイルを無視するのは一評価サイクルだけ 遅らせられます。 このおかげでこのディレクティブを .Ar packinglist ファイル内で用いることが可能になるので、インストーラが 無視するような、インストールスクリプトなどのための特殊な データファイルを、配布物内に入れることができるようになります。 .It Cm @name Ar name package の名前を設定します。 これは必須項目であり、通常先頭に置かれます。 この名前は package が提供するファイルの名前とは異なる可能性があり、 後でアンインストールする時のために package の記録を残しておくのに使われます。 名前が指定されなかった場合には、 .Nm は package 名から推定し、自動的に設定することに注意してください。 .It Cm @dirrm Ar name ディレクトリ .Pa name がアンインストール時に削除されるよう宣言します。デフォルトでは、 package のインストール時に作成されたディレクトリは アンインストール時には削除されませんが、このディレクティブは明示的な ディレクトリ削除方法を提供します。 このディレクティブは package リストの最後で用いるようにしてください。 一つ以上の .Cm @dirrm ディレクティブが指定された場合、指定された順番に削除されます。 .Pa name は空きディレクトリでなければ削除されません。 .It Cm @mtree Ar name .Pa name を、インストール時に用いられる .Xr mtree 8 への入力ファイルとして宣言します (上述の .Fl m を参照)。最初にひとつだけ .Cm @mtree ディレクティブを指定することが推奨されます。 .It Cm @display Ar name .Pa name を、インストール時に表示されるファイルとして宣言します (上述の .Fl D を参照)。 .It Cm @pkgdep Ar pkgname package .Ar pkgname に依存することを宣言します。 package .Ar pkgname はこの package がインストールされる前にインストールされていなければ ならず、またこの package は package .Ar pkgname がアンインストールされる前にアンインストールされなければなりません。 package が複数の package に依存する場合には、複数の .Cm @pkgdep ディレクティブが用いられます。 .It Cm @conflicts Ar pkgcflname .Ar pkgcflname package との衝突を宣言します。 これは、ふたつの package が同じファイルへの参照を持ち、 同一システムに共存できないことが理由です。 .El .Sh 環境変数 環境変数 .Ev PKG_TMPDIR で、 .Nm が作業用ファイルの生成を試みるディレクトリの名前を指定します。 .Ev PKG_TMPDIR が設定されていない場合、 .Ev TMPDIR で指定されたディレクトリが使用されます。 .Ev PKG_TMPDIR 、 .Ev TMPDIR ともに設定されていない場合は、組み込みのデフォルトディレクトリが 使用されます。 .Sh 関連ファイル .Bl -tag -width /usr/tmp -compact .It Pa /var/tmp 環境変数 .Ev PKG_TMPDIR 、 .Ev TMPDIR がともに設定されていない場合の作業用ディレクトリ。 .It Pa /tmp .Pa /var/tmp が存在しない場合の、その次の選択肢。 .It Pa /usr/tmp .Pa /tmp が適切でない場合の、最後の選択肢。 .El .Sh 関連項目 .Xr pkg_add 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr pkg_version 1 , .Xr sysconf 3 .Sh 歴史 .Nm コマンドは .Fx で最初に登場しました。 .Sh 作者 .An Jordan Hubbard .Sh 協力者 .An John Kohl Aq jtk@rational.com .Sh バグ package が展開される際にハードリンクを保存しておくために、 配布物のファイル間でのハードリンクは .Cm @cwd ディレクティブで括られていなければなりません。 その上、実行時の引数の長さの制限 (これは .Fn sysconf _SC_ARG_MAX により返される値に依存します) のために、それらのハードリンクは単一の .Cm tar 実行内で行われなければなりません。 .Pp バグは他にもあるはずです。 diff --git a/ja_JP.eucJP/man/man1/ps.1 b/ja_JP.eucJP/man/man1/ps.1 index 7263d1e561..c07d146bcd 100644 --- a/ja_JP.eucJP/man/man1/ps.1 +++ b/ja_JP.eucJP/man/man1/ps.1 @@ -1,573 +1,573 @@ .\" Copyright (c) 1980, 1990, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ps.1 8.3 (Berkeley) 4/18/94 -.\" %FreeBSD: src/bin/ps/ps.1,v 1.64 2003/08/05 10:31:28 brueffer Exp % +.\" %FreeBSD: src/bin/ps/ps.1,v 1.65 2003/09/08 19:57:13 ru Exp % .\" .\" $FreeBSD$ .Dd April 18, 1994 .Dt PS 1 .Os .Sh 名称 .Nm ps .Nd プロセスの状態の表示 .Sh 書式 .Nm .Op Fl aCcefHhjlmrSTuvwxZ .Op Fl M Ar core .Op Fl N Ar system .Op Fl O Ar fmt .Op Fl o Ar fmt .Op Fl p Ar pid .Op Fl t Ar tty .Oo Fl U Ar username Ns Xo .Op , Ns Ar username Ns No ... .Xc .Oc .br .Nm .Op Fl L .Sh 解説 .Nm ユーティリティは、制御端末を持つ自分 (あなた) のプロセスの情報を、 ヘッダ行に続いて表示します。 この情報は、制御端末順に整列され、その中ではプロセス .Tn ID 順に整列されます。 .Pp 表示される情報は、一連のキーワードによって選ばれます .Pf ( Fl L , .Fl O , .Fl o オプションを参照)。 デフォルトの出力フォーマットは、各プロセス毎に、 プロセス .Tn ID , 制御端末・cpu 時間 (ユーザ時間とシステム時間の両方)・ プロセス状態・プロセスに関連するコマンドから成ります。 .Pp プロセスファイルシステム ( .Xr procfs 5 参照) は、 .Nm が実行されている時にマウントされているべきです。そうでない場合、 すべての情報が利用可能になるわけではありません。 .Pp オプションを以下に示します。 .Bl -tag -width indent .It Fl a 自分のプロセスに加え自分以外のプロセスの情報も同様に表示します。 この機能は、 .Va security.bsd.see_other_uids sysctl を 0 に設定することで無効化できます。 .It Fl c ``コマンド'' 桁の出力を、すべてのコマンドラインを表示するのではなく、 実行形式名だけを表示するように変更します。 .It Fl C cpu パーセンテージの計算を、``常駐'' 時間を無視する ``生'' cpu 時間を使う方法に変更します (通常これは影響ありません)。 .It Fl e 環境 (変数) も同時に表示します。 .It Fl f スワップアウトされたプロセスに関して、 コマンドラインと環境の情報を表示します。 ユーザの uid が 0 である場合のみ、このオプションが有効になります。 .It Fl H 各プロセスに関連する、すべての .Em カーネルから見える スレッドを表示します。 使用中のスレッドパッケージに依存し、プロセスのみの表示か、 カーネルスケジュールエンティティのみの表示か、 全プロセススレッドの表示のいずれかになります。 .It Fl h ページ毎に 1 つヘッダが入るようにします。 .It Fl j 次のキーワードに関する情報を表示します: user, pid, ppid, pgid, jobc, state, tt, time, command。 .It Fl L 有効なキーワードの一覧を表示します。 .It Fl l 次のキーワードに関する情報を表示します: uid, pid, ppid, cpu, pri, nice, vsz, rss, mwchan, state, tt, time。 .It Fl M 名前リストの値を取り出すとき、 デフォルトの .Pa /dev/kmem の代わりに、指定した .Ar core から取り出します。 .It Fl m プロセス .Tn ID 順ではなく、メモリ使用量順に整列します。 .It Fl N デフォルトの .Pa /boot/kernel/kernel の代わりに、指定された .Ar system から名前リストを取り出します。 .It Fl O デフォルトで表示される情報に加え、 指定されたキーワードに関する情報を、 プロセス .Tn ID の後に挿入する形式で表示します。 各キーワードの後ろには、等号 (``='') と文字列を追加しても構いません。 この場合、標準のヘッダの代わりに指定された文字列が表示されます。 .It Fl o 指定されたキーワードに関する情報を、表示します。 キーワードは、空白またはコンマで区切って指定可能です。 また、複数の .Fl o オプションを使用することでも、複数のキーワードを指定可能です。 各キーワードの後ろには、等号(``='')と文字列を追加しても構いません。 この場合、標準のヘッダの代わりに指定された文字列が表示されます。 .It Fl p 指定したプロセス .Tn ID に関する情報を表示します。 .It Fl r プロセス .Tn ID 順ではなく、現在の cpu 利用率順に整列します。 .It Fl S プロセス時間を計算するのに、 終了した子プロセスの時間を親プロセスに合計するように変更します。 .It Fl T 標準入力のデバイスに取り付けられたプロセスの情報を表示します。 .It Fl t 指定された端末デバイスに取り付けられたプロセスの情報を表示します。 .It Fl U 指定された .Ar username (複数指定可) に属するプロセスを表示します。 .It Fl u 次のキーワードに関する情報を表示します: user, pid, %cpu, %mem, vsz, rss, tt, state, start, time, command。 .Fl u オプションを指定すると .Fl r オプションも暗に指定したことになります。 .It Fl v 次のキーワードに関する情報を表示します: pid, state, time, sl, re, pagein, vsz, rss, lim, tsiz, %cpu, %mem, command。 .Fl v オプションを指定すると .Fl m オプションも暗に指定したことになります。 .It Fl w デフォルトの現行ウィンドウ幅ではなく、132 桁幅で表示します。 一度より多く .Fl w オプションを指定すると、 .Nm はウィンドウ幅にかかわらず、必要なだけの幅を使用します。 .It Fl x 制御端末のないプロセスの情報も表示します。 .It Fl Z .Nm が情報を表示するキーワードリストに、ラベルを追加します。 .El .Pp 有効なキーワードの全リストを以下に示します。 いくつかのキーワードに関してはさらに詳しく述べます。 .Bl -tag -width lockname .It %cpu プロセスの cpu 利用率です。実時間で最近 1 分間の減衰平均です。 計算の基点となる時間は変化するので (プロセスはまだ生れたばかりかもしれないので)、 .Tn \&%CPU フィールド全部の合計は 100% を越える可能性もあります。 .It %mem プロセスで使われている実メモリのパーセンテージです。 .It flags インクルードファイル -.Aq Pa sys/proc.h +.In sys/proc.h でプロセスに定義されたフラグです。 .Bl -column SNOCLDSTOP SNOCLDSTOP .It Dv "P_ADVLOCK" Ta No "0x00001 プロセスは POSIX 提案ロックを保持している" .It Dv "P_CONTROLT" Ta No "0x00002 制御端末を持っている" .It Dv "P_INMEM" Ta No "0x00004 メモリに読み込まれている" .It Dv "P_NOCLDSTOP" Ta No "0x00008 子プロセスが停止しても SIGCHLD を送らない" .It Dv "P_PPWAIT" Ta No "0x00010 親プロセスが、子プロセスが exec/exit するのを待っている" .It Dv "P_PROFIL" Ta No "0x00020 プロファイル付きで実行された" .It Dv "P_SELECT" Ta No "0x00040 select 中; wakeup/waiting は危険である" .It Dv "P_SINTR" Ta No "0x00080 sleep は割り込み可能" .It Dv "P_SUGID" Ta No "0x00100 最後の実行以来、id 特権が設定されている" .It Dv "P_SYSTEM" Ta No "0x00200 システムプロセス: シグナルや stat やスワップが無い" .It Dv "P_TIMEOUT" Ta No "0x00400 sleep 中にタイムアウトした" .It Dv "P_TRACED" Ta No "0x00800 デバッグプロセスはトレースされている" .It Dv "P_WAITED" Ta No "0x01000 デバッグプロセスは子プロセスを待っている" .It Dv "P_WEXIT" Ta No "0x02000 終了動作中" .It Dv "P_EXEC" Ta No "0x04000 プロセスは exec で呼ばれた" .It Dv "P_OWEUPC" Ta No "0x20000 次の ast プロセスが addupc() 呼び出しの借り" .It Dv "P_SWAPPING" Ta No "0x40000 プロセスはスワップされている" .El .It label プロセスの MAC ラベルです。 .It lim .Xr setrlimit 2 の呼び出しで指定される、メモリ使用量のソフトリミットです。 .It lstart コマンドの実行が始まった正確な時刻を、 .Xr strftime 3 に記述された ``%c'' フォーマットで表示します。 .It lockname プロセスが現在ブロックされているロックの名前です。 名前が不正または未知の場合、 .Dq ???\& が表示されます。 .It mwchan プロセスが通常のブロック状態ではイベント名であり、 プロセスがロックでブロックされている場合にはロックの名前です。 詳細は、キーワード wchan と lockname を参照してください。 .It nice プロセススケジューリングにおける増加値です .Ns ( Xr setpriority 2 参照)。 .\" .Ns により ( と setpriority が離れるのを防ぐ .\" by horikawa@jp.freebsd.org (Feb 9 1997) .It rss プロセスの実メモリ(常駐分)の大きさ(1024バイト単位)です。 .It start コマンドが開始された時間です。 コマンドが開始されたのが 24 時間以内なら、 開始時刻は .Xr strftime 3 で記述された ``%l:ps.1p'' フォーマットで表示されます。 コマンドが開始されたのが 7 日以内なら、 開始時刻は ``%a6.15p'' フォーマットで表示されます。 さもなくば、開始時刻は ``%e%b%y'' フォーマットで表示されます。 .It state プロセスの状態を文字の列で表示します。例えば、 .Dq Tn RWNA の最初の文字は、プロセスが runnable 状態であることを示しています。 .Pp .Bl -tag -width indent -compact .It D プロセスはディスク (あるいは他の割り込み不可能な短期間の) 待ち状態です。 .It I プロセスは idle 状態 (20 秒以上 sleep している) です。 .It J プロセスは .Xr jail 2 中のものです。 牢屋のホスト名は .Ql /proc//status に記述されています。 .It R プロセスは runnable 状態です。 .It S プロセスは 20 秒未満の sleep 状態です。 .It T プロセスは stop している状態です。 .It Z プロセスは死んでいる状態 (``ゾンビ'') です。 .El .Pp さらにこの後に文字があれば、さらなる状態情報を示します。 .Pp .Bl -tag -width indent -compact .It + プロセスはその制御端末のフォアグラウンドプロセスグループに属しています。 .It < プロセスは .Tn CPU のスケジュール優先度が上げられています。 .It > プロセスはメモリ要求に対するソフトリミットが指定されており、 現在そのリミットを越えています。 このようなプロセスは (必然的に) スワップされていません。 .It A プロセスはランダムなページ置換 ( .Xr madvise 2 における .Dv MADV_RANDOM のことで、例えば、 lisp でのガーベージコレクション) を要求しました。 .It E プロセスは終了しようとしています。 .It L プロセスは実メモリ中にロックされたページ (例えば、raw .Tn I/O 用) を持っています。 .It N プロセスは .Tn CPU スケジューリング優先度 ( .Xr setpriority 2 参照) が下げられています。 .It S プロセスは .Tn FIFO ページ置換 ( .Xr madvise 2 における .Dv MADV_SEQUENTIAL のことで、 例えば、仮想記憶の多量のデータを順次アクセスする 大規模画像処理プログラム) を要求しました。 .It s プロセスはセッションリーダです。 .It V プロセスは .Xr vfork 2 の間、一時中断されています。 .It W プロセスはスワップアウトされています。 .It X プロセスはトレースされているか、デバッグされています。 .El .It tt もしあれば、制御端末のパス名の省略形です。 省略形は .Pa /dev/tty に続く 3 文字か、コンソール場合の ``con'' です。 もはやプロセスがその制御端末に到達できない (即ち、revoke された) 場合、 後に ``-'' が付きます。 .It wchan プロセスが待っているイベント (システム内のアドレス)。 数字で表示される時には、アドレスの最初の部分は削られて その結果が 16 進で表示されます。例えば 0x80324000 では 324000 と表示されます。 .El .Pp キーワード command には、 すでに終了しているのに親がまだ wait してくれていない プロセス(即ちゾンビ)は ``'' と表示されます。 終了しようとしてブロックされているプロセスは ``'' と表示されます。 .Nm ユーティリティは、メモリやスワップ領域を検査して、 プロセスが生成されたときのファイル名や引数を推測します。 この方法は、本質的に少々信頼できるものではなく、 プロセスはとにかくこの情報を破壊することができます。 だから、表示されるコマンド名や引数をあまり信用しすぎてはなりません。 一方、キーワード ucomm (アカウンティング名) は信用できます。 .Sh キーワード 以下は有効なキーワードとその意味の全リストです。 そのうちいくつかは別名があります。 .Pp .Bl -tag -width sigignore -compact .It %cpu cpu 使用率 (別名 pcpu) .It %mem メモリ使用率 (別名 pmem) .It acflag アカウンティングフラグ (別名 acflg) .It command コマンド名と引数 .It cpu 短期間 cpu 使用係数 (スケジューリング用) .It flags 16 進数のプロセスフラグ (別名 f) .It inblk 総ブロック読み出し数 (別名 inblock) .It jobc ジョブコントロール数 .It ktrace トレース中フラグ .It label MAC ラベル .It lim メモリ利用のリミット .It logname プロセスを開始したユーザのログイン名 .It lstart 開始時刻 .It majflt 総ページフォールト数 .It minflt 総ページ再生数 .It msgrcv 総メッセージ受信数 (パイプ/ソケットからの読み込み) .It msgsnd 総メッセージ送信数 (パイプ/ソケットへの書き込み) .It lockname 現在ブロックされているロック (シンボル名) .It mwchan 現在ブロックされているチャネルまたはロック .It nice nice 値 (別名 ni) .It nivcsw 総強制的コンテキストスイッチ数 .It nsigs 総シグナル受け入れ数 (別名 nsignals) .It nswap 総スワップイン/スワップアウト数 .It nvcsw 総自発的コンテキストスイッチ数 .It nwchan wait チャネル (アドレスで表示) .It oublk 総ブロック書き込み数 (別名 oublock) .It paddr スワップアドレス .It pagein ページイン数 (majflt と同じ) .It pgid プロセスグループ番号 .It pid プロセス .Tn ID .It poip 進行中のページアウト数 .It ppid 親プロセス .Tn ID .It pri スケジューリング優先度 .It re 実メモリ常駐時間 (秒単位; 127 = 無限) .It rgid 実グループ .Tn ID .It rgroup グループ名 (rgid に基きます) .It rlink run 行列における逆リンク (あるいは 0) .It rss 常駐セットサイズ .It rtprio 実時間優先度 (101 = 実時間プロセスではない) .It ruid 実ユーザ .Tn ID .It ruser ユーザ名 (ruid から得られたもの) .It sess セッションポインタ .It sig 遅延されたシグナル (別名 pending) .It sigcatch 捕獲されたシグナル (別名 caught) .It sigignore 無視されたシグナル (別名 ignored) .It sigmask ブロックされたシグナル (別名 blocked) .It sl sleep 時間 (秒単位; 127 = 無限) .It start 開始時刻 .It state 記号でのプロセス状態 (別名 stat) .It svgid setgid プログラムでの saved gid .It svuid setuid プログラムでの saved uid .It tdev 制御端末のデバイス番号 .It time ユーザ + システムの合計 cpu 時間 (別名 cputime) .It tpgid 制御端末プロセスグループ .Tn ID .\".It trss .\"text resident set size (in Kbytes) .\"テキスト常駐セットサイズ(Kbyte単位) .It tsid 制御端末のセッション .Tn ID .It tsiz テキストサイズ (K バイト単位) .It tt 制御端末名 (2 文字の省略形) .It tty 制御端末の完全な名前 .It uprocp プロセスポインタ .It ucomm アカウンティングで使われるコマンド名 .It uid 実効ユーザ .Tn ID .It upr システムコールから帰る時のスケジューリング優先度 (別名 usrpri) .It user ユーザ名 (uid から得たもの) .It vsz k バイト単位の仮想記憶サイズ (別名 vsize) .It wchan wait チャネル (シンボル名で表示) .It xstat 終了ステータスまたは stop ステータス (stop プロセスかゾンビプロセスの時のみに有効) .El .Sh 環境変数 次の環境変数が .Nm の実行に影響します: .Bl -tag -width ".Ev COLUMNS" .It Ev COLUMNS 設定されている場合、ユーザの好む出力幅をコラム数で指定します。 デフォルトでは、 .Nm は自動的に端末幅を取得しようとします。 .El .Sh 関連ファイル .Bl -tag -width /var/run/kvm_kernel.db -compact .It Pa /dev/kmem デフォルトのカーネルメモリデバイス .It Pa /dev/lomac .Xr lomac 4 KLD への問い合わせに使用するインタフェース .It Pa /var/run/dev.db .Pa /dev 名前データベース .It Pa /var/run/kvm_kernel.db システム (カーネル) の名前リストデータベース .It Pa /boot/kernel/kernel デフォルトのシステムの名前リスト .It Pa /proc .Xr procfs 5 のマウントポイント .El .Sh 関連項目 .Xr kill 1 , .Xr w 1 , .Xr kvm 3 , .Xr strftime 3 , .Xr lomac 4 , .Xr procfs 5 , .Xr pstat 8 , .Xr sysctl 8 , .Xr mutex 9 .Sh 歴史 .Nm コマンドは .At v4 に登場しました。 .Sh バグ .Nm はシステムより速く実行できず、 他のプロセスと同様にスケジュールされて実行されるので、 表示される情報は正確ではあり得ません。 diff --git a/ja_JP.eucJP/man/man1/rlogin.1 b/ja_JP.eucJP/man/man1/rlogin.1 index d2590b701b..77537d392a 100644 --- a/ja_JP.eucJP/man/man1/rlogin.1 +++ b/ja_JP.eucJP/man/man1/rlogin.1 @@ -1,225 +1,199 @@ .\" Copyright (c) 1983, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)rlogin.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/rlogin/rlogin.1,v 1.21 2002/10/16 12:33:14 charnier Exp % +.\" %FreeBSD: src/usr.bin/rlogin/rlogin.1,v 1.23 2003/09/28 08:54:56 tjr Exp % .\" $FreeBSD$ .\" -.Dd June 6, 1993 +.Dd September 26, 2003 .Dt RLOGIN 1 .Os .Sh 名称 .Nm rlogin .Nd リモートログイン .Sh 書式 .Nm -.Op Fl 468DEKLdx +.Op Fl 468DEd .Op Fl e Ar char .Op Fl i Ar localname .Op Fl k Ar realm .Op Fl l Ar username .Ar host .Sh 解説 .Nm ユーティリティは、リモートホスト .Ar host 上で端末セッションを開始します。 .Pp .Nm ユーティリティはまず最初に、 以下に述べる Kerberos 認証メカニズムの使用を試みます。 もしリモートホストが Kerberos をサポートしていなければ、 標準的な Berkeley .Pa rhosts 認証メカニズムが用いられます。 .Pp オプションは以下の通りです: .Bl -tag -width flag .It Fl 4 IPv4 アドレスのみを使用します。 .It Fl 6 IPv6 アドレスのみを使用します。 .It Fl 8 常に 8 ビットの入力データパスを有効にします。 .Fl 8 オプションを指定しなければ、 リモート側のストップ/スタートキャラクタが ^S/^Q の場合を除き、 パリティビットが取り除かれます。 .It Fl D ソケットオプション TCP_NODELAY を有効にします。 ネットワーク負荷を高めますが、対話の応答性が向上します。 .It Fl E いかなるキャラクタもエスケープキャラクタとして認識されないようにします。 .Fl 8 オプションと組み合わせて用いると、 完全に透過的なコネクションとなります。 -.It Fl K -全ての Kerberos 認証を無効にします。 -.It Fl L -.Nm -セッションを -.Dq litout -モードで動作させます ( -.Xr tty 4 -参照)。 .It Fl d リモートホストとの通信に用いる TCP ソケットの ソケットデバッグ機能 ( .Xr setsockopt 2 参照)を有効にします。 .It Fl e エスケープキャラクタを指定します。デフォルトは .Dq ~ です。 指定はリテラルキャラクタあるいは \ennn 形式の 8 進数で行います。 .It Fl i 認証に使用する別のローカル名を、呼び出し元が指定可能です。 本オプションは、UID 0 のプロセスのみに制限されます。 -.It Fl k -.Xr krb_realmofhost 3 -で決定されるリモートホストの管理領域 (realm) ではなく、指定した管理領域 -.Ar realm -におけるリモートホスト用チケットを得るように rlogin に要求します。 -.\" UNIX MAGAZINE 95/4 および FreeBSD Handbook の日本語訳を参考に、 -.\" realm -> 管理領域としています。 -.\" Kazuo Horikawa 20 Aug 1997 .It Fl l リモートログインに別の .Ar username を指定します。 このオプションを指定しないと、ローカルなユーザ名を使用します。 -.It Fl x -.Nm -セッションを通してやりとりされる全てのデータを -.Tn DES -暗号化します。 -これは応答時間や -.Tn CPU -使用率に影響を及ぼしますが、 -より高いセキュリティが得られます。 .El .Pp .Dq Ao escape char Ac Ns \&. という形式の行を入力すると、 リモートホストから切断します。 同様に .Dq Ao escape char Ac Ns ^Z という行を入力すると .Nm セッションを中断し、 .Dq Ao escape\ char Ac Ao delayed-suspend\ char Ac を入力すると .Nm の送信部分のみ中断し、リモートシステムからの出力は有効に保ちます。 デフォルトでは はチルダ .Pq Dq ~ であり、 は普通 control-Y .Pq Dq ^Y です。 .Pp エコーは全てリモートサイト側で行われ、(遅延を除き) .Nm は透過的です。 ^S/^Q によるフロー制御や割り込み発生時の入出力のフラッシュは 正しく処理されます。 .Sh KERBEROS 認証 各ユーザはホームディレクトリの .Pa .klogin ファイル中に各個人の認証リストを持つことができます。 このファイルの各行は .Ar principal.instance@realm という形式で Kerberos の principal 名を持っています。 もし最初のユーザが .Pa .klogin 中のある principal 名に認証されれば、 そのアカウントでのアクセスが許可されます。 もし .Pa .klogin ファイルが存在しなければ、次の principal .Ar accountname.@localrealm でのアクセスが許可されます。 これ以外の場合、 .Xr login 1 の場合と同様、リモートマシンにおいてログインとパスワードのプロンプトが 表示されます。 いくつかのセキュリティ問題を回避するため、 .Pa .klogin ファイルはリモートユーザの所有としなければなりません。 .Pp Kerberos 認証に失敗すると、警告メッセージが表示され、 標準的な Berkeley .Nm 方式が用いられます。 .Sh 環境変数 .Nm では以下の環境変数が用いられます: .Bl -tag -width TERM .It Ev TERM ユーザの端末タイプを決定します。 .El .Sh 関連項目 .Xr login 1 , .Xr rsh 1 , .Xr telnet 1 , .Xr setsockopt 2 , .Xr kerberos 3 , .Xr krb_realmofhost 3 , .Xr krb_sendauth 3 , .Xr ruserok 3 , .Xr tty 4 , .Xr auth.conf 5 , .Xr hosts 5 , .Xr hosts.equiv 5 , .Xr rlogind 8 , .Xr rshd 8 .Sh 関連ファイル .Bl -tag -width /etc/hosts -compact .It Pa /etc/hosts .It Pa /etc/hosts.equiv .It Pa /etc/auth.conf .It Ev $HOME Ns Pa /.rhosts .It Ev $HOME Ns Pa /.klogin .El .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 .Pp IPv6 サポートを WIDE/KAME プロジェクトが追加しました。 .Sh バグ .Nm ユーティリティは近い将来 .Xr telnet 1 に置き換えられるでしょう。 .Pp より多くの環境が引き継がれるべきです。 diff --git a/ja_JP.eucJP/man/man1/script.1 b/ja_JP.eucJP/man/man1/script.1 index 8dbb00f79d..bcb7cec673 100644 --- a/ja_JP.eucJP/man/man1/script.1 +++ b/ja_JP.eucJP/man/man1/script.1 @@ -1,149 +1,149 @@ .\" 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. .\" .\" @(#)script.1 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.bin/script/script.1,v 1.16 2002/04/20 12:16:48 charnier Exp % +.\" %FreeBSD: src/usr.bin/script/script.1,v 1.17 2003/09/07 15:43:50 charnier Exp % .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt SCRIPT 1 .Os .Sh 名称 .Nm script .Nd 端末上に表示したすべてのもののログをとる .Sh 書式 .Nm .Op Fl a .Op Fl k .Op Fl q .Op Fl t Ar time .Op Ar file Op command ... .Sh 解説 .Nm ユーティリティは、 端末上に表示したすべてのもののログ (typescript) をとります。 記録後に .Xr lpr 1 で印刷することもできるので、 学生の宿題の証明等で対話的セッションのハードコピー が必要なときなどには有効です。 .Pp .Ar file が指定されていればそのファイルに、指定されていなければ .Pa typescript というファイル名で記録されます。 .Pp 引数 -.Ar command ... +.Ar command を指定すると、 .Nm は対話シェルの代りに指定したコマンドをオプションの引数ベクタ付きで実行します。 .Pp オプションとしては以下のものがあります: -.Bl -tag -width xxxxxxx +.Bl -tag -width indent .It Fl a .Ar file もしくは .Pa typescript がすでに存在している場合には、それに追加する形で記録していきます。 .It Fl k 出力だけでなくプログラムに送られたキー入力も記録します。 .It Fl q 静かなモードで実行します。開始時と終了時のステータスメッセージを省略します。 .It Fl t Ar time スクリプト出力ファイルにフラッシュする間隔を指定します。 値 0 を指定すると .Nm は文字 I/O イベントごとにフラッシュします。 デフォルトのフラッシュ間隔は 30 秒です。 .El .Pp .Nm は、フォークしたシェル(またはコマンド)を終了したとき ( Bourne シェル .Pf ( Xr sh 1 ) なら .Em control-D で終了しますし、 C シェル .Xr csh 1 なら .Em exit , .Em logout , .Em control-D ( .Em ignoreeof が設定されていない場合) で終了します ) に記録を終わります。 .Pp .Xr vi 1 などのある種の対話コマンドでは、ログファイルにゴミが入る ことがあります。 .Nm ユーティリティは、画面を操作しないようなコマンドについては、うまく動作します。 出力結果はハードコピー端末のエミュレーションと言えるでしょう。 .Sh 環境変数 .Nm は次の環境変数を使用します: .Bl -tag -width SHELL .It Ev SHELL .Nm がフォークするシェルを指定します。 .Ev SHELL が設定されていない場合は Bourne シェルが使われます。 (ほとんどのシェルはこの変数を自動的に設定します) .El .Sh 関連項目 .Xr csh 1 ( .Em history 機能に関連) .Sh 歴史 .Nm コマンドは .Bx 3.0 から登場しました。 .Sh バグ .Nm ユーティリティは、ログファイルにラインフィードやバックスペースも含め、 .Sy なんでも 記録 します。このためユーザの期待したものと違うログになることもあります。 .Pp スクリプトファイルを指定せずにコマンドを指定することはできません。 これは引数解析の互換性確保のためです。 .Pp .Fl k オプションが指定されている場合には、エコーキャンセルは理想と程遠いです。 スレーブ端末モードの ECHO モードがチェックされ、 手動エコー記録をいつ避けるべきかがチェックされます。 これは raw モード時、すなわちプログラムが手動エコーを行う時には動作しません。 diff --git a/ja_JP.eucJP/man/man1/sh.1 b/ja_JP.eucJP/man/man1/sh.1 index 572673feab..a7e8fd9d4d 100644 --- a/ja_JP.eucJP/man/man1/sh.1 +++ b/ja_JP.eucJP/man/man1/sh.1 @@ -1,1821 +1,1821 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Kenneth Almquist. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95 -.\" %FreeBSD: src/bin/sh/sh.1,v 1.87 2003/05/16 21:19:32 ru Exp % +.\" %FreeBSD: src/bin/sh/sh.1,v 1.88 2003/09/08 19:57:13 ru Exp % .\" .\" $FreeBSD$ .\" Japanese Translation amended by Norihiro Kumagai, 3/29/96, .\" based on the version of NetBSD Japanese Man Project .\" This amended version is for the FreeBSD-jpman Project, convened .\" by Kazuo Horikawa. .\" .Dd April 12, 2003 .Dt SH 1 .Os .Sh 名称 .Nm sh .Nd コマンドインタプリタ (シェル) .Sh 書式 .Nm .Op Fl /+abCEefIimnPpsTuVvx .Op Fl /+o Ar longname .Op Fl c Ar string .Op Ar arg ... .Sh 解説 .Nm ユーティリティ はシステムの標準コマンドインタプリタです。 現在 .Nm は .St -p1003.2 のシェル規約に対応する途上にあります。 本バージョンのシェルは、見方によっては Korn shell と同様に 見える機能を多数持っていますが、 pdksh のような Korn shell クローンではありません。 このシェルには、POSIX で規定された仕様といくつかの Berkeley 拡張のみが 取り入れられています。 本マニュアルは、shell のチュートリアルでは ありませんし、仕様を完全に記述するものでもありません。 .Ss 概要 シェルは、ファイルまたは端末から 1 行ずつ読み込み、それを解釈し、 コマンドを実行します。シェルはユーザがシステムにログインしたときに起動 されるプログラムです (ただし、ユーザは .Xr chsh 1 コマンドによって他のシェルを選択することもできます)。 シェルは、制御構文を持つ言語であり、 データ記憶をはじめとして多様な機能を提供するマクロ機能、 ヒストリ、行編集機能も内蔵しています。 このシェルは対話的に使うときに便利な機能を多くとり入れており、 対話的に用いるときも非対話的に (シェルスクリプトとして) 用いるときも、 共通のインタプリタ言語を用いることができる利点があります。 すなわち、コマンド名をシェルに直接タイプする ことも、コマンド名をファイルに書いておいてそのファイルをシェルに 直接実行させることもできます。 .Ss 起動 .\" .\" XXX This next sentence is incredibly confusing. .\" 引数が与えられず、かつシェルの標準入力が端末の場合 (または .Fl i フラグが指定 された場合)、シェルは対話的に動作します。対話的シェルは、通常、コマンド 入力時にプロンプトを表示し、文法的なエラーとコマンドエラーを 異なった方法で処理します (後述します)。 起動時に、シェルは 0 番目の引数を検査します。もしそれが マイナス記号 .Pq Li - で始まっているなら、シェルはログインシェルとして 動作します。ユーザがシステムにログインした場合は自動的にこの状況に なります。ログインシェルは、まず (以下の各ファイルが存在する場合)、 .Pa /etc/profile と次に .Pa .profile ファイルからコマンドを読み込みます。 シェル起動時に、もしくはログインシェルで .Pa .profile を実行中に環境変数 .Ev ENV が設定されているなら、シェルは、その次に環境変数 .Ev ENV で示されたファイルからコマンドを読み込みます。 つまり、ユーザはログイン時にのみ実行したいコマンドを .Pa .profile に書き、シェルが起動されるたびに実行したいコマンドを環境変数 .Ev ENV で示すファイルに書くことになります。 環境変数 .Ev ENV を設定するには、ホームディレクトリ下のファイル .Pa .profile に以下のように記述します。 ここで .Pa .shinit のかわりに好きな名前を指定することができます。 .Pp .Dl ENV=$HOME/.shinit; export ENV .Pp コマンドライン引数で指定されたオプション以外の最初のものを、シェルは コマンドを読み込むべきファイル (シェルスクリプト) の名前であると解釈し、 それ以後の引数はシェルの位置パラメータ ($1, $2, ...) に設定します。 それ以外の場合、シェルはコマンドを標準入力から読み込みます。 .Pp 古いバージョンの .Nm とは異なり、環境変数 .Ev ENV で指定したスクリプトが実行されるのは、対話的シェルの呼び出し時のみです。 これにより、いい加減に書かれた .Ev ENV スクリプトに起因する、簡単に食いものにされることが多い有名な セキュリティホールがふさがれたことになります。 .Ss 引数リスト処理 .Nm の 1 文字からなるオプションはそれぞれ対応する長い名前を持っています。 ただし .Fl c と .Fl /+o は例外です。 次の解説では、長い名前は単一文字オプションの隣に示されています。 あるオプションの長い名前は、 .Nm の .Fl /+o オプションへの引数として指定可能です。 シェルが起動されてからは、 オプションの長い名前を .Ic set 組み込みコマンド (後述の .Sx 組み込みコマンド で説明) の .Fl /+o オプションへの引数として指定可能です。 マイナス記号 .Pq Li - でオプションを指定することは、そのオプションを有効にすることを意味し、 プラス記号 .Pq Li + でオプションを指定することは、そのオプションを無効にすることを意味します。 .Dq Li -- または、単なる .Dq Li - はオプション処理を終了させ、 コマンドラインの残りの語を引数として解釈することを強制します。 .Fl /+o と .Fl c のオプションは長い名前を持ちません。 .Bl -tag -width indent .It Fl a Li allexport 値が代入されたときに変数をエクスポートするよう、変数にフラグを付けます。 .It Fl b Li notify バックグラウンドジョブ実行の完了を、コマンドが実行中でも即座に報告しま す (未実装です)。 .It Fl C Li noclobber すでに存在するファイルを .Dq Li > リダイレクトで上書きしません。 .It Fl E Li emacs 組み込みの .Xr emacs 1 風のコマンド行編集機能を有効にします (それ以前に .Fl V オプションが指定されていた場合、それを無効にします)。 .It Fl e Li errexit 非対話モードで、テスト状態にないコマンドの実行に失敗した場合、 直ちにシェルを終了します。 コマンドは、if, elif, while, until 構文を 制御するのに用いられている場合に、テスト状態であるとみなされます。 また、 .Dq Li && や .Dq Li || の左辺値として用いられているコマンドも、テスト状態とみなされます。 .It Fl f Li noglob パス名展開を行いません。 .It Fl I Li ignoreeof 対話的シェルの場合、入力の .Dv EOF を無視します。 .It Fl i Li interactive シェルが対話的に動作するように強制します。 .It Fl m Li monitor ジョブ制御を可能にします (対話的シェルの場合は自動的に設定されます)。 .It Fl n Li noexec 非対話的シェルの場合、コマンドを読み込みますが、そのコマンドの実行は しません。シェルスクリプトの文法を検査する場合に便利です。 .It Fl P Li physical .Ic cd と .Ic pwd コマンドにおけるデフォルトを .Fl L (論理的なディレクトリレイアウト) から .Fl P (物理的なディレクトリレイアウト) へ変更します。 .It Fl p Li privileged 特権モードを有効にします。 起動時に実効ユーザ ID あるいは実効グループ ID が、実ユーザ ID や実グルー プ ID と一致していなければ、このモードが有効になります。このモードを無 効化すると、実効ユーザ ID および実効グループ ID は、実ユーザ ID および 実グループ ID に設定されます。 対話的シェルでこのモードが有効になっていると、 .Pa /etc/profile の後で .Pa ~/.profile に代わり、 .Pa /etc/suid_profile を読み込みます。一方、環境変数 .Ev ENV の内容は無視されます。 .It Fl s Li stdin コマンドを標準入力から読み込みます (引数でファイル名が指定されていない 場合には、このオプションが自動的に設定されます)。 シェルが実行されてから本オプションを ( .Ic set などによって) 設定しても効果はありません。 .It Fl T Li trapsasync 子を待つとき、即座にトラップを実行します。 本オプションが設定されていないと、 .St -p1003.2 で指定されているように、子が終了した後にトラップが実行されます。 この非標準オプションは、 シグナルをブロックする子の周囲に保護シェルを置くために有用です。 周囲のシェルは子を殺したり、 次のように、制御を tty に戻して子だけを残したりできます: .Bd -literal -offset indent sh -T -c "trap 'exit 1' 2 ; some-blocking-program" .Ed .Pp .It Fl u Li nounset 値が設定されていない変数を展開しようとした場合、 標準エラー出力にエラーメッセージを出力し、 さらに非対話的シェルならば、ただちにシェルを終了します。 .It Fl V Li vi 組み込みの .Xr vi 1 風の行編集機能を有効にします (それ以前に .Fl E オプションが指定されていた場合、それは無効になります)。 .It Fl v Li verbose 入力を読み込むごとに標準エラー出力に書き出します。デバッグのときに便利です。 .It Fl x Li xtrace 各コマンドを実行する前に、そのコマンドを標準エラー出力に (各コマンドの 前に .Dq Li +\ \& を付加して) 書き出します。デバッグのときに便利です。 .El .Pp .Fl c オプションは、シェルの入力として解釈させる文字列引数を渡すために使用可能です。 このオプションは引数として文字列を一つだけ受け取ることに注意して下さい。 ですから、複数の単語からなる文字列は引用符で囲う必要があります。 .Pp .Fl /+o オプションは、オプションの長い名前のみを引数としてとり、 オプションの有効化と無効化を行います。 例えば、次の 2 つの .Nm 起動方法では組み込みの .Xr emacs 1 コマンドラインエディタを有効化します: .Bd -literal -offset indent set -E set -o emacs .Ed .Pp .Fl o オプションが引数なしで使用された場合、 現在のオプション設定を人が読める形式で表示します。 .Cm +o が引数なしで使用された場合は、現在のオプション設定を シェルへ再入力するのに適した形式で出力します。 .Ss 構文構造 シェルは、ファイルを行単位で読み込み、空白文字 (ブランクおよびタブ) や シェルにとって特別な意味を持つ特定の文字列 ( .Dq 演算子 と呼ばれるものです) を区切りとして、複数の単語に分割します。演算子には、制御演算子とリ ダイレクト演算子の 2 種類があります (これらの意味については後述します)。 以下に、それらの一覧を示します。 .Bl -tag -width indent .It No 制御演算子: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Li & Ta Li && Ta Li ( Ta Li ) Ta Li \en .It Li ;; Ta Li ; Ta Li | Ta Li || .El .It No リダイレクト演算子: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Li < Ta Li > Ta Li << Ta Li >> Ta Li <> .It Li <& Ta Li >& Ta Li <<- Ta Li >| .El .El .Ss 引用 (クォート) 引用は、特殊な意味を持つ文字や単語 (演算子、空白、キーワードなど) の意味 を打ち消すために用います。引用には、シングルクォート文字のペアを使う方法、 ダブルクォート文字のペアを使う方法、バックスラッシュ文字を使う方法 の 3 種類があります。 .Bl -tag -width indent .It シングルクォート文字 シングルクォートのペアで囲まれた文字は、すべてその文字そのまま (リテラル) として扱われます (ただしシングルクォートは別です。シングルクォート で囲った文字列の中にシングルクォートを含めることはできません)。 .It ダブルクォート文字 ダブルクォートのペアで囲まれた文字は、ドル記号文字 .Pq Li $ 、バッククォート文字 .Pq Li ` 、バックスラッシュ文字 .Pq Li \e を除き、すべてリテラルとして扱われます。 ダブルクォート文字による引用の中にあるバックスラッシュ文字は、歴史 的経緯によりすこし変わった扱いを受けます。 次の文字の前にある場合はクォートになりますが、 それ以外ではリテラルのままとなります: .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact .It Li $ Ta Li ` Ta Li \&" Ta Li \e\ Ta Li \en .El .It バックスラッシュ バックスラッシュは、その後ろの 1 文字を、リテラルとして扱うように指示 します。ただし改行文字 .Pq Li \en は別です。改行文字の直前のバックスラッシュは、行 の継続であるとみなされます。 .El .Ss 予約語 予約語はシェルにとって特別な意味を持つ単語で、行の先頭または制御演算子 の直後でのみ予約語として認識されます。以下に予約語の一覧を挙げます。 .Bl -column "doneXX" "elifXX" "elseXX" "untilXX" "whileX" -offset center .It Li \&! Ta { Ta } Ta Ic case Ta Ic do .It Ic done Ta Ic elif Ta Ic else Ta Ic esac Ta Ic fi .It Ic for Ta Ic if Ta Ic then Ta Ic until Ta Ic while .El .Ss エイリアス エイリアスは、名前とそれと対応する値が対になったもので、 組み込みコマンド .Ic alias によって定義されます。 シェルは、予約語が現れる可能性がある場所 (上記を参照) で、 ある単語に対して、それが予約語かどうかの検査を済ませたのち、 それがエイリアスに一致するかどうかを検査します。 もし一致したならば、入力行の中で、その単語をエイリアスの値に置き換えます。 たとえば、 .Dq Li lf という名前で .Dq Li ls -F という値を持つエイリアスが 存在したとすると、次の入力行 .Bd -literal -offset indent lf foobar .Ed .Pp は、以下のように置換されます。 .Bd -literal -offset indent ls -F foobar .Ed .Pp エイリアスは、初心者に対し、引数付きの関数を生成する面倒を求めることなく、 短いコマンドを作り出す便利な方法を提供するものです。 しかし、構文的にあいまいなコードを作り出すことにもつながりかねません。 そのような使い方はお勧めできません。 .Ss コマンド シェルは、読み込んだ単語を、文法に従って解釈します。 本マニュアルでは文法については解説しません。 .St -p1003.2 の BNF 表記を参照してください。要するに、行を 1 行を読み込み、読み込んだ 行の最初の単語 (制御演算子がある場合は、そのあとの最初の単語) が予約語 でない場合、シェルはその行を単純コマンドとして解釈します。それ以外の場 合、複合コマンドあるいは特殊構造であると解釈します。 .Ss 単純コマンド 単純コマンドを解釈する場合、シェルは以下のような動作をします。 .Bl -enum .It 単語の前にある .Dq Li name=value の形式の単語を取り除き、 単純コマンドの環境に代入します。 リダイレクト演算子とその引数 (後述) を取り除き、 あとで処理できるように保存します。 .It 残った単語を、 .Sx 単語展開 の節で説明する方法で展開します。 展開後の最初の単語をコマンド名とみなし、コマンドの位置を探索します。 残りの単語はコマンドへの引数とみなされます。 処理の結果、コマンド名が残らなかった場合、手順 1) で 取り出した .Dq Li name=value の変数代入を、現在のシェルの環境に反映します。 .It 次節で説明する方法で、リダイレクトを行います。 .El .Ss リダイレクト リダイレクトは、コマンドがどこから入力するか、どこへ出力するかを 変更するときに用います。 一般には、リダイレクトでは、ファイルのオープン、クローズ、または ファイルへの参照の複製 (duplicate) を行います。 リダイレクトで用いられる全般的な形式は、以下のとおりです。 .Pp .Dl [n] redir-op file .Pp ここで、 .Ql redir-op は前述したリダイレクト演算子のいずれかです。 これらの演算子をどのように利用するかの例をいくつか以下に挙げます。 .Bl -tag -width "1234567890XX" -offset indent .It Li [n]> file 標準出力 (またはファイル記述子 n) を file にリダイレクトします .It Li [n]>| file 上と同様。ただし .Fl C オプションの効果を打ち消します。 .It Li [n]>> file 標準出力 (またはファイル記述子 n) を file に追加します。 .It Li [n]< file 標準入力 (またはファイル記述子 n) を file からリダイレクトします。 .It Li [n]<> file 標準入力 (またはファイル記述子 n) を file から/へ、リダイレクトします。 .It Li [n1]<&n2 ファイル記述子 n2 を標準入力 (またはファイル記述子 n1) に複製します。 .It Li [n]<&- 標準入力 (またはファイル記述子 n) をクローズします。 .It Li [n1]>&n2 標準出力 (またはファイル記述子 n1) をファイル記述子 n2 に複製します。 (訳注: 通常は「ファイル記述子 n2 を標準出力 (またはファイル記述子 n1) に 複製」と表現します。 結果は、標準出力 (または n1 への出力) の n2 へのリダイレクトです。) .\" [man-jp 1544], [man-jp 1827] 以降のスレッド参照。 .It Li [n]>&- 標準出力 (または n) をクローズします。 .El .Pp 以下のリダイレクトは、しばしば .Dq ヒア・ドキュメント (here-document) と 呼ばれます。 .Bd -literal -offset indent [n]<< delimiter here-doc-text ... delimiter .Ed .Pp シェルは、delimiter までの行を保存し、コマンドへの標準入力またはファイ ル記述子 n にリダイレクトします。最初の行の delimiter が引用 (クォート) されていた場合、here-doc-text の内容をリテラルとして扱います。 そうでない場合、パラメータ展開、コマンド置換、数値演算 ( .Sx 単語展開 の節で 説明します) を適用します。演算子が ( .Dq Li << でなく) .Dq Li <<- の場合は、 here-doc-text の各行の行頭のタブを取り除きます。 .Ss コマンド検索と実行 コマンドには、シェル関数、組み込みコマンド、通常プログラムの 3 種類があり、 コマンドを検索する際には、シェルは名前の検索をこの順序で行います。 3 種類のコマンドは異なる方法で実行されます。 .Pp シェル関数を実行するとき、$0 を除くすべての位置パラメータ ($1, $2,..) をシェル関数への引数として設定します。$0 は変更されません。シェル関数 の環境として指定された変数 (関数名の直前に .Dq name=value を置いて指定 されたもの) は、その関数に局所的な変数となり、指定された初期値が設定さ れます。そして、シェルは関数定義で与えられたコマンドを実行します。コマ ンドの実行が完了すると、位置パラメータを元の値に戻します。これは全て現 在のシェルの中で処理されます。 .Pp シェルの組み込みコマンドは、新たなプロセスを作成せずにシェル内部で実行されます。 .Pp コマンドが関数でも組み込みコマンドでもない場合は、通常のプログラムとみなし (次節で説明するとおり) ファイルシステムの中でそのコマンドを検索します。 通常のプログラムを実行する場合、シェルは引数と 環境をプログラムに渡して、そのプログラムを実行します。 プログラムが通常の実行ファイル形式ではない場合 (つまり、 .Tn ASCII 表現で .Qq #! となる .Qq マジックナンバ でファイルが始まっておらず、 .Xr execve 2 が .Er ENOEXEC を返す場合)、 サブシェルの中でそのプログラムを解釈実行します。この場合、あたかも新たに シェルが起動されたかのような効果を得るために、子シェルは自分自身を 再初期化します。ただし、子プロセスは、親シェル中のハッシュされたコマンド 位置情報を憶えており、これは再初期化されません。 .Pp 本ドキュメントの古いバージョンや古いソースコードでは、ときおり、 マジックナンバのないシェルスクリプトのことを .Qq シェル手続き と呼んでいて、 まぎらわしい場合がありますので注意して下さい。 .Ss パス検索 コマンドを検索するとき、シェルは、まず、その名前のシェル関数があるかどうかを 調べます。次に、その名前の組み込みコマンドがあるかどうかを調べます。 組み込みコマンドでもない場合、以下のいずれかの処理が行われます: .Bl -enum .It コマンド名にスラッシュが含まれていれば、検索は行わず、 単にそのコマンドが実行されます。 .It 変数 .Ev PATH に含まれる各エントリに対して、順にそのコマンドを検索します。 変数 .Ev PATH の値はコロンで区切られたエントリの列でなければなりません。 各エントリは、それぞれディレクトリ名一つに対応します。 カレントディレクトリは、 空のディレクトリ名を指定することで暗黙的に、 あるいは 1 個のピリオドを指定することで明示的に 指示することができます。 .El .Ss コマンドの終了ステータス 各コマンドは終了ステータスを持ち、それにより他のシェルコマンドの動作に 影響を与えることができます。基本的な考え方として、終了ステータス 0 は 通常の終了または成功を示します。0 以外の終了ステータスは失敗、エラーを 意味します。各コマンドのマニュアルにそれぞれの終了ステータスがどのよう な意味を持つかが記述されているはずです。組み込みコマンドと (実行された) 関数も終了ステータスを返します。 .Pp コマンドがシグナルにより終了 (terminate) させられた場合、 終了ステータスは 128 にシグナル番号を加えたものになります。 シグナル番号はヘッダファイル -.Aq Pa sys/signal.h +.In sys/signal.h に定義されています。 .Ss 複合コマンド (Complex Commands) 複合コマンドは、単純コマンドの組み合わせで作ります。 制御演算子または予約語と組み合わせることで、より大きな複合コマンドを生 成します。一般に、コマンドは以下のうちのいずれかです。 .Bl -item -offset indent .It 単純コマンド .It パイプライン .It リストまたは合成リスト (compound-list) .It 合成コマンド (compound command) .It 関数定義 .El .Pp 特に指定のない場合、コマンドの終了ステータスは最後に実行された 単純コマンドの終了ステータスとなります。 .Ss パイプライン パイプラインは、複数のコマンドを制御演算子 `|' によってつないだものです。 最後のコマンドを除くすべてのコマンドの標準出力は、次のコマンドの標準入力に 接続されます。 最後のコマンドの標準出力は、通常通り、シェルから受け継がれます。 .Pp パイプラインの形式は次のとおりです。 .Pp .Dl [!] command1 [ | command2 ...] .Pp command1 の標準出力は command2 の標準入力に接続されます。コマンドの標 準入出力がパイプラインによって割り当てられるのは、各コマンドに属する リダイレクト演算子で指定されたリダイレクトを処理する前のことだと考えて 下さい。 .Pp パイプラインがバックグラウンド (後述) でなければ、シェルはすべての コマンドが終了するのを待ちます。 .Pp パイプラインの直前に予約語 `!' が置かれなかった場合、終了ステータスは パイプラインの最後のコマンドの終了ステータスとなります。 `!' が前置された場合、終了ステータスはパイプラインの最後のコマンドの 終了ステータスの論理否定を取った値となります。 すなわち、最後のコマンドが 0 を返した場合、パイプラインの 終了ステータスは 1 に、最後のコマンドが 0 より大きな値を返した場合、 終了ステータスは 0 になります。 .Pp パイプラインによる標準入出力の接続はリダイレクトに先立って行われるため、 パイプラインの接続をリダイレクトによって修正することができます。たとえば、 .Pp .Dl $ command1 2>&1 | command2 .Pp .Ql command1 の標準出力と標準エラー出力の両方を .Ql command2 の標準入力に 接続します。 .Pp .Dq Li \&; または改行文字を終端として用いることにより、直前の AND-OR リスト ( .Sx 短絡リスト演算子 で後述) を順次実行します。 .Dq Li & は、直前の AND-OR リストを非同期に実行します。 .Pp 注: 他のいくつかのシェルと異なり、 .Nm ではパイプラインの各プロセスは起動した .Nm の子プロセスとなります。シェルの組み込みコマンドである ときは別です。その場合は現在のシェルで実行されますが、 環境に対する操作は影響を与えません。 .Ss バックグラウンドコマンド (&) コマンドが制御演算子がアンパサンド .Pq Li & で終了している場合、シェルはそのコマンドを 非同期に実行します。すなわち、シェルはそのコマンドの終了を待たずに、 次のコマンドの実行を開始します。 .Pp コマンドをバックグラウンドで実行させるための形式は以下のとおりです。 .Bd -literal -offset indent command1 & [command2 & ...] .Ed .Pp シェルが対話的でない場合、非同期コマンドの標準入力には /dev/null が 接続されます。 .Ss リスト (一般的な話) リストは 0 個またはそれ以上のコマンドを改行文字、セミコロン文字、アン パサンド文字 (&) で区切った列です。リストは、これら 3 つの記号のいずれかで 終了させることもできます。リスト中のコマンドは並べられた順に実行 されます。もし、コマンドに続けてアンパサンド文字が置かれている場合、 シェルはそのコマンドを起動したあと、すぐに次のコマンドの処理を開始します。 その他の場合、そのコマンドの終了を待ってから次のコマンドの処理を開始します。 .Ss 短絡リスト演算子 (Short-Circuit List Operators) .Dq Li && と .Dq Li || は AND-OR リスト演算子です。 .Dq Li && は最初のコマンド を実行し、もし最初のコマンドの終了ステータスが 0 ならば次のコマンドを 実行します。 .Dq Li || も同様ですが、最初のコマンドの終了ステータスが 0 でない場合に、次のコマンドを実行します。 .Dq Li && と .Dq Li || の優先順位は 同じです。 .Ss 制御構造 (if, while, for, case) .Ic if コマンドの文法は以下のとおりです。 .\" .\" XXX Use .Dl to work around broken handling of .Ic inside .Bd and .Ed . .\" .Dl Ic if Ar list .Dl Ic then Ar list .Dl [ Ic elif Ar list .Dl Ic then Ar list ] ... .Dl [ Ic else Ar list ] .Dl Ic fi .Pp .Ic while コマンドの文法は以下のとおりです。 .Dl Ic while Ar list .Dl Ic do Ar list .Dl Ic done .Pp 最初のリストの終了ステータスが 0 であるかぎり、2 つのリストを繰り返し 実行します。 .Ic until コマンドも同様に実行しますが、 単語 .Ic while の代わりに単語 .Ic until を使うことと、 最初のリストの終了ステータスが 0 になるまで、 2 つのリストを繰り返し実行することが異なります。 .Pp .Ic for コマンドの文法は以下のとおりです。 .Dl Ic for Ar variable Ic in Ar word ... .Dl Ic do Ar list .Dl Ic done .Pp 各 word は展開され、変数 variable に word を順に設定しながらリストを 繰り返し実行します。 .Ic do と .Ic done は .Dq Li { と .Dq Li } で置き換えることができます。 .Pp .Ic break と .Ic continue コマンドの文法は以下のとおりです。 .Dl Ic break Op Ar num .Dl Ic continue Op Ar num .Pp .Ic break は内側から .Ar num 個の .Ic for ループまたは .Ic while ループを終了します。 .Ic continue は内側から .Ar num 個のループの次の繰り返しに制御を移します。 .\" 上の文、原文では以下のようになっているが、the *num* innermost loop が .\" 正しいと思われる。実際の sh の動作もそうなっているようだ。 .\" --- 97/05/31 sakai@jp.freebsd.org ↓ .\" Continue continues with the next iteration of the innermost loop. これらのコマンドは組み込みコマンドとして実装されています。 .Pp .Ic case コマンドの文法は以下のとおりです。 .Dl Ic case Ar word Ic in .Dl pattern) list ;; .Dl ... .Dl Ic esac .Pp pattern は、1 つあるいは複数のパターン (後述の .Sx シェルパターン を参照のこと) を .Dq Li \&| で接続したものです。 .Ss 複数のコマンドのグループ化 コマンドは、以下のいずれかの方法によりグループ化することができます。 .Bd -literal -offset indent (list) .Ed .Pp または、 .Bd -literal -offset indent { list; } .Ed .Pp 最初の形式では、コマンドはサブシェル上で実行されます。 この組み込みコマンドは現在のシェルには影響を与えないことに注意してください。 2 つめの形式では新たなシェルを fork しないので、やや効率が良くなります。 このようにして複数コマンドをグループ化することで、 あたかも単一プログラムであるかのように、それらの出力をまとめて リダイレクトすることができます。 .Bd -literal -offset indent { echo -n "hello"; echo " world"; } > greeting .Ed .Ss 関数 関数定義の構文は以下のとおりです。 .Bd -literal -offset indent name ( ) command .Ed .Pp 関数定義は実行可能文の一種です。実行されると、名前 name の関数 が定義され、終了ステータスとして 0 を返します。command は 通常、 .Dq Li { と .Dq Li } で囲まれたリストです。 .Pp .Ic local コマンドを用いて関数に局所的な変数を宣言することができます。 これは関数定義中の最初の文で行わなければなりません。構文は次のとおりです。 .Bd -ragged -offset indent .Ic local .Op Ar variable ... .Op Ar - .Ed .Pp .Ic local コマンドは、組み込みコマンドとして実装されています。 .Pp 変数を局所変数にする場合、関数を呼び出した環境に同じ名前の変数があれば、 新しい局所変数は値と export、readonly フラグを引き継ぎます。もし同じ名前の 変数がなければ、局所変数は初期値を持ちません。シェルは動的スコープ を用います。すなわち、関数 .Em f に局所的な変数 .Em x を作成し、関数 .Em f から関数 .Em g を呼び出した場合、関数 .Em g 内部での変数 .Em x に対する操作は大域変数 .Em x ではなく、関数 .Em f で宣言された変数 .Em x への操作となります。 .Pp 特殊パラメータのうち局所宣言できるのは .Dq Li - だけです。 .Dq Li - を 局所宣言すると、関数内で set コマンドを用いてシェルオプションを 変更しても、関数が終了するとそれらのオプションは元の値に戻ります。 .Pp .Ic return コマンドの文法は以下のとおりです。 .Bd -ragged -offset indent .Ic return .Op Ar exitstatus .Ed .Pp .Ic return は現在実行中の関数を終了させます。 .Ic return は組み込みコマンドとして実装されています。 .Ss 変数とパラメータ シェルはパラメータの集合を管理しています。名前を持つパラメータを 変数と呼びます。シェルは、起動時にすべての環境変数をシェル変数に取り込みます。 新たな変数は、次の形式によって設定できます。 .Bd -literal -offset indent name=value .Ed .Pp ユーザが設定する変数は、アルファベット、数字、アンダスコア (_) のみ からなる名前を持つ必要があります。また、最初の文字が数字であっては いけません。 パラメータは、以下に示す数字または特殊記号により参照することもできます。 .Ss 位置パラメータ 位置パラメータは、0 より大の数字によって参照されるパラメータです。シェルは 位置パラメータの初期値としてシェルスクリプト名に続く引数を設定します。 組み込みコマンド .Ic set により再設定や消去ができます。 .Ss 特殊パラメータ 特殊パラメータは、以下に挙げる特殊文字のいずれかにより参照される パラメータです。各パラメータの値の説明を各文字の後ろに示します。 .Bl -hang .It Li * 位置パラメータ 1,2,... に展開されます。ダブルクォート文字列内部で展開 される場合、展開結果は各位置パラメータの間を変数 .Ev IFS の先頭の文字 ( .Ev IFS が設定されていない場合は .Aq 空白文字 ) で区切った単一の文字列になります。 .It Li @ 位置パラメータ 1,2,... に展開されます。ダブルクォート引用の内部で展開 される場合、各位置パラメータは別々の引数となります。 もし、位置パラメータが設定されていない場合には、 .Li @ の展開結果は 0 個の引数となります (ダブルクォート引用の内部であっても)。 すなわち、$1 が .Dq abc 、$2 が .Dq def ghi であった場合、 .Qq Li $@ は 次の 2 つの引数に展開されます。 .Bd -literal -offset indent "abc" "def ghi" .Ed .It Li # 位置パラメータの数に展開されます。 .It Li \&? 最後に実行したパイプラインの終了ステータスに展開されます。 .It Li - (ハイフン) 現在のオプションフラグ (1 文字オプション名をつないだ文字列) に展開されます。起動時に指定されたもの、組み込みコマンド set で指定した もの、シェルが暗黙に設定したもののすべてを含みます。 .It Li $ 起動されたシェルのプロセス ID に展開されます。 サブシェルも親シェルと同じ値を持ちます。 .It Li \&! 現在のシェルが最後にバックグラウンドで実行したコマンドのプロセス ID に 展開されます。パイプラインの場合、パイプラインの最後のコマンドの プロセス ID になります。 .It Li 0 (ゼロ) シェルの名前またはシェルスクリプト名に展開されます。 .El .Ss 単語展開 本節では、単語に対して適用されるさまざまな展開について説明します。あとで 述べるように、すべての展開がすべての単語に対して適用されるわけではありません。 .Pp 単一の単語に対して適用されたチルダ展開、パラメータ展開、コマンド置換、 数式展開、クォート削除の結果は単一のフィールドになります。単一の単語が 複数のフィールドに分割される可能性があるのは、フィールド分割または パス名展開の場合だけです。この規則の唯一の例外は、ダブルクォート中の パラメータ .Li @ の展開です (前述)。 .Pp 単語展開の順序は以下のとおりです。 .Bl -enum .It チルダ展開、パラメータ展開、コマンド置換、数式展開 (これらはすべて 同時に行われます) .It 変数 .Ev IFS の値が空でなければ、(1) の結果の各フィールドに対して フィールド分割が行われる .It パス名展開 ( .Fl f オプションが無効の場合) .It クォート削除 .El .Pp 文字 .Dq Li $ はパラメータ展開、コマンド置換、数式評価を行うきっかけになります。 .Ss チルダ展開 (ユーザのホームディレクトリ名への置換) 引用されていないチルダ文字 .Pq Li ~ で始まる単語は、チルダ展開の対象になります。 チルダ文字からスラッシュ文字 .Pq Li / または単語の終端までのすべての文字がユーザ名 とみなされ、そのユーザのホームディレクトリに置換されます。もしユーザ名が 省略された場合 (たとえば ~/foobar)、チルダ文字は変数 HOME の値 (現在のユーザのホームディレクトリ) に置換されます。 .Ss パラメータ展開 パラメータ展開の形式は以下のとおりです。 .Bd -literal -offset indent ${expression} .Ed .Pp ここで、expression は対応した .Dq Li } までのすべての文字です。対応する .Dq Li } を調べる際に、バックスラッシュ文字によりエスケープされたり、クォート文字に 狭まれた .Dq } や、数式展開に埋め込まれている文字や、コマンド置換や変数展開中に ある文字は調べる対象になりません。 .Pp パラメータ展開の形式のうちもっとも単純なものは以下のとおりです。 .Bd -literal -offset indent ${parameter} .Ed .Pp そのパラメータに値が存在する場合、その値に置き換えられます。 .Pp パラメータ名やシンボルを中括弧 ({}) で囲んでも構いません。この中括弧は、 数字 2 文字以上からなる位置パラメータの場合や、パラメータ名の直後に パラメータ名の一部であるとみなし得る文字が続く場合を除き、 省略可能です。ダブルクォート引用中のパラメータ展開は以下 のようになります。 .Bl -enum .It パラメータ展開を行った結果の単語に対しては、パス名展開は適用されません。 .It パラメータが特殊パラメータ .Li @ の場合を除き、フィールド分割は適用されません。 .El .Pp さらに、以下の形式を用いることにより、パラメータ展開の結果に修正を加える ことができます。 .Bl -tag -width indent .It Li ${parameter:-word} デフォルト値への置換: パラメータ parameter が設定されていないか空の値 を持つ場合、word を展開した結果に置換されます。さもなければ、パラメー タ parameter の値に置換されます。 .It Li ${parameter:=word} デフォルト値の代入: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果が parameter に代入されます。最終的にパラメータ parameter の値 に置換されます。位置パラメータや特殊パラメータは、この方法で代入すること はできません。 .It Li ${parameter:?[word]} 空か設定されていないときにエラーとする: パラメータ parameter が設定されていないか空の値を持つ場合、word を展開 した結果 (word が省略された場合にはパラメータが設定されていないことを表す デフォルトのメッセージ) が標準エラー出力に書き出され、 シェルは非 0 の終了ステータスで終了します。 それ以外の場合、パラメータ parameter の値に置換されます。対話的シェルの場合は 必ずしも終了しません。 .It Li ${parameter:+word} 代替値の使用: パラメータ parameter が設定されていないか空の値を持つ場合、空の値に 置換されます。さもなければ、word を展開した結果に置換されます。 .El .Pp 以上のパラメータ展開において、`:' を用いた場合はパラメータが設定されていない かまたは空の値であることが検査され、`:' を省略するとパラメータが 設定されていないことのみを検査します。 .Bl -tag -width indent .It Li ${#parameter} 文字列の長さ: パラメータの値の (文字列としての) 長さに置換されます。 .El .Pp 以下の 4 通りのパラメータ展開は部分文字列切り出し処理を行います。各場合 において、パターンは正規表現ではなく、パターンマッチ記法 ( .Sx シェルパターン の項を参照) が用いられます。パラメータが .Li * または .Li @ の場合、展開の結果 がどうなるかは規定しません (unspecified)。 パラメータ展開全体をダブルクォートで囲んでも パターンは引用されません。中括弧のなかで引用することにより パターンを引用することができます。 .Bl -tag -width indent .It Li ${parameter%word} 最短後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter%%word} 最長後置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の右から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .It Li ${parameter#word} 最短前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最短の部分を削除した文字列に 置換されます。 .It Li ${parameter##word} 最長前置パターンの削除: まず word が展開され、その結果をパターンとして扱います。 パラメータ parameter の左から、パターンに一致する最長の部分を削除した文字列に 置換されます。 .El .Ss コマンド置換 コマンド置換により、コマンド名自身をコマンドの出力で置き換えることができます。 コマンド置換は、以下のように、コマンド command を囲った場合、 .Bd -literal -offset indent $(command) .Ed .Pp またはバッククォートバージョン .Bd -literal -offset indent `command` .Ed .Pp とした場合に行われます。 シェルは、コマンド command をサブシェルの環境で実行し、command が標準出力 に出力したものから最後の改行文字を削除した結果で置換します。 最後以外の 改行は削除しません。ただし、フィールド分割の際に、 .Ev IFS の値や引用のされかたによっては、 ここで残った改行文字が結局は空白に置換されることもあります。 .Ss 数式展開 数式展開とは、数式を評価し、その値に置換する仕組みです。数式展開の形式は以下 のとおりです。 .Bd -literal -offset indent $((expression)) .Ed .Pp 数式 expression は、その中のダブルクォート文字が特別扱いを受けないという 点を除いては、ダブルクォート文字で囲まれている文字列と同様に扱われます。 シェルは expression 中のすべてのトークンにパラメータ展開、コマンド置換、 クォート削除を適用します。 .Pp 次にシェルはその結果を数式として扱い、その値に置換します。 .Ss 空白文字による分割 (フィールド分割) パラメータ展開、コマンド置換、数式展開のあと、シェルは展開結果を調べて、 ダブルクォートの外にある部分に対してフィールド分割を適用します。 その結果、複数のフィールドになる場合もあります。 .Pp シェルは、変数 .Ev IFS に設定されている文字それぞれ区切り文字とみなし、 パラメータ展開の結果、およびコマンド置換の結果をフィールドに分割します。 .Ss パス名展開 (ファイル名生成) .Fl f フラグが設定されていなければ、フィールド分割が行われたあと、ファイル名生成 が行われます。各単語は、スラッシュで区切られたパターンの列であるとみなさ れます。パス名展開処理において、単語は、条件を満たすファイル すべてのファイル名の列で置換されます。この各ファイル名は、単語の 各パターン部分を、そのパターンに一致する文字列に置換することで 生成されるものです。 これには 2 つの制限があります: まず、パターンはスラッシュを含む文字列には 一致しません。次に、パターンは、そのパターンがピリオドで始まらないかぎり、 ピリオドで始まる文字列に一致しません。 次節では、パス名展開と .Ic case コマンドで用いられるパターンについて説明します。 .Ss シェルパターン パターンは、通常の文字とメタキャラクタからなります。通常の文字は、 その文字そのものに一致します。 メタキャラクタは .Dq Li \&! , .Dq Li * , .Dq Li \&? , .Dq Li [ です。これらの文字を引用 すると、各々の特殊な意味を失います。コマンド置換や変数置換において、 ドル記号やバッククォート文字がダブルクォート文字の中にない場合には、 変数の値やコマンドの出力の中に、これらの特殊な文字が存在するかどうかが 調べられ、それらがあれば、メタキャラクタとして扱われます。 .Pp アスタリスク文字 .Pq Li * は、どのような文字列とも一致します。 クエスチョンマーク文字 .Pq Li \&? は、任意の文字 1 文字と一致します。 左大括弧 .Pq Li [ は文字クラスを開始します。 文字クラスの最後は右大括弧 .Pq Li \&] です。 .Dq Li \&] がない場合は、 .Dq Li [ は文字そのものに一致し、文字クラスの開始とは見なされません。文字 クラスは大括弧内に出現するすべての文字に一致します。 マイナス記号を用いれば、文字の範囲を指定することができます。 文字クラスの最初にエクスクラメーションマーク .Pq Li \&! を置くことで、 文字クラスの意味を反転させることができます。 .Pp 文字クラスに文字 .Dq Li \&] を含めるには、 .Dq Li \&] を文字クラスの最初 ( .Dq Li \&! を置く場合はそのあと) に置きます。 文字クラスに .Dq Li - を含めるときも同様で、 リストの最初もしくは最後に置きます。 .Ss シェル組み込みコマンド 本節では、別プロセスでは実行できない処理を行うために組み込まれている コマンドを列挙します。 さらに、組み込みバージョンの .Xr test 1 が効率を上げるために提供されています。 .Bl -tag -width indent .It Ic \&: 終了ステータス 0 (真) を返すヌルコマンドです。 .It Ic \&. Ar file 指定されたファイル file に記述されたコマンドがシェルに読み込まれ、 実行されます。 .Ar file に .Dq / 文字を含む場合、その通りに扱われます。 そうでなければ、シェルは .Ev PATH を使用して、ファイルを検索します。 .Ev PATH を使用しても見付からない場合、カレントディレクトリを検索します。 .It Ic alias Op Ar name ... .It Ic alias Op Ar name Ns = Ns Ar string ... .Ar name Ns = Ns Ar string が指定されている場合、シェルは名前 .Ar name を持つ値 .Ar string のエイリアスを定義します。単に .Dq name だけが指定された場合、 エイリアス .Dq name の値が表示されます。引数が指定されない場合、 .Ic alias は定義されているすべてのエイリアスの名前と値を表示します ( .Ic unalias も参照)。 エイリアスの値は適切にクォートされており、 シェルへ再入力するのに適しています。 .It Ic bg Op Ar job ... 指定されたジョブ (指定されなかった場合は現在のジョブ) を、 続けてバックグラウンドで実行させます。 .It Ic builtin Ar cmd Op Ar arg ... 指定された組み込みコマンド .Ar cmd を実行します。 シェル関数を同名の組み込みコマンドでオーバライドしたい場合に有用です。 .It Ic bind Oo Fl aeklrsv Oc Oo Ar key Oo Ar command Oc Oc 行編集機能のキーバインドを表示もしくは変更します。 このコマンドについては .Xr editrc 5 で説明されています。 .It Ic cd Oo Fl L | P Oc Op Ar directory 指定されたディレクトリ .Ar directory に移動します。 .Ar directory 無指定時は .Ev HOME で指定されるディレクトリに移動します。 .Ar directory が .Pa / , \&. , .Pa .. のいずれでも開始しない場合、指定された .Ar directory を .Ev CDPATH 変数中のディレクトリリストから検索します。 .Ev CDPATH が設定されていない場合、カレントディレクトリを検索します。 .Ar CDPATH の形式は .Ev PATH と同様です。対話的シェルでは、ユーザ が指定したディレクトリと異なる場所に移動した場合、 .Ic cd は、移動先のディレクトリ名を表示します。 これは、 .Ev CDPATH の機構が動作した場合と、シンボリックリンクを辿った場合に発生します。 .Pp .Fl P オプションが指定された場合、 .Pa .. は物理的に扱われ、シンボリックリンクは .Pa .. 部分が処理される前に解決されます。 .Fl L オプションが指定された場合は、 .Pa .. は論理的に扱われます。 こちらがデフォルトになっています。 .It Ic chdir .Ic cd 組み込みコマンドの別名です。 .It Ic command Oo Fl p Oc Op Ar utility Op Ar argument ... 指定された .Ar utility を単純コマンドとして実行します ( .Sx 単純コマンド セクションを参照)。 .Pp .Fl p オプションが指定された場合、コマンド検索は、 .Ev PATH のデフォルト値を用いて行われます。 これにより全ての標準ユーティリティを見つけることが保証されます。 .It Ic echo Oo Fl e | n Oc Op Ar string .Ar string の後に改行文字を付けて、標準出力に表示します。 .Bl -tag -width indent .It Fl n 最後の改行文字を抑制します。 .It Fl e C 風のバックスラッシュエスケープシーケンスを処理します。 .Ic echo は次の文字エスケープを理解します: .Bl -tag -width indent .It \ea 警告 (端末ベルを鳴らす) .It \eb バックスペース .It \ec 最後の改行文字を抑制します (改行文字が最後の文字でない場合、行が縮んでしまうという副作用があります) .It \ee ESC 文字 (ASCII 0x1b) .It \ef フォームフィード .It \en 改行 .It \er 復改 .It \et 水平タブ .It \ev 垂直タブ .It \e\e バックスラッシュ文字 .It \e0nnn (この 0 はゼロです) 8 進数値が nnn である文字 .El .Pp .Ar string がクォートで括られていない場合、 シェルからエスケープするためには、 バックスラッシュ自身をバックスラッシュでエスケープする必要があります。 例えば次の通りです: .Bd -literal -offset indent $ echo -e "a\evb" a b $ echo -e a\e\evb a b $ echo -e "a\e\eb" a\eb $ echo -e a\e\e\e\eb a\eb .Ed .El .Pp .Fl e と .Fl n オプションのうち、どちらか片方のみを指定できます。 .It Ic eval Ar string ... 指定されたすべての引数を空白で結合し、その結果を解析し直してから コマンドとして実行します。 .It Ic exec Op command Op arg ... .Ar commmand が省略されない場合、そのシェルプロセスは指定されたプログラムに 置き換えられます ( .Ar command は、シェル組み込みコマンドや関数ではない、本物の プログラムでなければなりません)。 .Ic exec コマンドにおけるリダイレクトは、 永久性を持つと見なされ、 .Ic exec コマンド完了後にも引き続き効力を持ちます。 .It Ic exit Op exitstatus シェルを終了します。 .Ar exitstatus が指定された場合、これはシェルの終了ステータスになります。 そうでない場合、直前に実行したコマンドの 終了ステータスがシェルの終了ステータスとなります。 .It Ic export Oo Fl p Oc Op Ar name ... それ以後にシェルから実行されるコマンドの環境に、指定された名前の変数が 含まれるようにします (変数のエクスポート)。 変数のエクスポートを取り消す唯一の方法は、変数を .Ic unset することです。 以下のように記述することで、エクスポートすると 同時に変数の値を設定することができます。 .Bd -literal -offset indent export name=value .Ed .Pp 引数を指定しない場合、すべてのエクスポートされている名前と値が表示されます。 .Fl p オプションが指定された場合、エクスポートされている変数は、一行毎に .Dq Ic export Ar name Ns = Ns Ar value という形式で表示されます。 これはシェルへ再入力するのに適しています。 .It Ic fc Oo Fl e Ar editor Oc Op Ar first Op Ar last .It Ic fc Fl l Oo Fl nr Oc Op Ar first Op Ar last .It Ic fc Fl s Oo Ar old Ns = Ns Ar new Oc Op Ar first .Ic fc 組み込みコマンドは、対話的シェルにそれ以前に入力されたコマンドの内容を、 表示、編集、再実行します。 .Bl -tag -width indent .It Fl e Ar editor 編集に際し、指定されたエディタ .Ar editor を使用します。 .Ar editor は変数 .Ev PATH を通して検索できるコマンド名です。 .Fl e が指定されなかった場合は、変数 .Ev FCEDIT の値が用いられます。 .Ev FCEDIT が設定されていないか空に設定されている場合は .Ev EDITORの値が用いられ、それも設定されていないか空ならば .Xr ed 1 が用いられます。 .It Fl l No (ell) (小文字のエル) エディタを起動せずに、コマンド履歴の内容を一覧出力します。 パラメータ first と last で指定した範囲のコマンドが順に (出力の順番は .Fl r オプションの影響を受けます) 出力されます。 各コマンドの出力の際にはコマンド番号が付加されます。 .It Fl n .Fl l で一覧出力する際にコマンド番号を付加しません。 .It Fl r コマンド一覧時 ( .Fl l オプション指定時) や編集時 ( .Fl l も .Fl s も指定されなかった場合) の順序を反転します。 .It Fl s エディタを起動せずにコマンドを再実行します。 .It Ar first .It Ar last 一覧出力や編集の対象となるコマンドを選択します。アクセス可能なコマンド の数は変数 .Ev HISTSIZE の値で決まります。 .Ar first または .Ar last 、または両方の値は、以下のいずれかの形式で指定します。 .Bl -tag -width indent .It Ar [+]num 正の数で、コマンド番号を指定します。コマンド番号は .Fl l オプションで表示させて調べることができます。 .It Ar -num 負の数は、 .Ar num 個だけ現在から遡ったコマンドを指定します。たとえば、 -1 は直前に実行されたコマンドを指定します。 .It Ar string 文字列 string は、過去に実行されたコマンドのうち、 その文字列から始まる最新のものを指定します。 もし .Fl s オプションが指定されて .Ar old=new が指定されていなければ、 最初のオペランドにイコール記号 を含めることはできません。 .El .El .Pp .Ic fc コマンドの実行にあたり、以下の環境変数の影響を受けます。 .Bl -tag -width indent .It Ev FCEDIT 使用するエディタ名 .It Ev HISTSIZE アクセス可能なコマンド数 .El .It Ic fg Op job 指定されたジョブ .Ar job または現在のジョブをフォアグラウンドに移動します。 .It Ic getopts Ar optstring Ar var POSIX に準拠した .Ic getopts コマンドです。 この .Ic getopts コマンドにより、以前の .Xr getopt 1 コマンドの必要性は減少しました。 最初の引数は文字の列です。各文字の後ろにはコロンをつけることができ、 そのオプションが引数をとることを指示します。 指定された変数に、解析され見つかったオプションが設定されます。 見つかったオプションの次の引数のインデックスはシェル変数 .Ev OPTIND に格納されます。 あるオプションが引数をとる場合、その引数はシェル変数 .Ev OPTARG に置かれます。 有効でないオプションに出くわすと、変数 .Ev var には .Dq Li \&? がセットされます。 getopts はオプション群の末尾に到達すると偽の値 (1) を返します。 .It Ic hash Oo Fl rv Oc Op Ar command ... シェルは、コマンドの位置を保持するハッシュテーブルを維持管理しています。 .Ic hash コマンドに引数が指定されなかった場合、このテーブルの内容が出力されます。 最後に .Ic cd コマンドが実行されてから参照されていない項目には アスタリスク文字 が表示されます。 この項目は無効になっているかもしれません。 .Pp 引数を指定した場合、 .Ic hash コマンドは指定した .Ar command をハッシュテーブルから削除し ( .Ar command が関数ではない場合)、その後でそのコマンドを検索します。 .Fl v オプションを指定した場合、 .Ic hash は発見したコマンドの位置を表示します。 .Fl r オプションを指定した場合、 .Ic hash は関数以外のすべてのエントリをハッシュテーブルから削除します。 .It Ic jobid Op Ar job ジョブ .Ar job 中の各プロセスのプロセス ID を表示します。引数 .Ar job が 省略された場合、現在のジョブに対して処理を行います。 .It Ic jobs Oo Fl ls Oc Op Ar job ... 指定されたジョブの情報を表示します。 .Ar job 引数が指定されなかった場合は、全てのジョブの情報を表示します。 情報には、ジョブ ID、ステータス、コマンド名が含まれます。 .Pp .Fl l オプションが指定された場合、各々のジョブの PID も表示されます。 .Fl s オプションが指定された場合、一行毎にジョブの PID のみが表示されます。 .It Ic pwd Op Fl L | P カレントディレクトリのパスを表示します。組み込みコマンド版は カレントディレクトリ名を覚えており、表示するときに再計算しないので、 組み込みコマンド版は同名のプログラムとは異なった表示をする場合があります。 このため処理は高速ですが、カレントディレクトリ の名前を変更した場合でも、組み込み版の .Xr pwd 1 は以前のディレクトリ名を表示し続けます。 .Pp .Fl P オプションが指定された場合、シンボリックリンクは解決されます。 .Fl L オプションが指定された場合、カレントディレクトリは シェルの表記で表示されます (シンボリックリンクは解決されません)。 こちらがデフォルトです。 .It Ic read Oo Fl p Ar prompt Oc Oo Fl t Ar timeout Oc Oo Fl er Oc Ar variable ... .Fl p オプションが指定され、かつ標準入力が端末の場合、 .Ar prompt をプロンプトとして表示します。 そして標準入力から 1 行入力します。行端の改行文字を削除し、行を前述の .Sx 空白文字による分割 (フィールド分割) の方法に従って分割し、各単語を、valiable... で指定する各変数に 順に代入します。 もし、指定された変数の数より分割された単語の数が多ければ、最後の変数に 残りの単語すべて ( .Ev IFS の文字を区切りにしてそれらも一緒に) が代入されます。 分割された単語の数より多くの変数が指定されていたなら、 余った変数には空文字列が設定されます。 .Pp .Fl r オプションが指定された場合を除き、バックスラッシュは特別に扱われます。 バックスラッシュ文字が改行文字の直前にある場合、 バックスラッシュ文字と改行文字は削除されます。 その他の文字の直前にバックスラッシュがある場合、バックスラッシュは削除され、 文字が .Ev IFS に含まれていても、 .Ev IFS の文字でないかのように扱われます。 .Pp .Fl t オプションが指定され、かつ入力がなされる前に .Ar timeout が経過すると、 .Ic read コマンドは値を割当てずに戻ります。 .Ar timeout 値の後にはオプションで .Dq s , .Dq m , .Dq h のいずれかの一文字 を付けることが出来、それぞれ秒・分・時間を陽に指定します。 どれも指定しない場合には .Dq s であるものとします。 .Pp .Fl e オプションは、古いスクリプトとの後方互換性のためだけにあります。 .It Ic readonly Oo Fl p Oc Op Ar name ... で指定された変数を読み出し専用とし、あとで値を変更したり unset した りすることができないようにします。以下のように記述することで、 変数を読み出し専用と宣言するのと同時に値を設定することも可能です。 .Bd -literal -offset indent readonly name=value .Ed .Pp 引数が指定されない場合、 .Ic readonly コマンドは、読み出し専用になっている変数の名前の一覧を表示します。 .Fl p オプションが指定された場合、読み出し専用になっている変数を、一行毎に .Dq Ic readonly Ar name Ns = Ns Ar value の形式で表示します。 これはシェルに再入力するのに適しています。 .It Ic set Oo Fl /+abCEefIimnpTuVvx Oc Oo Fl /+o Ar longname Oc Oo .Fl c Ar string Oc Op Fl - Ar arg ... .Ic set コマンドは 3 通りの異なった機能を持ちます。 .Bl -item .It 引数を指定しなかった場合、短かい形式でも長い .Dq Fl /+o Ar longname という形式であっても、 .Sx 引数リストの処理 の節で説明されているように、指定されたオプションの設定またはクリアを行います。 .It .Dq Fl - オプションが指定された場合、 .Ic set はシェルの位置パラメータを、引き続く引数で置き換えます。 .Dq Fl - オプションの後に引数が続かない場合、 すべての位置パラメータはクリアされ、 .Dq Li shift $# コマンドを実行するのと等価になります。 位置置換パラメータとして引数を指定するとき、 .Dq Fl - フラグは省略可能です。 これはお勧めできません。 なぜなら、最初の引数はマイナス記号 .Pq Li - またはプラス記号 .Pq Li + で開始するかもしれないからです。 これらは、 .Ic set コマンドが、オプションの有効化または無効化の要求であると解釈してしまいます。 .El .It Ic setvar Ar variable Ar value 変数 .Ar variable に値 .Ar value を代入します。( .Ic setvar は、関数内で、パラメータとして渡された名前を持つ 変数に値を代入するためのものです。 一般に、 .Ic setvar を使うよりも .Bd -literal -offset indent variable=value .Ed と書くほうが望ましいといえます。) .It Ic shift Op Ar n 位置パラメータを .Ar n 回シフトします。 .Ar n を指定しない場合 1 回シフトします。 1 回のシフトにより、$2 の値が $1 に、$3 の 値が $2 に代入されます (以下同様)。また、$# の値は 1 減少します。 位置パラメータがない場合、shift は何もしません。 .It Ic trap Oo Ar action Oc Ar signal ... シェルが指定されたシグナル .Ar signal を受けとったときに、 .Ar action を解析し実行するように設定します。 シグナルはシグナルの名前か番号で指定します。 さらに、シェル終了時に実行する動作を指定するために、擬似シグナル .Cm EXIT を使用可能です。 .Ar action は空文字列に したり、省略したりすることができます。空文字列の場合、指定されたシグナルは 無視され、省略した場合は、指定したシグナルを受けとったときデフォルトの処理を 行います。シェルがサブシェルを起動するとき、trap で指定された (が無視されていない) シグナルをデフォルトの動作に再設定します。 シェルが起動したときにすでに無視されるように設定されていたシグナルに対して .Ic trap コマンドを使用しても効果はありません。 .It Ic type Op Ar name ... 各 .Ar name をコマンドとして解釈し、コマンド検索の結果を出力します。出力さ れる結果は以下のものがあります。シェルのキーワード、エイリアス、シェル の組み込みコマンド、コマンド、痕跡つきエイリアス (tracked alias)、最後に not found (見つからず) があります。エイリアスについては、エイリアス展開 の結果が出力されます。コマンドと痕跡つきエイリアスについては、そのコマンドの 完全なパス名が印刷されます。 .It Ic ulimit Oo Fl HSabcdflmnstuv Oc Op Ar limit リソースのリミット値 (リミット値については .Xr getrlimit 2 参照) を設定あるいは表示します。 .Ar limit が指定されている場合、指定されたリソースが設定されます。 それ以外の場合、現在のリソース設定値が表示されます。 .Pp .Fl H が指定された場合、ハードリミットが設定ないし表示されます。 ハードリミット値を下げることは誰にでもできますが、 それを増やすことができるのはスーパユーザだけです。 オプション .Fl S を指定した場合はソフトリミットになります。 リミット値を表示する場合、 .Fl S か .Fl H のいずれか一方だけしか指定できません。 デフォルトでは、表示はソフトリミット、設定はハード/ソフトリミット両方です。 .Pp オプション .Fl a を指定すると .Ic ulimit コマンドは全リソースの設定値を表示します。 この場合、パラメータ .Ar limit は指定できません。 .Pp この他のオプションは、表示あるいは設定するリソースの種類を指定するものです。 これらは互いに排他的です。 .Bl -tag -width indent .It Fl b Ar sbsize ソケットバッファサイズの最大値。バイト単位。 .It Fl c Ar coredumpsize コアダンプファイルの最大サイズ。512 バイトのブロック単位。 .It Fl d Ar datasize プロセスのデータセグメントの最大サイズ。キロバイト単位。 .It Fl f Ar filesize ファイルの最大サイズ。512 バイトブロック単位。 .It Fl l Ar lockedmem プロセスがロックできるメモリサイズの最大値。キロバイト単位。 .It Fl m Ar memoryuse プロセスの常駐セットサイズの最大値。キロバイト単位。 .It Fl n Ar nofiles あるプロセスがオープンできるファイル記述子の最大数。 .It Fl s Ar stacksize スタックセグメントサイズの最大値。キロバイト単位。 .It Fl t Ar time 各プロセスで消費できる CPU 時間の最大値。秒単位。 .It Fl u Ar userproc このユーザ ID で同時に走らせうる最大プロセス数。 .It Fl v Ar virtualmem 1 個のプロセスの最大プロセスサイズ。キロバイト単位。 .El .It Ic umask Op Ar mask ファイル作成マスクの値 ( .Xr umask 2 を参照) を、 .Ar mask で指定された 8 進数の値に設定します。引数が 省略された場合、現在のマスクの値が表示されます。 .It Ic unalias Oo Fl a Oc Op Ar name .Ar name が指定された場合、指定された名前のエイリアスを削除します。 .Fl a オプションが指定された場合、すべてのエイリアスを削除します。 .It Ic unset Oo Fl fv Oc Ar name ... 指定された変数または関数を unset し、エクスポートされていない状態にします。 .Fl v オプションが指定されるか、オプションが何も指定されなかった場合、 .Ar name 引数は変数名として扱われます。 .Fl f オプションが指定された場合、 .Ar name 引数は関数名として扱われます。 .It Ic wait Op Ar job 指定されたジョブ .Ar job が終了するのを待ち、ジョブ内の最後のプロセスの 終了ステータスを返します。引数が省略された場合、すべてのジョブが終了する まで待ち、終了ステータス 0 を返します。 .El .Ss コマンド行編集 .Nm が端末から対話的に実行されている場合、現在入力中のコマンドおよび コマンド履歴 ( .Sx 組み込みコマンド の .Ic fc 参照) を vi モードのコマンド行編集機能 により編集することができます。 このモードでは、vi のマニュアルに示されているコマンドのサブセットを用います。 コマンド .Dq Li set -o vi (または .Dq Li set -V ) により vi モードが有効になり、 .Nm は vi の挿入モードに移行します。 vi モード中では、 挿入モードとコマンドモードの両方を自由に切り替えることが可能です。 vi モードは vi と同様であり、 .Aq ESC キー によりコマンドモードに移行し、コマンドモードで .Aq return キーを叩くことで、 行の内容がシェルに渡されます。 .Pp 同様に、コマンド .Dq Li set -o emacs により emacs 風のコマンド行編集機能の サブセットを使うことができるようになります。 .Sh 関連項目 .Xr builtin 1 , .Xr echo 1 , .Xr expr 1 , .Xr pwd 1 , .Xr test 1 .Sh 歴史 .Nm コマンドは、 .At v1 で登場しました。 .\" -Amended by N.Kumagai 97.12.30 diff --git a/ja_JP.eucJP/man/man1/sort.1 b/ja_JP.eucJP/man/man1/sort.1 index 879f6b99ff..d1a6021dc1 100644 --- a/ja_JP.eucJP/man/man1/sort.1 +++ b/ja_JP.eucJP/man/man1/sort.1 @@ -1,115 +1,115 @@ .\" $FreeBSD$ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.25. -.TH SORT "1" "February 2002" "sort (textutils) 2.0.21" "User Commands" +.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.28. +.TH SORT "1" "July 2002" "sort (textutils) 2.1" "User Commands" .SH 名称 sort \- テキストファイルを行でソートする .SH 書式 .B sort [\fIOPTION\fR]... [\fIFILE\fR]... .SH 解説 .\" Add any additional description here .PP すべての FILE を結合したものをソートし、標準出力に書き込みます。 .PP 順番を指定するオプションは以下です: .PP 長い形式のオプションに必要な引数は、短い形式のオプションでも必要です。 .HP \fB\-b\fR, \fB\-\-ignore\-leading\-blanks\fR 先頭にある空白を無視します。 .TP \fB\-d\fR, \fB\-\-dictionary\-order\fR 空白とアルファベット、数字以外を無視します。 .TP \fB\-f\fR, \fB\-\-ignore\-case\fR 小文字を大文字に直します。 .TP \fB\-g\fR, \fB\-\-general\-numeric\-sort\fR 一般的な数値による比較をします。 .TP \fB\-i\fR, \fB\-\-ignore\-nonprinting\fR 印字可能文字以外を無視します。 .TP \fB\-M\fR, \fB\-\-month\-sort\fR (不明) < `JAN' < ... < `DEC' のように比較します。 .TP \fB\-n\fR, \fB\-\-numeric\-sort\fR 数字列として比較します。 .TP \fB\-r\fR, \fB\-\-reverse\fR 比較結果を逆順にします。 .PP その他のオプション: .TP \fB\-c\fR, \fB\-\-check\fR 入力がソートされているかチェックします。ソートしません。 .TP \fB\-k\fR, \fB\-\-key\fR=\fIPOS1[\fR,POS2] キーを POS1 から開始し、POS2 までとします (1 オリジン)。 .TP \fB\-m\fR, \fB\-\-merge\fR ソート済みのファイルをマージします。ソートしません。 .TP \fB\-o\fR, \fB\-\-output\fR=\fIFILE\fR 結果を、標準出力ではなく FILE に書き込みます。 .TP \fB\-s\fR, \fB\-\-stable\fR 最終手段の比較を無効にして、安定したソートを行います。 .TP \fB\-S\fR, \fB\-\-buffer\-size\fR=\fISIZE\fR メインメモリのバッファを SIZE にします。 .HP \fB\-t\fR, \fB\-\-field\-separator\fR=\fISEP\fR 非空白文字から空白文字への変わり目ではなく、SEP を使用します。 .TP \fB\-T\fR, \fB\-\-temporary\-directory\fR=\fIDIR\fR 一時ディレクトリとして $TMPDIR や /tmp ではなく DIR を使用します。 複数のオプション指定によって、複数のディレクトリを指定します。 .TP \fB\-u\fR, \fB\-\-unique\fR \fB\-c\fR が指定された場合、厳密な順序のチェックをします。 それ以外の場合、等しい連の最初の行のみ出力します。 .TP \fB\-z\fR, \fB\-\-zero\-terminated\fR 行を、改行ではなく 0 のバイトで終了します。 .TP \fB\-\-help\fR このヘルプを表示し、終了します。 .TP \fB\-\-version\fR バージョン情報を出力し、終了します。 .PP POS は F[.C][OPTS] という形式です。 ここで F はフィールド番号で、C はフィールド内の文字位置です。 OPT は、1 つ以上の 1 文字順序オプションです。 これは、このキーに対して、グローバルな順序オプションを上書きします。 キーの指定がない場合、1 行すべてがキーとなります。 .PP SIZE には、以下の乗法的な接尾辞が続いても構いません: % メモリの 1% , b 1, K 1024 (デフォルト), 以下同様に M, G, T, P, E, Z, Y。 .PP FILE の指定がない場合や FILE が - の場合は、標準入力を読み込みます。 .PP *** 警告 *** 環境によって指定されるロケールは、ソートの順序に影響を及ぼします。 生のバイトの値を用いる伝統的なソート順序にするには、 LC_ALL=C を設定してください。 .SH 作者 Mike Haertel と Paul Eggert によって書かれました。 .SH バグレポート バグは に報告してください。 .SH COPYRIGHT Copyright \(co 2002 Free Software Foundation, Inc. .br This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .SH 関連項目 .B sort の完全な文書は Texinfo マニュアルとして保守されています。 もしあなたのサイトに .B info プログラムと .B sort プログラムが正しくインストールされていれば、コマンド .IP .B info sort .PP で完全なマニュアルを見ることができるはずです。 diff --git a/ja_JP.eucJP/man/man1/su.1 b/ja_JP.eucJP/man/man1/su.1 index 3d5ba477b8..e96eb4fdec 100644 --- a/ja_JP.eucJP/man/man1/su.1 +++ b/ja_JP.eucJP/man/man1/su.1 @@ -1,226 +1,231 @@ .\" Copyright (c) 1988, 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)su.1 8.2 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/su/su.1,v 1.29 2003/06/08 13:51:40 charnier Exp % +.\" %FreeBSD: src/usr.bin/su/su.1,v 1.30 2003/09/28 17:54:48 kensmith Exp % .\" $FreeBSD$ .\" .Dd April 18, 1994 .Dt SU 1 .Os .Sh 名称 .Nm su .Nd 一時的に他のユーザになりかわる .Sh 書式 .Nm .Op Fl .Op Fl flms .Op Fl c Ar class .Op Ar login Op Ar args .Sh 解説 .Nm ユーティリティは PAM 経由で適切なユーザ資格を要求し、 そのユーザ ID に切り替えます (デフォルトユーザはスーパユーザです)。 その後シェルが実行されます。 .Pp すべてのポリシの設定には PAM が使用されます。 .Pp デフォルトでは、 .Ev USER , .Ev HOME , .Ev SHELL 以外の環境変数は引き継がれます。 .Ev HOME と .Ev SHELL はターゲットとなるログインのデフォルト値になります。 .Ev USER は、ターゲットログインのユーザ ID が 0 以外であれば、ターゲットログイ ンのものがセットされます。0 の場合は変更されません。実行されるシェルは ターゲットログインのログインシェルです。これは .Nm の伝統的なふるまいです。 オリジナルユーザのログインクラス ( .Xr login.conf 5 参照) の資源制約とセッション優先度も通常保たれます。 例外はターゲットログインがユーザ ID 0 の場合です。 .Pp オプションとしては、以下のものがあります: .Bl -tag -width Ds .It Fl f シェルとして .Xr csh 1 が実行される場合、 .Dq Pa .cshrc ファイルを読み込みません。 .It Fl l 通常にログインした場合と同様になるように環境変数が設定されます。 すなわち、環境変数は .Ev HOME , .Ev SHELL , .Ev PATH , .Ev TERM , .Ev USER 以外は捨てられます。 .Ev HOME と .Ev SHELL は上記のように変更されます。 .Ev USER はターゲットログインの値になります。 .Ev PATH は .Dq Pa /bin:/usr/bin になります。 .Ev TERM は、あなたの現在の環境変数の値になります。 ターゲットログインのクラスにより、 ログインクラスケーパビリティデータベースに基づき、 環境変数が設定もしくは変更されることがあります。 実行されるシェルはターゲット ログインのログインシェルになり、 ターゲットログインのホームディレクトリに移動します。 資源制約とセッション優先度は、 ターゲットアカウントのログインクラスのものに変更されます。 .It Fl (文字無し) .Fl l と同じです。 .It Fl m 環境変数は変化しません。 実行されるシェルは自分のログインシェルで、ディレクトリの移動も行われません。 セキュリティの用心として、もしターゲットユーザのシェルが 非標準シェル ( .Xr getusershell 3 で定義される) であったり、呼出側の実ユーザ ID が 0 でなければ、 .Nm は失敗します。 .It Fl s ユーザの資格の設定の一環として、 MAC ラベルをユーザのデフォルトラベルへ設定します。 起動したプロセスの MAC ラベルが、 ユーザのデフォルト MAC ラベルへ遷移するには不十分である場合、 MAC ラベルの設定は失敗するかもしれません。 ラベルの設定ができない場合、 .Nm は失敗します。 .It Fl c Ar class 指定されたログインクラスの設定を使用します。 スーパユーザのみが使用を許されます。 .El .Pp .Fl l (または .Fl ) と .Fl m は、同時に指定することはできません。最後に指定したものが優先されます。 .Pp オプションの .Ar args がコマンドラインに指定されると、 それらはターゲットログインのログインシェルに引き渡されます。 +ターゲットログイン名より前のコマンドライン引数はすべて +.Nm +自身によって処理され、 +ターゲットログイン名より後のコマンドライン引数はすべて +ログインシェルに渡されることに注意してください。 .Pp デフォルトでは (設定がされていなければ) スーパユーザのプロンプトは .Dq Sy \&# に設定されます。 .Sh 関連ファイル .Bl -tag -width /etc/pam.conf -compact .It Pa /etc/pam.conf .Nm は PAM サポート付きで設定されています。 .Pa /etc/pam.conf エントリをサービス名 .Dq su で使用します。 .El .Sh 関連項目 .Xr csh 1 , .Xr sh 1 , .Xr group 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr environ 7 , .Xr pam 8 .Sh 環境変数 .Nm で利用される環境変数は以下の通りです: .Bl -tag -width HOME .It Ev HOME 上記で示した書き換えがない限り、 実ユーザ ID のデフォルトのホームディレクトリです。 .It Ev PATH 上記で示した書き換えがない限り、実ユーザ ID のデフォルトのサーチパスで す。 .It Ev TERM なり代わる人が所有している端末のターミナルタイプです。 .It Ev USER ユーザ ID が 0 (root) 以外の場合は、ユーザ ID は常に .Nm 後の effective ID (ターゲットとなるユーザ ID) です。 .El .Sh 使用例 .Bl -tag -width 5n -compact .It Li "su man -c catman" コマンド .Li catman をユーザ .Li man で実行します。 あなたの実 UID が 0 でない場合は、man のパスワードを尋ねられます。 .It Li "su man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'" 上と同様ですが、コマンドが複数の語から構成されています。 .Fl c オプションをシェルに渡すためにクォートしています (ほとんどのシェルでは .Fl c への引数が単一語であると期待します)。 .It Li "su -c staff man -c 'catman /usr/share/man /usr/local/man /usr/X11R6/man'" 上と同様ですが、ログインクラス .Dq staff の資源制限にてターゲットコマンドを実行します。 注: この例では、最初の .Fl c オプションは .Nm に適用され、2 番目のものは起動されるシェルの引数となります。 .It Li "su -l foo" ユーザ foo のログインをシミュレートします。 .It Li "su - foo" 上と同じです。 .It Li "su - " rootのログインをシミュレートします。 .El .Sh 歴史 .Nm コマンドは .At v1 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/symorder.1 b/ja_JP.eucJP/man/man1/symorder.1 deleted file mode 100644 index 4d80c39348..0000000000 --- a/ja_JP.eucJP/man/man1/symorder.1 +++ /dev/null @@ -1,97 +0,0 @@ -.\" Copyright (c) 1980, 1990 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. -.\" -.\" @(#)symorder.1 6.5 (Berkeley) 4/22/91 -.\" %FreeBSD: src/usr.bin/symorder/symorder.1,v 1.15 2003/06/08 14:35:11 charnier Exp % -.\" -.\" $FreeBSD$ -.\" -.Dd April 22, 1991 -.Dt SYMORDER 1 -.Os -.Sh 名称 -.Nm symorder -.Nd 名前のリストを並べ替える -.Sh 書式 -.Nm -.Op Fl c -.Op Fl m -.Op Fl t -.Op Fl x Ar excludelist -.Ar symlist file -.Sh 解説 -.Ar symlist -ファイルは、 -.Ar file -中に見付かるシンボルのリストを、一行当たり 1 シンボル、含んでいます。 -.Pp -シンボル表 -.Ar file -は適切に更新されます。シンボルは -.Ar symlist -から読み込まれ、与えられた順番で表の始めから並べられます。 -.Pp -次のオプションが使用可能です: -.Bl -tag -width indent -.It Fl c -.Ar symlist -には含まれない全てのシンボルを、このファイルローカルとします。 -.It Fl t -シンボル表を -.Ar symlist -に並んでいるシンボルに制限します。 -.It Fl x Ar excludelist -シンボル表から -.Ar excludelist -に並んでいるシンボルを除きます。 -.It Fl m -いくつかのシンボルが足りなくても、状態 0 で終了します。 -.El -.Pp -このプログラムは、特に -.Pa /boot/kernel/kernel -からシンボルを得るためのオーバヘッドを減らすように、 -設計されています。 -.Sh 診断 -.Nm -は成功した場合 0 で終了します。 -.Ar symlist -ファイル中のシンボルがシンボル表に見付からない場合は 1 で終了し、 -エラーが起こった場合は 1 より大きな数で終了します。 -.Sh 関連項目 -.Xr nm 1 , -.Xr strip 1 , -.Xr nlist 3 -.Sh 歴史 -.Nm -ユーティリティは -.Bx 3.0 -から導入されました。 diff --git a/ja_JP.eucJP/man/man1/tcopy.1 b/ja_JP.eucJP/man/man1/tcopy.1 index 416988cb49..fec96d15bc 100644 --- a/ja_JP.eucJP/man/man1/tcopy.1 +++ b/ja_JP.eucJP/man/man1/tcopy.1 @@ -1,114 +1,114 @@ .\" Copyright (c) 1985, 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that 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. .\" .\" @(#)tcopy.1 8.2 (Berkeley) 4/17/94 -.\" %FreeBSD: src/usr.bin/tcopy/tcopy.1,v 1.14 2003/06/08 14:36:22 charnier Exp % +.\" %FreeBSD: src/usr.bin/tcopy/tcopy.1,v 1.15 2003/09/05 15:28:09 roam Exp % .\" $FreeBSD$ .\" .Dd April 17, 1994 .Dt TCOPY 1 .Os .Sh 名称 .Nm tcopy .Nd 磁気テープのコピー、ベリファイを行う .Sh 書式 .Nm .Op Fl cvx .Op Fl s Ar maxblk .Oo Ar src Op Ar dest .Oc .Sh 解説 .Nm ユーティリティは、磁気テープのコピーのためのプログラムです。 記録したデータの終わりに 2 つのテープマークがあるような 磁気テープを想定しています。 ソーステープ (デフォルトでは -.Ar /dev/rsa0 ) +.Ar /dev/sa0 ) だけが指定された場合は、 .Nm ユーティリティは、 レコードサイズとテープのファイルに関する情報を表示します。 ディスティネーションが指定された場合は、ソーステープがコピーされます。 ディスティネーションテープのブロッキングはソーステープと同じになります。 テープをコピーすると、サイズを表示する場合と同様の表示が得られます。 .Pp オプションには次のものがあります。 .Bl -tag -width s_maxblk .It Fl c .Ar src から .Ar dest へコピーした後、両方のテープが同一であることを確認するためベリファイをします。 .It Fl s Ar maxblk ブロックサイズの最大値を .Ar maxblk で指定した値にします。 .It Fl v .Ar src と .Ar dest の両方のテープが同一であることを確認するためベリファイのみを行ないます。 .It Fl x 標準出力へ全メッセージを出力します。 このオプションは .Ar dest が .Pa /dev/stdout の時に役に立ちます。 .El .Sh 関連項目 .Xr mtio 4 .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 .Sh バグ .Bl -item .It テープイメージをファイルへ書き込むと、生データ程は保たれません。 ブロックサイズとテープの EOF マークは失われます。 これらは、テープからテープへのコピーでは保たれます。 .It EOD は、間にデータを持たない 2 個の連続した EOF マークで、判定されます。 古いシステムには、 テープファイル間に、典型的には 3 個の EOF を書き込むものがあります。 この場合、 .Nm ユーティリティは誤ってしまい、早期にテープコピーを停止してしまいます。 .It コピーとベリファイのオプション \-c を使用すると、 .Nm は開始時にテープを巻戻しません。 書き込み後、ベリファイ前に、巻き戻しされます。 BOT から開始していない場合、 意図したデータに対する比較にはならないかもしれません。 .El diff --git a/ja_JP.eucJP/man/man1/tftp.1 b/ja_JP.eucJP/man/man1/tftp.1 index 66c0ce5d96..6a1133294b 100644 --- a/ja_JP.eucJP/man/man1/tftp.1 +++ b/ja_JP.eucJP/man/man1/tftp.1 @@ -1,180 +1,187 @@ .\" Copyright (c) 1990, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)tftp.1 8.2 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/tftp/tftp.1,v 1.14 2002/11/26 17:33:36 ru Exp % +.\" %FreeBSD: src/usr.bin/tftp/tftp.1,v 1.16 2003/10/01 21:01:14 simon Exp % .\" $FreeBSD$ .\" .Dd April 18, 1994 .Dt TFTP 1 .Os .Sh 名称 .Nm tftp .Nd 簡単なファイル転送プログラム .Sh 書式 .Nm -.Op Ar host +.Op Ar host Op Ar port .Sh 解説 .Nm ユーティリティは、インターネット .Tn TFTP (Trivial File Transfer Protocol) を用いて、リモートマシンとの間の ファイル転送を行なうためのユーザインタフェースです。 リモートマシン名 .Ar host は、 .Nm 起動時にコマンドラインで指定することが可能です。この場合、 .Ar host はファイル転送を行なう際のデフォルトのホストとして使われます。 (以下の .Cm connect コマンドを参照のこと)。 .Sh コマンド .Nm 起動後、コマンド入力を促すプロンプト .Dq Li tftp> が表示されます。この状態で使用できるコマン ドは以下の通りです。 .Pp .Bl -tag -width verbose -compact .It Cm \&? Ar command-name ... ヘルプメッセージを出力します。 .Pp .It Cm ascii ``mode ascii'' の略です。 .Pp .It Cm binary ``mode binary'' の略です。 .Pp -.It Cm connect Ar host-name Op Ar port +.It Cm connect Ar host Op Ar port ファイル転送を行なう .Ar host を(必要あれば .Ar port 番号も同時に) 設定します。 なお、 .Tn TFTP プロトコルは、 .Tn FTP プロトコルと違い、無通信状態においてはホスト間の コネクションを保持しないことに注意してください。 つまり、 .Cm connect コマンドはホスト 間のコネクションを確立するのではなく、実際には転送を行なうホストを 記憶するのに使用されます。 使用者は .Cm connect コマンドを使用する必要はなく、 .Cm get もしくは .Cm put コマンドを使用する時にリモートホストを指定することができます。 .Pp -.It Cm get Ar filename -.It Cm get Ar remotename localname -.It Cm get Ar file1 file2 ... fileN -指定された形式でファイルを取得します。転送元の指定方法には 2 通りあります。 +.It Cm get Oo Ar host : Oc Ns Ar file Op Ar localname +.It Cm get Xo +.Oo Ar host1 : Oc Ns Ar file1 +.Oo Ar host2 : Oc Ns Ar file2 ... +.Oo Ar hostN : Oc Ns Ar fileN +.Xc +リモートホストから 1 個以上のファイルを取得します。 .Ar host -がすでに指定されている場合、リモートホスト上のファイル名を指定し -ます。もしくは -.Ar hosts Ns : Ns Ar filename -のようにリモートマシンとファイル名の両者を指 -定します。もし後者の形式が使用される場合、最後に指定されたリモートホスト名が -以後のファイル転送の対象ホストとなります。 +引数を使用すると、将来の転送において +.Ar host +がデフォルトで使用されます。 +.Ar localname +が指定されると、ファイルはローカルには +.Ar localname +という名前で保存されます。 +そうでない場合には、元のファイル名が使用されます。 +同時に 2 個のファイルをダウンロードできないことに注意してください。 +同時に 1 個、3個、3 個以上のいずれかのみが可能です。 +.Pp +ホストに IPv6 数値アドレスを指定するには、 +.Dq Li [3ffe:2900:e00c:ffee::1234] : Ns Ar file +のように角括弧で括り、IPv6 アドレスの区切りのコロンと +ホストとファイル名の区切りのコロンとが区別できるようにしてください。 .Pp .It Cm mode Ar transfer-mode 転送モードを設定します。転送モードは .Em ascii と .Em binary の 2 通りがあります。デフォルトは .Em ascii となります。 .Pp -.It Cm put Ar file -.It Cm put Ar localfile remotefile -.It Cm put Ar file1 file2 ... fileN remote-directory -指定されたファイルまたはディレクトリをリモートホストに転送します。 -転送先の指定方法は 2 通りあります。 -.Ar host -がすでに -指定されている場合、リモートホスト上に作成されるファイル名を指定します。もしく -は -.Ar hosts Ns : Ns Ar filename -のようにリモートホストとファイル名の両者を指定します。後者 -の形式が使用される場合、最後に指定されたリモートホスト名が以後のファイル転送の -対象ホストとなります。また、ディレクトリを指定してリモートへのファイル転送を行 -なう場合、リモートホストは +.It Cm put Ar file Op Oo Ar host : Oc Ns Ar remotename +.It Cm put Ar file1 file2 ... fileN Op Oo Ar host : Oc Ns Ar remote-directory +リモートホストへ 1 個のファイルもしくはファイル集合を転送します。 +.Ar remotename +が指定されると、リモートで保存されるファイル名は +.Ar remotename +になります。 +そうでない場合には、元のファイル名が使用されます。 +.Ar remote-directory +引数が使用されると、リモートホストは .Ux マシンとみなされます。 -IPv6 数値アドレスを -.Ar hosts -に指定する必要がある場合、コロンの区別ができるように、 -.Bo Ar hosts Bc Ns : Ns Ar filename -のように角括弧で括ってください。 +.Ar host +に IPv6 数値アドレスを指定するには、 +.Cm get +コマンドの例を参照してください。 .Pp .It Cm quit .Nm を終了します。EOF (^D) を入力した場合も同様です。 .Pp .It Cm rexmt Ar retransmission-timeout パケット毎の再送タイムアウト時間を秒単位で設定します。 .Pp .It Cm status 現在の tftp の状態を表示します。 .Pp .It Cm timeout Ar total-transmission-timeout 全体の転送タイムアウト時間を、秒単位で設定します。 .Pp .It Cm trace トグル動作でパケットトレース機能の ON/OFF を設定します。 .Pp .It Cm verbose トグル動作でバーボーズモードの ON/OFF を設定します。 .El .Sh バグ .Tn TFTP プロトコルには、ユーザ認証機構がないために、リモートマシン上のファイルには 何らかの種類のアクセス制限が生じることがあります。それらに関してはいろいろな例 があるため、ここには記述しません。 .Pp 33488896 オクテット (65535 ブロック) を越えるファイルは、 クライアントとサーバがブロックサイズのネゴシエーション (RFC1783) を サポートしていなければ、転送不可能です。 .Sh 歴史 .Nm コマンドは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man1/tip.1 b/ja_JP.eucJP/man/man1/tip.1 index f1d6758189..34850e4fc5 100644 --- a/ja_JP.eucJP/man/man1/tip.1 +++ b/ja_JP.eucJP/man/man1/tip.1 @@ -1,618 +1,618 @@ .\" $OpenBSD: tip.1,v 1.19 2001/09/23 06:15:30 pvalchev Exp $ .\" $NetBSD: tip.1,v 1.7 1994/12/08 09:31:05 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. .\" .\" @(#)tip.1 8.4 (Berkeley) 4/18/94 -.\" %FreeBSD: src/usr.bin/tip/tip/tip.1,v 1.21 2002/12/24 13:41:47 ru Exp % +.\" %FreeBSD: src/usr.bin/tip/tip/tip.1,v 1.22 2003/09/06 18:36:51 hmp Exp % .\" $FreeBSD$ .\" .Dd September 9, 2001 .Dt TIP 1 .Os .Sh 名称 .Nm tip , .Nm cu .Nd リモートシステムとの接続を行なう .Sh 書式 .Nm .Op Fl nv .Op Fl Ar speed .Op Ar system-name .Nm cu .Op Fl ehot .Op Fl a Ar acu .Op Fl l Ar line .Op Fl s Ar speed .Op Fl Ar # .Op Ar phone-number .Sh 解説 .Nm および .Nm cu のユーティリティは、他のマシンとの間に全二重のコネクションを確立し、 リモートマシンへ直接ログインしてみせます。 言うまでもないことですが、コネクションを張りたいマシンに対しては、 ログインアカウント (かそれに相当するもの) がなければなりません。 好まれるインタフェースは .Nm です。 .Nm cu インタフェースは、 .At v7 の .Dq call Ux コマンドから離れられない方々のために含まれています。 本マニュアルページは .Nm のみを記述します。 .Pp 以下のオプションが使用可能です: .Bl -tag -width ".Fl s Ar speed" .It Fl a Ar acu acu を設定します。 .It Fl l Ar line .Nm cu では、使用する回線を指定します。 .Pa tty00 や .Pa /dev/tty00 のどちらの形式も許されます。 .It Fl n エスケープ無し (チルダの無効化)。 .It Fl s Ar speed .Nm cu では、接続速度を設定します。 デフォルトは 9600 です。 .It Fl v 冗長モードを設定します。 .El .Pp .Ar speed が指定された場合、使用されるシステム記述で指定されたボーレートに優先します。 .Pp .Ar speed も .Ar system-name も指定されない場合、 .Ar system-name は .Ev HOST 環境変数の値に設定されます。 .Pp .Ar speed が指定されたものの .Ar system-name が指定されない場合、 .Dq Li tip に .Ar speed を追加した値に .Ar system-name を設定します。 例えば .Nm Fl 1200 は .Ar system-name を .Dq Li tip1200 に設定します。 .Pp 入力された文字は通常は直接リモートマシンに転送されます (それは同様にエコーされます)。 行頭にチルダ文字 .Pq Ql ~ が入力された場合には、これはエスケープ文字として 働きます; 以下の組み合わせが認識されます: .Bl -tag -width indent .It Xo .Ic ~^D または .Ic ~. .Xc コネクションを切断し、プログラムを終了します (リモートマシンにはログインしたままでいることもできます)。 .It Ic ~c Op Ar name ローカルのカレントディレクトリを .Ar name で指定したものに変更します (引数が指定されない場合には、ホームディレクトリに移動します)。 .It Ic ~! シェルを起動します (シェルを終了すると、 .Nm に戻ります)。 .It Ic ~> ローカルマシンのファイルをリモートマシンにコピーします。 .Nm ユーティリティは、ローカルファイル名の入力プロンプトを出します。 .It Ic ~< リモートシステムのファイルをローカルマシンに転送します。 .Nm ユーティリティは、まず転送されるファイル名の入力プロンプトを出し、 それからリモートマシンで実行するコマンドのプロンプトを出します。 .It Ic ~p Ar from Op Ar to リモートの .Ux ホストにファイルを送ります。put コマンドは .Nm が .Dq from ファイルを送っている間、リモートの .Ux システム上で .Dq Nm cat Li \&> Ar to コマンドを実行します。 .Dq to ファイル名が指定されない場合には、 このファイル名には .Dq from ファイル名を使用します。 このコマンドは、実際には .Ic ~> コマンドを .Ux システムに特定して実装したバージョンです。 .It Ic ~t Ar from Op Ar to リモートの .Ux ホストからファイルを受信します。put コマンドと同じく、 .Ar to ファイル名 が指定されない場合には、このファイル名は .Ar from ファイル名と同じになります。 リモートホストでは .Nm にファイル転送を行なうために .Dq Nm cat Ar from ; Nm echo Li ^A を実行します。 .It Ic ~| リモートコマンドからの出力を、ローカル .Ux プロセスへパイプを用いてリダイレクトします。 ローカル .Ux システムに送られるコマンド文字列は、シェルで処理されます。 .It Ic ~$ ローカル .Ux プロセスからパイプを介してリモートホストへ出力します。 ローカル .Ux システムに送られるコマンド文字列は、シェルで処理されます。 .It Ic ~C ローカルシステム上で .Tn XMODEM などの特別なプロトコルを扱うための 子プロセスを起動します。この子プロセスは特別に用意された、次のような ファイル記述子を用いて動作します。 .Bd -literal -offset indent 0 <-> 自側 tty 入力 1 <-> 自側 tty 出力 2 <-> 自側 tty 出力 3 <-> 相手側 tty 入力 4 <-> 相手側 tty 出力 .Ed .It Ic ~# .Dv BREAK 信号をリモートホストに送信します。 必要な .Fn ioctl システムコールをサポートしていないシステムの場合には、回線速度の 変更と .Dv DEL 文字の組み合わせでブレイクをシミュレートします。 .It Ic ~s 変数をセットします (以下の記述を参照してください)。 .It Ic ~v すべての変数とその値 (設定されてる場合) を表示します。 .It Ic ~^Z .Nm を停止します (システムがジョブコントロールをサポートしている場合にのみ使用可能です)。 .It Ic ~^Y .Dq ローカル側の .Nm のみ停止します (システムがジョブコントロールをサポートしている場合にのみ使用可能です); .Nm の .Dq リモート側 すなわちリモートホストの表示出力については引続き走行します。 .It Ic ~? チルダエスケープで使用できるコマンド一覧を表示します。 .El .Pp システム記述、すなわち .Ar system-name の動作特性を見付けるために、 .Nm は名前が .Ar system-name と合致するシステム記述を検索します 検索順序は次の通りです: .Bl -enum -offset indent .It 環境変数 .Ev REMOTE が .Ql \&/ で開始しない場合、これはシステム記述と仮定され、最初に検討されます。 .It 環境変数 .Ev REMOTE が .Ql \&/ で開始する場合、これは .Xr remote 5 データベースのパスと仮定され、指定されたデータベースが検索されます。 .It デフォルトの .Xr remote 5 データベース .Pa /etc/remote が検索されます。 .El .Pp システム記述に関する文書は .Xr remote 5 を参照してください。 .Pp システム記述中で -.Va ba +.Va br ケーパビリティを使用することで、 コネクションを確立するボーレートを指定可能です。 指定された値が適当でない場合には、使用されるボーレートは コマンドラインで指定されたものになり得ます。 例えば .Dq Li "tip -300 mds" です。 .Pp .Nm がコネクションを確立すると、使用されるシステム記述の .Va cm ケーパビリティで指定されているコネクションメッセージを、 リモートホストに送信します。 .Pp .Nm に引数の入力を促されている場合 (例えば、ファイル転送の設定の間) には、入力された行は標準の erase や kill 文字で編集することが許されています。 入力を促されている時に空行を入力したり操作を中断 した場合には、入力を促す画面から抜け出し、リモートマシンとの対話に戻ります。 .Pp .Nm ユーティリティは、モデムや回線の排他制御や .Xr uucico 8 で採用されているロックプロトコルを用いることで、複数のユーザが リモートシステムへ接続することを制限しています。 .Pp ファイル転送時には .Nm は転送した行数を表示します。 .Ic ~> や .Ic ~< コマンドを使用した場合には、 .Va eofread 変数や .Va eofwrite 変数は、ファイル読み込時の end-of-file 文字の認識や、ファイル書き込み時 の end-of-file 文字の指定に用いられます (後述)。ファイル転送時のフロー制御は、 通常は tandem モードで行なわれます。リモートシステムが tandem モードをサポートしない場合には、 .Va echocheck が設定され、 .Nm が相手に転送した文字のエコーを用いてリモートシステムと同期します。 .Pp .Nm が他システムとの接続のために電話をかける場合には、 動作を示すさまざまな表示を行ないます。 .Nm ユーティリティは、システム記述中の .Va at ケーパビリティにおいて、様々な自動呼び出し機器やモデムをサポートします。 .Pp Ventel 212+ (ventel), Hayes AT-style (hayes), USRobotics Courier (courier), Telebit T3000 (t3000), Racal-Vadic 831 (vadic) のサポートは、デフォルトで有効です。 .Pp Bizcomp 1031[fw] (biz31[fw]), Bizcomp 1022[fw] (biz22[fw]), DEC DF0[23]-AC (df0[23]), DEC DN-11 (dn11), Racal-Vadic 3451 (v3451) のサポートは、 .Nm を適切な定義付きで再コンパイルすることで追加可能です。 .Pp Racal-Vadic 831 および 3451 のサポートを両方有効にすると、 それぞれ v831 および v3451 と参照されます。 どちらか一方のみサポートすると、それは vadic と参照されます。 .Ss 変数 .Nm ユーティリティは、自己を制御するために、 変数 を取り扱います。 いくつかの変数は、一般ユーザの権限では参照のみで変更することはできません (スーパユーザのみ、これらの変数の変更が許可されています)。変数は、 .Ic ~s エスケープにて、参照および変更が可能です。変数設定の書式は、 .Xr vi 1 や .Xr Mail 1 での変数設定の書式と同様です。コマンドの引数に .Dq Li all を指定することで、 ユーザが読み出し可能なすべての変数を表示することができます。また、ユーザは 特定の変数について、変数名の最後に .Ql \&? を付加することにより、 その値を表示することができます。 例えば .Dq Li escape? とすることで、現在のエスケープ文字を表示します。 .Pp 変数値として採用されるものは、数値、文字列、文字、もしくは論理値です。 論理変数の設定については、単に変数名を設定するだけで設定されます; これらは、変数名の前に .Ql \&! 文字をつけることにより偽に設定 されます。他の変数型については、変数と値の間を .Ql = でつなぐことで設定 できます。すべての設定について、その指定中に空白を入れてはいけません。 単独の set コマンドは、変数の値を設定するだけでなく、変数の値を知るため にも用いられます。 変数は実行時に set コマンドを実行することで初期化されます ( ホームディレクトリの .Pa .tiprc ファイル中で、 .Ic ~s プレフィックスがない場合です)。 .Fl v オプションを指定することで、 .Nm が初期化時に行なった設定を表示します。 確実に共通変数と思われるものについては、略号表記されます。 以下に共通変数およびその略号と、デフォルトの値の一覧を示します。 .Bl -tag -width indent .It Va beautify .Pq Vt 論理値 セッション確立時に受けとった表示不可の文字については無視します; .Va be と略号表記されます。 .It Va baudrate .Pq Vt 数値 コネクション確立時の通信速度を指定します; .Va ba と略号表記されます。 .It Va dialtimeout .Pq Vt 数値 相手先に電話をかける際に、コネクション確立までの待ち時間 (秒単位) を 指定します; .Va dial と略号表記されます。 .It Va echocheck .Pq Vt 論理値 ファイル転送時のリモートホストとの同期を、 送信された最後の文字のエコーを待つことで取ります; 本変数のデフォルト値は .Cm off です。 .It Va eofread .Pq Vt 文字列 .Ic ~< コマンドを用いてファイル転送した場合に、 転送終了を示す文字群です; .Va eofr と略号表記されます。 .It Va eofwrite .Pq Vt 文字列 .Ic ~> コマンドを用いてファイル転送した場合に、 転送終了を示すために送る文字列です; .Va eofw と略号表記されます。 .It Va eol .Pq Vt 文字列 行末を示す文字群です。 .Nm ユーティリティは、 行末文字の直後に現れたエスケープ文字のみ、エスケープ文字として認識します。 .It Va escape .Pq Vt 文字 コマンドプレフィックス (エスケープ) 文字です; .Va es と略号表記されます; 本変数のデフォルト値は .Ql ~ です。 .It Va exceptions .Pq Vt 文字列 beautification の指定で無視されない文字群を指定します; .Va ex と略号表記されます; 本変数のデフォルト値 .Dq Li \et\en\ef\eb です。 .It Va force .Pq Vt 文字 リテラルデータ送信を強制する文字です; .Va fo と略号表記されます; 本変数のデフォルト値は .Ql ^P です。 .It Va framesize .Pq Vt 数値 ファイルを受信した場合に、ファイルシステムとの間にあるバッファに バッファリングするデータ量 (バイト単位) です; .Va fr と略号表記されます。 .It Va host .Pq Vt 文字列 接続しているホスト名です; .Va ho と略号表記されます。 .It Va prompt .Pq Vt 文字 リモートホストの行末文字です; .Va pr と略号表記されます; 本変数のデフォルト値は .Ql \en です。本変数は、データ転送時の同期を取るのに 用いられます。ファイル転送時に行なう転送行のカウントは、この文字を いくつ受けとったかということに基づきます。 .It Va raise .Pq Vt 論理値 大文字に変換するモードです; .Va ra と略号表記されます; 本変数のデフォルト値は .Cm off です。 本モードが有効になると、すべての小文字の文字列は、リモートホストへの転送時に .Nm によって大文字に変更されます。 .It Va raisechar .Pq Vt 文字 大文字へ変換するモードの切り替えを行なう入力文字です; .Va rc と略号表記されます; 本変数のデフォルト値は .Ql ^A です。 .It Va record .Pq Vt 文字列 セッションの記録を取るファイル名です; .Va rec と略号表記されます; 本変数のデフォルト値は .Pa tip.record です。 .It Va script .Pq Vt 論理値 セッションの記録を取るモードです; .Va sc と略号表記されます; 本変数のデフォルト値は .Cm off です。 .Va script が .Cm true の場合には、 .Nm はリモートホストから転送されたすべてのデータを .Va record に指定されたファイルに記録します。 .Va beautify スイッチが有効になっている場合には、表示可能な .Tn ASCII 文字 (文字コードに換算して 040 から 0177 までの間) についてのみ記録されます。 beautification 規則の例外を指定する .Va exceptions 変数による設定も有効となります。 .It Va tabexpand .Pq Vt 論理値 ファイル転送時にタブ文字を空白文字に展開するモードです; .Va tab と略号表記されます。 本変数のデフォルト値は .Cm false です。 本モードが有効になっている場合には、タブ文字は空白文字 8 つに展開されます。 .It Va verbose .Pq Vt 論理値 冗長モードです; .Va verb と略号表記されます; 本変数のデフォルト値は .Cm true です。 冗長モードが有効になっている場合には、 .Nm はダイヤル時にメッセージを出力したり、ファイル転送を行なっている際の 現在の転送行数を指定したりします。 .El .Sh 環境変数 .Bl -tag -width indent .It Ev SHELL .Ic ~! コマンド実行時に使用するシェルの名前です; デフォルト値は .Pa /bin/sh です。 .It Ev HOME .Ic ~c コマンド実行時に用いるホームディレクトリです。 .It Ev HOST コマンドラインで指定が無い場合の、デフォルトの .Va system-name 値です。 .It Ev REMOTE システム記述であるか、 .Xr remote 5 システム記述データベースへの絶対パスです。 .It Ev PHONES .Xr phones 5 データベースへのパスです。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /var/spool/lock/LCK..*" -compact .It Pa /etc/remote グローバル .Xr remote 5 データベース。 .It Pa /etc/phones デフォルト .Xr phones 5 ファイル。 .It Pa ~/.tiprc 初期化ファイル。 .It Pa tip.record 記録ファイル。 .It Pa /var/log/aculog 回線アクセス記録。 .It Pa /var/spool/lock/LCK..* .Xr uucp 1 との回線競合を避けるための回線排他制御ファイル。 .El .Sh 関連項目 .Xr remote 5 , .Xr phones 5 .Sh 歴史 .Nm コマンドは .Bx 4.2 から登場しました。 .Sh バグ すべての変数が文書化されているわけではありません。文書化されていないものは おそらく削除されるでしょう。 diff --git a/ja_JP.eucJP/man/man1/top.1 b/ja_JP.eucJP/man/man1/top.1 index f1bd6faa0a..6639e55be5 100644 --- a/ja_JP.eucJP/man/man1/top.1 +++ b/ja_JP.eucJP/man/man1/top.1 @@ -1,403 +1,403 @@ .\" NOTE: changes to the manual page for "top" should be made in the .\" file "top.X" and NOT in the file "top.1". -.\" %FreeBSD: src/contrib/top/top.X,v 1.8 2002/01/24 17:54:04 dwmalone Exp % +.\" %FreeBSD: src/contrib/top/top.X,v 1.9 2003/08/26 15:37:19 eivind Exp % .\" $FreeBSD$ .nr N -1 .nr D 2 .TH TOP 1 Local .UC 4 .SH 名称 top \- CPU プロセスの上位リストに関する情報を表示/更新する .SH 書式 .B top [ .B \-SbiInqutv ] [ .BI \-d count ] [ .BI \-s time ] [ .BI \-o field ] [ .BI \-U username ] [ .I number ] .SH 解説 .\" This defines appropriate quote strings for nroff and troff .ds lq \&" .ds rq \&" .if t .ds lq `` .if t .ds rq '' .\" Just in case these number registers aren't set yet... .if \nN==0 .nr N 10 .if \nD==0 .nr D 2 .I top はシステム内の上位 .if !\nN==-1 \nN プロセスを表示し、その情報を定期的に更新します。 .if \nN==-1 \ \{\ 標準出力がインテリジェント端末 (以下を参照) なら、 デフォルトでは端末画面に合わせて表示プロセス数を決定します。 それ以外の場合、適切な数のプロセス (約 20 プロセス) が表示されます。 .\} 生の CPU パーセンテージを用いてプロセス順位を決めます。もし .I number が指定されると、デフォルト値に代えて、上位 .I number プロセスが表示されます。 .PP .I top の動作は高機能端末とそうでない端末とで異なります。 この差異によって、いくつかのオプションのデフォルト値も変わってきます。 以下の部分では、\*(lqインテリジェント\*(rq 端末とは、 カーソルアドレシング、画面クリアおよび行末までのクリアをサポートしている 端末のことを指します。 逆に \*(lqダム\*(rq 端末とは、そのような機能をサポートしていないものを いいます。 .I top の出力をファイルにリダイレクトすると、 あたかもダム端末上で動作しているように振る舞います。 .SH オプション .TP .B \-S システムプロセスも画面に表示します。 pager や swapper といったシステムプロセスは通常、表示されませんが、 このオプションによりそれらも見えるようになります。 .TP .B \-b \*(lqバッチ\*(rq モードにします。 バッチモードでは、端末からの入力は全て無視されます。 ただし割り込みキャラクタ (^C や ^\e など) は有効です。 ダム端末上で実行する場合や出力先が端末以外の場合は、これがデフォルトです。 .TP .B \-i \*(lq対話的実行\*(rq モードにします。 対話的実行モードでは、あらゆる入力は直ちに読み込んで処理されます。 どのキーがどういう機能をもっているかについては、 \*(lq対話的実行モード\*(rq のセクションを参照して下さい。 コマンドが処理されると、そのコマンドが理解されなかった場合でも、 画面は直ちに更新されます。 出力先がインテリジェント端末の場合は、これがデフォルトです。 .TP .B \-I アイドル状態のプロセスを表示しません。 デフォルトでは、 top はアクティブプロセスもアイドルプロセスも両方とも表示します。 .TP .B \-t .I top プロセスを表示しないようにします。 .TP .B \-n \*(lq非対話的実行\*(rq モードにします。 これは \*(lqバッチ\*(rq モードと同じです。 .TP .B \-q .I top を -20 に renice し、より高速に実行されるようにします。 この機能は、システムが大変重い場合に、問題箇所を発見する可能性を高めるために 用いられます。 このオプションは root のみ使用可能です。 .TP .B \-u uid 値をユーザ名に変換する時間を割かないようにします。 通常、 .I top は必要に応じてファイル \*(lq/etc/passwd\*(rq を読み、 出現する全てのユーザ id 値をログイン名に変換します。 このオプションはその変換を全て止め、できるだけ実行時間を低減させます。 ログイン名の代わりに uid 値が表示されます。 .TP .B \-v バージョン番号情報を標準エラー出力へ書き出し、即座に終了します。 このオプションが使用された場合、他の処理は行われません。 top 実行中に現在のリビジョン情報を閲覧したい場合、 ヘルプコマンド \*(lq?\*(rq を使用してください。 .TP .BI \-d count .I count 回だけ表示し、その後終了します。 1 回の表示とは、1 回の画面更新のことです。 このオプションにより、ユーザは希望する回数だけ状況を表示し、 その後自動的に .I top を終了させることができます。 インテリジェント端末では、表示回数の上限は設定されていません。 ダム端末ではデフォルト値は 1 回です。 .TP .BI \-s time 画面更新間隔を .I time 秒に設定します。デフォルトの画面更新間隔は \nD 秒です。 .TP .BI \-o field プロセス表示領域を指定したフィールドによってソートします。 フィールド名には出力で示されているカラム名を用いますが、小文字で指定します。 しばしば用いられる値は \*(lqcpu\*(rq, \*(lqsize\*(rq, \*(lqres\*(rq, \*(lqtime\*(rq ですが、これは OS によっても異なります。 必ずしも全ての OS でこのオプションがサポートされているわけではないことに 注意して下さい。 .TP .BI \-U username ユーザ .IR username が所有しているプロセスのみ表示します。 現在のところ、このオプションはユーザ名指定のみ可能で、uid 値は指定できません。 .PP .I count と .I number はいずれも \*(lq無限\*(rq を指定でき、 その場合、それらは可能な限り引き延ばされます。 これは、キーワード \*(lqinfinity\*(rq, \*(lqmaximum\*(rq, \*(lqall\*(rq のいずれかの、 一意に識別可能な先頭からの部分文字列を指定することで行われます。 実際、インテリジェント端末での .I count のデフォルト値は .BI infinity となっています。 .PP コマンドラインのオプションを調べる前に、 環境変数 .B TOP が調べられます。これによりユーザ自身のデフォルト値を設定できます。 表示プロセス数も環境変数 .BR TOP で指定可能です。 オプション .BR \-I , .BR \-S , .BR \-u , .B \-t は実際はトグルオプションです。これらのオプションを 2 回指定すると、 最初の指定を無効にします。 ですから、環境変数 .B TOP を \*(lq\-I\*(rq と設定しているユーザは、 \*(lqtop \-I\*(rq とすることでアイドルプロセスの状況を見ることができます。 .SH 対話的実行モード \*(lq対話的実行モード\*(rq で動作している場合、 .I top は端末からコマンドを読み込み、それに応じて動作を行います。 このモードでは端末は \*(lqCBREAK\*(rq モードに設定され、 入力文字が速やかに処理されるようになります。 .I top の表示と表示の間、 つまり .I top が .I time 秒が経過するのを待っている間、ほとんどいつでもキー入力可能です。 実際キーが押されると、そのコマンドは直ちに処理され、 画面が更新されます (そのコマンドが指示した変更も反映されます)。 これはコマンドが正しくない場合にも行われます。 画面を更新している最中にキーが押されると、 .I top は画面更新を終らせて、そのコマンドを処理します。 コマンドによっては更に情報の指定が必要になるものもありますが、 その場合、それに応じてユーザに入力が求められます。 その情報を入力する間、ユーザの削除キーと行削除キー ( .IR stty コマンドで設定される) が利用でき、改行により入力が完了します。 .PP 現在のところ、以下のコマンドが利用可能です (^L は control-L を表します): .TP .B ^L 画面を再描画します。 .IP "\fBh\fP\ or\ \fB?\fP" コマンド一覧 (ヘルプ画面) を表示します。 バージョン情報がこの画面に含まれます。 .TP .B q .I top を終了します。 .TP .B d 表示する画面数を変更します (新しい数値入力が求められます)。 次回の表示が 1 回目となります。ですから .B d1 と入力すると、 .I top は 1 回表示して直ちに終了します。 .TP .B n or # 表示するプロセス数を変更します (新しい数値入力が求められます)。 .TP .B s 表示間隔の秒数を変更します (新しい数値入力が求められます)。 .TP .B k プロセスリストにシグナル (デフォルトでは \*(lqkill\*(rq) を送ります。 .IR kill (1) コマンドと同様の働きをします。 .TP .B r プロセスリストの優先度 (\*(lqnice\*(rq 値) を変更します。 .IR renice (8) コマンドと同様の働きをします。 .TP .B u 指定したユーザ名のユーザが所有するプロセスのみ表示します (ユーザ名入力 が求められます)。 ユーザ名として単に \*(lq+\*(rq が指定された場合、 全ユーザのプロセスが表示されます。 .TP .B o 表示のソート順序を変更します。 必ずしも全ての OS でこのオプションがサポートされているわけではありません。 ソートキーはシステムによって異なりますが、通常は次のものが含まれます: \*(lqcpu\*(rq, \*(lqres\*(rq, \*(lqsize\*(rq, \*(lqtime\*(rq。 デフォルトは cpu です。 .TP .B e 前回の .BR k ill または .BR r enice コマンドで生じたシステムエラーがあれば、そのリストを表示します。 .TP .B i (または .BR I ) アイドルプロセスの表示有無を切り替えます。 .TP .B t .I top の表示有無を切り替えます。 .SH 表示 実際の表示画面は、そのマシンで動作している Unix の種類によって異なります。 ここでの説明は、この特定マシンで動作する top コマンドの出力と 厳密には合っていないかもしれません。 相違点はこのマニュアルの終りに示してあります。 .PP 表示画面の先頭数行にはシステム状態に関する情報として、 プロセスに割り当てられた最終プロセス ID (ほとんどのシステム)、 3 種のロードアベレージ、現在時刻、存在するプロセス数、 各状態 (sleep 中、実行中、実行開始中、ゾンビ、停止中) のプロセス数、 各プロセッサ状態 (ユーザ, nice, システム, アイドル) で消費した時間の割合 等が表示されます。 物理メモリおよび仮想メモリの割り当てに関する情報も表示されます。 .PP 画面の残りの部分には各プロセスに関する情報が表示されます。 表示項目は、内容的には .IR ps (1) に似ていますが、正確には同じではありません。 PID はプロセス id、USERNAME はプロセス所有者名 ( .B \-u 指定時は UID カラムが USERNAME に取って替わる)、 PRI は現在のプロセス優先度、 NICE は nice 値 (\-20 から 20 までの範囲)、 SIZE はプロセスサイズの合計 (text, data, stack)、 RES は現在のメモリ常駐量 (SIZE と RES はいずれもキロバイト単位)、 STATE は現在の状態 (\*(lqsleep\*(rq, \*(lqWAIT\*(rq, \*(lqrun\*(rq, \*(lqidl\*(rq, \*(lqzomb\*(rq, \*(lqstop\*(rq のいずれか)、 TIME はプロセスが消費したシステム時間およびユーザ時間の秒数、 WCPU は (もしあれば) 重み付き CPU パーセンテージ (これは .IR ps (1) が CPU として表示するものと同じ)、 CPU は生のパーセンテージで、プロセス順序を決めるソート処理に用いられるもの、 そして COMMAND はプロセスが現在実行しているコマンド名です (もしプロセスが スワップアウト中なら、このカラムには \*(lq\*(rq という印がつく)。 .SH 注意 \*(lqABANDONED\*(rq 状態 (カーネル中では \*(lqSWAIT\*(rq 状態として 知られています) は捨て去られたものゆえ、この名称がついています。 プロセスはこの状態で終るべきではありません。 .SH 作者 William LeFebvre, EECS Department, Northwestern University .SH 環境変数 .DT TOP ユーザが設定できるオプションのデフォルト値 .SH 関連ファイル .DT /dev/kmem カーネルメモリ .br /dev/mem 物理メモリ .br /etc/passwd uid 値をユーザ名に変換するのに使用 .br -/kernel システムイメージ +/boot/kernel/kernel システムイメージ .SH バグ .B \-I のデフォルト値が もう一度変更されましたが、私を責めないで下さい。 .I top が全プロセスを表示するわけではないことで大変多くの人が混乱したため、 バージョン 2 の頃と同様、デフォルトでアイドルプロセスも表示することに 決めました。 しかしこの動作に耐えられない人々のために、環境変数 .B TOP に \*(lqデフォルト\*(rq オプションを設定しておく機能を 追加しました (オプションのセクションを参照)。 バージョン 3.0 が持っている振る舞いが必要な人は、環境変数 .B TOP に値 \*(lq\-I\*(rq を設定するだけで OK です。 .PP スワップされたプロセスに対するコマンド名は追跡すべきですが、 それを行うとプログラムの動作が遅くなるでしょう。 .PP .IR ps (1) と同様、 .I top が更新情報を収集している間に事態が変化する可能性があります。 表示内容は現実に近い近似値に過ぎません。 .SH 関連項目 kill(1), ps(1), stty(1), mem(4), renice(8) .SH FreeBSD に関する注 .SH スレッド表示 \&'-H' オプションは、 カーネルから見えるスレッドコンテキストの表示を切り替えます。 実行時には、'H' キーがこのモードを切り替えます。 デフォルトは OFF です。 .SH メモリに関する説明 Mem: 9220K Active, 1032K Inact, 3284K Wired, 1MB Cache, 2M Buf, 1320K Free Swap: 91M Total, 79M Free, 13% Inuse, 80K In, 104 K Out .B K: キロバイト。 .TP .B M: メガバイト。 .TP .B %: 1/100。 .TP .B Active: アクティブなページ数。 .TP .B Inact: アクティブでないページ数。 .TP .B Wired: 固定されているページ数。キャッシュされたファイルデータページを含む。 .TP .B Cache: VM レベルのディスクキャッシュに使用しているページ数。 .TP .B Buf: BIO レベルのディスクキャッシュに使用しているページ数。 .TP .B Free: 未使用ページ数。 .TP .B Total: 使用可能なスワップ合計。 .TP .B Free: 未使用スワップ合計。 .TP .B Inuse: 使用中スワップ。 .TP .B In: (直前の表示間隔において) スワップデバイスからページインしたページ数 .TP .B Out: (直前の表示間隔において) スワップデバイスにページアウトしたページ数 diff --git a/ja_JP.eucJP/man/man5/a.out.5 b/ja_JP.eucJP/man/man5/a.out.5 index a2262d8a03..e2957fdb56 100644 --- a/ja_JP.eucJP/man/man5/a.out.5 +++ b/ja_JP.eucJP/man/man5/a.out.5 @@ -1,479 +1,479 @@ .\" Copyright (c) 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This man page is derived from documentation contributed to Berkeley by .\" Donn Seeley at UUNET Technologies, 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. .\" .\" @(#)a.out.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/a.out.5,v 1.15 2002/05/29 17:16:09 ru Exp % +.\" %FreeBSD: src/share/man/man5/a.out.5,v 1.17 2003/09/10 19:24:35 ru Exp % .\" .\" $FreeBSD$ .\" WORD: byte order バイト順 .\" WORD: posision independent 位置独立(な) .\" WORD: link editor リンクエディタ .\" WORD: link edit リンクエディット .\" .Dd June 5, 1993 .Dt A.OUT 5 .Os .Sh 名称 .Nm a.out .Nd 実行可能バイナリファイルのフォーマット .Sh 書式 .In a.out.h .Sh 解説 インクルードファイル -.Aq Pa a.out.h +.In a.out.h では 3 つの構造体といくつかのマクロが宣言されています。 これらの構造体は、このシステムで実行可能な機械語コードファイル .Pq Sq バイナリ のフォーマットを規定します。 .Pp バイナリファイルは最大で 7 つのセクションから構成されます。 これらのセクションを順にあげると以下のようになります: .Bl -tag -width "テキストリロケーション" .It exec ヘッダ バイナリファイルをメモリ上にロードして実行するために カーネルが用いるパラメータを含んでいます。 これらのパラメータはリンクエディタ .Xr ld 1 がバイナリファイルを他のバイナリファイルと結合する際にも 用いられます。 このセクションは唯一の必須セクションです。 .It テキストセグメント プログラムが実行される際にメモリ上にロードされる 機械語コード及び関連データを含んでいます。 読み込み専用でロードされる場合があります。 .It データセグメント 初期化済データを含んでいます。 常に書き込み可能なメモリ上にロードされます。 .It テキストリロケーション バイナリファイル結合時にテキストセグメント内のポインタを修正するために、 リンクエディタによって用いられるレコードを含んでいます。 .It データリロケーション 前出のテキストリロケーションセクションと似ていますが、 データセグメント内のポインタ修正用です。 .It シンボルテーブル バイナリファイル間で 名前付きの変数や関数 .Pq Sq シンボル のアドレス相互参照を解決するために、 リンクエディタによって用いられるレコードを含んでいます。 .It string table シンボル名に対応する文字列を含んでいます。 .El .Pp 全てのバイナリファイルは次の .Fa exec 構造体で始まります: .Bd -literal -offset indent struct exec { unsigned long a_midmag; unsigned long a_text; unsigned long a_data; unsigned long a_bss; unsigned long a_syms; unsigned long a_entry; unsigned long a_trsize; unsigned long a_drsize; }; .Ed .Pp これらのフィールドは以下の機能を持っています: .Bl -tag -width a_trsize .It Fa a_midmag このフィールドはホストのバイト順 (host byte-order) で格納されます。 このフィールドはいくつかのサブコンポーネントを持っており、それらは 以下のマクロ .Fn N_GETFLAG , .Fn N_GETMID , .Fn N_GETMAGIC で参照され、マクロ .Fn N_SETMAGIC で設定されます。 .Pp マクロ .Fn N_GETFLAG は以下のフラグを返します: .Bl -tag -width EX_DYNAMIC .It Dv EX_DYNAMIC この実行可能ファイルがランタイムリンクエディタのサービスを要求することを 示します。 .It Dv EX_PIC このオブジェクトファイルが位置独立 (position independent) なコードを 含んでいることを示します。 このフラグは .Sq -k フラグ指定時に .Xr as 1 によって設定され、必要なら .Xr ld 1 はこれを保存します。 .El .Pp EX_DYNAMIC と EX_PIC の両方がセットされている場合、 そのオブジェクトファイルは位置独立な実行可能イメージです (例: 共有ライブラリ)。 これはランタイムリンクエディタによってプロセスのアドレス空間にロードされます。 .Pp マクロ .Fn N_GETMID はマシン識別コード (machine-id) を返します。 これは、バイナリファイルが実行されるべきマシンを示しています。 .Pp .Fn N_GETMAGIC はマジックナンバを示します。 マジックナンバはバイナリファイル種別を一意に識別し、 様々なロード方法を区別します。 このフィールドは以下の値のいずれか 1 つを含んでいなければなりません: .Bl -tag -width ZMAGIC .It Dv OMAGIC テキストセグメントとデータセグメントはヘッダの直後にあり、 連続しています。 カーネルはテキスト/データセグメントの両方を書き込み可能メモリ領域に ロードします。 .It Dv NMAGIC .Dv OMAGIC と同様、テキスト/データセグメントはヘッダの直後にあり、連続しています。 しかし、カーネルはテキストセグメントを読み込み専用メモリ領域にロードし、 テキストに続くページ境界から始まる 書き込み可能メモリ領域にデータセグメントをロードします。 .It Dv ZMAGIC カーネルは各々のページを必要に応じてバイナリからロードします。 ヘッダ、テキストセグメント及びデータセグメントはいずれも、 ページサイズの倍数の大きさになるよう、 リンクエディタによってパディングされます。 カーネルがテキストセグメントからロードしたページは読み込み専用ですが、 データセグメントからロードしたページは書き込み可能です。 .El .It Fa a_text テキストセグメントのサイズ (バイト単位) を保持します。 .It Fa a_data データセグメントのサイズ (バイト単位) を保持します。 .It Fa a_bss .Sq bss セグメント のバイト数を保持します。 この値はカーネルが最初の break 値 .Pq Xr brk 2 をデータセグメントの後ろに設定するのに用いられます。 カーネルは、ここに示されるサイズの書き込み可能メモリ領域が データセグメントの後ろに用意され、それらの初期状態が 0 になるように、 プログラムをロードします。 .Em ( bss = block started by symbol:シンボルで開始するブロック) .It Fa a_syms シンボルテーブルセクションのサイズ (バイト単位) を保持します。 .It Fa a_entry カーネルがバイナリファイルをロードした後の、 プログラムのエントリポイントのメモリアドレスを保持します。 カーネルは、このアドレスにある機械命令からプログラムの実行を開始します。 .It Fa a_trsize テキストリロケーションテーブルのサイズ (バイト単位) を保持します。 .It Fa a_drsize データリロケーションテーブルのサイズ (バイト単位) を保持します。 .El .Pp インクルードファイル -.Pa a.out.h +.In a.out.h では、 .Fa exec 構造体を用いて一貫性をテストしたりバイナリファイル中のセクションオフセットを 知るためのマクロが定義されています。 .Bl -tag -width N_BADMAG(exec) .It Fn N_BADMAG exec .Fa a_magic フィールドに、認識できない値が含まれている場合、非 0 を返します。 .It Fn N_TXTOFF exec バイナリファイルにおけるテキストセグメントの先頭のバイトオフセットを返します。 .It Fn N_SYMOFF exec シンボルテーブルの先頭のバイトオフセットを返します。 .It Fn N_STROFF exec 文字列テーブルの先頭のバイトオフセットを返します。 .El .Pp リロケーションレコードは、 .Fa relocation_info 構造体で規定される標準フォーマットです: .Bd -literal -offset indent struct relocation_info { int r_address; unsigned int r_symbolnum : 24, r_pcrel : 1, r_length : 2, r_extern : 1, r_baserel : 1, r_jmptable : 1, r_relative : 1, r_copy : 1; }; .Ed .Pp .Fa relocation_info 構造体の各フィールドは以下のように用いられます: .Bl -tag -width r_symbolnum .It Fa r_address リンクエディットが必要なポインタのバイトオフセットを保持します。 テキストリロケーションオフセットはテキストセグメントの先頭から、 データリロケーションオフセットはデータセグメントの先頭から、 それぞれ計算します。 リンクエディタはこのオフセットにストアされている値を加算し、 このリロケーションレコードを用いて計算した新しい値に変換します。 .It Fa r_symbolnum シンボルテーブルにおけるシンボル構造体の順序番号 ( バイトオフセット .Em ではありません ) を保持します。 リンクエディタはこのシンボルの絶対アドレスを解決した後、 そのアドレスをリロケーション中のポインタに加算します。 (もし .Fa r_extern ビットが立っていなければ状況は異なります。以下を参照して下さい。) .It Fa r_pcrel もしこのビットが立っていれば、 リンクエディタは、PC 相対アドレッシングを用いる機械語命令の一部である ポインタを更新しているものと仮定します。 リロケートされるポインタのアドレスは、実行中のプログラムがそれを用いる際に、 暗黙的にその値に加算されます。 .It Fa r_length ポインタの長さを 2 を底とする対数で表したバイト単位で保持します。 1 バイトディスプレースメントなら 0、 2 バイトディスプレースメントなら 1、 4 バイトディスプレースメントなら 2 となります。 .It Fa r_extern このリロケーションが外部参照を必要としている場合にセットされます。 リンクエディタは、シンボルアドレスを用いてこのポインタを 更新しなければなりません。 .Fa r_extern ビットが立っていない場合、そのリロケーションは .Sq ローカル です。 リンクエディタは、シンボル値の変化ではなく、 各セグメントのロードアドレスの変化に応じてポインタを更新します (ただし、 .Fa r_baserel もセットされている場合(後述)は除きます)。 この場合、 .Fa r_symbolnum フィールドの内容は .Fa n_type の値となります(後述)。 リンクエディタは、この型フィールドから、 リロケートされるポインタがどのセグメントを指しているのかの情報を得ます。 .It Fa r_baserel セットされている場合、 .Fa r_symbolnum フィールドで指定される場合のように、 このシンボルはグローバルオフセットテーブルへのオフセットに リロケートされます。 実行時に、グローバルオフセットテーブル中の、このオフセット位置にある エントリが、シンボルのアドレスを持つようにセットされます。 .It Fa r_jmptable セットされている場合、 .Fa r_symbolnum フィールドで指定される場合のように、 このシンボルはプロシージャリンケージテーブルへのオフセットに リロケートされます。 .It Fa r_relative セットされている場合、 このリロケーションは、このオブジェクトファイルが含まれる イメージの (実行時の) ロードアドレスとの相対値となります。 この種のリロケーションは共有オブジェクトにのみ現れます。 .It Fa r_copy セットされている場合、 このリロケーションレコードは、 その内容を .Fa r_address で指定される位置にコピーしなければならないシンボルを示します。 コピー処理は、実行時のリンクエディタによって、 共有オブジェクト中の適切なデータアイテムから行われます。 .El .Pp シンボルは名前とアドレスを対応づけます (より一般的には、 文字列を値へ対応づけます)。 リンクエディタがアドレスを調節するため、 絶対値が割り当てられるまではシンボルを用いてアドレスを表現しなければ なりません。 シンボルは、シンボルテーブル中の固定長のレコードと、 文字列テーブル中の可変長の名前から成ります。 シンボルテーブルは .Fa nlist 構造体の配列です: .Bd -literal -offset indent struct nlist { union { char *n_name; long n_strx; } n_un; unsigned char n_type; char n_other; short n_desc; unsigned long n_value; }; .Ed .Pp これらのフィールドは以下のように用いられます: .Bl -tag -width n_un.n_strx .It Fa n_un.n_strx このシンボルの名前の、文字列テーブルでのバイトオフセットを保持します。 プログラムが .Xr nlist 3 関数を用いてシンボルテーブルをアクセスする場合、 このフィールドは、 メモリ中の文字列へのポインタである .Fa n_un.n_name フィールドに置き換えられます。 .It Fa n_type リンクエディタがシンボル値の更新方法を決定するのに用いられます。 .Fa n_type フィールドは、ビットマスクを用いた 3 つのサブフィールドに分けられます。 リンクエディタは .Dv N_EXT ビットがセットされているシンボルを .Sq external シンボルとして扱い、他のバイナリファイルからの参照を許可します。 .Dv N_TYPE マスクはリンクエディタに必要なビットを選択します: .Bl -tag -width N_TEXT .It Dv N_UNDF 未定義シンボル。 リンクエディタは、他のバイナリファイル中の同じ名前の外部シンボルを探して このシンボルの絶対値を決定しなければなりません。 特別な場合として、もし .Fa n_value フィールドが非 0 で、リンクエディット対象のどのバイナリファイルも このシンボルを定義していない場合、 リンクエディタはこのシンボルが bss セグメント中のアドレスであるとみなし、 .Fa n_value に等しいバイト数の領域を予約します。 もしこのシンボルが複数のバイナリファイル中で未定義となっており、 それらのバイナリファイル間でサイズが異なっている場合、 リンクエディタはそれらのサイズの最大値を選びます。 .It Dv N_ABS 絶対シンボル。 リンクエディタは絶対シンボルは更新しません。 .It Dv N_TEXT テキストシンボル。 このシンボルの値はテキストアドレスであり、 リンクエディタはバイナリファイルをマージする際、その値を更新します。 .It Dv N_DATA データシンボル。 .Dv N_TEXT と同様ですが、データアドレスを表します。 テキストシンボル及びデータシンボルの値は、 ファイルオフセットではなくアドレスです。 ファイルオフセットを復元するために、 対応するセクションの先頭のロードアドレスを見つけてそれを減じ、 次にそのセクションのオフセットを加算する必要があります。 .It Dv N_BSS bss シンボル。テキストシンボルやデータシンボルと似ていますが、 バイナリファイル中に対応するオフセットを持ちません。 .It Dv N_FN ファイル名シンボル。 バイナリファイルをマージする際、 リンクエディタはバイナリファイルの他のシンボルの前にこのシンボルを 挿入します。 このシンボルの名前はリンクエディタに与えられたファイル名で、 シンボルの値はバイナリファイルから得た先頭テキストアドレスです。 ファイル名シンボルはリンクエディト処理やロード処理には不要ですが、 デバッガには有用な情報です。 .El .Pp .Dv N_STAB マスクは .Xr gdb 1 等のシンボリックデバッガに必要なビットを選択します。 その値は .Xr stab 5 に示されています。 .It Fa n_other このフィールドは、 .Fa n_type フィールドで決定されるセグメントに関して、 そのシンボルのロケーションとは独立した シンボルの特質に関する情報を提供します。 現在のところ、 .Fa n_other フィールドの下位 4 ビットは .Dv AUX_FUNC あるいは .Dv AUX_OBJECT のいずれかをとります (これらの定義については -.Aq Pa link.h +.In link.h を参照してください)。 .Dv AUX_FUNC はシンボルと呼び出し可能な関数を関連づけ、他方、 .Dv AUX_OBJECT はシンボルとデータを関連づけます。 これらの関連はテキストセグメント/データセグメントの別とは無関係です。 このフィールドは、 .Xr ld 1 が動的な実行可能形式を構築するために使うことを意図しています。 .It Fa n_desc デバッガ用に予約されており、リンクエディタはこのフィールドを全く変更しません。 デバッガによって異なった目的に使われます。 .It Fa n_value シンボルの値を保持します。 テキスト, データおよび bss シンボルの場合、その値はアドレスです。 他のシンボル (例えばデバッガシンボル等) の場合、その値は様々です。 .El .Pp 文字列テーブルは .Em unsigned long 型の長さと、それに続くナル終端のシンボル文字列から成ります。 この長さは、テーブル全体のサイズをバイト単位で表します。 つまり、その最小値 (言い替えれば、最初の文字列のオフセット) は、 32 ビットマシンでは常に 4 となります。 .Sh 関連項目 .Xr as 1 , .Xr gdb 1 , .Xr ld 1 , .Xr brk 2 , .Xr execve 2 , .Xr nlist 3 , .Xr core 5 , .Xr elf 5 , .Xr link 5 , .Xr stab 5 .Sh 歴史 インクルードファイル -.Pa a.out.h +.In a.out.h は .At v7 で登場しました。 .Sh バグ 必ずしも全てのサポート対象アーキテクチャが .Fa a_midmag フィールドを用いるわけではないので、 あるバイナリがどのようなアーキテクチャ上で実行されるのかは、 実際のマシンコードを調べない限り判定困難な可能性があります。 マシン ID があったとしても、 .Fa exec ヘッダのバイト順はマシン依存です。 diff --git a/ja_JP.eucJP/man/man5/amd.conf.5 b/ja_JP.eucJP/man/man5/amd.conf.5 index b8469eb3ec..b4fe2564da 100644 --- a/ja_JP.eucJP/man/man5/amd.conf.5 +++ b/ja_JP.eucJP/man/man5/amd.conf.5 @@ -1,801 +1,886 @@ .\" -.\" Copyright (c) 1997-1999 Erez Zadok +.\" Copyright (c) 1997-2003 Erez Zadok .\" Copyright (c) 1990 Jan-Simon Pendry .\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" -.\" %Id: amd.conf.5,v 1.3 1999/03/30 17:23:08 ezk Exp % +.\" $Id: amd.conf.5,v 1.19 2003-10-13 02:42:26 horikawa Exp $ .\" %FreeBSD: src/contrib/amd/scripts/amd.conf.5,v 1.13 2002/12/12 17:25:52 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 7, 1997 .Dt AMD.CONF 5 .Os .Sh 名称 .Nm amd.conf .Nd amd コンフィギュレーションファイル .Sh 書式 .Nm .Sh 解説 .Nm ファイルは amd のコンフィギュレーションファイルであり、 am-utils 一式に含まれます。 .Pp .Nm は、自動マウントプログラム .Xr amd 8 用の実行時コンフィギュレーション情報を含んでいます。 .Sh ファイルフォーマット このファイルはセクションとパラメータから成ります。 セクションは角括弧で囲んだセクション名で始まり、 次のセクションが開始するかファイルの終りに達するまで続きます。 セクションには .Sq name = value という形式のパラメータが含まれます。 .Pp このファイルは行指向です。すなわち、改行までの各行は、 1 つのコメント、セクション名あるいはパラメータを表します。 継続行を記述する方法はありません。 .Pp セクション名、パラメータ名及びその値は、大文字小文字を区別します。 .Pp パラメータ中の最初の等号のみ重要な意味を持ちます。 最初の等号の前後にある空白は取り除かれます。 セクション及びパラメータ名の中の先頭、末尾あるいは途中にある空白は 意味を持ちません。 パラメータ値の先頭や末尾にある空白は取り除かれます。 パラメータ値内部に空白を置くことはできません。 ただし、 .Sq name = Qq some\ value のように、パラメータ値全体を二重引用符でくくった場合を除きます。 .Pp 井桁記号 (#) で始まる行は無視されます。 空白文字のみ含む行も同じく無視されます。 .Pp パラメータ記述において等号に続く値は文字列ないしブール値です。 文字列の場合、空白を含まなければ引用符は不要です。 ブール値の場合は yes あるいは no と記述します。 すべての値において大文字小文字が区別されます。 キャッシュタイムアウトのような一部の項目は数値をとります。 .Sh セクション .Ss "[global] セクション) このセクションのパラメータは、 .Nm amd 全体に適用されるか、または、これに続くすべての通常マップに適用されます。 1 つのコンフィギュレーションファイルにはグローバルセクションをただ一つだけ 定義すべきです。 .Pp このセクションはコンフィギュレーションファイル中の最初に記述しておくことを 強く推奨します。 もしそうしなければ、グローバルセクションより先に記述された 通常マップセクションでは、後に定義されるグローバルな値を利用できません。 .Ss "通常 [/map] セクション) 通常の (グローバルでない) セクションのパラメータは、単一のマップエントリに 適用されます。例えば、マップセクション .Bq Pa /homes が定義されていると、それに続くすべてのパラメータは、 amd が管理しているマウントポイント .Pa /homes に適用されます。 .Sh パラメータ .Ss "すべてのセクションに共通のパラメータ) 以下のパラメータは、グローバルセクションと特定のマップセクションの いずれにおいても指定できます。 特定のマップセクションで指定されたエントリは、 デフォルト値あるいはグローバルセクションで定義された値を上書きします。 そのような共通のパラメータがグローバルセクション中でのみ指定されている場合は、 それに続くすべての通常マップセクションにその指定が適用されます。 .Bl -tag -width 4n .It Ic browsable_dirs Xo (文字列、デフォルト = no) .Xc .Qq yes にすると、amd のトップレベルのマウントポイントが .Xr readdir 3 呼び出しでブラウズ可能になります。 つまり、例えば .Xr ls 1 .\" ↑原文は ls 3 だったが ls 1 に直した sakai@jp.freebsd.org .\" revision 1.6 でも直ってます。 を実行することでそのディレクトリでどんなキーがマウント可能か 知ることができるようになります。 必ずしもすべてのエントリが .Xr readdir 3 に対して見えるようになるわけではありません。 .Qq Pa /default エントリやワイルドカードエントリ、さらに .Qq Pa / を含むエントリは見えるようになりません。 もしこのオプションに対して .Qq full を指定すれば、 .Qq Pa /default 以外はすべて見えるようになります。 注意: もし .Qq ls -l や .Qq ls -F のような .Xr stat 2 を行おうとするコマンドを走らせると、 .Nm amd はそのマップ中の .Em すべての エントリをマウントしようとします。 これはよく .Em mount storm と呼ばれます。 .It Ic map_options Xo (文字列、デフォルト = オプションなし) .Xc このオプションは、例えば .Ql cache\&:\&=all のように、 .Xr amd 8 のコマンドラインでマップオプションを指定するのと同じ働きをします。 .It Nm map_type Xo (文字列、デフォルト = 全マップタイプを検索) .Xc このオプションが指定されると、amd は指定されたタイプに対するマップのみ 初期化します。 amd のデフォルトのマップ検索は時間がかかるうえ、 使っていなくても NIS を初期化してしまうといった 望まない副作用をもつことがありますが、 そのような事態を避けるのにこのオプションが有効です。 指定可能な値は以下のものです。 .Pp .Bl -tag -width "nisplus" -compact .It Ic file 通常ファイル .It Ic hesiod MIT の hesiod ネームサービス .It Ic ldap 軽量ディレクトリアクセスプロトコル .It Ic ndbm (新しい) dbm 形式のハッシュファイル .It Ic nis ネットワークインフォメーションサービス (バージョン 2) .It Ic nisplus ネットワークインフォメーションサービス プラス (バージョン 3) .It Ic passwd ローカルのパスワードファイル .It Ic union ユニオンマップ .El .It Ic mount_type Xo (文字列、デフォルト = nfs) .Xc -amd のすべてのマウントタイプで、デフォルトでは +amd のすべてのマウントタイプで、 .Tn NFS -です。つまり、実行しているローカルホストに対して、 +が必須です。 +つまり、実行しているローカルホストに対して、 .Xr amd 8 はマップのマウントポイントにおける .Tn NFS サーバとなります。 もし .Qq autofs -を指定すると、amd はそのマウントポイントにおける autofs サーバになります。 +を指定すると、amd はエラーを記録し、 +.Tn NFS +に変換します。 .It Ic search_path Xo (文字列、デフォルト = サーチパスなし) .Xc ファイルマップに対するサーチパスを (コロンで区切った形式で) 指定します。 サーチパスを用いることで、 各サイトはローカルなマップのカスタマイズや上書きが可能になり、 必要に応じていくつかの場所にマップを分散配置させることができます。 .El .Ss "グローバルセクションにのみ適用されるパラメータ) .Bl -tag -width 4n .It Ic arch Xo (文字列、デフォルト = コンパイル時の値) .Xc .Nm amd の変数 .Va arch の値を上書きできます。 .It Ic auto_dir Xo (文字列、デフォルト = /a) .Xc .Nm amd の .Fl a オプションと同じです。 実際のマウントポイント用に amd がサブディレクトリを作成する プライベートディレクトリを設定します。 .It Ic cache_duration Xo (数値、デフォルト = 300) .Xc .Nm amd の .Fl c オプションと同じです。 検索されたマップエントリがキャッシュ中に残る秒数を設定します。 .It Ic cluster Xo (文字列、デフォルト = クラスタなし) .Xc .Nm amd の .Fl C オプションと同じです。使用する、別の .Tn HP-UX クラスタを指定します。 .It Ic debug_options Xo (文字列、デフォルト = デバッグオプションなし) .Xc .Nm amd の .Fl D オプションと同じです。 .Nm amd のデバッグオプションを指定します。 am-utils が .Fl -enable-debug option を用いてデバッグ機能付きで構築されている場合のみ有効です。 .Qq mem -オプションだけは +オプションを含めすべてのオプションが、 .Fl -enable-debug=mem -によってオンにできます。 +のようにしてオンにできます。 これら以外の場合、デバッグオプションは無視されます。 オプションはコンマで区切ります。 先頭に文字列 .Qq no を付けることでその意味を反転できます。 サポートされているデバッグオプション一覧を得るには -.Nm amd Fl v +.Nm amd Fl H を実行して下さい。 取りうる値は以下の通りです。 .Pp -.Bl -tag -width "daemon" -compact +.Bl -tag -width "xdrtrace" -compact .It Ic all 全オプション .It Ic amq .Xr amq 8 に登録する .It Ic daemon デーモンモードに移行する .It Ic fork サーバを fork する .It Ic full プログラムトレース +.It Ic hrtime +高精度のタイムスタンプを表示 +.Xr ( syslog 3 +が使用されない場合) .It Ic info info サービスに固有のデバッグ情報 (hesiod, nis など) .It mem メモリアロケーションをトレースする .It Ic mtab ローカルの .Pa ./mtab ファイルを用いる +.It Ic readdir +browsable_dirs の進捗を表示する .It Ic str 文字列操作のデバッグ .It Ic test 完全なデバッグモードだがデーモンにしない .It Ic trace -プロトコルのトレース +RPC プロトコルのトレースと +.Tn NFS +マウント引数 +.It Ic xdrtrace +XDR ルーチンのトレース .El .It Ic dismount_interval Xo (数値、デフォルト = 120) .Xc .Nm amd の .Fl w オプションと同じです。 キャッシュ期間を超えたファイルシステムのマウントを外そうとするまでの時間を 秒単位で指定します。 +.It Ic full_os Xo +(文字列、デフォルト = 組み込みの値) +.Xc +オペレーティングシステムの完全な名前にバージョン名を付けたものです。 +組み込まれたオペレーティングの完全な名前とバージョンを上書きできます。 +組み込まれた名前が望ましくない場合に有用です。 +例えば Linux 上では完全なオペレーティングシステム名は +.Qq linux +になりますが、これを +.Qq linux-2.2.5 +に設定可能です。 .It Ic fully_qualified_hosts Xo (文字列、デフォルト = no) .Xc .Qq yes に設定すると、 .Xr amd 8 は完全なホスト名 (fully-qualified host name) を用いて RPC 認証を行ないます。 システムによってはこの仕組みが必要です。 特にドメインにまたがるマウントを行う場合に必要となります。 この機能を有効にするため、 .Xr amd 8 の変数 .Va ${hostd} が用いられます。 .Va ${domain} は空であってはいけません。 .It Ic hesiod_base Xo (文字列、デフォルト = automount) .Xc hesiod マップのためのベース名を指定します。 .It Ic karch Xo (文字列、デフォルト = システムのカーネルアーキテクチャ) .Xc .Nm amd の .Fl k オプションと同じです。 システムのカーネルアーキテクチャを上書き指定できます。 例えば Sun (Sparc) マシンに便利です。 この場合、一つの .Xr amd 8 バイナリを作成し、それを複数のマシンで走らせますが、それぞれに 正しい .Va karch 変数 (例えば sun4c, sun4m, sun4u など) を設定したいと思うでしょう。 注意: もしこのオプションを指定しなければ、 .Xr amd 8 は .Xr uname 3 を用いてそのマシンのカーネルアーキテクチャを判別します。 .It Ic ldap_base Xo (文字列、デフォルト = 未設定) .Xc LDAP のためのベース名を指定します。 +普通、国名や組織名といった LDAP 固有の値を含みます。 .It Ic ldap_cache_maxmem Xo (数値、デフォルト = 131072) .Xc LDAP エントリをキャッシュするために amd が使用する最大メモリ量を指定します。 .It Ic ldap_cache_seconds Xo (数値、デフォルト = 0) .Xc エントリをキャッシュに保持する秒数を指定します。 .It Nm ldap_hostports Xo (文字列、デフォルト = 未設定) .Xc -国名や組織名といった LDAP 固有の値を指定します。 +LDAP のホストおよびポート値を指定します。 .It Ic local_domain Xo (文字列、デフォルト = サブドメインなし) .Xc .Nm amd の .Fl d オプションと同じです。 ローカルのドメイン名を指定します。 このオプションが与えられない場合、 完全なホスト名から最初の要素を取り除くことでドメイン名を決定します。 .It Ic log_file Xo (文字列、デフォルト = /dev/stderr) .Xc .Nm amd の .Fl l オプションと同じです。 .Xr amd 8 のイベントログを記録するファイル名を指定します。 文字列 .Pa /dev/stderr を指定すると、 .Xr amd 8 はイベントを標準エラー出力ファイル記述子に送ります。 もし文字列 .Pa syslog を指定すると、 .Xr amd 8 はシステムログ記録機構 .Xr syslogd 8 を用いてイベントを記録します。 デフォルトで用いられる syslog ファシリティは .Ev LOG_DAEMON です。 これを変更するには、ログファイル名に続いて、単一のコロンで区切って ファシリティ名を記述します。例えば .Pa logfile として文字列 .Qq syslog:local7 を指定すると、 .Xr amd 8 は .Ev LOG_LOCAL7 ファシリティを用いて .Xr syslog 3 経由でメッセージを記録します (そのファシリティが当該システムに存在する場合)。 .It Ic log_options Xo (文字列、デフォルト = ロギングオプションなし) .Xc .Nm amd の .Fl x オプションと同じです。 .Xr amd 8 のロギングオプションを指定します。 複数のオプションはコンマで区切ります。 先頭に .Dq no をつけることで、その意味を反転させることができます。 ロギングオプション .Dq debug は、 am-utils が .Fl -enable-debug 付きで構築された場合のみ利用可能です。 .Nm amd Fl v を実行するとサポートされているデバッグオプションの一覧が得られます。 指定可能な値は以下の通りです。 .Pp .Bl -tag -width "warning" -compact .It Ic all すべてのメッセージ .It Ic debug デバッグメッセージ .It Ic error 重大ではないシステムエラー .It Ic fatal 重大なエラー .It Ic info 参考情報 .It Ic map マップエラー .It Ic stats より詳細な統計情報 .It Ic user 重大ではないユーザエラー .It Ic warn 警告 .It Ic warning 警告 .El +.It Ic nfs_vers Xo +(数値、デフォルト = まずバージョン 3、次に 2) +.Xc +デフォルトでは、 +.Nm amd +はバージョン 3 を試行し、それからバージョン 2 を試行します。 +このオプションを使用すると、 +すべての NFS プロトコルに 3 または 2 を強制します。 +これは amd maps 中の設定に優先します。 +.Nm amd +が NFSv3 サポート付きでコンパイルされているが不安定な場合に有用でしょう。 +このオプションを使用することで、 +NFSv3 サポートが再度必要となるような時まで、 +動的に +.Nm ( amd +を再コンパイルすることなく) NFSv3 サポートの使用を完全に止められます。 .It Ic nfs_retransmit_counter Xo -(数値、デフォルト = 110) +(数値、デフォルト = 11) .Xc .Xr amd 8 の .Fl t Ar interval.counter オプションの .Ic counter 部と同じです。 再送カウンタの値を 1/10 秒単位で指定します。 .It Ic nfs_retry_interval Xo (数値、デフォルト = 8) .Xc .Xr amd 8 の -.Fl t Ar interval.counter +.Fl t Ar timeout.retransmit オプションの -.Ic interval +.Ic timeout 部と同じです。 -NFS/RPC/UDP 再試行間隔を 1/10 秒単位で指定します。 +NFS/RPC の再試行 (UDP のみ) の間のインターバルを +.Em 1/10 +秒単位で指定します。 +この値は、カーネルが +.Nm amd +との通信に使用します。 +.Pp +.Nm amd +はカーネルの RPC 再送信機構がマウント再試行の引き金に +なることに依存しています。 +.Ar nfs_retransmit_counter +および +.Ar nfs_retry_interval +の値は、最終的なリトライインターバルを変えます。 +インターバルが長過ぎると、対話的な応答性が落ちます。 +インターバルが短か過ぎると、リトライ回数が多くなり過ぎます。 +.It Ic nfs_proto Xo +(文字列、デフォルト = まず TCP、次に UDP) +.Xc +デフォルトでは、 +.Nm amd +は TCP を試行し、その次に UDP を試行します。 +このオプションを使用すると、 +すべての NFS プロトコルに TCP または UDP を強制します。 +これは amd maps 中の設定に優先します。 +.Nm amd +が NFSv3 サポート付きでコンパイルされているが不安定な場合に有用でしょう。 +このオプションを使用することで、 +NFSv3 サポートが再度必要となるような時まで、 +動的に +.Nm ( amd +を再コンパイルすることなく) NFSv3 サポートの使用を完全に止められます。 .It Ic nis_domain Xo (文字列、デフォルト = ローカル NIS ドメイン名) .Xc .Nm amd の .Fl y オプションと同じです。 .Tn NIS マップを取得するために、別の .Tn NIS ドメインを指定します。 デフォルトはシステムのドメイン名です。 .Tn NIS サポートが利用可能でない場合、このオプションは無視されます。 .It Ic normalize_hostnames Xo (ブール値、デフォルト = no) .Xc .Nm amd の .Fl n オプションと同じです。 .Dq yes を指定すると、 .Va ${rhost} の参照先の名前は、前もってホストデータベースからの相対値に正規化されます。 別名 (エイリアス) を .Qq 公式な 名前に変換する効果があります。 .It Ic os Xo (文字列、デフォルト = コンパイル時の値) .Xc .Nm amd の .Fl O オプションと同じです。 コンパイル時に決まったオペレーティングシステム名を上書きできます。 以前との互換性を保つためには組み込み済みの名前はふさわしくない、 という場合に便利です。 例えば、もし組み込まれた名前が .Dq sunos5 の場合、これを上書きして .Dq sos5 とすることで、後者の OS 名を前提に書かれた以前のマップを利用できます。 .It Ic osver Xo (文字列、デフォルト = コンパイル時の値) .Xc .Nm amd の .Fl o オプションと同じです。 コンパイル時に決まったオペレーティングシステムのバージョン番号を 上書きします。 以前との互換性を保つためには組み込み済みのバージョンはふさわしくない、 という場合に便利です。 例えば、もし組み込まれたバージョン番号が .Dq 2.5.1 の場合、これを上書きして .Dq 5.5.1 とすることで、後者のバージョンを前提に書かれた以前のマップを利用できます。 .It Ic pid_file Xo (文字列、デフォルト = /dev/stdout) .Xc 実行しているデーモンのプロセス ID を格納するファイルを指定します。 これを指定しない場合、 .Xr amd 8 は自分のプロセス ID を標準出力にのみ書き出します。 実行後に .Xr amd 8 を kill する際に便利です。 注意: 実行中の .Xr amd 8 のプロセス ID は .Nm amq Fl p によっても得られます。 このファイルは .Ar print_pid オプションがオンの場合のみ使用されます。 .It Ic plock Xo (ブール値、デフォルト = yes) .Xc .Nm amd の .Fl S オプションと同じです。 .Dq yes を指定すると、実行中の .Xr amd 8 の実行可能ページをメモリ上にロックします。 .Xr plock 3 をサポートしているシステムでは、 .Xr amd 8 プロセスをメモリ上にロックすることで .Xr amd 8 の性能を向上させることができます。 このようにして、オペレーティングシステムが必要に応じて .Xr amd 8 プロセスをスケジュールしたり、ページアウトさせたり、スワップさせたりする 可能性を減らします。 これにより .Xr amd 8 の性能は向上しますが、その反面、 .Xr amd 8 プロセスが使用しているメモリが予約される (他のプロセスがそのメモリを使えなくなる) という代償もあります。 .It Ic portmap_program Xo (数値、デフォルト = 300019) .Xc 公式の番号とは別の、ポートマップ RPC プログラム番号を指定します。 これは複数の .Xr amd 8 プロセスを実行させる場合に便利です。 例えば、メインの .Xr amd 8 プロセスに全く影響を与えることなく、別の .Xr amd 8 を .Dq test モードで実行できます。 安全のため、指定する別のプログラム番号は 300019 から 300029 まで の範囲になければなりません。 .Nm amq は、接続するための別のプログラム番号を指定するのに用いる .Fl P オプションを持っています。 このように、 .Nm amq は同じホスト上で実行されている複数の .Xr amd 8 プロセスを完全に制御することが可能です。 .It Ic print_pid Xo (ブール値、デフォルト = no) .Xc .Nm amd の .Fl p オプションと同じです。 .Dq yes を指定すると、 .Xr amd 8 は起動時にそのプロセス ID を表示します。 .It Ic print_version Xo (ブール値、デフォルト = no) .Xc .Nm amd の .Fl v オプションと同じですが、バージョンを表示しても .Xr amd 8 は実行を続けます。 .Dq yes の場合、 .Xr amd 8 は、コンフィギュレーション設定やコンパイル時の値を含む バージョン情報文字列を表示します。 .It Ic restart_mounts Xo (ブール値、デフォルト = no) .Xc .Nm amd の .Fl r オプションと同じです。 .Dq yes とすると、 .Xr amd 8 はマウントテーブルを走査して、現在どのファイルシステムがマウントされて いるのか判断します。その中に自動マウントすべきファイルシステムがあれば、 .Xr amd 8 はそれを継承します。 -.It Ic selectors_on_default Xo +.It Ic selectors_in_defaults Xo (ブール値、デフォルト = no) .Xc .Dq yes とすると、マップの -.Pa /default +.Pa /defaults エントリが検索され、そのマップ中の他のすべてのキーのデフォルト値を 設定する前に、すべてのセレクタを処理します。 あるパラメータに基づき、ある完全なマップに対して異なるオプションを 設定したい場合に有用です。 例えば、slip ベースの低速ネットワーク越しの .Tn NFS 性能を改善するためには、次のようにします。 .Pp .Bd -literal /defaults \\ wire==slip-net;opts:=intr,rsize=1024,wsize=1024 \\ wire!=slip-net;opts:=intr,rsize=8192,wsize=8192 .Ed +廃れた形式: selectors_on_default .It Ic show_statfs_entries Xo (ブール値、デフォルト = no) .Xc .Dq yes とすると、ブラウズ可能なすべてのマップは、 .Qq df 実行時にエントリ数 (key 数) をあわせて表示します .Po この機能は、 .Xr statfs 2 呼び出しに対して非 0 値を返すことで実現されています -.Pc。 +.Pc +。 .It Ic unmount_on_exit Xo (ブール値、デフォルト = no) .Xc .Dq yes とすると、 .Xr amd 8 は関知しているすべてのファイルシステムをアンマウントしようとします。 通常、 .Xr amd 8 はすべての (特に) .Tn NFS マウントされたファイルシステムをそのまま残します。 注意: .Ar restart_mounts オプションまたは .Fl r フラグが指定されていない限り、 .Xr amd 8 は起動時以前にマウントされていたファイルシステムのことを関知しません。 +.It Ic vendor Xo +(文字列、デフォルトは組み込みの値) +.Xc +オペレーティングシステムのベンダ名です。 +組み込みのベンダ名を上書きします。 +組み込まれた名前が望ましくない場合に有用です。 +例えば、ほとんどの Intel ベースのシステムはベンダ名を +.Qq unknown +にしますが、これを +.Qq redhat +に設定可能です。 .El .Sy "通常のマップセクションに適用されるパラメータ) .Bl -tag -width 4n .It Ic map_name Xo (文字列、必須) .Xc キーが配置されるマップの名前です。 .It Ic tag Xo (文字列、デフォルト = タグなし) .Xc コンフィギュレーションファイルの各マップエントリにはタグをつけることが できます。タグが指定されない場合、そのマップセクションは常に .Xr amd 8 で処理されます。 タグが指定されている場合、 .Xr amd 8 に .Fl T オプションが指定され、そのコマンドラインオプションの値が マップセクションのタグ名と一致する場合のみ、 .Xr amd 8 はそのマップを処理します。 .El .Sh 使用例 以下に示すものは、私がいつも使っている実際の .Xr amd 8 コンフィギュレーションです。 .Bd -literal # グローバルオプションセクション [ global ] normalize_hostnames = no print_pid = no restart_mounts = yes auto_dir = /n log_file = /var/log/amd log_options = all #debug_options = all plock = no -selectors_on_default = yes +selectors_in_default = yes # config.guess は "sunos5" を選びました。 # 今のところこれを変えようとは思いません。 os = sos5 # "os" を設定後 print_version を有効にすると、バージョンが表示されます。 print_version = no map_type = file search_path = /etc/amdmaps:/usr/lib/amd:/usr/local/AMD/lib browsable_dirs = yes # マウントポイントの定義 [ /u ] map_name = amd.u [ /proj ] map_name = amd.proj [ /src ] map_name = amd.src [ /misc ] map_name = amd.misc [ /import ] map_name = amd.import [ /tftpboot/.amd ] tag = tftpboot map_name = amd.tftpboot .Ed .Sh 関連項目 .Xr amd 8 , .Xr amq 8 .Sh 作者 .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp am-utils の他の作者並びに貢献者のリストが、am-utils と共に配布されている .Nm AUTHORS ファイルにあります。 .Sh 歴史 .Xr amd 8 ユーティリティは .Bx 4.4 で初めて登場しました。 diff --git a/ja_JP.eucJP/man/man5/core.5 b/ja_JP.eucJP/man/man5/core.5 index 6a33814921..5898870254 100644 --- a/ja_JP.eucJP/man/man5/core.5 +++ b/ja_JP.eucJP/man/man5/core.5 @@ -1,150 +1,150 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)core.5 8.3 (Berkeley) 12/11/93 -.\" %FreeBSD: src/share/man/man5/core.5,v 1.16 2002/03/17 13:09:35 ru Exp % +.\" %FreeBSD: src/share/man/man5/core.5,v 1.17 2003/09/08 19:57:20 ru Exp % .\" .\" $FreeBSD$ .\" .Dd January 9, 2002 .Dt CORE 5 .Os .Sh 名称 .Nm core .Nd メモリイメージのファイルフォーマット .Sh 書式 .In sys/param.h .Sh 解説 プロセスを異常終了させる少数のシグナルは、 プロセスのメモリ内状態の記録をディスクに書き出させる効果もあります。 これにより、デバッガを使用して後で検査を行うことが可能です。( .Xr sigaction 2 を参照してください。) このメモリイメージは、デフォルトでは作業ディレクトリの .Nm プログラム名.core という名前のファイルに書かれます。 ただし、終了したプロセスがそのディレクトリに書きこみ権限を持ち、 発生した異常がシステムを破壊しないことが前提です。 (システムが破壊された場合には、 コアファイルを保存するかどうかの決定は不定です。 .Xr savecore 8 を参照してください。) .Pp コアファイルの最大サイズは .Xr setrlimit 2 により制限されます。 制限よりも大きくなるファイルは生成されません。 ファイル名は .Xr sysctl 8 変数 .Va kern.corefile にて制御されます。 この変数の内容がコアイメージを格納するファイルの名前を示します。 このファイル名は絶対でも相対でもかまいません (後者の場合、コアを生成するプログラムの現在のディレクトリから解決されます)。 このファイル名テンプレート中のシーケンス .Em \&%N はプロセス名で置き換えられ、 .Em \&%P はプロセスの PID で置き換えられ、 .Em \&%U は UID で置き換えられます。 デフォルトの名前は .Em \&%N.core であり、伝統的な .Fx の振舞いとなります。 .Pp デフォルトでは、実または実効のユーザ、グループが変更されている プロセスがコアファイルを生成しません。 .\" +By default, a process that changes user or group credentials whether .\" +real or effective will not create a corefile. この動作は .Xr sysctl 8 で .Va kern.sugid_coredump を 1 にすることによりコアを生成する用に変更することができます。 .\" +This behaviour can be .\" +changed to generate a core dump by setting the .\" +.Xr sysctl 8 .\" +variable .\" +.Va kern.sugid_coredump .\" +to 1. コアファイルは、(ページ数での) 大きさが -.Aq Pa sys/param.h +.In sys/param.h ファイルで .Dv UPAGES と定義されている .Fa u. 領域からなります。 .Fa u. 領域は -.Aq Pa sys/user.h +.In sys/user.h に記述されている .Fa user 構造体から始まります。 コアの残りの部分には、 データページに続いてプロセスイメージのスタックページが格納されます。 コアファイル中のデータ空間イメージの (ページ数での) 大きさは、 .Fa u. 領域の変数 .Fa u_dsize で与えられます。 コアファイル中のスタックイメージの (ページ数での) 大きさは、 .Fa u. 領域の変数 .Fa u_ssize で与えられます。 ``ページ'' サイズは定数 .Dv PAGE_SIZE で与えられます (これも -.Aq Pa sys/param.h +.In sys/param.h から与えられます)。 .Sh 使用例 全コアイメージを、 .Pa /var/coredumps 以下のユーザごとのプライベート領域に格納するためには、 次のように .Xr sysctl 8 コマンドを使用します: .Pp .Dl sysctl kern.corefile="/var/coredumps/\&%U/\&%N.core" .Sh 関連項目 .Xr gdb 1 , .Xr kgdb 1 , .Xr setrlimit 2 , .Xr sigaction 2 , .Xr sysctl 8 .Sh 歴史 .Nm ファイルのフォーマットは .At v6 に登場しました。 diff --git a/ja_JP.eucJP/man/man5/device.hints.5 b/ja_JP.eucJP/man/man5/device.hints.5 index 89863acd96..cf7ba6e397 100644 --- a/ja_JP.eucJP/man/man5/device.hints.5 +++ b/ja_JP.eucJP/man/man5/device.hints.5 @@ -1,166 +1,170 @@ .\" Copyright (c) 2001 .\" Kazutaka YOKOTA .\" 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 as .\" the first lines of this file unmodified. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/device.hints.5,v 1.8 2002/12/19 18:26:26 trhodes Exp % +.\" %FreeBSD: src/share/man/man5/device.hints.5,v 1.10 2003/09/19 22:27:54 jb Exp % .\" $FreeBSD$ .\" .\" WORDS .\" hints,hint ヒント .\" boot loader boot loader .\" start address スタートアドレス .\" most often よく .\" .Dd October 7, 2001 .Dt DEVICE.HINTS 5 .Os .Sh 名称 .Nm device.hints .Nd デバイスリソースヒント .Sh 解説 .Nm ファイルは、システムの起動時に boot .Xr loader 8 によって読み込まれ、その内容がカーネルに渡されます。 その内容には、カーネルの起動動作を制御するいろいろな変数が含まれます。 それらの変数は、主に .Dq デバイスヒント です。 .\" .Dq device hints , .\" and other control variables. .Pp ファイルの一行で一つの変数を定義します。 .Ql # の文字で始まる行はコメントで、boot loader には無視されます。 .Pp boot loader がファイルを読み込んでからは、 .Ic show コマンドでその値を確認することが出来ます。 また、boot loader の .Ic set や .Ic unset コマンドを用いて、新しい変数を追加したり既存の変数を変更・削除したり することが出来ます。 .Xr ( loader 8 参照) .Pp システムが起動してからは .Xr kenv 1 コマンドで、これらの変数を表示させることが出来ます。 .Sh デバイスヒント デバイスヒント変数は、デバイスドライバがデバイスをセットアップするのに 使用されます。 これらは ISA デバイスドライバがよく利用していて、 ドライバが適切なデバイスをプローブするのにどこを見るかや、 どのリソースを使うのかを指定するのに使われています。 .Pp デバイスヒント行は、次のようになっています: .Pp .Sm off .D1 Li hint. Ar driver Li . Ar unit Li . Ar keyword Li = Qq Ar value .Sm on .Pp ここで .Ar driver はデバイスドライバの名称、 .Ar unit はユニット番号、 .Ar keyword はその行のヒントのキーワードです。 キーワードには次のものがあります: .Pp .Bl -tag -width ".Li disabled" -compact -offset indent .It Li at デバイスがアタッチされるバスを指定します。 .It Li port デバイスが使用する I/O ポートのスタートアドレスを指定します。 +.It Li portsize +デバイスが使用するポート数です。 .It Li irq 使用する割り込みライン番号です。 .It Li drq DMA チャネル番号です。 .It Li maddr デバイスが使用する物理メモリアドレスを指定します。 +.It Li msize +デバイスが使用する物理メモリサイズを指定します。 .It Li flags デバイスのいろいろなフラグビットを設定します。 .It Li disabled .Qq 1 に設定するとデバイスを使用不可にすることが出来ます。 .El .Pp デバイスドライバによっては、これらのキーワードの一つもしくは それ以上のヒント行が必須になることもあるかもしれませんし、 ここのリストにないキーワードが使えるかもしれません。 使用可能なキーワードや設定可能な値については個々のデバイスドライバの マニュアルページを参照してください。 .\" .Sh CONTROL VARIABLES .\" Lines not starting with .\" .Dq hint. .\" specify other control variables for the kernel. .\" They look: .\" .Pp .\" .Dl ="" .\" XXX .\" WE SHOULD LIST AVAILABLE VARIABLE NAMES AND THEIR POSSIBLE VALUES HERE! .\" .Pp .Sh 関連ファイル .Bl -tag -width ".Pa /sys/ Ns Ar ARCH Ns Pa /conf/GENERIC.hints" -compact .It Pa /boot/device.hints デバイスリソースヒントファイル .It Pa /sys/ Ns Ar ARCH Ns Pa /conf/GENERIC.hints .Pa GENERIC カーネル用のサンプルリソースヒントファイル .It Pa /sys/ Ns Ar ARCH Ns Pa /conf/NOTES カーネル設定ファイルやデバイスリソースヒントに関する注 .El .Sh 使用例 次の例は、ISA バス上の .Xr sio 4 ドライバのリソースを設定するものです: .Bd -literal -offset indent hint.sio.0.at="isa" hint.sio.0.port="0x3F8" hint.sio.0.flags="0x10" hint.sio.0.irq="4" .Ed .Pp 次の例は、ACPI ドライバを使用不可にするものです: .Bd -literal -offset indent hint.acpi.0.disabled="1" .Ed .\" .Pp .\" A control variable may look like: .\" .Pp .\" .Bd -literal -offset indent .\" debug.acpi.layer="ACPI_RESOURCES" .\" .Ed .Sh 関連項目 .Xr kenv 1 , .Xr loader.conf 5 , .Xr loader 8 .Sh 歴史 .Nm ファイルは .Fx 5.0 に初めて登場しました。 diff --git a/ja_JP.eucJP/man/man5/dhclient.conf.5 b/ja_JP.eucJP/man/man5/dhclient.conf.5 index 1224c17a7f..fd16166aff 100644 --- a/ja_JP.eucJP/man/man5/dhclient.conf.5 +++ b/ja_JP.eucJP/man/man5/dhclient.conf.5 @@ -1,633 +1,633 @@ .\" dhclient.conf.5 .\" .\" Copyright (c) 1996-2002 Internet Software Consortium. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of The Internet Software Consortium 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 INTERNET SOFTWARE CONSORTIUM 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 INTERNET SOFTWARE CONSORTIUM 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. .\" .\" This software has been written for the Internet Software Consortium .\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. .\" To learn more about the Internet Software Consortium, see .\" ``http://www.isc.org/''. To learn more about Vixie Enterprises, .\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see .\" ``http://www.nominum.com''. .\" -.\" $Id: dhclient.conf.5,v 1.10 2003-03-24 04:55:30 horikawa Exp $ -.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.conf.5,v 1.12 2003/01/16 07:31:49 obrien Exp % +.\" $Id: dhclient.conf.5,v 1.11 2003-10-13 02:42:26 horikawa Exp $ +.\" %FreeBSD: src/contrib/isc-dhcp/client/dhclient.conf.5,v 1.13 2003/09/02 11:13:20 mbr Exp % .\" $FreeBSD$ .\" WORD: lease リース(アドレスの貸与)[dhclient.conf.5] .\" WORD: lease discovery request リース発見要求[dhclient.conf.5] .\" WORD: offer (リース提供の)申し出、提供申し出[dhclient.conf.5] .TH dhclient.conf 5 .SH 名称 dhclient.conf - DHCP クライアント設定ファイル .SH 解説 dhclient.conf ファイルには Internet Software Consortium の DHCP クライアントである .IR dhclient の設定情報が含まれます。 .PP dhclient.conf は自由形式の ASCII テキストファイルです。 このファイルは dhclient に組み込まれた再帰下降パーザに解析されます。 ファイルには、整形の目的でタブや改行を余分に含めることもできます。 ファイル中のキーワードでは大文字小文字を区別しません。 (クォート内は除いて) ファイル中のどこでもコメントを置くことができます。 コメントは文字 # で始まり、行末で終わります。 .PP dhclient.conf ファイルで、クライアントのさまざまな動作を設定できます。 それらには、プロトコルのタイミング、サーバに対して要求する情報、 サーバに対して必須とされる情報、 サーバが情報を提供しなかった場合に用いるデフォルト、 サーバから提供された情報を上書きする値、 サーバから提供された情報に前置や後置する値などがあります。 また、DHCP サーバを持たないネットワークで使うアドレスであっても、 あらかじめ設定ファイルで初期化することもできます。 .SH プロトコルのタイミング クライアントのタイミング動作は、ユーザが設定する必要はありません。 ユーザがタイミング設定を行わなければ、 サーバに無秩序に負荷を与えたりせず適時更新を行うような、 充分に適切なタイミング動作がデフォルトで用いられます。 .PP しかし、必要に応じて、 次の文を指定して DHCP クライアントのタイミング動作を調節できます: .PP .B timeout .I 文 .PP .B timeout .I time .B ; .PP .I timeout 文は、クライアントがアドレスを決める試みを開始してから、 サーバにアクセスすることが できないと判断するまでに経過すべき時間を決めます。 デフォルトではこのタイムアウト値は 60 秒です。 このタイムアウト値が過ぎた後は、 もし静的なリースが設定ファイルに定義されているか、 リースデータベースにまだ期限切れになっていないリースが残っていれば、 クライアントはそれらのリースをひとつずつ検証してみて、 いずれかが有効なようであればそのリースのアドレスを使います。 もし静的なリースも、リースデータベース内の期限の切れていないリースで 有効なものも存在しなければ、 クライアントは定義された retry 間隔の後でプロトコルを再開させます。 .PP .B retry .I 文 .PP \fBretry \fItime\fR\fB;\fR .PP .I retry 文は、クライアントが DHCP サーバが存在しないと判断してから 再び DHCP サーバにアクセスを試みるまでの間に、経過するべき時間を決めます。 デフォルトでは、これは 5 分です。 .PP .B select-timeout .I 文 .PP \fBselect-timeout \fItime\fR\fB;\fR .PP あるネットワーク上で、複数の DHCP サーバがサービスを提供することもできます (その方が望ましいという意見もあります)。 その場合、最初のリース発見メッセージ (lease discovery message) への応答として、 クライアントが複数のリース提供の申し出を受けることもあり得ます。 それらのうち、ある提供が他の提供よりも好ましいかもしれません (例えば、クライアントが以前使用していたアドレスがある提供に含まれているが、 他の提供には含まれないなど)。 .PP .I select-timeout はクライアントが最初のリース発見要求 を送信して、 少なくとも 1 つの提供申し出を受けた場合、 サーバからの提供申し出待ちをやめるまでの時間です。 もし .I select-timeout が切れるまでにどこからも提供申し出を受け取れなければ、 クライアントはそのあと最初に到着する提供申し出を受け入れます。 .PP デフォルトでは、select-timeout 値は 0 秒です。 つまりクライアントは最初に受け取る提供申し出を受け入れます。 .PP .B reboot .I 文 .PP \fBreboot \fItime\fR\fB;\fR .PP クライアントは、再起動すると、 最後に保持していたアドレスをまず取得し直そうとします。 これを INIT-REBOOT (初期リブート) 状態と呼びます。 最後に動作していたときと同じネットワークに クライアントがまだ接続していれば、これが最も素早い起動法となります。 .I reboot 文は、クライアントが最初に古いアドレスの再取得を試みてから、 あきらめて新しいアドレスを発見しようとするまでに、 経過すべき時間を設定します。 デフォルトでは、reboot タイムアウト値は 10 秒です。 .PP .B backoff-cutoff .I 文 .PP \fBbackoff-cutoff \fItime\fR\fB;\fR .PP クライアントは、指数的な一時退避 (backoff) アルゴリズムを、ある程度の 乱数付きで使用します。これは、多くのクライアントが同時に自分を設定しよう としたときでも、リクエストがロックしてしまうことがないようにするためです。 .I backoff-cutoff 文は、一時退避に許された最大時間を決定します。デフォルト値は 2 分です。 .PP .B initial-interval .I 文 .PP \fBinitial-interval \fItime\fR\fB;\fR .PP .I initial-interval 文は、サーバへの最初のアクセスの試みから次の試みまでの間の時間を 設定します。メッセージの間隔は、メッセージを 1 回送信するたびに、 現在の間隔に 0 から 1 の間の乱数値を乗じたものの 2 倍を、現在の間隔に 加えたものになります。 この値が backoff-cutoff 値より大きくなると、この時間が設定されます。 デフォルト値は 10 秒です。 .SH リース要求とリクエスト DHCP プロトコルでは、クライアントからサーバに対し、特定の情報を送るよう 要求したり、受け入れ準備のできていない他の情報は送らないように要求したり できます。 また、サーバからの提供申し出にクライアントの必要とする情報が含まれない 場合や、提供された情報が充分でない場合、クライアントが提供申し出を 拒否することもできます。 .PP DHCP サーバが DHCP クライアントに送る提供申し出に含まれるデータには、 さまざまなものがあります。 特に要求できるデータは \fIDHCP オプション\fR と呼ばれるものです。 DHCP オプションは \fBdhcp-options(5)\fR に定義されています。 .PP .B request .I 文 .PP \fBrequest [ \fIoption\fR ] [\fB,\fI ... \fIoption\fR ]\fB;\fR .PP request 文を指定することで、クライアントは、サーバに対し、その クライアントに応答するならば、指定したオプションの値を送るよう 要求するようになります。 request 文にはオプション名だけを指定し、オプションパラメータは指定しません。 デフォルトでは DHCP クライアントは subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name オプションを要求します。 .PP 場合によっては要求リストを全く送らないことが望ましいこともあります。 そうするためには、単純にパラメータを指定しない request 文を書いて下さい: .PP .nf request; .fi .PP .B require .I 文 .PP \fBrequire [ \fIoption\fR ] [\fB,\fI ... \fIoption ]\fB;\fR .PP require 文には、ある提供申し出をクライアントが受け入れるために サーバが送るべきオプションを列挙します。 列挙されたオプションすべてを含まない提供申し出は無視されます。 .PP .B send .I 文 .PP \fBsend { [ \fIoption declaration\fR ] [\fB,\fI ... \fIoption declaration\fR ]\fB}\fR .PP send 文を指定することで、クライアントは、 指定したオプションを指定した値でサーバに送信するようになります。 ここで指定できるオプションは、 \fBdhcp-options(5)\fR で説明されているオプション宣言すべてです。 DHCP プロトコルで常に送られるオプションは ここに指定するべきではありません。但し、 \fBrequested-lease-time\fR オプションをデフォルトのリース時間 (2 時間) 以外の値で指定することはできます。この文を使う他の場合として明らかな ものは、自分と別の種類のクライアントとを区別できるような 情報を、サーバに対し送信する場合です。 .SH 動的 DNS 現在、リースが獲得された際に DNS の更新を行うための、 非常に限定的なサポートがクライアントにあります。 これはプロトタイプ的なものであり、 おそらくあなたが思っているようには動きません。 もし、あなたが偶然にも自分のところの DNS サーバの管理者であるというなら、 その場合に限っては動きます。とてもありそうにないことですが。 .PP これを動作させるためには、DHCP サーバの中で 鍵とゾーンを宣言する必要があります (詳細は \fBdhcpd.conf\fR(5) を参照)。 また、次のようにクライアントで fqdn オプションを設定する必要があります: .PP .nf send fqdn.fqdn "grosse.fugue.com."; send fqdn.encoded on; send fqdn.server-update off; .fi .PP \fIfqdn.fqdn\fR オプションは \fB必ず\fR 完全なドメイン名でなければなりません。 更新するゾーンに対するゾーン文を \fB必ず\fR 定義しなければなりません。 \fIfqdn.encoded\fR オプションは、使用している DHCP サーバによっては、 \fIon\fR か \fIoff\fR に設定する必要があるかもしれません。 .PP .B do-forward-updates .I 文 .PP \fBdo-forward-updates [ \fIflag\fR ] \fB;\fR .PP DHCP クライアントが直接 DNS の更新を行うよりも、 DHCP クライアントスクリプト (\fBdhclient-script(8)\fR 参照) の中で DNS の更新を行いたい場合 (例えば、DHCP クライアントが直接サポートしていない SIG(0) 認証を使用したい場合) には、\fBdo-forward-updates\fR 文を使って、更新を行うように クライアントに教えることができます。 DHCP クライアントが更新することを望む場合は \fIflag\fR を \fBtrue\fR にし、 更新することを望まない場合は \fIflag\fR を \fBfalse\fR にすることになります。 デフォルトでは DHCP クライアントは DNS の更新を行います。 .PP .SH オプション修飾子 そのクライアントにとって実際には適切でない オプションデータを受け取ったり、必要な情報を受け取らなかったり する場合で、かつ、それらの情報に利用可能なデフォルトの値が クライアント側に存在する場合があります。 また、利用可能ではあるがローカルの情報で補う必要のある情報を クライアントが受けとる場合もあります。 こういう場合を扱うために、 いくつかのオプション修飾子が利用できます。 .PP .B default .I 文 .PP \fBdefault [ \fIoption declaration\fR ] \fB;\fR .PP あるオプションについて、 サーバから提供される値をクライアントが使わなければならないが、 もしサーバから値が提供されなければ 何らかのデフォルト値を使う必要がある場合、 それらの値を .B default 文で定義することができます。 .PP .B supersede .I 文 .PP \fBsupersede [ \fIoption declaration\fR ] \fB;\fR .PP あるオプションについて、 どのような値がサーバから提供されても、 常にローカルで設定された値を使わなければならない場合、 それらの値を .B supersede 文で定義することができます。 .PP .B prepend .I 文 .PP \fBprepend [ \fIoption declaration\fR ] \fB;\fR .PP あるオプションの集合について、まずユーザが提供する値を使い、 その次にサーバから提供された値があればそれを使う場合、 それらの値を .B prepend 文で定義することができます。 .B prepend 文は複数の値を取ることのできるオプションにのみ用いることができます。 この制約は強制されるものではありませんが、 これを無視した場合、どのような挙動になるかは予想できません。 .PP .B append .I 文 .PP \fBappend [ \fIoption declaration\fR ] \fB;\fR .PP あるオプションの集合について、まずサーバから提供された値を使い、 その次にユーザが提供する値があればそれも使う場合、 それらの値を .B append 文で定義することができます。 .B append 文は複数の値を取ることのできるオプションにのみ用いることができます。 この制約は強制されるものではありませんが、 もし違反すると予期できない結果となります。 .SH リース宣言 .PP .B lease .I 宣言 .PP \fBlease {\fR \fIlease-declaration\fR [ ... \fIlease-declaration ] \fB}\fR .PP ある時間 (\fBプロトコルのタイミング\fR 参照) の後、DHCP クライアントは サーバへのアクセスに成功しそうにないと判断する場合があります。 その時点で、クライアントは自分が持っている、古いリースのデータベースを 見て、時間切れになっていないリースを順に調べ、そこに挙がっている ルータに ping を行って、それが利用可能なリースかどうかを調べます。 DHCP サービスや BOOTP サービスが存在しないネットワークのために、 1 つ以上の \fI固定\fR リースをクライアント設定ファイルに定義しておいて、 クライアントがアドレスを自動的に設定できるようにすることもできます。 これは .B lease 文で行います。 .PP 注意: lease 文は、DHCP サーバから受け取ったリースを記録するために、 dhclient.leases ファイルでも使われます。 以下に説明するリース用のシンタックスには dhclient.leases ファイルでのみ必要なものもあります。 説明を完全なものにするため、そのようなシンタックスもここで記述します。 .PP lease 文は、リースキーワード、左中括弧、1 つ以上のリース宣言文、 右中括弧が続いたもので構成されます。 リース宣言として、次のものが可能です: .PP \fBbootp;\fR .PP .B bootp 文は、リースが DHCP プロトコルではなく、 BOOTP プロトコルを用いて取得されたことを示します。 この文をクライアント設定ファイルに指定する必要は全くありません。 クライアントはこの構文をリースデータベースファイル内で使います。 .PP \fBinterface\fR \fB"\fR\fIstring\fR\fB";\fR .PP .B interface リース文は、そのリースを有効とするインタフェースを示します。 これが設定されている場合、このリースは、指定されたインタフェース 上でのみ使用されます。 サーバからリースを受け取ったとき、 クライアントは常にそのリースを受け取ったインタフェース番号を記録します。 dhclient.conf ファイルで事前にリースを定義している場合、要求されてない のですが、そのリースでインタフェースもあわせて指定しなければ なりません。 .PP \fBfixed-address\fR \fIip-address\fR\fB;\fR .PP .B fixed-address 文は特定のリースの IP アドレスを指定する際に使います。 これはすべての lease 文に必要です。 IP アドレスは (12.34.56.78 のように) ドット付き 4 つ組形式で 指定しなければなりません。 .PP \fBfilename "\fR\fIstring\fR\fB";\fR .PP .B filename 文は使用するブートファイル名を指定します。 これは標準的なクライアント設定スクリプトでは使われませんが、 説明の完全を期すためにここに含めてあります。 .PP \fBserver-name "\fR\fIstring\fR\fB";\fR .PP .B server-name 文は使用するブートサーバ名を指定します。 これも標準的なクライアント設定スクリプトでは使われません。 .PP \fBoption\fR \fIoption-declaration\fR\fB;\fR .PP .B option 文は、サーバから提供されるオプションの値を指定するのに使います。 あるいは、dhclient.conf で事前定義リースが宣言されている場合には、 その事前定義リースが使われる際にクライアント設定スクリプトで使用して 欲しい値を指定します。 .PP \fBscript "\fIscript-name\fB";\fR .PP .B script 文は dhcp クライアント設定スクリプトのパス名を指定するのに使います。 このスクリプトは、アドレスを要求したり、以前に提供されたアドレスを 試したり、 リースを取得してからインタフェースの最終設定を行ったりする前に、 dhcp クライアントが各インタフェースの初期設定を行うのに使います。 リースが取得できなかった場合には、 事前定義リースが存在する場合、それらを試すためにこのスクリプトが使われます。 また、有効なリースがひとつも得られなかった場合でも、このスクリプトは、 1 回は呼び出されます。 より詳しくは、 .B dhclient-script(8) を参照してください。 .PP \fBvendor option space "\fIname\fB";\fR .PP .B vendor option space 文は、vendor-encapsulate-options オプションを受信した場合、 復号化にどのオプション空間を使用するべきかを指定するために使用されます。 サーバからのベンダオプションの特定のクラスを要求するために、 \fIdhcp-vendor-identifier\fR を使用することができます。 詳細は .B dhcp-options(5) を参照してください。 .PP \fBmedium "\fImedia setup\fB";\fR .PP .B medium 文は、接続されているネットワークのタイプをネットワークインタフェースが 自動的に判断できないようなシステムで使うことができます。 文字列 media setup はシステム依存のパラメータで、 インタフェース初期化の際に dhcp クライアント設定スクリプトに渡されます。 Unix および Unix 風のシステムでは、 この引数はインタフェースを設定するときに ifconfig コマンドラインに 渡されます。 .PP リースを得るためにインタフェースを設定する 際に、dhcp クライアントがメディアタイプ ( .B media 文を参照) を使用する場合、dhcp クライアントは、このパラメータを 自動的に宣言します。ネットワークインタフェースがメディアタイプの 設定を必要とする場合は (する場合に限り)、この文を事前定義リースで 使用しなければなりません。 .PP \fBrenew\fR \fIdate\fB;\fR .PP \fBrebind\fR \fIdate\fB;\fR .PP \fBexpire\fR \fIdate\fB;\fR .PP \fBrenew\fR 文は、現在使用中のリースを更新 (renew) するために、 dhcp クライアントが使用中のリースを提供してくれたサーバへのアクセスの 試みを開始しなければならない日時を定義します。\fBrebind\fR 文は、 リースを更新するために、dhcp クライアントが \fIいずれかの\fR dhcp サーバへのアクセスの試みを開始しなければならない日時を定義します。 \fBexpire\fR 文は、リースの更新のためにサーバにアクセスできなかった場合、 dhcp クライアントがそのリースの使用を停止しなければならない日時を 定義します。 .PP これらの宣言は、DHCP クライアントが得たリース中では自動的に設定されます。 事前定義リースのうち、DHCP クライアントに有効期限が過ぎたものを使用して 欲しくないものの中では、これらの宣言を設定しておく必要があります。 .PP date は以下のように指定します。 .PP \fI \fB/\fI\fB/\fI \fB:\fI\fB:\fI\fR .PP weekday は、人間が見てリース期限をわかりやすくするために存在します。 これは、0 から 6 までの数字で指定します。0 は日曜日です。year は世紀 込みで指定します。ですから、本当に長いリースを別にすると、必ず 4 桁に なるはずです。month は 1 (1 月を表します) から始まる数字で指定します。 day は同様に 1 から始まる (月における) 日として指定します。hour は、 0 から 23 の間の数字です。minute と second はともに 0 から 59 の間の 数字を指定します。 .SH エイリアス宣言 \fBalias { \fI declarations ... \fB}\fR .PP DHCP クライアントが TCP/IP ローミング (roaming) プロトコルを実行して いる場合、DHCP を用いて得られるリースだけでなく、事前に定義された IP エイリアスも、自分が使用するインタフェースに設定する必要がある 場合があります。Internet Software Consortium 版 DHCP クライアントは、 固定アドレス直接指定のローミングをサポートしていませんが、その種の実験 ができるように、この dhcp クライアントは、 .B alias 宣言を使って IP エイリアスを設定する準備はできています。 .PP alias 宣言は lease 宣言に似ています。但し、標準の クライアント設定スクリプトでは、subnet-mask オプション以外の オプションと、各種有効期限 (expiry times) が無視される点が異なります。 普通の alias 宣言では、 interface 宣言、IP エイリアスのための 固定アドレス宣言、subnet-mask オプションを含みます。alias 宣言には medium 文は決して含まれてはなりません。 .SH その他の宣言 \fBreject \fIip-address\fB;\fR .PP .B reject 文により、DHCP クライアントは指定したアドレスをサーバ識別子として使用する サーバからの提供申し出を拒否するようになります。標準に準拠しない dhcp サーバや設定を間違えている dhcp サーバによってクライアントが設定されない ようにするために、この文を使用することができます。しかしながら、これは 最後の武器とするべきです。これに先立ち、腐った DHCP サーバを追いかけて それを直す方がよいです。 .PP \fBinterface "\fIname\fB" { \fIdeclarations ... \fB } .PP 複数のネットワークインタフェースを持つクライアントの場合、DHCP で 設定されるインタフェースによって異なる動作をさせる必要がある場合が あります。lease 宣言と alias 宣言を除くすべてのタイミングパラメータ と宣言を、interface 宣言で囲むことができます。その場合、囲まれた パラメータは指定した名前に合致するインタフェースにのみ適用されます。 interface 宣言を持たないインタフェースは、すべての interface 宣言の 外側で宣言されたパラメータ、もしくはデフォルトの設定が適用されます。 .PP \fBpseudo "\fIname\fR" "\fIreal-name\fB" { \fIdeclarations ... \fB } .PP 状況によっては仮想インタフェースを宣言し、 DHCP クライアントがこのインタフェースのための設定を取得するようにすると 便利になり得ます。 通常 DHCP クライアントがサポートしている各インタフェースは、 そのリースを獲得し管理するために、 DHCP クライアントの状態機械を実行しています。 仮想インタフェースは、\fIreal-name\fR と名付けられたインタフェース上で 稼働している、まさしくもう一つの状態機械です。 この機能を使用する場合、 仮想インタフェースと実際のインタフェースの両方に対して クライアント識別子を提供しなければなりません。 また、使用したい IP アドレスに対する仮想インタフェース用に 分離されたクライアントスクリプトを提供しなければなりません。 例えば次のようになります: .PP .nf interface "ep0" { send dhcp-client-identifier "my-client-ep0"; } pseudo "secondary" "ep0" { send dhcp-client-identifier "my-client-ep0-secondary"; script "/etc/dhclient-secondary"; } .fi .PP 仮想インタフェースのためのクライアントスクリプトは インタフェースを有効にしたり無効にしたりする設定をするべきではありません。 特に、リースの獲得や更新の状態、そしてリースの期限切れの状態を 取り扱うためには、そのことが必要です。 詳細は \fBdhclient-script(8)\fR を参照して下さい。 .PP \fBmedia "\fImedia setup\fB"\fI [ \fB, "\fImedia setup\fB", \fI... ]\fB;\fR .PP .B media 文は、IP アドレス取得中に使用が試みられる、メディア設定パラメータを 1 つ 以上定義します。dhcp クライアントは、リスト中の各 media setup 文字列を 順次使用し、あるインタフェースをそれで設定し、ブートを試みます。 駄目ならば次の media setup 文字列を使用します。この文は、 メディアタイプを検出する能力を持たないネットワークインタフェースに 対して利用できます。サーバへのリクエストができ応答が得られるもの ならば、どのようなメディアタイプでもたぶん正当です (保証はしませんが)。 .PP media setup はアドレス取得の初期フェーズ (DHCPDISCOVER パケットと DHCPOFFER パケット)でのみ使用されます。ひとたびアドレスが取得されると、 dhcp クライアントはそのアドレスをリースデータベースに記録し、 そのアドレスを得る際に用いたメディアタイプを記録します。クライアントが リースを更新しようとする際には常に、それと同じメディアタイプを使用します。 リースを期限切れにしてはじめて、クライアントはメディアタイプを順に試す 状態に戻ります。 .\"X .SH SAMPLE ... man-jp 標準はなんだったっけ .SH 使用例 以下の設定ファイルは、NetBSD 1.3 を実行するあるラップトップマシンで 使用されているものです。このマシンは、IP エイリアスとして 192.5.5.213、 インタフェース ep0 (3Com 3C589C) をひとつ持っています。このクライアント は、DHCP 活動がほとんどないネットワークで時間の大部分を消費することが わかっているので、ブート間隔はデフォルト値からいくぶん小さくして あります。このマシンは複数ネットワーク間でローミング (移動) します。 .nf timeout 60; retry 60; reboot 10; select-timeout 5; initial-interval 2; reject 192.33.137.209; interface "ep0" { send host-name "andare.fugue.com"; send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; send dhcp-lease-time 3600; supersede domain-name "fugue.com rc.vix.com home.vix.com"; prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name; require subnet-mask, domain-name-servers; script "/sbin/dhclient-script"; media "media 10baseT/UTP", "media 10base2/BNC"; } alias { interface "ep0"; fixed-address 192.5.5.213; option subnet-mask 255.255.255.255; } .fi これは dhclient.conf ファイルとしては非常に複雑なものです。一般に、 皆さんが使用するものははるかに簡単なはずです。多くの場合、dhclient.conf ファイルとして空のファイルを生成するだけで十分なはずです。 つまり、デフォルト値でよいのが普通です。 .SH 関連項目 dhcp-options(5), dhclient.leases(5), dhclient(8), RFC2132, RFC2131 .SH 作者 .B dhclient(8) は Vixie Labs との契約のもとで Ted Lemon が書きました。 本プロジェクトの基金は Internet Software Consortium が提供しました。 Internet Software Consortium に関する情報は、 .B http://www.isc.org にあります。 diff --git a/ja_JP.eucJP/man/man5/dhcp-options.5 b/ja_JP.eucJP/man/man5/dhcp-options.5 index 3ff4ebe8a3..f060fb1781 100644 --- a/ja_JP.eucJP/man/man5/dhcp-options.5 +++ b/ja_JP.eucJP/man/man5/dhcp-options.5 @@ -1,1615 +1,1619 @@ .\" dhcp-options.5 .\" .\" Copyright (c) 1996-2002 Internet Software Consortium. .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of The Internet Software Consortium 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 INTERNET SOFTWARE CONSORTIUM 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 INTERNET SOFTWARE CONSORTIUM 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. .\" .\" This software has been written for the Internet Software Consortium .\" by Ted Lemon in cooperation with Vixie Enterprises and Nominum, Inc. .\" To learn more about the Internet Software Consortium, see .\" ``http://www.isc.org/''. To learn more about Vixie Enterprises, .\" see ``http://www.vix.com''. To learn more about Nominum, Inc., see .\" ``http://www.nominum.com''. .\" -.\" $Id: dhcp-options.5,v 1.15 2003-03-24 04:55:30 horikawa Exp $ -.\" %FreeBSD: src/contrib/isc-dhcp/common/dhcp-options.5,v 1.5 2003/01/16 07:19:43 obrien Exp % +.\" $Id: dhcp-options.5,v 1.16 2003-10-13 02:42:26 horikawa Exp $ +.\" %FreeBSD: src/contrib/isc-dhcp/common/dhcp-options.5,v 1.6 2003/09/02 11:13:20 mbr Exp % .\" $FreeBSD$ .\" WORD: Dynamic Host Configuration Protocol 動的ホスト構成プロトコル .\" WORD: Path MTU Discovery パス MTU 探索 .\" WORD: Router Discovery ルータ探索 .\" WORD: Router Solicitation ルータ要請 .\" WORD: Mask Discovery マスク探索 .\" .TH dhcpd-options 5 .SH 名称 dhcp-options - 動的ホスト構成プロトコルのオプション .SH 解説 動的ホスト構成プロトコル (DHCP: Dynamic Host Configuration Protocol) を 使用することにより、クライアントは DHCP サーバから、ネットワーク設定や ネットワーク上で利用可能な様々なサービスについて記述している .B オプション を受け取ることができます。 .B dhcpd(8) や .B dhclient(8) を設定するときに、しばしばオプションを宣言する必要があるでしょう。 ここでは、オプションを宣言する文法、 そして宣言可能なオプションの名前と書式を文書化しています。 .SH リファレンス: オプション文 .PP DHCP \fIoption\fR 文は、常にキーワード \fIoption\fR で開始し、 単一のオプション名が続き、オプションデータが続きます。 オプションの名前とデータの書式は後述します。 すべての DHCP オプションを網羅的に指定する必要はなく、 クライアントに必要なオプションのみを指定します。 .PP オプションデータには、次のように様々な書式があります: .PP .B ip-address データタイプは、明示的な IP アドレス (例えば 239.254.197.10) または ドメイン名 (例えば haagen.isc.org) のどちらでも指定可能です。 ドメイン名で指定する場合、 そのドメイン名を解決すると単一の IP アドレスになるようにしてください。 .PP .B int32 データタイプは符号付き 32 ビット整数を指定します。 .B uint32 データタイプは符号無し 32 ビット整数を指定します。 .B int16 および .B uint16 のデータタイプは、符号付きおよび符号無しの 16 ビット整数を指定します。 .B int8 および .B uint8 のデータタイプは、符号付きおよび符号無しの 8 ビット整数を指定します。 符号無し 8 ビット整数は、オクテットと呼ばれることもあります。 .PP .B text データタイプは NVT ASCII 文字列を指定します。 文字列はダブルクォートで括る必要があります。 例えば root-path オプションを指定する文法は、次のようになります。 .nf .sp 1 option root-path "10.0.1.4:/var/tmp/rootfs"; .fi .PP .B domain-name データタイプはドメイン名を指定します。 文字列をダブルクォートで括っていけません。 このデータタイプは、他の既存の DHCP オプションには使われません。 ドメイン名は、text オプションであるかのように保持されます。 .\" text データタイプであるかのように? .\" metal .PP .B flag データタイプはブール値を指定します。 ブール値は true または false のいずれかです (もしくは、on または off の方が分かりやすければ、こちらでもかまいません)。 .PP .B string データタイプは、ダブルクォートで括られる NVT ASCII 文字列か、 コロン区切りの 16 進数で指定されるオクテットの連続のいずれかを指定します。 例えば次のようになります: .nf .sp 1 option dhcp-client-identifier "CLIENT-FOO"; もしくは option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f; .fi .SH 式を用いたオプション値の設定 .\" metal クライアントが送出するいくつかの値を、DHCP オプションの値を設定するのに 使えると便利なことがあります。 これをするには式の評価が利用できます。 .B dhcp-eval(5) マニュアルページに式の書き方が述べられています。 評価の結果をオプションに代入するには、オプションを次のように定義します: .nf .sp 1 \fBoption \fImy-option \fB= \fIexpression \fB;\fR .fi .PP 例えば次のようにします: .nf .sp 1 option hostname = binary-to-ascii (16, 8, "-", substring (hardware, 1, 6)); .fi .SH 標準 DHCP オプション 次に示す様々なオプションに関する記述は、 DHCP オプションに関する最新の IETF ドラフト文書からのものです。 名前が掲載されていないオプションは、まだ実装されていないかもしれませんが、 設定ファイルに定義することで、そのようなオプションを使えるかもしれません。 詳しくは、この先の「新規オプションの定義」から続く記述を参照してください。 .PP ここに記述されているオプションのうちのいくつかは、DHCP サーバもしくは クライアントによって自動的に生成されるもので、ユーザには設定できません。 そのようなオプションの値は、受信側の DHCP プロトコルエージェント (サーバもしくはクライアント) の設定ファイル中の、例えば条件式などで 使われます。 しかしこのオプションの値は、送信側のエージェントの設定ファイル中では 使われることはありません。 というのも、その値は、設定ファイルが処理された後に決定されるからです。 以降の記述において、そのようなオプションには 「ユーザが設定することはできません」と記されます。 .PP 標準オプションを示します: .PP .B option \fBall-subnets-local\fR \fIflag\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが接続されている IP ネットワークの全サブネットが 使用する MTU が、クライアントが直接接続されているサブネットの MTU と 同じであると、クライアントが仮定してよいかを指定します。 値 true は、全サブネットは同一の MTU であることを意味します。 値 false は、直接接続されているネットワークのサブネットには、より小さな MTU を 持つものがあると、クライアントが仮定すべきであることを意味します。 .RE .PP .B option \fBarp-cache-timeout\fR \fIuint32\fR\fB;\fR .RS 0.25i .PP 本オプションは、ARP キャッシュエントリのタイムアウトを秒数で指定します。 .RE .PP .B option \fBbootfile-name\fR \fItext\fR\fB;\fR .RS 0.25i .PP 本オプションは、起動ファイルを指定するために使用します。 クライアントによってサポートされている場合、 これは \fBfilename\fR 宣言と同じ効果を持ちます。 BOOTP クライアントで、このオプションをサポートしているものは少ないでしょう。 DHCP クライアントによってはサポートするものがあり、 実際必須としているものがあります。 .RE .PP .B option \fBboot-size\fR \fIuint16\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアント用のデフォルトのブートイメージの長さを、 512 オクテットブロック数で指定します。 .RE .PP .B option \fBbroadcast-address\fR \fIip-address\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントのサブネットで使用されている ブロードキャストアドレスを指定します。 正当なブロードキャストアドレスの値は、STD 3 (RFC1122) の 3.2.1.3 節に 規定されています。 .RE .PP .B option \fBcookie-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP クッキーサーバオプションは、クライアントが利用可能な RFC 865 クッキーサーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBdefault-ip-ttl\fR \fIuint8;\fR .RS 0.25i .PP 本オプションは、クライアントがデータグラムを送出するときに使用すべき、 デフォルトの生存時間 (TTL) を指定します。 .RE .PP .B option \fBdefault-tcp-ttl\fR \fIuint8\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが TCP セグメントを送出するときに使用すべき、 デフォルトの TTL を指定します。 最小値は 1 です。 .RE .PP .B option \fBdhcp-client-identifier\fR \fIstring\fR\fB;\fR .RS 0.25i .PP 本オプションを使って、ホスト宣言中で DHCP クライアント識別子を 指定することができます。 このクライアント識別子で照合を行うことで、 dhcpd はそのホストのレコードを発見することができます。 .PP .\" metal DHCP クライアントの中には、ASCII テキストによってクライアント識別子が 設定された場合、その ASCII テキストの先頭に 0 をつけるものがあることに 注意してください。 その場合、 .nf option dhcp-client-identifier "foo"; ではなく、以下のように記述する必要があるでしょう。 option dhcp-client-identifier "\\0foo"; .fi .RE .PP .B option \fBdhcp-lease-time\fR \fIuint32\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、クライアント要求 (DHCPDISCOVER または DHCPREQUEST) の中で、 クライアントが IP アドレスのリース時間を要求するために使用されます。 またサーバ応答 (DHCPOFFER) の中で、DHCP サーバが提示したいリース時間を 指定するのにも、このオプションは使われます。 .PP 本オプションは、サーバではユーザが直接設定することはできません。 .B dhcpd.conf(5) の \fImax-lease-time\fR と \fIdefault-lease-time\fR サーバオプションを 参照してください。 .RE .PP .B option \fBdhcp-max-message-size\fR \fIuint16\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、クライアントから送出された場合、サーバがクライアントに 送出するすべての応答の最大サイズを指定します。 サーバで設定された場合、クライアントが dhcp-max-message-size オプションを 送信してこなかった際に、このサーバで設定された値が使用されます。 これは、BOOTP 応答でも DHCP 応答と同様に動作します。 .RE .PP .B option \fBdhcp-message\fR \fItext\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、障害が起きた時に、DHCP サーバが DHCPNAK メッセージ中で DHCP クライアントへエラーメッセージを提供するのに使用します。 またクライアントが、提示されたパラメータを拒否した理由を示すために、 DHCPDECLINE メッセージ中で本オプションを使うこともあります。 .PP 本オプションは、ユーザが設定することはできません。 .RE .PP .B option \fBdhcp-message-type\fR \fIuint8\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、クライアントとサーバの両者から送出され、 DHCP パケットが含んでいる DHCP メッセージのタイプを指定します。 本オプションが取り得る値は、以下のとおりです (RFC2132 よりそのまま抜粋)。 .PP .nf 1 DHCPDISCOVER 2 DHCPOFFER 3 DHCPREQUEST 4 DHCPDECLINE 5 DHCPACK 6 DHCPNAK 7 DHCPRELEASE 8 DHCPINFORM .fi .PP 本オプションは、ユーザが設定することはできません。 .PP .RE .B option \fBdhcp-option-overload\fR \fIuint8\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、DHCP 'sname' もしくは 'file' フィールドが、 DHCP オプションを保持するために詰め込み過ぎになっていることを 示すのに使われます。 DHCP サーバは、返却されたパラメータが、オプションに通常割り当てられた 空間を超過した場合、本オプションを挿入します。 .PP 本オプションが存在した場合、クライアントは、標準のオプションフィールドの 解釈が終了した後、指定された付加フィールドの解釈を行います。 .PP 本オプションの正当な値は、以下の通りです: .PP .nf 1 'file' フィールドが、オプション保持に使用されてます 2 'sname' フィールドが、オプション保持に使用されてます 3 両方のフィールドが、オプション保持に使用されてます .fi .PP 本オプションは、ユーザが設定することはできません。 .PP .RE .PP .B option \fBdhcp-parameter-request-list\fR \fIuint16\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、クライアントから送出された場合、 サーバに返答を希望するオプションをクライアントが指定します。 通常 ISC DHCP クライアントでは、\fIrequest\fR 文を用いて行われます。 本オプションがクライアントから指定されなかった場合、通常 DHCP サーバは、 スコープ内で有効かつ応答に収まるすべてのオプションを返します。 本オプションがサーバ上で指定された場合、サーバはその指定されたオプションを 返します。 これは、クライアントが要求しなかったオプションを、クライアントに 強制するのに使用されます。 また、通常サーバが返すオプションのセットをさらに制限する必要のある クライアントに対して、DHCP サーバの応答を調整するのにも使用されます。 .RE .PP .B option \fBdhcp-rebinding-time\fR \fIuint32\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、クライアントがアドレスを取得してから REBINDING 状態に 移行するまでの時間を秒数で指定します。 .PP 本オプションは、ユーザが設定することはできません。 .PP .RE .PP .B option \fBdhcp-renewal-time\fR \fIuint32\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、クライアントがアドレスを取得してから RENEWING 状態に 移行するまでの時間を秒数で指定します。 .PP 本オプションは、ユーザが設定することはできません。 .PP .RE .PP .B option \fBdhcp-requested-address\fR \fIip-address\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、クライアントが、DHCPDISCOVER 内で特定の IP アドレスが 割り当てられることを要求するのに使用されます。 .PP 本オプションは、ユーザが設定することはできません。 .PP .RE .PP .B option \fBdhcp-server-identifier\fR \fIip-address\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、DHCPOFFER と DHCPREQUEST メッセージ中で使用され、 また DHCPACK と DHCPNAK メッセージ中にも含まれることがあります。 DHCP サーバは、クライアントが (訳注: 複数サーバからの) リースの提示を 区別できるよう、DHCPOFFER に本オプションを含めます。 DHCP クライアントは、DHCP サーバへユニキャストするすべての DHCP メッセージの 宛先アドレスとして 'server identifier' フィールドの内容を使用します。 また DHCP クライアントは、DHCPREQUEST メッセージ中に本オプションを含め、 複数のリースの提示のどれを受け入れたかを示します。 .PP 本オプションの値は、サーバの IP アドレスです。 .PP 本オプションは、ユーザが直接設定することはできません。 .B \fIdhcpd.conf(5) の \fIserver-identifier\fR サーバオプションを参照してください。 .PP .RE .PP .B option \fBdomain-name\fR \fItext\fR\fB;\fR .RS 0.25i .PP 本オプションは、ドメインネームシステムを使用してホスト名を解決するときに クライアントが使用すべきドメイン名を指定します。 .RE .PP .B option \fBdomain-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP domain-name-servers オプションは、クライアントが利用可能な ドメインネームシステム (STD 13, RFC 1035) のネームサーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBextensions-path\fR \fItext\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、追加オプションを含むファイルのファイル名を指定します。 この追加オプションは、RFC2132 で規定されている DHCP オプションの書式に沿って 解釈されます。 .RE .PP .B option \fBfinger-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP -Finger サーバオプションは、クライアントが利用可能な Finger のリストを -指定します。 +Finger サーバオプションは、クライアントが利用可能な +Finger サーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBfont-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが利用可能な X Window System フォントサーバを 指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBhost-name\fR \fIstring\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントの名前を指定します。 この名前は、ローカルドメイン名に修飾されていても、いなくてもかまいせん (ドメイン名を指定するには、domain-name オプションの使用をお勧めします)。 文字集合の制約については RFC 1035 を参照してください。 クライアントマシンのホスト名が設定されていない場合 (すなわち .B rc.conf(5) で空文字列に設定されている場合) のみ、 .B dhclient-script(8) が本オプションを尊重します。 .RE .PP .B option \fBieee802-3-encapsulation\fR \fIflag\fR\fB;\fR .RS 0.25i .PP 本オプションは、インタフェースがイーサネットである場合に、 クライアントがイーサネットバージョン 2 (RFC 894) と IEEE 802.3 (RFC 1042) のどちらのカプセル化を使用すべきかを指定します。 値 false は、クライアントが RFC 894 のカプセル化を使用すべきであることを 意味します。 値 true は、クライアントが RFC 1042 のカプセル化を使用すべきであることを 意味します。 .RE .PP .B option \fBien116-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]; .RS 0.25i .PP ien116-name-servers オプションは、 クライアントが利用可能な IEN 116 ネームサーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBimpress-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP impress-server オプションは、 クライアントが利用可能な Imagen Impress サーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBinterface-mtu\fR \fIuint16\fR\fB;\fR .RS 0.25i .PP 本オプションは、このインタフェースに対して使用する MTU を指定します。 MTU に対する最小の正当値は 68 です。 .RE .PP .B option \fBip-forwarding\fR \fIflag\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが、パケットを転送するように 自分の IP 層を設定すべきかを指定します。 値 false は IP 転送を無効にすることを意味し、 値 true は IP 転送を有効にすることを意味します。 .RE .PP .B option \fBirc-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP -IRC サーバオプションは、クライアントが利用可能な IRC のリストを指定します。 +IRC サーバオプションは、クライアントが利用可能な +IRC サーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBlog-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP log-server オプションは、クライアントが利用可能な MIT-LCS UDP ログサーバの リストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBlpr-servers\fR \fIip-address \fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP LPR サーバオプションは、 クライアントが利用可能な RFC 1179 ラインプリンタサーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBmask-supplier\fR \fIflag\fR\fB;\fR .RS 0.25i .PP 本オプションは、ICMP を使用したサブネットマスク要求に対して、 クライアントが応答すべきかを指定します。 値 false は、クライアントが応答すべきでないことを意味します。 値 true は、クライアントが応答すべきであることを意味します。 .RE .PP .B option \fBmax-dgram-reassembly\fR \fIuint16\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが再組み立ての準備をすべき 最大データグラムサイズを指定します。 最小の正当値は 576 です。 .\" The minimum value legal value is 576. .\" The minimum legal value is 576. かな (horikawa@jp.freebsd.org 19990404) .RE .PP .B option \fBmerit-dump\fR \fItext\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントがクラッシュするときの クライアントのコアイメージがダンプされるファイルのパス名を指定します。 パスの書式は、NVT ASCII 文字集合の文字からなる文字列です。 .RE .PP .B option \fBmobile-ip-home-agent\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが利用可能なモバイル IP ホームエージェントの IP アドレスのリストを指定します。 エージェントは、優先されるものから順にリストしてください。 ただし、通常エージェントは 1 つでしょう。 .RE .PP .B option \fBnds-context\fR \fIstring\fR\fB;\fR .RS 0.25i .PP .\" metal nds-context オプションは、NDS クライアントのための最初の NetWare ディレクトリサービスの名前を指定します。 .RE .PP .B option \fBnds-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP .\" metal nds-servers オプションは、NDS サーバの IP アドレスのリストを指定します。 .RE .PP .B option \fBnds-tree-name\fR \fIstring\fR\fB;\fR .RS 0.25i .PP .\" metal nds-tree-name オプションは、NDS クライアントが使用すべき NDS ツリーの 名前を指定します。 .RE .PP .B option \fBnetbios-dd-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP NetBIOS データグラム配布サーバ (NBDD) オプションは、 RFC 1001/1002 の NBDD サーバのリストを、優先されるものから順に指定します。 .RE .PP .B option \fBnetbios-name-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...]\fB;\fR .RS 0.25i .PP NetBIOS ネームサーバ (NBNS) オプションは、 RFC 1001/1002 の NBNS ネームサーバのリストを、優先されるものから順に指定します。 現在では、NetBIOS ネームサービスは WINS と呼ばれることの方が多いです。 netbios-name-servers オプションを使用して、WINS サーバを指定可能です。 .RE .PP .B option \fBnetbios-node-type\fR \fIuint8\fR\fB;\fR .RS 0.25i .PP NetBIOS ノードタイプオプションは、 設定可能な NetBIOS over TCP/IP クライアントを、 RFC 1001/1002 に記述されているように設定します。 値は単一のオクテットとして指定され、クライアントタイプを意味します。 .PP 使用可能なノードタイプは次の通りです: .PP .TP 5 .I 1 B ノード: ブロードキャスト - WINS 無し .TP .I 2 P ノード: ピア - WINS のみ .TP .I 4 M ノード: ミックス - ブロードキャスト後に WINS .TP .I 8 H ノード: ハイブリッド - WINS 後にブロードキャスト .RE .PP .B option \fBnetbios-scope\fR \fIstring\fR\fB;\fR .RS 0.25i .PP NetBIOS スコープオプションは、RFC 1001/1002 に規定されているように、 クライアントの NetBIOS over TCP/IP スコープパラメータを指定します。 文字集合の制約については RFC1001, RFC1002, RFC1035 を参照してください。 .RE .PP .B option \fBnis-domain\fR \fItext\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントの NIS (Sun Network Information Services) ドメインを指定します。 ドメインの書式は、NVT ASCII 文字集合の文字からなる文字列です。 .RE .PP .B option \fBnis-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが利用可能な NIS サーバを示す IP アドレスの リストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBnisplus-domain\fR \fItext\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントの NIS+ ドメインの名前を指定します。 ドメインの書式は、NVT ASCII 文字集合の文字からなる文字列です。 .RE .PP .B option \fBnisplus-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが利用可能な NIS+ サーバを示す IP アドレスの リストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBnntp-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP -NNTP サーバオプションは、クライアントが利用可能な NNTP のリストを指定します。 +NNTP サーバオプションは、クライアントが利用可能な +NNTP サーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBnon-local-source-routing\fR \fIflag\fR\fB;\fR .RS 0.25i .PP 本オプションは、非ローカルな指定経路 (non-local source route) を持つ データグラムを転送するように、クライアントが自分の IP 層を設定すべきかを 指定します (本項目については [4] の 3.3.5 節を参照してください)。 値 false はそのようなデータグラムの転送を許可しないことを意味し、 値 true は転送許可を意味します。 .RE .PP .B option \fBntp-servers\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが利用可能な NTP (RFC 1035) サーバを示す IP アドレスを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBnwip-domain\fR \fIstring\fR\fB;\fR .RS 0.25i .PP .\" metal NetWare/IP クライアントが使用すべき NetWare/IP ドメインの名前です。 .RE .PP .B option \fBnwip-suboptions\fR \fIstring\fR\fB;\fR .RS 0.25i .PP .\" metal NetWare/IP クライアント用のサブオプションのシーケンスです。 詳しくは RFC2242 を参照してください。 通常、本オプションは特定の NetWare/IP サブオプションを指定することで 設定されます。 さらなる情報は「NetWare/IP サブオプション」の章を参照してください。 .RE .PP .B option \fBpath-mtu-aging-timeout\fR \fIuint32\fR\fB;\fR .RS 0.25i .PP 本オプションは、RFC 1191 で定義される機構で発見されたパス MTU 値の エージングに使用するタイムアウト (秒単位) を指定します。 .RE .PP .B option \fBpath-mtu-plateau-table\fR \fIuint16\fR [\fB,\fR \fIuint16\fR... ]\fB;\fR .RS 0.25i .PP 本オプションは、RFC 1191 で定義されるパス MTU 探索 (Path MTU Discovery) 実施時に使用される MTU のサイズの表を指定します。 表の書式は、最小から順に最大までの、16 ビット符号無し整数のリストです。 最小 MTU は 68 より小さくてはなりません。 .RE .PP .B option \fBperform-mask-discovery\fR \fIflag\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが ICMP を使用してサブネットマスク探索を 実施すべきかを指定します。 値 false は、クライアントがマスク探索を実施すべきでないことを意味します。 値 true は、クライアントがマスク探索を実施すべきであることを意味します。 .RE .PP .nf .B option \fBpolicy-filter\fR \fIip-address ip-address\fR [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR .RE .fi .RS 0.25i .PP 本オプションは、非ローカルな指定経路制御に対するポリシフィルタを指定します。 フィルタは、IP アドレスとマスクの組のリストからなり、 到着する指定経路制御されたデータグラム用のフィルタとなる 宛先/マスクの組を指定します。 .PP 次ホップアドレスがフィルタのいずれにも適合しない指定経路制御された データグラムは、クライアントが破棄すべきです。 .PP さらなる情報は STD 3 (RFC1122) を参照してください。 .RE .PP .B option \fBpop-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP -POP3 サーバオプションは、クライアントが利用可能な POP3 のリストを指定します。 +POP3 サーバオプションは、クライアントが利用可能な +POP3 サーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBresource-location-servers\fR \fIip-address\fR [\fB, \fR\fIip-address\fR...]\fB;\fR .fi .RS 0.25i .PP 本オプションは、クライアントが利用可能な RFC 887 リソースロケーションサーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBroot-path\fR \fItext\fB;\fR\fR .RS 0.25i .PP 本オプションは、クライアントのルートディスクが含まれるパス名を指定します。 パスの書式は、NVT ASCII 文字集合の文字からなる文字列です。 .RE .PP .B option \fBrouter-discovery\fR \fIflag\fR\fB;\fR .RS 0.25i .PP 本オプションは、RFC 1256 で定義されるルータ探索 (Router Discovery) 機構を 使用して、ルータを要請すべきかを指定します。 値 false は、クライアントがルータ探索を実施すべきでないことを意味します。 値 true は、クライアントはルータ探索を実施すべきであることを意味します。 .RE .PP .B option \fBrouter-solicitation-address\fR \fIip-address\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントのルータ要請の送出先アドレスを指定します。 .RE .PP .B option routers \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP routers オプションは、クライアントのサブネット上にあるルータの IP アドレスのリストを指定します。 ルータは、優先されるものから順にリストしてください。 .RE .PP .B option slp-directory-agent \fIboolean ip-address [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、2 つの項目を指定します: 1 つ以上のサービスロケーションプロトコルディレクトリエージェント (Service Location Protocol Directory Agent) の IP アドレスと、 これらのアドレスの使用が強制的かどうかです。 最初のブール値が true であれば、SLP エージェントは、ただ与えられた IP アドレスのみを使用すべきです。 値が false であれば、SLP エージェントは、SLP エージェントの 能動的もしくは受動的なマルチキャスト探索を追加で行っても構いません (詳しくは RFC2165 を参照してください)。 .PP 本オプションと slp-service-scope オプションにおいて、 「SLP エージェント」とは、DHCP プロトコルを用いて設定されたマシン上で 動作しているサービスロケーションプロトコルエージェントを指していることに 注意してください。 .PP また、いくつかの企業は SLP を NDS と呼んでいることも気を付けてください。 もし NDS ディレクトリエージェントがあり、そのアドレスを設定する必要が ある場合は、 slp-directory-agent オプションが利用できるはずです。 .RE .PP .B option slp-service-scope \fIboolean text\fR\fB;\fR .RS 0.25i .PP .\" metal サービスロケーションプロトコルのサービススコープオプションは、 2 つの項目を指定します: SLP 用のサービススコープのリストと、このリストの使用が強制的かどうかです。 最初のブール値が true であれば、SLP エージェントは、本オプションにより 提供されるスコープのリストのみを使用すべきです。 そうでなければ、このオプションで提供されるリストに優先して、 それぞれの固有的の設定を使っても構いません。 .PP text 文字列は、SLP エージェントが使用すべきスコープの、コンマ区切りの リストとしてください。 これは省略可能で、その場合 SLP エージェントは、自分が知っている すべてのディレクトリエージェントのスコープの一括リストを使います。 .RE .PP .B option \fBsmtp-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP SMTP サーバオプションは、クライアントが利用可能な SMTP サーバのリストを 指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .nf .B option \fBstatic-routes\fR \fIip-address ip-address\fR [\fB,\fR \fIip-address ip-address\fR...]\fB;\fR .fi .RS 0.25i .PP 本オプションは、クライアントが経路キャッシュに組み込むべき 静的経路のリストを指定します。 同じ宛先に対して複数の経路が指定されている場合は、 優先度が低くなる順序でリストされます。 .PP 経路は IP アドレスの組のリストからなります。 最初のアドレスは宛先アドレスであり、 2 番目のアドレスはその宛先に対するルータのアドレスです。 .PP デフォルト経路 (0.0.0.0) は、静的経路に対しては不正な宛先です。 デフォルト経路を指定するには、 .B routers オプションを使用してください。 また、本オプションは、クラスレスな IP 経路制御を意図したものでは ないことに注意して下さい。 これはサブネットマスクを含んでいません。 現在、クラスレスな IP 経路制御は、もっとも広く展開されている 経路制御標準なので、本オプションは実質的に無意味です。 そして、マイクロソフト DHCP クライアントをはじめとするよく知られた DHCP クライアントには実装されていません。 .RE .PP .nf .B option \fBstreettalk-directory-assistance-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR...]\fB;\fR .fi .RS 0.25i .PP StreetTalk Directory Assistance (STDA) サーバオプションは、 クライアントが利用可能な STDA のリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBstreettalk-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP StreetTalk サーバオプションは、 クライアントが利用可能な StreetTalk のリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option subnet-mask \fIip-address\fR\fB;\fR .RS 0.25i .PP サブネットマスクオプションは、RFC 950 に従って、 クライアントのサブネットマスクを指定します。 スコープ中のどこにもサブネットマスクオプションが指定されていない場合、 最終手段として、dhcpd は、アドレスを割り当てようとしている ネットワークのサブネット宣言から、サブネットマスクを使用します。 しかし、アドレスを割り当てようとしているネットワークのスコープ中の .I どのような サブネットマスクオプション宣言であっても、 サブネット宣言で指定されたサブネットマスクに優先します。 .RE .PP .B option \fBsubnet-selection\fR \fIstring\fR\fB;\fR .RS 0.25i .PP .\" metal (要求が出されたサブネットにつながれたリレーサーバのアドレスに基づいて) 通常選択されるであろうものではないサブネットのアドレスが必要な場合、 クライアントが送出します。 RFC3011 を参照してください。 このサーバにおいて使われるオプションナンバは 118 です。 このナンバは以前からずっと定義されていたナンバではなく、 違う値を使用するクライアントも存在することに注意してください。 このオプションの使用は少々実験的であると考えるべきでしょう! .PP 本オプションは、サーバではユーザが設定することはできません。 .PP .RE .PP .B option \fBswap-server\fR \fIip-address\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントのスワップサーバの IP アドレスを指定します。 .RE .PP .B option \fBtcp-keepalive-garbage\fR \fIflag\fR\fB;\fR .RS 0.25i .PP 本オプションは、古い実装との互換性のために、ゴミのオクテットと一緒に、 TCP キープアライブメッセージをクライアントが送るべきかを指定します。 値 false は、ゴミのオクテットを送るべきでないことを意味します。 値 true は、ゴミのオクテットを送るべきであることを意味します。 .RE .PP .B option \fBtcp-keepalive-interval\fR \fIuint32\fR\fB;\fR .RS 0.25i .PP 本オプションは、クライアントの TCP がキープアライブ (keepalive) メッセージを TCP 接続上に送信する前に待つべき間隔 (秒単位) を指定します。 時間は 32 ビット符号無し整数で指定します。 値 0 は、アプリケーションが明示的に要求しない限り、クライアントが 接続上にキープアライブメッセージを生成すべきでないことを意味します。 .RE .PP .B option \fBtftp-server-name\fR \fItext\fR\fB;\fR .RS 0.25i .PP 本オプションは TFTP サーバを指定するのに使用され、クライアントが サポートしている場合には \fBserver-name\fR 宣言と同じ効果を持ちます。 BOOTP クライアントは、本オプションをサポートしないでしょう。 DHCP クライアントによってはサポートしているものがあり、 実際必須としているものがあります。 .RE .PP .B option time-offset \fIint32\fR\fB;\fR .RS 0.25i .PP time-offset オプションは、協定世界時 (UTC) を基点として、 クライアントのサブネットのオフセットを秒で指定します。 .RE .PP .B option time-servers \fIip-address\fR [, \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP time-server オプションは、クライアントが利用可能な RFC 868 時刻サーバの リストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBtrailer-encapsulation\fR \fIflag\fR\fB;\fR .RS 0.25i .PP 本オプションは、ARP プロトコル使用時に、クライアントがトレイラ使用の ネゴシエーション (RFC 893 [14]) をすべきかを指定します。 値 false は、クライアントがトレイラ使用を試みるべきでないと意味します。 値 true は、クライアントがトレイラ使用を試みるべきであると意味します。 .RE .PP .B option \fBuap-servers\fR \fItext\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、ユーザ認証プロトコル (UAP) に包まれた認証要求を 処理する能力のあるユーザ認証サービスをそれぞれ指している URL のリストを指定します。 UAP サーバは HTTP 1.1 接続も SSLv3 接続も受け取ることができます。 リストに含まれた URL にポート部分が含まれてない場合は、 通常のデフォルトポートが仮定されます (つまり http には 80 番、https には 443 番)。 リストに含まれた URL にパスの部分が含まれてない場合は、 パスは /uap と仮定されます。 2 つ以上の URL がこのリストに指定された場合、URL は空白で区切られます。 .RE .PP .B option \fBuser-class\fR \fIstring\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、ユーザが識別情報をクライアントに指定する手段として、 いくつかの DHCP クライアントで使われます。 これは vendor-class-identifier オプションと同様に使われますが、 その値は、ベンダではなく、ユーザによって指定されます。 最近のほとんどの DHCP クライアントは、この識別子に値を指定するための ユーザインタフェースを備えています。 この識別子は、通常テキスト文字列です。 .RE .PP .B option \fBvendor-class-identifier\fR \fIstring\fR\fB;\fR .RS 0.25i .PP .\" metal 本オプションは、ベンダタイプや、可能であれば DHCP クライアントの設定を 識別するために、いくつかの DHCP クライアントで使われます。 この情報の内容は、ベンダ固有のバイト文字列で、標準では規定されていません。 クライアントが送出するベンダクラス識別子を確認するには、 以下の設定を DHCP サーバ設定ファイルに加えてください: .nf .PP set vendor-class option vendor-class-identifier; .fi .PP この設定は、DHCP サーバのリースデータベースファイル中の、 以下のような set 文を持つ vendor-class-identifier オプションを 送ってくるクライアントすべてのエントリに作用します。 .nf .PP set vendor-class "SUNW.Ultra-5_10"; .fi .PP vendor-class-identifier オプションは、通常 DHCP Server によって、 .B vendor-encapsulated-options オプション中で返されるオプションを決定するのに使われます。 さらなる情報は、dhcpd.conf マニュアルページの VENDOR ENCAPSULATED OPTIONS の 章を参照してください。 .RE .PP .B option \fBvendor-encapsulated-options\fR \fIstring\fR\fB;\fR .RS 0.25i .PP .\" metal \fBvendor-encapsulated-options\fR オプションは、1 つのベンダ固有値、 もしくは 1 つまたはそれ以上のベンダ固有サブオプションを含みます。 本オプションは、通常 DHCP サーバの設定ファイルで設定されるものでは ありません。 通常は、ベンダクラスがベンダ毎に定義され、 ベンダクラスサブオプションが定義され、そのサブオプションの値が 定義され、DHCP サーバはそれらをもとに応答を組み上げます。 .PP よく知られた DHCP クライアントベンダ (今のところ Microsoft Windows 2000 DHCP クライアント) 向けのいくつかのデフォルトの動作では、 このオプションは自動的に設定されますが、その他のものに関しては、 手動で設定しなければなりません。 詳細は \fIdhcpd.conf\fI の VENDOR ENCAPSULATED OPTIONS の章を 参照してください。 .RE .PP .B option \fBwww-server\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP -WWW サーバオプションは、クライアントが利用可能な WWW のリストを指定します。 +WWW サーバオプションは、クライアントが利用可能な +WWW サーバのリストを指定します。 サーバは、優先されるものから順にリストしてください。 .RE .PP .B option \fBx-display-manager\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fB;\fR .RS 0.25i .PP 本オプションは、クライアントが利用可能な X Window System ディスプレイマネージャを実行しているシステムのリストを指定します。 アドレスは、優先されるものから順にリストしてください。 .RE .SH リレーエージェント情報オプション .\" metal IETF ドラフト draft-ietf-dhc-agent-options-11.txt には、 DHCP リレーエージェントが DHCP パケットを DHCP サーバに転送する際、 DHCP パケットに付加することのできる一連のカプセル化されたオプションが 定義されています。 サーバは、これらのオプションに基づき、アドレス割当の決定 (や、その他の判断) を行うことができます。 またサーバは、リレーエージェントを通して返されるどのパケットにも これらのオプションを入れて返します。 これによってリレーエージェントは、配送やアカウンティングなどを 行うために、これらのオプションに含まれる情報を利用できます。 .PP 現在のドラフトには 2 つのオプションが定義されています。 DHCP サーバでこれらのオプションを参照するには、オプション空間名 "agent" のあとにピリオドをつけ、その後にオプション名を続けてください。 サーバでこれらのオプションの値を定義することは、 通常あまり有効ではありませんが、許容されています。 これらのオプションは、クライアントではサポートされていません。 .PP .B option \fBagent.circuit-id\fR \fIstring\fR\fB;\fR .RS 0.25i .PP circuit-id サブオプションは、クライアントからサーバへの DHCP パケットを 受け取ったサーキットを示す、エージェントローカルなサーキット識別子を エンコードしています。 これは、DHCP 応答を適切なサーキットへと送り返せるよう、 エージェントによって使われることを意図しています。 現在、このオプションの書式の定義はベンダ依存となっており、 多分このまま残されるでしょう。 しかし将来この書式が標準化される可能性も、現在のドラフトには残されています。 .RE .PP .B option \fBagent.remote-id\fR \fIstring\fR\fB;\fR .RS 0.25i .PP remote-id サブオプションは、サーキットの終端のリモートホストの 情報をエンコードしています。 これに含まれるであろう情報は、次のようなものです。 呼出元 ID 情報、ユーザ名情報、リモート ATM アドレス、ケーブルモデム ID、 その他の同様な情報。 原則的には、このオプションの意味はちゃんと定義されていません。 しかし通常、サーキットの特定のリモートエンドに対して一意であるよう 管理上保証された、なんらかのオブジェクトと考えるべきものです。 .RE .SH クライアント FQDN サブオプション .\" metal 現在、インターネットドラフト draft-ietf-dhc-fqdn-option-00.txt で 定義されているクライアント FQDN オプションは、まだ標準となってはいません。 しかしすでに十分広く利用されており、我々もこれを実装しています。 オプションの書式が複雑なため、ここでは、単独のオプションではなく、 サブオプション空間に実装しています。 一般的には、本オプションは、ユーザによって設定されるものではなく、 自動 DNS 更新システムの一部として使われるべきものです。 .PP .B option fqdn.no-client-update \fIflag\fB; .RS 0.25i .PP 本オプションがクライアントから送出された場合、これが true であれば、 クライアントは自分の A レコードを更新しないことを意味します。 サーバからクライアントに送出された場合は、クライアントは 自分の A レコードを更新する \fIべきではない\fR ことを意味します。 .RE .PP .B option fqdn.server-update \fIflag\fB; .RS 0.25i .PP 本オプションがクライアントからサーバに送出された場合、 サーバにクライアントの A レコードの更新を要求しています。 サーバから送出された場合、サーバがクライアントの A レコードを 更新した (もしくはもうすぐ更新するところ) であることを意味します。 .RE .PP .B option fqdn.encoded \fIflag\fB; .RS 0.25i .PP true であった時、オプションに含まれるドメイン名が、 ただの ASCII テキストではなく、DNS ワイヤフォーマットで エンコードされていることを示してます。 クライアントは、自分が FQDN オプションの DNS ワイヤフォーマットを サポートしてない場合、通常このサブオプションを false に設定します。 サーバは常に、クライアントが設定したのと同じ値を設定して返すべきです。 この値が設定ファイルに設定されていた時は、\fIfqdn.fqdn\fR サブオプションを エンコードするフォーマットを制御します。 .RE .PP .B option fqdn.rcode1 \fIflag\fB; .PP .B option fqdn.rcode2 \fIflag\fB; .RS 0.25i .PP これらのオプションはそれぞれ、A レコードと PTR レコードの更新結果を示します。 これらは、DHCP サーバから DHCP クライアントへのみ送られます。 これらのフィールドの値は、DNS プロトコル規格により定義されています。 .RE .PP .B option fqdn.fqdn \fItext\fB; .RS 0.25i .PP クライアントが使用を望むドメイン名を指定します。 これは完全修飾されたドメイン名でも、単一のラベルでも構いません。 もし名前に '.' 文字が含まれなければ、その名前は完全修飾されておらず、 サーバは通常、ローカルに定義されたドメイン中のその名前を更新します。 .RE .PP .B option fqdn.hostname \fI--never set--\fB; .RS 0.25i .PP このオプションは設定してはなりません。 式中で \fBoption\fR および \fBconfig-option\fR のオペレータを使用することにより 読み取ることができます。 この場合、\fBfqdn.fqdn\fR サブオプション中の最初のラベルを返します。 例えば、\fBfqdn.fqdn\fR の値が "foo.example.com." の場合、 \fBfqdn.hostname\fR は "foo" になります。 .RE .PP .B option fqdn.domainname \fI--never set--\fB; .RS 0.25i .PP このオプションは設定してはなりません。 式中で \fBoption\fR および \fBconfig-option\fR のオペレータを使用することにより 読み取ることができます。 この場合、\fBfqdn.fqdn\fR サブオプション中の 最初のラベルより後すべてを返します。 例えば、\fBfqdn.fqdn\fR の値が "foo.example.com." の場合、 \fBfqdn.hostname\fR は "example.com" になります。 このサブオプション値が設定されていない場合、 fqdn オプションで完全ではない名前が送られたか、 fqdn オプションがまったく送られていないことを意味します。 .RE .PP もしこれらのサブオプションを使用しようと思っているのであれば、 クライアント FQDN オプションのドラフト (もしくは、標準になった時はその標準) を参照することを強く推奨します。 この文書は、そのドラフトに比べて大雑把で不完全であり、 クライアント FQDN オプション規格をすでに理解している人に参照されることを 単に意図しているものです。 .SH NetWare/IP サブオプション .\" metal RFC2242 は、Novell の NetWare/IP クライアント用のカプセル化された オプションの組を定義しています。 DHCP サーバにおいてこれらのオプションを使用するには、オプション空間名 "nwip" の後にピリオドをつけ、その後にオプション名を続けてください。 以下のオプションが指定できます: .PP .B option \fBnwip.nsq-broadcast\fR \fIflag\fR\fB;\fR .RS 0.25i .PP true であった場合、クライアントは、NetWare/IP サーバの位置を 探すのに NetWare Nearest Server Query を使うべきです。 本サブオプションが false であった場合、もしくは指定されなかった場合の Novell クライアントの動作は規定されていません。 .PP .RE .B option \fBnwip.preferred-dss\fR \fIip-address\fR [\fB,\fR \fIip-address\fR... ]\fR\fB;\fR .RS 0.25i .PP 本サブオプションには、5 つまでの IP アドレスのリストを指定します。 それぞれのアドレスは、NetWare ドメイン SAP/RIP サーバ (DSS) の IP アドレスです。 .RE .PP .B option \fBnwip.nearest-nwip-server\fR \fI\fIip-address\fR [\fB,\fR \fIip-address\fR...]\fR\fB;\fR .RS 0.25i .PP 本サブオプションには、5 つまでの IP アドレスのリストを指定します。 それぞれのアドレスは、近接の NetWare IP サーバ (Nearest NetWare IP Server) の IP アドレスです。 .RE .PP .B option \fBnwip.autoretries\fR \fIuint8\fR\fB;\fR .RS 0.25i .PP 起動時に、NetWare/IP クライアントが、与えられた DSS サーバと 何回通信を試みるべきかを指定します。 .RE .PP .B option \fBnwip.autoretry-secs\fR \fIuint8\fR\fB;\fR .RS 0.25i .PP 起動時に、NetWare/IP クライアントが、与えられた DSS サーバと 通信を確立する時に、リトライの間何秒待つべきかを指定します。 .RE .PP .B option \fBnwip.nwip-1-1\fR \fIuint8\fR\fB;\fR .RS 0.25i .PP true であった場合、NetWare/IP クライアントは NetWare/IP バージョン 1.1 をサポートしているべきです。 これは、クライアントが NetWare/IP バージョン 1.1 のサーバと 通信する時のみ必要です。 .RE .PP .B option \fBnwip.primary-dss\fR \fIip-address\fR\fB;\fR .RS 0.25i .PP NetWare/IP ドメインのプライマリドメイン SAP/RIP サービスサーバ (DSS) の IP アドレスを指定します。 セカンダリ DSS サーバの設定時に、NetWare/IP 管理ユーティリティは、 この値をプライマリ DSS サーバとして使用します。 .RE .SH 新規オプションの定義 .\" metal Internet Software Consortium DHCP クライアントとサーバは、 新規オプションを定義する機構も提供しています。 それぞれの DHCP オプションは、名前とコード、構造を持っています。 名前は、使用者がオプションを参照するのに使用されます。 コードは、DHCP サーバとクライアントがオプションを参照するのに 使用する番号です。 構造は、オプションの内容がどのようなものかを記述しています。 .PP 新規オプションを定義するには、他のオプションでは使われていない名前を 選ぶ必要があります。 例えば、"host-name" と言う名前は使用できません。 というのも、このマニュアルページに出てきたように、 DHCP プロトコルが既に host-name オプションを定義しているからです。 このマニュアルページに出てきていないオプション名ならば 使っても構いませんが、将来出てくるオプションと重ならないように、 オプション名の最初に独自の文字列をつけることは、多分いい考えでしょう。 例えば、公式の DHCP オプションには "local" で始まるものがないので、 "local-host-name" と言う名前は、いくらか安心して定義できるでしょう。 .PP 名前を選択したら、次はコードを選ばねばなりません。 DHCP オプションの 128 から 256 までのコードは、 サイトローカルオプション用として予約されているので、 この中のコードならどれでも選ぶことができます。 実際には、プロトコルを少々あいまいに解釈しているベンダがあり、 128 より大きい値のオプションコードを使用しています。 この問題を本当に回避する方法はありませんが、 実際にはそう大きな問題を引き起こすものではないでしょう。 .PP オプションの構造とは、単にオプションのデータが表現されている形式です。 現在 ISC DHCP サーバは、整数、ブール値、文字列そして IP アドレスといった、 いくつかの単純なデータ型をサポートしており、 また単一データ型の配列や固定順のデータ型列の配列を定義することもできます。 .PP 新規オプションは、以下のように宣言されます: .PP .B option .I new-name .B code .I new-code .B = .I definition .B ; .PP .I new-name と .I new-code の値は、新規オプション用にあなたが選んだものです。 .I definition は、オプションの構造の定義です。 .PP 以下の単純なオプションの型定義がサポートされています: .PP .B ブール値 .PP .B option .I new-name .B code .I new-code .B = .B boolean .B ; .PP ブール型のオプションは、on または off (もしくは true か false) の値を 持つフラグです。 ブール型の使用例は、以下のようになります: .nf option use-zephyr code 180 = boolean; option use-zephyr on; .fi .B 整数 .PP .B option .I new-name .B code .I new-code .B = .I sign .B integer .I width .B ; .PP \fIsign\fR トークンは、空白、\fIunsigned\fR、\fIsigned\fR のいずれかです。 width は 8, 16, 32 のいずれかで、整数の bit 数を示します。 例えば、以下の 2 行は、sql-connection-max オプションの定義と 使用法を示します: .nf option sql-connection-max code 192 = unsigned integer 16; option sql-connection-max 1536; .fi .B IP アドレス .PP .B option .I new-name .B code .I new-code .B = .B ip-address .B ; .PP IP アドレス型の構造を持つオプションは、ドメイン名もしくは ドット区切りの 4 整数で表現されます。 以下は、IP アドレス型の使用例です: .nf option sql-server-address code 193 = ip-address; option sql-server-address sql.example.com; .fi .PP .B テキスト .PP .B option .I new-name .B code .I new-code .B = .B text .B ; .PP テキスト型のオプションは、ASCII テキスト文字列をエンコードします。 例えば: .nf option sql-default-connection-name code 194 = text; option sql-default-connection-name "PRODZA"; .fi .PP .B データ文字列 .PP .B option .I new-name .B code .I new-code .B = .B string .B ; .PP データ文字列型のオプションは、本質的には単なるバイトの集合体です。 テキスト型のようにクォートされたテキストで指定されるか、 もしくはコロン区切りの 16 進数のリストで指定されます。 この時コロンで区切られた中身は、0 から FF の間の値でなければなりません。 例えば: .nf option sql-identification-token code 195 = string; option sql-identification-token 17:23:19:a6:42:ea:99:7c:22; .fi .PP .B カプセル化 .PP .B option .I new-name .B code .I new-code .B = .B encapsulate .I identifier .B ; .PP カプセル化型のオプションは、\fIidentifier\fR で指定された オプション空間の中身をカプセル化します。 現在 DHCP プロトコルに存在するカプセル化オプションの例は、 vendor-encapsulated-options オプション、netware-suboptions オプション、 relay-agent-information オプションなどです。 .nf option space local; option local.demo code 1 = text; option local-encapsulation code 197 = encapsulate local; option local.demo "demo"; .fi .PP .B 配列 .PP オプションは、テキスト型とデータ文字列型以外の上述のいかなるデータ型の 配列も含むことができます。 テキスト型とデータ文字列型は、現在配列ではサポートされていません。 配列定義の例は以下の通りです: .nf option kerberos-servers code 200 = array of ip-address; option kerberos-servers 10.20.10.1, 10.20.11.1; .fi .B レコード .PP オプションは、データ型の列で構成されるデータ構造を含むこともできます。 これはしばしばレコード型と呼ばれます。 例えば: .nf option contrived-001 code 201 = { boolean, integer 32, text }; option contrived-001 on 1772 "contrivance"; .fi またレコードの配列のオプションを持つこともできます。 例えば: .nf option new-static-routes code 201 = array of { ip-address, ip-address, ip-address, integer 8 }; option static-routes 10.0.0.0 255.255.255.0 net-0-rtr.example.com 1, 10.0.1.0 255.255.255.0 net-1-rtr.example.com 1, 10.2.0.0 255.255.224.0 net-2-0-rtr.example.com 3; .fi .SH ベンダカプセル化オプション .\" metal DHCP プロトコルには、\fB vendor-encapsulated-options\fR オプションが 定義されています。 ベンダは、このオプションによって、ベンダ固有のオプションを 標準 DHCP オプションに含めて送出することができます。 .B vendor-encapsulated-options オプションの書式は、書式が規定されていない一連のバイト列、 もしくは一連のオプション列です。 オプション列中のそれぞれのオプションは、1 バイトのベンダ固有の オプションコードの後に 1 バイトのデータ長、 そしてそのデータ長で指定された大きさのデータが続いたもので構成されます (データ長には、データ長自身やオプションコードは含まれません)。 .PP 本オプションの値は、2 つの方法のいずれかで設定されます。 1 番目の方法は、単にデータを直接指定するものです。 データの指定には、テキスト文字列かコロンで区切られた 16 進数値を用います。 例えば: .PP .nf option vendor-encapsulated-options 2:4:AC:11:41:1: 3:12:73:75:6e:64:68:63:70:2d:73:65:72:76:65:72:31:37:2d:31: 4:12:2f:65:78:70:6f:72:74:2f:72:6f:6f:74:2f:69:38:36:70:63; .fi .PP 本オプションを設定する 2 番目の方法は、DHCP サーバに ベンダ固有オプションバッファを作成させるというものです。 これをするには、以下の 4 つのことをする必要があります: オプション空間を定義し、そのオプション空間内にオプションを定義し、 それらへ値を割り振り、最後にそのオプション空間が .B vendor-encapsulated-options オプションの生成に使用されることを指定します。 .PP ベンダオプションが格納されるオプション空間を新規に定義するには、 \fRoption space\fP 文を使用します: .PP .B option .B space .I name .B ; .PP この文書にこれまで書かれているように、 この name は、オプション定義で使用することができます。 例えば: .nf option space SUNW; option SUNW.server-address code 2 = ip-address; option SUNW.server-name code 3 = text; option SUNW.root-path code 4 = text; .fi 一度、オプション空間とオプションの書式を定義したら、 それらのオプションの値を定義するスコープを設定でき、 それらのオプションをいつ使うかを指定することができます。 例えば、2 つの異なるクラスのクライアントを扱いたいとしましょう。 前述の例で示したオプション空間の定義を使って、以下のように、 クライアントから送られてきた vendor-class-identifier オプションに基づいて、 異なるオプションの値を異なるクライアントに送出することができます。 .PP .nf class "vendor-classes" { match option vendor-class-identifier; } option SUNW.server-address 172.17.65.1; option SUNW.server-name "sundhcp-server17-1"; subclass "vendor-classes" "SUNW.Ultra-5_10" { vendor-option-space SUNW; option SUNW.root-path "/export/root/sparc"; } subclass "vendor-classes" "SUNW.i86pc" { vendor-option-space SUNW; option SUNW.root-path "/export/root/i86pc"; } .fi .PP 先の例で見たように、通常のスコープルールを適用することで、 グローバルな値をグローバルスコープ中に定義でき、 特定のクラスに固有の値だけをローカルスコープに定義できます。 \fBvendor-option-space\fR 宣言を使うことで、 .B vendor-encapsulated-options オプションを構成するのに、SUNW オプション空間内のオプションを使うよう DHCP サーバに指示することができます。 .SH 関連項目 dhclient.conf(5), dhcp-eval(5), dhclient(8), RFC2132, RFC2131 .SH 作者 Internet Software Consortium DHCP Distribution は、Vixie Labs との契約のもとで、Ted Lemon が記述しました。 本プロジェクトの資金は、Internet Software Consortium が提供しました。 Internet Software Consortium に関する情報は、 .B http://www.isc.org にあります。 diff --git a/ja_JP.eucJP/man/man5/dir.5 b/ja_JP.eucJP/man/man5/dir.5 index 590edfc1fc..33ca668cea 100644 --- a/ja_JP.eucJP/man/man5/dir.5 +++ b/ja_JP.eucJP/man/man5/dir.5 @@ -1,171 +1,171 @@ .\" 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. .\" .\" @(#)dir.5 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/dir.5,v 1.19 2002/12/12 17:25:57 ru Exp % +.\" %FreeBSD: src/share/man/man5/dir.5,v 1.20 2003/09/10 19:24:35 ru Exp % .\" .\" $FreeBSD$ .\" .\" WORD: graft 接合 [mount.8] .Dd April 19, 1994 .Dt DIR 5 .Os .Sh 名称 .Nm dir , .Nm dirent .Nd ディレクトリファイルフォーマット .Sh 書式 .In dirent.h .Sh 解説 ディレクトリは、土台となる記憶媒体の詳細を隠蔽し、 ファイルをグループ分けする便利な階層手段を提供します。 ディレクトリファイルは、その .Xr inode 5 エントリ中のフラグによって、通常ファイルと区別されます。 ディレクトリファイルはレコード (ディレクトリエントリ) から構成され、 各レコードはファイルに関する情報とそのファイル自身へのポインタを 含んでいます。 ディレクトリエントリは、通常ファイルと同様に、 他のディレクトリを含むこともあります。 そのような入れ子になったディレクトリはサブディレクトリと呼ばれます。 このようにしてディレクトリとファイルの階層構造が形成され、 この構造はファイルシステムと呼ばれます (あるいはファイルシステムツリー と呼ばれます)。 .\" 以下の3行は英語版にコメントの形で含まれていたもの .\" An entry in this tree, .\" nested or not nested, .\" is a pathname. .Pp 各ディレクトリファイルには特別なディレクトリエントリが 2 つあります。 1 つはそのディレクトリ自身へのポインタで、ドット .Ql .\& と呼ばれます。 もう 1 つは自分の親ディレクトリへのポインタで、ドットドット .Ql \&..\& と呼ばれます。 ドットとドットドットは有効なパス名ですが、 システムのルートディレクトリ .Ql / には親ディレクトリがなく、ドットドットはドットと同じく自分自身を指します。 .Pp ファイルシステムノードは普通のディレクトリファイルであり、 その上に物理ディスクやそのディスク中の分割された領域といった ファイルシステムオブジェクトを接合します ( .Xr mount 2 および .Xr mount 8 参照)。 .Pp ディレクトリエントリの形式はファイル -.Aq sys/dirent.h +.In sys/dirent.h で定義されています (これは直接アプリケーションからはインクルードされません): .Bd -literal #ifndef _SYS_DIRENT_H_ #define _SYS_DIRENT_H_ #include /* * dirent 構造体は、getdirentries(2) システムコールで返される * ディレクトリエントリのフォーマットを定義します。 * * ディレクトリエントリはその先頭に dirent 構造体を持ちます。dirent * 構造体は inode 番号、そのエントリの長さ、そのエントリに含まれる * 名前の長さを保持します。その後に、ナルで 4 バイト境界までパディング * した名前が続きます。名前は全てナルで終端していることが保証されます。 * ディレクトリ中の名前の長さの最大値は MAXNAMLEN です。 */ struct dirent { __uint32_t d_fileno; /* エントリのファイル番号 */ __uint16_t d_reclen; /* このレコードの長さ */ __uint8_t d_type; /* ファイルタイプ、以下参照 */ __uint8_t d_namlen; /* d_name の文字列長 */ #ifdef _POSIX_SOURCE char d_name[255 + 1]; /* 名前はこの長さを越えてはならない */ #else #define MAXNAMLEN 255 char d_name[MAXNAMLEN + 1]; /* 名前はこの長さを越えてはならない */ #endif }; /* * ファイルタイプ */ #define DT_UNKNOWN 0 #define DT_FIFO 1 #define DT_CHR 2 #define DT_DIR 4 #define DT_BLK 6 #define DT_REG 8 #define DT_LNK 10 #define DT_SOCK 12 #define DT_WHT 14 /* * stat 構造体型とディレクトリ型との変換 */ #define IFTODT(mode) (((mode) & 0170000) >> 12) #define DTTOIF(dirtype) ((dirtype) << 12) /* * _GENERIC_DIRSIZ マクロはディレクトリエントリを保持する最小レコード長を * 与えます。これは d_name フィールド以外の dirent 構造体の空間に、ナル * バイトで終端される名前のために十分な空間 (dp->d_namlen+1) を加えたもの * を、4 バイト単位で繰り上げたものです。 */ #define _GENERIC_DIRSIZ(dp) \ ((sizeof (struct dirent) - (MAXNAMLEN+1)) + (((dp)->d_namlen+1 + 3) &~ 3)) #ifdef _KERNEL #define GENERIC_DIRSIZ(dp) _GENERIC_DIRSIZ(dp) #endif #endif /* !_SYS_DIRENT_H_ */ .Ed .Sh 関連項目 .Xr fs 5 , .Xr inode 5 .Sh バグ struct dirent のメンバ d_type は .Fx 固有であり、 使用はポータブルではありません。 また、特定のファイルシステム、例えば cd9660 ファイルシステムでは失敗します。 .Sh 歴史 ファイル形式 .Nm は .At v7 で登場しました。 diff --git a/ja_JP.eucJP/man/man5/elf.5 b/ja_JP.eucJP/man/man5/elf.5 index 2e7737dc88..3f3515fef0 100644 --- a/ja_JP.eucJP/man/man5/elf.5 +++ b/ja_JP.eucJP/man/man5/elf.5 @@ -1,1361 +1,1361 @@ .\"Copyright (c) 1999 Jeroen Ruigrok van der Werven .\"All rights reserved. .\" .\"Redistribution and use in source and binary forms, with or without .\"modification, are permitted provided that the following conditions .\"are met: .\"1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\"2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\"SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/elf.5,v 1.23 2003/06/09 09:19:21 roam Exp % +.\" %FreeBSD: src/share/man/man5/elf.5,v 1.25 2003/09/10 19:24:35 ru Exp % .\" .\" $FreeBSD$ .Dd July 31, 1999 .Dt ELF 5 .Os FreeBSD .Sh 名称 .Nm elf .Nd ELF 実行形式バイナリファイルのフォーマット .Sh 書式 .In elf.h .Sh 解説 ヘッダファイル -.Aq Pa elf.h +.In elf.h は、ELF 実行形式バイナリファイルのフォーマットを定義しています。 ELF には普通の実行可能ファイル、再配置可能なオブジェクトファイル、 コアファイル、共有ライブラリがあります。 .Pp ELF ファイルフォーマットを使っている 実行可能ファイルは ELF ヘッダを持ちます。 そして、プログラムヘッダテーブルか、 セクションヘッダテーブル、あるいはその両方が続きます。 ELF ヘッダは、常にファイルのオフセット 0 にあります。 プログラムヘッダテーブルと セクションヘッダテーブルのファイル中のオフセットは、 ELF ヘッダで定義されています。 2 つのテーブルは、ファイルの特徴の残りの部分を記述します。 .Pp ネイティブアーキテクチャの ELF バイナリファイルを処理するアプリケーションは、 そのソースコードに -.Pa elf.h +.In elf.h をインクルードするだけですみます。 これらのアプリケーションは、総称名 .Dq Elf_xxx による全タイプと構造体への参照を含む必要があり、 .Dq ELF_xxx によるマクロへの参照を含む必要があるでしょう。 このようにして記述されたアプリケーションは、 どのようなアーキテクチャであっても、 ホストが 32 ビットなのか、あるいは 64 ビットなのか ということを気にしないで、コンパイル可能です。 .Pp 未知のアーキテクチャの ELF ファイルを処理する必要があるアプリケーションは、 -.Pa elf.h +.In elf.h ではなく、 -.Pa sys/elf32.h +.In sys/elf32.h と -.Pa sys/elf64.h +.In sys/elf64.h の両方をインクルードする必要があります。 さらに、全てのタイプと構造体は、 .Dq Elf32_xxx か .Dq Elf64_xxx によって区別する必要があります。 マクロは、 .Dq ELF32_xxx または .Dq ELF64_xxx によって区別する必要があります。 .Pp システムのアーキテクチャがたとえ何であっても、常に -.Pa sys/elf_generic.h +.In sys/elf_generic.h だけでなく、 -.Pa sys/elf_common.h +.In sys/elf_common.h もインクルードします。 .Pp これらのヘッダファイルでは、 上で言及したヘッダを C 構造体として記述し、 これに加えて動的セクションと 再配置セクションとシンボルテーブルのための構造体を含んでいます。 .Pp 以下のタイプが、32 ビットアーキテクチャのために使われています: .Bd -literal -offset indent Elf32_Addr 符号無しプログラムアドレス Elf32_Half 符号無しハーフワードフィールド Elf32_Off 符号無しファイルオフセット Elf32_Sword 符号付き大整数 Elf32_Word フィールドまたは符号無し大整数 Elf32_Size 符号無しオブジェクトサイズ .Ed .Pp 64 ビットアーキテクチャ用に以下のタイプが用意されています: .Bd -literal -offset indent Elf64_Addr 符号無しプログラムアドレス Elf64_Half 符号無しハーフワードフィールド Elf64_Off 符号無しファイルオフセット Elf64_Sword 符号付き大整数 Elf64_Word フィールドまたは符号無し大整数 Elf64_Size 符号無しオブジェクトサイズ Elf64_Quarter 符号無しクォータワードフィールド .Ed .Pp ELF ファイルフォーマットが定義する全てのデータ構造は、 関連するクラスのために .Dq 自然な サイズと境界調整のガイドラインに従っています。 必要ならば、データ構造は、4 バイトオブジェクトが 4 バイト境界となることを保証するために、 構造体のサイズを強制的に 4 の倍数にするとかいった手段で、 明示的なパディングを含めます。 .Pp ELF ヘッダは、Elf32_Ehdr 型または Elf64_Ehdr 型によって記述されています: .Bd -literal -offset indent typedef struct { unsigned char e_ident[EI_NIDENT]; Elf32_Half e_type; Elf32_Half e_machine; Elf32_Word e_version; Elf32_Addr e_entry; Elf32_Off e_phoff; Elf32_Off e_shoff; Elf32_Word e_flags; Elf32_Half e_ehsize; Elf32_Half e_phentsize; Elf32_Half e_phnum; Elf32_Half e_shentsize; Elf32_Half e_shnum; Elf32_Half e_shstrndx; } Elf32_Ehdr; .Ed .Pp .Bd -literal -offset indent typedef struct { unsigned char e_ident[EI_NIDENT]; Elf64_Quarter e_type; Elf64_Quarter e_machine; Elf64_Half e_version; Elf64_Addr e_entry; Elf64_Off e_phoff; Elf64_Off e_shoff; Elf64_Half e_flags; Elf64_Quarter e_ehsize; Elf64_Quarter e_phentsize; Elf64_Quarter e_phnum; Elf64_Quarter e_shentsize; Elf64_Quarter e_shnum; Elf64_Quarter e_shstrndx; } Elf64_Ehdr; .Ed .Pp フィールドは、以下の意味を持っています: .Pp .Bl -tag -width "e_phentsize" -compact -offset indent .It Dv e_ident このバイト配列はファイルをどのように解釈すべきかを指定します。 これは、プロセッサまたはファイルの残りの内容から独立しています。 この配列中の全要素は、 .Sy EI_ で開始するマクロにより名付けられ、また先頭に .Sy ELF がついた値を持ち得ます。 以下のマクロが定義されています: .Pp .Bl -tag -width "EI_ABIVERSION" -compact .It Dv EI_MAG0 マジック番号の第 1 のバイト。 .Sy ELFMAG0 であることが必要です。 .It Dv EI_MAG1 マジック番号の第 2 のバイト。 .Sy ELFMAG1 であることが必要です。 .It Dv EI_MAG2 マジック番号の第 3 のバイト。 .Sy ELFMAG2 であることが必要です。 .It Dv EI_MAG3 マジック番号の第 4 のバイト。 .Sy ELFMAG3 であることが必要です。 .It Dv EI_CLASS 第 5 のバイトは、当該のバイナリファイルのアーキテクチャを識別します: .Pp .Bl -tag -width "ELFCLASSNONE" -compact .It Dv ELFCLASSNONE このクラスは、不当です。 .It Dv ELFCLASS32 これは、32 ビットアーキテクチャを定義します。 ファイル空間と仮想アドレス空間が 4 ギガバイトまでにおさまる マシンに対応します。 .It Dv ELFCLASS64 これは、64 ビットアーキテクチャを定義します。 .El .It Dv EI_DATA 第 6 のバイトは、 ファイルのプロセッサ固有データのエンコーディングを指定します。 現在、次のエンコーディングがサポートされています: .Pp .Bl -tag -width "ELFDATA2LSB" -compact .It Dv ELFDATANONE 未知のデータフォーマット。 .It Dv ELFDATA2LSB 2 の補数、リトルエンディアン。 .It Dv ELFDATA2MSB 2 の補数、ビッグエンディアン。 .El .It Dv EI_VERSION ELF 仕様書のバージョンナンバ: .Pp .Bl -tag -width "EV_CURRENT" -compact .It Dv EV_NONE 不当なバージョン。 .It Dv EV_CURRENT 現在のバージョン。 .El .It Dv EI_OSABI このバイトは、オブジェクトの対象である、 オペレーティングシステムと ABI を識別します。 他の ELF 構造中のフィールドには、 プラットフォーム依存の意味のものがあります。 そのようなフィールドの解釈は、このバイトの値で決定されます。 次の値が現在定義されています: .Pp .Bl -tag -width "ELFOSABI_STANDALONE" -compact .It Dv ELFOSABI_SYSV UNIX System V ABI。 .It Dv ELFOSABI_HPUX HP-UX オペレーティングシステム ABI。 .It Dv ELFOSABI_NETBSD .Nx オペレーティングシステム ABI。 .It Dv ELFOSABI_LINUX GNU/Linux オペレーティングシステム ABI。 .It Dv ELFOSABI_HURD GNU/Hurd オペレーティングシステム ABI。 .It Dv ELFOSABI_86OPEN 86Open Common IA32 ABI。 .It Dv ELFOSABI_SOLARIS Solaris オペレーティングシステム ABI。 .It Dv ELFOSABI_MONTEREY Monterey プロジェクト ABI。 .It Dv ELFOSABI_IRIX IRIX オペレーティングシステム ABI。 .It Dv ELFOSABI_FREEBSD .Fx オペレーティングシステム ABI。 .It Dv ELFOSABI_TRU64 TRU64 UNIX オペレーティングシステム ABI。 .It Dv ELFOSABI_ARM ARM アーキテクチャ ABI。 .It Dv ELFOSABI_STANDALONE Standalone (組み込み) ABI。 .El .It Dv EI_ABIVERSION このバイトは、オブジェクトの対象である ABI のバージョンを識別します。 このフィールドは、同じ ABI でも、 互換性の無いもの同士を区別するために使用されます。 バージョン番号の解釈は、EI_OSABI フィールドで識別される ABI に依存します。 この仕様に準拠するアプリケーションは、値 0 を使用します。 .It Dv EI_PAD パディングの始め。 これらのバイトは、予約されており、0 にセットされます。 ここを読むプログラムは、これを無視する必要があります。 将来、現在使っていないバイトに意味が与えられた時には、 EI_PAD の値は変わります。 .It Dv EI_BRAND アーキテクチャ識別子の始め。 .It Dv EI_NIDENTT e_ident 配列の大きさ。 .El .Pp .It Dv e_type 構造体のこのメンバは、オブジェクトファイルタイプを識別します: .Pp .Bl -tag -width "ET_NONE" -compact .It Dv ET_NONE 未知のタイプ。 .It Dv ET_REL 再配置可能なファイル。 .It Dv ET_EXEC 実行可能ファイル。 .It Dv ET_DYN 共有オブジェクト。 .It Dv ET_CORE コアファイル。 .El .Pp .It Dv e_machine このメンバは、個々のファイルに必要なアーキテクチャを指定します: .Pp .Bl -tag -width "EM_MIPS_RS4_BE" -compact .It Dv EM_NONE 未知のマシン。 .It Dv EM_M32 AT&T WE 32100 .It Dv EM_SPARC Sun Microsystems SPARC. .It Dv EM_386 Intel 80386. .It Dv EM_68K Motorola 68000 .It Dv EM_88K Motorola 88000 .It Dv EM_486 Intel 80486 .It Dv EM_860 Intel 80860 .It Dv EM_MIPS MIPS RS3000 (ビッグエンディアンのみ) .It Dv EM_MIPS_RS4_BE MIPS RS4000 (ビッグエンディアンのみ) .It Dv EM_SPARC64 SPARC v9 64-bit 非公式 .It Dv EM_PARISC HPPA .It Dv EM_PPC PowerPC .It Dv EM_ALPHA Compaq [DEC] Alpha .El .Pp .It Dv e_version このメンバは、ファイルバージョンを識別します: .Pp .Bl -tag -width "EV_CURRENT" -compact .It Dv EV_NONE 不当なバージョン。 .It Dv EV_CURRENT 現在のバージョン。 .El .It Dv e_entry このメンバは、システムが最初に制御を移す、 つまりプロセスを開始する仮想アドレスを示します。 ファイルにエントリポイントがないならば、このメンバは 0 になります。 .It Dv e_phoff このメンバは、 プログラムヘッダテーブルのバイト単位のファイルオフセットを持ちます。 .It Dv e_shoff このメンバは、 セクションヘッダテーブルのバイト単位のファイルオフセットを持ちます。 ファイルにセクションヘッダテーブルがないならば、このメンバは 0 になります。 .It Dv e_flags このメンバは、ファイルに関連する、プロセッサに固有なフラグを持ちます。 フラグ名は、EF_`machine_flag' という形式になります。 現在、定義されたフラグはありません。 .It Dv e_ehsize このメンバは、ELF ヘッダのバイト単位の大きさを持ちます。 .It Dv e_phentsize このメンバは、 ファイルのプログラムヘッダテーブルにあるエントリ 1 個分のサイズを持ちます。 全てのエントリは、同じ大きさです。 .It Dv e_phnum このメンバは、プログラムヘッダテーブル中のエントリの個数を持ちます。 つまり、 .Sy e_phentsize と .Sy e_phnum の積は、テーブルのバイト単位の大きさを与えます。 ファイルにプログラムヘッダがないならば、 .Sy e_phnum の値は 0 になります。 .It Dv e_shentsize このメンバは、セクションヘッダのバイト単位の大きさを持ちます。 セクションヘッダは、 セクションヘッダテーブルの中の 1 つのエントリです; 全てのエントリは、同じ大きさです。 .It Dv e_shnum このメンバは、セクションヘッダテーブル中のエントリの個数を持ちます。 つまり、 .Sy e_shentsize と .Sy e_shnum の積は、セクションヘッダテーブルのバイト単位の大きさを与えます。 ファイルにセクションヘッダテーブルがないならば、 .Sy e_shnum の値は 0 になります。 .It Dv e_shstrndx このメンバは、 セクションヘッダテーブルの、 セクション名文字列テーブルに結びつけられたエントリへの インデックスを持ちます。 ファイルにセクション名文字列テーブルがないならば、 このメンバは値 .Sy SHN_UNDEF を持ちます。 .Pp .Bl -tag -width "SHN_LORESERVE" -compact .It Dv SHN_UNDEF この値は、未定義か、存在しないか、無関係であるか、 意味がないセクション参照を示します。 例えば、セクション番号 .Sy SHN_UNDEF からの相対で .Dq 定義 されるシンボルは、未定義シンボルです。 .\" For example, symbols defined relative to section number SHN_ABS .\" have absolute values and are not affected by relocation. .\" と同じ形式の文章。 .It Dv SHN_LORESERVE この値は、予約のインデックスの範囲の下限を指定します。 .It Dv SHN_LOPROC この値から .Sy SHN_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_HIPROC この値から .Sy SHN_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_ABS この値は、対応する参照のために絶対的な値を指定します。 例えば、 .Sy SHN_ABS からの相対で定義されるシンボルは、絶対的な値を持ち、 再配置による影響を受けません。 .It Dv SHN_COMMON このセクションからの相対で定義されるシンボルは、共通シンボルであり、 Fortran の COMMON や領域が確保されていない C の 外部変数が該当します。 .It Dv SHN_HIRESERVE この値は、予約インデックス範囲の上限を指定します。 この範囲は、 .Sy SHN_LORESERVE と .Sy SHN_HIRESERVE の間であり、両端を含みます。 これらの値は、セクションヘッダテーブルを参照しません。 セクションヘッダテーブルは予約のインデックスのためにエントリを .Em 含みません。 .El .El .Pp 実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダテーブルは、 構造体の配列です。 各構造体は、 プログラム実行にシステムが必要とする、セグメント等の情報を記述します。 オブジェクトファイルの .Em セグメント は、1 つ以上の .Em セクション を含みます。 プログラムヘッダは、 実行可能ファイルと共有オブジェクトファイルだけで意味があります。 ファイルは、ELF ヘッダの .Sy e_phentsize と .Sy e_phnum メンバでそれ自身のプログラムヘッダサイズを指定します。 ELF 実行形式のヘッダと同様に、 プログラムヘッダもアーキテクチャに従い異なるバージョンを持ちます: .Pp .Bd -literal -offset indent typedef struct { Elf32_Word p_type; Elf32_Off p_offset; Elf32_Addr p_vaddr; Elf32_Addr p_paddr; Elf32_Size p_filesz; Elf32_Size p_memsz; Elf32_Word p_flags; Elf32_Size p_align; } Elf32_Phdr; .Ed .Pp .Bd -literal -offset indent typedef struct { Elf64_Half p_type; Elf64_Half p_flags; Elf64_Off p_offset; Elf64_Addr p_vaddr; Elf64_Addr p_paddr; Elf64_Size p_filesz; Elf64_Size p_memsz; Elf64_Size p_align; } Elf64_Phdr; .Ed .Pp 32 ビットと 64 ビットのプログラムヘッダの間の主な差は、 構造体中の .Sy p_flags メンバの位置だけです。 .Pp .Bl -tag -width "p_offset" -compact -offset indent .It Dv p_type 構造体 Phdr のこのメンバは、この配列要素が記述しているセグメントの種類を示し、 どのように配列要素を解釈すべきかを示します。 .Bl -tag -width "PT_DYNAMIC" -compact .Pp .It Dv PT_NULL この配列要素は使っていません。また、他のメンバの値は未定義です。 これにより、プログラムヘッダ中に無視されるエントリを持てます。 .It Dv PT_LOAD この配列要素は、ロード可能なセグメントを指定します。 これは .Sy p_filesz と .Sy p_memsz で記述されます。 ファイルからのバイトは、メモリセグメントの先頭にマップされます。 セグメントのメモリサイズ .Pq Sy p_memsz がファイルサイズ .Pq Sy p_filesz より大きいならば、 .Dq 余分な バイトは、値 0 を持って、 セグメントの初期化された領域に続くものと定義されます。 ファイルサイズは、メモリサイズを越えてはなりません。 プログラムヘッダテーブルの中のロード可能な セグメントエントリは、昇順で現れます。 そして、 .Sy p_vaddr メンバでソートされます。 .It Dv PT_DYNAMIC この配列要素は、動的リンク情報を指定します。 .It Dv PT_INTERP この配列要素は、 インタプリタとして起動するヌル文字で終わるパス名の場所と大きさを指定します。 このセグメントタイプは、実行可能ファイルのみで意味があります (本セグメントタイプは、共有オブジェクト中にあるかもしれません)。 本セグメントは、ファイル中で複数個存在してはなりません。 存在する場合、 全ロード可能セグメントエントリに先行する必要があります。 .It Dv PT_NOTE この配列要素は、補助情報のために場所と大きさを指定します。 .It Dv PT_SHLIB このセグメントタイプは、 予約されており、明記されていないセマンティクスを持ちます。 このタイプの配列要素を含むプログラムは、ABI に従いません。 .It Dv PT_PHDR この配列要素が存在する場合、 ファイル中とメモリイメージ中における、 プログラムヘッダテーブル自身の位置と大きさを指定します。 本セグメントタイプは、ファイル中で複数個存在してはなりません。 さらに、 プログラムヘッダテーブルがプログラムのメモリイメージに含まれる場合のみ、 存在が許されます。 存在する場合、 全ロード可能セグメントエントリに先行する必要があります。 .It Dv PT_LOPROC この値から .Sy PT_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv PT_HIPROC この値から .Sy PT_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .El .Pp .It Dv p_offset このメンバは、セグメントの最初のバイトへの、 ファイル先頭からのオフセットを持ちます。 .It Dv p_vaddr このメンバは、 セグメントの最初のバイトがメモリで存在する仮想アドレスを持ちます。 .It Dv p_paddr 物理アドレッシングのシステム上では、 このメンバは、セグメントの物理アドレスのために予約されています。 .Bx では、本メンバは使されず、0 である必要があります。 .It Dv p_filesz このメンバは、セグメントのファイルイメージのバイト数を持ちます。 0 であるかもしれません。 .It Dv p_memsz このメンバは、セグメントのメモリイメージのバイト数を持ちます。 0 であるかもしれません。 .It Dv p_flags このメンバは、セグメントに関したフラグを持ちます。 .Pp .Bl -tag -width "PF_X" -compact .It Dv PF_X 実行可能セグメント。 .It Dv PF_W 書き込み可能なセグメント。 .It Dv PF_R 読み取り可能なセグメント。 .El .Pp テキストセグメントは、一般にフラグ .Sy PF_X と .Sy PF_R を持ちます。 データセグメントは、一般に .Sy PF_X , .Sy PF_W と .Sy PF_R を持ちます。 .It Dv p_align このメンバは、メモリ中およびファイル中でセグメントが整列すべき値を持ちます。 ロード可能なプロセスは、 .Sy p_vaddr と .Sy p_offset をページサイズで割った余りに適合する値を持つ必要があります。 0 と 1 の値は、境界調整が不要であることを意味します。 そうでない場合、 .Sy p_align は、正 (2 の整数乗) である必要があります。そして、 .Sy p_vaddr は .Sy p_offset を .Sy p_align で割った余りと等しい必要があります。 .El .Pp ファイルのセクションヘッダテーブルは、 全てのファイルのセクションの位置決定を可能とします。 セクションヘッダテーブルは、Elf32_Shdr または Elf64_Shdr 構造体の配列です。 ELF ヘッダの .Sy e_shoff メンバは、 セクションヘッダテーブルの、ファイル先頭からのバイトオフセットを与えます。 .Sy e_shnum は、セクションヘッダテーブルのエントリ数を持ちます。 .Sy e_shentsize は、各エントリの大きさをバイトで持ちます。 .Pp セクションヘッダテーブルインデックスは、この配列の添字です。 セクションヘッダテーブルインデックスには、予約のものがあります。 オブジェクトファイルには、次の特別なインデックスにはセクションがありません: .Pp .Bl -tag -width "SHN_LORESERVE" -compact .It Dv SHN_UNDEF この値は、未定義か、存在しないか、無関係であるか、 意味がないセクション参照を示します。 .It Dv SHN_LORESERVE この値は、予約のインデックスの範囲の下限を指定します。 .It Dv SHN_LOPROC この値から .Sy SHN_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_HIPROC この値から .Sy SHN_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHN_ABS この値は、対応する参照が絶対値であることを指定します。 例えば、セクション番号 .Sy SHN_ABS からの相対で定義されてるシンボルは、絶対的な数値を持ち、 再配置によって影響を受けません。 .It Dv SHN_COMMON このセクションからの相対で定義されるシンボルは、共通シンボルであり、 Fortran の COMMON や領域が確保されていない C の外部変数が該当します。 .It Dv SHN_HIRESERVE この値は、予約インデックス範囲の上限を指定します。 この範囲は、 .Sy SHN_LORESERVE と .Sy SHN_HIRESERVE の間であり、両端を含みます。 セクションヘッダテーブルは、予約のインデックスのためにエントリを含みません。 .El .Pp セクションヘッダは、以下の構造体を持ちます: .Bd -literal -offset indent typedef struct { Elf32_Word sh_name; Elf32_Word sh_type; Elf32_Word sh_flags; Elf32_Addr sh_addr; Elf32_Off sh_offset; Elf32_Size sh_size; Elf32_Word sh_link; Elf32_Word sh_info; Elf32_Size sh_addralign; Elf32_Size sh_entsize; } Elf32_Shdr; .Ed .Pp .Bd -literal -offset indent typedef struct { Elf64_Half sh_name; Elf64_Half sh_type; Elf64_Size sh_flags; Elf64_Addr sh_addr; Elf64_Off sh_offset; Elf64_Size sh_size; Elf64_Half sh_link; Elf64_Half sh_info; Elf64_Size sh_addralign; Elf64_Size sh_entsize; } Elf64_Shdr; .Ed .Pp .Bl -tag -width "sh_addralign" -compact .It Dv sh_name このメンバは、セクションの名前を指定します。 その値は、セクションヘッダ文字列テーブルセクションへの インデックスであり、ヌル文字で終わる文字列の場所を与えます。 .It Dv sh_type このメンバは、セクションの内容とセマンティクスを分類します。 .Pp .Bl -tag -width "SHT_PROGBITS" -compact .It Dv SHT_NULL この値は、セクションヘッダが不活性であることを示します。 関連づけられたセクションを持ちません。 セクションヘッダの他のメンバは、未定義値を持ちます。 .It Dv SHT_PROGBITS このセクションは、プログラムによって定義される情報を持ちます。 フォーマットと意味は、プログラムだけによってのみ決定されます。 .It Dv SHT_SYMTAB このセクションは、シンボルテーブルを持ちます。 一般的に、 .Sy SHT_SYMTAB はリンクエディットのためのシンボルを提供します。 これはまた、動的リンクにも使用可能です。 これは完全なシンボルテーブルであるため、 動的リンクのためには不必要な多くのシンボルを含む場合があります。 オブジェクトファイルは、 .Sy SHN_DYNSYM セクションも含むことができます。 .It Dv SHT_STRTAB このセクションは、文字列テーブルを持ちます。 オブジェクトファイルは、複数の文字列テーブルセクションを持ち得ます。 .It Dv SHT_RELA このセクションは、明示的な加数を持つ、再配置エントリを持ちます。 例えば、オブジェクトファイルの 32 ビットクラスのタイプ .Sy Elf32_Rela が該当します。 オブジェクトは、複数の再配置セクションを持ち得ます。 .It Dv SHT_HASH このセクションは、シンボルハッシュテーブルを持ちます。 動的リンクに関連する全オブジェクトは、 シンボルハッシュテーブルを含む必要があります。 オブジェクトファイルは、単一のハッシュテーブルのみを持ち得ます。 .It Dv SHT_DYNAMIC このセクションは、動的リンクのために情報を持ちます。 オブジェクトファイルは、単一の動的セクションのみを持ち得ます。 .It Dv SHT_NOTE このセクションは、いくばくかの方法でファイルに印をする情報を持ちます。 .It Dv SHT_NOBITS このタイプのセクションは、ファイル中の空間を占有しませんが、 .Sy SHN_PROGBITS に似ています。 このセクションはバイトを含みませんが、 .Sy sh_offset メンバは概念上のファイルオフセットを含みます。 .It Dv SHT_REL このセクションは、明示的な加数無しの再配置オフセットを持ちます。 例えば、オブジェクトファイルの 32 ビットクラスのタイプ .Sy Elf32_Rel が該当します。 オブジェクトファイルは、複数の再配置セクションを持ち得ます。 .It Dv SHT_SHLIB このセクションは、予約されており、明記されていないセマンティクスを持ちます。 .It Dv SHT_DYNSYM このセクションは、動的リンクシンボルの最小のセットを持ちます。 オブジェクトファイルは、 .Sy SHN_SYMTAB セクションも含むことができます。 .It Dv SHT_LOPROC この値から .Sy SHT_HIPROC 以下は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHT_HIPROC この値から .Sy SHT_LOPROC 以上は、プロセッサ固有のセマンティクスのために予約されています。 .It Dv SHT_LOUSER この値は、アプリケーションプログラムのために予約されている インデックス範囲の下限を指定します。 .It Dv SHT_HIUSER この値は、アプリケーションプログラムのために予約されている インデックス範囲の上限を指定します。 .Sy SHT_LOUSER と .Sy SHT_HIUSER の間のセクションタイプは、 アプリケーションによって使用可能であり、 現在または将来のシステム定義セクションタイプと衝突しません。 .El .Pp .It Dv sh_flags セクションは、雑多な属性を記述する 1 ビットフラグをサポートします。 フラグビットが .Sy sh_flags でセットされるならば、そのセクションの属性は .Dq オン になります。 そうでなければ、属性は .Dq オフ であるか、あてはまりません。 未定義属性は、0 にセットされます。 .Pp .Bl -tag -width "SHF_EXECINSTR" -compact .It Dv SHF_WRITE セクションは、プロセス実行の間、書き込み可能であるべきデータを含みます。 .It Dv SHF_ALLOC セクションは、プロセス実行の間、メモリを占有します。 制御セクションには、 オブジェクトファイルのメモリイメージで存在しないものがあります。 そのようなセクションでは、この属性はオフです。 .It Dv SHF_EXECINSTR セクションは、実行可能な機械語命令を含みます。 .It Dv SHF_MASKPROC このマスクで含まれる全てのビットは、 プロセッサ固有のセマンティクスのために確保されます。 .El .Pp .It Dv sh_addr セクションがプロセスのメモリイメージに現れる場合、 このメンバは、セクションの最初のバイトが存在するアドレスを持ちます。 そうでない場合、このメンバは 0 を含みます。 .It Dv sh_offset このメンバ値は、 このセクションの、ファイル先頭からのバイトオフセットを与えます。 1 つのセクションタイプ、すなわち .Sy SHT_NOBITS は、ファイル中の空間を占有せず、 その .Sy sh_offset メンバは、ファイル中の概念上の位置を指定します。 .It Dv sh_size このメンバは、セクションのバイトでの大きさを持ちます。 セクションタイプが .Sy SHT_NOBITS でない限り、セクションはファイル中の .Sy sh_size バイトを占有します。 タイプ .Sy SHT_NOBITS のセクションは 0 以外の大きさを持ち得ますが、 ファイル中の空間を占有しません。 .It Dv sh_link このメンバは、 セクションヘッダテーブルインデックスリンクを持ちます。 この解釈は、セクションタイプ依存です。 .It Dv sh_info このメンバは、 追加情報を持ちます。 この解釈は、セクションタイプ依存です。 .It Dv sh_addralign 若干のセクションには、アドレス境界の制約があります。 セクションがダブルワードを持つならば、 システムはダブルワード境界を セクション全体に保証する必要があります。 .Sy sh_addr の値は、 .Sy sh_addralign で割った値が 0 となることが必要です。 '\" ここよくわからん。 0 と正の 2 の羃乗だけが許されます。0 または 1 の値は、 セクションには境界の制約がないことを意味します。 .It Dv sh_entsize 若干のセクションは、 固定長エントリのテーブルを持ちます。 例えばシンボルテーブルがこれに該当します。 そのようなセクションのために、 このメンバは、各エントリのバイトでの大きさを与えます。 セクションが固定サイズのエントリのテーブルを持たないならば、 このメンバは 0 を含みます。 .El .Pp 様々なセクションが、プログラムと制御情報を持ちます: .Bl -tag -width ".shstrtab" -compact .It .bss このセクションは初期化されないデータを持ち、 プログラムのメモリイメージになります。 定義では、 プログラム開始時にシステムがデータを 0 初期化します。 このセクションは、タイプ .Sy SHT_NOBITS です。 属性タイプは、 .Sy SHF_ALLOC と .Sy SHF_WRITE です。 .It .comment このセクションは、バージョン制御情報を持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは使われません。 .It .data このセクションは初期化されたデータを持ち、 プログラムのメモリイメージになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは、 .Sy SHF_ALLOC と .Sy SHF_WRITE です。 .It .data1 このセクションは初期化されたデータを持ち、 プログラムのメモリイメージになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは、 .Sy SHF_ALLOC と .Sy SHF_WRITE です。 .It .debug このセクションは、シンボリックデバッギングのための情報を持ちます。 内容は、明記されていません。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは使われません。 .It .dynamic このセクションは、動的リンク情報を持ちます。 セクションの属性は、 .Sy SHF_ALLOC ビットを含みます。 .Sy SHF_WRITE ビットがセットされるか否かは、プロセッサ依存です。 このセクションは、タイプ .Sy SHT_DYNAMIC です。 上の属性を見てください。 .It .dynstr このセクションは、動的リンクのために必要とされる文字列を持ちます。 そして一般には、名前を表現する文字列であり、 シンボルテーブルエントリと結び付けられています。 このセクションは、タイプ .Sy SHT_STRTAB です。 使われる属性タイプは、 .Sy SHF_ALLOC です。 .It .dynsym このセクションは、動的リンクシンボルテーブルを持ちます。 このセクションは、タイプ .Sy SHT_DYNSYM です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .fini このセクションは、プロセス終了コードの実行可能命令を持ちます。 プログラムの正常終了時に、 システムはこのセクションのコードを実行します。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC と .Sy SHF_EXECINSTR です。 .It .got このセクションは、グローバルオフセットテーブルを持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性は、プロセッサ依存です。 .It .hash このセクションは、シンボルハッシュテーブルを持ちます。 このセクションは、タイプ .Sy SHT_HASH です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .init このセクションは、プロセス初期化コードの実行可能命令を持ちます。 プログラム実行開始時に、 メインプログラムエントリポイントを呼び出す前に、 システムはこのセクションのコードを実行します。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC と .Sy SHF_EXECINSTR です。 .It .interp このセクションは、プログラムインタプリタのパス名を持ちます。 ファイルがこのセクションを含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 このセクションは、タイプ .Sy SHT_PROGBITS です。 .It .line このセクションはシンボリックデバッギングのために行番号情報を持ちます。 これは、プログラムソースとマシンコードの間の関係を記述します。 内容は、明記されていません。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性タイプは使われません。 .It .note このセクションは、下で記述される .Dq Note Section フォーマットで、情報を持ちます。 このセクションは、タイプ .Sy SHT_NOTE です。 属性タイプは使われません。 .It .plt このセクションは、プロシージャリンケージテーブルを持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 属性はプロセッサ依存です。 .It .relNAME このセクションは、下記のように再配置情報を持ちます。 ファイルが再配置を含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 規約により、再配置されるセクションから .Dq NAME が与えられます。 .Sy .text のための再配置セクションは、通常名前 .Sy .rel.text を持ちます。 このセクションは、タイプ .Sy SHT_REL です。 .It .relaNAME このセクションは、下記のように再配置情報を持ちます。 ファイルが再配置を含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 規約により、再配置されるセクションから .Dq NAME が与えられます。 .Sy .text のための再配置セクションは、通常名前 .Sy .rela.text を持ちます。 このセクションは、タイプ .Sy SHT_RELA です。 .It .rodata このセクションは読み取り専用データを持ち、 典型的にはプロセスイメージの書き込み不可セグメントになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .rodata1 このセクションは読み取り専用データを持ち、 典型的にはプロセスイメージの書き込み不可セグメントになります。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC です。 .It .shstrtab このセクションはセクション名を持ちます。 このセクションは、タイプ .Sy SHT_STRTAB です。 属性タイプは使われません。 .It .strtab このセクションは文字列を持ちます。 一般的には名前を表示する文字列であり、 シンボルテーブルエントリと結び付けられています。 ファイルがシンボル文字列テーブルを含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 このセクションは、タイプ .Sy SHT_STRTAB です。 .It .symtab このセクションは、シンボルテーブルを持ちます。 ファイルがシンボルテーブルを含むロード可能なセグメントを持つならば、 セクションの属性は .Sy SHF_ALLOC ビットを含みます。 そうでない場合、このビットはオフです。 このセクションは、タイプ .Sy SHT_SYMTAB です。 .It .text このセクションは、プログラムの .Dq テキスト 、すなわち実行可能命令を持ちます。 このセクションは、タイプ .Sy SHT_PROGBITS です。 使われる属性は、 .Sy SHF_ALLOC と .Sy SHF_EXECINSTR です。 .It .jcr このセクションは、登録される必要がある Java クラスの情報を持ちます。 .It .eh_frame このセクションは、C++ 例外処理に使用される情報を持ちます。 .El .Pp 文字列テーブルセクションは、ヌル文字で終わる文字シーケンス群を持ちます。 これらは、一般に文字列と呼ばれます。 オブジェクトファイルは、 シンボルとセクション名を表現するためにこれらの文字列を使います。 文字列テーブルセクションのインデックスとして、文字列を参照します。 最初のバイト (インデックス 0) は、 単一のヌル文字を持つと定義されます。 同様に、文字列テーブルの最終バイトはヌル文字であると定義されので、 文字列全体がナル終端されていることを保証します。 .Pp オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照の位置決定に必要な情報を保持します。 シンボルテーブルインデックスは、この配列の添字です。 .Pp .Bd -literal -offset indent typedef struct { Elf32_Word st_name; Elf32_Addr st_value; Elf32_Size st_size; unsigned char st_info; unsigned char st_other; Elf32_Half st_shndx; } Elf32_Sym; .Ed .Pp .Bd -literal -offset indent typedef struct { Elf64_Half st_name; unsigned char st_info; unsigned char st_other; Elf64_Quarter st_shndx; Elf64_Addr st_value; Elf64_Size st_size; } Elf64_Sym; .Ed .Pp .Bl -tag -width "st_value" -compact .It Dv st_name このメンバは、オブジェクトファイルの シンボル文字列テーブルへのインデックスを持ちます。 シンボル文字列テーブルは、シンボル名の文字表現を持ちます。 値が 0 以外であるならば、 それはシンボル名を与える文字列テーブルインデックスを示します。 そうでない場合、シンボルテーブルには名前がありません。 .It Dv st_value このメンバは、関連したシンボルの値を与えます。 .It Dv st_size 多くのシンボルは、関連した大きさを持ちます。 シンボルには大きさが無いか未知である場合、このメンバは 0 です。 .It Dv st_info このメンバは、シンボルのタイプと束縛属性を指定します: .Pp .Bl -tag -width "STT_SECTION" -compact .It Dv STT_NOTYPE シンボルのタイプは、定義されません。 .It Dv STT_OBJECT シンボルは、データオブジェクトと結び付けられています。 .It Dv STT_FUNC シンボルは、関数または他の実行可能コードと結び付けられています。 .It Dv STT_SECTION シンボルは、セクションと結び付けられています。 このタイプのシンボルテーブルエントリは、 主に再配置のために存在して、通常 .Sy STB_LOCAL 束縛を持ちます。 .It Dv STT_FILE 規約により、シンボルの名前は、 オブジェクトファイルと関連するソースファイルの名前を与えます。 存在する場合、ファイルシンボルは .Sy STB_LOCAL 束縛を持ち、そのセクションインデックスは .Sy SHN_ABS であり、 それはファイルの他の .Sy STB_LOCAL シンボルに先行します。 .It Dv STT_LOPROC この値から .Sy STT_HIPROC 以下は、プロセッサに固有のセマンティクスのために予約されています。 .It Dv STT_HIPROC この値から .Sy STT_LOPROC 以上は、プロセッサに固有のセマンティクスのために予約されています。 .El .Pp .Bl -tag -width "STB_GLOBAL" -compact .It Dv STB_LOCAL ローカルなシンボルは、 それらの定義を含んでいるオブジェクトファイルの外側には、見えません。 同じ名前のローカルなシンボルは、 お互いのじゃまをすることなく複数ファイルで存在し得ます。 .It Dv STB_GLOBAL グローバルシンボルは、結合されている全てのオブジェクトファイルから見えます。 あるファイルによるグローバルシンボルの定義は、 別ファイルの同じシンボルの未定義参照を満足させます。 .It Dv STB_WEAK 弱いシンボルはグローバルシンボルに似ています。 しかし、彼らの定義は低い優先順位を持ちます。 .It Dv STB_LOPROC この値から .Sy STB_HIPROC 以下は、プロセッサに固有のセマンティクスのために予約されています。 .It Dv STB_HIPROC この値から .Sy STB_LOPROC 以上は、プロセッサに固有のセマンティクスのために予約されています。 .Pp 束縛とタイプフィールドのパックおよびアンパック用のマクロがあります: .Pp .Bl -tag -width "ELF32_ST_INFO(bind, type)" -compact .It Xo .Fn ELF32_ST_BIND info .Xc または .Fn ELF64_ST_BIND info は、束縛を st_info 値から引出します。 .It Xo .Fn ELF64_ST_TYPE info .Xc または .Fn ELF32_ST_TYPE info は、タイプを st_info 値から引出します。 .It Xo .Fn ELF32_ST_INFO bind type .Xc または .Fn ELF64_ST_INFO bind type は、束縛とタイプを st_info 値へ変換します。 .El .El .Pp .It Dv st_other このメンバは、現在 0 を持ち、定義された意味を持ちません。 .It Dv st_shndx あらゆるシンボルテーブルエントリは、 なんらかの動作に関して .Dq 定義されています 。 このメンバは、関連するセクションヘッダテーブルインデックスを持ちます。 .El .Pp 再配置は、シンボル参照とシンボル定義を接続する処理です。 再配置可能なファイルは、それらのセクション内容の 修正方法を記述する情報を持つ必要があります。 このようにして、実行可能ファイルと共有オブジェクトファイルが、 プロセスのプログラムイメージのための正しい情報を持てます。 再配置エントリは、これらのデータです。 .Pp 加数を必要としない再配置構造体: .Pp .Bd -literal -offset indent typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; } Elf32_Rel; .Ed .Bd -literal -offset indent typedef struct { Elf64_Addr r_offset; Elf64_Size r_info; } Elf64_Rel; .Ed .Pp 加数を必要とする再配置構造体: .Pp .Bd -literal -offset indent typedef struct { Elf32_Addr r_offset; Elf32_Word r_info; Elf32_Sword r_addend; } Elf32_Rela; .Ed .Bd -literal -offset indent typedef struct { Elf64_Addr r_offset; Elf64_Size r_info; Elf64_Off r_addend; } Elf64_Rela; .Ed .Pp .Bl -tag -width "r_offset" -compact .It Dv r_offset このメンバは、再配置動作を適用する場所を与えます。 再配置可能なファイルでは、 値は、再配置によって影響を受ける記憶単位の セクション先頭からのバイトオフセットです。 実行可能ファイルまたは共用オブジェクトでは、 値は、再配置によって影響を受ける記憶単位の仮想アドレスです。 .It Dv r_info このメンバは、 再配置されるシンボルテーブルインデックスと、 使用する再配置のタイプを与えます。 再配置タイプは、プロセッサ依存です。 テキストが再配置エントリの再配置タイプまたは シンボルテーブルインデックスを参照するとき、 エントリの .Sy r_info メンバに対し、それぞれ .Sy ELF_[32|64]_R_TYPE または .Sy ELF[32|64]_R_SYM を適用する結果を意味しています。 .It Dv r_addend このメンバは、定数の加数を指定します。 これは、再配置可能なフィールドに 格納される値を計算するために使用されます。 .El .Sh 関連項目 .Xr as 1 , .Xr gdb 1 , .Xr ld 1 , .Xr objdump 1 , .Xr execve 2 , .Xr core 5 .Rs .%A Hewlett Packard .%B Elf-64 Object File Format .Re .Rs .%A Santa Cruz Operation .%B System V Application Binary Interface .Re .Rs .%A Unix System Laboratories .%T Object Files .%B "Executable and Linking Format (ELF)" .Re .Sh 歴史 ELF ヘッダファイルは、 .Fx 2.2.6 で登場しました。 ELF 自身は、最初に .At V で登場しました。 ELF フォーマットは、標準として採用されています。 .Sh 作者 このマニュアルページは、BSDi の .Bsx .Xr elf 5 のマニュアルページに触発されて、 .An Jeroen Ruigrok van der Werven .Aq asmodai@FreeBSD.org が書きました。 diff --git a/ja_JP.eucJP/man/man5/fs.5 b/ja_JP.eucJP/man/man5/fs.5 index 24ab94fea6..aaa2dbd1b6 100644 --- a/ja_JP.eucJP/man/man5/fs.5 +++ b/ja_JP.eucJP/man/man5/fs.5 @@ -1,379 +1,379 @@ .\" 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. .\" .\" @(#)fs.5 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/fs.5,v 1.19 2003/05/21 15:55:40 ru Exp % +.\" %FreeBSD: src/share/man/man5/fs.5,v 1.20 2003/09/08 19:57:20 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 19, 1994 .Dt FS 5 .Os .Sh 名称 .Nm fs , .Nm inode .Nd ファイルシステムボリュームのフォーマット .Sh 書式 .In sys/param.h .In ufs/ffs/fs.h .Pp .In sys/types.h .In sys/lock.h .In ufs/ufs/quota.h .In ufs/ufs/inode.h .Sh 解説 ファイル -.Aq Pa fs.h +.In fs.h と -.Aq Pa inode.h +.In inode.h は、ランダムアクセスデバイス (ディスク) 上のファイルシステムオブジェクト の基本フォーマットを作成、管理する際に使われるいくつかの構造体、 定義済み変数、マクロを宣言します。 .Pp ファイルシステムはブロックサイズとブロック数から構成されており、 これらはファイルシステムのパラメータになります。 .Dv BBLOCK から始まり 大きさ .Dv BBSIZE だけ続くセクタは、 ディスクラベルといくつかの一次、二次ハードウェアブートストラッププログラム のために使われます。 .Pp 実際のファイルシステムは、 .Dv SBLOCK セクタから始まり、そこには 大きさが .Dv SBLOCKSIZE である .Em スーパブロック があります。 ファイル -.Aq Pa ufs/ffs/fs.h +.In ufs/ffs/fs.h にある以下の構造体は、スーパブロックを記述しています。 .Bd -literal /* * FFS ファイルシステムのスーパブロック */ struct fs { int32_t fs_firstfield; /* 内部スーパブロック用に使われる、歴史的 */ int32_t fs_unused_1; /* FS リンクリスト */ int32_t fs_sblkno; /* fs 内スーパブロックオフセット */ int32_t fs_cblkno; /* fs 内シリンダブロックオフセット */ int32_t fs_iblkno; /* fs 内 inode ブロックオフセット */ int32_t fs_dblkno; /* cg 後の最初のデータのオフセット */ int32_t fs_old_cgoffset; /* シリンダ内のシリンダグループオフセット */ int32_t fs_old_cgmask; /* mod fs_ntrak の計算に使われる */ int32_t fs_old_time; /* 最後に書き込まれた時刻 */ int32_t fs_old_size; /* fs 内のブロック数 */ int32_t fs_old_dsize; /* fs 内のデータブロック数 */ int32_t fs_ncg; /* シリンダグループの数 */ int32_t fs_bsize; /* fs 内の基本ブロックサイズ */ int32_t fs_fsize; /* fs 内のフラグメントブロックサイズ */ int32_t fs_frag; /* fs の 1 ブロック中のフラグメント数 */ /* 以下はコンフィギュレーションパラメータ */ int32_t fs_minfree; /* フリーブロックの最小パーセンテージ */ int32_t fs_old_rotdelay; /* 最適な次ブロックのための ms 数 */ int32_t fs_old_rps; /* 1 秒あたりのディスク回転 */ /* これらのフィールドは他のフィールドから計算できる */ int32_t fs_bmask; /* ``blkoff'' ブロックオフセットの計算 */ int32_t fs_fmask; /* ``fragoff'' フラグメントオフセットの計算 */ int32_t fs_bshift; /* ``lblkno'' 論理ブロック番号の計算 */ int32_t fs_fshift; /* ``numfrags'' フラグメント数の計算 */ /* 以下はコンフィギュレーションパラメータ */ int32_t fs_maxcontig; /* 連続したブロックの最大数 */ int32_t fs_maxbpg; /* シリンダグループあたりの最大ブロック数 */ /* これらのフィールドは他のフィールドから計算できる */ int32_t fs_fragshift; /* フラグメントシフトするブロック */ int32_t fs_fsbtodb; /* fsbtodb と dbtofsb シフト定数 */ int32_t fs_sbsize; /* スーパブロックの実際の大きさ */ int32_t fs_spare1[2]; /* 古い fs_csmask */ /* 古い fs_csshift */ int32_t fs_nindir; /* NINDIR の値 */ int32_t fs_inopb; /* INOPB の値 */ int32_t fs_old_nspf; /* NSPF の値*/ /* 別のコンフィギュレーションパラメータ */ int32_t fs_optim; /* 最適化の選択、以下を参照 */ int32_t fs_old_npsect; /* 予備を含む、トラックあたりセクタ数 */ int32_t fs_old_interleave; /* ハードウェアセクタインタリーブ */ int32_t fs_old_trackskew; /* トラックあたりのセクタ 0 スキュー */ int32_t fs_id[2]; /* ユニークなファイルシステム ID */ /* シリンダグループの数とサイズにより決められるサイズ */ int32_t fs_old_csaddr; /* シリンダグループ総括領域のブロックアドレス */ int32_t fs_cssize; /* シリンダグループ総括領域のサイズ */ int32_t fs_cgsize; /* シリンダグループサイズ */ int32_t fs_spare2; /* 古い fs_ntrak */ int32_t fs_old_nsect; /* トラックあたりのセクタ数 */ int32_t fs_old_spc; /* シリンダあたりのセクタ数 */ int32_t fs_old_ncyl; /* ファイルシステムのシリンダ数 */ int32_t fs_old_cpg; /* グループあたりのシリンダ数 */ int32_t fs_ipg; /* グループあたりの inode 数 */ int32_t fs_fpg; /* グループあたりのブロック数 * fs_frag */ /* このデータはクラッシュ後に再計算されなければならない */ struct csum fs_old_cstotal; /* シリンダ総括情報 */ /* 以下のフィールドはマウント時にクリアされる */ int8_t fs_fmod; /* スーパブロック変更フラグ */ int8_t fs_clean; /* ファイルシステムがクリーンであるフラグ */ int8_t fs_ronly; /* 読み込み専用でマウントされたフラグ */ int8_t fs_old_flags; /* 古い FS_ フラグ */ u_char fs_fsmnt[MAXMNTLEN]; /* マウント場所の名前 */ u_char fs_volname[MAXVOLLEN]; /* ボリューム名 */ u_int64_t fs_swuid; /* システムワイドの UID */ int32_t fs_pad; /* fs_swuid のアラインメント用 */ /* これらのフィールドは現在のブロックの配置情報を保持する */ int32_t fs_cgrotor; /* 最後に検索された cg */ void *fs_ocsp[NOCSPTRS]; /* パッド。fs_cs バッファのリストだった */ u_int8_t *fs_contigdirs; /* 連続割り当てされた dir 数 */ struct csum *fs_csp; /* fs_cs 情報バッファのリスト */ int32_t *fs_maxcluster; /* 各シリンダグループの最大クラスタ */ u_int *fs_active; /* fs トラック用に、スナップショットが使用 */ int32_t fs_old_cpc; /* postbl 内のサイクルあたりのシリンダ */ int32_t fs_maxbsize; /* 最大のブロック化係数 */ int64_t fs_sparecon64[17]; /* 古いローテーションブロックリストヘッド */ int64_t fs_sblockloc; /* 標準のスーパブロックのバイトオフセット */ struct csum_total fs_cstotal; /* シリンダ総括情報 */ ufs_time_t fs_time; /* 最後に書き込まれた時刻 */ int64_t fs_size; /* fs 中のブロック数 */ int64_t fs_dsize; /* fs 中のデータブロック数 */ ufs2_daddr_t fs_csaddr; /* シリンダグループ総括情報領域のブロックアドレス */ int64_t fs_pendingblocks; /* 現在開放途中のブロック数 */ int32_t fs_pendinginodes; /* 現在開放途中の inode 数 */ int32_t fs_snapinum[FSMAXSNAP]; /* スナップショット inode 数のリスト */ int32_t fs_avgfilesize; /* ファイルサイズの平均の期待値 */ int32_t fs_avgfpdir; /* ディレクトリあたりのファイル数の期待値 */ int32_t fs_save_cgsize; /* 実 cg サイズを保存し、fs_bsize を使用 */ int32_t fs_sparecon32[26]; /* 将来の定数のための予約 */ int32_t fs_flags; /* 後述の FS_ フラグ参照 */ int32_t fs_contigsumsize; /* クラスタ総括配列の大きさ */ int32_t fs_maxsymlinklen; /* 内部シンボリックリンクの最大長 */ int32_t fs_old_inodefmt; /* ディスク上の inode のフォーマット */ u_int64_t fs_maxfilesize; /* 最大表示可能ファイルサイズ */ int64_t fs_qbmask; /* ~fs_bmask - 64 ビットサイズで使う */ int64_t fs_qfmask; /* ~fs_fmask - 64 ビットサイズで使う */ int32_t fs_state; /* fs_clean フィールドが有効であることを示す */ int32_t fs_old_postblformat; /* 位置レイアウトテーブルのフォーマット */ int32_t fs_old_nrpos; /* 回転位置の数 */ int32_t fs_spare5[2]; /* 古い fs_postbloff */ /* 古い fs_rotbloff */ int32_t fs_magic; /* マジックナンバ */ }; /* * ファイルシステム識別 */ #define FS_UFS1_MAGIC 0x011954 /* UFS1 ファストファイルシステムのマジックナンバ */ #define FS_UFS2_MAGIC 0x19540119 /* UFS2 ファストファイルシステムのマジックナンバ */ #define FS_OKAY 0x7c269d38 /* スーパブロックチェックサム */ #define FS_42INODEFMT -1 /* 4.2BSD inode フォーマット */ #define FS_44INODEFMT 2 /* 4.4BSD inode フォーマット */ /* * 最適化のための選択 */ #define FS_OPTTIME 0 /* 最小アロケーション時間 */ #define FS_OPTSPACE 1 /* 最小ディスクフラグメンテーション */ .Ed .Pp 各ディスクドライブはいくつかのファイルシステムを含んでいます。 1 つのファイルシステムは、いくつかのシリンダグループから成ります。 各シリンダグループには inode とデータがあります。 .Pp ファイルシステムは、シリンダグループを順番に記述するスーパブロックに よって記述されています。 スーパブロックは重要なデータであり、壊滅的な損失から守るために 各シリンダグループに複製されています。 これはファイルシステム作成時に行なわれ、重要なスーパブロックデータは 変更されないので、特に惨事がふりかからなければ、複製が参照される 必要はありません。 .Pp inode に保存されたアドレスによって、`ブロック' のフラグメントの 位置を決めることができます。 ファイルシステムブロックのほとんどは .Dv MAXBSIZE ですが、2, 4, 8 個に分けることが自由にでき、 それぞれを位置指定できます。 これらの断片は .Dv DEV_BSIZE または .Dv DEV_BSIZE 単位の倍数であれば良いのです。 .Pp 大きなファイルは、非常に大きなデータブロックからなります。 ディスクスペースの過度の浪費を避けるために、小さなファイルの 最後のデータブロックは、 大きなブロックのフラグメントが必要な数だけ配置されます。 ファイルシステムフォーマットは、そのようなフラグメント (大きなブロックを 分割した一片) の 1 つへのポインタだけを保持します。 そのようなフラグメントの大きさは、 inode にある情報から決定することができ、 .Fn blksize fs ip lbn マクロが使っています。 .Pp ファイルシステムは、提供可能な空きをフラグメントレベルで記録します。 つまり、ブロックの空きを決定するために、フラグメントを並べて調べます。 .Pp root inode は、ファイルシステムのおおもとです。 inode 0 は、通常の目的では使われず、歴史的に バッドブロックは inode 1 にリンクされます。 したがって root inode は、2 です (inode 1 は、もはやこの目的では使われませんが、 多くのダンプテープがこの仮定をしているので、それについては変更できません)。 .Pp .Fa fs_minfree 要素は、空いているファイルシステムブロックの最低許容割合を与えます。 空きリストがこのレベル以下になった場合、スーパユーザ だけがブロックの確保を続けることができます。 .Fa fs_minfree 要素は、空きブロックの予備が必要ないと思われたら 0 にセットしても かまいませんが、ファイルシステムが 90% 以上詰まった状態で動いているときには、 かなり性能が低下するでしょう。 そのためデフォルトの .Fa fs_minfree の値は 10% になっています。 .Pp 経験上、ブロックフラグメンテーションと 90% 使用中のディスク全体の利用 の兼ね合いが最も良いのは、フラグメンテーション 8 のときです。 そのためデフォルトのフラグメントサイズはブロックサイズの 8 倍になっています。 .Pp 要素 .Fa fs_optim はファイルシステムがブロックを確保するのに要する時間を最小に しようとするか、それともディスク上の領域のフラグメンテーションを最小に しようとするかを指定します。 fs_minfree (上記参照) の値が 10% より小さい場合は、ファイルシステム は空間の最適化をデフォルトとし、 完全な大きさのブロックがなくならないようにします。 minfree の値が 10% と等しいかそれ以上の場合には、フラグメンテーション が問題とはなりにくく、ファイルシステムは時間の最適化をデフォルトに します。 .Pp .Em シリンダグループに関連した制限 : 連続したブロックを最小の回転遅れで配置することができるよう、 各シリンダは異なる回転位置での利用可能なブロック数を保持し続けます。 デフォルトでは回転位置を 8 分割で表し、このときの総括情報の分解能は 典型的な 3600 rpm のドライブで 2ms になります。 .Pp 要素 .Fa fs_old_rotdelay は、同一シリンダ上で別のディスク転送を開始する 最小ミリ秒数を与えます。 これは、あるファイル中のディスクブロックの周回の中での最適な配置を 決定するのに使われます。 デフォルトの .Fa fs_old_rotdelay の値は 2ms です。 .Pp 各ファイルシステムは、静的に割り当てられた数の inode を持っています。 inode は、ディスク空間あたり .Dv NBPI バイト確保されます。 inode を配置する戦略は、極端に保守的です。 .Pp .Dv MINBSIZE が許される最小のブロックサイズです。 .Dv MINBSIZE が 4096 では、2 段までの(ブロック)間接参照を使って 2^32 の大きさのファイルを作ることができます。 .Dv MINBSIZE は、シリンダグループブロックを保持するのに十分な大きさでなければ なりません。 したがって .Pq Fa 構造体 cg への変更は大きさを .Dv MINBSIZE 以内にしておかなければなりません。 スーパブロックは決して .Dv SBLOCKSIZE の大きさ以上ではないということに注意して下さい。 .Pp ファイルシステムがマウントされているパス名は、 .Fa fs_fsmnt に保持されます。 .Dv MAXMNTLEN は、この名前のためにスーパブロックに割り当てられた領域の量を定義します。 ファイルシステム毎の総括情報の量の上限は、 .Dv MAXCSBUFS により定義されています。 4096 バイトブロックサイズの場合では、これは現在最大 200 万シリンダ分 用意されています。 .Pp それぞれのシリンダグループ情報は、先頭のシリンダグループ データブロックから確保されたブロックに要約されます。 これらのブロックはスーパブロックに加えて .Fa fs_csaddr ( .Fa fs_cssize の大きさ) から読み込まれます。 .Pp .Sy 注意: .Fn sizeof "struct csum" は .Fn fs_cs マクロを動かすために 2 のべき乗でなければなりません。 .Pp .Em "ファイルシステムのスーパブロック" : 周回レイアウトテーブルの大きさは、スーパブロックが .Dv SBLOCKSIZE の大きさを持つことにより制限されています。 これらのテーブルの大きさは、ファイルシステムのブロックサイズに .Em 逆比例 します。 セクタサイズが 2 のべき乗でないときには、周回パターンを .Pq Fa fs_cpc だけ繰り返すまでに含まれるシリンダ数が増加するので、 同様にテーブルの大きさも増加します。 周回レイアウトテーブルの大きさは、 .Pq Fa struct fs に残っているバイト数から割り出されます。 .Pp シリンダグループあたりのデータブロック数は、シリンダグループが たかだか 1 ブロックであるので、制限されています。 inode と空きブロックテーブルは、単一ブロックから シリンダグループ構造体 .Pq Fa struct cg のための領域を除いた残りにぴったり合っていなければなりません。 .Pp .Em Inode : inode は、 .Ux ファイルシステム内のすべてのファイルに関する動作の中心です。 各アクティブなファイル、カレントディレクトリ、マウントされたファイル、 テキストファイル、root には、それぞれユニークな inode が割り当てられます。 inode はそのデバイス / i 番号によって `名前付け' されています。 詳しくはインクルードファイル -.Aq Pa ufs/ufs/inode.h +.In ufs/ufs/inode.h を参照して下さい。 .Sh 歴史 filsys と名付けられたスーパブロック構造は .At v6 から登場しました。このマニュアルで記述されているファイルシステムは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/group.5 b/ja_JP.eucJP/man/man5/group.5 index 9438999b42..d05c42e47a 100644 --- a/ja_JP.eucJP/man/man5/group.5 +++ b/ja_JP.eucJP/man/man5/group.5 @@ -1,154 +1,154 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)group.5 8.3 (Berkeley) 4/19/94 -.\" %FreeBSD: src/share/man/man5/group.5,v 1.26 2003/07/03 06:03:12 jkoshy Exp % +.\" %FreeBSD: src/share/man/man5/group.5,v 1.27 2003/09/08 19:57:20 ru Exp % .\" .\" $FreeBSD$ .\" .Dd September 29, 1994 .Dt GROUP 5 .Os .Sh 名称 .Nm group .Nd グループ許可ファイルのフォーマット .Sh 解説 .Nm ファイルは、グループ情報のローカルソースです。 Hesiod ドメイン `group' や、 NIS マップの `group.byname' および `group.bygid' と組み合わせて 使用可能であり、これは .Xr nsswitch.conf 5 で制御されます。 .Pp .Nm ファイルは改行で区切られた .Tn ASCII レコードから成ります。1 レコードが 1 グループに対応し、コロン .Ql \&: で区切られた 4 つの欄から成ります。 これらの欄の意味は以下のとおりです: .Bl -tag -width password -offset indent -compact .It group そのグループの名前。 .It passwd グループの .Em 暗号化された パスワード。 .It gid そのグループの 10 進数 ID。 .It member グループメンバ。 .El .Pp 最初の非空白文字がポンドサイン (#) である行はコメントであり、無視されます。 空白・タブ・改行のみからなる行は空行であり、これも無視されます。 .Pp .Ar group 欄は、そのグループのメンバであるユーザにファイルアクセスを許可するために 用いる、グループの名前です。 .Ar gid 欄はそのグループ名に結び付けられた番号です。両者はファイルアクセスを制御 しますので、システム (またしばしば複数システムの 1 グループ) 中で一意的で ある必要があります。 .Ar passwd 欄はなくてもいい .Em 暗号化された パスワードです。この欄はめったに用いられるこ とはなく、通常ブランクにしておくよりもむしろアスタリスクが置かれます。 .Ar member 欄は .Ar group の権利を許可されたユーザの名前を含んでいます。メンバ名は空白や改行なし にコンマで区切られます。ユーザの .Pa /etc/passwd エントリ中にグループが指定されていれば自動的にそのグループに入ることに なりますので、 .Nm ファイル中にそのユーザを追加する必要はありません。 .\" .Pp .\" When the system reads the file .\" .Pa /etc/group .\" the fields are read into the structure .\" .Fa group .\" declared in -.\" .Aq Pa grp.h : +.\" .In grp.h : .\" .Bd -literal -offset indent .\" struct group { .\" char *gr_name; /* group name */ .\" char *gr_passwd; /* group password */ .\" int gr_gid; /* group id */ .\" char **gr_mem; /* group members */ .\" }; .\" .Ed .Sh 制限 様々な制限事項が該当する機能のところで説明されています。 .Sx 関連項目 の節を参照してください。 .Pp 古い実装においては、 1 つのグループは 200 以上のメンバを持つことはできず、 .Pa /etc/group の最大行長は 1024 文字でした。それより長い行は読み飛ばされました。 この制限は .Fx 3.0 でなくなりました。 静的にリンクされた古いバイナリ、古い共有ライブラリに依存する古いバイナリ、 互換モードにおける非 .Fx のバイナリには、まだこの制限があるかもしれません。 .Sh 関連ファイル .Bl -tag -width /etc/group -compact .It Pa /etc/group .El .Sh 関連項目 .Xr passwd 1 , .Xr setgroups 2 , .Xr crypt 3 , .Xr getgrent 3 , .Xr initgroups 3 , .Xr nsswitch.conf 5 , .Xr passwd 5 , .Xr pw 8 , .Xr yp 8 .Sh バグ .Xr passwd 1 コマンドは .Nm パスワードを変更しません。 .Sh 歴史 .Nm ファイルフォーマットは .At v6 で現われました。 コメントサポートは .Fx 3.0 で最初に現われました。 diff --git a/ja_JP.eucJP/man/man5/isdnd.rc.5 b/ja_JP.eucJP/man/man5/isdnd.rc.5 index 0d28927e4e..0d5de89d47 100644 --- a/ja_JP.eucJP/man/man5/isdnd.rc.5 +++ b/ja_JP.eucJP/man/man5/isdnd.rc.5 @@ -1,1066 +1,1066 @@ .\" .\" Copyright (c) 1997, 2002 Hellmuth Michaelis. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/i4b/isdnd/isdnd.rc.5,v 1.32 2003/01/01 18:49:01 schweikh Exp % +.\" %FreeBSD: src/usr.sbin/i4b/isdnd/isdnd.rc.5,v 1.33 2003/09/14 13:41:58 ru Exp % .\" .\" last edit-date: [Sun Aug 11 20:07:38 2002] .\" .\" $FreeBSD$ .\" .\" WORD: exchange 交換局 .\" WORD: subscribe (AOCD サービス等を) 申し込んでいる .Dd August 11, 2002 .Dt ISDND.RC 5 .Os .Sh 名称 .Nm isdnd.rc .Nd isdn4bsd ISDN 接続管理デーモンの設定ファイル書式 .Sh 解説 (コマンドラインで別のものを指定しない限り) ファイル .Pa /etc/isdn/isdnd.rc は、 .Xr isdnd 8 ISDN 接続管理デーモンの実行時設定を格納します。 本デーモンは、isdn4bsd パッケージの一部です。 .Pp 設定ファイルには、第 1 桁から始まるキーワードが複数含まれます。 キーワードの後には、1 個以上の空白・タブ、単一の等号、1 個以上の空白・タブ、 キーワード依存のパラメータ値と続きます。 .Pp 文字 '#' で開始する行はコメント行として扱われます。 .Pp ブール値指定を要求するキーワードに対しては、真を .Em yes または .Em on で与え、偽を .Em no または .Em off で与えます。 .Pp 設定ファイルには、単一の .Em システム セクションと 1 個以上の .Em コントローラ セクションと 1 個以上の .Em エントリ セクションが含まれます。 .Em システム セクションでは、デーモンの操作に関するパラメータや 単一のリモート接続に関連付けられないパラメータを設定可能です。 .Em コントローラ セクションでは、特定のコントローラに関するパラメータを設定可能です。 .Em エントリ セクションでは、 単一のリモート接続に直接関連付けられたパラメータを設定可能です。 .Pp 次のキーワードを .Nm isdnd は理解します: .Pp .Bl -tag -width system .It Li system 本キーワードにより、システム設定セクションが開始します。 パラメータを伴ってはなりませんし、1 度のみ使用可能です。 本キーワードは必須です。 次のキーワードは、システム設定セクション内で有効です: .Bl -tag -width useacctfile .It Li acctall 本パラメータを .Em on に設定すると、 ローカルサイトが課金されてない場合や、 課金情報が利用不能だったり課金情報を申し込んでいない場合でも、 アカウンティング情報が書き込まれます。(省略可能) .It Li acctfile キーワード .Em useacctfile (後述) が .Em on に設定されたときに使用されるアカウンティングファイルの名前を指定します。 システムキーワード .Em rotatesuffix を参照してください。 本キーワードを指定しないと、システムデフォルトが使用されます。(省略可能) .It Li add-prefix .Em on に設定されると、着呼番号に対して「番号の型」指示子が検索され、 後述の .Em prefix-national と .Em prefix-international キーワードに指定されるように番号が調整されます。 本キーワードを指定しないと、システムデフォルト (off) が使用されます。 (省略可能) .It Li aliasing 本パラメータが .Em on に設定されると、電話番号から名前へのエイリアス処理が有効にされます (後述の .Em aliasfile キーワードも参照)。デフォルトは off です。(省略可能) .It Li aliasfile .Em aliasing キーワードによりエイリアス処理が有効にされたときに .Xr isdntel 1 ユーティリティと共有される、 電話番号から名前へのエイリアスデータベースファイルの名前を指定します。 (省略可能) .It Li beepconnect 全画面モードにおいて、本パラメータが .Em on に設定されると、呼の接続または切断時にベルを鳴らします。 .It Li extcallattr 本パラメータが .Em on に設定されると、拡張の発呼者属性である「スクリーニング指示子」 と「プレゼンテーション指示子」がログファイルに書き込まれます。 デフォルトは off です。(省略可能) .It Li holidayfile 祭日の日付を含む、祭日ファイルの名前を指定します。 本ファイルは .Em valid キーワードと共に使用して、祭日の日付を検索に使用します。(省略可能) .It Li isdntime 本パラメータが .Em on に設定されると、(提供されるならば) 交換局から得られる日付/時刻情報を ログファイルに書き込みます。デフォルトは off です。(省略可能) .It Li mailer 本キーワードは、コマンドラインで "-s" フラグにてサブジェクトを指定可能な、 メールプログラムのパス/名前を指定するために使用します。 .Nm の致命的エラーによる終了の場合、キーワード .Em mailto で指定される管理者宛へのメール送信に、このプログラムが使用されます。 (省略可能) .It Li mailto 本キーワードは、 .Nm の致命的エラーによる終了の場合に通知を受ける人の電子メールアドレスを 指定するために使用します (キーワード .Em mailer も参照してください)。 (省略可能) .It Li monitor-allowed 本パラメータが .Em on または .Em yes に設定されると、 ローカルマシンまたはリモートマシンを介した監視が有効になります。 本パラメータは省略可能であり、デフォルトで .Em off に設定されます。 .It Li monitor-port リモート監視用の TCP ポート番号を設定します。 本整数パラメータは省略可能であり、デフォルトでポート 451 に設定されます。 .It Li monitor 本キーワードは、ローカルソケット名または、 リモート監視用にホストまたはネットワークを指定します。 .Em monitor の指定は次のいずれかです: .Pp .Bl -tag -width Ds -compact .It Ar ローカル (UNIX ドメイン) ソケット名 文字 "/" で開始する必要があります。例: /var/run/isdn-monitor .It Ar ドット付き 4 つ組のホスト指定 例: 192.168.1.2 .It Ar ドット付き 4 つ組のネットワークアドレスとネットマスク 例: 192.168.1.0/24 .It Ar 解決可能なホスト名 例: localhost .It Ar 解決可能なネットワーク名とネットマスク 例: up-vision-net/24 .El .It Li monitor-access 本キーワードは、以前使用した .Em monitor キーワードのアクセス権限を指定します。 サポートされているアクセス権限は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar fullcmd .It Ar restrictedcmd .It Ar channelstate .It Ar logevents .It Ar callin .It Ar callout .El .It Li prefix-international .Em add-prefix スイッチ (前述) と組み合わせることにより、 国際番号タグ付きの着呼番号に対するプレフィックス番号文字列を指定します。 エイリアスが使用された場合、それらも相応に調整されます。 (省略可能) .It Li prefix-national .Em add-prefix スイッチ (前述) と組み合わせることにより、 国内番号タグ付きの着呼番号に対するプレフィックス番号文字列を指定します。 エイリアスが使用された場合、それらも相応に調整されます。 (省略可能) .It Li ratesfile 料金ファイルの名前を指定します。 本キーワードが省略された場合、システムデフォルトが使用されます。(省略可能) .It Li regexpr 本キーワードは、正規表現を指定するために使用されます。 1 度以上、コンパイル時依存の回数 (現在、ソースにおける MAX_RE の定義では 5 回) まで指定することが可能です。 .Pp 指定した全正規表現は実行時にログ文字列と比較され、 マッチした場合には、ログテキストをパラメータとしてプログラムが実行されます (後述のキーワード .Em regprog も参照)。 .Pp 正規表現の指定方法については、 .Xr re_format 7 と .Xr regex 3 を参照してください。 .Em 拡張 正規表現の書式がサポートされています。 .Pp ヒント: 設定ファイルのパーザが不適切に解釈することを避けるために、 式を適切にクォートする必要があるかもしれません。 (省略可能) .It Li regprog 本キーワードは、対応する正規表現がログ文字列にマッチした場合に実行される、 プログラムの名前を指定するために使用されます。 .Nm isdnd は、パス .Pa /etc/isdn 以下でプログラムを見付けられるものと期待します。 このパスは、本キーワードのパラメータとして指定された文字列の前に付けられます。 (省略可能) .It Li rotatesuffix ログファイルおよびアカウンティングファイルの改名に使用するサフィックスを 指定します。 rotatesuffix が使用され USR1 シグナルが isdnd に送られた場合、 ログファイルとアカウンティングファイルは、 閉じられて再度開けられることに加え、 元の名前に rotatesuffix 文字列を後置した名前に改名されます。 本キーワードを省略すると、ログファイルは単に閉じられて再度開けられます。 これはまたデフォルト時の動作です。(省略可能) .It Li rtprio .Nm isdnd が実行されるリアルタイム優先度を、0 〜 31 の範囲の整数値で指定します。 0 は最高の優先度です。 本キーワードは省略可能です。 指定しない場合、 .Nm isdnd の処理優先度はまったく修正されません。( .Xr rtprio 1 も参照)。 本キーワードは、 .Nm を -DUSE_RTPRIO 付きでコンパイルした場合にのみ利用可能です。 .It Li useacctfile 本パラメータが .Em on に設定された場合、(利用可能な場合) 課金情報とアカウンティング情報が アカウンティングファイルに書き込まれます。(省略可能) .El .It Li controller 本キーワードは、コントローラ設定セクションを開始します。 パラメータを持ってはなりませんし、各コントローラに対して 1 回使用可能です。 本キーワードは省略可能です。 次のキーワードが、コントローラ設定セクションで有効です: .Bl -tag -width useacctfile .It Li protocol 本キーワードは、 コントローラが接続された S0 バスの D チャネルプロトコルの設定に使用されます。 次のパラメータが、現在サポートされています: .Pp .Bl -tag -width calledback .It Ar dss1 ITU 勧告 Q.921 および Q.931 に従う、 DSS1 または所謂 "Euro-ISDN" D チャネルプロトコル。 .It Ar d64s 単一 B チャネル付き ISDN リースライン (ドイツでは所謂 D64S)。 .El .It Li firmware 本キーワードは、 .Li firmware Ns = Ns Ar /path/to/file のように使用し、 .Em iavc ドライバがサポートする能動的なコントローラ (AVM B1, T1) に ファームウェアをダウンロードします。 本キーワードは全コントローラタイプでサポートされており、 指定したファイルを引数として .Dv I4B_CTRL_DOWNLOAD ioctl を起動します。 能動的および受動的な両方のアダプタを装備するシステムで、 受動的なカードが最初に検出されるものでは、 正しいファームウェアを正しいアダプタにダウンロードするために、 ダミーの .Ql controller エントリが受動的なカード用に必要です。 .El .It Li entry 本キーワードにより、単一の設定エントリが開始します。 パラメータを伴ってはなりません。 本キーワードは、少なくとも 1 度は使用する必要があります。 次のキーワードは、エントリセクション内で有効です: .Bl -tag -width unitlengthsrc .It Li answerprog 本キーワードは、着信電話接続が設定エントリにおいて .Em answer を指定した場合に実行される、プログラムの名前を指定するために使用されます。 デフォルト名は .Em answer です。 .Nm isdnd は、パス .Pa /etc/isdn 以下でプログラムを見付けられるものと期待します。 このパスは、本キーワードのパラメータとして指定された文字列の前に付けられます。 (省略可能) .It Li alert 呼 (call) を受け付ける前に待つ秒数を指定するために使用します。 本キーワードは、電話着呼 (dialin-reaction = answer) のためにのみ指定可能です。 留守番マシンが実行を開始する前に、 電話の着呼 (incoming call) を受け付ける機会を持つために使用します。 本パラメータの最小値は 5 秒であり、パラメータの最大値は 180 秒です。 (省略可能) .It Li b1protocol 本接続に使用される B チャネルのレイヤ 1 プロトコルです。 本キーワードは必須です。 現在設定可能な値は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar hdlc HDLC フレーミング。 .It Ar raw フレーミングを行わない (電話通信のために使用)。 .El .It Li bcap 本接続に対し、特殊な運搬 (bearer) ケーパビリティを使用します。 本キーワードは省略可能です。 .Pp .Em dov 以外の値は、 .Em b1protocol キーワード (上述) で設定された運搬ケーパビリティを設定することになります。 現在使用可能な設定値は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar dov この接続は .Em Dov (データオーバボイス) 接続です。 b1protocol キーワードは .Em hdlc に設定する必要があります。 この機能は試験的であり、発呼においてのみ動作します。 .El .It Li budget-calloutperiod 秒単位で時間を指定します。 この期間内は、 .Em budget-calloutncalls で指定された回数の呼が成功を許されますが、 これを越える発呼は残りの期間ブロックされます。 (省略可能) .It Li budget-calloutncalls .Em budget-calloutperiod の期間に許された発呼数。(省略可能) .It Li budget-calloutsfile 成功した発呼数が書き込まれるファイルのパスとファイル名。 isdnd の起動時にファイルが存在する場合、内容は保存されます。 ファイルの書式は、起動時刻、最後の更新時刻、呼の数です。 (省略可能) .It Li budget-calloutsfile-rotate .Em on に設定すると、毎晩次の日にファイルを更新しようとする機会に、 新規ファイルに budget-calloutsfile を回転します。 前日の統計情報が budget-calloutsfile で指定されるファイル名に ハイフンと新しい日付 (!) が付けられたファイルに書き込まれます。 (省略可能) .It Li budget-callbackperiod .It Li budget-callbackncalls .It Li budget-callbacksfile .It Li budget-calloutsfile-rotate 前述の .Em budget-calloutperiod , .Em budget-calloutncalls , .Em budget-calloutsfile , .Em budget-calloutsfile-rotate を見てください。 リモートサイトへのコールバックに使用される予算を指定します。 .It Li callbackwait リモートサイトからの呼を切ってから リモートサイトにコールバックするまでに待つ秒数です。(省略可能) .It Li calledbackwait ローカルサイトがリモートサイトを呼び出した後、 リモートサイトがローカルサイトにコールバックするまでに待つ秒数です。(省略可能) .It Li clone 指定した既存エントリの内容を現在のエントリへコピーします。 この機能を使う場合、新規エントリ固有の .Ql name と .Ql usrdeviceunit の値は最低限現在のエントリに指定してください。 .It Li connectprog 接続確立後でアドレスネゴシエーション完了後 (すなわち接続が使用可能時) に実行するプログラムを指定します。 .Nm はパス .Pa /etc/isdn 以下でプログラムを見付けられるとを期待し、 本キーワードに指定したパラメータの前にこのパスを付けます。 接続および切断で指定するプログラムは、次のコマンドライン引数を取ります: -d (デバイス) -f (フラグ) [ -a (アドレス) ] 場所 .Em デバイス はデバイス名であり、例えば "isp0"です。 .Em フラグ は接続アップ時には "up" であり、 インタフェースがダウン状態になった場合は "down" です。 .Em アドレス はインタフェースに割り当てられたアドレスであり、 ドット付き 4 つ組の IP アドレス (省略可能。isdnd が分かる場合のみ) です。 (省略可能) .It Li dialin-reaction 着信接続要求を受けた場合にどうするかを指定するために使用します。 本キーワードは必須です。 現在サポートされているパラメータは次の通りです: .Pp .Bl -tag -width calledback -compact .It Ar accept 着呼を受け付けます。 .It Ar reject 着呼を拒否します。 .It Ar ignore 着呼を無視します。 .It Ar answer 着信音声呼び出しに対して、留守番電話を開始します。 .It Ar callback リモートサイトが呼び出したとき、 その呼を切ってリモートサイトにコールバックします。 .El .It Li dialout-type 本キーワードは、どのタイプのダイヤルアウトモードが使用されるかを設定します。 本キーワードは必須です。 現在サポートされているパラメータは次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar normal 通常動作。呼を受け付けると思われるリモートサイトを呼び出します。 .It Ar calledback コールバック動作。 呼を拒否してから当方にコールバックするリモートサイトを呼び出します。 .El .It Li dialrandincr ダイヤル時または再ダイヤル時、本パラメータが .Em on に設定されていると、 ダイヤル再試行時間に乱数 (現在 0 〜 3 秒) が加えられます。 2 つのサイトが同期してダイヤルしてしまい、 他方もダイヤルしているために双方がダイヤルする度にビジーを検出するという機会を 最小化します。 .It Li dialretries ダイヤルをあきらめる前に再試行する回数です。(省略可能) .Em -1 に設定すると、再試行数は無限になります! .It Li direction 本キーワードは、発信着信・発信のみ・着信のみのいずれの接続が可能であるかを 設定するために使用します。 本キーワードは省略可能であり、デフォルトは .Em inout です。 .Pp 現在サポートされているパラメータは次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar inout 通常動作。接続の確立は、リモートからでもローカルからでも可能です。 .It Ar in 着信接続のみ可能です。 .It Ar out 発信接続のみ可能です。 .El .It Li disconnectprog 接続が閉じた後に実行するプログラム名です。 .Nm はパス .Pa /etc/isdn 以下でプログラムを見付けられるとを期待し、 本キーワードに指定したパラメータの前にこのパスを付けます。 (省略可能) .It Li downtries 失敗する試行回数を指定するために使用します。 試行 (=再試行サイクルです!) がこの回数だけ失敗すると、 インタフェースを ( .Em downtime 秒だけ) 無効にします。 (詳細はキーワード .Em usedown を参照)。本キーワードは省略可能です。 .It Li downtime .Em downtries の設定値の回数の後、 インタフェースが無効化される秒数を設定するために使用されます。 (詳細はキーワード .Em usedown を参照)。 本キーワードは省略可能であり、デフォルトで 60 秒に設定されます。 .It Li earlyhangup 次の課金単位となる前に接続を切るための (保険の) 秒数を指定します。 (省略可能) .It Li idle-algorithm-outgoing 発呼 (outgoing call) がアイドルであるとき、 何時接続を切るかを判定するのに使用するアルゴリズム。 現在使用可能なアルゴリズムは次の通りです: .Pp .Bl -tag -width calledback -compact .It Ar fix-unit-size 呼全体を通じて、固定長の課金単位を仮定する、アイドルアルゴリズムです。 .\" idle algorithm which assumes fixed sized changing units during the whole call. .\" の changing は charging であるはず。send-pr する .\" Nov 20 1999 .It Ar var-unit-size 最初の課金単位後は、時間ベースの課金を仮定する、アイドルアルゴリズムです。 .El .It Li idletime-outgoing 接続を切る前に発呼がアイドルとなる秒数。(省略可能) アイドルタイムアウトに 0 を指定すると、この機能を無効にします。 .It Li idletime-incoming 接続を切る前に着呼がアイドルとなる秒数。(省略可能) アイドルタイムアウトに 0 を指定すると、この機能を無効にします。 .It Li isdncontroller 本エントリの接続に使用される ISDN コントローラ番号。(必須) .It Li isdnchannel 本エントリの接続に対して使用される ISDN コントローラチャネル番号。 ここで明示的にチャネルを選択すると SETUP メッセージはそのチャネルを要求しますが、 リクエストに .Em 望ましい (preferred) (指定チャネルを望む) とマークするだけであって、 排他的 (指定チャネルのみ受け付ける) とマークするのではありません。 よって、交換局は要求されたチャネル以外を選択することが依然として可能です! (必須) .It Li isdntxdel-incoming .Xr timeout 9 カーネルサブルーチンに適合する遅延値であり、 .Em 着信 ISDN 接続に対して接続確立が成功した後に、 最初のパケットの送出をこの値だけ遅延させます。 指定単位は 1/100 秒です。 ゼロ (0) を指定すると本機能を無効化します。これがデフォルト値です。 本機能は .Xr i4bipr 4 IP over raw HDLC ISDN ドライバ用に実装されました (本ドライバに対してのみ意味を持ちます)。(省略可能) .It Li isdntxdel-outgoing .Xr timeout 9 カーネルサブルーチンに適合する遅延値であり、 .Em 発信 ISDN 接続に対して接続確立が成功した後に、 最初のパケットの送出をこの値だけ遅延させます。 指定単位は 1/100 秒です。 ゼロ (0) を指定すると本機能を無効化します。これがデフォルト値です。 本機能は .Xr i4bipr 4 IP over raw HDLC ISDN ドライバ用に実装されました (本ドライバに対してのみ意味を持ちます)。(省略可能) .It Li local-phone-dialout ローカルサイトからダイヤルアウトする場合に使用される、ローカルの電話番号。 リモートサイトに対してダイヤルアウトするとき、 ここで指定した番号が .Em "発番号情報要素 (Calling Party Number Information Element)" に埋め込まれます。 .Pp 本キーワードは、 .Em ipr ユーザランドインタフェースのために必須です。 .It Li local-subaddr-dialout ローカルサイトからダイヤルアウトする場合に使用される、ローカルのサブアドレス。 リモートサイトに対してダイヤルアウトするとき、 ここで指定したサブアドレスが .Em "発番号情報要素 (Calling Party Number Information Element)" に埋め混まれます。 .Pp 本キーワードは、 .Em ipr ユーザランドインタフェースのために必須です。 .It Li local-phone-incoming 着呼の宛先を確認するために使用する、ローカルの電話番号です。 リモートサイトがダイヤルインするとき、 リモートサイトの希望接続先がローカルサイトであることを確認するために、 本番号を使用します。 この値は、電話交換局から得られる .Em "着番号情報要素 (Called Party Number Information Element)" と比較されます。 .Pp 本キーワードは .Em ipr インタフェースのために必須です。 .It Li name その設定エントリにシンボルによる名前を定義します。 全画面表示においてこの名前を使用して リモートサイトへのリンクを識別しやすくすることと、 アカウンティングに使用することを目的としています。(必須) .It Li maxconnecttime 最大の接続時間を秒単位で指定します。 B チャネル上の接続が持続する絶対的な上限を定義するために使用してください。 .Em 注意: この機能は接続時間を制限するために使用され、 接続試行回数は制限し「ません」。 使用する場合、budget 機能も有効にし、接続試行回数も制限してください (さもないと、回線の接続そして再接続が永遠に繰り返され、 電話会社からの請求書に好ましくない影響を与えます)! .It Li ppp-auth-paranoid .Em no に設定すると、 ローカルサイトに起因する接続の信頼性を、 リモートサイトが証明する必要はありません。 デフォルトは .Em yes であり、リモートサイトは常に証明する必要があります。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-send-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-auth-rechallenge 相手が chap の再挑戦をサポートしていない場合、 .Em no に設定します。 デフォルトは .Em yes であり、リモートサイトの証明確認をもう一度行います。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-expect-auth が chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-expect-auth ローカルサイトは、リモートサイトの証明確認を、 指定した方法で行うものと期待します。 サポートされている方法は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar none 相手の証明を要求しません。 典型的には ISP へのダイヤルアウト (多くの ISP がクライアントを認証しません) か ローカルサイトで匿名ダイヤルインを提供する場合に使用します .It Ar chap パスワードを素のテキストで送る必要のない、好ましい認証方法です。 .It Ar pap 誰でも伝線を見て名前をパスワードを取得できてしまう、 防護されていない認証方法です。 .El .Pp .Em ppp-auth-paranoid を .Em no に設定すると (デフォルトは .Em yes です)、外向き接続ではリモートサイトの自身の証明を要求しません。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対してのみ使用します。 (省略可能) .It Li ppp-expect-name リモートサイトの認証にあたり、提供されることが必要な名前。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-expect-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-expect-password リモートサイトの認証にあたり、提供されることが必要な秘密情報。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-expect-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-send-auth リモートサイトが要求する認証方法。 現在サポートされている方法は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar none リモートサイトは、認証を期待しないかサポートしません。 .It Ar chap パスワードを素のテキストで送る必要のない、好ましい認証方法です。 .It Ar pap 誰でも伝線を見て名前をパスワードを取得できてしまう、 防護されていない認証方法です。 .El .Pp 本キーワードは、 .Em isp PPP インタフェースに対してのみ使用します。 (省略可能) .It Li ppp-send-name リモートホストに送られる、認証用の名前。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-send-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ppp-send-password ローカルサイトの証明のためにリモートホストに送られる、認証用の秘密情報。 .Pp 本キーワードは、 .Em isp PPP インタフェースに対して .Em ppp-send-auth が pap または chap に設定されている場合のみ使用します。 (省略可能) .It Li ratetype 料金ファイル中の、使用する料金エントリ。(省略可能) .Pp 例えば、 ratetype=0 は /etc/isdn/isdnd.rates 中で "ra0" で開始する行を選択します (典型的には ra0 行は、 各曜日および各時刻における、ローカルの呼び出し料金の表集合です。) .It Li recoverytime ダイヤル再試行とダイヤル再試行の間に待つ秒数。(省略可能) .It Li remdial-handling 複数個の発信番号が指定された場合のダイヤルアウト動作を指定するために 使用されます。 現在サポートされているパラメータは次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar first 新規 (非再試行) 呼設定 (call setup) の度に、最初の番号から開始します。 .It Ar last 新規 (非再試行) 呼設定の度に、 接続確立が成功した最後の番号から開始します。 .It Ar next 新規 (非再試行) 呼設定の度に、 最後に使用したものの次の番号から開始します。 .El .It Li remote-phone-dialout ローカルサイトからダイヤルアウトする場合に使用される、リモートの電話番号。 リモートサイトに対してダイヤルアウトするとき、 ここで指定した番号が .Em "着番号情報要素 (Called Party Number Information Element)" に埋め込まれます。 .Pp 本キーワードは、ipr インタフェースのために必須です。 .\" 原文の .em (Execute Macro) は、引数無しの場合効果が無いので削除 .\" horikawa@jp.freebsd.org 1999/01/19 複数回指定して、 どれかひとつが成功するまでいくつかの番号に対して試行させることもできます。 .It Li remote-subaddr-dialout ローカルサイトからダイヤルアウトする場合に使用される、リモートのサブアドレス。 リモートサイトに対してダイヤルアウトするとき、 ここで指定したサブアドレスが .Em "着番号情報要素 (Called Party Number Information Element)" に埋め込まれます。 .Pp 本キーワードは、 .Em ipr インタフェースのために必須です。 remote-phone-dialout 番号にリンクさせ、そのうちのどれかひとつが成功するまで、 複数回指定可能です。 .It Li remote-phone-incoming 着呼を確認するために使用する、リモートの電話番号です。 リモートサイトがダイヤルインするとき、 ローカルシステムに対して接続する権限がある 正しいリモートサイトであることを確認するために、 本番号を使用します。 この値は、電話交換局から得られる .Em "発番号情報要素 (Calling Party Number Information Element)" と比較されます。 .Pp 本キーワードは ipr インタフェースのために必須です。 .Pp 本キーワードにワイルドカードパラメータ '*' を渡して、 誰もがダイヤルイン可能とできます。 .It Li remote-subaddr-incoming 着呼を確認するために使用する、リモートのサブアドレスです。 リモートサイトがダイヤルインするとき、 ローカルシステムに対して接続する権限がある 正しいリモートサイトであることを確認するために、 本サブアドレスを使用します。 この値は、電話交換局から得られる .Em "発番号情報要素 (Calling Party Number Information Element)" と比較されます。 .Pp 本キーワードは ipr インタフェースのために必須です。 .Pp 本キーワードにワイルドカードパラメータ '*' を渡して、 誰もがダイヤルイン可能とできます。 .It Li unitlength 秒数による課金単位の長さ。 アイドル時間とともに使用して、いつ接続を切るのかを決定します。 (省略可能) .It Li unitlengthsrc 本キーワードは、ショートホールドモードにおいて .Xr isdnd 8 がどこから unitlength を取得するかを指定します。 現在設定可能な値は次の通りです: .Pp .Bl -tag -width Ds -compact .It Ar none unitlength は、どこにも指定されません。 .It Ar cmdl コマンドラインで指定される unitlength を使用します。 .It Ar conf 設定ファイルでキーワード .Em unitlength で指定される unitlength を使用します。 .It Ar rate 設定ファイルにおいてキーワード .Em ratetype で指定される料金ファイル中の unitlength を使用します。 .It Ar aocd ISDN 回線において AOCD を申し込んでいる場合、 動的に計算される unitlength を使用します。 (AOCD は ```Advice Of Charge During the call (呼の間の課金アドバイス)'' の頭文字で、遠距離通信 (すなわち電話) 業者が提供する、 課金単位を示すサービスです)。 .El .It Li usrdevicename ISDN B チャネルデータをユーザランドにインタフェースするために使用する、 ユーザランドインタフェースを指定します。 本キーワードは必須です。 本キーワードは次のパラメータを受け付けます: .Pp .Bl -tag -width Ds -compact .It Ar ipr 本パラメータは raw HDLC IP over ISDN インタフェースを設定します。 .It Ar isp 本パラメータは shyncronous PPP over ISDN インタフェースを設定します。 .It Ar rbch 本パラメータは Raw B CHannel アクセスインタフェースを設定します。 .It Ar tel ISDN 電話通信。 .El .It Li usrdeviceunit usrdevicename が指定するデバイスの、ユニット番号を指定します。 .It Li usedown エントリセクションにおいて、キーワード .Em downtries と .Em downtime を有効にするために使用します。 (回線ビジーの場合等) 遷移に失敗する場合に、 過度のダイヤル動作を避けるために、 .Nm isdnd が IP インタフェースの有効・無効を動的に切り替えるために使用します。 本パラメータは省略可能であり、デフォルトで .Em off に設定されます。 .It Li usesubaddr サブアドレスを有効にするために使用します。 本パラメータは省略可能であり、デフォルトで .Em off に設定されます。 .It Li valid .Em 注 : この機能は実験用です! このキーワードへのパラメータは、エントリの有効期間を表す文字列です。 時間の指定は、曜日や祭日指定 (システムセクションの .Em holidayfile キーワードを参照してください) と、コロンに続けて、 オプションの時間の範囲を hh:mm-hh:mm で指定したものです。 曜日は 0 から 6 の数字で指定され、番号 7 は祭日です: .Pp .Bl -tag -width Ds -compact .It Ar 0 日曜日 .It Ar 1 月曜日 .It Ar 2 火曜日 .It Ar 3 水曜日 .It Ar 4 木曜日 .It Ar 5 金曜日 .It Ar 6 土曜日 .It Ar 7 祭日 .El .Pp 次の例は、german Telekom の "T-ISDN xxl" 料金表です: .Bl -tag -width Ds -compact .It Ar 1,2,3,4,5,6,09:00-18:00 月曜日から土曜日までの昼間 9:00 から 18:00 .It Ar 1,2,3,4,5,6,18:00-9:00 月曜日から土曜日までの夜間 18:00 から 9:00 .It Ar 0,7 日曜日と祭日、全 24 時間 .El .Pp 本キーワードは省略可能です。 .El .El .Sh アイドル時間の計算とショートホールドモード .Bl -tag -width "incoming calls .It Li 着呼 呼び出し側が課金構造などのほとんどを知っているものと見なすので、キーワード .Em idletime-incoming のみが着呼に機能します。 .Pp 着呼に対しては回線は定常的に監視され、 .Em idletime-incoming で指定する秒数の期間トラフィックが無い場合には、呼は閉じられます。 .Pp 典型的には、 .Em idletime-incoming は最終手段として使用するため、課金単位時間よりもずっと大きな値を設定します。 典型的な値は 1 〜 5 分です。 .It Li 発呼 発呼の切断時間を、3 種類の方法のいずれかに設定可能です: .Bl -tag -width "shorthold mode .It Li 単純モード 単純なモードであり、 .Em idle-algorithm-outgoing は .Em fix-unit-size であることが必要で、 .Em unitlength の選択値は 0 (ゼロ) であり .Em idletime-outgoing は 0 より大きいことが必要です。 .Pp 送信のトラフィックは定常的に監視され、 .Em idletime-outgoing で指定された秒数だけトラフィックが無かった場合、呼は閉じられます。 .Pp 単純なモードの典型値は 10 〜 30 秒です。 .It Li 固定単位課金用ショートホールドモード このショートホールドモードでは、 .Em idle-algorithm-outgoing であることが必要で、 .Em unitlength と .Em idletime-outgoing の選択値は 0 (ゼロ) より大きいことが必要であり、 .Em earlyhangup は 0 (ゼロ) 以上であることが必要です 。 .Bd -literal |||| | | | | +------------------+-------------+--------------+ | | | | | |<-idle-time->|| |<--------------unitlength--------------------->| .Ed .Pp チェック対象外ウィンドウ (uncheked window) は、 (unitlength - (idle-time + earlyhangup)) の長さであり、 この間アイドルチェックはされません。 チェック対象外ウィンドウが終ると、idle-time の期間、 回線にトラフィックが無いかチェックされます。 チェックウィンドウ (check-window) の期間にトラフィックが検出された場合、 次の単位 (unit) の先頭から同じ手続きが再度開始されます。 チェックウィンドウの期間トラフィックが検出されない場合、 チェックウィンドウ終了時に回線が閉じられます、 .Pp 注: .Em unitlength は .Em idletime-outgoing と .Em earlyhangup の合計よりも大きいことが必要 (!) です! .It 可変単位課金用ショートホールドモード このショートホールドモードでは、 .Em idle-algorithm-outgoing は .Em var-unit-size であることが必要で、 .Em unitlength と .Em idletime-outgoing の選択値は 0 (ゼロ) より大きいことが必要です。 .Pp このショートホールドモードは、 呼の課金が、経過時間と固定の接続課金からなる場合に向いています。 例えば British Telecom の課金がこの方法です。 .Pp 各呼は、2 つの期間に分割されます。 1 番目は .Em チェック対象外 (unchecked) 期間であり、2 番目は .Em チェック対象 (checked) 期間です。 .Em チェック対象 期間は、最初の単位時間が終る 1 秒前に開始します。 .Pp .Em チェック対象 期間では、 .Em idle-time 秒の間にトラフィックが無い場合、呼が切断されます。 .Pp .Bd -literal |<---unchecked------------------>|<------checked------> +------------------+-------------+ | |<-idle-time->| |<--------------unitlength------->| .Ed .Pp 経験からは、有用な idle-time は 15 秒から 30 秒です。 .Pp idle-time が短か過ぎると、 ネットワーク処理をまだ終えていないアプリケーションが新たな呼を発生します。 .Pp .El .El .Sh 関連ファイル .Bl -tag -width /etc/isdn/isdnd.rc -compact .It Pa /etc/isdn/isdnd.rc .Nm isdnd ISDN デーモンのデフォルトの設定ファイル。 .El .Sh 関連項目 .Xr regex 3 , .Xr re_format 7 , .Xr isdnd 8 , .Xr isdnmonitor 8 , .Sh 作者 .An -nosplit .Xr isdnd 8 デーモンと本マニュアルページは .An Hellmuth Michaelis Aq hm@FreeBSD.org .An Hellmuth Michaelis が書きました。 .Pp 本マニュアルページへ .An Barry Scott Aq barry@scottb.demon.co.uk が追加しました。 diff --git a/ja_JP.eucJP/man/man5/link.5 b/ja_JP.eucJP/man/man5/link.5 index a864bfe021..ec0915b72f 100644 --- a/ja_JP.eucJP/man/man5/link.5 +++ b/ja_JP.eucJP/man/man5/link.5 @@ -1,610 +1,610 @@ .\" Copyright (c) 1993 Paul Kranenburg .\" 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 Paul Kranenburg. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/link.5,v 1.25 2002/12/12 17:25:57 ru Exp % +.\" %FreeBSD: src/share/man/man5/link.5,v 1.26 2003/09/08 19:57:20 ru Exp % .\" .\" $FreeBSD$ .\" .Dd October 23, 1993 .Dt LINK 5 .Os .Sh 名称 .Nm link .Nd ダイナミックローダとリンクエディタインタフェース .Sh 書式 .In sys/types.h .In nlist.h .In link.h .Sh 解説 インクルードファイル -.Aq Pa link.h +.In link.h では、ダイナミックにリンクされたプログラムやライブラリに含まれる 数種の構造体が宣言されています。 その構造体は、リンクエディタとローダ機構のいくつかの構成要素間の インタフェースを定義します。 バイナリ中でのこれらの構造体のレイアウトは 多くの点で a.out 形式に類似しており、 シンボル定義 (付随する文字列テーブルを含む) や外部エンティティへの参照を 解決するのに必要なリロケーションレコードといった、 よく似た機能を提供します。 それに加え、ダイナミックロードとリンク処理に固有のいくつかのデータ構造も 記録しています。このようなデータ構造としては、 リンクエディット処理を完結するのに必要な他のオブジェクトへの参照や、 異なるプロセス間でコードページの共有を進めるための .Em 位置独立コード (Position Independent Code 略して PIC) を機能させるための 間接テーブルがあります。 ここで述べるデータ構造全体を .Em ランタイムリロケーションセクション (RRS) と呼び、ダイナミックにリンクされるプログラムや共有オブジェクトの 標準テキスト及びデータセグメントに埋め込まれます。 これは、既存の .Xr a.out 5 形式には RRS のための場所が他にないからです。 .Pp あるプログラムを実行可能とする処理が、 システムリソースの使用を最適化しつつ正しく完了するよう、 複数のユーティリティが協調して働きます。 コンパイラは PIC コードを出力し、 それから .Xr ld 1 によって共有ライブラリが作られます。 コンパイラはまた、初期化される各データアイテムのサイズ情報を アセンブラディレクティブ .size を用いて記録します。 PIC コードは、ある間接テーブルを通じてデータ変数にアクセスする点で 従来のコードと異なっています。 この表はグローバルオフセットテーブルと呼ばれ、 慣習によって、予約名 .Dv _GLOBAL_OFFSET_TABLE_ によってアクセス可能です。 ここで用いられるメカニズムの詳細は機種依存ですが、通常は そのマシンのレジスタ 1 本がこの用途に予約されます。 このような仕組みの背景にある合理性は、 実際のロードアドレスとは独立したコードを生成することです。 実行時には、アドレス空間において様々な共有オブジェクトがロードされるアドレス に応じて、グローバルオフセットテーブルに含まれる値のみ変更すればよいのです。 .Pp 同様に、大域的に定義された関数の呼び出しは、 コアイメージのデータセグメント中に置かれている プロシージャリンケージテーブル (PLT) を通じて間接的に行われます。 これもまた、実行時にテキストセグメントを修正せずに済ませるためのものです。 .Pp リンクエディタがグローバルオフセットテーブルとプロシージャリンケージテーブルを 配置するのは、 複数の PIC オブジェクトファイルを結合して プロセスのアドレス空間にマップするのに適した 1 つのイメージにする時です。 リンクエディタはまた、実行時のリンクエディタが必要とする全てのシンボルを集め、 それらをイメージのテキストとデータのビット列と共にストアします。 もう 1 つの予約シンボル .Em _DYNAMIC は、実行時のリンク構造が存在することを示すのに用いられます。 _DYNAMIC が 0 にリロケートされる場合は、実行時リンクエディタを起動する 必要はありません。 もし _DYNAMIC が非 0 なら、_DYNAMIC は、必要なリロケーション情報と シンボル情報の位置を引き出すことができるデータ構造を指しています。 これは特に、スタートアップモジュール .Em crt0 で利用されます。 慣習として、_DYNAMIC 構造体は、 それが属するイメージのデータセグメントの最初に置かれます。 .Sh データ構造 ダイナミックリンクと実行時リロケーションをサポートするデータ構造は、 それらの処理の適用対象イメージのテキスト及びデータセグメントの 両方の中にあります。 テキストセグメントにはシンボル記述や名前といった読み取り専用データが含まれ、 他方データセグメントにはリロケーション処理で更新する必要のあるテーブル類が 含まれます。 .Pp シンボル _DYNAMIC は .Fa _dynamic 構造体を参照します: .Bd -literal -offset indent struct _dynamic { int d_version; struct so_debug *d_debug; union { struct section_dispatch_table *d_sdt; } d_un; struct ld_entry *d_entry; }; .Ed .Bl -tag -width d_version .It Fa d_version このフィールドは異なったバージョンのダイナミックリンク実装用に 提供されています。 .Xr ld 1 及び .Xr ld.so 1 が理解する現在のバージョン番号は、 .Tn SunOS 4.x リリースで用いられている .Em LD_VERSION_SUN (3) と、 .Fx 1.1 以来使用されている .Em LD_VERSION_BSD (8) です。 .It Fa d_un .Em d_version に応じたデータ構造を参照します。 .It Fa so_debug このフィールドは、 共有オブジェクトのシンボルテーブルをアクセスするためのフックを デバッガに提供します。 この共有オブジェクトは、 実行時リンクエディタの処理の結果ロードされたものです。 .El .Pp .Fa section_dispatch_table 構造体がメインとなる .Dq ディスパッチャ テーブルであり、 イメージ内で様々なシンボル情報やリロケーション情報が置かれるセグメントへの オフセットを保持します。 .Bd -literal -offset indent struct section_dispatch_table { struct so_map *sdt_loaded; long sdt_sods; long sdt_filler1; long sdt_got; long sdt_plt; long sdt_rel; long sdt_hash; long sdt_nzlist; long sdt_filler2; long sdt_buckets; long sdt_strings; long sdt_str_sz; long sdt_text_sz; long sdt_plt_sz; }; .Ed .Pp .Bl -tag -width sdt_filler1 .It Fa sdt_loaded ロードされた最初のリンクマップ (後述) へのポインタ。 このフィールドは .Nm ld.so によって設定されます。 .It Fa sdt_sods .Em この オブジェクトが必要とする共有オブジェクト記述子の (リンク) リストの先頭。 .It Fa sdt_filler1 使用しないで下さい (SunOS では ライブラリの検索ルールを指定するのに使用されていました)。 .It Fa sdt_got このイメージ中でのグローバルオフセットテーブルの位置。 .It Fa sdt_plt このイメージ中でのプロシージャリンケージテーブルの位置。 .It Fa sdt_rel 実行時のリロケーションを指定する .Fa relocation_info 構造体 ( .Xr a.out 5 参照) の配列の位置。 .It Fa sdt_hash このオブジェクトのシンボルテーブルでシンボル検索を高速化するための ハッシュテーブルの位置。 .It Fa sdt_nzlist シンボルテーブルの位置。 .It Fa sdt_filler2 現在使用されていません。 .It Fa sdt_buckets .Fa sdt_hash 中のバケット数。 .It Fa sdt_strings .Fa sdt_nzlist に対応するシンボル文字列テーブルの位置。 .It Fa sdt_str_sz 文字列テーブルのサイズ。 .It Fa sdt_text_sz このオブジェクトのテキストセグメントのサイズ。 .It Fa sdt_plt_sz プロシージャリンケージテーブルのサイズ。 .El .Pp .Fa sod 構造体は、それを含むオブジェクトのリンクエディット処理を完了するのに 必要な共有オブジェクトを記述します。 そのようなオブジェクトのリスト ( .Fa sod_next で連結されます) は section_dispatch_table 構造体の .Fa sdt_sods によって指し示されます。 .Bd -literal -offset indent struct sod { long sod_name; u_int sod_library : 1, sod_reserved : 31; short sod_major; short sod_minor; long sod_next; }; .Ed .Pp .Bl -tag -width sod_library .It Fa sod_name このリンクオブジェクトを記述する文字列の、 テキストセグメントにおけるオフセット。 .It Fa sod_library もし設定されていれば、 .Fa sod_name は .Nm ld.so が検索することになるライブラリを指定します。 そのパス名は、あるディレクトリ群 ( .Xr ldconfig 8 参照) で .Em lib\&\&.so.n.m. にマッチする共有オブジェクトを検索することで得られます。 もし設定されていなければ、 .Fa sod_name は希望する共有オブジェクトに対するフルパス名を指し示す必要があります。 .It Fa sod_major ロードすべき共有オブジェクトのメジャーバージョン番号を指定します。 .It Fa sod_minor ロードすべき共有オブジェクトの希望するマイナーバージョン番号を指定します。 .El .Pp プロセスのアドレス空間にロードされる共有オブジェクト全てを追跡するために、 実行時リンクエディタは .Em リンクマップ と呼ばれる構造体のリストを管理しています。 これらの構造体は実行時にのみ用いられ、 実行可能ファイルや共有ライブラリのテキストあるいはデータセグメントには ありません。 .Bd -literal -offset indent struct so_map { caddr_t som_addr; char *som_path; struct so_map *som_next; struct sod *som_sod; caddr_t som_sodbase; u_int som_write : 1; struct _dynamic *som_dynamic; caddr_t som_spd; }; .Ed .Bl -tag -width som_dynamic .It Fa som_addr このリンクマップに対応する共有オブジェクトがロードされるアドレス。 .It Fa som_path ロードされるオブジェクトのフルパス名。 .It Fa som_next 次のリンクマップへのポインタ。 .It Fa som_sod この共有オブジェクトのロードをつかさどる .Fa sod 構造体。 .It Fa som_sodbase 将来のバージョンにおいては、実行時リンカに渡されます。 .It Fa som_write このオブジェクトのテキストセグメント (の一部分) が現在書き込み可能である 場合にセットされます。 .It Fa som_dynamic このオブジェクトの .Fa _dynamic 構造体へのポインタ。 .It Fa som_spd 実行時リンクエディタが管理するプライベートデータと連結するためのフック。 .El .Pp サイズ付きシンボル記述。 これは単に .Fa nlist 構造体にフィールド .Pq Fa nz_size を 1 つ追加したものです。 共有オブジェクトのデータセグメントにあるアイテムの サイズ情報を伝達するのに用いられます。 この構造体の配列は共有オブジェクトのテキストセグメントに存在し、 そのアドレスは .Fa section_dispatch_table の .Fa sdt_nzlist フィールドで指定されます。 .Bd -literal -offset indent struct nzlist { struct nlist nlist; u_long nz_size; #define nz_un nlist.n_un #define nz_strx nlist.n_un.n_strx #define nz_name nlist.n_un.n_name #define nz_type nlist.n_type #define nz_value nlist.n_value #define nz_desc nlist.n_desc #define nz_other nlist.n_other }; .Ed .Bl -tag -width nz_size .It Fa nlist ( .Xr nlist 3 参照)。 .It Fa nz_size このシンボルで表現されるデータのサイズ。 .El .Pp 実行時のリンクエディットで行われるシンボル検索を高速化するため、 共有オブジェクトのテキストセグメントにハッシュテーブルが含まれています。 .Fa section_dispatch_table の .Fa sdt_hash フィールドは .Fa rrs_hash 構造体を指し示します: .Bd -literal -offset indent struct rrs_hash { int rh_symbolnum; /* シンボル番号 */ int rh_next; /* 次のハッシュエントリ */ }; .Ed .Pp .Bl -tag -width rh_symbolnum .It Fa rh_symbolnum 共有オブジェクトのシンボルテーブル ( .Fa ld_symbols で与えられます) での当該シンボルのインデックス。 .It Fa rh_next 衝突が起きたとき、このフィールドはこのハッシュテーブルのバケットにおける 次のエントリのオフセットを保持します。 最終バケット要素の場合は 0 となります。 .El .Fa rt_symbol 構造体は、 実行時にアロケートされるコモン(commons)と 共有オブジェクトからコピーされるデータアイテムを 追跡するのに用いられます。 これらのアイテムはリンクリストで管理され、デバッガでの利用のために .Fa so_debug 構造体 (後述) 中の .Fa dd_cc フィールドによって公開されます。 .Bd -literal -offset indent struct rt_symbol { struct nzlist *rt_sp; struct rt_symbol *rt_next; struct rt_symbol *rt_link; caddr_t rt_srcaddr; struct so_map *rt_smp; }; .Ed .Pp .Bl -tag -width rt_scraddr .It Fa rt_sp シンボル記述。 .It Fa rt_next 次の rt_symbol の仮想アドレス。 .It Fa rt_link ハッシュバケットにおける次の要素。 .Nm ld.so の内部で用いられます。 .It Fa rt_srcaddr 共有オブジェクト中での初期化済データのソース位置。 .It Fa rt_smp この実行時シンボルが記述するデータの元のソースとなる共有オブジェクト。 .El .Pp .Fa so_debug 構造体は、 実行時リンクエディットの結果、当該プロセスのアドレス空間にロードされた あらゆる共有オブジェクトの情報を得るために、 デバッガによって利用されます。 実行時リンクエディタはプロセスの初期化処理の一部として実行されるため、 共有オブジェクトからシンボルにアクセスしようとするデバッガは、 crt0 からリンクエディタが呼ばれた後でのみそれが可能となります。 ダイナミックリンクされているバイナリは .Fa so_debug 構造体を持っています。この構造体の場所は .Fa _dynamic 中の .Fa d_debug フィールドで指示されます。 .Bd -literal -offset indent struct so_debug { int dd_version; int dd_in_debugger; int dd_sym_loaded; char *dd_bpt_addr; int dd_bpt_shadow; struct rt_symbol *dd_cc; }; .Ed .Pp .Bl -tag -width dd_in_debugger .It Fa dd_version このインタフェースのバージョン番号。 .It Fa dd_in_debugger 当該プログラムがデバッガの制御下にあることを実行時リンカに知らせるために デバッガによってセットされます。 .It Fa dd_sym_loaded 共有オブジェクトをロードすることで実行時リンカがシンボルを追加した場合、 実行時リンカによってセットされます。 .It Fa dd_bpt_addr デバッガに制御を移すために実行時リンカによってセットされる ブレークポイントアドレス。 このアドレスは、_main 呼び出しの前に、スタートアップモジュール .Em crt0.o によってある適切な場所に決定されます。 .It Fa dd_bpt_shadow アドレス .Fa dd_bpt_addr にあった元の機械命令を保持します。 デバッガは、プログラム実行を再開する前にこの機械命令を元に戻すことに なっています。 .It Fa dd_cc デバッガが必要とする可能性のある、実行時にアロケートしたシンボルの リンクリストへのポインタ。 .El .Pp .Em ld_entry 構造体は .Nm ld.so 中のサービスルーチン一式を定義します。 .\" See .\" .Xr libdl.a .\" for more information. .Bd -literal -offset indent struct ld_entry { void *(*dlopen)(char *, int); int (*dlclose)(void *); void *(*dlsym)(void *, char *); char *(*dlerror)(void); }; .Ed .Pp .Fa crt_ldso 構造体は、crt0 中のスタートアップコードと .Nm ld.so との間のインタフェースを定義します。 .Bd -literal -offset indent struct crt_ldso { int crt_ba; int crt_dzfd; int crt_ldfd; struct _dynamic *crt_dp; char **crt_ep; caddr_t crt_bp; char *crt_prog; char *crt_ldso; struct ld_entry *crt_ldentry; }; #define CRT_VERSION_SUN 1 #define CRT_VERSION_BSD_2 2 #define CRT_VERSION_BSD_3 3 #define CRT_VERSION_BSD_4 4 .Ed .Bl -tag -width crt_dzfd .It Fa crt_ba crt0 によって .Nm ld.so がロードされた仮想アドレス。 .It Fa crt_dzfd SunOS では、このフィールドは .Dq Pa /dev/zero へのオープンされたファイル記述子を保持し、 0 クリアされたデマンドページを得ます。 .Fx ではこのフィールドは -1 を保持します。 .It Fa crt_ldfd .Nm ld.so をロードするために crt0 が用いる、オープンされたファイル記述子 を保持します。 .It Fa crt_dp main の .Fa _dynamic 構造体へのポインタ。 .It Fa crt_ep 環境文字列へのポインタ。 .It Fa crt_bp メインプログラムがデバッガで実行される場合、 実行時リンカがブレークポイントを置くアドレス。 .Fa so_debug を参照してください。 .It Fa crt_prog crt0 で決定されるメインプログラムの名前 (CRT_VERSION_BSD3 のみ)。 .It Fa crt_ldso crt0 でマップされる実行時リンカのパス (CRT_VERSION_BSD4 のみ)。 .El .Pp .Fa hints_header 構造体及び .Fa hints_bucket 構造体は、通常 .Dq Pa /var/run/ld.so.hints に置かれるライブラリヒントのレイアウトを定義します。 ライブラリヒントは、ファイルシステム中で共有オブジェクトイメージの在処を すばやく見つけるために .Nm ld.so によって利用されます。 ヒントファイルの構成は .Dq a.out とそれほど異なりません。つまりヒントファイルは、 固定長ハッシュバケットのオフセットとサイズを決定するためのヘッダと、 共通の文字列プールを持っています。 .Bd -literal -offset indent struct hints_header { long hh_magic; #define HH_MAGIC 011421044151 long hh_version; #define LD_HINTS_VERSION_1 1 long hh_hashtab; long hh_nbucket; long hh_strtab; long hh_strtab_sz; long hh_ehints; }; .Ed .Bl -tag -width hh_strtab_sz .It Fa hh_magic ヒントファイルのマジックナンバ。 .It Fa hh_version インタフェースのバージョン番号。 .It Fa hh_hashtab ハッシュテーブルのオフセット。 .It Fa hh_strtab 文字列テーブルのオフセット。 .It Fa hh_strtab_sz 文字列テーブルのサイズ。 .It Fa hh_ehints ヒントファイルで利用可能な最大オフセット。 .El .Pp .Bd -literal -offset indent /* * ヒントファイルのハッシュテーブル要素 */ struct hints_bucket { int hi_namex; int hi_pathx; int hi_dewey[MAXDEWEY]; int hi_ndewey; #define hi_major hi_dewey[0] #define hi_minor hi_dewey[1] int hi_next; }; .Ed .Bl -tag -width hi_ndewey .It Fa hi_namex ライブラリを指定する文字列のインデックス。 .It Fa hi_pathx ライブラリのフルパス名を表す文字列のインデックス。 .It Fa hi_dewey 共通ライブラリのバージョン番号。 .It Fa hi_ndewey .Fa hi_dewey 中の有効エントリ数。 .It Fa hi_next ハッシュ衝突の際の次のバケット。 .El .Sh 警告 現在のところ、共有ライブラリ生成をサポートしているのは (GNU) C コンパイラ のみです。他のプログラミング言語では利用できません。 diff --git a/ja_JP.eucJP/man/man5/make.conf.5 b/ja_JP.eucJP/man/man5/make.conf.5 index 3d946c8f4a..c8511b2b2b 100644 --- a/ja_JP.eucJP/man/man5/make.conf.5 +++ b/ja_JP.eucJP/man/man5/make.conf.5 @@ -1,705 +1,753 @@ .\" Copyright (c) 2000 .\" Mike W. Meyer .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/make.conf.5,v 1.76 2003/07/06 19:01:41 gshapiro Exp % +.\" %FreeBSD: src/share/man/man5/make.conf.5,v 1.80 2003/09/24 04:19:26 gshapiro Exp % .\" .\" $FreeBSD$ .\" .Dd November 3, 2000 .Dt MAKE.CONF 5 .Os .Sh 名称 .Nm make.conf .Nd システムビルド情報 .Sh 解説 .Nm ファイルには .Fx のソースや ports アプリケーションの制御に関する設定が含まれています。 通常 .Nm ファイルは、システム管理者が、 これらの値をデフォルトから変更したい場合に作成します。 .Pp .Nm の用途は、コマンド実行やコンパイル動作を直接行うことではなく、 .Pa /usr/src , .Pa /usr/ports , .Pa /usr/doc などにある様々な makefile にインクルードされることです。 そのような makefile では、内部の動作が .Nm の与える条件によって変化するようになっているのです。 .Pp .Pa /etc/make.conf ファイルはそれぞれ適切な .Pa Makefile からインクルードされます。 各々の Makefile の中では、 利用可能なすべてのオプションに対し、デフォルトの設定が与えられています。 .Pa /etc/make.conf で指定する必要があるオプションは、 システム管理者がデフォルトから変更したいと思ったものだけです。 .Pp ビルドの手続きは、大きく 4 つの領域に分けられます。 world、カーネル、ドキュメント、ports です。 .Nm で設定された変数はこれらの領域の 1 つ、2 つ、あるいは全てに適用されます。 変数は、特定のビルドに対して .Xr make 1 の .Fl D オプションを用いて指定することもできます。 .Pp 以下のリストでは、それぞれ指定したビルドの途中で用いることのできる 各変数の名前と簡単な説明を記述します。 .Vt bool と指定されている変数では、その値は意味を持ちません。 変数が設定されていれば (たとえ値が .Dq Li FALSE や .Dq Li NO でも)、変数が設定されているものとして扱われます。 .Pp 次のリストは、すべてのビルド (あるいはビルド以外の目的で使われる .Pa Makefile ) で用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar +.It Va ALWAYS_CHECK_MAKE +.Pq Vt bool +ソースツリー (通常は +.Pa /usr/src ) +のトップレベル makefile に対し、 +.Xr make 1 +が最新であるか常に確認するよう指示します。 +通常これは、古いバージョンの +.Fx +からのアップグレードを扱えるようにするために、 +world および buildworld ターゲットに対してのみ実行されます。 .It Va CFLAGS .Pq Vt str C のコードをコンパイルするときのコンパイラの設定を制御します。 .Fl O を越えた最適化レベル .Pq Fl O2 , No ... はサポートされていません。 .Va BDECFLAGS は、 .An "Bruce Evans" Aq bde@FreeBSD.org が開発や変更のテスト用に勧めている .Xr gcc 1 設定です。 これは、設定すれば、以下のように使用可能です。 .Pp .Bd -literal -offset indent CFLAGS+=${BDECFLAGS} .Ed .It Va CPUTYPE .Pq Vt str 生成コードが対象とするプロセッサを制御します。 特別なコード (現在のところ OpenSSL のみ) に対する プロセッサ固有の最適化を制御し、 .Va CFLAGS および .Va COPTFLAGS の値を変更して .Xr gcc 1 への適切な最適化ディレクティブを含むようにします。 .Va CFLAGS および .Va COPTFLAGS の自動設定は、それぞれ .Va NO_CPU_CFLAGS および .Va NO_CPU_COPTFLAGS で上書きできます。 認識される .Va CPUTYPE オプションについては、 .Pa /usr/share/examples/etc/make.conf を参照してください。 .It Va NO_CPU_CFLAGS .Pq Vt str この変数を設定すると、コンパイル時に自動的に CPU 固有コンパイラフラグが .Va CFLAGS へ追加されることを妨げます。 .It Va NO_CPU_COPTFLAGS .Pq Vt str この変数を設定すると、コンパイル時に自動的に CPU 固有コンパイラフラグが .Va COPTFLAGS へ追加されることを妨げます。 .It Va CVS_UPDATE .Pq Vt bool .Dq Li "make update" で ports を更新するときに .Xr cvs 1 を用いる場合、設定します。 .It Va CXXFLAGS .Pq Vt str C++ のコードをコンパイルするときのコンパイラの設定を制御します。 .Va CXXFLAGS は最初は .Va CFLAGS の値に設定されます。 この .Va CXXFLAGS の値に追加を行いたい場合は、 .Dq Li = ではなく .Dq Li += を用いてください。 .It Va INSTALL .Pq Vt str デフォルトのインストールコマンドです。 -インストールを行う前に比較を行いたい場合は、次の例を用いてください。 +ターゲットと異なるか存在しないファイルのみをインストールする場合、 +次の例を用いてください。 .Bd -literal -offset indent INSTALL="install -C" .Ed +.Pa ( /usr/share/mk +にあるものを含めて) makefile によっては、 +与えられたインストールコマンドに対して +固定のオプションを与えてしまうものがあることに注意してください。 .It Va LOCAL_DIRS .Pq Vt str この変数には .Pa /usr/src で make を行うときに入るべきディレクトリをすべてリストします。 .It Va MAKE_SHELL .Pq Vt str .Xr make 1 が makefile 中のコマンドスクリプトを処理するために 内部的に使用するシェルを制御します。 .Xr sh 1 , .Xr ksh 1 , .Xr csh 1 すべてがサポートされています。 .Pp .Dl "MAKE_SHELL?=sh" .It Va MTREE_FOLLOWS_SYMLINKS .Pq Vt str .Xr mtree 8 にシンボリックリンクを追跡させたい場合は、これを .Dq Fl L に設定します。 .It Va NO_DOCUPDATE .Pq Vt bool .Dq Li "make update" で doc ツリーを更新させない場合これを設定します。 .It Va NO_PORTSUPDATE .Pq Vt bool .Dq Li "make update" で ports ツリーを更新させない場合これを設定します。 .It Va SUP_UPDATE .Pq Vt bool .Dq Li "make update" による ports の更新に .Xr cvsup 1 を使う場合これを設定します。 .It Va SUP .Pq Vt str .Dq Li "make update" で用いられる .Xr cvsup 1 コマンドの置き場所です。 .It Va SUPFLAGS .Pq Vt str .Dq Li "make update" を行うとき .Xr sup 1 に与えるフラグ。 デフォルトは .Op Fl g L Ar 2 です。 .It Va SUPHOST .Pq Vt str .Dq Li "make update" を行うときに用いる sup サーバのホスト名です。 .It Va SUPFILE .Pq Vt str .Dq Li "make update" を行うとき、最初に用いる .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/standard\-supfile です。 .It Va SUPFILE1 .Pq Vt str .Dq Li "make update" を行うとき、二番目に用いる .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/secure\-supfile です。 .It Va SUPFILE2 .Pq Vt str .Dq Li "make update" を行うとき、三番目に用いる .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/secure\-supfile です。 .It Va PORTSSUPFILE .Pq Vt str .Dq Li "make update" を行うときの ports 用の .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/ports\-supfile です。 .It Va DOCSUPFILE .Pq Vt str .Dq Li "make update" を行うときのドキュメント用の .Ar supfile です。 デフォルトは .Pa /usr/share/examples/cvsup/doc\-supfile です。 .El .Pp 次のリストは、カーネルのビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va BOOT_COMCONSOLE_PORT .Pq Vt str ブートブロックが、キーボード/ビデオカードの代わりにシリアルコンソールを 用いるよう設定された場合に、コンソールとして用いるポートアドレスです。 .It Va BOOT_COMCONSOLE_SPEED .Pq Vt int ブートブロックが、キーボード/ビデオカードの代わりにシリアルコンソールを 用いるよう設定された場合に、コンソールで用いるボーレートです。 .It Va BOOTWAIT .Pq Vt int カーネルがデフォルトカーネルのブートを開始する前に、 コンソールのキーが押されるのを待つ時間を制御します。 値はだいたいミリ秒単位となります。 ディスクからブートする前のキー入力の認識は BIOS が行うので、 これが 0 に設定されていた場合でも、 ユーザの選択したブートパラメータを与えることは可能です。 .It Va COPTFLAGS .Pq Vt str カーネルをコンパイルするときのコンパイラの設定を制御します。 .Op Fl O を越えた最適化レベル .Pq Op Fl O2 , No ...\& は、動作が保証されていません。 .It Va KERNCONF .Pq Vt str .Dq Li "${MAKE} buildkernel" によるビルドと .Dq Li "${MAKE} installkernel" によるインストールとで、どのカーネル設定を用いるかを制御します。 例えば .Bd -literal -offset indent KERNCONF=MINE DEBUG GENERIC OTHERMACHINE .Ed .Pp とすると、 .Pa MINE , DEBUG , GENERIC , OTHERMACHINE といった各設定ファイルに対応するカーネルをビルドし、 .Pa MINE に対応するカーネルをインストールします。 デフォルトは .Pa GENERIC です。 .It Va LOADER_TFTP_SUPPORT .Pq Vt bool buildkernel が影響するオプションではありませんが、他に良い場所がありません。 デフォルトでは .Xr pxeboot 8 ローダがカーネルを NFS 経由で取得します。 これを定義して .Pa /usr/src/sys/boot を再コンパイルすると、カーネルを TFTP 経由で取得するようになります。 これにより、 .Xr pxeboot 8 がカスタム BOOTP ディスクレスカーネルをロードし、サーバの .Pa / をマウントしますが、サーバのカーネルはロードしません。 .It Va MODULES_OVERRIDE .Pq Vt str モジュールすべてではなく一部をビルドしたい場合、 モジュールリストをここに設定します。 .It Va NO_KERNELCONFIG .Pq Vt bool .Dq Li "${MAKE} buildkernel" の際に .Xr config 8 を実行しない場合には、これを設定します。 .It Va NO_KERNELDEPEND .Pq Vt bool .Dq Li "${MAKE} buildkernel" の際に .Dq Li "${MAKE} depend" を実行しない場合には、これを設定します。 .It Va NO_MODULES .Pq Vt bool カーネルといっしょにモジュールをビルドしない場合に設定します。 .El .Pp 次のリストは、world のビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va COMPAT1X .Pq Vt bool .Fx 1 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT20 .Pq Vt bool .Fx 2.0 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT21 .Pq Vt bool .Fx 2.1 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT22 .Pq Vt bool .Fx 2.2 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT3X .Pq Vt bool .Fx 3 互換ライブラリをインストールする場合に設定します。 .It Va COMPAT4X .Pq Vt bool .Fx 4 互換ライブラリをインストールする場合に設定します。 .It Va FETCH_CMD .Pq Vt str ファイルの取得に用いるコマンドです。 通常は .Xr fetch 1 です。 .It Va KRB5_HOME .Pq Vt str MIT Kerberos5 を .Pa /usr/local 以外にインストールしたい場合、これを定義します。 ssh1 に対しても Kerberos 要であることを伝えます。 .It Va MAKE_IDEA .Pq Vt bool IDEA 暗号化コードをビルドする場合に設定します。 このコードは米国やヨーロッパの多くの国々で特許が取得されています。 合法的に IDEA を使えるかどうか決めるのは .Em あなたの責任 です。 .It Va NO_KERBEROS .Pq Vt bool Kerberos 5 (KTH Heimdal) をビルドしたくない場合に設定します。 .It Va ENABLE_SUID_K5SU .Pq Vt bool ksu ユーティリティを使用したい場合に設定します。 設定しないと、本ユーティリティはユーザ ID 設定ビットが 設定されずにインストールされます。 .It Va ENABLE_SUID_NEWGRP .Pq Vt bool ユーザ ID 設定ビットを設定して .Xr newgrp 1 をインストールする場合に、これを設定します。 設定しないと、 .Xr newgrp 1 はユーザのグループを変更できません。 .It Va ENABLE_SUID_SSH .Pq Vt bool .Xr ssh 1 をセットユーザ ID ビットをオンにしてインストールする場合に、これを設定します。 .It Va MODULES_WITH_WORLD .Pq Vt bool カーネルと同時にではなく、 システムと同時にモジュールをビルドする場合に設定します。 .It Va NO_CVS .Pq Vt bool CVS をビルドしない場合に設定します。 .It Va NO_CXX .Pq Vt bool .Xr g++ 1 および関連ライブラリをビルドしない場合に設定します。 .It Va NO_BIND .Pq Vt bool BIND をビルドしない場合に設定します。 .It Va NO_FORTRAN .Pq Vt bool .Xr g77 1 と関連ライブラリをビルドしない場合に設定します。 .It Va NO_GDB .Pq Vt bool .Xr gdb 1 をビルドしない場合に設定します。 .It Va NO_I4B .Pq Vt bool isdn4bsd パッケージをビルドしない場合に設定します。 .It Va NO_IPFILTER .Pq Vt bool IP Filter パッケージをビルドしない場合に設定します。 +.It Va NO_TOOLCHAIN +.Pq Vt bool +プログラム開発に使用するプログラム、 +すなわちコンパイラやデバッガ等をビルドしない場合に設定します。 +.It Va NOINET6 +.Pq Vt bool +IPv6 ネットワークに関連するプログラムやライブラリを +ビルドしない場合に設定します。 +.It Va NOATM +.Pq Vt bool +ATM ネットワークに関連するプログラムやライブラリを +ビルドしない場合に設定します。 +.It Va NO_USB +.Pq Vt bool +.Xr usbd 8 +および関連プログラムをビルドしない場合に設定します。 .It Va NO_LPR .Pq Vt bool .Xr lpr 1 と関連プログラムをビルドしない場合に設定します。 +.It Va NO_ACPI +.Pq Vt bool +.Xr acpiconf 8 , +.Xr acpidump 8 +および関連プログラムをビルドしない場合に設定します。 +.It Va NO_VINUM +.Pq Vt bool +.Xr vinum 8 +と関連プログラムをビルドしない場合に設定します。 .It Va NO_MAILWRAPPER .Pq Vt bool MTA セレクタである .Xr mailwrapper 8 をビルドしない場合に設定します。 .It Va NOMAN マニュアルページをビルドしない場合に設定します。 .Pq Vt bool .It Va NO_OBJC .Pq Vt bool Objective C のサポートをビルドしない場合に設定します。 .It Va NO_OPENSSH .Pq Vt bool OpenSSH をビルドしない場合に設定します。 .It Va NO_OPENSSL .Pq Vt bool OpenSSL をビルドしない場合に設定します (同時に .Va NO_KERBEROS と .Va NO_OPENSSH も設定されたことになります)。 .It Va NO_SENDMAIL .Pq Vt bool .Xr sendmail 8 と関連プログラムをビルドしない場合に設定します。 .It Va NO_SHAREDOCS .Pq Vt bool .Bx 4.4 の古い文書をビルドしない場合に設定します。 .It Va NO_TCSH .Pq Vt bool .Pa /bin/csh (これは .Xr tcsh 1 です) をビルド・インストールしない場合に設定します。 .It Va NO_X .Pq Vt bool X\-Windows のサポート (例えば .Xr doscmd 1 など) をコンパイルしない場合に設定します。 .It Va NOCLEAN .Pq Vt bool .Dq Li "make buildworld" の途中で clean を行わない場合に設定します。 何をやっているかわからない人は設定すべきではありません。 .It Va NOCLEANDIR .Pq Vt bool .Dq Li "${MAKE} cleandir" の代わりに .Dq Li "${MAKE} clean" を実行する場合に設定します。 .It Va NOCRYPT .Pq Vt bool crypto コードを一切ビルドしない場合に設定します。 .It Va NOGAMES .Pq Vt bool ゲームをビルドしない場合に設定します。 .It Va NOINFO .Pq Vt bool .Xr info 5 各ファイルを作成・インストールしない場合に設定します。 .It Va NOLIBC_R .Pq Vt bool .Nm libc_r .Pf ( Nm libc のリエントラント版) をビルドしない場合に設定します。 .It Va NOLIBPTHREAD .Pq Vt bool .Nm libpthread (M:N スレッド) ライブラリをビルドしない場合に設定します。 .It Va NOLIBTHR .Pq Vt bool .Nm libthr (1:1 スレッド) ライブラリをビルドしない場合に設定します。 .It Va NOMANCOMPRESS .Pq Vt bool man ページのインストールの際に圧縮を行わない場合に設定します。 .It Va NOPROFILE .Pq Vt bool profile 版ライブラリをコンパイルしない場合に設定します。 .It Va NOSHARE .Pq Vt bool .Pa share サブディレクトリをビルドしない場合に設定します。 .It Va PPP_NOSUID .Pq Vt bool .Xr ppp 8 を suid root プログラムとしてはインストールしない場合に設定します。 .It Va SENDMAIL_MC .Pq Vt str インストール時に用いるデフォルトの m4 設定ファイルです。 この値には .Pa .mc ファイルのフルパスを与えます。 例えば .Pa /etc/mail/myconfig.mc です。 make install すると、既存の .Pa /etc/mail/sendmail.cf を上書きしてしまうので、注意して使ってください。 .Va SENDMAIL_CF はもう推奨されなくなりました。 .It Va SENDMAIL_SUBMIT_MC .Pq Vt str インストール時に用いるメール提出用デフォルト m4 設定ファイルです。 この値には .Pa .mc ファイルのフルパスを与えます。 例えば .Pa /etc/mail/mysubmit.mc です。 インストールによって既存の .Pa /etc/mail/submit.cf が上書きされてしまいますので、注意して使用してください。 .It Va SENDMAIL_ADDITIONAL_MC .Pq Vt str ビルド時に .Pa .cf ファイルに変換される追加分の .Pa .mc ファイル (複数指定可) です。 値には、これらの .Pa .mc ファイルへのフルパスを与えます。 例えば .Pa /etc/mail/foo.mc .Pa /etc/mail/bar.mc など。 +.It Va SENDMAIL_CF_DIR +.Pq Vt str +.Pa .mc +ファイルから +.Pa .cf +ファイルをビルドするために使用する m4 設定ファイルのデフォルトの場所を +オーバライドします。 .It Va SENDMAIL_M4_FLAGS .Pq Vt str .Pa .mc ファイルから .Pa .cf ファイルを作成するときに m4 に渡されるフラグ。 .It Va SENDMAIL_CFLAGS .Pq Vt str .Xr sendmail 8 をビルドするときにコンパイルコマンドに渡すフラグです。 .Va SENDMAIL_* 各フラグを用いれば、SASL サポートをその設定と共に指定できます。 例えば次のようにします。 .Bd -literal -offset indent SENDMAIL_CFLAGS=-I/usr/local/include -DSASL SENDMAIL_LDFLAGS=-L/usr/local/lib SENDMAIL_LDADD=-lsasl .Ed .It Va SENDMAIL_LDFLAGS .Pq Vt str .Xr sendmail 8 をビルドするときに .Xr ld 1 コマンドに渡すフラグです。 .It Va SENDMAIL_LDADD .Pq Vt str .Xr sendmail 8 をビルドするときに .Xr ld 1 コマンドの末尾に追加するフラグです。 .It Va SENDMAIL_DPADD .Pq Vt str .Xr sendmail 8 をビルドするときに追加する依存関係です。 .It Va SENDMAIL_SET_USER_ID .Pq Vt bool 設定すると、 .Xr sendmail 8 をグループ ID 設定ではなく、 root にユーザ ID 設定したバイナリとしてインストールし、 .Pa /etc/mail/submit.{cf,mc} をインストールしません。 このフラグの使用は推奨できません。 可能であれば、 .Pa /etc/mail/README に書かれている代りの方法を採用すべきです。 .It Va SENDMAIL_MAP_PERMS .Pq Vt str このモードのエイリアスおよびマップのデータベースファイルが、 .Pa /etc/mail/Makefile を使用して作成されます。 デフォルト値は 0640 です。 .It Va TOP_TABLE_SIZE .Pq Vt int .Xr top 1 は、ユーザ名用にハッシュ表を使用します。 ハッシュの大きさはローカルユーザ数に合うように調整可能です。 テーブルの大きさは、 .Pa /etc/passwd の行数の約 2 倍の素数であるべきです。 デフォルト数は 20011 です。 .It Va WANT_EXT2FS_MODULE .Pq Vt bool モジュールビルド時に Linux ext2fs カーネルモジュールを 常にビルドしたい場合に設定します。 .It Va WANT_FORCE_OPTIMIZATION_DOWNGRADE .Pq Vt int 高い最適化レベルを強制的に低くするように、システムのコンパイラをビルドします。 .Xr gcc 1 .Fl O2 以上の高い最適化レベルは、しばしば既知の最適化バグを引き起こすことが 知られています \(em Alpha プラットフォームでは、さらにひどいです。 ここで割り当てられた値が、最も高い最適化レベルの値として使用されます。 .El .Pp 次のリストは、ドキュメントのビルドで用いられる変数の名前と簡単な説明です。 .Bl -tag -width Ar .It Va DISTDIR .Pq Vt str distfiles が保存されている場所です。 通常これは .Va PORTSDIR の .Pa distfiles です。 .It Va DOC_LANG .Pq Vt str ビルド・インストール対象の言語とエンコーディングのリストです。 .It Va PRINTERDEVICE .Pq Vt str システム文書のデフォルトのフォーマットです。 これはプリンタに依存します。 単純なプリンタなら .Dq Li ascii を設定します。 PostScript プリンタやグラフィックスプリンタ + ghostscript フィルタなら .Dq Li ps を設定します。 両方設定することもできます。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /usr/share/examples/etc/make.conf" -compact .It Pa /etc/make.conf .It Pa /usr/doc/Makefile .It Pa /usr/share/examples/etc/make.conf .It Pa /usr/src/Makefile .It Pa /usr/src/Makefile.inc1 .El .Sh 関連項目 .Xr gcc 1 , .Xr install 1 , .Xr make 1 , .Xr ports 7 , .Xr lpd 8 , .Xr sendmail 8 .Sh 歴史 .Nm ファイルは .Fx 4.0 以前のいつかに登場しました。 .Sh 作者 このマニュアルページは .An "Mike W. Meyer" Aq mwm@mired.org が書きました。 .Sh バグ このマニュアルページは現在の .Nm で利用できるオプションに比べると、古くなることが時々あるかもしれません。 現在利用できる最新のオプションについては、 .Pa /usr/share/examples/etc/make.conf ファイルを調べてください。 diff --git a/ja_JP.eucJP/man/man5/procfs.5 b/ja_JP.eucJP/man/man5/procfs.5 index f4e77975fc..dd6aca362d 100644 --- a/ja_JP.eucJP/man/man5/procfs.5 +++ b/ja_JP.eucJP/man/man5/procfs.5 @@ -1,247 +1,247 @@ -.\" %FreeBSD: src/share/man/man5/procfs.5,v 1.28 2003/05/21 15:49:01 ru Exp % +.\" %FreeBSD: src/share/man/man5/procfs.5,v 1.29 2003/09/10 19:24:35 ru Exp % .\" .\" $FreeBSD$ .\" Written by Garrett Wollman .\" This file is in the public domain. .\" .Dd December 4, 2001 .Dt PROCFS 5 .Os .Sh 名称 .Nm procfs .Nd プロセスファイルシステム .Sh 書式 .Bd -literal proc /proc procfs rw 0 0 .Ed .Sh 解説 プロセスファイルシステム、すなわち .Nm はファイルシステム中でシステムプロセステーブルの閲覧を可能にします。 .Nm は通常 .Pa /proc にマウントされ、 .Xr ps 1 や .Xr w 1 といったプログラムの完全な動作に必要なものです。 .Pp .Nm は以前の .Fx 1.1 .Nm での実装とは異なり、 プロセス空間に 2 つのレベルの視点を提供します。 高いレベルでは、プロセスはそれ自身が、10 進数による先頭に 0 の付かない 自分のプロセス ID によって、名前付けされます。また .Pa curproc と呼ばれる調査要求を行なったプロセスを参照する特別なノードが存在します。 .Pp それぞれのノードは以下の項目を含むディレクトリです: .Pp それぞれのディレクトリは数個のファイルを含んでいます: .Bl -tag -width status .It Pa ctl 多様な制御操作をサポートする書き込みのみのファイル。 制御コマンドは .Pa ctl ファイルに文字列として書き込まれます。 制御コマンドは: .Bl -tag -width detach -compact .It attach 対象プロセスを停止し、 送信プロセスに対してデバッグ制御プロセスとなるよう手配する。 .It detach 対象プロセスの実行を継続し、デバッグプロセスの制御下から離します (送信プロセスである必要はありません)。 .It run シグナルが届くか、ブレークポイントに達するか、または対象プロセスが 終了するまで対象プロセスを継続して動作させます。 .It step シグナルを届けずに対象プロセスをシングルステップさせます。 .It wait 対象プロセスがデバッグに適した平衡状態になるまで待ちます。 対象プロセスは他のどのコマンドが許可されるよりも前に この状態になる必要があります。 .El .Pp 文字列は、 .Dv SIG 接頭辞なしの小文字のシグナル名でも構いません。 この場合、指定したシグナルがプロセスに届けられます。 .Pf ( Xr (sigaction 2 参照)。 .It Pa dbregs -.Pa +.In machine/reg.h 中の .Dv "struct dbregs" で定義されるデバッグレジスタ。現在 .Pa dbregs は i386 アーキテクチャでのみ実装されています。 .It Pa etype .Pa file 項目によって参照される実行形式のタイプ。 .It Pa file プロセステキストが読まれる file へのシンボリックリンク。 これはプロセスのシンボルテーブルへのアクセスを得る、 またはプロセスのもう 1 つのコピーを始めるために使われます。 ファイルが見つからなかった場合、そのリンクターゲットは .Ql unknown です。 .It Pa fpregs -.Pa +.In machine/reg.h 中の .Dv "struct fpregs" で定義される浮動小数点レジスタ。 .Pa fpregs は、汎用レジスタセットと浮動小数点レジスタセットが明確に区別されたマシンにのみ 実装されています。 .It Pa map プロセスの仮想メモリのマップ。 .It Pa mem プロセスの完全な仮想メモリイメージ。 プロセス中に存在するアドレスのみがアクセスできます。 このファイルに対する読み書きはプロセスを修正します。 テキストセグメントに対する書き込みはそのプロセスのみに留まります。 .It Pa note プロセスへシグナルを送るために使われます。実装されていません。 .It Pa notepg プロセスグループへシグナルを送るために使われます。実装されていません。 .It Pa regs プロセスのレジスタセットへの読み書き手段を提供します。 このファイルは -.Pa +.In machine/reg.h 中で定義されている .Dv "struct regs" バイナリデータ構造体を含んでいます。 .Pa regs はプロセスが停止しているときのみ書き込みできます。 .It Pa rlimit これは、プロセスの現在および最大の制限を含む、読み取り専用ファイルです。 各行の書式は .Ar rlimit current max であり、-1 は無限を意味します。 .It Pa status プロセスの状態。 このファイルは読み込みのみで、空白で分けられた以下の多数のフィールドを 含んだ 1 行を返します: .Pp .Bl -bullet -compact .It コマンド名 .It プロセス ID .It 親プロセス ID .It プロセスグループ ID .It セッション ID .It 制御端末の .Ar major , Ns Ar minor 、またはもし制御端末がない場合には .Dv -1,-1。 .It プロセスフラグのリスト: .Dv ctty 制御端末がある、 .Dv sldr プロセスがセッションリーダである、 .Dv noflags 他の 2 つのフラグがセットされていない。 .It コンマで区切った秒とマイクロ秒によるプロセス開始時刻 .It コンマで区切った秒とマイクロ秒によるユーザ時間 .It コンマで区切った秒とマイクロ秒によるシステム時間 .It ウェイトチャネルメッセージ .It 実効ユーザ ID と全てコンマで区切られた グループリスト(最初の項目は実効グループ ID) から成っている プロセスクリデンシャル .It プロセスが走行する jail のホスト名。 .Ql - の場合、プロセスは jail 中で走行していないことを示します。 .El .El .Pp 対象がデバッガによって fork/exec される通常のデバッギング環境では、 デバッガが fork し、子は自分自身で止まる(例えば自分で与えた .Dv SIGSTOP ) べきです。 親は適切な .Pa ctl ファイルを通じて .Dv wait そして .Dv attach コマンドを発行するべきです。 子プロセスは exec 呼び出しが終わった直後に .Dv SIGTRAP を受け取ります .Pf ( Xr execve 2 参照)。 .Pp それぞれのノードはプロセスのユーザに所持され、 ユーザのプライマリグループに属します。 .Pa mem ノードは例外的に .Li kmem グループに属します。 .Sh 関連ファイル .Bl -tag -width /proc/curproc/XXXXXXX -compact .It Pa /proc .Nm の通常のマウントポイント。 .It Pa /proc/pid プロセス .Pa pid のプロセス情報を含んだディレクトリ .It Pa /proc/curproc カレントプロセスのプロセス情報を含んだディレクトリ .It Pa /proc/curproc/cmdline プロセスの実行形式名 .It Pa /proc/curproc/ctl プロセスへの制御メッセージを送るために使われます .It Pa /proc/curproc/etype 実行形式タイプ .It Pa /proc/curproc/file 実行形式イメージ .It Pa /proc/curproc/fpregs プロセス浮動小数点レジスタセット .It Pa /proc/curproc/map プロセスの仮想メモリマップ .It Pa /proc/curproc/mem プロセスの完全な仮想アドレス空間 .It Pa /proc/curproc/note プロセスへのシグナル送信に使われます .It Pa /proc/curproc/notepg プロセスグループへのシグナル送信に使われます .It Pa /proc/curproc/regs プロセスのレジスタセット .It Pa /proc/curproc/rlimit プロセスの現在および最大の rlimit .It Pa /proc/curproc/status プロセスの現在の状態 .El .Sh 関連項目 .Xr mount 2 , .Xr sigaction 2 , .Xr unmount 2 , .Xr mount_procfs 8 , .Xr pseudofs 9 .Sh 作者 .An -nosplit このマニュアルページは .An Jan-Simon Pendry によって提供された記述に基づいて .An Garrett Wollman によって書かれ、 後に .An Mike Pritchard によって手直しされました。 diff --git a/ja_JP.eucJP/man/man5/publickey.5 b/ja_JP.eucJP/man/man5/publickey.5 index d68bf2d856..8024ab4666 100644 --- a/ja_JP.eucJP/man/man5/publickey.5 +++ b/ja_JP.eucJP/man/man5/publickey.5 @@ -1,42 +1,43 @@ -.\" %FreeBSD: src/lib/libc/rpc/publickey.5,v 1.6 2001/01/17 18:26:21 ru Exp % +.\" %FreeBSD: src/lib/libc/rpc/publickey.5,v 1.7 2003/08/26 15:52:47 eivind Exp % .\" @(#)publickey.5 2.1 88/08/07 4.0 RPCSRC; from 1.6 88/02/29 SMI; .\" $FreeBSD$ .\" .\" WORD: public key 公開鍵 .\" WORD: secret key 秘密鍵 .\" .Dd October 19, 1987 .Dt PUBLICKEY 5 .Os .Sh 名称 .Nm publickey .Nd "公開鍵データベース" .Sh 書式 .Pa /etc/publickey .Sh 解説 .Pa /etc/publickey -は、安全なネットワークで用いられる公開鍵のデータベースです。 +は、安全な RPC (リモートプロシジャコール) +で用いられる公開鍵のデータベースです。 このデータベースは、ネットワークユーザ名 (これは、ユーザまたは ホスト名を指します)、ユーザの公開鍵 (16 進表現)、コロン、ログイン パスワードで暗号化されたユーザの秘密鍵 (16 進表現) を順につなげた ものからなります。 .Pp ユーザは .Xr chkey 1 コマンドを使って、システム管理者は .Xr newkey 8 コマンドを使ってこのファイルを更新します。 ファイル .Pa /etc/publickey には、NIS マスタマシン上のデータだけを置くべきです。 このマシン上で、この ファイルは変換されて .Tn NIS データベース .Pa publickey.byname の中に置かれます。 .Sh 関連項目 .Xr chkey 1 , .Xr publickey 3 , .Xr newkey 8 , .Xr ypupdated 8 diff --git a/ja_JP.eucJP/man/man5/pw.conf.5 b/ja_JP.eucJP/man/man5/pw.conf.5 index 86fc1edc10..a6c30d8dc0 100644 --- a/ja_JP.eucJP/man/man5/pw.conf.5 +++ b/ja_JP.eucJP/man/man5/pw.conf.5 @@ -1,298 +1,298 @@ .\" Copyright (C) 1996 .\" David L. Nugent. 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 DAVID L. NUGENT 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 DAVID L. NUGENT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/pw/pw.conf.5,v 1.14 2003/06/08 14:28:38 charnier Exp % +.\" %FreeBSD: src/usr.sbin/pw/pw.conf.5,v 1.15 2003/09/08 19:57:21 ru Exp % .\" $FreeBSD$ .\" .Dd December 9, 1996 .Dt PW.CONF 5 .Os .Sh 名称 .Nm pw.conf .Nd pw.conf 設定ファイルのフォーマット .Sh 解説 ファイル -.Aq Pa /etc/pw.conf +.In /etc/pw.conf には .Xr pw 8 ユーティリティで使用される設定データが含まれています。 .Xr pw 8 ユーティリティは、 システムのパスワードとグループファイルのメンテナンスに使用され、 ユーザやグループを追加、削除、変更します。 このファイルは .Xr pw 8 コマンドによって .Ar useradd コマンドと .Fl D オプション を使うか、テキストエディタによって直接編集することによって変更されます。 .Pp .Pa /etc/pw.conf における各行は、コメントもしくは設定データとして扱われます。 空白行と .Ql \&# 文字によって開始している行はコメントとなります。 それら以外の行はキーワードが最初に指定され、 それに対応するデータが続くものとして処理されます。 .Pp .Xr pw 8 によって認識されるキーワードには以下のものがあります。 .Bl -tag -width password_days -offset indent -compact .It defaultpasswd 新規ユーザのパスワードとなります。 .It reuseuids UID の空き番号を再使用します。 .It nispasswd .Tn NIS パスワードデータベースへのパスです。 .It reusegids GID の空き番号を再使用します。 .It skeleton ホームディレクトリにコピーするデフォルトのファイルの在処です。 .It newmail 新規ユーザに送付するメールです。 .It logfile このファイルにユーザ/グループの変更のログを取ります。 .It home ホームディレクトリのルートディレクトリです。 .It shellpath シェルプログラムのパスです。 .It shells 有効なシェルのリストです (パスは含みません)。 .It defaultshell デフォルトのシェルです (パスは含みません)。 .It defaultgroup デフォルトのグループです。 .It extragroups 新規ユーザをこのグループに追加します。 .It defaultclass 新規ユーザのこのログインクラスに設定します。 .It minuid .It maxuid 有効なデフォルトユーザ ID の範囲です。 .It mingid .It maxgid 有効なデフォルトグループ ID の範囲です。 .It expire_days アカウントが期限切れとなるまでの日数です。 .It password_days パスワードが期限切れとなるまでの日数です。 .El .Pp .Ar defaultpasswd の有効な値は以下の通りです。 .Bl -tag -width password_days -offset indent -compact .It no 新規に作成したアカウントでのログインを無効にします。 .It yes パスワードをアカウント名に強制的に設定します。 .It none 強制的にパスワードをブランクにします。 .It random ランダムなパスワードを生成します。 .El .Pp 2 番目と 3 番目のオプションは安全ではなく、 一般からアクセス可能なシステムでは可能であれば避けるべきです。 最初のオプションはそのアカウントが使用される前にスーパユーザが .Xr passwd 1 を使ってパスワードを設定する必要があります。 これは管理者のアカウントを作成する場合にも便利です。 最後のオプションでは .Xr pw 8 は標準出力にランダムに生成したパスワードを出力します。 これが最も好ましく安全なオプションです。 .Xr pw 8 ユーティリティは、 ファイルハンドル経由で (コマンド行による方法は安全でないためです) 新規ユーザに特定のパスワードを設定する方法も提供しています。 .Pp .Ar reuseuids と .Ar reusegids は新規のユーザ ID とグループ ID 番号の生成方法を指定します。 このフィールドで .Ql \&yes が指定されていると .Xr pw 8 は許可された範囲で 最初の使用されていないユーザ ID か グループ ID を検索します。 .Ql \&no が指定されていると 範囲中のすでに存在している他のユーザ ID もしくはグループ ID が 新規に生成された ID より必ず小さくなることを保証し、 以前にユーザもしくはグループを削除したことによって生じた グループ ID もしくはユーザ ID の空き番号を再度使用することを 避けることができます。 デフォルトグループがキーワード .Ar defaultgroup によって指定されていない場合、 .Xr pw 8 は新規ユーザに対して新規グループを生成し、 新規のユーザ ID とグループ ID に同じものを使用するように試みます。 新規ユーザのユーザ ID がすでにグループ ID として使用されている場合は、 その代わりに次に使用可能なグループ ID が選択されます。 .Pp .Tn NIS サーバで .Pa /etc/master.passwd とは別の passwd データベースを管理している場合、 このオプションを使用すると、 ユーザレコードの追加・修正・削除といった更新を 追加のファイルに対しても同時に行うことができます。 空白または 'no' に設定すると、 追加のデータベースは更新されません。 絶対パス名を使用する必要があります。 .Pp .Ar skeleton キーワードはユーザの新規のホームディレクトリの内容を作る上での もととなるディレクトリを指定します。 デフォルトでは .Pa /usr/share/skel となっています。 .Xr pw 8 で .Fl m オプションを指定すると、ユーザのホームディレクトリが作成され、 .Ar skeleton ディレクトリに含まれるファイルがそこにコピーされます。 .Pp .Ar newmail キーワードによって送信するメッセージの本文を含むファイルの パス名を指定することによって、 新規ユーザに通知の電子メールを送信することができます。 アカウントが作成された時にメールを出さないようにするには、 このエントリを空にしておくか .Ql \&no を指定します。 .Pp .Ar logfile オプションによってパスワードファイルの変更のログを指定したログファイルに 取ることができます。 ログファイルを作成したり追加したりしないようにするには、 このフィールドを空にしておくか .Ql \&no を指定します。 .Pp .Ar home キーワードは必ず指定する必要のあるものです。 これはすべての新規ユーザのホームディレクトリが作成される ディレクトリの場所を指定するものです。 .Pp .Ar shellpath キーワードは、ログインシェルとして使われるプログラムが含まれる ディレクトリのリストをコロン .Ql \&: で区切って指定します。 .Pp .Ar shells キーワードはログインシェルとして使用可能なプログラムのリストを指定します。 このリストはコンマで区切られたシェル名のリストであり、パスは含みません。 これらのシェルは .Ar shellpath によって指定されているいずれかのディレクトリの中にある必要があります。 .Pp .Ar defaultshell キーワードは .Xr pw 8 のコマンド行で新規ユーザのシェルプログラムが 何も指定されていない場合のシェルプログラムを指定します。 .Pp .Ar defaultgroup キーワードは新規アカウントに使用される第 1 グループ (パスワードファイル中のグループ ID 番号) を指定します。 これが空であるか、 .Ql \&no が指定されていると各々の新規ユーザには自動的に各々のグループが 作成されます。 これはユーザによって通常使われている .Em umask に関係なく、システムの他のユーザによる不正アクセスから 各ユーザのファイルを守ることができるため、 新規にユーザを作成する場合の推奨方法となります。 .Pp .Ar extragroups キーワードによって、新規ユーザを自動的に .Pa /etc/groups ファイル中のグループに登録することができます。 これはすべてのユーザがあるリソースを共有していたり、 ユーザを同じ第 1 グループに登録したい場合に便利な機能です。 .Xr pw 8 のコマンドオプションで .Fl G を使用することによって、このキーワードの効果を変更することができます。 .Pp .Ar defaultclass フィールドにより、 .Xr pw 8 によって指定されない場合に新規ユーザが割り当てられるログインクラス ( .Xr login.conf 5 参照) を指定することができます。 .Pp .Ar minuid , .Ar maxuid , .Ar mingid , .Ar maxgid の各キーワードは、自動的に割り当てるユーザ ID とグループ ID 番号の 範囲を指定します。 ユーザとグループ ID のデフォルトの値は最小 1000 から最大 32000 の 範囲となります。 実際に .Xr pw 8 によってアカウントを作成する際に使用されるユーザとグループ ID は コマンド行のオプションの .Fl u と .Fl g によって変更することができます。 .Pp .Ar expire_days と .Ar password_days はそれぞれアカウントが作成された日から、 アカウントの期限が切れる日、 またはユーザがアカウントのパスワードの変更を強要される日までの 日数計算を自動的に行うために使用されます。 いずれかのフィールドで値 .Ql \&0 を指定すると、対応する (アカウントかパスワードの) 期限切れを抑止します。 .Sh 制限事項 .Pa /etc/pw.conf で 1 行は最長 1024 文字までとなります。 これより長い行についてはスキップされコメントとして扱われます。 .Sh 関連ファイル .Bl -tag -width /etc/master.passwd -compact .It Pa /etc/pw.conf .It Pa /etc/passwd .It Pa /etc/master.passwd .It Pa /etc/group .El .Sh 関連項目 .Xr passwd 1 , .Xr group 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr pw 8 diff --git a/ja_JP.eucJP/man/man5/rc.conf.5 b/ja_JP.eucJP/man/man5/rc.conf.5 index f265f11fff..06a4b57b11 100644 --- a/ja_JP.eucJP/man/man5/rc.conf.5 +++ b/ja_JP.eucJP/man/man5/rc.conf.5 @@ -1,2694 +1,2705 @@ .\" Copyright (c) 1995 .\" Jordan K. Hubbard .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.199 2003/08/15 17:20:40 ceri Exp % +.\" %FreeBSD: src/share/man/man5/rc.conf.5,v 1.201 2003/09/18 09:59:37 dougb Exp % .\" .\" $FreeBSD$ .\" .Dd March 3, 2002 .Dt RC.CONF 5 .Os .Sh 名称 .Nm rc.conf .Nd システム設定情報 .Sh 解説 .Nm ファイルは、ローカルホスト名、任意の潜在的なネットワークインタフェースに 関する設定の詳細、システムの初期起動時に立ち上げるべき サービスに関して記述される情報を含んでいます。 初めてインストールする際には、一般に .Nm ファイルはシステムインストールユーティリティ .Xr sysinstall 8 によって初期化されます。 .Pp .Nm の目的は、 直接コマンドを実行したりシステム起動操作を行うことではありません。 そうではなく、 このファイルで見つかる設定に従って内部の動作を条件付きで制御する .Pa /etc 配下のさまざまな起動スクリプトも含まれています。 .Pp .Pa /etc/rc.conf ファイルは、 使用可能な全オプションのデフォルト設定を指定するファイル .Pa /etc/defaults/rc.conf からインクルードされます。 オプションを .Pa /etc/rc.conf に指定する必要があるのは、 システム管理者がこれらのデフォルトを上書きしたい場合だけです。 ファイル .Pa /etc/rc.conf.local は、 .Pa /etc/rc.conf の設定を上書きするために使用されます。 これは歴史的事情のためです。 後述の .Va rc_conf_files を参照してください。 .Pp 次に示すリストは、 .Nm ファイル中で設定可能な各変数について、 その名前と簡単な解説をしたものです。 .Bl -tag -width indent-two .It Va rc_debug .Pq Vt ブール値 .Dq Li YES にすると、rc スクリプトからのデバッグメッセージ出力を有効にします。 新規スクリプトの編集や組み込み時に誤りを診断するために、 この変数が有用かもしれません。 この手続きは大量の出力を端末と .Xr syslog 3 に生成しますので、注意してください。 .It Va rc_info .Pq Vt ブール値 .Dq Li NO にすると、rc スクリプトからの情報メッセージを無効にします。 情報メッセージは、警告やエラーとするほど深刻ではない状態のときに表示されます。 .It Va swapfile .Pq Vt 文字列 .Dq Li NO にすると スワップファイルはインストールされません。 .Dq Li NO 以外の場合、その値は追加スワップ領域に利用するファイルの フルパス名として用いられます。 .It Va apm_enable .Pq Vt ブール値 .Dq Li YES に設定すると .Xr apm 8 コマンドでの自動電源管理 (Automatic Power Management) のサポートを有効に します。 .It Va apmd_enable .Pq Vt ブール値 .Xr apmd 8 を実行し、ユーザランドから APM イベントを扱います。 APM サポートも有効にします。 .It Va apmd_flags .Pq Vt 文字列 .Va apmd_enable が .Dq Li YES の場合、これらは .Xr apmd 8 デーモンに渡すフラグになります。 .It Va devd_enable .Pq Vt ブール値 .Xr devd 8 を実行し、カーネルからのデバイス追加、デバイス削除、未知のイベントを扱います。 .It Va kldxref_enable .Pq Vt ブール値 デフォルトで .Dq Li NO です。 .Dq Li YES に設定すると、ブート時に、 .Pa linker.hints ファイルを .Xr kldxref 8 で自動的に再構築します。 .It Va kldxref_clobber .Pq Vt ブール値 デフォルトで .Dq Li NO です。 .Va kldxref_enable が真の場合、これを .Dq Li YES にすると、ブート時に既存の .Pa linker.hints ファイルを上書きします。 そうでない場合、存在しない .Pa linker.hints ファイルのみが生成されます。 .It Va kldxref_module_path .Pq Vt 文字列 デフォルトで空です。 .Xr kld 4 モジュールのパスを含む、セミコロン .Pq Ql \&; で区切られたリストです。 空の場合、 .Va kern.module_path .Xr sysctl 8 の内容が使用されます。 .It Va pccard_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に PCCARD のサポートを有効にします。 .It Va pccard_mem .Pq Vt 文字列 PCCARD コントローラメモリアドレスを設定します。 .Dq Li DEFAULT とするとデフォルト値になります。 .It Va pccard_ifconfig .Pq Vt 文字列 ブート時またはカード挿入時に .Xr ifconfig 8 に渡される引数のリストです (例えば、 固定アドレスの場合は .Dq Cm inet Li 192.168.1.1 Cm netmask Li 255.255.255.0 などですし、 DHCP クライアントの場合は .Dq Li DHCP です)。 .It Va pccard_beep .Pq Vt 整数 0 である場合、PCCARD コントローラを静寂モードにします。 1 である場合、ビープモードにします。 2 である場合、メロディモードにします。 .It Va pccard_conf .Pq Vt 文字列 .Xr pccardd 8 デーモンの設定ファイルのパスです (例えば .Pa /etc/pccard.conf.sample です)。 .It Va pccardd_flags .Pq Vt 文字列 .Va pccard_enable が .Dq Li YES の場合、これらは .Xr pccardd 8 デーモンに渡すフラグになります。 .It Va pccard_ether_delay .Pq Vt 文字列 .Pa /etc/pccard_ether スクリプト中で .Xr dhclient 8 を起動するまでの遅延時間を設定します。 デフォルトは 5 秒です。 これは、 .Xr ed 4 ベースの新しいカードを使用した時にシステムがハングしてしまうという .Xr ed 4 ドライバのバグを回避するためのものです。 .It Va removable_interfaces .Pq Vt 文字列 .Pa /etc/pccard_ether でサポートすべき、取り外し可能なネットワークインタフェースのリストです。 .It Va local_startup .Pq Vt 文字列 起動スクリプトファイルを検索するディレクトリのリストです。 .It Va script_name_sep .Pq Vt 文字列 起動スクリプトファイルのリストを各々のファイル名に分割するために 使用するフィールドセパレータです。 デフォルトは空白です。 名前に空白を含む起動スクリプトを持っていない限り、変更不要です。 .It Va hostname .Pq Vt 文字列 ネットワーク上でのホストの完全な形のドメイン名 (FQDN; The Fully Qualified Domain Name) です。 ネットワークに接続されていない場合でも、 この変数は確実に何か意味のあるものに設定すべきです。 ホスト名を DHCP を介して設定するために .Xr dhclient 8 を使用している場合、この変数は空文字列に設定すべきです。 .It Va ipv6_enable .Pq Vt ブール値 IPv6 ネットワークサポートを有効にします。 このためには、カーネルが .Cd "options INET6" 付きでコンパイルされていることが必要です。 .It Va nisdomainname .Pq Vt 文字列 ホストの NIS ドメイン名。 NIS が動いてないときは .Dq Li NO とします。 .It Va dhclient_program .Pq Vt 文字列 DHCP クライアントプログラムのパスです (ISC DHCP クライアントの .Pa /sbin/dhclient がデフォルトです)。 .It Va dhclient_flags .Pq Vt 文字列 DHCP クライアントプログラムに渡す追加のフラグです。 ISC DHCP クライアント用に利用可能なコマンドラインオプションについては、 .Xr dhclient 8 マニュアルページを参照してください。 .It Va background_dhclient .Pq Vt ブール値 .Dq Li YES に設定すると、DHCP クライアントをバックグラウンドで起動します。 ネットワークが動作していることに依存するアプリケーションで問題と なるかもしれませんが、多くの場合は起動が早くなります。 .It Va firewall_enable .Pq Vt ブール値 ファイアウォール規則を起動時にロードするには、 .Dq Li YES に設定します。 カーネルが .Cd "options IPFIREWALL" 付きで作られなかった場合、 .Pa ipfw.ko カーネルモジュールがロードされます。 .Va ipfilter_enable も参照してください。 .It Va ipv6_firewall_enable .Pq Vt ブール値 IPv6 の .Va firewall_enable です。 .Dq Li YES IPv6 ファイアウォール規則を起動時にロードするには、 .Dq Li YES に設定します。 カーネルが .Cd "options IPV6FIREWALL" 付きで作られなかった場合、 .Pa ip6fw.ko カーネルモジュールがロードされます。 .It Va firewall_script .Pq Vt 文字列 この変数は、実行するファイアウォールスクリプトのフルパスを指定します。 デフォルトは .Pa /etc/rc.firewall です。 .It Va ipv6_firewall_script .Pq Vt 文字列 IPv6 の .Va firewall_script です。 .It Va firewall_type .Pq Vt 文字列 .Pa /etc/rc.firewall 中にある選択肢から選んだファイアウォールタイプもしくは ローカルファイアウォール規則の組を含むファイル名をつけます。 .Pa /etc/rc.firewall からは以下のものが選択可能です: .Pp .Bl -tag -width ".Li simple" -compact .It Li open 無制限の IP アクセス; .It Li closed .Dq Li lo0 経由を除く全ての IP サービスを禁止 .It Li client ワークステーション向けの基本的な保護 .It Li simple LAN 向けの基本的な保護 .El .Pp ファイル名が指定される場合にはフルパス名でなければなりません。 .It Va ipv6_firewall_type .Pq Vt 文字列 IPv6 の .Va firewall_type です。 .It Va firewall_quiet .Pq Vt ブール値 .Dq Li YES に設定すると、起動時にコンソール上でファイアウォール規則の表示を行ないません。 .It Va ipv6_firewall_quiet .Pq Vt ブール値 IPv6 の .Va firewall_quiet です。 .It Va firewall_logging .Pq Vt ブール値 .Dq Li YES に設定すると、ファイアウォールのイベントロギングを有効にします。 .Dv IPFIREWALL_VERBOSE カーネルオプションと等価です。 .It Va ipv6_firewall_logging .Pq Vt ブール値 IPv6 の .Va firewall_logging です。 .It Va firewall_flags .Pq Vt 文字列 .Va firewall_type でファイル名を指定する場合、 .Xr ipfw 8 に渡されるフラグです。 .It Va ipv6_firewall_flags .Pq Vt 文字列 IPv6 の .Va firewall_flags です。 .It Va natd_program .Pq Vt 文字列 .Xr natd 8 のパス。 .It Va natd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr natd 8 を有効にします。 .Va firewall_enable もまた .Dq Li YES に設定され、 .Xr divert 4 ソケットがカーネルで有効にされている必要があります。 .It Va natd_interface .Pq Vt 文字列 .Xr natd 8 が実行されるパブリックインタフェースの名前です。 インタフェースの指定は、インタフェース名でも IP アドレスでもかまいません。 .It Va natd_flags .Pq Vt 文字列 追加の .Xr natd 8 フラグはここに記述する必要があります。 .Fl n または .Fl a のフラグは上記 .Va natd_interface とともに自動的に引数として追加されます。 .\" ----- ipfilter_enable setting -------------------------------- .It Va ipfilter_enable .Pq Vt ブール値 デフォルトは .Dq Li NO に設定されます。 .Dq Li YES に設定すると、 .Xr ipf 8 パケットフィルタリングを有効にします。 .Pp 典型的な用途では、 .Bd -literal ipfilter_enable="YES" ipnat_enable="YES" ipmon_enable="YES" ipfs_enable="YES" .Ed .Pp を .Pa /etc/rc.conf に記述し、 .Pa /etc/ipf.rules と .Pa /etc/ipnat.rules を適切に編集する必要があるでしょう。 .Pp .Va ipfilter_enable と .Va ipnat_enable とは別々に有効にできることに注意してください。 .Va ipmon_enable および .Va ipfs_enable を有効にするには .Va ipfilter_enable と .Va ipnat_enable の少なくともどちらか 1 つが有効になっている必要があります。 .Pp カーネル設定ファイル中に .Bd -literal options IPFILTER options IPFILTER_LOG options IPFILTER_DEFAULT_BLOCK .Ed .Pp を置くことも良い考えです。 .\" ----- ipfilter_program setting ------------------------------ .It Va ipfilter_program .Pq Vt 文字列 .Xr ipf 8 へのパスです (デフォルトは .Pa /sbin/ipf です)。 .\" ----- ipfilter_rules setting -------------------------------- .It Va ipfilter_rules .Pq Vt 文字列 デフォルトで .Pa /etc/ipf.rules に設定されます。 この変数は、フィルタルール定義ファイルの名前を含みます。 このファイルは、 .Xr ipf 8 コマンドが実行できるよう、読み取り可能であることが期待されます。 .\" ----- ipv6_ipfilter_rules setting --------------------------- .It Va ipv6_ipfilter_rules .Pq Vt 文字列 デフォルトは .Pa /etc/ipf6.rules に設定されます。 この変数には、IPv6 フィルタルール定義ファイルの名前を含みます。 このファイルは、 .Xr ipf 8 コマンドが実行できるよう、読み取り可能であることが期待されます。 .\" ----- ipfilter_flags setting -------------------------------- .It Va ipfilter_flags .Pq Vt 文字列 デフォルトは空文字列です。 この変数には、 .Xr ipf 8 プログラムに渡されるフラグが含まれます。 .\" ----- ipnat_enable setting ---------------------------------- .It Va ipnat_enable .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、 .Xr ipnat 1 ネットワークアドレス変換を有効にします。 詳細は .Va ipfilter_enable を参照してください。 .\" ----- ipnat_program setting --------------------------------- .It Va ipnat_program .Pq Vt 文字列 .Xr ipnat 1 へのパスです (デフォルトは .Pa /sbin/ipnat です)。 .\" ----- ipnat_rules setting ----------------------------------- .It Va ipnat_rules .Pq Vt 文字列 デフォルトで .Pa /etc/ipnat.rules に設定されます。 この変数は、ネットワークアドレス変換を定義するファイルの名前を含みます。 このファイルは、 .Xr ipnat 1 コマンドが実行できるよう、読み取り可能であることが期待されます。 .\" ----- ipnat_flags setting ----------------------------------- .It Va ipnat_flags .Pq Vt 文字列 デフォルトは空文字列です。 この変数には、 .Xr ipnat 1 プログラムへ渡されるフラグが含まれます。 .\" ----- ipmon_enable setting ---------------------------------- .It Va ipmon_enable .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、 .Xr ipmon 8 モニタリング ( .Xr ipf 8 と .Xr ipnat 1 のイベントのログ) を有効にします。 この変数を設定する場合、 .Va ipfilter_enable あるいは .Va ipnat_enable も設定することが必要です。 詳細は .Va ipfilter_enable を参照してください。 .\" ----- ipmon_program setting --------------------------------- .It Va ipmon_program .Pq Vt 文字列 .Xr ipmon 8 へのパスです (デフォルトは .Pa /sbin/ipmon です)。 .\" ----- ipmon_flags setting ----------------------------------- .It Va ipmon_flags .Pq Vt 文字列 デフォルトで .Dq Li -Ds に設定されます。 この変数は、 .Xr ipmon 8 プログラムに渡されるフラグを含みます。 他の典型的な例は .Dq Fl D Pa /var/log/ipflog であり、これは .Xr ipmon 8 に .Xr syslogd 8 をバイパスさせて、直接ファイルにログを書かせます。 このような場合、必ず .Pa /etc/newsyslog.conf を次のように修正してください: .Bd -literal /var/log/ipflog 640 10 100 * Z /var/run/ipmon.pid .Ed .\" ----- ipfs_enable setting ----------------------------------- .It Va ipfs_enable .Pq Vt ブール値 デフォルトでは .Dq Li NO に設定されます。 この変数を .Dq Li YES に設定すると .Xr ipfs 8 が有効になり、シャットダウン時にフィルタおよび NAT 状態テーブルを 保存し、再起動時に読み込み直されるようになります。 この変数を設定するには .Va ipfilter_enable あるいは .Va ipnat_enable も .Dq Li YES に設定する必要があります。 詳細は .Va ipfilter_enable を参照してください。 .Va kern_securelevel を 3 に設定した場合、 .Va ipfs_enable は使用できなくなることに注意してください。 なぜなら、セキュアレベルを引き上げることでシャットダウン時に .Xr ipfs 8 が状態テーブルを保存できなくなるからです。 .\" ----- ipfs_program setting ---------------------------------- .It Va ipfs_program .Pq Vt 文字列 .Xr ipfs 8 へのパスです (デフォルトは .Pa /sbin/ipfs です)。 .\" ----- ipfs_flags setting ------------------------------------ .It Va ipfs_flags .Pq Vt 文字列 デフォルトは空文字列です。 この変数には、 .Xr ipfs 8 プログラムに渡されるフラグが含まれます。 .\" ----- end of added ipf hook --------------------------------- .It Va tcp_extensions .Pq Vt ブール値 デフォルトでは .Dq Li YES です。 .Dq Li NO に設定すると、 .%T "RFC 1323" で述べられているような ある TCP オプションを無効にします。 .Dq Li NO に設定すると、ネットワークコネクションが不規則にハングアップしたり、 それに類する他の不具合を回避する助けとなるかもしれません。 ネットワークデバイスには、これらのオプションに関連する部分において、 壊れているものがあることが知られています。 .It Va log_in_vain .Pq Vt 整数 デフォルトで 0 に設定されています。 .Xr sysctl 8 変数 .Va net.inet.tcp.log_in_vain と .Va net.inet.udp.log_in_vain が、 .Xr tcp 4 と .Xr udp 4 に記述されているように、指定された値に設定されます。 .It Va tcp_keepalive .Pq Vt ブール値 デフォルトで .Dq Li YES に設定されています。 .Dq Li NO に設定すると、アイドルになっている TCP 接続を検出し、 通信相手がまだ立ち上がっていて、到達可能であることを確認する のをやめます。 .It Va tcp_drop_synfin .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されています。 .Dq Li YES に設定すると、 TCP フレームで SYN と FIN のフラグが共に設定されているものを、 カーネルが無視するようになります。 これにより、OS が指紋を残すのを防ぎますが、 正当なアプリケーションが動作しなくなるかもしれません。 .Dv TCP_DROP_SYNFIN オプション付きでカーネルを構築した場合のみ、 本オプションが使用可能です、 .It Va icmp_drop_redirect .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されています。 .Dq Li YES に設定すると、 ICMP REDIRECT パケットを、カーネルが無視するようになります。 更なる情報は .Xr icmp 4 を参照してください。 .It Va icmp_log_redirect .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されています。 .Dq Li YES に設定すると、 ICMP REDIRECT パケットを、カーネルが記録するようになります。 ログメッセージの速度制限はありませんので、 あなたのネットワーク内の問題解決にのみ使用すべきです。 更なる情報は .Xr icmp 4 を参照してください。 .It Va icmp_bmcastecho .Pq Vt ブール値 .Dq Li YES に設定すると、 ブロードキャストまたはマルチキャストの ICMP ping パケットに 応答するようになります。 更なる情報は .Xr icmp 4 を参照してください。 .It Va ip_portrange_first .Pq Vt 整数 .Dq Li NO 以外に設定すると、デフォルトのポート範囲の最初のポートになります。 更なる情報は .Xr ip 4 を参照してください。 .It Va ip_portrange_last .Pq Vt 整数 .Dq Li NO 以外に設定すると、デフォルトのポート範囲の最後のポートになります。 更なる情報は .Xr ip 4 を参照してください。 .It Va network_interfaces .Pq Vt 文字列 このホスト上で設定するネットワークインタフェースのリストを 設定します。 たとえば、ループバックデバイス .Pq Li lo0 および .Xr ed 4 ドライバの NIC があるなら、 .Dq Li "lo0 ed0" に設定されるでしょう。 .Ar interface の各値に対して .Va ifconfig_ Ns Aq Ar interface という変数も存在すると仮定されます。 1 つのインタフェースに複数の IP アドレスを登録したい場合は、 ここに IP エイリアスのエントリを追加することも可能です。 対象とするインタフェースが .Li ed0 であると仮定すると、 .Bd -literal ifconfig_ed0_alias0="inet 127.0.0.253 netmask 0xffffffff" ifconfig_ed0_alias1="inet 127.0.0.254 netmask 0xffffffff" .Ed .Pp というようになります。 見つかった各 .Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n エントリについて、 その内容が .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 .Pp のようにすると、alias4 は追加され .Em ない ことに注意してください。 これは alias3 エントリを抜かしたことで検索が中止されるからです。 .Pp .Pa /etc/start_if. Ns Aq Ar interface ファイルが存在する場合、 .Va ifconfig_ Ns Aq Ar interface および .Va ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n の変数で指定されるようにインタフェースが設定される前に、 このファイルが .Xr sh 1 インタプリタにより実行されます。 .Pp .Va ifconfig_ Ns Aq Ar interface 変数を .Dq Li DHCP に設定することで、インタフェースを DHCP で立ち上げることが 可能です。 例えば .Li ed0 デバイスを DHCP で初期化するには、 次のような行を指定すればよいです: .Bd -literal ifconfig_ed0="DHCP" .Ed .It Va ipv6_network_interfaces .Pq Vt 文字列 IPv6 の .Va network_interfaces です。 設定すべき ifconfig 変数は .Va ifconfig_ Ns Aq Ar interface ではなく、 .Va ipv6_ifconfig_ Ns Aq Ar interface です。 エイリアスは .Va ipv6_ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n のように設定します。 .Va ipv6_prefix_ Ns Aq Ar interface も関係あります。 .Va ipv6_ifconfig_ Ns Aq Ar interface 設定を持たないインタフェースは、 .Va ipv6_gateway_enable が .Dq Li NO に設定されている場合には、 .Xr rtsol 8 で自動設定されます。 IPv6 ネットワークコードは .Pa /etc/start_if. Ns Aq Ar interface ファイルをサポートしないことに注意してください。 .It Va ipv6_default_interface .Pq Vt 文字列 .Dq Li NO 以外に設定すると、 これがスコープ対象のアドレスに対するデフォルト出力インタフェースになります。 現在のところ、これは IPv6 リンクローカルマルチキャストアドレスに 対してのみ働きます。 .It Va cloned_interfaces .Pq Vt 文字列 このホストに生成する、複製可能なネットワークインタフェースの リストを設定します。 .Va cloned_interfaces のエントリは、設定を行うため自動的に .Va network_interfaces に追加されます。 .It Va gif_interfaces .Pq Vt 文字列 このホストで設定する、 .Xr gif 4 トンネルインタフェースのリストを設定します。 .Ar interface の各値に対して、 .Va gifconfig_ Ns Aq Ar interface 変数が存在すると想定されます。 本変数の値を使用し、 .Xr ifconfig 8 の .Cm tunnel オプションの書式に従って、トンネルのリンク層を設定します。 さらに本オプションは、リストされたインタフェースの設定を試みる前に、 これらが .Xr ifconfig 8 の .Cm create オプションで作成されていることを保証します。 .It Va sppp_interfaces .Pq Vt 文字列 このホスト上で設定すべき .Xr sppp 4 インタフェースのリストに設定します。 各 .Ar interface に対して .Va spppconfig_ Ns Aq Ar interface 変数が存在するものと仮定されます。 各インタフェースは、普通の .Va ifconfig_ Ns Aq Ar interface 設定でも設定されます。 使用可能なオプションについての更なる情報は .Xr spppcontrol 8 を参照してください。 .It Va ppp_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr ppp 8 デーモンを実行します。 .It Va ppp_mode .Pq Vt 文字列 .Xr ppp 8 デーモンを実行するモードです。 受け付けられるモードは .Dq Li auto , .Dq Li ddial , .Dq Li direct , .Dq Li dedicated のいずれかです。 完全な解説はマニュアルを参照してください。 .It Va ppp_nat .Pq Vt ブール値 .Dq Li YES に設定すると、ネットワークアドレス変換を有効にします。 .Va gateway_enable と共に使用することにより、 本ホストをネットワークアドレス変換ルータとして使用して、 プライベートネットワークアドレスのホストからの インターネットへのアクセスを可能にします。 .It Va ppp_profile .Pq Vt 文字列 .Pa /etc/ppp/ppp.conf から使用するプロファイル名です。 .It Va ppp_user .Pq Vt 文字列 このユーザ名の元で .Xr ppp 8 を起動します。 デフォルトでは .Xr ppp 8 は .Dq Li root が起動します。 .It Va rc_conf_files .Pq Vt 文字列 本オプションは、 .Pa /etc/defaults/rc.conf の設定を上書きするファイルのリストを指定するために使用されます。 ファイルは指定された順序に読み込まれますし、 また、ファイルへの完全なパスを含む必要があります。 デフォルトでは、指定されるファイルは .Pa /etc/rc.conf と .Pa /etc/rc.conf.local です。 +.It Va gbde_autoattach_all +.Pq Vt ブール値 +.Dq Li YES +に設定すると、 +.Pa /etc/rc.d/gbde +は +.Pa /etc/fstab +中の .bde デバイスを自動的に初期化しようとします。 +.It Va gbde_devices +.Pq Vt 文字列 +スクリプトがアタッチしようとするデバイスのリストもしくは +.Dq Li AUTO +です。 .It Va fsck_y_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 ファイルシステムの初期調整に失敗した場合、 .Xr fsck 8 を .Fl y フラグ付きで実行します。 .It Va background_fsck .Pq Vt ブール値 .Dq Li YES に設定すると、可能ならば、システムは .Xr fsck 8 をバックグラウンドで実行しようと試みます。 .It Va background_fsck_delay .Pq Vt 整数 この秒数だけ寝た後で、バックグラウンド .Xr fsck 8 を開始します。 デフォルトは 60 秒であり、X サーバ等の巨大なアプリケーションの起動が、 .Xr fsck 8 によるディスク I/O 占有の前となるようにします。 .It Va netfs_types .Pq Vt 文字列 ネットワークベースのファイルシステムタイプを列挙します。 通常、エンドユーザが変更すべきものではありません。 代りに .Va extra_netfs_types を使用してください。 .It Va extra_netfs_types .Pq Vt 文字列 .Dq Li NO (デフォルト) 以外に設定すると、ネットワーク初期化まで遅延させて .Xr rc 8 により起動時に自動マウントするファイルシステムタイプのリストを、 この変数により拡張します。 これは、空白区切りのネットワークファイルシステム記述子ペアのリストです。 それぞれのペアは、 .Xr mount 8 に渡されるファイルシステムタイプと、人が読める 1 語記述を、コロン .Pq Ql \&: で結合したものです。 デフォルトリストの拡張が必要なのは、 サードパーティのファイルシステムタイプを使用する場合だけです。 .It Va syslogd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr syslogd 8 デーモンを起動します。 .It Va syslogd_program .Pq Vt 文字列 .Xr syslogd 8 へのパス (デフォルトは .Pa /usr/sbin/syslogd です)。 .It Va syslogd_flags .Pq Vt 文字列 .Va syslogd_enable が .Dq Li YES の場合、これらは .Xr syslogd 8 に渡すフラグになります。 .It Va inetd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr inetd 8 デーモンを起動します。 .It Va inetd_program .Pq Vt 文字列 .Xr inetd 8 へのパス (デフォルトは .Pa /usr/sbin/inetd です)。 .It Va inetd_flags .Pq Vt 文字列 .Va inetd_enable が .Dq Li YES の場合、これらは .Xr inetd 8 へ渡すフラグとなります。 .It Va named_rcng .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr chroot 8 した .Xr named 8 を使うという .Pa /etc/rc.d/named の新機能を使用します。 この変数は実験的です。 近い将来、削除されたり変更されたりするかもしれません .It Va named_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr named 8 デーモンを起動します。 .It Va named_program .Pq Vt 文字列 .Xr named 8 へのパス (デフォルトは .Pa /usr/sbin/named です)。 .It Va named_flags .Pq Vt 文字列 .Va named_enable が .Dq Li YES の場合、これらは .Xr named 8 に渡すフラグとなります。 .It Va named_pidfile .Pq Vt 文字列 これは、 .Xr named 8 デーモンの PID ファイルへのデフォルトパスです。 .Xr named.conf 5 で場所を変えた場合、これも変えてください。 .It Va named_chrootdir .Pq Vt 文字列 .Xr chroot 8 環境で実行するネームサーバのルートディレクトリです。 空のままにすると、 .Xr named 8 は .Xr chroot 8 環境では実行しません。 .Va named_rcng が有効でない場合、この変数は効果がありません。 この変数は実験的です。 近い将来、削除されたり変更されたりするかもしれません .It Va named_chroot_autoupdate .Pq Vt ブール値 .Dq Li NO に設定すると、 ルートファイルシステムと .Xr chroot 8 との間のライブラリや他のシステムファイルの自動同期を無効にします。 .Va named_rcng が有効でない場合、この変数は効果がありません。 この変数は実験的です。 近い将来、削除されたり変更されたりするかもしれません .It Va named_symlink_enable .Pq Vt ブール値 .Dq Li NO に設定すると、 .Xr named 8 が実行している .Xr chroot 8 環境への、 .Va named_pidfile および .Pa /var/run/ndc のシンボリックリンクを無効化します。 .Va named_rcng が有効でない場合、この変数は効果がありません。 この変数は実験的です。 近い将来、削除されたり変更されたりするかもしれません .It Va kerberos5_server_enable .Pq Vt ブール値 ブート時に Kerberos 5 認証デーモンを起動したい場合は .Dq Li YES とします。 .It Va kerberos5_server .Pq Vt 文字列 .Va kerberos5_server_enable が .Dq Li YES の場合、これが Kerberos 5 認証サーバのパスになります。 .It Va kadmind5_server_enable .Pq Vt ブール値 .Xr kadmind 8 すなわち Kerberos 5 管理デーモンを起動したい場合は .Dq Li YES とします。 スレーブサーバでは .Dq Li NO に設定します。 .It Va kadmind5_server .Pq Vt 文字列 .Va kadmind5_server_enable が .Dq Li YES の場合、これが Kerberos 5 管理デーモンのパスになります。 .It Va kpasswdd_server_enable .Pq Vt ブール値 .Dq Li YES に設定すると、Kerberos 5 パスワード変更デーモン .Xr kpasswdd 8 をスレーブサーバ上で実行します。 .It Va kpasswdd_server .Pq Vt 文字列 .Va kpasswdd_server_enable が .Dq Li YES の場合、これが Kerberos 5 パスワード変更デーモンのパスになります。 .It Va rwhod_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr rwhod 8 デーモンを起動します。 .It Va rwhod_flags .Pq Vt 文字列 .Va rwhod_enable が .Dq Li YES に設定されている場合、これらは rwhod に渡すフラグになります。 .It Va amd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr amd 8 デーモンを起動します。 .It Va amd_flags .Pq Vt 文字列 .Va amd_enable が .Dq Li YES に設定されている場合、これらは amd に渡すフラグとなります。 詳しくは .Xr amd 8 マニュアルページを利用してください。 .It Va amd_map_program .Pq Vt 文字列 設定すると、指定されたプログラムが実行され、 .Xr amd 8 マップのリストを受け取ります。 例えば、 .Xr amd 8 マップが NIS に格納されている場合、 .Xr ypcat 1 を実行して .Pa amd.master NIS マップから .Xr amd 8 マップのリストを取得するよう設定可能です。 .It Va update_motd .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に実行されているカーネルリリースを反映するように .Pa /etc/motd を更新します。 .Dq Li NO に設定すると、 .Pa /etc/motd は更新を行いません。 .It Va nfs_client_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に NFS クライアントデーモンを起動します。 .It Va nfs_access_cache .Pq Vt 整数 .Va nfs_client_enable が .Dq Li YES の場合、この変数に .Dq Li 0 を設定して NFS ACCESS RPC キャッシングを無効化することができますし、 NFS ACCESS 結果がキャッシュされる秒数を指定することもできます。 2-10 秒の値を設定すると、 多くの NFS 操作に対するネットワークトラフィックを十分減らします。 .It Va nfs_server_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に NFS サーバデーモンを起動します。 .It Va nfs_server_flags .Pq Vt 文字列 .Va nfs_server_enable が .Dq Li YES の場合、これらは .Xr nfsd 8 デーモンに渡すフラグとなります。 .It Va mountd_enable .Pq Vt ブール値 .Dq Li YES に設定し .Va nfs_server_enable を設定しないと、 .Xr mountd 8 は起動しますが .Xr nfsd 8 デーモンは起動しません。 実際に NFS は使用せずに CFS を使用する場合に、一般的に必要となります。 .It Va mountd_flags .Pq Vt 文字列 .Va mountd_enable が .Dq Li YES の場合、これらは .Xr mountd 8 デーモンへのフラグとなります。 .It Va weak_mountd_authentication .Pq Vt ブール値 .Dq Li YES に設定すると、PCNFSD のようなサービスで権限付けられていない マウント要求ができるようになります。 .It Va nfs_reserved_port_only .Pq Vt ブール値 .Dq Li YES に設定すると、安全なポート上でのみ NFS サービスを提供します。 .It Va nfs_bufpackets .Pq Vt 整数 数値を設定すると、そのパケット数分のソケットバッファ空間が、 NFS クライアント上に予約されます。 カーネルのデフォルトは、通常は 4 です。 ギガビットネットワークでは大きな値を設定すると高性能になるでしょう、 最小値は 2 であり、最大値は 64 です。 .It Va rpc_lockd_enable .Pq Vt ブール値 この変数が .Dq Li YES に設定され、しかも NFS サーバである場合、ブート時に .Xr rpc.lockd 8 を起動します。 .It Va rpc_statd_enable .Pq Vt ブール値 この変数が .Dq Li YES に設定され、しかも NFS サーバである場合、ブート時に .Xr rpc.statd 8 を起動します。 .It Va rpcbind_program .Pq Vt 文字列 .Xr rpcbind 8 へのパス (デフォルトは .Pa /usr/sbin/rpcbind です)。 .It Va rpcbind_enable .Pq Vt ブール値 .Dq Li YES の場合、ブート時に .Xr rpcbind 8 サービスを起動します。 .It Va rpcbind_flags .Pq Vt 文字列 .Va rpcbind_enable が .Dq Li YES の場合、これらは .Xr rpcbind 8 デーモンに渡すフラグとなります。 .It Va keyserv_enable .Pq Vt ブール値 .Dq Li YES に設定すると、Secure RPC 実行のために、起動時に .Xr keyserv 8 デーモンを実行します。 .It Va keyserv_flags .Pq Vt 文字列 .Va keyserv_enable が .Dq Li YES の場合、これらは .Xr keyserv 8 デーモンに渡すフラグになります。 .It Va pppoed_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr pppoed 8 デーモンを起動し、PPP オーバイーサネットサービスを提供します。 .It Va pppoed_ Ns Ar provider .Pq Vt 文字列 .Xr pppoed 8 はこの .Ar provider に対する要求を待ち受け、最終的にはこの名前を .Ar system 引数として .Xr ppp 8 を実行します。 .It Va pppoed_flags .Pq Vt 文字列 .Xr pppoed 8 へ渡す追加のフラグ。 .It Va pppoed_interface .Pq Vt 文字列 .Xr pppoed 8 が実行されるネットワークインタフェース。 .Va pppoed_enable が .Dq Li YES に設定された場合、必須です。 .It Va timed_enable .Pq Vt ブール値 .Dq Li YES なら、ブート時に .Xr timed 8 サービスを実行します。 このコマンドは、全ホストについて一貫した .Dq "ネットワーク時間" が確立されなければならないマシンネットワークのためにあります。 これが有用である典型例は、 ファイルのタイムスタンプがネットワーク全体で一貫性をもつことが 期待されるような、大規模 NFS 環境です。 .It Va timed_flags .Pq Vt 文字列 .Va timed_enable が .Dq Li YES の場合、これらは .Xr timed 8 サービスに渡すフラグとなります。 .It Va ntpdate_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムスタートアップ時に .Xr ntpdate 8 を実行します。 このコマンドは、ある標準的な参照先を元に、ただ .Em 1 回 だけシステム時刻を同期させるためにあります。 また、システムを最初にインストールする際、 この値を (知られているサービスのリストから) 最初に設定するオプションが .Xr sysinstall 8 プログラムによって提供されます。 .It Va ntpdate_program .Pq Vt 文字列 .Xr ntpdate 8 へのパス (デフォルトは .Pa /usr/sbin/ntpdate です)。 .It Va ntpdate_flags .Pq Vt 文字列 .Va ntpdate_enable が .Dq Li YES の場合、これらは .Xr ntpdate 8 コマンドに渡すフラグとなります (通常はホスト名)。 .It Va ntpd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr ntpd 8 コマンドが起動されます。 .It Va ntpd_program .Pq Vt 文字列 .Xr ntpd 8 へのパス (デフォルトは .Pa /usr/sbin/ntpd です)。 .It Va ntpd_flags .Pq Vt 文字列 .Va ntpd_enable が .Dq Li YES の場合、これらは .Xr ntpd 8 デーモンに渡すフラグとなります。 .It Va nis_client_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr ypbind 8 サービスを起動します。 .It Va nis_client_flags .Pq Vt 文字列 .Va nis_client_enable が .Dq Li YES の場合、これらは .Xr ypbind 8 サービスに渡すフラグとなります。 .It Va nis_ypset_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr ypset 8 デーモンを起動します。 .It Va nis_ypset_flags .Pq Vt 文字列 .Va nis_ypset_enable が .Dq Li YES の場合、これらは .Xr ypset 8 デーモンに渡すフラグとなります。 .It Va nis_server_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr ypserv 8 デーモンを起動します。 .It Va nis_server_flags .Pq Vt 文字列 .Va nis_server_enable が .Dq Li YES の場合、これらは .Xr ypserv 8 デーモンに渡すフラグとなります。 .It Va nis_ypxfrd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr rpc.ypxfrd 8 デーモンを起動します。 .It Va nis_ypxfrd_flags .Pq Vt 文字列 .Va nis_ypxfrd_enable が .Dq Li YES の場合、これらは .Xr rpc.ypxfrd 8 デーモンに渡すフラグとなります。 .It Va nis_yppasswdd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr rpc.yppasswdd 8 デーモンを起動します。 .It Va nis_yppasswdd_flags .Pq Vt 文字列 .Va nis_yppasswdd_enable が .Dq Li YES の場合、これらは .Xr rpc.yppasswdd 8 デーモンに渡すフラグとなります。 .It Va rpc_ypupdated_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システム起動時に .Nm rpc.ypupdated デーモンを実行します。 .It Va defaultrouter .Pq Vt 文字列 .Dq Li NO を設定しないと、このホスト名または IP アドレスへのデフォルトルートを 作成します (このルータがネームサーバへも到達する必要がある 場合は IPアドレスを使用すること!)。 .It Va ipv6_defaultrouter .Pq Vt 文字列 IPv6 の .Va defaultrouter です。 .It Va static_routes .Pq Vt 文字列 システムブート時に追加したいスタティックルートのリストを 設定します。 .Dq Li NO 以外を設定した場合、その値を空白で区切った各要素について、 .Ar element ごとに変数 .Va route_ Ns Aq Ar element が存在すると仮定され、後でその内容が .Dq Nm route Cm add 操作に渡されます。 .It Va ipv6_static_routes .Pq Vt 文字列 IPv6 の .Va static_routes です。 .Dq Li NO 以外に設定した場合、値の中で空白で区切られた各 .Ar element に対して .Va ipv6_route_ Ns Aq Ar element 変数が存在することが仮定され、これらの内容が後で .Dq Nm route Cm add Fl inet6 操作に渡されることになります。 .It Va natm_static_routes .Pq Vt 文字列 .Xr natmip 4 において .Va static_routes と等価なものです。 空でない場合、値において空白で区切られた各 .Ar element に対し、 .Va route_ Ns Aq Ar element が存在することが仮定され、その内容が後で .Dq Nm atmconfig Cm natm Cm add 操作に渡されます。 .It Va gateway_enable .Pq Vt ブール値 .Dq Li YES に設定すると、IP ルータとして動作するように、 たとえばインタフェース間でパケットをフォワードするように ホストを設定します。 .It Va ipv6_gateway_enable .Pq Vt ブール値 IPv6 の .Va gateway_enable です。 .It Va router_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Va router および .Va router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Va ipv6_router_enable .Pq Vt ブール値 IPv6 の .Va router_enable です。 .Dq Li YES に設定すると、 .Va ipv6_router および .Va ipv6_router_flags の設定に基づいて、ある種のルーティングデーモンを実行します。 .It Va router .Pq Vt 文字列 .Va router_enable が .Dq Li YES に設定されると、これが使用するルーティングデーモン名になります。 .It Va ipv6_router .Pq Vt 文字列 IPv6 の .Va router です。 .It Va router_flags .Pq Vt 文字列 .Va router_enable が .Dq Li YES に設定されると、これらがルーティングデーモンへ渡すフラグとなります。 .It Va ipv6_router_flags .Pq Vt 文字列 IPv6 の .Va router_flags です。 .It Va mrouted_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr mrouted 8 デーモンを起動します。 .It Va mroute6d_enable .Pq Vt ブール値 IPv6 の .Va mrouted_enable です。 .Dq Li YES に設定すると、IPv6 マルチキャストルーティングデーモンを実行します。 IPv6 マルチキャストルーティングデーモンは .Fx ベースシステムに含まれていませんが、 .Fx Ports Collection に .Xr pim6dd 8 があります。 .It Va mrouted_flags .Pq Vt 文字列 .Va mrouted_enable が .Dq Li YES の場合、これらは .Xr mrouted 8 へ渡すフラグとなります。 .It Va mroute6d_flags .Pq Vt 文字列 IPv6 の .Va mrouted_flags です。 .Va mroute6d_enable が .Dq Li YES の場合、 これらは IPv6 マルチキャストルーティングデーモンへ渡すフラグとなります。 .It Va mroute6d_program .Pq Vt 文字列 .Va mroute6d_enable が .Dq Li YES の場合、これが IPv6 マルチキャストルーティングデーモンのパスです。 .It Va rtadvd_enable .Pq Vt ブール値 .Dq Li YES の場合、起動時に .Xr rtadvd 8 デーモンを実行します。 .Xr rtadvd 8 は .Va ipv6_gateway_enable も .Dq Li YES の場合のみ実行します。 .Xr rtadvd 8 ユーティリティは、ルータ広告パケットを、 .Va rtadvd_interfaces で指定したインタフェースへ送ります。 .Xr rtadvd 8 は非常に注意して設定すべきです。 .Xr rtadvd.conf 5 を調整したいかもしれません。 .It Va rtadvd_interfaces .Pq Vt 文字列 .Va rtadvd_enable が .Dq Li YES の場合、これが使用するインタフェースリストです。 .It Va ipxgateway_enable .Pq Vt ブール値 .Dq Li YES に設定すると、IPX トラフィックのルーティングを有効にします。 .It Va ipxrouted_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr IPXrouted 8 デーモンを起動します。 .It Va ipxrouted_flags .Pq Vt 文字列 .Va ipxrouted_enable が .Dq Li YES の場合、これらは .Xr IPXrouted 8 デーモンへ渡すフラグとなります。 .It Va arpproxy_all .Pq Vt ブール値 .Dq Li YES に設定すると、グローバルプロキシ ARP を有効にします。 .It Va forward_sourceroute .Pq Vt ブール値 これが .Dq Li YES に設定され、更に .Va gateway_enable もまた .Dq Li YES に設定されている場合、 送信元が経路指定したパケット (source routed packets) はフォワードされます。 .It Va accept_sourceroute .Pq Vt ブール値 .Dq Li YES に設定すると、 システムは自分宛の送信元経路指定パケットを受け付けます。 .It Va rarpd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr rarpd 8 デーモンを起動します。 .It Va rarpd_flags .Pq Vt 文字列 .Va rarpd_enable が .Dq Li YES の場合、これらは .Xr rarpd 8 デーモンへ渡すフラグとなります。 .It Va bootparamd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr bootparamd 8 デーモンを起動します。 .It Va bootparamd_flags .Pq Vt 文字列 .Va bootparamd_enable が .Dq Li YES の場合、これらは .Xr bootparamd 8 デーモンへ渡すフラグとなります。 .It Va stf_interface_ipv4addr .Pq Vt 文字列 .Dq Li NO 以外に設定すると、これが 6to4 (IPv6 over IPv4 トンネリングインタフェース) のローカル IPv4 アドレスです。 6to4 インタフェースを有効にするには、このエントリを指定してください。 .It Va stf_interface_ipv4plen .Pq Vt 整数 6to4 IPv4 アドレスのプレフィックス長であり、対向アドレス範囲を限定します。 有効な値は 0-31 です。 .It Va stf_interface_ipv6_ifid .Pq Vt 文字列 .Xr stf 4 の IPv6 インタフェース ID です。 .Dq Li AUTO に設定可能です。 .It Va stf_interface_ipv6_slaid .Pq Vt 文字列 .Xr stf 4 の IPv6 サイトレベルアグリゲータです。 .It Va ipv6_faith_prefix .Pq Vt 文字列 .Dq Li NO 以外に設定すると、これが faith プレフィックスになり、 FAITH IPv6-to-IPv4 TCP 変換器を有効にします。 .Xr faithd 8 の設定も必要です。 .It Va ipv6_ipv4mapping .Pq Vt ブール値 .Dq Li YES に設定すると、 .Li ( ::ffff:a.b.c.d のような) IPv4 をマップした IPv6 アドレス通信を有効にします。 .It Va atm_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 システムブート時に ATM インタフェースの設定を有効にします。 次に説明する ATM 関連の変数に関し、 利用可能なコマンドパラメータの更なる詳細については、 .Xr atm 8 のマニュアルページを参照してください。 更なる詳細な設定情報に関しては、 .Pa /usr/share/examples/atm 中のファイルも参照してください。 .It Va atm_load .Pq Vt 文字列 ロードすべき物理 ATM インタフェースドライバのリストです。 典型的な値は .Dq Li hfa_pci や .Dq Li hea_pci です。 .It Va atm_netif_ Ns Aq Ar intf .Pq Vt 文字列 ATM 物理インタフェース .Ar intf に対し、本変数は、 作成される ATM ネットワークインタフェース名の プレフィックスと数字を指定します。 値はコマンド .Dq Nm atm Cm "set netif" Ar intf のパラメータとして渡されます。 .It Va atm_sigmgr_ Ns Aq Ar intf .Pq Vt 文字列 ATM 物理インタフェース .Ar intf に対し、本変数は使用すべき ATM シグナリングマネージャを定義します。 値はコマンド .Dq Nm atm Cm attach Ar intf のパラメータとして渡されます。 .It Va atm_prefix_ Ns Aq Ar intf .Pq Vt 文字列 ATM 物理インタフェース .Ar intf に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの NSAP プレフィックスを定義します。 .Dq Li ILMI に設定すると、プレフィックスは自動的に .Xr ilmid 8 デーモンを介して設定されます。 そうでない場合、値はコマンド .Dq Nm atm Cm "set prefix" Ar intf のパラメータとして渡されます。 .It Va atm_macaddr_ Ns Aq Ar intf .Pq Vt 文字列 ATM 物理インタフェース .Ar intf に対し、本変数は、 UNI シグナリングマネージャを使用するインタフェースの MAC アドレスを定義します。 .Dq Li NO に設定すると、ATM インタフェースカードに格納されている ハードウェア MAC アドレスが使用されます。 そうでない場合、値はコマンド .Dq Nm atm Cm "set mac" Ar intf のパラメータとして渡されます。 .It Va atm_arpserver_ Ns Aq Ar netif .Pq Vt 文字列 ATM 物理インタフェース .Ar netif に対し、本変数は、ATMARP サービスを提供するホストの ATM アドレスを定義します。 本変数は、UNI シグナリングマネージャを使用するインタフェースにおいてのみ 利用可能です。 .Dq Li local に設定すると、本ホストが ATMARP サーバになります。 値はコマンド .Dq Nm atm Cm "set arpserver" Ar netif のパラメータとして渡されます。 .It Va atm_scsparp_ Ns Aq Ar netif .Pq Vt ブール値 .Dq Li YES に設定すると、ネットワークインタフェース .Ar netif に対する SCSP/ATMARP サービスが、 .Xr scspd 8 および .Xr atmarpd 8 を使用して開始されます。 本変数は .Va atm_arpserver_ Ns Aq Ar netif が .Dq Li local に設定されている場合にのみ利用可能です。 .It Va atm_pvcs .Pq Vt 文字列 システムブート時に追加したい ATM PVC のリストを設定します。 この値の中で空白で区切られた .Ar element ごとに、変数 .Va atm_pvc_ Ns Aq Ar element が存在するものと仮定されます。 これらの変数の値がコマンド .Dq Nm atm Cm "add pvc" のパラメータとして渡されます。 .It Va atm_arps .Pq Vt 文字列 システムブート時に追加したい、 永続的な ATM ARP エントリのリストを設定します。 この値の中で空白で区切られた .Ar element ごとに、変数 .Va atm_arp_ Ns Aq Ar element が存在するものと仮定されます。 これらの変数の値がコマンド .Dq Nm atm Cm "add arp" のパラメータとして渡されます。 .It Va natm_interfaces .Pq Vt 文字列 .Xr harp 4 を介して HARP でも使用される、 .Xr natm 4 インタフェースのリストに設定します。 このリストが空ではない場合、このリスト中のすべてのインタフェースが -.\" オリジナル (1.199)で ifconfig 9 になっているが、 -.\" ifconfig 8 の間違いと思われる (docs/56488 で send-pr 済) .Xr ifconfig 8 で立ち上げられ、 .Xr harp 4 がロードされます。 これが動作するためには、 インタフェースドライバがカーネルに組み込まれているか ルートパーティションに存在することが必要です。 .It Va keybell .Pq Vt 文字列 キーボードベル音。 デフォルト動作が必要な場合、 .Dq Li normal , .Dq Li visual , .Dq Li off , .Dq Li NO のいずれかに設定します。 詳細については .Xr kbdcontrol 1 マニュアルページを参照してください。 .It Va keymap .Pq Vt 文字列 .Dq Li NO に設定すると、キーマップはインストールされません。 それ以外の場合、 ここで指定した .Ar value がキーマップファイル .Pa /usr/share/syscons/keymaps/ Ns Ao Ar value Ac Ns Pa .kbd をインストールするのに用いられます。 .It Va keyrate .Pq Vt 文字列 キーボードのリピートスピードです。以下のいずれかに設定します。 .Dq Li slow , .Dq Li normal , .Dq Li fast か、 デフォルト値を希望する場合は .Dq Li NO とします。 .It Va keychange .Pq Vt 文字列 .Dq Li NO 以外に設定すると、その値でファンクションキーをプログラムしようとします。 指定できる値は単一の文字列で, .Dq Ar funkey_number new_value Op Ar funkey_number new_value ... . という形式でないといけません。 .It Va cursor .Pq Vt 文字列 カーソルの動作を明示的に指定する場合は .Dq Li normal , .Dq Li blink , .Dq Li destructive のいずれかの値に設定します。 デフォルト動作を選ぶには .Dq Li NO とします。 .It Va scrnmap .Pq Vt 文字列 .Dq Li NO に設定すると、スクリーンマップはインストールされません。 それ以外の場合には、ここで指定した .Ar value がスクリーンマップファイル .Pa /usr/share/syscons/scrnmaps/ Ns Aq Ar value をインストールするのに用いられます。 .It Va font8x16 .Pq Vt 文字列 .Dq Li NO に設定すると、スクリーンサイズの要求に対しデフォルトの 8x16 フォント値が 用いられます。 それ以外の場合は .Pa /usr/share/syscons/fonts/ Ns Aq Ar value の値が用いられます。 .It Va font8x14 .Pq Vt 文字列 .Dq Li NO に設定すると、スクリーンサイズの要求に対しデフォルトの 8x14 フォント値が 用いられます。 それ以外の場合は .Pa /usr/share/syscons/fonts/ Ns Aq Ar value の値が用いられます。 .It Va font8x8 .Pq Vt 文字列 .Dq Li NO に設定すると、スクリーンサイズの要求に対しデフォルトの 8x8 フォント値が 用いられます。 それ以外の場合は .Pa /usr/share/syscons/fonts/ Ns Aq Ar value の値が用いられます。 .It Va blanktime .Pq Vt 整数 .Dq Li NO に設定すると、デフォルトのスクリーンブランク時間間隔が用いられます。 それ以外の場合は .Ar value 秒に設定されます。 .It Va saver .Pq Vt 文字列 .Dq Li NO 以外に設定すると、これが実際に使用する スクリーンセーバ .Li ( blank , snake , daemon など) となります。 .It Va moused_enable .Pq Vt 文字列 .Dq Li YES に設定すると、コンソール上でのカット/ペーストセレクション用に .Xr moused 8 デーモンが起動されます。 .It Va moused_type .Pq Vt 文字列 利用したいマウスのプロトコルのタイプ。 .Va moused_enable が .Dq Li YES の場合、この変数は必ず設定しなければなりません。 多くの場合、 .Xr moused 8 デーモンは適切なマウスタイプを自動的に検出することができます。 デーモンにマウスを検出させるには、この変数を .Dq Li auto に設定します。 自動検出が失敗する場合、以下のリストから 1 つを選びます。 .Pp マウスが PS/2 マウスポートに接続されている場合、 .Dq Li auto か .Dq Li ps/2 を常に指定する必要があります。マウスのブランドやモデルには無関係です。 同様に、マウスがバスマウスポートに接続されている場合、 .Dq Li auto か .Dq Li busmouse を選択してください。 他のプロトコルはシリアルマウス用であり、 PS/2 マウスおよびバスマウスでは動作しません。 USB マウスの場合、 .Dq Li auto のみが、動作する唯一のプロトコルです。 .Pp .Bl -tag -width ".Li x10mouseremote" -compact .It Li microsoft Microsoft マウス (シリアル) .It Li intellimouse Microsoft IntelliMouse (シリアル) .It Li mousesystems Mouse system 社製のマウス (シリアル) .It Li mmseries MM シリーズのマウス (シリアル) .It Li logitech Logitech 製のマウス (シリアル) .It Li busmouse バスマウス .It Li mouseman Logitech の MouseMan および TrackMan (シリアル) .It Li glidepoint ALPS 製の GlidePoint (シリアル) .It Li thinkingmouse Kensington 製の ThinkingMouse (シリアル) .It Li ps/2 PS/2 マウス .It Li mmhittab MM の HitTablet (シリアル) .It Li x10mouseremote X10 MouseRemote (シリアル) .It Li versapad Interlink VersaPad (シリアル) .El .Pp お使いのマウスが上記のリストにない場合でも、 リスト中のいずれかと互換性があるかも知れません。 互換性に関する情報については .Xr moused 8 のマニュアルページを参照してください。 .Pp また、 この変数が有効であるときは、(Xサーバのような) 他の全ての マウスクライアントは仮想マウスデバイス .Pa /dev/sysmouse を通してマウスにアクセスし、 それを .Dq Li sysmouse タイプのマウスとして構成すべきであると いうことにも注意すべきです。 これは、 .Xr moused 8 使用時は、全てのマウスデータがこの単一の標準フォーマットに 変換されるためです。 クライアントプログラムが .Dq Li sysmouse タイプを サポートしないなら次に望ましいタイプとして .Dq Li mousesystems を 指定してください。 .It Va moused_port .Pq Vt 文字列 .Va moused_enable が .Dq Li YES の場合、これはマウスが接続されている実際のポートになります。 たとえば、COM1 シリアルマウスに対しては .Pa /dev/cuaa0 、PS/2 マウスに対しては .Pa /dev/psm0 、バスマウスに対しては .Pa /dev/mse0 となります。 .It Va moused_flags .Pq Vt 文字列 .Va moused_type が設定されている場合、これらは .Xr moused 8 デーモンに渡す追加のフラグとなります。 .It Va mousechar_start .Pq Vt 整数 .Dq Li NO に設定すると、デフォルトのマウスカーソル文字範囲 .Li 0xd0 Ns - Ns Li 0xd3 が使用されます。 そうでない場合、範囲の開始が .Ar value 文字に設定されます。 .Xr vidcontrol 1 を参照してください。 デフォルトの範囲が言語のコード表で占められる場合に使用してください。 .It Va allscreens_flags .Pq Vt 文字列 設定すると、各仮想端末 .Pq Pa /dev/ttyv* に対し、これらのオプションを使用して .Xr vidcontrol 1 を実行します。 例えば .Dq Fl m Cm on は、 .Va moused_enable が .Dq Li YES に設定されている場合、全仮想端末上でマウスポインタを有効にします。 .It Va allscreens_kbdflags .Pq Vt 文字列 設定されると、各仮想端末 .Pq Pa /dev/ttyv* に対し、 .Xr kbdcontrol 1 がこれらのオプション付きで実行されます。 例えば、 .Dq Fl h Li 200 は .Xr syscons 4 をスクロールバック (ヒストリ) バッファ 200 行に設定します。 .It Va cron_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr cron 8 デーモンを起動します。 .It Va cron_program .Pq Vt 文字列 .Xr cron 8 へのパス (デフォルトは .Pa /usr/sbin/cron です)。 .It Va cron_flags .Pq Vt 文字列 .Va cron_enable が .Dq Li YES を設定されている場合、これが .Xr cron 8 へ渡すフラグとなります。 .It Va lpd_program .Pq Vt 文字列 .Xr lpd 8 へのパス (デフォルトは .Pa /usr/sbin/lpd です)。 .It Va lpd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、システムブート時に .Xr lpd 8 デーモンを起動します。 .It Va lpd_flags .Pq Vt 文字列 .Va lpd_enable が .Dq Li YES の場合、これらは .Xr lpd 8 デーモンに渡すフラグとなります。 .It Va mta_start_script .Pq Vt 文字列 本変数は、メール転送エージェントを起動するスクリプトへのフルパスを指定します。 デフォルトは、 .Pa /etc/rc.sendmail です。 .Pa /etc/rc.sendmail が使用する .Va sendmail_* 変数は、 .Xr rc.sendmail 8 マニュアルページに記述してあります。 .It Va dumpdev .Pq Vt 文字列 システムクラッシュ時にクラッシュダンプを書き込むデバイス (通常はスワップパーティション) を指定します。 この変数の値は .Xr dumpon 8 への引数として渡されます。 クラッシュダンプを無効にするには、この変数を .Dq Li NO に設定します。 .It Va dumpdir .Pq Vt 文字列 クラッシュ後にシステムがリブートするとき、 .Va dumpdev で指定されるデバイスにクラッシュダンプが見付かると、 .Xr savecore 8 は、 このクラッシュダンプとカーネルのコピーを、 .Va dumpdir 変数で指定されるディレクトリへ保存します。 デフォルト値は .Pa /var/crash です。 .Va dumpdir を .Dq Li NO に設定すると、ブート時に .Xr savecore 8 を起動しません。 .It Va savecore_flags .Pq Vt 文字列 クラッシュダンプが有効な場合、これらは .Xr savecore 8 ユーティリティに渡すフラグになります。 .It Va enable_quotas .Pq Vt ブール値 .Dq Li YES に設定すると、システム起動時に、 .Xr quotaon 8 コマンドによってユーザディスクのクォータチェックを有効にします。 .It Va check_quotas .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr quotacheck 8 コマンドによってユーザディスクのクォータチェックを有効にします。 .It Va accounting_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 .Xr accton 8 機能でシステムアカウンティングを有効にします。 .It Va ibcs2_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 システム初期ブート時に iBCS2 (SCO) バイナリエミュレーションを有効にします。 .It Va ibcs2_loaders .Pq Vt 文字列 これを .Dq Li NO に設定せずに .Va ibcs2_enable を .Dq Li YES に設定した場合、 この文字列は有効化すべき追加の iBCS2 ローダのリストを指定します。 .It Va linux_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 システムブート時に Linux/ELF バイナリエミュレーションを有効にします。 .It Va osf1_enable .Pq Vt ブール値 システムブート時に OSF/1 (Digital UNIX) バイナリエミュレーションを 有効にしたいなら .Dq Li YES に設定します (Alpha)。 .It Va svr4_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に SysVR4 エミュレーションを有効にします。 .It Va sysvipc_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に System V IPC プリミティブをロードします。 .It Va clear_tmp_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 起動時に .Pa /tmp 下を消去します。 .It Va ldconfig_paths .Pq Vt 文字列 .Xr ldconfig 8 で使用する共有ライブラリのパスのリストを設定します。 注意: .Pa /usr/lib は常に先頭に追加されるので、このリストに指定する必要はありません。 .It Va ldconfig_paths_aout .Pq Vt 文字列 .Xr ldconfig 8 で使用する共有ライブラリパスに設定します。 古い .Xr a.out 5 サポートです。 .It Va ldconfig_insecure .Pq Vt ブール値 .Xr ldconfig 8 ユーティリティは、通常、 root 以外が書き込み可能なディレクトリの使用を拒否します。 .Dq Li YES に設定すると、 システムの起動中はこのセキュリティチェックを無効化します。 .It Va kern_securelevel_enable .Pq Vt ブール値 カーネルのセキュリティレベルをシステムスタートアップ時に設定したい場合に、 .Dq Li YES に設定します。 .It Va kern_securelevel .Pq Vt 整数 スタートアップ時に設定されるカーネルセキュリティレベルです。 .Va 値 として許される範囲は \-1 (コンパイル時のデフォルト) から 3 (最も安全) です。 利用可能なセキュリティレベルとシステム操作への影響については、 .Xr init 8 を参照してください。 .It Va lomac_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 ブート時に Low Watermark Mandatory Access Control (LOMAC) を有効にします。 このセキュリティモデルは、システムプロセスに対し、完全性の制約を課します。 LOMAC モデルの完全な記述と、システム動作への影響については、 .Xr lomac 4 を参照してください。 .It Va start_vinum .Pq Vt ブール値 .Dq Li YES に設定すると、 システムブート時に .Xr vinum 8 を開始します。 .It Va sshd_program .Pq Vt 文字列 SSH サーバプログラムへのパスです ( .Pa /usr/sbin/sshd がデフォルトです)。 .It Va sshd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、 ブート時に .Xr sshd 8 を起動します。 .It Va sshd_flags .Pq Vt 文字列 .Va sshd_enable が .Dq Li YES の場合、これらは .Xr sshd 8 デーモンに渡すフラグになります。 .It Va usbd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に .Xr usbd 8 を実行します。 .It Va usbd_flags .Pq Vt 文字列 .Va usbd_enable が .Dq Li YES の場合、これらは .Xr usbd 8 デーモンに渡すフラグになります。 .It Va watchdogd_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr watchdogd 8 を起動します。 このためには、カーネルが .Cd "options WATCHDOG" 付きでコンパイルされていることが必要です。 .It Va jail_enable .Pq Vt ブール値 .Dq Li NO に設定すると、設定済の jail は起動されません。 .It Va jail_list .Pq Vt 文字列 空白で区切られた jail 名のリストです。 これは、複数の jail の識別と設定を助ける、設定のためのものです。 このリストで指定される名前が、 ある jail のインスタンスに共通する識別子として使用されます。 対象の jail 名が .Li vjail とすると、これに依存する下記の変数ができます: .Bd -literal jail_vjail_hostname="jail.example.com" jail_vjail_ip="192.168.1.100" jail_vjail_rootdir="/var/jails/vjail/root" jail_vjail_exec="/bin/sh /etc/rc" .Ed .Pp 最後の項目は省略可能です。 設定されていない場合には、デフォルトの .Pa /etc/rc になります。 .It Va jail_set_hostname_allow .Pq Vt ブール値 .Dq Li NO に設定すると、jail 中の root ユーザがホスト名を設定できないようにします。 .It Va jail_socket_unixiproute_only .Pq Vt ブール値 .Dq Li NO に設定すると、jail 内で TCP/IP 以外のプロトコルを使えないようにします。 .It Va jail_sysvipc_allow .Pq Vt ブール値 .Dq Li YES に設定すると、jail 内のアプリケーションが System V IPC を使えるようにします。 .It Va unaligned_print .Pq Vt ブール値 .Dq Li NO に設定すると、境界調整されていないアクセスの警告は表示されません (Alpha)。 .\" ----- isdn settings --------------------------------- .It Va isdn_enable .Pq Vt ブール値 デフォルトは .Dq Li NO です。 .Dq Li YES に設定すると、 .Xr isdnd 8 デーモン をシステム起動時に起動します。 .It Va isdn_flags .Pq Vt 文字列 デフォルトは .Dq Fl d Ns Cm n Fl d Ns Li 0x1f9 です。 .Xr isndn 8 に渡される追加のフラグです (調整可能なパラメータについては .Va isdn_fsdev と .Va isdn_ttype を参照してください)。 .It Va isdn_ttype .Pq Vt 文字列 デフォルトは .Dq Li cons25 です。 .Xr idsnd 8 が全画面モードで動作する場合の出力端末の型です。 .It Va isdn_screenflags .Pq Vt 文字列 デフォルトで .Dq Li NO に設定されます。 全画面モード用のビデオモードです ( .Xr syscons 4 コンソールドライバ専用です)。 .Xr vidcontrol 1 を参照してください。 .It Va isdn_fsdev .Pq Vt 文字列 デフォルトは .Dq Li NO です。 .Xr idsnd 8 が全画面モードで動作する場合の出力端末です (デーモンモード時は .Dq Li NO です)。 .It Va isdn_trace .Pq Vt ブール値 デフォルトは .Dq Li NO です。 .Dq Li YES に設定すると、ISDN プロトコルトレースユーティリティ .Xr isdntrace 8 をシステム起動時に有効にします。 .It Va isdn_traceflags .Pq Vt 文字列 デフォルトは .Dq Fl f Pa /var/tmp/isdntrace0 です。 .Xr isdntrace 8 へのフラグです。 .\" ----------------------------------------------------- .It Va pcvt_verbose .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、 起動スクリプトが行った動作に関する冗長なメッセージが表示されます。 .Em 注 : ここで記述されている .Xr pcvt 4 オプション関連の効果のためには、 .Xr pcvt 4 ドライバがカーネルに組み込まれている必要があります。 .It Va pcvt_keymap .Pq Vt 文字列 デフォルトで .Dq Li NO に設定されます。 これで各国キーボード配列の初期化をします。 キーボード配列は .Pa /usr/share/misc/keycap.pcvt ファイルに記述されています .Xr ( pcvt 4 の keycap データベースの使用方法については、マニュアルページ .Xr keycap 5 および .Xr keycap 3 を参照し、各国キーボード配列の設定については .Xr kcon 1 のオプション .Fl m を参照してください)。 .It Va pcvt_keydel .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 キーボードのキーリピート遅延値に使用されます。 正当な値は 0..3 の範囲であり、遅延値 250, 500, 750, 1000 msec です .Xr ( kcon 1 マニュアルページも参照してください)。 .It Va pcvt_keyrate .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 キーボードのキーリピートレート値に使用されます。 正当な値は 0..31 の範囲であり、秒あたり 2..30 文字のリピート値です。 .It Va pcvt_keyrepeat .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、自動キーボードキーリピートを有効にします。 .It Va pcvt_force24 .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、オリジナルの .Tn VT220 端末との互換性のために (25 行モードで) 24 行のみを使用するよう .Xr pcvt 4 に強制します。 .It Va pcvt_hpext .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、ファンクションキーラベル .Tn ( Hewlett-Packard の .Tn HP2392A や .Tn HP700/92 のような端末の ANSI モードで見られるもの) の表示と機能を有効にします。 .It Va pcvt_lines .Pq Vt 整数 デフォルトの .Dq Li NO は、値 25 になります。 画面の行数を設定するために使用します。 VGA ディスプレイでは、正当な値は 25, 28, 40, 50 行です .Xr ( scon 1 マニュアルページも参照してください)。 .It Va pcvt_blanktime .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 0 より大きい値を使用することで、スクリーンセーバのタイムアウトを、 秒単位で指定します。 .It Va pcvt_cursorh .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 カーソルトップスキャンラインを設定するために使用されます .Xr ( cursor 1 マニュアルページも参照してください)。 .It Va pcvt_cursorl .Pq Vt 整数 デフォルトで .Dq Li NO に設定されます。 カーソルボトムスキャンラインを設定するために使用されます。 .It Va pcvt_monohigh .Pq Vt ブール値 デフォルトで .Dq Li NO に設定されます。 .Dq Li YES に設定すると、モノクロームモニタの輝度を高くします (VGA パレット値の変更に関する更なる情報は、 .Xr scon 1 マニュアルページの .Fl p を参照してください)。 .It Va harvest_interrupt .Pq Vt ブール値 .Dq Li YES に設定すると、エントロピ源としてハードウェア割り込みを使用します。 更なる情報については .Xr random 4 を参照してください。 .It Va harvest_ethernet .Pq Vt ブール値 .Dq Li YES に設定すると、エントロピ源として LAN トラフィックを使用します。 更なる情報については .Xr random 4 を参照してください。 .It Va harvest_p_to_p .Pq Vt ブール値 .Dq Li YES に設定すると、エントロピ源としてシリアル線を使用します。 更なる情報については .Xr random 4 を参照してください。 .It Va entropy_dir .Pq Vt 文字列 .Dq Li NO に設定すると、 .Xr cron 8 によるエントロピキャッシングを無効化します。 そうでない場合、エントロピファイルを格納するディレクトリを設定します。 .It Va entropy_file .Pq Vt 文字列 .Dq Li NO に設定すると、リブートを通じたエントロピキャッシングを無効化します。 そうでない場合、キャッシュしたエントロピを、 リブートの間に格納するために使用するファイル名を設定します。 このファイルはルートファイルシステムに置き、ブート処理のなるべく早期に .Xr random 4 デバイスをシードするべきです。 .It Va entropy_save_sz .Pq Vt 整数 .Nm save-entropy により定期的に保存されるエントロピキャッシュファイルの大きさです。 .It Va entropy_save_num .Pq Vt 整数 .Nm save-entropy により定期的に保存されるエントロピキャッシュファイルの数です。 .It Va ipsec_enable .Pq Vt ブール値 .Dq Li YES に設定すると、起動時に .Xr setkey 8 を .Va ipsec_file に対して実行します。 .It Va ipsec_file .Pq Vt 文字列 .Xr setkey 8 の設定ファイルです。 .It Va dmesg_enable .Pq Vt ブール値 .Dq Li YES に設定すると、ブート時に .Xr dmesg 8 を .Pa /var/run/dmesg.boot に保存します。 .It Va rcshutdown_timeout .Pq Vt 整数 設定した場合、バックグラウンドでウォッチドッグタイマを起動し、 .Xr shutdown 8 が指定した時間 (秒単位) で完了しない場合には .Pa rc.shutdown を終了させます。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /etc/defaults/rc.conf" -compact .It Pa /etc/defaults/rc.conf .It Pa /etc/rc.conf .It Pa /etc/rc.conf.local .El .Sh 関連項目 .Xr catman 1 , .Xr gdb 1 , .Xr info 1 , .Xr kbdcontrol 1 , .Xr makewhatis 1 , .Xr vidcontrol 1 , .Xr ip 4 , .Xr kld 4 , .Xr tcp 4 , .Xr udp 4 , .Xr exports 5 , .Xr motd 5 , .Xr accton 8 , .Xr amd 8 , .Xr apm 8 , .Xr atm 8 , .Xr cron 8 , .Xr dhclient 8 , .Xr ifconfig 8 , .Xr inetd 8 , .Xr isdnd 8 , .Xr isdntrace 8 , .Xr kldxref 8 , .Xr lpd 8 , .Xr mdconfig 8 , .Xr mountd 8 , .Xr moused 8 , .Xr mrouted 8 , .Xr named 8 , .Xr nfsd 8 , .Xr ntpd 8 , .Xr ntpdate 8 , .Xr pcnfsd 8 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr rc 8 , .Xr rc.sendmail 8 , .Xr route 8 , .Xr routed 8 , .Xr rpc.lockd 8 , .Xr rpc.statd 8 , .Xr rpcbind 8 , .Xr rwhod 8 , .Xr savecore 8 , .Xr sshd 8 , .Xr swapon 8 , .Xr sysctl 8 , .Xr syslogd 8 , .Xr timed 8 , .Xr usbd 8 , .Xr vinum 8 , .Xr yp 8 , .Xr ypbind 8 , .Xr ypserv 8 , .Xr ypset 8 .Sh 歴史 .Nm ファイルは .Fx 2.2.2 で登場しました。 .Sh 作者 .An Jordan K. Hubbard . diff --git a/ja_JP.eucJP/man/man5/rtadvd.conf.5 b/ja_JP.eucJP/man/man5/rtadvd.conf.5 index 026d715b61..a0bc915ec2 100644 --- a/ja_JP.eucJP/man/man5/rtadvd.conf.5 +++ b/ja_JP.eucJP/man/man5/rtadvd.conf.5 @@ -1,434 +1,434 @@ -.\" %FreeBSD: src/usr.sbin/rtadvd/rtadvd.conf.5,v 1.12 2003/08/15 19:13:53 ume Exp % +.\" %FreeBSD: src/usr.sbin/rtadvd/rtadvd.conf.5,v 1.13 2003/09/14 13:41:58 ru Exp % .\" $KAME: rtadvd.conf.5,v 1.49 2003/07/24 21:51:26 jinmei Exp $ .\" .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the project nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .Dd May 17, 1998 .Dt RTADVD.CONF 5 .Os .Sh 名称 .Nm rtadvd.conf .Nd ルータ通知デーモンの設定ファイル .Sh 解説 このファイルには各インタフェースに対して、 ルータ通知パケットをどのように組み立てなければならないかを記述します。 .Pp .Xr rtadvd 8 の記述のように、特別な設定が必要で無い限りにおいては、 この設定ファイルを設定する必要はまったくありません。 このファイルがまったく存在しなくてかまいません。 この場合、 .Nm rtadvd デーモンは、仕様で指定されるデフォルト値を仕様して、自己を自動設定します。 .Pp 記述方法は有名な .Xr termcap 5 ファイルのフォーマットに従います。 ファイル中の各行にはネットワークインタフェースを記述します。 フィールドはコロン .Pq \&: により区切られ、 各フィールドは 1 つのケーパビリティの記述を含みます。 行は .Sq \e により次の行へ続けることができます。 コメントは .Sq \&# で始まります。 .Sh ケーパビリティ ケーパビリティは ICMPv6 ルータ通知メッセージを埋めるため、また .Xr rtadvd 8 の振る舞いを制御するための値を記述します。 したがって、もしサンプルの定義ファイルを変更したいのであれば、 前述のように IETF 近隣探索文書を読むことが推奨されます。 .Pp ほとんど全ての項目はデフォルト値を持っていることに 注意してください。 項目を省略すると、項目のデフォルト値が使用されます。 .Pp ルータ通知を送信する間隔を制御するための 2 つの項目があります。 これらの項目は省略可能であり、この場合には .Nm rtadvd はデフォルト値を使用します。 .Bl -tag -width indent .It Cm \&maxinterval (数値) 要請されていないマルチキャストルータ通知を送信する間隔の 最大時間です .Pq 単位: 秒 。 デフォルト値は 600です。この値は 4 以上 1800 以下でなければなりません。 .It Cm \&mininterval (数値) 要請されていないマルチキャストルータ通知を送信する間隔の 最小時間です .Pq 単位: 秒 。 デフォルト値は .Cm maxinterval の 3 分の 1 の値です。 この値は 3 以上 .75 * .Cm maxinterval の値以下でなければなりません。 .El .Pp 以下の項目は ICMPv6 ルータ通知メッセージヘッダのためのものです。 これらの項目は省略可能であり、この場合には .Nm rtadvd はデフォルト値を使用します。 .Bl -tag -width indent .It Cm \&chlim (数値) カレント中継限界数フィールドに対する値です。 デフォルト値は 64 です。 .It Cm \&raflags (文字列または数値) ルータ通知メッセージヘッダの 8 ビットフラグフィールドです。 このフィールドは、大文字小文字を区別する文字列か、 整数のいずれかで指定可能です。 文字列は、各文字が特定のフラグビットに対応する文字で構成されます。 整数は、有効ビットの論理 OR から成ります。 7 ビット目 .Po .Li 'm' か 0x80 .Pc は 管理アドレス設定フラグのビットを意味します。 そして 6 ビット目 .Po .Li 'o' か 0x40 .Pc はアザーステートフル設定フラグビットを意味します。 4 ビット目 .Po .Li 0x10 .Pc と 3 ビット目 .Po .Li 0x08 .Pc は、ルータの推奨度をコード化するために使用されます。 ビット 01 .Po か 'h' .Pc は高を、00 は中を、11 .Po か 'l' .Pc は低をそれぞれ意味します。 ビット 10 は予約であり、指定してはなりません。 明示的に中を指定する文字はありません。 フラグ全体のデフォルト値は 0 .Po または空文字列 .Pc であり、追加設定方法無しで中のルータ推奨度を意味します。 .It Cm \&rltime (数値) ルータ有効期間フィールドです .Pq 単位: 秒 。 この値は、0 であるか、 .Cm maxinterval と 9000 の間である必要があります。 .Nm rtadvd がホスト上で実行される場合、 .Xr rtadvd 8 で記述されているように、通知中の全インタフェース上で、 この値を明示的に 0 に設定する必要があります。 デフォルト値は 1800 です。 .It Cm \&rtime (数値) 到達可能時間フィールドです .Pq 単位: ミリ秒 。 デフォルト値は 0 であり、これはこのルータにより 指定されないことを意味しています。 .It Cm \&retrans (数値) 再送タイマフィールドです。 .Pq 単位: ミリ秒 。 デフォルト値は 0 であり、これはこのルータにより 指定されないことを意味しています。 .El .Pp 以下は ICMPv6 プレフィックス情報オプションに対する項目であり、 ルータ通知ヘッダに付与されます。 これらの項目は省略可能であり、この場合には .Nm rtadvd は自動的に適切なプレフィックスをカーネルの経路表から取得して、 このプレフィックスをデフォルトパラメータと共に通知します。 .Cm clockskew 以外のキーワードには .Dq Li prefix2 のように数値を付加することが可能であり、 これにより複数のプレフィックスを指定可能です .Bl -tag -width indent .It Cm \&clockskew (数値) リンク伝播遅延を調整するためのスキューであり、 リンク上のルータ間のクロックスキュー .Pq 単位: 秒 。 この値は、ローカルに設定されたプレフィックスの有効期間と 通知されたプレフィックスの有効期間との無矛盾性の確認に使用されます。 この値が意味を持つのは、 ローカルルータが、リンク上のプレフィックスを、 実時間で減少する有効期付きで設定するときです。 値が 0 の場合、このようなプレフィックスに対する無矛盾性の確認は行われません。 デフォルト値は 0 です。 .It Cm \&prefixlen (数値) プレフィックス長フィールドです。 デフォルト値は 64 です。 .It Cm \&pinfoflags (文字列または数値) プレフィックス情報オプション中の 8 ビットフラグフィールドです。 このフィールドは、大文字小文字を区別する文字列か、 整数のいずれかで指定可能です。 文字列は、各文字が特定のフラグビットに対応する文字で構成されます。 整数は、有効ビットの論理 OR から成ります。 7 ビット目 .Po .Li 'l' か 0x80 .Pc は オンリンクフラグビットです。そして 6 ビット目 .Po .Li 'a' か 0x40 .Pc は自律アドレス設定フラグビットです。 デフォルト値は "la" か 0xc0 であり、すなわち両方のビットが設定されています。 .It Cm \&addr (文字列) プレフィックスフィールドに埋められるアドレスです。 .Xr termcap 5 ファイルフォーマットで、 IPv6 数値アドレスと同様に .Dq \&: が使われているために、フィールドはダブルクォート文字によって クォートされなければなりません。 .It Cm \&vltime (数値) 正当な有効期間フィールドです .Pq 単位: 秒 。 デフォルト値は 2592000 (30 日) です。 .It Cm \&vltimedecr (ブール値) この項目は、 通知された有効期間が実時間で減らされることを意味します。 デフォルトで無効化されています。 .It Cm \&pltime (数値) 推奨有効期間フィールドです .Pq 単位: 秒 。 デフォルト値は 604800 (7 日) です。 .It Cm \&pltimedecr (ブール値) この項目は、 通知された推奨有効期間が実時間で減らされることを意味します。 デフォルトで無効化されています。 .El .Pp 以下は ICMPv6 MTU に対する項目であり、 ルータ通知ヘッダに付与されます。 この項目は省略可能であり、この場合には .Nm rtadvd はデフォルト値を使用します。 .Bl -tag -width indent .It Cm \&mtu (数値もしくは文字列) MTU (最大転送単位) フィールドです。 0 が指定された場合には、オプションは含まれません。 デフォルト値は 0 です。 もしこの項目に特別な文字列 .Dq auto が指定された場合、MTU オプションは含まれ、 その値はインタフェースの MTU に自動的に設定されます。 .El .Pp 以下は ICMPv6 始点データリンク層アドレスオプションを制御するための項目であり、 ルータ通知ヘッダに付与されます。 前述のように、この項目は省略可能であり、この場合には .Nm rtadvd はデフォルト値を使用します。 .Bl -tag -width indent .It Cm \&nolladdr (ブール値) デフォルトでは .Po もし .Cm \&nolladdr が指定されない場合 .Pc 、 .Xr rtadvd 8 は、インタフェースに対するデータリンク層アドレスを カーネルから取得しようと試み、 それを始点データリンク層アドレスオプションに付与します。 もしこのケーパビリティが存在する場合、 .Xr rtadvd 8 はルータ通知パケットに、始点データリンク層アドレスオプションを付与しません。 .El .Pp 以下は ICMPv6 ホームエージェント情報オプションを制御するための項目であり、 モバイル IPv6 サポートで定義されています。 このオプションは、他のオプション同様、ルータ通知ヘッダに付与されます。 .Bl -tag -width indent .It Cm \&hapref (数値) ホームエージェントの推奨を設定します。 非 0 に設定する場合、 .Cm \&hatime もまた存在する必要があります。 .It Cm \&hatime (数値) ホームエージェントの有効期間を指定します。 .El .Pp .Xr rtadvd 8 でモバイル IPv6 サポートを有効にすると、 .Cm \&maxinterval を明示的に構成することにより、 通知間隔オプションがルータ通知パケットに付加されます。 .Pp 以下は ICMPv6 経路情報オプションを制御するための項目であり、 ルータ通知ヘッダに付与されます。 これらの項目はオプションです。 各項目には .Dq Li rtplen2 のように数値を付加することが可能であり、 これにより複数のルータを指定可能です .Bl -tag -width indent .It Cm \&rtprefix (文字列) 経路情報オプション中の、プレフィックス欄に埋められるプレフィックス。 .Xr termcap 5 ファイルフォーマットで、 IPv6 数値アドレスと同様に .Dq \&: が使われているために、フィールドはダブルクォート文字によって クォートされなければなりません。 .It Cm \&rtplen (数値) 経路情報オプション中の、プレフィックス長。 デフォルト値は 64 です。 .It Cm \&rtflags (文字列もしくは数値) 経路情報オプション中の、8 ビットフラグ欄。 現在、推奨値のみが定義されています。 表現方法は raflags 欄と同じです。 ビット 4 .Po .Li 0x10 .Pc とビット 3 .Po .Li 0x08 .Pc が、経路の推奨度をコード化するために使用されます。 デフォルト値は 0x00 であり、中間の推奨度の経路です。 .It Cm \&rtltime (数値) 経路情報オプション中の、経路の有効期間欄。 .Pq 単位: 秒 。 仕様ではこの項目のデフォルト値を定義していませんので、 この項目は手動で指定する必要があります。 一方、 .Nm rtadvd は、この項目が未指定であることを許し、 その場合にはルータの有効期限をデフォルト値として使用します。 これは、古いバージョンのこのプログラムとの互換性のためです。 .El .Pp 上記のリスト中では、 .Dq Li rt で開始するキーワードは、 .Dq Li rtr で開始するものと交換できます。 これは、後方互換性のためです。 例えば、 .Cm rtrplen は、 .Cm rtplen の代りとして受け付けられます。 しかしながら、 .Dq Li rtr で開始するキーワードは基本的に廃れたものであるので、 もはや使用すべきではありません。 .Pp また .Cm tc ケーパビリティを用いることで、他の行を参照することができます。 このケーパビリティの詳細に関しては .Xr termcap 5 を参照してください。 .Sh 使用例 前述のように、通知される全パラメータは仕様で定義されるデフォルト値があります。 よって、特別な非デフォルト値を使用したいので無い限りにおいては手動 で設定する必要はありません。 誤った設定パラメータを使用すると、相互操作の問題が生じ得ます。 .Pp 設定パラメータを変えるには、パラメータだけを指定すれば良いです。 次の設定では、 .Xr rtadvd 8 は .Li ne0 インタフェースのルータ有効期間パラメータを変えます。 .Bd -literal -offset ne0:\\ :rltime#0: .Ed .Pp 次の例は、 .Li ef0 インタフェースから通知されるプレフィックスを手動で設定します。 この設定は、 .Fl s オプション付きの .Xr rtadvd 8 で使用することが必要です。 .Bd -literal -offset ef0:\\ :addr="3ffe:501:ffff:1000::":prefixlen#64: .Ed .Pp 次の例は、明示的な方法でデフォルト値を示しています。 この設定は、単に参照のためだけに提供されています。 あなた自身が設定する必要はまったくありません。 .Bd -literal -offset default:\\ :chlim#64:raflags#0:rltime#1800:rtime#0:retrans#0:\\ :pinfoflags="la":vltime#2592000:pltime#604800:mtu#0: ef0:\\ :addr="3ffe:501:ffff:1000::":prefixlen#64:tc=default: .Ed .Sh 関連項目 .Xr termcap 5 , .Xr rtadvd 8 , .Xr rtsol 8 .Pp Thomas Narten, Erik Nordmark and W. A. Simpson, .Do Neighbor Discovery for IP version 6 (IPv6) .Dc , RFC 2461 .Pp Richard Draves, .Do Default Router Preferences and More-Specific Routes .Dc , draft-ietf-ipngwg-router-selection-xx.txt .Sh 歴史 .Xr rtadvd 8 と設定ファイル .Nm はWIDE Hydrangea IPv6 プロトコルスタックキットではじめて登場しました。 .\" .Sh BUGS .\" (to be written) diff --git a/ja_JP.eucJP/man/man5/ssh_config.5 b/ja_JP.eucJP/man/man5/ssh_config.5 index 05d86a004e..bffdc205c6 100644 --- a/ja_JP.eucJP/man/man5/ssh_config.5 +++ b/ja_JP.eucJP/man/man5/ssh_config.5 @@ -1,720 +1,720 @@ .\" -*- nroff -*- .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland .\" All rights reserved .\" .\" As far as I am concerned, the code I have written for this software .\" can be used freely for any purpose. Any derived versions of this .\" software must be clearly marked as such, and if the derived work is .\" incompatible with the protocol description in the RFC file, it must be .\" called by a name other than "ssh" or "Secure Shell". .\" .\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved. .\" Copyright (c) 1999 Aaron Campbell. All rights reserved. .\" Copyright (c) 1999 Theo de Raadt. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. .\" .\" $OpenBSD: ssh_config.5,v 1.7 2003/03/28 10:11:43 jmc Exp $ -.\" Japanese translation: $Id: ssh_config.5,v 1.5 2003-05-22 07:22:10 horikawa Exp $ +.\" Japanese translation: $Id: ssh_config.5,v 1.6 2003-10-13 02:42:26 horikawa Exp $ .\" by Yusuke Shinyama .\" -.\" %FreeBSD: src/crypto/openssh/ssh_config.5,v 1.9 2003/04/23 17:10:53 des Exp % +.\" %FreeBSD: src/crypto/openssh/ssh_config.5,v 1.10 2003/09/24 19:20:23 des Exp % .\" $FreeBSD$ .Dd September 25, 1999 .Dt SSH_CONFIG 5 .Os .Sh 名称 .Nm ssh_config .Nd OpenSSH SSH クライアント 設定ファイル .Sh 書式 .Bl -tag -width Ds -compact .It Pa $HOME/.ssh/config .It Pa /etc/ssh/ssh_config .El .Sh 解説 .Nm ssh は以下のものから (この順序で) 設定情報を取得します: .Bl -enum -offset indent -compact .It コマンドラインオプション .It ユーザごとの設定ファイル .Pq Pa $HOME/.ssh/config .It システム全体にわたる (system-wide) 設定ファイル .Pq Pa /etc/ssh/ssh_config .El .Pp 各設定項目にはそれそれ最初に見つかったものが使われます。 設定ファイルはいくつかのセクションに分かれており、これらは .Dq Host キーワードにより区切られています。あるセクションの設定が 適用されるのは、コマンドラインから与えられたホスト名が、 このキーワードで指定されているパターンのどれかにマッチするときだけです。 .Pp 各設定項目で最初に見つかった値が使われるので、ホストに特化した 宣言をファイルの先頭近くに置くようにし、一般的なものを後に置くのが よいでしょう。 .Pp 設定ファイルは以下のような形式になっています: .Pp 空行、および .Ql # で始まる行は、コメントとみなされます。 .Pp それ以外の場合、この行は .Dq キーワード 引数 という形式になっています。 キーワードと引数は、空白またはひとつの .Ql = (間に空白を含んでいてもよい) によって区切られます。 後者の形式は、 .Nm ssh , .Nm scp および .Nm sftp などで .Fl o オプションを使って設定項目を指定するときに、 空白をクォートする必要がないようにするためです。 .Pp とりうるキーワードとその意味は以下のとおりです (キーワードは大文字小文字どちらでもかまいませんが、 その引数は大文字小文字が区別されることに注意してください) : .Bl -tag -width Ds .It Cm Host (ホスト) これ以後の (次の .Cm Host キーワードが現れるまでの) 設定項目を、ここで 指定されたパターンのどれかにマッチするホストだけに 制限します。パターン中では .Ql \&* と .Ql \&? がワイルドカードとして使えます。単独の .Ql \&* は、すべてのホストに対するデフォルトとして使えます。 ここでいうホストとは、コマンドライン引数で与えられた .Ar ホスト名 そのもののことです (つまり、ホスト名はマッチングの前に正規化されたりしません)。 .It Cm AFSTokenPassing (AFS トークンパス) リモートホストに AFS トークンを渡すかどうかを指定します。 この引数がとりうる値は .Dq yes あるいは .Dq no のどちらかになります。 このオプションはプロトコル バージョン 1 でのみ有効です。 .It Cm BatchMode (バッチ処理モード) これが .Dq yes に設定されていると、パスフレーズおよびパスワードの 入力を求めないようになります。このオプションはスクリプトなどにおける バッチ処理中で、パスワードを打ち込むユーザがいない場合に便利です。 引数の値は .Dq yes あるいは .Dq no です。 デフォルトは .Dq no (パスワードあるいはパスフレーズの入力を求める) です。 .It Cm BindAddress (bind するアドレス) 複数のインターフェイスあるいはエイリアスされたアドレスを もっているマシンで、通信に使うインターフェイスを指定します。 このオプションは .Cm UsePrivilegedPort 項目が .Dq yes になってるときは機能しないので注意してください。 .It Cm ChallengeResponseAuthentication (チャレンジ・レスポンス認証) チャレンジ・レスポンス認証をおこなうかどうかを指定します。 この引数がとりうる値は .Dq yes あるいは .Dq no です。デフォルトでは .Dq yes (チャレンジ・レスポンス認証をおこなう) になっています。 .It Cm CheckHostIP (ホスト IP の検査) このオプションが .Dq yes に設定されていると、ssh は接続先ホスト名の IP アドレスが .Pa known_hosts に書かれている同一ホスト名 IP アドレスと同じかどうか 検査するようになります。 これによって、DNS 詐称によりホスト鍵が変えられたことを 検出できます。このオプションが .Dq no に設定されている場合は、この検査はおこなわれません。 デフォルトでは、これは .Dq no (ホスト IP アドレスの検査をおこなわない) になっています。 .It Cm Cipher (暗号化アルゴリズム) プロトコル バージョン 1 のセッションで使う暗号化の アルゴリズムを指定します。現在のところ .Dq blowfish , .Dq 3des および .Dq des がサポートされており、デフォルトは .Dq 3des です。 .Ar des は、 .Ar 3des 暗号をサポートしていない、もはや古くなったプロトコル 1 の実装と 相互運用するためにのみサポートされています。 この暗号は弱いため、使用はおすすめしません。 .It Cm Ciphers (複数の暗号化アルゴリズム) プロトコル バージョン 2 で使う暗号化アルゴリズムの 優先順位を指定します。複数の暗号化アルゴリズムを カンマで区切って指定します。 デフォルトは .Pp .Bd -literal ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour, aes192-cbc,aes256-cbc'' .Ed の順になっています。 .It Cm ClearAllForwardings (すべてのポート転送をキャンセル) 設定ファイルあるいはコマンドラインで指定された、 ローカル、リモートおよびダイナミックなポート転送をすべて キャンセルします。このオプションは設定ファイルで指定されている ポート転送を .Nm ssh のコマンドラインで打ち消すためにあり、 .Xr scp 1 や .Xr sftp 1 で自動的に使われます。この引数の値は .Dq yes あるいは .Dq no です。デフォルトでは .Dq no になっています。 .It Cm Compression (圧縮) データ圧縮をおこなうかどうかを指定します。 引数の値は .Dq yes あるいは .Dq no です。 デフォルトでは .Dq no (圧縮をおこなわない) になっています。 .It Cm CompressionLevel (圧縮レベル) 圧縮をおこなうさいの圧縮レベルを指定します。 この引数がとる値は 整数の 1 (速い) から 9 (遅い、高圧縮率) までです。 デフォルトの値は 6 で、ほとんどのアプリケーションにはこれで充分です。 この値の意味は .Xr gzip 1 と同じです。 このオプションはプロトコル バージョン 1 のみに適用されることに 注意してください。 .It Cm ConnectionAttempts (接続試行回数) 接続を試みる回数 ( 1 秒に 1 回) を指定します。これを越えると ssh は終了してしまいます。この値は整数で なければなりません。これは、ときどき接続に失敗する環境での スクリプトなどに便利です。 デフォルトは 1 回です。 .It Cm DynamicForward (動的なポート転送) 暗号化された通信路を経由して、ローカルホスト側の TCP/IP ポートを 転送するよう指定します。このとき、どのリモートホストから 接続するかを決定するためにアプリケーションレベルのプロトコルが 使われます。このオプションの引数はポート番号である必要があります。 今のところ SOCKS4 プロトコルが使われており、 .Nm ssh は SOCKS4 サーバのようにふるまいます。 複数のポート転送も指定でき、コマンドラインからこれを追加することも できます。特権ポートを転送できるのは root だけです。 .It Cm EscapeChar (エスケープ文字) エスケープ文字を設定します (デフォルトは .Ql ~ )。エスケープ文字はコマンドラインからも指定できます。 この引数には 1 つの文字か、 .Ql ^ に 1 文字を付けたもの、あるいはエスケープ文字の使用をすべて禁止するなら .Dq none を指定します (これはその接続を、バイナリ データに対して透過にすることになります)。 .It Cm ForwardAgent (エージェント転送) 認証エージェントへの接続を、(それが存在する時は) リモートマシン上に 転送するかどうかを指定します。この引数の値は .Dq yes あるいは .Dq no でなければならず、デフォルトは .Dq no (エージェント転送をおこなわない) です。 .Pp 認証エージェントの転送には注意が必要です。 リモートホスト上で (エージェントの UNIX ドメインソケットに対する) ファイルアクセス権限を無視できてしまうユーザがいる場合は、 転送された接続を介してローカル側の 認証エージェントにアクセスできてしまうことになります。 攻撃側は認証エージェントから鍵そのものを盗むことはできませんが、 認証エージェントがもっている鍵に認証をおこなわせることはできます。 .It Cm ForwardX11 (X11 転送) X11 接続を自動的に安全な通信路へリダイレクトし、 .Ev DISPLAY を設定するかどうかを指定します。この引数の値は .Dq yes あるいは .Dq no でなければならず、デフォルトは .Dq no (X11 接続を転送しない) です。 .Pp X11 の転送には注意が必要です。 リモートホスト上で (そのユーザの X 認証のための) ファイルアクセス権限を 無視できてしまうユーザがいる場合は、転送された接続を介してローカル側の X11 ディスプレイにアクセスできてしまうことになります。 すると攻撃側はキーストロークを盗み見るなどの行為が可能になってしまうかも しれません。 .It Cm GatewayPorts (ポート転送の中継) ローカルからリモートへ転送されている (リモート→ローカルのポート転送) ポートに、他ホストからの接続を許すかどうかを指定します。 デフォルトでは、 .Nm ssh は転送されたローカルポートをループバックアドレス (127.0.0.1) に bind します。このため他の (訳注: サーバ以外の) ホストが 転送されたポートに接続することはできません。 .Cm GatewayPorts を使うと、 .Nm ssh は転送されたローカルポートをワイルドカードアドレス (0.0.0.0) に bind するようになります。これは他のホストもその転送されたポートに 接続できるということです。 この引数の値は .Dq yes または .Dq no で、デフォルトは .Dq no (転送されているポートに他ホストからの接続を許可しない) に設定されています。 .It Cm GlobalKnownHostsFile (大域的 known_host ファイル) そのホスト全体で .Pa /etc/ssh/ssh_known_hosts のかわりに使用するホスト鍵データベースファイルを指定します。 .It Cm HostbasedAuthentication (ホストベース認証) ホスト間認証を使った rhosts ベースの認証をおこなうかどうかを指定します。 とりうる引数の値は .Dq yes または .Dq no で、デフォルトは .Dq no (ホストベース認証を試みない) になっています。 このオプションはプロトコル バージョン 2 のみに適用され、 .Cm RhostsRSAAuthentication と似ています。 .It Cm HostKeyAlgorithms (ホスト間認証のアルゴリズム) プロトコル バージョン 2 において、ホスト間認証で使われる アルゴリズムを指定します。クライアントはここで指定された 優先順位のアルゴリズムを使って認証を試みます。 このオプションのデフォルトは .Dq ssh-rsa,ssh-dss です。 .It Cm HostKeyAlias (ホスト鍵のエイリアス) ホスト鍵データベースからホスト鍵を検索するとき、あるいは データベースにホスト鍵を保存するときに、実際のホスト名のかわりに 使われる名前を指定します。 このオプションは ssh 接続をトンネリングしているときや、 単一のホスト上で複数の sshd サーバを動かしているときなどに 便利です。 .It Cm HostName (実際のホスト名) 実際にログインするホスト名を指定します。デフォルトでは .Nm はコマンドラインで与えられたホスト名に接続しますが、 これを使うと、ホストのニックネームや省略形を使用することができます。 数字の IP アドレスでもかまいません (コマンドライン、 .Cm HostName キーワードの両方とも)。 .It Cm IdentityFile (identity ファイル) ユーザの RSA または DSA 認証用 identity (秘密鍵) を 読むファイルを指定します (デフォルトは、プロトコル バージョン 1 の場合 ユーザのホームディレクトリにある .Pa $HOME/.ssh/identity ファイルが、プロトコル バージョン 2 の場合は .Pa $HOME/.ssh/id_rsa および .Pa $HOME/.ssh/id_dsa が使われます)。 これに加えて、認証エージェントによって現れる identity も使われます。 ユーザのホームディレクトリを表すのにチルダ表記を使うこともできます。 設定ファイルでは複数の identity を指定することもでき、 この場合すべての identity が順に試されます。 .It Cm KeepAlive (接続を生かしておく) システムが相手のマシンに TCP keepalive メッセージを送るかどうかを 指定します。これが送られると、接続の異常終了や相手マシンの クラッシュが正しく通知されるようになります。 しかしこれを使うと、たとえ経路が一時的にダウンしていても 接続が死んでいるということになってしまい、これが邪魔になる場合もあります。 .Pp デフォルトは .Dq yes (keepalive を送る) です。そのため クライアントはネットワークがダウンするか、 リモートホストが落ちると通知してきます。 これはスクリプト中では重要であり、多くのユーザもこれを望んでいます。 .Pp Keepalive を禁止するには、この値を .Dq no にする必要があります。 .It Cm KerberosAuthentication (Kerberos 認証) Kerberos 認証をおこなうかどうか指定します。この引数の値は .Dq yes あるいは .Dq no です。 .It Cm KerberosTgtPassing (Kerberos TGT パス) Kerberos TGT がサーバを転送するかどうかを指定します。これは その Kerberos サーバが実際に AFS kaserver であるときのみ 機能します。この引数の値は .Dq yes あるいは .Dq no です。 .It Cm LocalForward (ローカル→リモート転送) ローカルマシンの TCP/IP ポートを、安全な通信路を経由して リモートマシン上から与えられた host:port に転送するよう指示します (訳注: -L オプションと同じ)。 最初の引数は転送するローカルホストのポートを、2番目の引数には転送先を .Ar host:port の形で指定します。 IPv6 アドレスはこれとは別の .Ar host/port という形式で指定します。ポート転送は複数指定することができ、 コマンドラインから追加指定することもできます。 特権ポートを転送できるのはスーパユーザだけです。 .It Cm LogLevel (ログレベル) .Nm が出力するログの冗長性のレベルを指定します。 とりうる値は次のとおりです: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 および DEBUG3。 デフォルトでは INFO になっています。DEBUG と DEBUG1 は等価です。 DEBUG2, DEBUG3 はそれぞれさらに冗長なログになります。 .It Cm MACs (メッセージ認証コード) 使用する MAC (メッセージ認証コード) アルゴリズムの優先順位を指定します。 MAC アルゴリズムはプロトコル バージョン 2 で使われる、 データの改竄を防ぐ機構 (data integrity protection) です。 複数のアルゴリズムをカンマで区切って指定します。 デフォルトは .Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 の順になっています。 .It Cm NoHostAuthenticationForLocalhost (localhostでのホスト認証を抑制) このオプションはホームディレクトリがマシン間で共有されているときに 使います。このような状況ではそれぞれ別々のマシンで localhost のさす ホストが異なっているため、ユーザはホスト鍵が変わったという警告を 受けてしまいます (訳注: 別々のホスト鍵をもつマシンで同一の localhost ホスト鍵が共有されているため)。このオプションを使うと、相手が localhost のときにはホスト間認証を抑制することができます。 この引数がとりうる値は .Dq yes あるいは .Dq no です。 デフォルトでは、yes (相手が localhost でも鍵をチェックする) になっています。 .It Cm NumberOfPasswordPrompts (パスワード試行回数) パスワードを最高何回まで訊くかを指定します。 この回数を超えると認証は失敗します。 このキーワードには整数を指定する必要があります。 デフォルト値は 3 です。 .It Cm PasswordAuthentication (パスワード認証) パスワード認証をおこなうかどうかを指定します。この引数の値は .Dq yes または .Dq no です。デフォルトでは .Dq yes (パスワード認証をおこなう) になっています。 .It Cm Port (ポート番号) リモートホストに接続するときのポート番号を指定します。 デフォルトは 22 です。 .It Cm PreferredAuthentications (認証の優先順位) プロトコル 2 で試される認証の優先順位を指定します。 これによって、クライアントは特定の認証 ( .Cm keyboard-interactive など) をそれ以外の認証 ( .Cm password など) よりも優先して選ぶことができます。 このオプションのデフォルトは .Dq hostbased,publickey,keyboard-interactive,password の順になっています。 .It Cm Protocol (プロトコル) .Nm ssh がサポートすべきプロトコルのバージョンの優先順位を指定します。 とりうる値は .Dq 1 と .Dq 2 です。 複数のバージョンを 指定するときはカンマで区切ってください。 デフォルト値は .Dq 2,1 です。これは .Nm ssh がまず始めにバージョン 2 がサポートされているかどうかを調べ、 サーバがそれをサポートしていなかった場合に バージョン 1 を使用することを指示しています (訳注: もしサーバ側がバージョン 2 の認証をサポートしていた場合、 バージョン 2 での認証に失敗すると ssh は そこで終了します。バージョン 1 の認証は *おこなわない* ため、 注意してください)。 .It Cm ProxyCommand (プロキシ コマンド) サーバに接続するのに使用するコマンドを指定します。 コマンド文字列はこのキーワード以後、行末まで書くことができます。 コマンド文字列は .Pa /bin/sh によって実行されます。 コマンド文字列では、 .Ql %h は接続するホスト名に置換され、 .Ql %p はポート番号に置換されます。 コマンドは基本的に何でもよいのですが、標準入力から読み込み、 標準出力に書き込むようなものである必要があります。 これは最終的にサーバマシン上で動いている .Xr sshd 8 に接続するか、どこか別の場所で .Ic sshd -i を起動させるようにします。 ホスト鍵の管理は接続されているホストの HostName を使っておこなわれます (デフォルトでは、これはユーザが タイプした名前になります)。 このコマンドを .Dq none に設定すると、このオプションは完全に使用禁止になります。 プロキシコマンドを使うと、 .Cm CheckHostIP (ホスト IP アドレスの検査) は使用できませんので注意してください。 .Pp .It Cm PubkeyAuthentication (公開鍵認証) 公開鍵認証をおこなうかどうかを指定します。 このキーワードの引数は .Dq yes か .Dq no のどちらかです。 デフォルトでは .Dq yes (公開鍵認証をおこなう) になっています。 このオプションはプロトコル バージョン 2 のみに適用されます。 .It Cm RemoteForward (リモート→ローカル転送) リモートマシン上の TCP/IP ポートを、安全な通信路を経由して ローカルマシン上から与えられた host:post に転送するよう指示します (訳注: -R オプションと同じ)。 最初の引数は転送するリモートホストのポートを、 2番目の引数には転送先を .Ar host:port の形で指定します。 IPv6 アドレスはこれとは別の .Ar host/port という形式で指定します。ポート転送は複数指定することができ、 コマンドラインから追加指定することもできます。 特権ポートを転送できるのはスーパユーザだけです。 .It Cm RhostsAuthentication (rhosts 認証) rhosts ベースの認証をおこなうかどうかを指定します。この宣言は クライアント側にのみ影響し、セキュリティ的にまったくなんの 効果もないことに注意してください。 ほとんどのサーバでは RhostsAuthentication は 安全でないという理由で許可されていません ( RhostsRSAAuthentication を参照のこと)。 この引数の値は .Dq yes または .Dq no です。 デフォルトでは .Dq no (rhosts 認証をおこなわない) になっています。 このオプションはプロトコル バージョン 1 のみに適用され、 この機能を使うためには .Nm ssh が setuid root されていて .Cm UsePrivilegedPort が .Dq yes に設定されている必要があります。 .It Cm RhostsRSAAuthentication (rhosts-RSA 認証) RSA ホスト認証を使った rhosts ベースの認証を試みるかどうかを 指定します。 この引数の値は .Dq yes または .Dq no です。 デフォルトの値は .Dq no (rhosts-RSA 認証をおこなわない) です。 このオプションはプロトコル バージョン 1 のみに適用され、 これを使うには .Nm ssh を setuid root にしておくことが必要です。 .It Cm RSAAuthentication (RSA 認証) RSA 認証を使うかどうかを指定します。 この引数の値は .Dq yes または .Dq no です。RSA 認証は identity ファイルが存在するときか、 認証エージェントが動いているときのみ使用されます。 デフォルトは .Dq yes (RSA 認証をおこなう) です。 このオプションは プロトコル バージョン 1 にしか適用されないので注意してください。 .It Cm SmartcardDevice (スマートカード・デバイス) 使用するスマートカードのデバイスを指定します。 この引数には .Nm ssh がスマートカードと通信するときに使うデバイスを指定します。 スマートカードはユーザの RSA 秘密鍵を格納するのに使われます。 デフォルトではデバイスは何も指定されておらず、スマートカードの使用は 有効になっていません。 .It Cm StrictHostKeyChecking (厳格なホスト鍵チェック) このオプションが .Dq yes に設定されている場合、 .Nm ssh は決して .Pa $HOME/.ssh/known_hosts ファイルに自動的にホスト認証鍵を追加しません。 鍵が変更されているホストへの接続は拒否されます。 これはトロイの木馬攻撃に対する最大の防御となりますが、 .Pa /etc/ssh/ssh_known_hosts ファイルをきちんと更新していなかったり、新規のホストに頻繁に 接続するような状況だと邪魔になるかもしれません。 このオプションを使うとユーザは手で新しいホストの鍵を 追加しなければならなくなります。 このオプションが .Dq no に設定されている場合、 .Nm ssh は新しいホスト鍵をユーザの known_hosts ファイルに 自動的に追加します。 このオプションが .Dq ask に設定されていると、 新しいホスト鍵が追加されるのは、ユーザが 本当にそれを望んでいると確認できたときだけになります。 ホスト鍵が変更されているホストへの接続は拒否されます。 known_hosts ファイルに含まれているホスト鍵は いかなる場合でも自動的に検査されます。 このオプションがとりうる値は .Dq yes , .Dq no あるいは .Dq ask で、デフォルトは .Dq ask です。 .It Cm UsePrivilegedPort (特権ポートを使用する) 外に向けての接続をおこなうときに、 特権ポートを使用するかどうかを指定します。この引数の値は .Dq yes または .Dq no で、デフォルトは .Dq no になっています。 .Dq yes に設定した場合、 .Nm ssh は setuid root である必要があります。 注意: 旧式の sshd に対して .Cm RhostsAuthentication あるいは .Cm RhostsRSAAuthentication の認証が必要な場合は、このオプションを .Dq yes にする必要があります。 .It Cm User (ユーザ) ログインするユーザ名を指定します。これは異なるマシン上で 異なるユーザ名が使われている場合に便利です。 これでコマンドラインからわざわざユーザ名を与えなくてもすみます。 .It Cm UserKnownHostsFile (個人用 known_hosts ファイル) ホスト鍵データベースとして .Pa $HOME/.ssh/known_hosts 以外のファイルを使うときに指定します。 .It Cm VersionAddendum (バージョンに付加するもの) OS もしくはサイトに特化した修正を示すために、通常のバージョン文字列に 付け加える文字列を指定します。 デフォルトは -.Dq FreeBSD-20030423 +.Dq FreeBSD-20030924 です。 .It Cm XAuthLocation (xauth の位置) .Xr xauth 1 プログラムのフルパス名を指定します。デフォルトは .Pa /usr/X11R6/bin/xauth です。 .El .Sh 関連ファイル .Bl -tag -width Ds .It Pa $HOME/.ssh/config ユーザごとの個人用設定ファイルです。 ファイル形式は上で説明されています。 このファイルは .Nm ssh クライアントによって使われます。 このファイルはふつう特に秘密の情報は含んでいませんが、 しかし望ましいパーミッションとしては、そのユーザからは 読み/書き可能で、他人からはアクセス不可能にしておくのがよいでしょう。 .It Pa /etc/ssh/ssh_config システム全体にわたる設定ファイルです。このファイルはユーザの設定 ファイルでは指定されなかった値を提供し、また設定ファイルを 持たないユーザのためのデフォルトにもなります。このファイルは 誰にでも読み込み可能でなければいけません。 .El .Sh 作者 OpenSSH は Tatu Ylonen による、フリーな オリジナル版 ssh 1.2.12 リリースから派生したものです。 Aaron Campbell、 Bob Beck、 Markus Friedl、 Niels Provos、 Theo de Raadt および Dug Song が多くのバグをとり除き、 新しい機能をふたたび追加して OpenSSH をつくりました。 SSH プロトコル バージョン 1.5 および 2.0 のサポートは Markus Friedl の貢献によるものです。 .Sh 日本語訳 新山 祐介 (yusuke @ cs . nyu . edu) 2003/4/17 (for 3.6.1p1) .Pp 当マニュアルページは氏のご好意により .Fx 日本語マニュアルに収録させていただいています。 翻訳についてのご意見、ご指摘がありましたら新山氏 (yusuke at cs . nyu . edu)、および .Fx jpman プロジェクト .Aq man-jp@jp.FreeBSD.org までお送りください。 .Sh 関連項目 .Xr ssh 1 diff --git a/ja_JP.eucJP/man/man5/sshd_config.5 b/ja_JP.eucJP/man/man5/sshd_config.5 index 9eaf23da59..a2f3503e27 100644 --- a/ja_JP.eucJP/man/man5/sshd_config.5 +++ b/ja_JP.eucJP/man/man5/sshd_config.5 @@ -1,821 +1,821 @@ .\" -*- nroff -*- .\" .\" Author: Tatu Ylonen .\" Copyright (c) 1995 Tatu Ylonen , Espoo, Finland .\" All rights reserved .\" .\" As far as I am concerned, the code I have written for this software .\" can be used freely for any purpose. Any derived versions of this .\" software must be clearly marked as such, and if the derived work is .\" incompatible with the protocol description in the RFC file, it must be .\" called by a name other than "ssh" or "Secure Shell". .\" .\" Copyright (c) 1999,2000 Markus Friedl. All rights reserved. .\" Copyright (c) 1999 Aaron Campbell. All rights reserved. .\" Copyright (c) 1999 Theo de Raadt. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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. .\" .\" $OpenBSD: sshd_config.5,v 1.15 2003/03/28 10:11:43 jmc Exp $ -.\" Japanese translation: $Id: sshd_config.5,v 1.5 2003-05-22 07:22:10 horikawa Exp $ +.\" Japanese translation: $Id: sshd_config.5,v 1.6 2003-10-13 02:42:26 horikawa Exp $ .\" by Yusuke Shinyama .\" -.\" %FreeBSD: src/crypto/openssh/sshd_config.5,v 1.11 2003/04/23 17:10:53 des Exp % +.\" %FreeBSD: src/crypto/openssh/sshd_config.5,v 1.12 2003/09/24 19:20:23 des Exp % .\" $FreeBSD$ .Dd September 25, 1999 .Dt SSHD_CONFIG 5 .Os .Sh 名称 .Nm sshd_config .Nd OpenSSH SSH デーモン 設定ファイル .Sh 書式 .Bl -tag -width Ds -compact .It Pa /etc/ssh/sshd_config .El .Sh 解説 .Nm sshd は .Pa /etc/ssh/sshd_config (あるいはコマンドラインから .Fl f オプションで指定したファイル) から設定を読み込みます。 このファイルの各行は ``キーワード 引数'' の形式になっており、 空行あるいは .Ql # で始まる行はコメントとみなされます。 .Pp 使用できるキーワードとその説明は以下の通りです (キーワードでは大文字小文字は区別されませんが、引数では区別されることに 注意してください): .Bl -tag -width Ds .It Cm AFSTokenPassing (AFS トークンパス) このオプションは AFS トークンがサーバに転送されるかどうか指定します。 デフォルトは .Dq no です。 .It Cm AllowGroups (許可するグループ) このキーワードにはいくつかのグループ名パターンをスペースで区切って 指定します。これが指定されると、ユーザの基本グループが そのパターンのどれかにマッチするグループであるようなユーザだけが ログインを許可されます。パターン中では .Ql \&* および .Ql \&? がワイルドカードとして使えます。有効なのはグループの「名前」だけで、 数字で表されたグループ ID は認識されません。デフォルトでは、 ログインはすべてのグループに許可されています。 .Pp .It Cm AllowTcpForwarding (TCP 転送の許可) TCP 転送を許可するかどうか指定します。デフォルトは .Dq yes です。TCP 転送を禁止しても、ユーザにシェルのアクセスを禁止しない かぎりセキュリティの向上にはならないことに注意してください。 なぜならユーザはいつでも自前の転送プログラムをインストールして 使うことができるからです。 .Pp .It Cm AllowUsers (許可するユーザ) このキーワードにはいくつかのユーザ名パターンをスペースで区切って 指定します。これが指定されると、そのパターンのどれかにマッチする ユーザだけがログインを許可されます。パターン中では .Ql \&* および .Ql \&? がワイルドカードとして使えます。有効なのはユーザの「名前」だけで、 数字で表されたユーザ ID は認識されません。デフォルトでは、 ログインはすべてのユーザに許可されています。 もしこのパターンが USER@HOST という形をとっている時は、 ユーザ名 USER と ホスト名 HOST を別々にチェックでき、 特定のホストからの特定のユーザのログインを制限することができます。 .Pp .It Cm AuthorizedKeysFile (authorized_keys ファイル) ユーザ認証のさいに使われる公開鍵を格納しているファイル名を 指定します。 .Cm AuthorizedKeysFile のファイル名中に %T が含まれている場合、その部分は接続の間 別のものに置換されます。%% は '%' 1 文字に置換されます。 %h は認証しようとしているユーザのホームディレクトリに置換され、 %u はそのユーザのユーザ名に置換されます。この後、 その絶対パスあるいはユーザのホームディレクトリからの相対パスが .Cm AuthorizedKeysFile に渡されます。デフォルトでの値は .Dq .ssh/authorized_keys となっています。 .It Cm Banner (バナー) 司法管区によっては、法的な保護を受けるためには 認証の前に警告メッセージを送ったほうがよい場合があります。 ここで指定されたファイルの内容は、認証が許可される前に リモートユーザに提示されます。 このオプションは プロトコル バージョン 2 でのみサポートされています。 デフォルトでは、バナーは表示されません。 .Pp .It Cm ChallengeResponseAuthentication (チャレンジ・レスポンス認証) チャレンジ・レスポンス認証を許可するかどうか指定します。 .Xr login.conf 5 に記されているすべての認証形式が使えます。 特に .Fx では、PAM .Xr ( pam 3 参照) を認証に使用するかを制御します。 これは、 .Cm PasswordAuthentication および .Cm PermitRootLogin 変数の効果に影響します。 デフォルトは .Dq yes です。 .It Cm Ciphers (SSH2の暗号化アルゴリズム) プロトコル バージョン 2 で許可される暗号化アルゴリズムを 指定します。複数のアルゴリズムを指定する場合は、 カンマで区切ってください。 デフォルトは .Pp .Bd -literal ``aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour, aes192-cbc,aes256-cbc'' .Ed です。 .It Cm ClientAliveInterval (クライアントの生存チェック間隔) .Nm sshd は一定時間ごとに、 暗号化された通信路を経由してクライアントに応答を要求するメッセージ (client alive message) を送ります。 その際、何もデータが送られてこなかったらタイムアウトする 時間を秒数で指定します。デフォルトの値は 0 で、 これはメッセージを送らないことを意味します。 このオプションは プロトコル バージョン 2 でのみサポートされています。 .It Cm ClientAliveCountMax (クライアントの生存チェック最大カウント数) .Nm sshd が無反応のクライアントに対して client alive message (上記参照) を送ってみる最大数を指定します。 client alive message に対する応答が連続してこの回数だけなかった場合、 .Nm sshd は接続を切り、セッションを終了します。 client alive message は、 .Cm KeepAlive (下記) とはまったく違うことに注意してください。 client alive message は暗号化された経路を介して送られるので、 偽造されることはありません。 .Cm KeepAlive によって設定される TCP の keepalive オプションは 偽造される可能性があります。client alive のメカニズムは クライアントあるいはサーバが、いつ接続が切れたのかを 知りたいときに役立ちます。 .Pp デフォルトの値は 3 です。もし .Cm ClientAliveInterval (上記) が 15 に設定され、 .Cm ClientAliveCountMax がデフォルトのままである場合、これに反応できない ssh クライアントは およそ 45 秒後に接続が切られます。 .It Cm Compression 圧縮を許可するかどうかを指定します。 この引数がとりうる値は .Dq yes または .Dq no です。デフォルトでは .Dq yes (圧縮を許可する) になっています。 .It Cm DenyGroups (拒否するグループ) このキーワードにはいくつかのグループ名パターンをスペースで区切って指定します。 ユーザの基本グループがこのパターンのどれかに マッチするユーザはログインを禁止されます。パターン中では .Ql \&* および .Ql \&? がワイルドカードとして使えます。有効なのは グループの「名前」だけで、数字で表されたグループ ID は 認識されません。デフォルトでは、 ログインはすべてのグループに許可されています。 .Pp .It Cm DenyUsers (拒否するユーザ) このキーワードにはいくつかのユーザ名パターンをスペースで区切って 指定します。これが指定されると、 このパターンのどれかにマッチするユーザはログインを禁止されます。 .Ql \&* および .Ql \&? がワイルドカードとして使えます。 有効なのはグループの「名前」だけで、数字で表されたグループ ID は 認識されません。デフォルトでは、ログインはすべてのユーザに許可されています。 もしこのパターンが USER@HOST という形をとっている時は、 ユーザ名 USER と ホスト名 HOST を別々にチェックでき、 特定のホストからの特定のユーザのログインを制限することができます。 .It Cm GatewayPorts (ポート中継の許可) リモートホストがクライアント側に転送されたポートに接続することを 許可するかどうか指定します。デフォルトでは、 .Nm sshd はリモート転送ポートをループバックアドレスに bind します。 これは他のリモートホストが、転送されたポートに接続してしまうのを 防いでいます。 .Cm GatewayPorts は .Nm sshd にリモート転送ポートをワイルドカードアドレスに bind させるときに使います。 これによってリモートホストが転送されたポートに接続できるようになります。 この引数の値は .Dq yes あるいは .Dq no です。デフォルトは .Dq no になっています。 .It Cm HostbasedAuthentication (ホストベース認証の許可) 公開鍵ホスト認証が成功したときに、 rhosts あるいは /etc/hosts.equiv 認証を許可するかどうか 指定します (ホストベース認証)。 このオプションは .Cm RhostsRSAAuthentication (RhostsRSA 認証の許可) に似ており、プロトコル バージョン 2 のみに作用します。 デフォルトの値は .Dq no になっています。 .It Cm HostKey (ホスト鍵) SSH で使われる、ホスト秘密鍵が格納されているファイルを指定します。 デフォルトでは、プロトコル バージョン 1 用の鍵が .Pa /etc/ssh/ssh_host_key であり、プロトコル バージョン 2 用の鍵が .Pa /etc/ssh/ssh_host_dsa_key です。 このファイルがグループあるいは他人からアクセス可能になっていると、 .Nm sshd はその使用を拒絶するので注意してください。 複数のホスト鍵を使うことも可能です。 .Dq rsa1 鍵はバージョン 1 に使われ、 .Dq dsa または .Dq rsa はバージョン 2 の SSH プロトコルに使われます。 .It Cm IgnoreRhosts (rhosts の無視) .Cm RhostsAuthentication , .Cm RhostsRSAAuthentication または .Cm HostbasedAuthentication の各認証で、 .Pa .rhosts および .Pa .shosts ファイルを使わないようにします。 .Pp この状態でも、 .Pa /etc/hosts.equiv および .Pa /etc/ssh/shosts.equiv は依然として有効です。デフォルトでは .Dq yes になっています。 .It Cm IgnoreUserKnownHosts (ユーザ用 known_hosts の無視) .Cm RhostsRSAAuthentication または .Cm HostbasedAuthentication の各認証で、ユーザの .Pa $HOME/.ssh/known_hosts ファイルを使わないようにします。 デフォルトは .Dq no です。 .It Cm KeepAlive (接続を生かしておく) システムが相手のマシンに TCP keepalive メッセージを送るかどうか 指定します。これが送られると、接続の異常終了や相手マシンの クラッシュが正しく通知されるようになります。 しかしこれを使うと、たとえ経路が一時的にダウンしていても 接続が死んでいるということになってしまい、これが邪魔になる場合もあります。 その一方で、もし keepalive が送られないとすると、セッションは サーバ上で永久に残ってしまことがあり、 .Dq 幽霊 ユーザを居座らせてサーバ資源を消費することがあります。 .Pp デフォルトは .Dq yes (keepalive を送る) です。そのため クライアントはネットワークがダウンするか、 リモートホストがクラッシュすると通知してきます。 これは永久に残るセッションを防ぎます。 .Pp Keepalive を禁止するには、この値を .Dq no にする必要があります。 .It Cm KerberosAuthentication (Kerberos 認証) Kerberos 認証をおこなうかどうか指定します。 この認証は Kerberos チケットか、あるいはもし .Cm PasswordAuthentication が yes になっている場合なら、ユーザが入力して Kerberos KDC 経由で批准されたパスワードが使われます。 このオプションを使うには、サーバに KDC のアイデンティティを 批准するための Kerberos servtab が必要です。 デフォルトでは .Dq no になっています。 .It Cm KerberosOrLocalPasswd (Kerberos あるいはローカルパスワード) これが指定されている場合、Kerberos 経由のパスワード認証が 失敗すると、そのパスワードは .Pa /etc/passwd などの別のローカルな機構によって確認されます。デフォルトは .Dq yes です。 .It Cm KerberosTgtPassing (Kerberos TGT パス) Kerberos TGT をサーバに転送してもよいかどうか指定します。デフォルトは .Dq no です。なぜなら、これがまともに動くのは Kerberos KDC が 実際の AFS kaserver であるときだけだからです。 .It Cm KerberosTicketCleanup (Kerberos チケット自動除去) ユーザのチケット用キャッシュをログアウト時に自動的に消去するかどうか 指定します。デフォルトは .Dq yes です。 .It Cm KeyRegenerationInterval (鍵の再生成間隔) プロトコル バージョン 1 では、サーバ鍵は (一度でも使われると) ここで 指定された間隔ごとに自動的に再生成されます。このように鍵を再生成する 目的は、あとでそのマシンに侵入して盗聴したセッションを解読されたり、 鍵を盗まれたりするのを防ぐためです。この鍵はどこにも格納されません。 値として 0 を指定すると、鍵はまったく再生成されなくなります。 デフォルトでは 3600 (秒) になっています。 .It Cm ListenAddress (接続受付アドレス) .Nm sshd が接続を受けつける (listen する) ローカルアドレスを指定します。 ここでは以下の形式が使えます: .Pp .Bl -item -offset indent -compact .It .Cm ListenAddress .Sm off .Ar host No | Ar IPv4_addr No | Ar IPv6_addr .Sm on .It .Cm ListenAddress .Sm off .Ar host No | Ar IPv4_addr No : Ar port .Sm on .It .Cm ListenAddress .Sm off .Oo .Ar host No | Ar IPv6_addr Oc : Ar port .Sm on .El .Pp .Ar port が指定されていないときは、 .Nm sshd はそのアドレスで、それまでの .Cm Port オプションで指定されたすべてのポートで接続を受けつけます。 デフォルトではすべてのローカルアドレスに対して 接続を受けつけるようになっています。 .Cm ListenAddress 項目は複数指定してもかまいません。また .Cm Port オプションは、ポートつきでないアドレス指定に対しては このオプションよりも前に指定しておく必要があります。 .It Cm LoginGraceTime (ログイン猶予時間) ユーザがここで指定された時間内にログインできないと、 サーバは接続を切ります。この値を 0 にすると、時間制限はなくなります。 デフォルトの値は 120 (秒) です。 .It Cm LogLevel (ログレベル) .Nm sshd が出力するログメッセージの冗長性レベルを指定します。 とりうる値は次のとおりです: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 および DEBUG3。 デフォルトでは INFO です。DEBUG と DEBUG1 は等価です。 DEBUG2, DEBUG3 はそれぞれさらに冗長なログになります。 DEBUG レベル以上のログはユーザのプライバシを侵害するので、 勧められるものではありません。 .It Cm MACs (メッセージ認証コード) 使用する MAC (メッセージ認証コード) アルゴリズムの優先順位を指定します。 MAC アルゴリズムはプロトコル バージョン 2 で使われる、 データの改竄を防ぐ機構 (data integrity protection) です。 複数のアルゴリズムをカンマで区切って指定します。 デフォルトは .Dq hmac-md5,hmac-sha1,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 の順になっています。 .It Cm MaxStartups (最大起動数) 認証されていない段階の接続を .Nm sshd デーモンが最大でどれだけ受けつけるかを指定します。 この値を超えた (認証されていない段階の) 接続は捨てられます。 この状態は (すでに接続したクライアントの) 認証が成功するか、その .Cm LoginGraceTime (ログイン猶予時間) が切れるまで続きます。 デフォルトではこの数は 10 です。 .Pp もうひとつの方法は、早いうちからランダムに接続を拒否するよう 指定することです。これはこのオプションにコロンで区切った 3つの値を 与えることによりおこないます。この値は .Dq start:rate:full (``開始時:確率:最大数'') の形をとります (例: "10:30:60" など)。 .Nm sshd は認証されていない段階の接続が .Dq start (この例では 10) 個を超えると、これ以後の接続要求を .Dq rate/100 (この例では 30%) の確率で拒否しはじめます。この確率は .Dq full (この例では 60) 個の接続が来るまで線形に増えつづけ、 最大数に達した時点でそれ以降すべての接続を拒否するようになります。 .Cm PasswordAuthentication (パスワード認証) が禁止されているかどうかにかかわらず、 パスワード認証も許可されます。 デフォルトでは .Dq no になっています。 .It Cm PasswordAuthentication (パスワード認証) パスワード認証を許可するかどうか指定します。デフォルトでは .Dq yes になっています。 .Cm ChallengeResponseAuthentication が .Dq yes であり、 .Nm sshd の PAM 認証ポリシに .Xr pam_unix 8 が含まれる場合、 .Cm PasswordAuthentication の値に関係なく、チャレンジ・レスポンス機構によるパスワード認証が許可されます。 .It Cm PermitEmptyPasswords (空のパスワードを許可) パスワード認証が許可されているとき、パスワード文字列が空の アカウントに対してサーバがログインを許可するかどうか指定します。 デフォルトは .Dq no です。 .It Cm PermitRootLogin (root ログイン許可) .Xr ssh 1 を使って、root がログインできるかどうか指定します。この引数の値は .Dq yes , .Dq without-password (パスワード認証なし)、 .Dq forced-commands-only (強制コマンドのみ)、あるいは .Dq no のいずれかです。 デフォルトは .Dq no です。 .Cm ChallengeResponseAuthentication が .Dq yes の場合、 .Cm PermitRootLogin が .Dq without-password に設定されていたとしても、root ユーザはそのパスワードで許可されます。 このオプションを .Dq without-password にすると、root だけパスワード認証ではログインできなくなります。 .Pp このオプションを .Dq forced-commands-only にすると、root は公開鍵認証を使ってログインできますが、その鍵に .Ar command オプションが指定されている場合にかぎります (これは通常の root ログインを許可していなくても、 リモートバックアップをとりたいときなどに有用です)。 root に対してはこれ以外の認証方法はすべて禁止になります。 .Pp このオプションを .Dq no にすると、root のログインは許可されません。 .It Cm PermitUserEnvironment (ユーザの環境変数変更を許可する) .Nm sshd が .Pa ~/.ssh/environment ファイルおよび .Pa ~/.ssh/authorized_keys における .Cm environment= オプションを処理すべきかどうかを指定します。 デフォルトでは .Dq no です。 環境変数の変更は、ユーザに .Ev LD_PRELOAD などの設定を使った ある種のアクセス制限を回避させてしまう可能性があります。 .It Cm PidFile (pid ファイル) .Nm sshd デーモンのプロセス ID を格納するファイルを指定します。 デフォルトでは .Pa /var/run/sshd.pid になっています。 .It Cm Port (ポート番号) .Nm sshd が接続を受けつける (listen する) ポート番号を指定します。 デフォルトは 22 です。複数指定することも可能です。 .Cm ListenAddress の項も参照してください。 .It Cm PrintLastLog (LastLog の表示) ユーザが対話的にログインしたとき、 そのユーザが前回ログインした日付と時刻を表示するかどうか指定します。 デフォルトでは .Dq yes になっています。 .It Cm PrintMotd (motd の表示) ユーザが対話的にログインしたとき、 .Pa /etc/motd (今日のお知らせ) ファイルの内容を表示するかどうか指定します。 (システムによっては、これはシェルや .Pa /etc/profile に相当するものが表示します)。デフォルトは .Dq yes です。 .It Cm Protocol (プロトコル) サポートするプロトコルのバージョンを指定します。 とりうる値は .Dq 1 と .Dq 2 です。複数のバージョンをカンマで区切って指定することもできます。 デフォルトは .Dq 2,1 です。 ここでのプロトコルの順番は、優先度を指定するものではないことに 注意してください。なぜなら複数のプロトコルがサーバで使用可能な場合、 選択するのはクライアント側だからです。よって .Dq 2,1 という指定は、 .Dq 1,2 と同じです。 .It Cm PubkeyAuthentication (公開鍵認証) 公開鍵認証を許可するかどうか指定します。 デフォルトは .Dq yes です。 このオプションは プロトコル バージョン 2 にのみ適用されることに 注意してください。 .It Cm RhostsAuthentication (rhosts 認証) rhosts や .Pa /etc/hosts.equiv だけを使った認証でログインを許可して しまってもよいかどうか指定します。 これは安全でないため、ふつうは許可すべきではありません。 かわりに .Cm RhostsRSAAuthentication (rhosts-RSA 認証) を使うべきです。こちらは通常の rhosts や .Pa /etc/hosts.equiv 認証に加えて、RSA ベースのホスト間認証をおこないます。 デフォルトは .Dq no です。 このオプションはプロトコル バージョン 1 にのみ 適用されることに注意してください。 .It Cm RhostsRSAAuthentication (rhosts-RSA 認証) RSA ホスト間認証が成功しているとき、rhosts や .Pa /etc/hosts.equiv を使った認証をおこなってよいかどうか指定します。デフォルトは .Dq no です。 このオプションはプロトコル バージョン 1 にのみ 適用されることに注意してください。 .It Cm RSAAuthentication (RSA 認証) 純粋な RSA 認証を許可するかどうかを指定します。デフォルトは .Dq yes になっています。このオプションはプロトコル バージョン 1 にのみ 適用されることに注意してください。 .It Cm ServerKeyBits (サーバ鍵のビット数) プロトコル バージョン 1 で短期的に使われるサーバ鍵の ビット数を指定します。 最小値は 512 で、デフォルトは 768 です。 .It Cm StrictModes (厳格なモード) .Nm sshd がログインを許可する前に、ユーザのファイルおよび ホームディレクトリの所有権とパーミッションをチェックすべきか どうかを指定します。これはふつう初心者が、しばしば自分の ディレクトリを誰でも書き込めるようにしてしまう事故を防ぐために 有効です。デフォルトでは .Dq yes になっています。 .It Cm Subsystem (サブシステム) 外部サブシステム (ファイル転送デーモンなど) を設定します。 このオプションへの引数にはサブシステム名と、そのサブシステムに 要求があったとき実行されるコマンドを与えます。 .Xr sftp-server 8 はファイル転送サブシステム .Dq sftp を実装したものです。デフォルトではサブシステムは 何も定義されていません。このオプションは プロトコル バージョン 2 にのみ適用されることに注意してください。 .It Cm SyslogFacility (syslog 分類コード) .Nm sshd が出力するログメッセージで使われるログの分類コード (facility) を指定します。とりうる値は次のとおりです: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7。デフォルトは AUTH です。 .It Cm UseLogin (login の使用) 対話的ログインセッションのさい、 .Xr login 1 プログラムを使うかどうかを指定します。 デフォルトでは .Dq no になっています。 対話的でないリモートコマンド実行のときに .Xr login 1 が使われることは決してありません。また、これが許可されていると .Cm X11Forwarding (X11 転送) は許可されなくなるということに注意してください。 なぜなら、 .Xr login 1 は .Xr xauth 1 クッキーの扱いを知らないからです。 .Cm UsePrivilegeSeparation が指定されている場合は、認証のあとで禁止されます。 .It Cm UsePrivilegeSeparation (root 権限を分離) .Nm sshd が、受けつけるネットワークトラフィックを処理するために root 権限を分離するかどうかを指定します。 これは root 権限をもたない子プロセスをつくることによって おこなわれます。認証が成功すると、そのユーザの権限をもつ 別のプロセスが新たに作られます。これの目的は、まずそうな部分を root 権限をもたないプロセスのみに限定することによって、 root 権限による被害の拡大を防ぐためです。 デフォルトでは .Dq yes (root権限を分離する) になっています。 .It Cm VerifyReverseMapping (逆引きチェック) このオプションを .Dq yes にすると、 .Nm はリモートホスト名を逆引きしたあとにそのホスト名を解決 (resolve) しなおして、 本当に同じ IP アドレスになっているかどうかを検証します。 デフォルトは .Dq no です。 .It Cm VersionAddendum (バージョンに付加するもの) OS もしくはサイトに特化した修正を示すために、通常のバージョン文字列に 付け加える文字列を指定します。 デフォルトは -.Dq FreeBSD-20030423 +.Dq FreeBSD-20030924 です。 .It Cm X11DisplayOffset (X11 ディスプレイ番号のオフセット値) .Nm sshd が X11 転送をするときに最初に使われるディスプレイ番号を指定します。 これは .Nm sshd が X11 転送で使うディスプレイ番号が、 本物の X サーバのディスプレイ番号と衝突してしまうのを防ぐためです。 デフォルトの値は 10 です。 .It Cm X11Forwarding (X11 転送) X11 転送を許可するかどうかを指定します。 この引数の値は .Dq yes あるいは .Dq no で、デフォルトは .Dq yes です。 .Pp X11 転送が許可されており、転送された .Nm sshd のディスプレイが任意のアドレス (下の .Cm X11UseLocalhost 参照) からの接続を受けつけるように設定されていると、 サーバやクライアントのディスプレイは余計な危険に さらされることになります。なので、デフォルトではそうなっていません。 また、認証におけるなりすまし、認証データの確認や差し替えなどが クライアント側で起こります。X11 転送を使うセキュリティ上のリスクは、 ssh クライアントが転送を要求したときに、クライアント上の X11 サーバが 攻撃にさらされるかもしれないということです ( .Xr ssh_config 5 の .Cm ForwardX11 注意書きを参照)。 システム管理者はクライアントがうっかり X11 を転送して、 余計な危険性を増すことのないように、これをかならず .Dq no に設定させるような立場をとることもできます。 .Pp 注意: X11 転送機能を禁止しても、ユーザが X11 の通信を転送できなくなる というわけではありません。なぜならユーザはいつでも自前の転送プログラムを インストールして使うことができるからです。 .Cm UseLogin が許可されていると、X11 転送は自動的に禁止されます。 .It Cm X11UseLocalhost (X11 で localhost のみを許可) .Nm sshd が転送された X11 サーバをループバックアドレス (localhost) に bind するかどうかを指定します。デフォルトでは、 .Nm sshd は転送された X11 をループバックアドレスに bind し、環境変数 .Ev DISPLAY のホスト名の部分を .Dq localhost に設定します。 こうすると、(訳注: SSHサーバ以外の) リモートホストから 転送された Xサーバに接続することはできなくなります。 しかし、ふるい X11 クライアントだと、 この設定では動作しないことがあります。 そのようなときは .Cm X11UseLocalhost を .Dq no に設定して、転送された X サーバがワイルドカードアドレスに bind されるようにできます。 このオプションの引数は .Dq yes あるいは .Dq no です。デフォルトでは、これは .Dq yes (localhost にしか bind しない) になっています。 .It Cm XAuthLocation (xauth の位置) .Xr xauth 1 プログラムのフルパス名を指定します。デフォルトでは .Pa /usr/X11R6/bin/xauth になっています。 .El .Ss 時間の表現 .Pp .Nm sshd のコマンドライン引数や設定ファイルオプションで 時間を指定する場合、次の構文を並べた書式を使うことができます: .Sm off .Ar time Op Ar qualifier .Sm on .Pp ここで .Ar time は正の整数であり、 .Ar qualifier は次のうちのどれかです: .Pp .Bl -tag -width Ds -compact -offset indent .It Cm <なし> seconds (秒) .It Cm s | Cm S seconds (秒) .It Cm m | Cm M minutes (分) .It Cm h | Cm H hours (時間) .It Cm d | Cm D days (日) .It Cm w | Cm W weeks (週) .El .Pp これらの形式を組み合わせることもでき、 その場合は各形式の時間が合計されます。 .Pp 時間表現の例: .Pp .Bl -tag -width Ds -compact -offset indent .It 600 600 秒 (10 分) .It 10m 10 分 .It 1h30m 1 時間 30 分 (90 分) .El .Sh 関連ファイル .Bl -tag -width Ds .It Pa /etc/ssh/sshd_config .Nm sshd の設定ファイルです。このファイルに書き込めるのは root だけでなくてはいけませんが、読むのは誰でもできるように しておいたほうがよいでしょう (必須ではありませんが)。 .El .Sh 作者 OpenSSH は Tatu Ylonen による、フリーな オリジナル版 ssh 1.2.12 リリースから派生したものです。 Aaron Campbell、 Bob Beck、 Markus Friedl、 Niels Provos、 Theo de Raadt および Dug Song が多くのバグをとり除き、 新しい機能をふたたび追加して OpenSSH をつくりました。 SSH プロトコル バージョン 1.5 および 2.0 のサポートは Markus Friedl の貢献によるものです。 Niels Provos および Markus Friedl が root特権分離のサポートに 貢献しました。 .Sh 日本語訳 新山 祐介 (yusuke @ cs . nyu . edu) 2003/4/17 (for 3.6.1p1) .Pp 当マニュアルページは氏のご好意により .Fx 日本語マニュアルに収録させていただいています。 翻訳についてのご意見、ご指摘がありましたら新山氏 (yusuke at cs . nyu . edu)、および .Fx jpman プロジェクト .Aq man-jp@jp.FreeBSD.org までお送りください。 .Sh 関連項目 .Xr sshd 8 diff --git a/ja_JP.eucJP/man/man5/stab.5 b/ja_JP.eucJP/man/man5/stab.5 index b7339dce25..adfef48ad8 100644 --- a/ja_JP.eucJP/man/man5/stab.5 +++ b/ja_JP.eucJP/man/man5/stab.5 @@ -1,225 +1,225 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)stab.5 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man5/stab.5,v 1.9 2001/10/01 16:09:23 ru Exp % +.\" %FreeBSD: src/share/man/man5/stab.5,v 1.10 2003/09/08 19:57:20 ru Exp % .\" .\" $FreeBSD$ .\" WORD: symbol table シンボルテーブル .\" WORD: directive ディレクティブ(命令、指令の類) .\" .Dd June 5, 1993 .Dt STAB 5 .Os .Sh 名称 .Nm stab .Nd シンボルテーブルの型 .Sh 書式 .In stab.h .Sh 解説 -.Aq Pa stab.h +.In stab.h ファイルは a.out ファイルで使われる、シンボルテーブルのいくつかの .Fa n_type フィールド値の定義します。 これらは、恒久的なシンボル形式であり (つまり、ローカルなラベルなどではない)、古いデバッガである .Em sdb や Berkeley パスカルコンパイラ .Xr pc 1 で使われます。 .\" (訳注) BerkeleyパスカルコンパイラはFreeBSDディストリビューション .\" に含まれない。 .\" 1998/05/05 Takeshi MUTOH シンボルテーブルエントリは .Pa .stabs アセンブラディレクティブによって生成することができます。 ここでは、ダブルクォートで区切られた名前、シンボルの型、シンボルに ついての char 1 つと short 1 つ分の情報、 そして (通常はアドレスを示す) unsigned long の整数を指定できます。 アドレスフィールドに明示的なラベルを生成するのを避けるため、 .Pa .stabd ディレクティブを使い、現在の場所を指すようにすることができます。 もし名前が必要ない場合、 .Pa .stabn ディレクティブを使うことで、シンボルテーブルエントリを生成することができます。 ローダは、 .Pa .stab ディレクティブによって生成されたシンボルテーブルのエントリ順を変えないこと を保証します。 .Xr a.out 5 に記述されているように、シンボルテーブルの要素は以下の構造を持ちます。 .Bd -literal /* * シンボルテーブルエントリの書式 */ struct nlist { union { char *n_name; /* コア内部 (in-core) で使用 */ long n_strx; /* ファイル文字列表へのインデックス */ } n_un; unsigned char n_type; /* 型のフラグ */ char n_other; /* 使用されていない */ short n_desc; /* 以下の struct desc 参照 */ unsigned n_value; /* アドレスまたはオフセットまたは行 */ }; .Ed .Pp .Fa n_type フィールドの下位ビットは、シンボルをたかだか 1 つのセグメントに置くため に使用します。どのセグメントに置くかは -.Aq Pa a.out.h +.In a.out.h 内で定義されている以下のマスクに基づきます。 これらのセグメントビットを設定しないようにすることで、シンボルをどの セグメントにも属さないようにすることができます。 .Bd -literal /* * n_type の単純な値 */ #define N_UNDF 0x0 /* 定義されていない */ #define N_ABS 0x2 /* 絶対指定 */ #define N_TEXT 0x4 /* テキスト */ #define N_DATA 0x6 /* データ */ #define N_BSS 0x8 /* bss */ #define N_EXT 01 /* 外部参照を表すビット(or して使う) */ .Ed .Pp シンボルの .Fa n_value フィールドは、リンカ .Xr ld 1 によって、正しいセグメント内のアドレスに再配置されます。 どのセグメントにも入っていないシンボルの .Fa n_value フィールドは、リンカによって変更されません。 さらに、 .Fa n_type フィールドで、以下のビットのいずれもセットされていない場合は、 リンカは自分が持っている規則にしたがって、 いくつかのシンボルを破棄します。 .Bd -literal /* * その他の永続的なシンボルテーブルエントリでは、N_STAB のいくつかのビットが * セットされています。これらは、 内に記述があります。 */ #define N_STAB 0xe0 /* もしこれらのビットのいずれかがセットされていれば破棄されません */ .Ed .Pp これで、112 (7 \(** 16) 個までのシンボルを、さまざまなセグメントで分けて 定義できるようになります。 これらのいくつかについては既に述べられています。 古いシンボリックデバッガ .Em sdb は、以下の n_type 値を使います。 .Bd -literal #define N_GSYM 0x20 /* グローバルシンボル : name,,0,type,0 */ #define N_FNAME 0x22 /* 手続き名 (f77 kludge): name,,0 */ #define N_FUN 0x24 /* 手続き: name,,0,linenumber,address */ #define N_STSYM 0x26 /* 静的シンボル: name,,0,type,address */ #define N_LCSYM 0x28 /* .lcomm シンボルl: name,,0,type,address */ #define N_RSYM 0x40 /* レジスタシンボル: name,,0,type,register */ #define N_SLINE 0x44 /* ソース行: 0,,0,linenumber,address */ #define N_SSYM 0x60 /* structure elt: name,,0,type,struct_offset */ #define N_SO 0x64 /* ソースファイル名: name,,0,0,address */ #define N_LSYM 0x80 /* ローカルシンボル: name,,0,type,offset */ #define N_SOL 0x84 /* #includeされたファイル名: name,,0,0,address */ #define N_PSYM 0xa0 /* パラメータ: name,,0,type,offset */ #define N_ENTRY 0xa4 /* 別のエントリ: name,linenumber,address */ #define N_LBRAC 0xc0 /* 左かっこ: 0,,0,nesting level,address */ #define N_RBRAC 0xe0 /* 右かっこ: 0,,0,nesting level,address */ #define N_BCOMM 0xe2 /* 共通の開始符号: name,, */ #define N_ECOMM 0xe4 /* 共通の終了符号: name,, */ #define N_ECOML 0xe8 /* (ローカル名の)共通の終了符号: ,,address */ #define N_LENG 0xfe /* 長さ情報を持った2番目の stab エントリ */ .Ed .Pp ここで、コメントには 与えられた .Fa n_type の .Fa n_name , .Fa n_other , .Fa n_desc , .Fa n_value フィールド と .Pa .stab .Fa s の典型的な利用法が書かれています。 .Em sdb は、ポータブル C コンパイラ .Xr cc 1 によって使われる形式の型の指定子を持っている .Fa n_desc フィールドを使います。これらの型の値のフォーマットの詳細はヘッダファイル .Pa pcc.h を参照して下さい。 .Pp Berkeley パスカルコンパイラ .Xr pc 1 は、以下の .Fa n_type 値をつかいます: .Bd -literal #define N_PC 0x30 /* グローバルなパスカルシンボル: name,,0,subtype,line */ .Ed .Pp と、以下のサブ型を使い、別々のコンパイルファイルにまたがる型チェックを 行います。 .Bd -unfilled -offset indent 1 ソースファイル名 2 インクルードされたファイル名 3 グローバルなラベル 4 グローバルな定数 5 グローバルな型 6 グローバルな変数 7 グローバルな関数 8 グローバルな手続き 9 外部関数 10 外部手続き 11 ライブラリ変数 12 ライブラリルーチン .Ed .Sh 関連項目 .Xr as 1 , .Xr ld 1 , .Xr a.out 5 .Sh バグ もっと基本的な形式が必要でしょう。 .Sh 歴史 .Nm ファイルは .Bx 4.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man5/utmp.5 b/ja_JP.eucJP/man/man5/utmp.5 index 6f03fc7ae3..5ca4cad75e 100644 --- a/ja_JP.eucJP/man/man5/utmp.5 +++ b/ja_JP.eucJP/man/man5/utmp.5 @@ -1,257 +1,257 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)utmp.5 8.2 (Berkeley) 3/17/94 -.\" %FreeBSD: src/share/man/man5/utmp.5,v 1.20 2003/07/08 12:46:25 dannyboy Exp % +.\" %FreeBSD: src/share/man/man5/utmp.5,v 1.21 2003/09/08 19:57:20 ru Exp % .\" .\" $FreeBSD$ .Dd November 14, 2001 .Dt UTMP 5 .Os .Sh 名称 .Nm utmp , .Nm wtmp , .Nm lastlog .Nd ログイン記録 .Sh 書式 .In sys/types.h .In utmp.h .Sh 解説 -.Aq Pa utmp.h +.In utmp.h ファイルは、 .Nm ファイルでの現在のユーザについての情報や .Nm wtmp ファイル中でのログインやログアウトの情報、 .Nm lastlog ファイル中での最終ログイン情報の記録のために使われる構造体を 宣言しています。 時刻の変更やシャットダウンおよびリブートのタイムスタンプは、同じように .Nm wtmp ファイルに記録されます。 .Bd -literal -offset indent #define _PATH_UTMP "/var/run/utmp" #define _PATH_WTMP "/var/log/wtmp" #define _PATH_LASTLOG "/var/log/lastlog" #define UT_NAMESIZE 16 #define UT_LINESIZE 8 #define UT_HOSTSIZE 16 struct lastlog { int32_t ll_time; /* ユーザが何時ログインしたか */ char ll_line[UT_LINESIZE]; /* 端末線名 */ char ll_host[UT_HOSTSIZE]; /* ユーザの出身ホスト */ }; struct utmp { char ut_line[UT_LINESIZE]; /* 端末線名 */ char ut_name[UT_NAMESIZE]; /* ユーザのログイン名 */ char ut_host[UT_HOSTSIZE]; /* ユーザの出身ホスト */ int32_t ut_time; /* ユーザが何時ログインしたか */ }; .Ed .Pp .Nm lastlog ファイルは、 .Vt lastlog 構造体の線型配列であり、ユーザの .Tn UID でインデックスされています。 .Nm ファイルは、 .Vt utmp 構造体の線型配列であり、端末線番号 ( .Xr ttyslot 3 参照) でインデックスされています。 .Nm wtmp ファイルは、 .Vt utmp 構造体から成るバイナリログファイルであり、 ファイルの終端に追記されていきます。 .Pp デフォルトでは、ユーザがログインするたびに、 .Xr pam_lastlog 8 プログラムは .Nm lastlog ファイル中のユーザの .Tn UID を検索します。 もし見つかった場合、ユーザが最後にログインした時刻のタイムスタンプ、 端末線、ホスト名が標準出力に書き出されます。 .Xr pam_lastlog 8 プログラムは、その後 .Nm lastlog ファイルに新しいログイン時刻を記録します。 .Pp 新しい .Vt lastlog への記録が書き出された後で、 .\" the .\" .Xr libutil 3 .\" routine .Nm ファイルがオープンされ、ユーザに対する .Vt utmp 記録が挿入されます。 この記録は、ユーザがログアウトして削除される時まで保持されます。 .Nm ファイルは、 .Xr rwho 1 , .Xr users 1 , .Xr w 1 , .Xr who 1 プログラムで使われます。 .Pp 次に、 .Xr pam_lastlog 8 プログラムは .Nm wtmp ファイルをオープンし、ユーザの .Vt utmp 記録を追加します。 その後ユーザが端末線からログアウントすると、特別な .Vt utmp レコードが記録されます。 すなわち .Va ut_line が適切に設定され、 .Va ut_time が更新されますが、 .Va ut_name と .Va ut_host は空であるものが記録されます ( .Xr init 8 参照)。 .Nm wtmp ファイルは、 .Xr last 1 と .Xr ac 8 プログラムで使われます。 .Pp 時刻変更やシャットダウン・リブートの際には、 以下の項目が .Nm wtmp ファイルに記録されます。 .Pp .Bl -tag -width ".Li shutdown" -compact .It Li reboot .It Li shutdown システムのリブートやシャットダウンが開始された。 .Va ut_line フィールドに .Ql \&~ と言う文字が、 .Va ut_name フィールド中に .Li reboot もしくは .Li shutdown が記録されます ( .Xr shutdown 8 と .Xr reboot 8 参照)。 .Pp .It Li date システム時刻が手動もしくは自動で更新された ( .Xr date 1 参照)。 コマンド名 .Li date がフィールド .Va ut_name に記録されます。 .Fa ut_line フィールド中の .Ql \&| 文字は、変更前の時刻を示し、 .Ql \&{ 文字は新しい時刻を示しています。 .El .Sh 注 .Nm wtmp ファイルは、忙しいシステムでは急速に大きくなりますので、 毎日もしくは毎週ローテションすることを推奨します。 このファイルは、 .Xr newsyslog 8 によって管理されます。 .Pp これらのファイルが存在しない場合、 .Xr pam_lastlog 8 はこれらを作成しません。 これらのファイルは、手動で作成する必要があります。 .Pp .Nm および .Nm wtmp のファイルに対する通常の操作は、提供された .Xr login 3 , .Xr logout 3 , .Xr logwtmp 3 ユーティリティ関数で行い、 これらのファイルの書式が異なるシステム間での互換性を維持すべきです。 .Sh 関連ファイル .Bl -tag -width ".Pa /var/log/lastlog" -compact .It Pa /var/run/utmp .Nm ファイル。 .It Pa /var/log/wtmp .Nm wtmp ファイル。 .It Pa /var/log/lastlog .Nm lastlog ファイル。 .El .Sh 関連項目 .Xr last 1 , .Xr w 1 , .Xr who 1 , .Xr login 3 , .Xr logout 3 , .Xr logwtmp 3 , .Xr ttyslot 3 , .Xr ac 8 , .Xr init 8 , .Xr pam_lastlog 8 .Sh 歴史 .Nm と .Nm wtmp ファイル書式は .At v6 から登場しました。 .Nm lastlog ファイル書式は .Bx 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man7/groff_mdoc.7 b/ja_JP.eucJP/man/man7/groff_mdoc.7 index 9b3802e574..159d002163 100644 --- a/ja_JP.eucJP/man/man7/groff_mdoc.7 +++ b/ja_JP.eucJP/man/man7/groff_mdoc.7 @@ -1,4178 +1,4193 @@ .\" groff_mdoc.man .\" .\" A complete reference of the mdoc macro package for GNU troff. .\" .\" Based on NetBSD's mdoc.samples.7, version 1.21. .\" .\" .\" Warning: You can't format this file with the old mdoc macros! .\" .\" .\" 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 .\" .\" This reference invokes every macro in the package several .\" times and is guaranteed to give a worst case performance .\" for an already extremely slow package. .\" .\" $FreeBSD$ .\" Copyright (c) 2001 FreeBSD jpman project .\" This is for Japanese translation done by FreeBSD jpman project. .\" WORD: epoch 基準時点 (協定世界時 1970年1月1日 00:00:00) .\" WORD: display ディスプレイ .\" WORD: bracket 角括弧 [] .\" WORD: brace 中括弧 () .\" WORD: angle bracket 山括弧 <> .\" WORD: acronym 頭字語 .\" WORD: keep キープ .\" WORD: literal リテラル .\" WORD: content macro コンテントマクロ .\" WORD: command modifier コマンド修飾子 .\" WORD: enclosure 囲い .\" WORD: quoting クォート .\" WORD: nest 入れ子 .\" WORD: block ragged 凹凸ブロック .\" WORD: constant width character 定幅文字 .\" WORD: scale indicator スケール指示子 .\" WORD: hanging tag ぶら下がりタグ .\" WORD: overhanging tag オーバハングタグ .\" WORD: parsed 構文解析される .\" WORD: callable 呼び出し可能 . .Dd February 27, 2003 .Os .Dt GROFF_MDOC 7 . . .Sh 名称 . .Nm groff_mdoc .Nd groff mdoc の実装に関するリファレンス . . .Sh 書式 . .Nm groff Fl m Ns Cm doc Ar . . .Sh 解説 . .Tn GNU .Xr troff 1 用の .Em コンテントベース でかつ .Em 領域ベース な整形用パッケージである .Nm \-mdoc マクロパッケージを使って .Ux マニュアルページを書くための完全なリファレンスです。 前身である .Xr \-man 7 パッケージは、フォントの操作や他の写植方法の詳細は個々の作者に任せ、 ページのレイアウトを取り扱ってきました。 .Nm \-mdoc では、ページレイアウトマクロは タイトル、セクションのヘッダ、ディスプレイ、リストのマクロからなる .Em "ページ構造領域" を形成しています。本質的にこれらの要素は整形されたページにおける テキストの物理的位置に影響を与えます。 ページ構造領域に加え、さらに .Em マニュアル 領域および .Em 一般 テキスト領域の 2 つの領域があります。 一般テキスト領域は、テキストの一部をクォートしたり強調したりと いったような作業を実行するマクロとして定義されています。 マニュアル領域はコマンドやルーチン、それに .Ux の関連ファイルを記述するための日常使用されるインフォーマルな言葉の サブセットであるマクロとして定義されています。 マニュアル領域のマクロはコマンド名、コマンド行の引数とオプション、 関数名、関数のパラメータ、パス名、変数名、他のマニュアルページへの クロスリファレンスなどを扱います。 これらの領域の項目は作者とマニュアルページの将来のユーザの両者に とって価値のあるものです。 マニュアル間で一貫性を高めることによって将来のドキュメントツールへの 移行が容易になることが期待されます。 .Pp .Ux マニュアルページ全体を通して、マニュアルのエントリは単純に マニュアルページ (a man page) とみなされます。 これは実際のページ数と関係ありませんし、性差別をする意図もありません。 .\" 訳注: a man page -- 1 ページ (a page) と男 (man) の意味 . . .Sh "さあ、始めよう" . このドキュメントの残りの部分で説明されている題材は以下のような構成に なっています。 . .Bl -enum -width 3n -offset indent . It . Tn "TROFF に特有な表現" . . Bl -tag -width 2n -compact . It "マクロの使用方法" . It "引数に空白文字を指定する" . It "行末の空白文字" . It "特殊文字のエスケープ" . It "その他の注意点" . El . . It . Tn "マニュアルページのテンプレート" . . It . Tn "使用法" . . It . Tn "タイトルマクロ" . . It . Tn "マニュアル領域および一般テキスト領域の紹介" . . Bl -tag -width 2n -compact . It "この名前には何が" Ns ... . It "一般的な構文" . El . . It . Tn "マニュアル領域" . . Bl -tag -width 2n -compact . It "アドレス" . It "作者名" . It "引数" . It "コンフィギュレーション宣言 (セクション 4 のみ)" . It "コマンド修飾子" . It "定義済みの変数" . It "errno (セクション 2 のみ)" . It "環境変数" . It "フラグ" . It "関数の宣言" . It "関数の型" . It "関数 (ライブラリルーチン)" . It "関数の引数" . It "戻り値" . It "終了ステータス" . \" .It "ヘッダファイル (ソースコードを含む)" . It "対話的なコマンド" . It "ライブラリ名" . It "リテラル" . It "名称" . It "オプション" . It "パス名" . It "標準" . It "変数の型" . It "変数" . It "マニュアルページのクロスリファレンス" . El . . It . Tn "一般テキスト領域" . . Bl -tag -width 2n -compact . It "AT&T マクロ" . It "BSD マクロ" . It "NetBSD マクロ" . It "FreeBSD マクロ" . It "OpenBSD マクロ" . It "BSD/OS マクロ" . It "UNIX マクロ" . It "強調マクロ" . It "フォントモード" . It "囲い/クォート マクロ" . It "無操作もしくは通常テキストマクロ" . It "空白なしマクロ" . It "セクションのクロスリファレンス" . It "記号" . It "数式記号" . It "参考文献と引用" . It "商標名 (頭字語とタイプ名)" . It "拡張引数" . El . . It . Tn "ページ構造領域" . . Bl -tag -width 2n -compact . It "セクションヘッダ" . It "サブセクションヘッダ" . It "段落と行スペース" . It "キープ" . It "例示とディスプレイ" . It "リストとカラム" . El . . It . Tn "その他のマクロ" . . It . Tn "定義済みの文字列" . . It . Tn "診断" . . It . Tn "GROFF, TROFF および NROFF を使用した整形" . . It . Tn "関連ファイル" . . It . Tn "関連項目" . . It . Tn "バグ" .El . .\" XXX .if t \ . ne 7 . . .Sh "TROFF に特有な表現" . .Nm \-mdoc パッケージは、マニュアルページを記述するプロセスを簡単にすることを 目的としています。 .Nm \-mdoc を使うために .Tn GNU .Xr troff 1 のゴタゴタした詳細を学ぶ必要がないのが理想ですが、 いくつか片付けるべき避けられない制限事項があります。 また、このパッケージは高速で .Em ない ということも予め警告しておきます。 . .Ss "マクロの使用方法" . .Tn GNU .Xr troff 1 のように、マクロは .Ql .\& (ドット) を行頭に置き、それに続けて 2 文字 (または 3 文字) からなる マクロの名称を指定することによって呼び出されます。 ドットとマクロの間にはスペースかタブを置くことができます 引数はマクロの後にスペースで区切って指定することができます (タブは使用 .Em できません ) 。 行頭にドットを指定することによって .Tn GNU .Xr troff 1 にそれに続く 2 文字 (あるいはそれより多い文字) を マクロ名として解釈するよう指示しています。 最初にドット 1 文字をとり、その後ろに何も来ない場合は 無視されます。 マクロを起動させたくないような文脈で、入力行の先頭に .Ql .\& (ドット) を置くためには、 .Ql .\& (ドット) の前にエスケープシーケンス .Ql \e& を指定します。 .Ql \e& は文字通りスペース幅が 0 として解釈され、出力には現れません。 .Pp 一般的に .Tn GNU .Xr troff 1 マクロは取り得る引数の数に制限はありません (9 つ以上の 引数を扱うことのできない他のバージョンの troff とは違います)。 限られた場合ではありますが、引数を次の行に続けたり、拡張したり することができます (後述の .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 は .Ql ".Op Fl s Ar bytes" で生成されます。 .El . .Pp 文字列がマクロ名と解釈されないようにするには、 その文字列の前にエスケープシーケンス .Ql \e& を指定します。 . .Bl -tag -width ".Op \&Fl s \&Ar bytes" -offset indent .It Op \&Fl s \&Ar bytes は .Ql ".Op \e&Fl s \e&Ar bytes" で生成されます。 .El . .Pp ここで文字列 .Ql \&Fl と .Ql \&Ar はマクロとして解釈されていません。 このドキュメントを通じて、 呼び出し可能な引数を調べるために引数リストが構文解析されるマクロは .Em 構文解析される マクロとして参照し、 引数リストから呼び出されることができるマクロは .Em 呼び出し可能 なマクロとして参照します。 .Nm \-mdoc のマクロはほとんどすべてが構文解析されるのですから、これは技術的には .Em 適当でない 表現ですが、常にマクロを「呼び出し可能である」とか「他のマクロを 呼び出すことができる」と表現するのは面倒なことであるため、 「構文解析される」という用語を使います。 . .Pp 以降、この区別が必要な場合、行頭 (でドットで開始する) .Nm \-mdoc マクロを .Em コマンド と呼びます。 . .Ss "引数に空白文字を指定する" . 1 つ以上の空白文字を含む文字列を引数として指定したい 場合があります。 引数リスト中の要素が特定の並びをしていることを 期待しているコマンドに引数を指定する時に必要になることがあります。 さらに、こうすると .Nm \-mdoc が速く実行されるようになるのです。 例えば、関数コマンド .Ql .Fn では第 1 引数は関数名であり、残りの引数が関数のパラメータであると 想定されています。 .Tn ANSI\~C では、関数のパラメータ宣言を括弧で囲まれたパラメータリスト中に 明示することを規定しているので、 各パラメータは最低でも 2 語の文字列となります。 例えば、 .Fa int foo のようになります。 .Pp 空白を含む引数を指定するには 2 通りの方法があります。 1 つは、空白を含む文字列を渡すのに、固定の空白、 つまりパディングされない空白文字 .Ql \e\ を使う方法です。すなわち、空白の前にエスケープ文字 .Ql \e を指定します。 この方法はどのマクロでも使うことができますが、1 行が長くなり過ぎた テキストを調整するときの邪魔になるという副作用があります。 .Xr troff では、固定の空白は他の印刷可能な文字と同様に扱われ、通常期待されるように その箇所で文字列を空白や改行で分けることは行われなくなります。 この方法は文字列が行の境界にまたがることが好ましくない場合に有用です。 代替案としては、 パディング可能 (すなわち伸長可能) で分割不可能な空白 .Ql \e~ を使うことがあります (これは、 .Tn GNU .Xr troff 1 拡張です)。 2 つ目の方法は、文字列をダブルクォートで括ることです。 .Pp 例えば、次のようにします: . .Bl -tag -width ".Fn fetch char\ *str" -offset indent .It Fn fetch char\ *str は .Ql ".Fn fetch char\e *str" で生成されます。 .It Fn fetch "char *str" も .Ql ".Fn fetch \*[q]char *str\*[q]" で生成することができます。 .El . .Pp もし、最初の例の空白の前もしくは次の例のダブルクォートの前の .Ql \e が省略されていた場合には .Ql .Fn は引数が 3 つであるとみなし、その結果は .Pp .Dl Fn fetch char *str .Pp となります。 .\" For an example of what happens when the parameter list overlaps a newline .\" boundary, see the .\" .Sx BUGS .\" section. . .Ss "行末の空白文字" . .Xr Troff は行末に空白文字があると混乱してしまうことがあります。 .Ao 空白 Ac Ns Ao 行末 Ac の文字の並びからすべての空白文字を取り除くのは良い予防策です。 どうしても行末に空白文字をおく必要性が出てきた場合は、 パディングされない空白とエスケープ文字 .Ql \e& を使用することによって対応できます。 例えば、 .Ql string\e\ \e& のようにします。 . .Ss "特殊文字のエスケープ" . 改行 .Ql \en のような特殊文字は、バックスラッシュを保存するために .Ql \e を .Ql \ee で置き換え (たとえば .Ql \een とする) て扱います。 . .Ss "その他の注意点" . 表示領域外で空の入力行が見つかった場合には警告が発生します (後述)。 代わりに .Ql .sp を使用してください ( .Nm \-mdoc マクロを使用して、低レベルコマンドを使用しないようにすると ずっと良いです)。 .Pp 先頭に空白を置くと行分割が生じ、そのまま出力されてしまいます。 可能ならばこうなることを避けてください。 同様に、通常のテキスト行において単語間に 2 つ以上の空白文字を 使用しないでください。これは、他のテキストフォーマッタとは 対照的です。空白文字を 2 つ以上置いても 1 つの空白文字に .Em 置き換わりません 。 .Pp 引数として .Ql \*[q] を直接渡すことはできません。 代わりに .Ql \e*[q] (あるいは .Ql \e*q ) を使用してください。 .Pp デフォルトでは、 .Xr troff 1 は文を終了させる句読点の後に空白文字を 2 つ挿入します。 つまり、 .Ql \&) あるいは .Ql \&' などの文字はそのまま扱われ、文の終了には影響を与えません。 この動作を変更するには、 ドットの前あるいは後に .Ql \e& を挿入してください。 . .Bd -literal -offset indent The \&.Ql . character. \&.Pp The \&.Ql \e&. character. \&.Pp \&.No test . test \&.Pp \&.No test. test .Ed .Pp . は、 . .Bd -filled -offset indent The .Ql . character. .Pp The .Ql \&. character. .Pp .No test . test .Pp .No test. test .Ed .Pp となります。 .Pp . 1 行目および 3 行目にみられるように、 .Nm \-mdoc はマクロ引数の中では句読点を特別に扱います。 これについては、後述の .Sx 一般的な構文 の節で述べます。 同様の方法で、幅 0 の空白を続けることで、 省略形の後に続いたピリオドを保護しなくてはなりません。 例えば .Ql e.g.\e& のようにします。 .Pp マニュアルページのソースファイル中のコメントは、 独立した行では .Ql .\e" 、何らかの入力があった後では .Ql \e" を、あるいはどのような場所でも使いたい場合は .Ql \e# を使うことができます (後者は .Tn GNU .Xr troff 1 拡張です)。このような行の残りの部分は無視されます。 . . .Sh "マニュアルページのテンプレート" . マニュアルページの中身は次のような基本的なテンプレートから 簡単に作成できます。 . .Bd -literal -offset indent \&.\e" 以下のコマンドはすべてのマニュアルページで必要な項目です。 \&.Dd 月 日, 年 \&.Os [オペレーティングシステム] [バージョン/リリース] \&.Dt ドキュメントタイトル [セクション番号] [アーキテクチャ/ボリューム] \&.Sh NAME \&.Nm 名称 \&.Nd 名称についての 1 行での説明 \&.\e" 次のコマンドはセクション 2, 3 でのみ必要なものです。 \&.\e" .Sh LIBRARY \&.Sh SYNOPSIS \&.Sh DESCRIPTION \&.\e" 以下のコマンドについては、必要に応じてコメントをはずして使用してく \&.\e" ださい。 \&.\e" .Sh IMPLEMENTATION NOTES \&.\e" この次のコマンドはセクション 2, 3, 9 でのみ必要な、関数の \&.\e" 戻り値です。 \&.\e" .Sh RETURN VALUES \&.\e" 次のコマンドはセクション 1, 6, 7, 8, 9 でのみ必要なものです。 \&.\e" .Sh ENVIRONMENT \&.\e" .Sh FILES \&.\e" .Sh EXAMPLES \&.\e" 次のコマンドはセクション 1, 6, 7, 8, 9 でのみ必要なものです。 \&.\e" ((シェルへの)コマンドの戻り値と \&.\e" fprintf/stderr タイプの診断です) \&.\e" .Sh DIAGNOSTICS \&.\e" .Sh COMPATIBILITY \&.\e" 次のコマンドはセクション 2, 3, 9 でのみ必要な、 \&.\e" エラーハンドリングとシグナルハンドリングです。 \&.\e" .Sh ERRORS \&.\e" .Sh SEE ALSO \&.\e" .Sh STANDARDS \&.\e" .Sh HISTORY \&.\e" .Sh AUTHORS \&.\e" .Sh BUGS .Ed .Pp . このテンプレートにおける最初のコマンドはマクロ .Ql .Dd , .Ql .Os , および .Ql .Dt であり、それぞれドキュメントの日付、 マニュアルページもしくは題材となっているソースの開発や変更の 対象となったオペレーティングシステム、そして マニュアルページのタイトルを属するマニュアルのセクション番号と ともに ( .Em 大文字で ) 指定したもの、となっています。 これらのコマンドはそのページを識別するものであり、後述の .Sx タイトルマクロ で解説されます。 .Pp テンプレート中の残りの項目はセクションのヘッダ .Pf ( Li .Sh ) であり、それらのうち .Sx NAME , .Sx SYNOPSIS , および .Sx DESCRIPTION は必須項目です。 これらのヘッダについては .Sx "マニュアル領域" を説明した後、 .Sx "ページ構造領域" で解説されます。 いくつかのコンテントマクロはページレイアウトマクロの説明に 使用されていますので、ページレイアウトマクロの前にコンテントマクロに ついて読むことを推奨します。 . . .Sh 使用法 . 次に説明するマクロはすべて、オプションの引数は 角括弧 ([]) で括られます。 省略符号 .Pf ( Sq ... ) はさらに 0 個以上の引数があることを表しています。 パラメータの代替値は .Ql | で区切って示します。 必須パラメータに代替値がある場合は、 ( .Ql | と一緒に) 中括弧 ({}) を用い、値の組を括ります。 メタ変数は山括弧 (<>) の中で指定されます。 .Pp 例: . .Bl -tag -width 6n -offset indent .It Li .Xx Xo .Aq foo .Brq bar1 | bar2 .Op \-test1 Op \-test2 | \-test3 .No ... .Xc .El . .Pp とくに明示しない限り、すべてのマクロは 構文解析され、呼び出し可能なものです。 .Pp マクロの効果が持続するのは、 次のネストしたマクロまでであることに注意してください。 例えば .Ql ".Ic foo Aq bar" は .Sq Ic "foo " とはならず .Sq Ic foo Aq bar となります。 この結果、最初の引数がマクロである場合、 ほとんどのコマンドに対して警告が出力されます。 マクロがコマンド呼び出しの効果を完全に打ち消してしまうからです。 また、マクロをクォートしても、文字通りのクォートは挿入されないことは重要です。 .Sq Ic "foo " は .Ql ".Ic \*[q]foo \*[q]" から生成されます。 .Pp 大部分のマクロはデフォルトの幅の値を持っており、これを .Ql .Bl および .Ql .Bd マクロ用にラベル width .Pf ( Fl width ) あるいは offset .Pf ( Fl offset ) を指定するのに使用することができます。 .Nm \-mdoc パッケージのローカルな変更に依存することのないように、 このとても曖昧な機能は使わないことを推奨します。 . . .Sh "タイトルマクロ" . タイトルマクロはページ構造領域の一部ですが、 マニュアルページを昨日書き始めようと思ったという人のために、 最初に、他のとは別に記述されています。 3 つのヘッダマクロでドキュメントまたはマニュアルページのタイトル、 オペレーティングシステム、および原著の日付を指定します。 これらのマクロはドキュメントの最初で一度だけ呼び出されるもので、 ヘッダとフッタを構成するためだけに使用されます。 . .Bl -tag -width 6n .It Li .Dt Xo .Op Aq ドキュメントタイトル .Op Aq セクション番号 .Op Aq ボリューム .Xc ドキュメントタイトルはマニュアルページの主題であり、 troff の制限により .Tn 大文字 でなければいけません。 省略された場合、 .Sq Tn UNTITLED が使われます。 セクション番号は .No 1,\~ Ns ... Ns ,\~9 の範囲の番号もしくは .Ql unass , .Ql draft , .Ql paper のいずれかを取ることができます。 セクション番号が指定されており、ボリューム名が与えられていない 場合には、デフォルトのボリューム名が使用されます。 . .Pp .Tn \*[operating-system] では、次のセクションが定義されています: .Pp .Bl -column LOCAL -offset indent -compact .It Li 1 Ta "\*[volume-operating-system] \*[volume-ds-1]" .It Li 2 Ta "\*[volume-operating-system] \*[volume-ds-2]" .It Li 3 Ta "\*[volume-operating-system] \*[volume-ds-3]" .It Li 4 Ta "\*[volume-operating-system] \*[volume-ds-4]" .It Li 5 Ta "\*[volume-operating-system] \*[volume-ds-5]" .It Li 6 Ta "\*[volume-operating-system] \*[volume-ds-6]" .It Li 7 Ta "\*[volume-operating-system] \*[volume-ds-7]" .It Li 8 Ta "\*[volume-operating-system] \*[volume-ds-8]" .It Li 9 Ta "\*[volume-operating-system] \*[volume-ds-9]" .El .Pp . ボリューム名は任意であるか、もしくは次のものを 取ることができます: . .Pp .Bl -column LOCAL -offset indent -compact .It Li USD Ta "\*[volume-ds-USD]" .It Li PS1 Ta "\*[volume-ds-PS1]" .It Li AMD Ta "\*[volume-ds-AMD]" .It Li SMM Ta "\*[volume-ds-SMM]" .It Li URM Ta "\*[volume-ds-URM]" .It Li PRM Ta "\*[volume-ds-PRM]" .It Li KM Ta "\*[volume-ds-KM]" .It Li IND Ta "\*[volume-ds-IND]" .It Li LOCAL Ta "\*[volume-ds-LOCAL]" .It Li CON Ta "\*[volume-ds-CON]" .El .Pp . 互換性を保つため、 .Ql IND の代わりに .Ql MMI を使用することができ、 .Ql LOCAL の代わりに .Ql LOC を使用できます。 先の表の値は、新しいボリューム名を指定します。 第 3 パラメータがコンピュータアーキテクチャを表すキーワードで ある場合、その値は第 2 パラメータで指定したボリューム名の 前に追加されます。 デフォルトでは次のアーキテクチャに関するキーワードが定義されています: . \# we use `No' to avoid hyphenation .Bd -ragged -offset indent .No alpha , amiga , arc , arm26 , arm32 , atari , bebox , cobalt , evbsh3 , .No hp300 , hpcmips , i386 , luna68k , m68k , mac68k , macppc , mips , .No mmeye , mvme68k , news68k , newsmips , next68k , ofppc , pc532 , pmax , .No powerpc , prep , sgimips , sh3 , sparc , sparc64 , sun3 , tahoe , vax , .No x68k .Ed .Pp . セクション番号が 1 から 9 の範囲の数値ではなく、 また前述のキーワードでない場合、 第 3 パラメータがそのままボリューム名として使用されます。 .Pp 次の例では、マニュアルページのヘッダの左側 (これは右側と同じものです) と 中央に書かれる文字列を示しています。 .Ql \e& -が数値 1 を正当な数値として解釈されないようにしている点に注意してください。 +が数値 7 を正当な数値として解釈されないようにしている点に注意してください。 . .Bd -ragged .Bl -tag -width ".Li .Dt\ FOO\ 2\ i386" -compact -offset indent .It Li ".Dt FOO 7" .Ql FOO(7) .Ql \*[volume-operating-system] \*[volume-ds-7] .It Li ".Dt FOO 7 bar" .Ql FOO(7) .Ql \*[volume-operating-system] \*[volume-ds-7] .It Li ".Dt FOO \e&7 bar" .Ql FOO(7) .Ql bar .It Li ".Dt FOO 2 i386" .Ql FOO(2) .Ql \*[volume-operating-system]/\*[volume-as-i386] \*[volume-ds-2] .It Li ".Dt FOO \*[q]\*[q] bar" .Ql FOO .Ql bar .El .Ed .Pp . ローカルな追加項目や OS に特化した追加項目が、ファイル .Pa mdoc.local にあるかもしれません。このファイル中で .Ql volume-ds-XXX (前者のタイプについて) および .Ql volume-as-XXX (後者のタイプについて) という名前の文字列を検索してください。ここで .Ql XXX は .Ql .Dt マクロで使用されるキーワードを表しています。 .Pp このマクロは呼び出し不可能であり、構文解析もされません。 . .It Li .Os Xo .Op Aq オペレーティングシステム .Op Aq リリース番号 .Xc 第 1 パラメータが空の場合、 デフォルト値 .Sq Tn "\*[operating-system]" が使用されます。 これは、ローカルの設定ファイル .Pa mdoc.local で上書きできます。一般的には、 オペレーティングシステムの名称には一般的な頭字語 (略称) を 使わなければなりません。 例えば .Tn BSD や .Tn ATT といったものです。 リリース番号は、各システムでの標準のリリースの命名法を使用します。 次の表では、いくつか事前に定義されているオペレーティングシステムに 対して取り得る第 2 引数をリストしています。 .Ql .Dt と同じように、ローカルな追加項目が .Pa mdoc.local に定義されているかもしれません。このファイル中で .Ql operating-system-XXX-YYY という名前の文字列を検索してください。ここで .Ql XXX はオペレーティングシステムの頭字語 (略称) そして .Ql YYY がリリース ID です。 . .Bd -ragged -compact .Bl -tag -width ".No FreeBSD" -offset indent .It ATT 7th, 7, III, 3, V, V.2, V.3, V.4 .It BSD 3, 4, 4.1, 4.2, 4.3, 4.3t, 4.3T, 4.3r, 4.3R, 4.4 .It NetBSD 0.8, 0.8a, 0.9, 0.9a, 1.0, 1.0a, 1.1, 1.2, 1.2a, 1.2b, 1.2c, 1.2d, 1.2e, 1.3, 1.3a, 1.4, 1.5, 1.6 .It FreeBSD 1.0, 1.1, 1.1.5, 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5, 2.1.6, 2.1.7, 2.2, 2.2.1, 2.2.2, 2.2.5, 2.2.6, 2.2.7, 2.2.8, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 5.0 .El .Ed .Pp . .Tn ATT に関しては、判別できない第 2 パラメータがある時には それを文字列 .Tn UNIX に置き換えます。事前に定義されているその他の頭字語 (略称) に ついては、そのようなパラメータは無視され、警告メッセージが 出力されます。 認識できない引数は、ページフッタ中に記述された通りに 表示されます。例えば、典型的なフッタは次のようになるでしょう: .Pp .Dl .Os BSD 4.3 .Pp は .Ql 4.3\~Berkeley Distribution となります。また、ローカルで作られたセットの例では、 .Pp .Dl .Os CS Department .Pp は .Ql CS\~Department となります。 .Pp .Ql .Os マクロがない場合、ページの左下隅は見苦しくなってしまうでしょう。 .Pp このマクロは呼び出し不可能であり、構文解析もされません。 . .It Li .Dd Oo .Aq 月 .Aq 日 , .Aq 年 .Oc .Ql Dd に引数がない場合は、日付には .Ql "基準時点 (協定世界時 1970年1月1日 00:00:00)" が使用されます。 ちょうど 3 つ引数がある場合には、それらは連結され、 分割できない空白で分けられたものになります。 .Pp .Dl .Dd January 25, 2001 .Pp それ以外の場合は現在の日付が使用され、パラメータは無視されます。 .Pp このマクロは呼び出し不可能であり、構文解析もされません。 .El . . .Sh "マニュアル領域および一般テキスト領域の紹介" . .Ss "この名前には何が" Ns ... . マニュアル領域のマクロ名はコマンドやサブルーチン、それに関連ファイルを 説明するために使われている日常のインフォーマルな言葉から取られています。 この言葉と少し違うバリエーションのものがマニュアルページを書く上での 3 つの異なった側面を記述するのに使われます。 最初のものは、 .Nm \-mdoc マクロコマンド使用方法の説明です。2 番目は .Nm \-mdoc マクロを .Em 用いた .Ux コマンドの記述です。 3 番目はコマンドを通常の言葉の感覚でユーザに示したものです。 これはすなわち、マニュアルページのテキスト中でのコマンドの 説明となります。 .Pp 最初のケースでは、 .Xr troff 1 マクロはそれ自身、一種のコマンドとなっています。 troff コマンドは一般的に以下のような形式をとります。 . .Bd -filled -offset indent .Li ".Xx argument1 argument2" ... .Ed .Pp . .Ql .Xx はマクロコマンドを示しており、それに続くものは すべて処理されるべき引数として処理されます。 2 番目のケースでは、コンテントマクロを使用する .Ux コマンドの記述がもう少し含まれます。 典型的な .Sx SYNOPSIS コマンド行はこのように表示されます。 . .Bd -filled -offset indent .Nm filter .Op Fl flag .Ao Ar infile Ac Ao Ar outfile Ac .Ed .Pp . ここで .Nm filter はコマンド名であり、角括弧で囲まれた文字列 .Fl flag は .Em フラグ 引数で、これは角括弧で囲むことによってオプションであることを 示しています。 .Nm \-mdoc の用語では、 .Ao Ar infile Ac および .Ao Ar outfile Ac は .Em メタ引数 と称されています。 この例では、ユーザは山括弧 (<>) の中で与えられたメタ引数を 実際のファイル名に置き換えなくてはなりません。 このドキュメントでは、メタ引数は .Nm \-mdoc コマンドを記述するのに使用していることに注意してください。 多くのマニュアルページでは、メタ変数はわざわざ山括弧を使って 書かれていません。 上の例を整形したマクロは以下のものです。 . .Bd -literal -offset indent \&.Nm filter \&.Op Fl flag \&.Ao Ar infile Ac Ao Ar outfile Ac .Ed .Pp . 3 番目のケースでは、コマンドの説明や構文に上記の例の両方が使われ、 さらに細かい記述が追加されるでしょう。 上の例での引数 .Ao Ar infile Ac および .Ao Ar outfile Ac は .Em オペランド もしくは .Em ファイル引数 として参照されます。 コマンド行の引数のリストはかなり長くなる場合もあります。 . .Bd -ragged .Bl -tag -width ".Nm make" -offset indent -compact .It 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 Ns = Ns Ar value .Bk .Op Ar target ... .Ek .El .Ed .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 Ns = Ns Ar value \&.Bk \&.Op Ar target ... \&.Ek .Ed .Pp . マクロ .Ql .Bk および .Ql .Ek は .Sx キープ セクションにおいて解説されています。 . .Ss "一般的な構文" . マニュアル領域のマクロと一般テキスト領域のマクロとはいくつか 小さな違いがあるものの、同様な構文を使用しています。とりわけ、 .Ql .Ar , .Ql .Fl , .Ql .Nm , および .Ql .Pa は引数なしで呼び出された時の違いしかありません。また、 .Ql .Fn および .Ql .Xr は引数のリストの順番が異なります。 すべてのコンテントマクロが句読点を認識し、それを正しく扱うには、 各々の句読点文字が先行する空白で分離されている必要があります。 次のようにコマンドが指定されている場合、 .Pp .Dl \&.Ar sptr, ptr), .Pp その結果は以下のようになります。 .Pp .Dl Ar sptr, ptr), .Pp ここでは句読点は認識されず、すべての出力は .Ql .Ar で使用されるフォントで行われています。 句読点が空白文字で区切られている場合、 .Pp .Dl \&.Ar "sptr , ptr ) ," .Pp 結果は以下のようになります。 .Pp .Dl Ar sptr , ptr ) , .Pp 今度は句読点が認識され、出力はデフォルトのフォントで行われ 引数文字列とは区別されています。 句読点文字の特別な意味を取り除くには、 .Ql \e& でエスケープしてください。 .Pp +.Nm \-mdoc +は次の句読点文字を認識します。 +. +.Bl -column -offset indent-two XXXXXX XXXXXX XXXXXX XXXXXX +.It Li .\& Ta Li ,\& Ta Li :\& Ta Li ;\& Ta Li (\& +.It Li )\& Ta Li [\& Ta Li ]\& Ta Li ?\& Ta Li !\& +.El +.Pp +. .Xr troff はマクロ言語としての限界から、以下のような、数学、論理学、引用符の 集合のメンバを含んだ文字列を表現するのは困難です。 . .Bd -literal -offset indent-two {+,\-,/,*,%,<,>,<=,>=,=,==,&,`,',"} .Ed .Pp . 問題なのは、文字によって示唆されている操作もしくは評価が、 実行されるべきであると .Xr troff が仮定する場合があることです。 これらの文字が予期しない形で評価されないようにするには、 .Ql \e& でこれらをエスケープしてください。 最初のコンテントマクロは、以下の .Ql .Ad において、その典型的な構文が示されています。 . . .Sh "マニュアル領域" . .Ss "アドレス" . アドレスマクロはアドレスの構成を識別します。 .Pp .Dl 使い方: .Ad Ao アドレス Ac ... .Pp .Bl -tag -width ".Li .Ad\ f1\ ,\ f2\ ,\ f3\ :" -compact -offset 15n .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 . デフォルトの文字幅は 12n です。 . .Ss "作者名" . .Ql .An コマンドは文書化されている項目の作者の名前、もしくは実際の マニュアルページの作者の名前を指定するために使われます。 .Pp .Dl 使い方: .An Ao 作者名 Ac ... .Pp .Bl -tag -width ".Li .An\ \*[q]Joe\ Author\*[q]\ )\ )\ ," -offset 15n .It Li ".An \*[q]Joe Author\*[q]" .An "Joe Author" .It Li ".An \*[q]Joe Author\*[q] ," .An "Joe Author" , .It Li ".An \*[q]Joe Author\*[q] Aq nobody@FreeBSD.org" .An "Joe Author" Aq nobody@FreeBSD.org .It Li ".An \*[q]Joe Author\*[q] ) ) ," .An "Joe Author" ) ) , .El .Pp . デフォルトの文字幅は 12n です。 .Pp .Sx AUTHORS セクションでは、 .Ql .An リクエストは改行を引き起こし、新しい名前がそれぞれの行に表示されます。 この動作が望ましくない場合、 . .Bd -literal -offset indent \&.An -nosplit .Ed .Pp . を呼び出すことで無効にできます。 それぞれの行に表示させる動作に戻したい場合は、 . .Bd -literal -offset indent \&.An -split .Ed .Pp . と記述します。 . .Ss "引数" . 引数マクロ .Li .Ar はコマンド行の引数を参照する際にはいつでも使用することができます。 引数なしで呼ばれた場合、 .Sq Ar が出力になります。 .Pp .Dl 使い方: .Ar Oo Ao 引数 Ac Oc ... .Pp .Bl -tag -width ".Li .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 . デフォルト幅は 12n です。 . .Ss "コンフィギュレーション宣言 (セクション 4 のみ)" . .Ql .Cd コマンドはセクション 4 のマニュアルにおいて、デバイスインタフェースの .Xr config 8 による宣言の説明に使われます。 .Pp .Dl 使い方: .Cd Ao 引数 Ac ... .Pp .Bl -tag -width ".Li .Cd\ Xdevice\ le0\ at\ scode?X" -offset 15n .It Li ".Cd \*[q]device le0 at scode?\*[q]" .Cd "device le0 at scode?" .El .Pp .Sx SYNOPSIS セクションでは .Ql .Cd リクエストはその引数が表示される前後で改行を入れます。 .Pp . デフォルト幅は 12n です。 . .Ss "コマンド修飾子" . コマンド修飾子は .Ql .Cm マクロがすべての引数の前にダッシュ文字を付けないことを除いて、 .Ql .Fl (フラグ) コマンドと同じです。 伝統的にフラグはダッシュ文字に引き続いて指定されますが、 この方法を使わないコマンドやコマンドのサブセットもあります。 コマンド修飾子はエディタコマンドのような対話的なコマンドでも 指定されることがあります。 .Sx フラグ セクションを参照してください。 .Pp デフォルト幅は 10n です。 . .Ss "定義済みの変数" . インクルードファイルにおいて定義されている変数 (もしくは定数) は マクロ .Ql .Dv によって指定します。 .Pp .Dl 使い方: .Dv Ao 定義済みの変数 Ac ... .Pp .Bl -tag -width ".Li .Dv\ MAXHOSTNAMELEN" -compact -offset 15n .It Li ".Dv MAXHOSTNAMELEN" .Dv MAXHOSTNAMELEN .It Li ".Dv TIOCGPGRP )" .Dv TIOCGPGRP ) .El .Pp . デフォルト幅は 12n です。 . .Ss errno . .Ql .Er errno マクロは、セクション 2, 3, 9 のライブラリルーチンにおける エラーの戻り値を指定します。 下記の 2 番目の例では .Ql .Er は一般テキスト領域マクロである .Ql .Bq (これはセクション 2 のマニュアルページで使われています) と共に 使われています。 .Pp .Dl 使い方: .Er Ao errno のタイプ Ac ... .Pp .Bl -tag -width ".Li .Bq\ Er\ ENOTDIR" -compact -offset 15n .It Li ".Er ENOENT" .Er ENOENT .It Li ".Er ENOENT ) ;" .Er ENOENT ) ; .It Li ".Bq Er ENOTDIR" .Bq Er ENOTDIR .El .Pp . デフォルト幅は 17n です。 . .Ss "環境変数" . .Ql .Ev マクロは環境変数を指定します。 .Pp .Dl 使い方: .Ev Ao 引数 Ac ... .Pp .Bl -tag -width ".Li .Ev\ PRINTER\ )\ )\ ," -compact -offset 15n .It Li ".Ev DISPLAY" .Ev DISPLAY .It Li ".Ev PATH ." .Ev PATH . .It Li ".Ev PRINTER ) ) ," .Ev PRINTER ) ) , .El .Pp . デフォルト幅は 15n です。 . .Ss "フラグ" . .Ql .Fl マクロはコマンド行のフラグを扱います。 フラグの前にはダッシュ .Ql \- が挿入されます。 ダッシュがつかない対話的なコマンドのために .Ql .Cm (コマンド修飾子) マクロが用意されています。 これはダッシュを付けないことを除いて同じ働きをします。 .Pp .Dl 使い方: .Fl Ao 引数 Ac ... .Pp .Bl -tag -width ".Li .Fl\ xyz\ )\ ," -compact -offset 15n .It Li .Fl .Fl .It Li ".Fl cfv" .Fl cfv .It Li ".Fl cfv ." .Fl cfv . .It Li ".Cm cfv ." .Cm cfv . .It Li ".Fl s v t" .Fl s v t .It Li ".Fl \- ," .Fl \- , .It Li ".Fl xyz ) ," .Fl xyz ) , .It Li ".Fl |" .Fl | .El .Pp 引数なしで .Ql .Fl マクロを指定すると、標準入力/標準出力を意味するダッシュとなります。 .Ql .Fl マクロにダッシュを 1 つ与えると、2 つのダッシュとなることに 注意して下さい。 .Pp デフォルト幅は 12n です。 . .Ss "関数の宣言" . .Ql .Fd コマンドは .Sx SYNOPSIS セクションにおいて、セクション 2 または 3 の関数の説明で使われます。 このマクロは呼び出し不可能であり、構文解析もされせん。 .Pp .Dl 使い方: .Fd Ao 引数 Ac ... .Pp .Bl -tag -width ".Li .Fd\ X#include\ X" -compact -offset 15n .It Li ".Fd \*[q]#include \*[q]" .Fd "#include " .El .Pp .Sx SYNOPSIS セクションでは、 関数がすでに示されており、改行がまだされていない場合には .Ql .Fd リクエストは改行を入れます。 これによって前の関数呼び出しと次の関数の宣言の間に 最適な行間が設定されます。 . .Pp .Ql .In マクロは、 .Sx SYNOPSIS セクションで使用すると、 .Li #include 文を表現するものであり、以上の例を短く記述したものです。 このマクロは C プログラム中でインクルードされる C ヘッダファイルを指定します。 このマクロも改行を挿入します。 .Pp .Sx SYNOPSIS セクション以外で使用すると、 山括弧で括られたヘッダファイルを表現します。 .Pp .Dl 使い方: .In Ao ヘッダファイル Ac .Pp .Bl -tag -width ".Li .In\ stdio.h" -compact -offset 15n .nr in-synopsis-section 1 .It Li ".In stdio.h" .In stdio.h .nr in-synopsis-section 0 .It Li ".In stdio.h" .In stdio.h .El . .Ss "関数の型" . このマクロは .Sx SYNOPSIS セクションで使うものです。 マニュアルページ中の他の場所でも問題なく使うことができますが、 セクション 2 と 3 の .Sx SYNOPSIS セクションにおいてカーネルの通常の形式で関数の型を示すことが このマクロの目的です (このマクロは関数名が次の行に置かれるように改行を挿入します)。 .Pp .Dl 使い方: .Ft Ao 型 Ac ... .Pp .Bl -tag -width ".Li .Ft\ struct\ stat" -compact -offset 15n .It Li ".Ft struct stat" .Ft struct stat .El . .Ss "関数 (ライブラリルーチン)" . .Ql .Fn マクロは .Tn ANSI\~C の記法を規範としています。 .Pp .Dl 使い方: .Fn Ao 関数 Ac Oo Ao パラメータ Ac Oc ... .Pp .Bl -tag -width ".Li .Fn\ align\ Xchar\ *ptrX\ ," -compact -offset 15n .It Li ".Fn getchar" .Fn getchar .It Li ".Fn strlen ) ," .Fn strlen ) , .It Li ".Fn align \*[q]char *ptr\*[q] ," .Fn align "char *ptr" , .El .Pp 他のマクロを呼び出すと .Ql .Fn 呼び出しの終了を意味することに注意してください (閉じ括弧がその箇所に挿入されます)。 .Pp 多くのパラメータをとる関数 (これは滅多にないことですが) では、 .Ql .Fo マクロ (関数マクロの開始) と .Ql .Fc マクロ (関数マクロの終了) を .Ql .Fa (関数の引数) と共に使って、この制限を回避することができます。 .Pp 使用例: . .Bd -literal -offset indent \&.Ft int \&.Fo 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 -ragged -offset indent .Ft int .Fo 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 . .Sx SYNOPSIS セクションでは、関数は常に行の先頭から開始されます。 .Sx SYNOPSIS セクションにおいて複数の関数が示されており、関数の型が 示されない場合、改行が挿入され、現在の関数名とその前の 関数名の間に最適な改行量が設定されます。 .Pp .Ql .Fn および .Ql .Fo のデフォルト幅の値はそれぞれ 12n と 16n です。 . .Ss "関数の引数" . .Ql .Fa マクロは関数の引数 (パラメータ) を マニュアルの .Sx SYNOPSIS のセクション外で参照する場合、あるいは .Ql .Fn の代わりに .Ql .Fo および .Ql .Fc 囲いマクロを使用した場合には .Sx SYNOPSIS のセクション内で参照する場合にも使われます。 .Ql .Fa は構造体のメンバを参照する場合にも使われます。 .Pp .Dl 使い方: .Fa Ao 関数の引数 Ac ... .Pp .Bl -tag -width ".Li .Fa\ d_namlen\ )\ )\ ," -compact -offset 15n .It Li ".Fa d_namlen ) ) ," .Fa d_namlen ) ) , .It Li ".Fa iov_len" .Fa iov_len .El .Pp . デフォルト幅は 12n です。 . .Ss "戻り値" . .Ql .Rv マクロは .Sx RETURN VALUES のセクションで使うテキストを生成します。 .Pp .Dl 使い方: .Rv Oo -std Oc Op Ao 関数 Ac ... .Pp 例えば、 .Ql ".Rv -std atexit" は次のテキストを生成します。 . .Bd -ragged -offset -indent \# a small hack to suppress a warning message .ds section-old "\*[section] .ds section 3 .\" following part came from doc.tmac workaround the effect of .\" -dlang=ja_JP.eucJP .ds str-Rv-std-prefix "The .ds str-Rv-std-suffix "function returns the value\~0 if successful; .as str-Rv-std-suffix " otherwise the value\~-1 is returned and .as str-Rv-std-suffix " the global variable \*[Va-font]errno\f[P] .as str-Rv-std-suffix " is set to indicate the error. .ds str-Rv-stds-prefix "The .ds str-Rv-stds-and "and .ds str-Rv-stds-suffix "functions return the value\~0 if successful; .as str-Rv-stds-suffix " otherwise the value\~-1 is returned and .as str-Rv-stds-suffix " the global variable \*[Va-font]errno\f[P] .as str-Rv-stds-suffix " is set to indicate the error. .ds str-Rv-std0 "Upon successful completion, the value\~0 is returned; .as str-Rv-std0 " otherwise the value\~-1 is returned and .as str-Rv-std0 " the global variable \*[Va-font]errno\f[P] .as str-Rv-std0 " is set to indicate the error. .Rv -std atexit .ds section "\*[section-old] .Ed .Pp . .Fl std オプションはセクション 2 と 3 のマニュアルページでのみ有効です。 現在のところ、このマクロは .Fl std フラグなしで使用しても何も起こりません。 . .Ss "終了ステータス" . .Ql .Ex マクロは .Sx DIAGNOSTICS のセクションで使うテキストを生成します。 .Pp .Dl 使い方: .Ex Oo -std Oc Op Ao ユーティリティ Ac ... .Pp 例えば .Ql ".Ex -std cat" は次のテキストを生成します。 . .Bd -ragged -offset -indent \# a small hack to suppress a warning message .ds section-old "\*[section] .ds section 1 .\" following part came from doc.tmac workaround the effect of .\" -dlang=ja_JP.eucJP .ds str-Ex-std-prefix "The .ds str-Ex-std-suffix "utility exits\~0 on success, .as str-Ex-std-suffix " and\~>0 if an error occurs. .ds str-Ex-stds-prefix "The .als str-Ex-stds-and str-Rv-stds-and .ds str-Ex-stds-suffix "utilities exit\~0 on success, .as str-Ex-stds-suffix " and\~>0 if an error occurs. .Ex -std cat .ds section "\*[section-old] .Ed .Pp . .Fl std オプションはセクション 1 と 6 と 8 のマニュアルページでのみ有効です。 現在のところ、このマクロは .Fl std フラグなしで使用しても何も起こりません。 . .Ss "対話的なコマンド" . .Ql .Ic マクロは対話的なコマンド、もしくは内部コマンドを指定します。 .Pp .Dl 使い方: .Ic Ao 引数 Ac ... .Pp .Bl -tag -width ".Li .Ic\ setenv\ ,\ unsetenv" -compact -offset 15n .It Li ".Ic :wq" .Ic :wq .It Li ".Ic \*[q]do while {...}\*[q]" .Ic "do while {...}" .It Li ".Ic setenv , unsetenv" .Ic setenv , unsetenv .El .Pp . デフォルト幅は 12n です。 . .Ss "ライブラリ名" . .Ql .Lb マクロは、関数がどのライブラリに組み込まれるかを指定します。 .Pp .Dl 使い方: .Lb Ao 引数 Ac ... .Pp .Ql .Lb マクロに対して使用可能な引数と結果は次の通りです: . .Pp .Bl -tag -width ".Li libossaudio" -compact -offset indent .It Li libarm32 .Lb libarm32 .It Li libc .Lb libc .It Li libcompat .Lb libcompat .It Li libcrypt .Lb libcrypt .It Li libcurses .Lb libcurses .It Li libedit .Lb libedit .It Li libi386 .Lb libi386 .It Li libipsec .Lb libipsec .It Li libkvm .Lb libkvm .It Li libm .Lb libm .It Li libmenu .Lb libmenu .It Li libossaudio .Lb libossaudio .It Li libposix .Lb libposix .It Li libresolv .Lb libresolv .It Li libtermcap .Lb libtermcap .It Li libutil .Lb libutil .It Li libz .Lb libz .El .Pp . ローカルな追加項目や OS 特有の追加項目が、ファイル .Pa mdoc.local にあるかもしれません。 .Ql str-Lb-XXX という名前の文字列を検索してください。ここで .Ql XXX は .Ql .Lb マクロとともに使用されるキーワードを示しています。 +.Pp +.Sx ライブラリ +のセクションでは、 +.Ql .Lb +コマンドは、引数の表示の前後でラインブレイクを引き起こします。 +.Pp . .Ss リテラル . リテラルマクロ .Ql .Li は特殊文字や変数定数、その他タイプされた通りに表示する必要があるものに 使用することができます。 .Pp .Dl 使い方: .Li Ao 引数 Ac ... .Pp .Bl -tag -width ".Li .Li\ cntrl-D\ )\ ," -compact -offset 15n .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 . デフォルト幅は 16n です。 . .Ss 名称 . .Ql .Nm マクロは文書のタイトルやサブジェクト名を指定するために使われます。 このマクロは呼び出された時の第 1 引数を覚えておくという 変わった特性を持っており、 それは常にそのページのサブジェクト名であるべきです。 引数なしで呼び出されると .Ql .Nm は作者のために最低限の仕事をするという意味で、 この初期化された名称を出力します。 注: セクション 2 または 3 のドキュメントの関数名は .Sx NAME セクションにおいて .Ql .Nm で指定され、 .Sx SYNOPSIS セクションや残りのセクションでは .Ql .Fn で指定されます。 .Xr csh 1 での .Ql while コマンドのキーワードのような対話的なコマンドでは .Ql .Ic マクロを使う必要があります。 .Ql .Ic はほとんど .Ql .Nm と同一ですが、 それが使われたときの第 1 引数を記憶することはできません。 .Pp .Dl 使い方: .Nm Oo Ao 引数 Ac Oc ... .Pp .Bl -tag -width ".Li .Nm\ groff_mdoc" -compact -offset 15n .It Li ".Nm groff_mdoc" .Nm groff_mdoc .It Li ".Nm \e-mdoc" .Nm \-mdoc .It Li ".Nm foo ) ) ," .Nm foo ) ) , .It Li ".Nm :" .Nm : .El .Pp . デフォルト幅は 10n です。 . .Ss オプション . .Ql .Op マクロはコマンド行の残りのすべての引数を オプションであることを示す角括弧で囲み、 末尾の句読点は角括弧の外に置きます。 .Ql .Oo マクロと .Ql .Oc マクロ (それぞれ開き角括弧と閉じ角括弧を生成します) は 複数行に渡って使うことができ、また閉じ括弧の正確な位置を 指定するのに使うことができます。 .Pp .Dl 使い方: .Op Oo Ao オプション Ac Oc ... .Pp .Bl -tag -width ".Li .Op\ Fl\ c\ Ar\ objfil\ Op\ Ar\ corfil\ ," -compact -offset 15n .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 .It Li ".Li .Op Oo Ao option Ac Oc ..." .Li .Op Oo Ao options Ac Oc ... .El .Pp これは、 .Ql .Oo マクロと .Ql .Oc マクロを使った典型的な例です: . .Bd -literal -offset indent \&.Oo \&.Op Fl k Ar kilobytes \&.Op Fl i Ar interval \&.Op Fl c Ar count \&.Oc .Ed .Pp . 出力結果: . .Bd -filled -offset indent .Oo .Op Fl k Ar kilobytes .Op Fl i Ar interval .Op Fl c Ar count .Oc .Ed .Pp . .Ql .Op マクロおよび .Ql .Oo マクロのデフォルト幅はそれぞれ 14n と 10n です。 . .Ss パス名 . .Ql .Pa マクロはパス名もしくはファイル名を整形します。 引数なしで呼ばれた場合、 .Sq Pa 文字列が出力となり、これは現在のユーザのホームディレクトリを 表しています。 .Pp .Dl 使い方: .Pa Oo Ao パス名 Ac Oc ... .Pp .Bl -tag -width ".Li .Pa\ /tmp/fooXXXXX\ )\ ." -compact -offset 15n .It Li .Pa .Pa .It Li ".Pa /usr/share" .Pa /usr/share .It Li ".Pa /tmp/fooXXXXX ) ." .Pa /tmp/fooXXXXX ) . .El .Pp . デフォルト幅は 32n です。 . .Ss 規格 . .Ql .St マクロは、規格の短縮名称を正式名称に置換します。 .Pp .Dl 使い方: .St Ao 短縮名称 Ac ... .Pp 使用可能な .Dq 短縮名称/正式名称 の組は次の通りです: . .Pp .Tn ANSI/ISO C .Pp .Bl -tag -width ".Li -iso9945-1-90" -compact -offset indent .It Li -ansiC .St -ansiC .It Li -ansiC-89 .St -ansiC-89 .It Li -isoC .St -isoC .It Li -isoC-99 .St -isoC-99 .El .Pp . .Tn POSIX パート 1: System API .Pp .Bl -tag -width ".Li -p1003.1g-2000" -compact -offset indent .It Li -iso9945-1-90 .St -iso9945-1-90 .It Li -iso9945-1-96 .St -iso9945-1-96 .It Li -p1003.1 .St -p1003.1 .It Li -p1003.1-88 .St -p1003.1-88 .It Li -p1003.1-90 .St -p1003.1-90 .It Li -p1003.1-96 .St -p1003.1-96 .It Li -p1003.1b-93 .St -p1003.1b-93 .It Li -p1003.1c-95 .St -p1003.1c-95 .It Li -p1003.1g-2000 .St -p1003.1g-2000 .It Li -p1003.1i-95 .St -p1003.1i-95 .El .Pp . .Tn POSIX パート 2: シェルとユーティリティ .Pp .Bl -tag -width ".Li -p1003.1g-2000" -compact -offset indent .It Li -iso9945-2-93 .St -iso9945-2-93 .It Li -p1003.2 .St -p1003.2 .It Li -p1003.2-92 .St -p1003.2-92 .It Li -p1003.2a-92 .St -p1003.2a-92 .El .Pp . X/Open .Bl -tag -width ".Li -p1003.1g-2000" -compact -offset indent .Pp .It Li -susv2 .St -susv2 .It Li -svid4 .St -svid4 .It Li -xbd5 .St -xbd5 .It Li -xcu5 .St -xcu5 .It Li -xcurses4.2 .St -xcurses4.2 .It Li -xns5 .St -xns5 .It Li -xns5.2 .St -xns5.2 .It Li -xpg3 .St -xpg3 .It Li -xpg4 .St -xpg4 .It Li -xpg4.2 .St -xpg4.2 .It Li -xsh5 .St -xsh5 .El .Pp . その他 .Pp .Bl -tag -width ".Li -p1003.1g-2000" -compact -offset indent .It Li -ieee754 .St -ieee754 .It Li -iso8802-3 .St -iso8802-3 .El . .Ss "変数の型" . .Ql .Vt マクロは型を参照するときにはいつでも使用することができます。 .Sx SYNOPSIS セクションでは改行が挿入されます (古いスタイルの変数宣言では便利です)。 .Pp .Dl 使い方: .Vt Ao 型 Ac ... .Pp .Bl -tag -width ".Li .Vt\ extern\ char\ *optarg\ ;" -compact -offset 15n .It Li ".Vt extern char *optarg ;" .Vt extern char *optarg ; .It Li ".Vt FILE *" .Vt FILE * .El . .Ss 変数 . 一般的な変数への参照です。 .Pp .Dl 使い方: .Va Ao 変数 Ac ... .Pp .Bl -tag -width ".Li .Va\ Xchar\ sX\ ]\ )\ )\ ," -compact -offset 15n .It Li ".Va count" .Va count .It Li ".Va settimer ," .Va settimer , .It Li ".Va \*[q]int *prt\*[q] ) :" .Va "int *prt" ) : .It Li ".Va \*[q]char s\*[q] ] ) ) ," .Va "char s" ] ) ) , .El .Pp . デフォルト幅は 12n です。 . .Ss "マニュアルページのクロスリファレンス" . .Ql .Xr マクロは最初の引数にマニュアルページの名称をとります。 オプションである第 2 引数は、文字列 (マニュアルセクションを定義します) であれば 括弧で囲われます。 .Pp .Dl 使い方: .Xr Ao マニュアルページの名称 Ac Oo Ao セクション Ac Oc ... .Pp .Bl -tag -width ".Li .Xr\ xinit\ 1x\ ;" -compact -offset 15n .It Li ".Xr mdoc" .Xr mdoc .It Li ".Xr mdoc ," .Xr mdoc , .It Li ".Xr mdoc 7" .Xr mdoc 7 .It Li ".Xr xinit 1x ;" .Xr xinit 1x ; .El .Pp . デフォルト幅は 10n です。 . . .Sh "一般テキスト領域" . .Ss "AT&T マクロ" . .Pp .Dl 使い方: .At Oo Ao バージョン Ac Oc ... .Pp .Bl -tag -width ".Li .At\ v6\ ." -compact -offset 15n .It Li .At .At .It Li ".At v6 ." .At v6 . .El .Pp .Ao バージョン Ac には次の値をとることができます: .Pp .Dl 32v, v1, v2, v3, v4, v5, v6, v7, V, V.1, V.2, V.3, V.4 . .Ss "BSD マクロ" . .Pp .Dl "使い方: .Bx" Bro -alpha | -beta | -devel Brc ... .Dl " .Bx" Oo Ao バージョン Ac Oo Ao リリース Ac Oc Oc ... .Pp .Bl -tag -width ".Li .Bx\ -devel" -compact -offset 15n .It Li .Bx .Bx .It Li ".Bx 4.3 ." .Bx 4.3 . .It Li ".Bx \-devel" .Bx -devel .El .Pp .Ao バージョン Ac が文字列 .Sq Bx の前につきます。 .Ao リリース Ac には次の値をとることができます: .Pp .Dl Reno, reno, Tahoe, tahoe, Lite, lite, Lite2, lite2 . .Ss "NetBSD マクロ" . .Pp .Dl 使い方: .Nx Oo Ao バージョン Ac Oc ... .Pp .Bl -tag -width ".Li .Nx\ 1.4\ ." -compact -offset 15n .It Li .Nx .Nx .It Li ".Nx 1.4 ." .Nx 1.4 . .El .Pp .Ao バージョン Ac にとり得る値については前述の .Sx "タイトルマクロ" セクションの .Ql .Os コマンドの説明を参照してください。 . .Ss "FreeBSD マクロ" . .Pp .Dl 使い方: .Fx Oo Ao バージョン Ac Oc ... .Pp .Bl -tag -width ".Li .Fx\ 2.2\ ." -compact -offset 15n .It Li .Fx .Fx .It Li ".Fx 2.2 ." .Fx 2.2 . .El .Pp .Ao バージョン Ac にとり得る値については前述の .Sx "タイトルマクロ" セクションの .Ql .Os コマンドの説明を参照してください。 . .Ss "OpenBSD マクロ" . .Pp .Dl 使い方: .Ox Oo Ao バージョン Ac Oc ... .Pp .Bl -tag -width ".Li .Ox\ 1.0" -compact -offset 15n .It Li ".Ox 1.0" .Ox 1.0 .El . .Ss "BSD/OS マクロ" . .Pp .Dl 使い方: .Bsx Oo Ao バージョン Ac Oc ... .Pp .Bl -tag -width ".Li .Bsx\ 1.0" -compact -offset 15n .It Li ".Bsx 1.0" .Bsx 1.0 .El . .Ss "UNIX マクロ" . .Pp .Dl 使い方: .Ux ... .Pp .Bl -tag -width ".Li .Ux" -compact -offset 15n .It Li .Ux .Ux .El . .Ss "強調マクロ" . テキストは .Ql .Em マクロを用いて強調することができます。 通常強調に用いられるフォントはイタリック体です。 .Pp .Dl 使い方: .Em Ao 引数 Ac ... .Pp .Bl -tag -width ".Li .Em\ vide\ infra\ )\ )\ ," -compact -offset 15n .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 . デフォルト幅は 10n です。 . .Ss "フォントモード" . .Ql .Bf フォントモードは .Ql .Ef マクロで終了しなくてはなりません (後者のマクロは引数をとりません)。 フォントモードは別のフォントモード内に入れ子にできます。 .Pp .Ql .Bf は次の文法をもっています: .Pp .Dl .Bf Ao フォントモード Ac .Pp .Ao フォントモード Ac は次の 3 種類のうちのいずれかでなくてはなりません。 .Pp .Bl -tag -width ".Sy \&Sy | Fl symbolic" -compact -offset indent .It Sy \&Em | Fl emphasis .Ql .Em マクロがテキストのブロック全体に対して使用された場合と 同じになります。 .It Sy \&Li | Fl literal .Ql .Li マクロがテキストのブロック全体に対して使用された場合と 同じになります。 .It Sy \&Sy | Fl symbolic .Ql .Sy マクロがテキストのブロック全体に対して使用された場合と 同じになります。 .El .Pp いずれのマクロも呼び出し不可能であり、構文解析もされません。 . .Ss "囲い/クォートマクロ" . 囲いの概念はクォートと似たものです。 1 つ以上の文字列が引用符や括弧のような文字のペアで囲まれている オブジェクトを指します。 クォートと囲いという用語はこの文書を通して同じ意味で使われます。 ほとんどの 1 行の囲いマクロはクォートであることをほのめかすために、 小文字の .Ql q で終了しますが、例外もいくつかあります。 各々の囲いマクロに対し、開始マクロと終了マクロのペアもあり、 それぞれ小文字の .Ql o と .Ql c で終了します。 .Pp \# XXX .if t \ . ne 10 . .Bd -filled -offset 4n .Bl -column "クォート" "終了" "開始" "クォートされたリテラル" "`string' もしくは string" .Em クォート Ta Em 開始 Ta Em 終了 Ta Em 機能 Ta Em 結果 .No .Aq Ta .Ao Ta .Ac Ta "山括弧による囲い" Ta Ao string Ac .No .Bq Ta .Bo Ta .Bc Ta "角括弧による囲い" Ta Bo string Bc .No .Brq Ta .Bro Ta .Brc Ta "中括弧による囲い" Ta Bro string Brc .No .Dq Ta .Do Ta .Dc Ta "2 重引用符" Ta Do string Dc .No .Eq Ta .Eo Ta .Ec Ta "囲い文字列 (XX による)" Ta XXstringXX .No .Pq Ta .Po Ta .Pc Ta "括弧による囲い" Ta Po string Pc .No .Ql Ta Ta Ta "クォートされたリテラル" Ta So string Sc もしくは Li string .No .Qq Ta .Qo Ta .Qc Ta "まっすぐな 2 重引用符" Ta Qo string Qc .No .Sq Ta .So Ta .Sc Ta "1 重引用符" Ta So string Sc .El .Ed .Pp .Sq q および .Sq o で終わるマクロはすべてデフォルト幅が 12n です。 . .Bl -tag -width ".Li .Ec , .Eo" .It Li .Eo , .Ec これらのマクロはそれぞれ第 1 引数に囲い始めに使う文字列と 囲い終わりに使う文字列をとります。 .It Li .Es , .En オリジナルの troff プログラムでは、引数の数が 9 つまでという 制限がありましたので、(Eo, Ec とは) 別の 2 つのマクロが 実装されています。現在は非推奨になっています。 .Ql .Es は第 1 引数と第 2 引数に左囲い文字列および右囲い文字列を とります。この文字列は、 .Ql .En の引数を囲うのに使用されます。 デフォルト幅は、どちらのマクロも 12n です。 .It Li .Eq このマクロの第 1、第 2 引数はそれぞれ囲い始めに使う文字列と 囲い終わりに使う文字列であり、この文字列の後に 囲われる引数が続きます。 .It Li .Ql クォートされたリテラルマクロは troff モードと nroff モードで 違った挙動をします。 .Xr nroff で整形された場合、 クォートされたリテラルは常にクォートされます。 troff で整形された場合、その要素の幅が固定幅文字 3 文字分の幅よりも 小さいときのみクォートされます。 これにより、リテラル (固定幅) フォントへフォントを変更すると 目立たなくなってしまうような短い文字列がより見やすくなります。 .Pp デフォルト幅は 16n です。 .It Li .Pf プレフィックスマクロは第 1 引数と第 2 引数の間の ホワイトスペースをなくします: . .Bl -tag -width ".Li .Pf\ (\ Fa\ name2" -offset indent .It Li ".Pf ( Fa name2" .Pf ( Fa name2 .El .Pp . デフォルト幅は 12n です。 .Pp .Ql .Ns マクロ (後述参照) は同じようにサフィックスに働きます。 .It Li .Ap .Ql .Ap マクロはアポストロフィを追加し、特別なテキストモードから 抜けます。そして .Ql .No モードで続けます。 .El .Pp . クォートの例: . .Pp .Bl -tag -width ".Li .Bq\ Em\ Greek\ ,\ French\ ." -compact -offset indent .It Li .Aq .Aq .It Li ".Aq Pa ctype.h ) ," .Aq Pa 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 .It Li ".Em or Ap ing" .Em or Ap ing .El .Pp . 囲いマクロの入れ子についての良い例については、 オプションマクロ .Ql .Op を参照してください。 このマクロは上でリストされているような囲いマクロと同じベースの上に 作られています。 .Ql .Xo と .Ql .Xc 拡張引数リストマクロについては後で述べます。 . .Ss "無操作もしくは通常テキストマクロ" . .Ql .No マクロは、マクロコマンド行において整形されては .Em ならない パラメータ用に使用できます。 この英単語 (マクロでなく) をパラメータとして 本当に使いたい場合は、この単語 .Ql \&No に .Ql \e& を足すように注意してください。 .Pp .Dl 使い方: .No Ao 引数 Ac ... .Pp .Bl -tag -width ".Li .No\ test\ Ta\ with\ Ta\ tabs" -compact -offset 15n .It Li ".No test Ta with Ta tabs" .No test Ta with Ta tabs .El .Pp . デフォルト幅は 12n です。 . .Ss "空白なしマクロ" . .Ql .Ns マクロは、現在の位置とマクロの第 1 パラメータとの間に 空白を挿入するのを抑止します。 例えば、フラグと引数の間に空白を含まない古いスタイルの 引数リストを使う場合に便利です: .Pp .Dl "使い方:" ... Ao 引数 Ac \&Ns Oo Ao 引数 Ac Oc ... .Dl " " .Ns Ao 引数 Ac ... .\" 訳注: 2 行目 Dl マクロの第 1 引数の空白の数は 1 行目と一致させる .Pp .Bl -tag -width ".Li .Op\ Fl\ I\ Ns\ Ar\ directory" -compact -offset 15n .It Li ".Op Fl I Ns Ar directory" .Op Fl I Ns Ar directory .El .Pp 注: .Ql .Ns マクロは他のマクロ名が続かなければ、スペースを除去したあとに .Ql .No マクロを常に起動します。 コマンドとして使用される場合 (つまり、 .Sq 使い方 の行での 2 番目の形式です)、 .Ql .Ns マクロは .Ql .No と同一です。 . .Ss "セクションのクロスリファレンス" . .Ql .Sx マクロは同一文書内でのセクションのヘッダへの参照を指定します。 .Pp .Dl 使い方: .Sx Ao セクションの参照 Ac ... .Pp .Bl -tag -width ".Li .Sx\ FILES" -offset 15n .It Li ".Sx FILES" .Sx FILES .El .Pp . デフォルト幅は 16n です。 . .Ss 記号 . 記号体強調マクロは、記号の意味でも伝統的な英語の 使い方においても通常はボールド体マクロとなっています。 .Pp .Dl 使い方: .Sy Ao 記号 Ac ... .Pp .Bl -tag -width ".Li .Sy\ Important\ Notice" -compact -offset 15n .It Li ".Sy Important Notice" .Sy Important Notice .El .Pp . デフォルト幅は 6n です。 . .Ss 数学記号 . 数学記号やそれに似たものについては、このマクロを使用して ください。 .Pp .Dl 使い方: .Ms Ao 数学記号 Ac ... .Pp .Bl -tag -width ".Li .Ms\ sigma" -compact -offset 15n .It Li ".Ms sigma" .Ms sigma .El .Pp . デフォルト幅は 6n です。 . .Ss "参考文献と引用" . 次のマクロは多少なりとも参考文献を扱えるようにと意図したものです。 これらのマクロは、せいぜい .Xr refer 1 スタイルの参考文献のサブセットを手動で 作成しやすくする程度です。 .Pp .Bl -tag -width 6n -offset indent -compact .It Li .Rs 参考文献の開始 (引数はとりません)。 .Sx "SEE ALSO" セクションでは改行を挿入し、参考文献の終了マクロが 読み込まれるまで参考文献の情報を収集します。 .It Li .Re 参考文献の終了 (引数はとりません)。 参考文献が表示されます。 .It Li .%A 参考文献の作者名。1 回の呼び出しにつき、作者名をひとつ指定します。 .It Li .%B 書籍のタイトル。 .It Li .%C 市 / 場所 (まだ実装されていません)。 .It Li .%D 日付。 .It Li .%I 発行者/出版社名。 .It Li .%J 定期刊行物の名称。 .It Li .%N 発行番号。 .It Li .%O 追加情報。 .It Li .%P ページ番号。 .It Li .%Q 組織内部、あるいは外部の著者。 .It Li .%R 報告書の名称。 .It Li .%T 記事のタイトル。 .It Li .%V 巻数。 .El .Pp .Ql % で始まるマクロは呼び出し不可能ですが、 通常の方法で複数の引数をとることができます。 パラメータとしては .Ql .Tn マクロのみ扱います。その他のマクロを使うと 奇妙な出力が得られてしまいます。 .Ql .%B および .Ql .%T を .Ql .Rs/.Re 環境の外側では使用することができます。 .Pp 使用例: . .Bd -literal -offset indent \&.Rs \&.%A "Matthew Bar" \&.%A "John Foo" \&.%T "Implementation Notes on foobar(1)" \&.%R "Technical Report ABC-DE-12-345" \&.%Q "Drofnats College, Nowhere" \&.%D "April 1991" \&.Re .Ed .Pp 出力結果 . .Bd -ragged -offset indent .Rs .%A "Matthew Bar" .%A "John Foo" .%T "Implementation Notes on foobar(1)" .%R "Technical Report ABC-DE-12-345" .%Q "Drofnats College, Nowhere" .%D "April 1991" .Re .Ed . .Ss "商標名 (頭字語とタイプ名)" . 商標名マクロは、引数をより小さなフォントで出力します。 意図される使い方は、大文字の頭字語用に小さな大文字フォントを 似せて作ることです。 .Pp .Dl 使い方: .Tn Ao シンボル Ac ... .Pp .Bl -tag -width ".Li .Tn\ ASCII" -compact -offset 15n .It Li ".Tn DEC" .Tn DEC .It Li ".Tn ASCII" .Tn ASCII .El .Pp . デフォルト幅は 10n です。 . .Ss "拡張引数" . .Li .Xo と .Li .Xc マクロによって、 .Ql .It マクロ (後述) についてマクロ境界での引数リストを 拡張することができます。 .Li .Xo と .Li .Xc マクロは囲いを開いたり閉じたりする他のすべてのマクロに 対して同じように実装されている (もちろん文字は挿入しません) ということに注意してください。 つまり、次の例もこれらのマクロには当てはまります。 .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 -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 -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 Oo \&.Ar operator variable ... \&.Oc Xc .Ed .Pp . 結果は以下の通りです。 . .Bd -filled -offset indent .Bl -tag -width flag -compact .It Xo .Ic .ifndef .Oo \&! Oc Ns Ar variable Oo .Ar operator variable ... .Oc Xc .El .Ed .Pp . . .Sh "ページ構造領域" . .Ss "セクションヘッダ" . 次の .Ql .Sh セクションヘッダマクロは、すべてのマニュアルページで必須のものです。 残りのセクションヘッダはマニュアルページの作者の裁量において、 推奨されているものです。 .Ql .Sh マクロは構文解析されますが、一般的には呼び出し不可能です。 .Ql .Sh を呼び出すときだけは、このマクロは引数として使用することができます。 この場合、 .Ql .Sh 用のデフォルトフォントを再度有効にします。 .Pp デフォルト幅は 8n です。 . .Bl -tag -width ".Li .Sh\ RETURN\ VALUES" .It Li ".Sh NAME" .Ql ".Sh NAME" マクロは必須です。 これが指定されていないと、ヘッダとフッタ、それにデフォルトの ページレイアウトが設定されず、結果はかなり好ましくないものに なるでしょう。 .Sx NAME セクションは最低 3 つの項目からなります。 最初のものは名称マクロ .Ql .Nm であり、マニュアルページのサブジェクトとなります。 2 番目のものは名称説明マクロ .Ql .Nd であり、サブジェクト名を 3 つめの項目、 すなわちその名称の説明と分離します。 説明に割り当てられるスペースは小さいものですので、 できるだけ簡潔で分かりやすいものでなければなりません。 .Pp .Ql .Nd は全ての引数の頭に .Ql - , を印字します。 . .It Li ".Sh LIBRARY" このセクションは、セクション 2 および 3 の関数呼び出しの ためにあります。 このセクションには、 .Ql .Lb マクロ呼び出し 1 つのみが含まれている必要があります。 .Sx "ライブラリ名" を参照してください。 . .It Li ".Sh SYNOPSIS" .Sx SYNOPSIS セクションはそのマニュアルページのサブジェクトとなっている項目の 典型的な使用法を説明します。 .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 が必要です。 その他のいくつかのマクロが次に示すような書式行を生成するために 必要なことがあります: . .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 . .It Li ".Sh DESCRIPTION" ほとんどの場合、 .Sx "DESCRIPTION" セクションでの最初のテキストはそのコマンド、関数もしくは ファイルについての短い段落で、オプションの構文リストと それぞれの説明がそれに続きます。 そのようなリストを作成するには .Ql .Bl (リスト開始マクロ)、 .Ql .It (リスト項目マクロ)、 .Ql .El (リスト終了マクロ) を使用します (後述の .Sx リストとカラム セクションを参照)。 . .It Li ".Sh IMPLEMENTATION NOTES" 特定の実装に関する情報はここに置く必要があります。 . .It Li ".Sh RETURN VALUES" セクション 2, 3, 9 の関数の戻り値はここに来る必要があります。 .Ql .Rv を使用して、セクション 2 および 3 のライブラリ関数の .Sx RETURN VALUES セクションを生成することができます。 .Sx "戻り値" の項を参照してください。 .El .Pp . 次の .Ql .Sh セクションヘッダはマニュアルページの好ましいレイアウトの一部であり、 一貫性を保つために適切に使われなければなりません。 これらは使われる順番にリストされています。 . .Bl -tag -width ".Li .Sh\ COMPATIBILITY" .It Li ".Sh ENVIRONMENT" .Sx ENVIRONMENT セクションでは関連する環境変数および それらの振るまいや使用方法に関する手がかりを明らかにする 必要があります。 . .It Li ".Sh FILES" マニュアルページのサブジェクトによって使用されるか生成されるファイルで、 .Sx FILES セクション中でマクロ .Ql .Pa によってリストする必要があります。 . .It Li ".Sh EXAMPLES" 使用例を生成するにはいくつか方法があります。 詳細は後述の .Sx 使用例 セクションを参照してください。 . .It Li ".Sh DIAGNOSTICS" コマンドからの診断メッセージはこのセクションに置く必要があります。 . .It Li ".Sh COMPATIBILITY" 知られている互換性の問題 (例えば、非推奨になったオプションや パラメータ) をここにリストする必要があります。 . .It Li ".Sh ERRORS" 特定のエラーハンドリング、特にライブラリ関数 (マニュアルページのセクション 2, 3, 9) でのエラーハンドリングは ここで説明する必要があります。 .Ql .Er マクロはエラー (errno) を指定するのに使用されます。 . .It Li ".Sh SEE ALSO" .Sx "SEE ALSO" セクションには、そのマニュアルページの題材に関する資料への参照と 他の関連するマニュアルページへのクロスリファレンスが記載されます。 クロスリファレンスは .Ql .Xr マクロによって指定されます。 現在、 .Xr refer 1 スタイルのリファレンスには適合していません。 .Pp クロスリファレンスはセクション番号順、同一セクションにあるものは アルファベット順に並べ、コンマで区切ることを推奨します。 以下に例を示します: .Pp .Xr ls 1 , .Xr ps 1 , .Xr group 5 , .Xr passwd 5 . .It Li ".Sh STANDARDS" コマンドやライブラリ関数やファイルが、 .St -p1003.2 や .St -ansiC のような特定の実装によるものであれば、ここで記述します。 もしコマンドがどの規格にも基づいていなければ、その歴史は .Sx HISTORY のセクションで説明されなければなりません。 . .It Li ".Sh HISTORY" 特定の規格に基づいていないコマンドは、 このセクションでその歴史の概要を説明する必要があります。 . .It Li ".Sh AUTHORS" クレジットはここに置く必要があります。 人物名を指定するには .Ql .An マクロを使用する必要があります。 . .It Li ".Sh BUGS" あきらかな問題はここで記述します。 .El .Pp . ユーザ指定の .Ql .Sh セクションを追加することができます。 例えば、このセクションは以下のように設定されています。 . .Bd -literal -offset 15n \&.Sh "ページ構造領域" .Ed . .Ss "サブセクションヘッダ" . サブセクションヘッダはセクションヘッダとまったく同じ文法を しています。 .Ql .Ss は構文解析されますが、一般的に呼び出し不可能です。 このマクロは、 .Ql .Ss の呼び出し時にのみ引数として使用できます。このとき、 .Ql .Ss のデフォルトフォントが再度有効になります。 .Pp デフォルト幅は 8n です。 . .Ss "段落と行スペース" . .Bl -tag -width ".Li .Pp" .It Li .Pp .Ql .Pp 段落コマンドは必要な場合に行スペースを指定するために使われます。 このマクロは .Ql .Sh マクロや .Ql .Ss マクロの後、ならびに .Ql .Bl マクロや .Ql .Bd マクロの前では必要ありません (いずれのマクロも .Fl compact フラグが指定されていなければ垂直方向の距離を宣言します)。 .Pp このマクロは呼び出し不可能であり、構文解析もされません。そして 引数をとりません。別名は .Ql .Lp です。 .El . .\" XXX . .\" 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 のみで (オプションを何も与えていなければこれがデフォルトでもあります) オプションの途中で改行が入らないようにするのに便利です。 make コマンド行の引数を生成する例 ( .Sx この名前には何が の項を参照) において、キープは .Xr nroff がフラグと引数を別の行に分けないように使われています。 .Pp いずれのマクロも呼び出し不可能であり、構文解析もされません。 .Pp キープマクロについてはもっと作業をする必要があります。 特に .Fl line オプションは追加する必要があるでしょう。 . .Ss "例示とディスプレイ" . ディスプレイには 7 つのタイプがあります。 .Pp .Bl -tag -width ".Li .D1" .It Li .D1 (D-いちです) インデントされたテキストを 1 行表示します。 このマクロは構文解析されますが、呼び出し不可能です。 .Pp .D1 Fl ldghfstru .Pp これは次の指定で生成されたものです: .Li ".D1 Fl ldghfstru" . .It Li .Dl (D-エルです) インデントされた .Em リテラル テキストを 1 行表示します。 .Ql .Dl マクロの例は本ファイル中にわたって使われています。 これによって 1 行のテキストのインデント (表示) が可能になります。 デフォルトフォントは固定幅 (リテラル) に設定されます。 .Ql .Dl は構文解析されますが、呼び出し不可能です。 .Pp .Dl % ls -ldg /usr/local/bin .Pp これは、次の指定で生成されたものです: .Li ".Dl % ls -ldg /usr/local/bin" . .It Li .Bd ディスプレイ開始。 .Ql .Bd ディスプレイは .Ql .Ed マクロで終了しなければなりません。 これは、次の書式をとります: .Pp .Bd -ragged -compact .Bl -tag -width ".Li .Bd" -offset indent .It Li .Bd Xo .Bro \-literal | \-filled | \-unfilled | \-ragged | \-centered Brc .Oo \-offset Ao 文字列 Ac Oc Oo \-file Ao ファイル名 Ac Oc Oo \-compact Oc Xc .El .Ed .Pp . .Bl -tag -width ".Fl file Ao Ar ファイル名 Ac " -compact .It Fl ragged 行詰めされますが、右マージンは調整しません (左マージンのみです)。 .It Fl centered 現在の左マージンと右マージン間の中央線です。 線それぞれが中央揃えになるということに注意してください。 .It Fl unfilled 行詰めしません。テキストのブロックを入力されたままの状態で 表示します。改行もユーザが指定した通りに使われます。 このため、何の警告メッセージも出さずに長過ぎる行を 生成する可能性があります。 .It Fl filled 行詰めされたブロックを表示します。 テキストブロックが整形されます (つまり、 テキストは左右どちら側にも揃えられます)。 .It Fl literal リテラルフォント (通常固定幅) でブロックを表示します。 ソースコードや、単純にタブもしくは空白で整えられた テキストには便利です。 .It Fl file Ao Ar ファイル名 Ac .Fl file フラグに続いた名前を持ったファイルが読み込まれ、 指定されたディスプレイタイプで .Ql .Bd と .Ql .Ed マクロで囲まれたデータよりも前に表示されます。 ファイル中の .Xr troff/ Ns Nm \-mdoc コマンドはどんなものでも処理されます。 .It Fl offset Ao Ar 文字列 Ac .Fl offset が以下の文字列のいずれかとともに指定されていると、 その文字列は次のテキストのブロックのインデントのレベルを示すものとして 解釈されます。 . .Pp .Bl -tag -width ".Ar indent-two" -compact .It Ar left ブロックを現在の左マージンに揃えます。 これは .Ql .Bd のデフォルトのモードです。 .It Ar center ブロックを中央揃えにします。 残念ながら現時点では、 単にブロックの左側を仮想的な中央マージンに揃えるだけです。 .It Ar indent デフォルトのインデント値もしくはタブの分だけインデントします。 デフォルトのインデント値は .Ql .D1 および .Ql .Dl マクロでも使われていますので、この 2 つのディスプレイと 行が揃うことが保証されています。 インデント値は通常 6n つまり約 2/3 インチ (固定幅文字 6 つ分) です。 .It Ar indent-two デフォルトのインデント値の 2 倍分インデントします。 .It Ar right これはブロックをページの右端から約 2 インチ離して .Em 左 揃えします。 このマクロはちゃんと動作する必要があるのですが、 .Xr troff ではまったくちゃんと動作してくれていません。 .El .Pp . .Ao 文字列 Ac がそれ以外で正しい数値表現をしている場合 .Pf ( Sq Em u .Em 以外のスケール指示子を伴う)、 インデント用にその値を使用します。 スケール指示子のなかで最も役に立つものは .Sq m および .Sq n です。これらはいわゆる .Em \&Em と .Em "En square" を指定します。 これらはそれぞれ、現在のフォントでの文字 .Sq m および文字 .Sq n の幅とほぼ同じです ( nroff の出力については、 どちらのスケール指示子でも同じ値が得られます )。 .Ao 文字列 Ac が数値表現をしていない場合、文字列は .Nm \-mdoc マクロ名であるかどうか検査され、このマクロに関連する デフォルトのオフセット値が使われます。 最終的にすべてのテストが失敗した場合 the width of .Ao 文字列 Ac の幅 (固定幅フォントでのタイプセット) がオフセットと見なされます。 .It Fl compact ディスプレイを開始するときに垂直方向の空白を挿入しないようにします。 .El . .It Li .Ed ディスプレイの終了 (引数はとりません)。 .El . .Ss "リストとカラム" . リスト開始マクロ .Ql .Bl で開始できるリストには何種類かあります。 リスト中の項目は項目マクロ .Ql .It で指定され、各リストは .Ql .El マクロで終了しなければなりません。 リストはリスト自身やディスプレイの中で入れ子にすることができます。 リスト中でカラムを使ったり、カラムの中でリストを使ったりすることに ついては検証されていません。 .Pp さらに、タグ幅、リストのオフセット、コンパクトの度合 (項目間の空白行が許されているかどうか) のような リストの属性をいくつか指定することができます。 本ドキュメントのほとんどはタグ .Pf ( Fl tag ) スタイルリストで整形されています。 .Pp このマクロは次の文法規則を持っています: . .Pp .Bd -ragged -compact .Bl -tag -width ".Li .Bl" -offset indent -compact .It Li .Bl Xo .Bro \-hang | \-ohang | \-tag | \-diag | \-inset Brc .Oo \-width Ao 文字列 Ac Oc .Oo \-offset Ao 文字列 Ac Oc Oo \-compact Oc Xc .It Li .Bl Xo .No \-column Oo \-offset Ao 文字列 Ac Oc .Ao 文字列1 Ac Ao 文字列2 Ac ... Xc .It Li .Bl Xo .Bro \-item | \-enum Oo \-nested Oc | \-bullet | \-hyphen | \-dash Brc .Oo \-offset Ao 文字列 Ac Oc Oo \-compact Oc Xc .El .Ed .Pp . 次に、このリストタイプの詳細な解説を行います。 . .Pp .Bl -tag -width ".Fl column" -compact .It Fl bullet ビュレットリストです。 . .Bd -literal -offset indent \&.Bl -bullet -offset indent -compact \&.It 1 つ目のビュレットはここにきます。 \&.It 2 つ目のビュレットはここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -bullet -offset indent -compact .It 1 つ目のビュレットはここにきます。 .It 2 つ目のビュレットはここにきます。 .El .Pp . .It Fl dash No ( または Fl hyphen ) ダッシュ文字によるリストです。 . .Bd -literal -offset indent \&.Bl -dash -offset indent -compact \&.It 1 つ目のダッシュはここにきます。 \&.It 2 つ目のダッシュはここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -dash -offset indent -compact .It 1 つ目のダッシュはここにきます。 .It 2 つ目のダッシュはここにきます。 .El .Pp . .It Fl enum 箇条書きリストです。 . .Bd -literal -offset indent \&.Bl -enum -offset indent -compact \&.It 1 つ目の項目はここにきます。 \&.It 2 つ目の項目はここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -enum -offset indent -compact .It 1 つ目の項目はここにきます。 .It 2 つ目の項目はここにきます。 .El .Pp . 箇条書きリストを入れ子にしたい場合、 .Fl nested フラグを使用してください (第 2 レベルのリストが開始されます): . .Bd -literal -offset indent \&.Bl -enum -offset indent -compact \&.It 1 つ目の項目はここにきます。 \&.Bl -enum -nested -compact \&.It 2 つ目の項目はここにきます。 \&.It 3 つ目の項目はここにきます。 \&.It \&.El \&.It 4 つ目の項目はここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -enum -offset indent -compact .It 1 つ目の項目はここにきます。 .Bl -enum -nested -compact .It 2 つ目の項目はここにきます。 .It 3 つ目の項目はここにきます。 .El .It 4 つ目の項目はここにきます。 .El .Pp . .It Fl item リストの印をつけない .Fl item タイプのリストです。 . .Bd -literal -offset indent \&.Bl -item -offset indent \&.It 1 つ目の項目はここにきます。 1 つ目の項目はここにきます。 1 つ目の項目はここにきます。 \&.It 2 つ目の項目はここにきます。 2 つ目の項目はここにきます。 2 つ目の項目はここにきます。 \&.El .Ed .Pp . 生成結果は次の通りです: . .Pp .Bl -item -offset indent .It 1 つ目の項目はここにきます。 1 つ目の項目はここにきます。 1 つ目の項目はここにきます。 .It 2 つ目の項目はここにきます。 2 つ目の項目はここにきます。 2 つ目の項目はここにきます。 .El .Pp . .It Fl tag タグつきリストです。 タグ幅を指定するには .Fl width を使用してください。 . .Pp .Bl -tag -width "PPID" -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 "PPID" -compact -offset indent \&.It SL プロセスが sleep している時間 (ブロックされた秒数) \&.It PAGEIN そのプロセスによって、まだメモリにロードされていないページへの参照が 起こることにより生じたディスク \&.Tn I/O の回数 \&.It UID 数値表記によるプロセス所有者のユーザ ID \&.It PPID 数値表記による親プロセスの ID、プロセスの優先度 (割り込み不可の待機状態のときには、正でない値になる) \&.El .Ed .Pp . .It Fl diag 診断リストはセクション 4 の診断リストを生成するもので、 呼び出し可能なマクロが無視されることを除き、inset リストと似ています。 フラグ .Fl width は、この文脈では意味がありません。 .Pp 使用例: . .Bd -literal -offset indent \&.Bl -diag \&.It ここで Sy を使うことはできません。 このメッセージはすべて出力されます。 \&.El .Ed .Pp . 生成結果 . .Bl -diag .It ここで Sy を使うことはできません。 このメッセージはすべて出力されます。 .El .Pp . .It Fl hang ぶら下がりタグつきリストです。 . .Bl -hang -offset indent .It Em Hanged ラベル幅よりもラベルが小さい場合には ぶら下げられたラベルはタグつきリストと同じように見えます。 .It Em Longer hanged list labels ラベル幅より長いぶら下がりリストのラベルは、 タグつき段落ラベルとは違い、段落に溶け込みます。 .El .Pp 以上の文章を生成した、整形前のテキストは 次の通りです: . .Bd -literal -offset indent \&.Bl -hang -offset indent \&.It Em Hanged ラベル幅よりもラベルが小さい場合には ぶら下げられたラベルはタグつきリストと同じようにみえます。 \&.It Em Longer Hanged list labels ラベル幅より長いぶら下がりリストのラベルは、 タグつき段落ラベルとは違い、段落に溶け込みます。 \&.El .Ed .Pp . .It Fl ohang オーバハングタグ (overhanging tags) を用いたリストは 項目に対してインデントを使いません。 タグは別の行に出力されます。 .Pp .Bl -ohang -offset indent .It Sy SL プロセスが sleep している時間 (ブロックされた秒数) .It Sy PAGEIN そのプロセスによって、まだメモリにロードされていないページへの参照が 起こることで生じたディスク .Tn I/O の回数 .It Sy UID 数値表記によるプロセス所有者のユーザ ID .It Sy PPID 数値表記による親プロセスの ID、プロセスの優先度 (割り込み不可の待機状態のときには、正でない値になる) .El .Pp . 元のテキストは次の通りです: . .Bd -literal -offset indent \&.Bl -ohang -offset indent \&.It Sy SL プロセスが sleep している時間 (ブロックされた秒数) \&.It Sy PAGEIN そのプロセスによって、まだメモリにロードされていないページへの参照が 起こることで生じたディスク \&.Tn I/O の回数 \&.It Sy UID 数値表記によるプロセス所有者のユーザ ID \&.It Sy PPID 数値表記による親プロセスの ID、プロセスの優先度 (割り込み不可の待機状態のときには、正でない値になる) \&.El .Ed .Pp . .It Fl inset 次は、inset ラベルの例です: .Bl -inset -offset indent .It Em tag タグリスト (タグ段落とも呼びます) は バークレーのマニュアルで使われている最も一般的な 種類のリストです。 後で述べるように、 .Fl width 属性を使用してください。 .It Em diag 診断リストはセクション 4 の診断リストを生成し、 呼び出し可能なマクロを無視するという点を除けば inset リストと似ています。 .It Em hang ぶら下がりラベルは気分の問題です。 .It Em ohang オーバハングラベルは空白に制限がある場合には良いです。 .It Em inset inset ラベルは段落ブロックを制御するのに便利で、 .Nm \-mdoc マニュアルを別のフォーマットに変換するのに有用です。 .El .Pp 上の例を生成したソーステキストはこうなっています: . .Bd -literal -offset indent \&.Bl -inset -offset indent \&.It Em tag タグリスト (タグ段落とも呼びます) は バークレーのマニュアルで使われている最も一般的な 種類のリストです。 後で述べるように、 \&.Fl width 属性を使用してください。 \&.It Em diag 診断リストはセクション 4 の診断リストを生成し、 呼び出し可能なマクロを無視するという点を除けば inset リストと似ています。 \&.It Em hang ぶら下がりラベルは気分の問題です。 \&.It Em ohang オーバハングラベルは空白に制限がある場合には良いです。 \&.It Em inset inset ラベルは段落ブロックを制御するのに便利で、 \&.Nm \-mdoc マニュアルを別のフォーマットに変換するのに有用です。 \&.El .Ed .Pp . .It Fl column この種類のリストは複数カラムを生成します。 カラムの数および各カラムの幅は .Fl column リストへの引数、 .Aq Ar string1 , .Aq Ar string2 等によって決定されます。 .Aq Ar stringN が .Ql .\& (ドット) で開始し直後に有効な .Nm \-mdoc マクロ名が続く場合、 .Aq Ar stringN を解釈して結果の幅を使用します。 そうでない場合、 .Aq Ar stringN (固定幅フォントでのタイプセット) は .Ar N 番目の桁の幅になります。 .Pp .Ql .It 引数はそれぞれ構文解析され行を生成します。 行中の各列はタブや .Ql .Ta マクロで分けられた引数です。 .Pp 次の表、 . .Bl -column -offset indent ".Sy 文字列" ".Sy nroff" ".Sy troff" .It Sy 文字列 Ta Sy nroff Ta Sy troff .It Li <= Ta <= Ta \*(<= .It Li >= Ta >= Ta \*(>= .El .Pp . は次のようにして生成されています: . .Bd -literal -offset indent \&.Bl -column -offset indent ".Sy 文字列" ".Sy nroff" ".Sy troff" \&.It Sy 文字列 Ta Sy nroff Ta Sy troff \&.It Li <= Ta <= Ta \e*(<= \&.It Li >= Ta >= Ta \e*(>= \&.El .Ed .El .Pp . その他のキーワード: . .Bl -tag -width ".Fl indent Ao Ar 文字列 Ac" .It Fl width Ao Ar 文字列 Ac .Aq Ar 文字列 が .Ql .\& (ドット) で開始し直後に有効な .Nm \-mdoc マクロ名が続く場合、 .Aq Ar 文字列 を解釈し、その結果の幅を使います。 本ドキュメントのほとんどすべてのリストは このオプションを使用しています。 .Pp 使用例: . .Bd -literal -offset indent \&.Bl -tag -width ".Fl test Ao Ar 文字列 Ac" \&.It Fl test Ao Ar 文字列 Ac これは、 \&.Fl width フラグをタグリストと一緒に使うとどのように 働くかを見るためのもっと長い文です。 \&.El .Ed .Pp . 生成結果: . .Bl -tag -width ".Fl test Ao Ar 文字列 Ac" .It Fl test Ao Ar 文字列 Ac これは、 .Fl width フラグをタグリストと一緒に使うとどのように 働くかを見るためのもっと長い文です。 .El .Pp . .Ao 文字列 Ac が解釈される前に現在の .Nm \-mdoc の状態が保存されることに注意してください。 文字列が解釈された後ですべての変数が再度復元されます。 しかし、ボックス (囲いに使用される) は .Tn GNU .Xr troff 1 では保存されません。結果としては、醜いエラーを防ぐためには 引数は常に .Em 平衡がとれて いなくてはなりません。 例えば、本当に開き山括弧だけが必要である場合には .Ql ".Ao Ar 文字列" と書いてはだめで、代わりに .Ql ".Ao Ar 文字列 Xc" と書かなくてはなりません。 .Pp そうでない場合、 .Aq Ar 文字列 が正当な数値表現である場合 .Sq ( Em u .Em 以外のスケール指示子を伴う)、 インデント用にその値を使用します。 最も有用なスケール指示子は .Sq m と .Sq n です。 これらはいわゆる .Em \&Em および .Em "En square" を指定します。 これらはそれぞれ、現在のフォントでの文字 .Sq m および文字 .Sq n の幅とほぼ同じです (nroff の出力については、 どちらのスケール指示子でも同じ値が得られます)。 .Aq Ar 文字列 が数値表現をしていない場合、文字列は .Nm \-mdoc マクロ名であるかどうか検査され、このマクロに関連する デフォルトのオフセット値が使われます。 最終的にすべてのテストが失敗した場合 .Aq Ar 文字列 の幅 (固定幅フォントでのタイプセット) がオフセットと見なされます。 .Pp タグリストタイプ用に幅が指定されていない場合、 .Ql .It が起動される度に適切な幅を決定しようと試みます。 .Ql .It の第 1 引数が呼び出し可能なマクロである場合、 そのマクロのデフォルト幅が使われます。 そうでなければ、 .Ql .No のデフォルト幅が使われます。 .Pp .It Fl offset Ao Ar 文字列 Ac .Aq Ar 文字列 が .Ar indent である場合、デフォルトのインデント値 (通常 6n に設定されており、 .Ql .Dl または .Ql .Bd で使われる値と似ています) が使われます。 .Aq Ar 文字列 が正当な数値表現である場合 .Pf ( Sq Em u 以外のスケール指示子を伴う )、 その値をインデントに使用します。 最も有用なスケール指示子は .Sq m と .Sq n であり、これらはいわゆる .Em \&Em および .Em "En square" です。 これらはそれぞれ、それぞれ現在のフォントでの .Sq m と .Sq n の幅とほぼ同じです (nroff の出力については、 どちらのスケール指示子も同じ値をとります)。 .Ao 文字列 Ac が数値表現でない場合、その文字列が .Nm \-mdoc のマクロ名であるかどうか検査され、このマクロに関連する デフォルトのオフセット値が使われます。 最終的にすべてのテストが失敗した場合、 .Aq Ar 文字列 の幅 (固定幅フォントでのタイプセット) がオフセットとして とられます。 .It Fl compact リストの前およびリスト項目間に垂直方向の空白を挿入しないように します。 .El . . .Sh "その他のマクロ" . ここには、いままでのセクションにはうまく当てはまらなかった 残りのマクロのリストがあります。 次のマクロに対しては本物の使用例を見つけられませんでした。 それは .Ql .Me と .Ql .Ot です。この 2 つについても完璧を期するためにここに 文書化はしています。もしこの 2 つのマクロの 適切な使い方をご存知であれば .Mt bug-groff@gnu.org までメールを送ってください (例つきで)。 . .Bl -tag -width ".Li .Bt" .It Li .Bt は . .Bd -ragged -offset indent .Bt .Ed .Pp を表示します。 .Pp このマクロは呼び出し不可能であり、構文解析もされません。 また引数もとりません。 . .It Li .Fr .Pp .Dl 使い方: .Fr Ao 関数の戻り値 Ac ... .Pp このマクロは使わないでください。 このマクロは戻り値 (通常は数字 1 個) の直前での 改行を許してしまいます。 印刷時の振る舞いとしては悪いことです。 直前の単語と戻り値とを結合させるには .Ql \e~ を使用してください。 . .It Li .Hf (ヘッダ) ファイルをそのまま含めるにはこのマクロを 使ってください。 このマクロは、最初に .Ql File: とファイル名を表示し、その後で .Ao ファイル Ac の内容を表示します。 .Pp .Dl 使い方: .Hf Ao ファイル Ac .Pp このマクロは呼び出し不可能であり、構文解析もされません。 . .It Li .Lk 将来書かれる予定です。 . .It Li .Me 正確な使用方法は分かりません。 .Nm \-mdoc ソースファイル中の記述では .Dq "メニューエントリ" となっています。 .Pp デフォルト幅は 6n です。 . .It Li .Mt 将来書かれる予定です。 . .It Li .Ot 正確な使用方法は分かりません。 .Nm \-mdoc ソースファイル中の記述では .Dq "古い関数タイプ (fortran)" となっています。 . .It Li .Sm 空白モードを有効に (トグル) します。 .Pp .Dl 使い方: .Sm Oo on | off Oc ... .Pp 空白モードが off の場合、マクロ引数の間に空白は 挿入されません。引数なしで呼ばれた場合 (あるいは 次の引数が .Ql on でも .Ql off でもない場合) .Ql .Sm マクロは空白モードに入ります。 . .It Li .Ud マクロは . .Bd -ragged -offset indent .Ud .Ed .Pp を表示します。 .Pp このマクロは呼び出し不可能であり、構文解析もされません。 また引数もとりません。 .El . . .Sh "定義済み文字列" . 次の文字列が定義済みです: .Pp .Bl -column 文字列 infinity "troff " "まっすぐなダブルクォート" -offset indent .It Sy 文字列 Ta Sy nroff Ta Sy troff Ta Sy 意味 .It Li <= Ta <= Ta \*[<=] Ta "以下" .It Li >= Ta >= Ta \*[>=] Ta "以上" .It Li Rq Ta '' Ta \*[Rq] Ta "右側のダブルクォート" .It Li Lq Ta `` Ta \*[Lq] Ta "左側のダブルクォート" .It Li ua Ta ^ Ta \*[ua] Ta "上向き矢印" .It Li aa Ta \' Ta \*[aa] Ta "アキュートアクセント" .It Li ga Ta \` Ta \*[ga] Ta "グレーブアクセント" .It Li q Ta \&" Ta \*[q] Ta "まっすぐなダブルクォート" .It Li Pi Ta pi Ta \*[Pi] Ta "ギリシャ語のパイ" .It Li Ne Ta != Ta \*[Ne] Ta "不等号" .It Li Le Ta <= Ta \*[Le] Ta "以下" .It Li Ge Ta >= Ta \*[Ge] Ta "以上" .It Li Lt Ta < Ta \*[Lt] Ta "小なり" .It Li Gt Ta > Ta \*[Gt] Ta "大なり" .It Li Pm Ta +\- Ta \*[Pm] Ta "プラスマイナス" .It Li If Ta infinity Ta \*[If] Ta "無限" .It Li Am Ta \*[Am] Ta \*[Am] Ta "アンパサンド" .It Li Na Ta \*[Na] Ta \*[Na] Ta "非数値" .It Li Ba Ta \*[Ba] Ta \*[Ba] Ta "垂直線" .El .Pp カラムの名前 .Sy nroff と .Sy troff は少々誤解を招くものです。 .Sy nroff は .Tn ASCII 文字を表示しますが、 .Sy troff では利用可能なもののうち一番良いグリフ形式を 表示します。 例えば、Unicode を使用可能にした .Tn TTY デバイスはすべての文字列に対して適切なグリフ表現を 持っていますが、それに対して Latin1 に対して機能を強化した .Tn TTY デバイスはプラスマイナス記号しか持っていません。 .Pp 文字を 2 つ含んだ文字列名は .Ql \e*(xx として表記できます。 文字を 1 文字だけ含んだ文字列名は .Ql \e*x と表記できます。 どのような長さの文字列名に対しても、一般的な文法は .Ql \e*[xxx] となります ( これは .Tn GNU .Xr troff 1 拡張です)。 . . \# \#===================================================================== \# .Sh 診断 . 以前のバージョンの .Nm \-mdoc パッケージでは利用可能だったデバッグ用マクロ .Ql .Db は取り除かれました。なぜなら、 .Tn GNU .Xr troff 1 ではパラメータをチェックするのにもっと良いファシリティを 提供しているからです。さらに、このマクロパッケージには エラーや警告メッセージが多数追加されており、よりロバストで 饒舌なものになっています。 .Pp 唯一残ったデバッグ用マクロは .Ql .Rd であり、これはすべてのグローバルレジスタならびに文字列の レジスタダンプを出力するものです。 通常のユーザが使う必要は決してないでしょう。 . . .Sh "GROFF, TROFF, および NROFF を使用した整形" . デフォルトでは、このパッケージでは .Sq latin1 や .Sq unicode のような .Tn TTY デバイスで表示する場合には改ページやヘッダ、フッタは 禁止されており、マニュアルをオンラインで効率良く 見ることができるようになっています。 この振る舞いは、 .Xr groff 1 を呼んでいるときにレジスタ .Ql cR に 0 を指定することで変更することができます (例えば、 .Tn TTY 出力のハードコピーを作成したいときなど)。 .Pp .Dl groff -Tlatin1 -rcR=0 -mdoc foo.man > foo.txt .Pp 両面印刷用には、レジスタ .Ql D を 1 に設定してください: .Pp .Dl groff -Tps -rD1 -mdoc foo.man > foo.ps .Pp ドキュメントのフォントサイズを 11pt や 12pt に変更したい 場合は、レジスタ .Ql S をそれに合わせて設定してください: .Pp .Dl groff -Tdvi -rS11 -mdoc foo.man > foo.dvi .Pp レジスタ .Ql S は .Tn TTY デバイスに対しては無視されます。 . . .Pp 行およびタイトルの長さを変えたい場合、それぞれレジスタ .Ql LL と .Ql LT を設定してください: .Pp .Dl groff -Tutf8 -rLL=100n -rLT=100n -mdoc foo.man | less .Pp 設定されていない場合、TTY デバイスに対してはレジスタ値は 78n に、 その他の場合 6.5i になります。 .Sh 関連ファイル . .Bl -tag -width mdoc/doc-ditroff -compact .It Pa doc.tmac 主なマニュアル用マクロパッケージです。 .It Pa mdoc.tmac .Pa doc.tmac を呼ぶラッパファイルです。 .It Pa mdoc/doc-common 共通する文字列、定義、および印刷出力に関連する項目です。 .It Pa mdoc/doc-nroff .Tn TTY 出力デバイス用に使用される定義です。 .It Pa mdoc/doc-ditroff その他すべてのデバイス用に使用される定義です。 .It Pa mdoc.local ローカルマシンでの追加項目およびカスタマイズ項目です。 .It Pa andoc.tmac このファイルは .Nm \-mdoc パッケージと .Nm \-man パッケージのどちらを使用すべきかをチェックします。 .El . . .Sh "関連項目" . .Xr groff 1 , .Xr man 1 , .Xr troff 1 , .Xr groff_man 7 . . .Sh バグ . セクション 3f はヘッダルーチンには追加されていません。 .Pp .Ql \&.Nm .Sx NAME セクションにおいては、フォントを変更するべきです。 .Pp 行の長さが短すぎる場合に行が分割されるのを防ぐために .Ql \&.Fn がチェックを行う必要があります。 ときどき、最後の括弧が分割されることがあり、 行詰めモードであるときにおかしな結果になることがあります。 .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. . .\" Local Variables: .\" mode: nroff .\" End: .\" .SH 履歴 .\" Yoshiteru Kageyama 2001/06/10 mdoc.samples.7 .\" を参考に翻訳 .\" MORI Kouji 2001/08/21 訳チェック diff --git a/ja_JP.eucJP/man/man7/hier.7 b/ja_JP.eucJP/man/man7/hier.7 index b8c2a8b207..4c69aeea49 100644 --- a/ja_JP.eucJP/man/man7/hier.7 +++ b/ja_JP.eucJP/man/man7/hier.7 @@ -1,809 +1,810 @@ .\" 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 -.\" %FreeBSD: src/share/man/man7/hier.7,v 1.86 2003/08/08 11:15:57 simon Exp % +.\" %FreeBSD: src/share/man/man7/hier.7,v 1.87 2003/09/13 16:23:49 eivind Exp % .\" .\" $FreeBSD$ .Dd June 5, 1993 .Dt HIER 7 .Os .Sh 名称 .Nm hier .Nd ファイルシステムのレイアウト .Sh 解説 ファイルシステムの階層構成についての概略です。 .Bl -tag -width "/stand/" .It Pa / ファイルシステムのルートディレクトリ。 .It Pa /bin/ ユーザ用ユーティリティの基本的なもの。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /boot/ オペレーティングシステムのブートストラップ中に使用される プログラムと設定ファイル。 .Pp .Bl -tag -width defaults/ -compact .It Pa defaults/ デフォルトのブートストラップ用設定ファイル。 .Xr loader.conf 5 参照。 .It Pa kernel/ カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Pa modules/ サードパーティのロード可能なカーネルモジュール。 .Xr kldstat 8 参照。 .El .It Pa /cdrom/ CD-ROM ドライブのデフォルトマウントポイント .Xr ( sysinstall 8 が作成します)。 .It Pa /compat/ 通常は、 .Pa /usr/compat へのリンクです。 そうでない場合、 .Pa /usr/compat コメントがあてはまります。 .Xr ( sysinstall 8 が作成します)。 .It Pa /dev/ ブロックデバイスおよびキャラクタデバイスファイル。 .Pp .Bl -tag -width ".Pa fd/" -compact .It Pa fd/ ファイル記述子ファイル。 .Xr \&fd 4 参照。 .El .It Pa /dist/ .Xr sysinstall 8 が使用するマウントポイント。 .It Pa /etc/ システムの設定ファイル、およびスクリプト。 .Pp .Bl -tag -width "disklabels/" -compact .It Pa defaults/ デフォルトのシステム設定ファイル。 .Xr rc 8 参照。 .It Pa gnats/ gnats 設定ファイル。 .Xr send-pr 1 参照。 .It Pa isdn/ isdn4bsd の設定ファイル。 .Xr isdnd 8 参照。 .It Pa localtime ローカルタイムゾーン情報。 .Xr ctime 3 参照。 .It Pa mail/ sendmail の制御情報。 .It Pa mtree/ mtree 設定ファイル。 .Xr mtree 8 参照。 .It Pa namedb/ named 設定ファイル。 .Xr named 8 参照。 .It Pa pam.d/ プラグ可能認証モジュール (Pluggable Authentication Modules; PAM) ライブラリの設定ファイル。 .Xr pam 8 参照。 .It Pa periodic/ .Xr cron 8 により、毎日/毎週/毎月実行されるスクリプト。 .Xr periodic 8 参照。 .It Pa ppp/ .Xr ppp 8 ppp 設定ファイル。 .Xr ppp 8 参照。 .It Pa ssl/ OpenSSL 設定ファイル。 .El .It Pa /kernel カーネルの pure な実行可能ファイル (ブート時にメモリに読み込まれる オペレーティングシステム)。 .It Pa /modules/ ロード可能なカーネルモジュール。 .Xr kldstat 8 参照。 .It Pa /mnt/ 通常、システム管理者が一時的なマウントポイントとして使用する 空のディレクトリ。 .It Pa /proc/ プロセスファイルシステム。 .Xr procfs 5 , .Xr mount_procfs 8 参照。 .It Pa /rescue/ 緊急回復時に使用される、静的にリンクされたプログラム群です。 .Xr rescue 8 を参照してください。 .It Pa /root/ root のホームディレクトリ。 .It Pa /sbin/ システムプログラム、および基本的な管理者用ユーティリティ。 シングルユーザ環境、マルチユーザ環境どちらでも使用する。 .It Pa /stand/ スタンドアロン環境で使用されるプログラム。 .It Pa /tmp/ システムリブートをまたがった永続性が保証されない、一時ファイル。 .It Pa /usr/ ユーザ用ユーティリティ、およびアプリケーションの大部分を含む。 .Pp .Bl -tag -width "libdata/" -compact .It Pa bin/ 一般的なユーティリティ、プログラミングツール、アプリケーション。 .It Pa compat/ Linux 等の他のオペレーティングシステムとのバイナリ互換性をサポートするために 必要なファイル .Xr ( sysinstall 8 が作成します)。 .It Pa games/ 有用でちょっとふざけたプログラム。 .It Pa include/ 標準 C 言語インクルードファイル。 .Pp .Bl -tag -width "kerberos5/" -compact .It Pa arpa/ インターネットサービスプロトコルのための C 言語インクルードファイル。 .It Pa cam/ Common Access Methods Layer 用 C インクルードファイル。 .Bl -tag -width "kerberos5/" -compact .It Pa scsi/ CAM 上の SCSI デバイス。 .El .It Pa dev/ 様々な .Fx デバイスのプログラミング用の C インクルードファイル。 .Bl -tag -width "kerberos5/" -compact .It Pa ic/ ドライバ/バス独立なハードウェア回路を記述する、様々なヘッダファイル。 .It Pa ofw/ OpenFirmware サポート。 .It Pa ppbus/ パラレルポートバス。 .Xr ppbus 4 参照。 .It usb/ USB サブシステム。 .It Pa utopia/ ATM インタフェース用の物理チップドライバ。 .Xr utopia 4 参照。 .It Pa wi/ .Xr wi 4 WaveLAN ドライバ。 .El .It Pa fs/ .Bl -tag -width "kerberos5/" -compact .It Pa fdescfs/ プロセス毎のファイル記述子ファイルシステム。 .It Pa fifofs/ .St -p1003.1 FIFO ファイルシステム。 .It Pa msdosfs/ MS-DOS ファイルシステム。 .It Pa ntfs/ NTFS ファイルシステム。 .It Pa nullfs/ ループバックファイルシステム。 .It Pa nwfs/ NetWare ファイルシステム。 .It Pa portalfs/ ポータルファイルシステム。 .It Pa procfs/ プロセスファイルシステム。 .It Pa smbfs/ SMB/CIFS ファイルシステム。 .It Pa umapfs/ uid/gid マッピングを変えるファイルシステム .It Pa unionfs ユニオンファイルシステム。 .El .It Pa g++/ GNU C++ 言語インクルードファイル。 .Bl -tag -width "kerberos5/" -compact .It Pa std/ GNU C++ 言語 libstdc++ インクルードファイル。 .El .It Pa isc/ ISC ユーティリティライブラリ libisc インクルードファイル。 .It Pa isofs/ .Bl -tag -width "kerberos5/" -compact .It Pa cd9660/ iso9660 形式ファイルシステム。 .El .It Pa libmilter/ libmilter 用の C インクルードファイルであり、 .Xr sendmail 8 メールフィルタ の API です。 .It Pa machine/ マシン固有機能の C 言語インクルードファイル。 .It Pa net/ その他のネットワーク機能用 C 言語インクルードファイル。 .It Pa netatalk/ Appletalk プロトコル。 .It Pa netatm/ ATM のインクルードファイル。 .Xr atm 8 参照。 .It Pa netinet/ インターネット標準プロトコル用 C 言語インクルードファイル。 .Xr inet 4 参照。 .It Pa netinet6/ インターネットプロトコルバージョン 6 用の C インクルードファイル。 .Xr inet6 4 参照。 .It Pa netipx/ IPX/SPX プロトコルスタック。 .It Pa netkey/ カーネルの鍵管理サービス。 .It Pa netnatm/ NATM インクルードファイル。 .Xr natm 4 参照。 .It Pa netsmb/ SMB/CIFS リクエスタ。 .It Pa nfs/ NFS (Network File System) 用 C 言語インクルードファイル。 .It Pa objc/ Objective C のインクルードファイル。 .It Pa posix4/ POSIX リアルタイム拡張のインクルードファイル。 .Xr p1003_1b 9 参照。 .It Pa openssl/ OpenSSL (Cryptography/SSL ツールキットの) ヘッダ。 .It Pa pccard/ PC-CARD コントローラ。 .It Pa protocols/ Berkeley サービスプロトコル用 C 言語インクルードファイル。 .It Pa readline/ ユーザからの一行入力機能 (編集機能付き)。 .Xr readline 3 参照。 .It Pa rpc/ リモート手続き呼び出し。 .Xr rpc 3 参照。 .It Pa rpcsvc/ RPC サービス構造の定義。 .Xr rpc 3 参照。 .It Pa security/ PAM。 .Xr pam 8 参照。 .It Pa sys/ システム用 C 言語インクルードファイル (カーネルデータ構造)。 .\" .It Pa tcl/ .\" Tcl 言語。 .\" .Xr Tcl n .\" 参照。 .\" .Bl -tag -width "kerberos5/" -compact .\" .It Pa generic/ .\" ??? .\" .It Pa unix/ .\" ??? .\" .El .It Pa ufs/ UFS (U-word File System) 用 C 言語インクルードファイル。 .Bl -tag -width "kerberos5/" -compact .It Pa ffs/ Fast filesystem。 .It Pa ufs/ UFS ファイルシステム。 .El .It Pa vm/ 仮想記憶。 .Xr vmstat 8 参照。 .El .Pp .It Pa lib/ アーカイブライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out アーカイブライブラリ。 .It Pa compat/ 互換性維持用の共有ライブラリ。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 後方互換ライブラリ。 .El .El .Pp .It Pa libdata/ その他のユーティリティデータファイル。 .Bl -tag -width Fl -compact .It Pa doscmd/ doscmd が使用するファイル (ドライバ、フォント等)。 .Xr doscmd 1 参照。 .Bl -tag -width 6n -compact .It Pa fonts/ doscmd が使用するフォント。 .El .It Pa gcc/ ??? .It Pa ldscripts/ リンカスクリプト。 .Xr ld 1 参照。 .It Pa lint/ さまざまな lint 用ライブラリ (事前に構築されている)。 .Xr lint 1 参照。 .It Pa msdosfs/ 文字集合変換表。 .El .It Pa stallion/ Stallion シリアルコントローラ用ファームウェアイメージ。 .Xr stl 4 参照。 .El .Pp .It Pa libexec/ システムデーモンおよびシステムユーティリティ。 (他のプログラムから実行されるもの)。 .Bl -tag -width Fl -compact .It Pa aout/ a.out 実行形式を操作するユーティリティ。 .It Pa elf/ ELF 実行形式を操作するユーティリティ。 .It Pa lpr/ LP プリントシステムのユーティリティとフィルタ。 .Xr lpr 1 参照。 .It Pa sendmail/ .Xr sendmail 8 バイナリ。 .Xr mailwrapper 8 参照。 .It Pa sm.bin/ .Xr sendmail 8 用制限付きシェル。 .Xr smrsh 8 参照。 .Pp .It Pa local/ ローカルの実行可能ファイル、ライブラリなど。 .Fx ports フレームワークのデフォルトのインストール先としても使用されます。 local/以下では、 .Nm で /usr に関して 記述された一般的な配置が使用されます。 例外は、man ディレクトリ (local/share/ の下ではなく local/ の直下に存在)、 ports のドキュメント (share/doc// に置かれます)、 /usr/local/etc (/etc の模倣) です。 .It Pa obj/ アーキテクチャ依存のターゲットツリー。 /usr/src ツリーを構築することで作成される。 .It Pa ports/ .Fx ports コレクション (オプション扱い)。 .It Pa sbin/ (ユーザによって実行される) システムデーモン、およびシステムユーティリティ。 .It Pa share/ アーキテクチャに依存しないファイル。 .Pp .Bl -tag -width "calendar/" -compact .It Pa calendar/ 事前に組み立てられた calendar ファイルいろいろ。 .Xr calendar 1 参照。 .It Pa dict/ 単語リスト。 .Xr look 1 参照。 .Pp .Bl -tag -width Fl -compact .It Pa freebsd .Fx 固有の術語、固有の名前、隠語。 .It Pa words 一般の単語 .It Pa web2 Webster's 2nd International からの単語 .It Pa papers/ リファレンスデータベース。 .Xr refer 1 参照。 .El .Pp .It Pa doc/ その他の文書。 ( .Tn USENIX association から入手できる) .Bx マニュアルのほとんどのソース。 .Bl -tag -width Fl -compact .It Pa FAQ/ しばしば行なわれる質問とその答え (Frequently Asked Questions)。 .It Pa IPv6/ IPv6 の実装に関する注。 .It Pa bind/ BIND (Berkeley Internet Name Domain) に属する文書。 .It Pa es/ /usr/share/doc 中の文書のスペイン語への翻訳。 .It Pa handbook/ .Fx ハンドブック .It Pa ja/ /usr/share/doc 中の文書の日本語への翻訳。 .It Pa ncurses/ ncurses に属する HTML 文書。 .Xr ncurses 3X 参照 .It Pa ntp/ Network Time Protocol に属する HTML 文書。 .It Pa papers/ UNIX 関連の論文 .It Pa psd/ UNIX プログラマ用補助文書 .It Pa ru/ /usr/share/doc 中の文書のロシア語への翻訳。 .It Pa smm/ UNIX システム管理者用マニュアル .It Pa tutorials/ .Fx チュートリアル。 .It Pa usd/ UNIX ユーザ用補助文書 .It Pa zh/ /usr/share/doc 中の文書の中国語への翻訳。 .El .Pp .It Pa examples/ 一般ユーザやプログラマ向けのさまざまな用例。 .It Pa games/ 各種のゲームで使用される ASCII テキストファイル。 .It Pa groff_font/ デバイス名ごとに用意されたデバイス記述ファイル。 .It Pa info/ GNU Info ハイパーテキストシステム。 .It Pa isdn/ ISDN。 .It Pa locale/ ローカル化関係のファイル。 .Xr setlocale 3 参照。 .It Pa man/ マニュアルページ。 .It Pa me/ me マクロパッケージで使用するマクロ。 .Xr me 7 参照。 .It Pa misc/ その他システム全体の ASCII テキストファイル。 .Bl -tag -width Fl -compact .It Pa fonts/ ??? .It Pa pcvtfonts/ pcvt フォント。 .Xr pcvt 4 参照。 .It Pa termcap 端末の特性を記述するデータベース。 .Xr termcap 5 参照。 .El .It Pa mk/ make 用テンプレート。 .Xr make 1 参照。 .It Pa nls/ 各国語サポート (National Lanuguage Support) ファイル。 .Xr mklocale 1 参照。 .It Pa pcvt/ pcvt の文書とその他の例。 .Xr pcvt 4 参照。 .It Pa sendmail/ .Xr sendmail 8 の設定ファイル。 .It Pa skel/ 新しいアカウントのための . (ドット) ファイルの例。 .It Pa syscons/ syscons が使用するファイル。 .Xr syscons 4 参照。 .Bl -tag -width "scrnmaps/xx" -compact .It Pa fonts/ コンソールフォント。 .Xr vidcontrol 1 と .Xr vidfont 1 参照。 .It Pa keymaps/ コンソールキーボードマップ。 .Xr kbdcontrol 1 と .Xr kbdmap 1 参照。 .It Pa scrnmaps/ コンソールスクリーンマップ。 .El .It Pa tabset/ 各種端末用タブ記述ファイル。termcap ファイルの中で使用される。 .Xr termcap 5 参照。 .It Pa tmac/ テキスト処理マクロ。 .Xr nroff 1 および .Xr troff 1 参照。 .It Pa vi/ .Xr vi 1 のローカライズサポートとユーティリティ。 .It Pa zoneinfo/ タイムゾーン設定情報。 .Xr tzfile 5 参照。 .El .It Pa src/ .Bx とサードバーティとローカルのソースファイル。 .Pp .Bl -tag -width "kerberos5/" -compact .It Pa bin/ /bin 内のファイルのソース。 .It Pa contrib/ 寄贈されたソフトウェアのソース。 .It Pa crypto/ 寄贈された暗号化ソフトウェアのソース。 .It Pa etc/ /etc 内のファイルのソース。 .It Pa games/ /usr/games 内のファイルのソース。 .It Pa gnu/ GNU Public Licence で保護されたユーティリティ。 .It Pa include/ /usr/include 内のファイルのソース。 .It Pa kerberos5/ Kerberos version 5 のビルドインフラストラクチャ。 .It Pa lib/ /usr/lib 内のファイルのソース。 .It Pa libexec/ /usr/libexec 内のファイルのソース。 .It Pa release/ .Fx のリリースを生成するために必要なファイル。 .It Pa sbin/ /sbin 内のファイルのソース。 .It Pa secure/ /usr/src/crypto 中のファイル用のビルドディレクトリ。 .It Pa share/ /usr/share 内のファイルのソース。 .It Pa sys/ カーネルのソースファイル。 .It Pa tools/ .Fx のメンテナンスとテストに使用するツール。 .It Pa usr.bin/ /usr/bin 内のファイルのソース。 .It Pa usr.sbin/ /usr/sbin 内のファイルのソース。 .El .Pp .It Pa X11R6/ X11R6 配布パッケージの実行可能形式ファイル、ライブラリなど (オプション扱い)。 .Bl -tag -width "include/" -compact .It Pa bin/ X11R6 のバイナリ (サーバ、ユーティリティ、ローカルな packages/ports)。 .It Pa etc/ X11R6 の設定ファイルとスクリプト。 .It Pa include/ X11R6 のインクルードファイル。 .It Pa lib/ X11R6 のライブラリ。 .It Pa man/ X11R6 のマニュアルファイル。 .It Pa share/ アーキテクチャ独立なファイル。 .El .El .It Pa /var/ さまざまな用途のログファイル、一時ファイル、遷移的ファイル、 スプールファイル。 .Pp .Bl -tag -width "preserve/" -compact .It Pa account/ システムアカウンティングファイル。 .Pp .Bl -tag -width Fl -compact .It Pa acct 実行アカウントファイル。 .Xr acct 5 参照。 .El .Pp .It Pa at/ 指定した時間に動くコマンドのスケジュールファイル。 .Xr \&at 1 参照。 .Bl -tag -width "preserve/" -compact .It Pa jobs/ ジョブファイルを含むディレクトリ。 .It Pa spool/ 出力スプールファイルを含むディレクトリ。 .El .Pp .It Pa backups/ さまざまなバックアップファイル。 .It Pa crash/ カーネルクラッシュダンプを保存するデフォルトのディレクトリ。 .Xr crash 8 と .Xr savecore 8 参照。 .It Pa cron/ cron が使用するファイル。 .Xr cron 8 参照。 .Bl -tag -width "preserve/" -compact .It Pa tabs/ crontab ファイル。 .Xr crontab 5 参照。 .El .Pp .It Pa db/ システム固有のさまざまなデータベースファイル。自動生成される。 .It Pa empty/ -特権分離のために +特別に空のディレクトリが必要なプログラムによって使用される、空のディレクトリ。 +例えば、特権分離のために .Xr sshd 8 -が使用する空のディレクトリ。 +が使用します。 .Xr sshd 8 参照 .It Pa games/ さまざまなゲームのステータスおよびスコアファイル。 .It Pa heimdal/ Kerberos サーバデータベース。 .Xr kdc 8 参照。 .It Pa log/ さまざまなシステムログファイル。 .Pp .Bl -tag -width Fl -compact .It Pa wtmp login/logout ログ。 .Xr wtmp 5 参照。 .El .Pp .It Pa mail/ ユーザのメールボックスファイル。 .It Pa msgs/ システムメッセージのデータベース。 .Xr msgs 1 参照。 .It Pa preserve/ エディタの不慮の死の際に保存されるファイルを一時的に安置するディレクトリ。 .Xr \&ex 1 参照。 .It Pa quotas/ ファイルシステムのクォータ情報のファイル。 .It Pa run/ ブートされてからのシステムについての各種情報を記述した システム情報ファイル。 .Pp .Bl -tag -width Fl -compact .It Pa named/ .Dq bind ユーザが書き込み可能です。 .Xr named 8 参照。 .It Pa ppp/ コマンドの接続ソケット用に、 .Dq network グループが書き込み可能です。 .Xr ppp 8 参照。 .It Pa utmp 現在のユーザについてのデータベース。 .Xr utmp 5 参照。 .El .Pp .It Pa rwho/ rwho データファイル。 .Xr rwhod 8 , .Xr rwho 1 , .Xr ruptime 1 参照。 .It Pa spool/ さまざまなプリンタ、メールシステムのスプールディレクトリ。 .Pp .Bl -tag -width Fl -compact .It Pa ftp/ 一般に ~ftp となる部分。anonymous ftp のルートディレクトリ。 .It Pa mqueue/ 配送されていないメールのキュー。 .Xr sendmail 8 参照。 .It Pa output/ ラインプリンタ用スプールディレクトリ。 .El .Pp .It Pa tmp/ システムリブートをまたがって保持される、一時ファイル。 .Bl -tag -width Fl -compact .It Pa vi.recover/ vi のリカバリファイルを格納しておくディレクトリ。 .El .It Pa yp NIS マップ。 .El .El .Sh 注 このマニュアルページはデフォルトの .Fx ファイルシステムレイアウトを 記述しており、 各システムの実際の階層構造はシステム管理者の裁量に委ねられています。 よく維持管理されたインストールにおいては、 カスタマイズされた本ドキュメントが付属するでしょう。 .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 マニュアルページは .At v7 で登場しました。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai 98-12-26 diff --git a/ja_JP.eucJP/man/man7/ports.7 b/ja_JP.eucJP/man/man7/ports.7 index 17e39a63be..09a40400a5 100644 --- a/ja_JP.eucJP/man/man7/ports.7 +++ b/ja_JP.eucJP/man/man7/ports.7 @@ -1,410 +1,407 @@ .\" .\" 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. .\" -.\" %FreeBSD: src/share/man/man7/ports.7,v 1.37 2003/06/23 20:01:58 ru Exp % +.\" %FreeBSD: src/share/man/man7/ports.7,v 1.38 2003/09/13 16:16:31 eivind Exp % .\" .\" $FreeBSD$ .Dd January 25, 1998 .Dt PORTS 7 .Os .Sh 名称 .Nm ports .Nd 寄贈されたアプリケーション .Sh 解説 .Fx ports コレクション によって、ユーザや管理者は簡単にアプリケーションをインストールする ことができます。 .Em port はそれぞれ、オリジナルのソースコードを .Bx 上でコンパイルして実行 させるために必要なパッチのすべてを含んでいます。アプリケーションの コンパイルは、 port のディレクトリで .Nm make Cm build と入力するだけで簡単にできます。 port の .Pa Makefile は、ローカルディスクからもしくは FTP を使って、自動的にアプリケーションの ソースコードを取得 .Pq fetch して、自分のシステムでそれを展開して、 パッチを当て、コンパイルします。すべてが順調に進んだ場合、 .Nm make Cm install を実行することにより、アプリケーションがインストールされます。 .Pp インストールされたシステムよりも新しい ports を、 .Fx リポジトリからダウンロードして使用できます。 ただし、最初に適切な .Dq "アップグレードキット" を .Pa http://www.FreeBSD.org/ports/ から取得してインストールすることが重要です! 新しい ports をダウンロードするときには、 .Xr portcheckout 1 スクリプト (もちろんこれも port です!) が役立つでしょう。 .Pp port の利用に関してさらに情報が必要ならば、 .%B "The FreeBSD Handbook" の .Dq "Packages and Ports" (原文 .Pa file:/usr/share/doc/en_US.ISO8859-1/books/handbook/ports.html または、 .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports.html 、和文 .Pa file:/usr/share/doc/ja_JP.eucJP/books/handbook/ports.html または、 .Pa http://www.FreeBSD.org/doc/ja_JP.eucJP/books/handbook/ports.html ) に目を通して下さい。 port を新規に作成するための情報については、 .%B "The Porter's Handbook" .Pa ( file:/usr/share/doc/porters-handbook/index.html または、 .Pa http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/ ) に目を通して下さい。 .Sh ターゲット ターゲットのいくつかは、サブディレクトリを再帰的に make して行きます。 これにより、例えば、 .Dq Li biology の port すべてをインストールすることが できます。再帰的に make を行なうターゲットは、 .Cm build , checksum , clean , configure , .Cm depends , extract , fetch , install , .Cm package です。 .Pp 次のターゲットは、それぞれすぐ手前のターゲットによって順に自動的に 実行されます。すなわち、 .Cm build は、 (必要があれば、) .Cm install によって実行されます。以下のターゲットそれぞれについて、同様のルールが .Cm fetch まで順次適用されます。 通常は、ターゲットとして、 .Cm install を指定するだけでよいはずです。 .Bl -tag -width ".Cm configure" .It Ar fetch .Va MASTER_SITES と .Va PATCH_SITES でリストされたサイトから、 この port を構築するために必要なファイルすべてを取得 .Pq fetch します。 .Va FETCH_CMD と .Va MASTER_SITE_OVERRIDE とを参照して下さい。 .It Cm checksum 取得した distfile のチェックサムが port で動作確認されたものと 一致するかどうかを検証します。 .Va NO_CHECKSUM を定義することで、このステップを飛ばすことができます。 .It Cm depends 現在の port と依存関係にある port をインストール (もしくは、必要がある場合のみコンパイル) します。ターゲット .Cm extract もしくは .Cm fetch により呼び出された場合、 .Cm fetch-depends , .Cm build-depends などとしてひとつずつ実行されます。 .Va NO_DEPENDS を定義することで、このステップを飛ばすことができます。 .It Cm extract distfile を作業用ディレクトリに展開します。 .It Cm patch port に必要なパッチすべてを適用します。 .It Cm configure port を構成 (configure) します。port によっては、この段階で質問して くるものもあります。 .Va INTERACTIVE と .Va BATCH を参照して下さい。 .It Cm build port を構築します。これはターゲット .Cm all を呼び出すことと同じです。 .It Cm install port をインストールし、この port をインストールしたことを package (訳注: .Fx の package system におけるパッケージを指す場合にこう表記します) システムに登録します。このターゲットは、実際に必要なこと すべてを行なってくれます。 .El .Pp 次のターゲットは、通常のインストールプロセスでは実行されません。 .Bl -tag -width ".Cm fetch-recursive" .It Cm fetch-list この port を構築するために取得が必要なファイルのリストを表示します。 .It Cm fetch-recursive この port と依存するものの distfile を取得します。 .It Cm pretty-print-run-depends-list , pretty-print-build-depends-list コンパイル依存 port リストと実行依存 port リストを表示します。 また、これらの依存 port リストが依存する port についても表示します。 .It Cm clean 展開されたソースコードを削除します。 .Va NOCLEANDEPENDS を定義しておかない限り、削除は依存関係にある port に再帰的に適用されます。 .It Cm distclean その port の distfile を削除し、 .Cm clean ターゲットを実行します。 .Va NOCLEANDEPENDS を定義しておかない限り、 .Cm clean の部分は依存関係にある port に再帰的に適用されます。しかし、 .Cm distclean の部分は決して再帰的に適用されません (この挙動はひょっとするとバグかもしれません)。 .It Cm reinstall .Cm deinstall を使用すべきところでうっかり .Xr pkg_delete 1 を使ってしまった場合、このターゲットを使って port を復活させて下さい。 .It Cm deinstall .Xr pkg_delete 1 と同様に、インストールした port をシステムから削除します。 .It Cm package この port のバイナリ package を作成します。まだインストールされて いなかった場合、その port をインストールします。 package は .Pa .tbz ファイルであり、その port を他のマシンに .Xr pkg_add 1 を使ってインストールする際に使用することができます。 .Va PACKAGES で指定されたディレクトリが存在しなければ、package はカレントディレクトリに 置かれます。 .Va PKGREPOSITORY と .Va PKGFILE とを参照して下さい。 .It Cm readmes その port の .Pa README.html ファイルを生成します。 これは、あなたのシステム上の全 port をウェブでブラウズできるようにするために、 .Pa /usr/ports から使用可能です。 .It Cm search .Pa INDEX ファイルを、 .Cm key (port の名前、コメント、依存を調べます) または .Cm name (port の名前のみを調べます) の .Xr make 1 変数で指定されたパターンで検索します。 例えば、次のように入力します: .Pp .Dl "cd /usr/ports && make search name=query" .Pp すると、全 ports のうち名前が .Dq Li query に適合するものが探されます。 結果には、適合する ports のパス、コメント、メンテナ、構築依存、実行依存が 含まれます。 .It Cm index .Pa /usr/ports/INDEX を作成します。 これは、 .Cm pretty-print-* および .Cm search のターゲットで使用されます。 CVS リポジトリのマスタ .Pa INDEX ファイルは定期的に更新されますが、 .Cm index ターゲットを実行することで、 .Pa INDEX ファイルが ports ツリに対して最新であることを保証します。 .El .Sh 環境変数 これら環境変数のすべてを変更することができます。 .Bl -tag -width ".Va MASTER_SITES" .It Va PORTSDIR port ツリーの場所を指定します。これは .Fx と .Ox では .Pa /usr/ports で、 .Nx では .Pa /usr/pkgsrc です。 .It Va WRKDIRPREFIX 一時ファイルを作成する場所です。 .Va PORTSDIR が読み込み専用の場合 (おそらく CD-ROM をマウントした場合) 有用です。 .It Va DISTDIR distfile を探す場所であり、取得した distfile を置く場所です。通常は .Va PORTSDIR の下の .Pa distfiles/ です。 .It Va PACKAGES ターゲット .Cm package でのみ使用されます。 package ツリーのベースディレクトリです。通常は、 .Va PORTSDIR の下の .Pa packages/ です。 このディレクトリが存在する場合、package ツリーが (部分的に) 構築されます。 このディレクトリは存在する必要はありません。存在しない場合、package は カレントディレクトリに置かれます。もしくは、以下のいずれか一方を定義 することができます。 .Bl -tag -width ".Va PKGREPOSITORY" .It Va PKGREPOSITORY package を置くディレクトリ。 .It Va PKGFILE その package のフルパス。 .El .It Va PREFIX 一般に、成果物をどこにインストールするかを指定します (通常は .Pa /usr/local か、 .Pa /usr/X11R6 です)。 .It Va MASTER_SITES ローカルマシンに配布ファイルが存在しない場合、最初に取得しに行くサイトです。 .It Va PATCH_SITES ローカルマシンにパッチファイルが存在しない場合、最初に取得しに行くサイトです。 .It Va MASTER_SITE_FREEBSD これが設定されている場合、すべてのファイルを .Fx のマスタサイトに 取りに行きます。 .It Va MASTER_SITE_OVERRIDE すべてのファイルとパッチについて、まずこれらのサイトに行って取得を試みます。 .It Va NOCLEANDEPENDS これが定義されている場合、依存関係にある port に対して .Cm clean を再帰的に適用しません。 .It Va FETCH_CMD ファイルを取得する際に使用するコマンドです。通常は .Xr fetch 1 です。 .It Va FORCE_PKG_REGISTER これが設定されている場合、既にシステムに存在する package 登録情報を 上書きします。 .It Va MOTIFLIB .Pa libXm. Ns Brq Pa a , Ns Pa so の位置を指定します。 .It Va INTERACTIVE これが設定されている場合、ユーザ入力が必要な port にのみ動作します。 .It Va BATCH これが設定されている場合、100% 自動的にインストールできる port にのみ 動作します。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /usr/ports/Mk/bsd.port.mk" -compact .It Pa /usr/ports デフォルトの port ディレクトリ .No ( Fx と .Ox ) 。 .It Pa /usr/pkgsrc デフォルトの port ディレクトリ .Po .Nx .Pc 。 .It Pa /usr/ports/Mk/bsd.port.mk .\"kuma: big Kahuna というのはモアイのような巨大石のものらしい。 .\"kuma: だれか教えて?! ご本尊様であらしゃいます。 .El .Sh 関連項目 .Xr make 1 , .Xr pkg_add 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr pkg_info 1 , .Xr pkg_version 1 .Pp 次に示すものは ports コレクションの一部です: .Pp .Xr pib 1 , .Xr portcheckout 1 , .Xr portlint 1 .Rs .%B "The FreeBSD Handbook" .Re .Pp .Pa http://www.FreeBSD.org/ports (port すべてが検索可能なインデックス) .Sh 作者 .An -nosplit このマニュアルページは、もともとは .An David O'Brien によるものです。 -ports コレクションは -.An Satoshi Asami -と恐るべき port チームによって維持管理されています。 .Sh 歴史 ports コレクション は、 .Fx 1.0 で登場しました。 その後、 .Nx と .Ox にも広まりました。 .Sh バグ port に関する文書が 4 か所に分散されてしまっています。 .Pa /usr/ports/Mk/bsd.port.mk と .%B "The Porter's Handbook" と .%B "The FreeBSD Handbook" の .Dq "Packages and Ports" セクションと、 このマニュアルページ の 4 つです。 .Pp このマニュアルページは長過ぎです。 .\"ZZZ: 3.0-RELEASE compliant by N. Kumagai, 98-12-26 diff --git a/ja_JP.eucJP/man/man7/release.7 b/ja_JP.eucJP/man/man7/release.7 index 714d98d389..ee7128f910 100644 --- a/ja_JP.eucJP/man/man7/release.7 +++ b/ja_JP.eucJP/man/man7/release.7 @@ -1,497 +1,497 @@ .\" Copyright (c) 2002 Murray Stokely .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/share/man/man7/release.7,v 1.31 2003/08/04 21:00:35 ru Exp % +.\" %FreeBSD: src/share/man/man7/release.7,v 1.32 2003/09/21 06:33:14 ru Exp % .\" $FreeBSD$ .\" .\" WORD: clean system まっさらのシステム[release.7] .\" .Dd March 12, 2002 .Dt RELEASE 7 .Os .Sh 名称 .Nm release .Nd "リリース構築基盤" .Sh 解説 .Fx は、ユーザが .Fx オペレーティングシステムのリリース全てを作成できるような完全な構築環境を 提供しています。 リリースを構築するために必要なツールの全ては、 CVS リポジトリ中の .Pa src/release に揃っています。 実のところ、 CD-ROM を焼く際に使える ISO イメージ、インストール用フロッピ、 FTP インストール用ディレクトリの生成をはじめとして、完全なリリースを コマンド一発で構築できます。 このコマンドは、 .Dq Li "make release" と、うまい名前が付けられています。 .Pp リリースを構築する前に、 .Xr build 7 の内容によく馴染んでおいてください。 また、 .Dq Li "make world" によるソースからのシステムアップグレードの経験も必須です。 リリース構築プロセスは、 .Dq Li "make buildworld" の結果を .Pa /usr/obj に置いておくことを要求します。 完全なシステムのためのオブジェクトファイルを、まっさらの .Xr chroot 8 環境にインストールできるようにするために、これが必要となります。 リリースを進めるには、 .Xr md 4 (メモリディスク) デバイスドライバがカーネルに存在する (コンパイル済み、またはモジュールとして利用可能のいずれも可) ことも必要です。 .Pp この文書は、ソースコード管理、品質管理など、 リリースエンジニアリングプロセスに関するその他の側面は扱いません。 .Sh ターゲット リリース用 makefile .Pq Pa src/release/Makefile は、かなり難解です。 ほとんどの場合、 .Cm release ターゲットのことを考えるだけで済むと思います。 .\" XXX: Some sort of introduction to this list? All the others have one. .Bl -tag -width ".Cm rerelease" .It Cm release .Dq Li "make installworld" を用いて、ファイルシステムの .Xr chroot 8 環境にまっさらのシステムをインストールします。 指定したバージョンのソースコードをチェックアウトし、 .Dq Li "make world" を用いて、まっさらの環境に完全なシステムを再構築します。 そのあとに、ディストリビューション別のパッケージング(まとめ上げ)、 インストール用フロッピディスクの構築、リリース文書の構築などの 細かいステップが続きます。 .Pp このターゲットは、 .Va kern.securelevel sysctl を \-1 (デフォルト) とした root で構築する必要があります。 .It Cm rerelease このターゲットは、リリース構築作業の結果を手で修正し、前の .Dq Li "make release" の中間結果を使い、最小のステップ数でリリースを再構築することを 想定したものです。 .It Cm floppies 新規のブートおよび fixit フロッピの組を作成します。 .Cm release.5 , .Cm release.9 , .Cm release.10 ターゲットを呼び、直前の .Dq Li "make release" のフロッピイメージを再作成します。 このターゲットは、カスタムブートフロッピの作成にもっとも良く使用されます。 .El .Pp .Dq Li "make release" により呼び出されるターゲットは次のとおりです。 .Bl -tag -width ".Cm release.10" .It Cm release.1 ディレクトリ .Pa ${CHROOTDIR}/R をまっさらにし、 .Xr mtree 8 を用いてシステム用のディレクトリ階層を構築します。 .It Cm release.2 システムをディストリビューション用ディレクトリにインストールします。 .It Cm release.3 .Dq crypto , .Dq krb5 ディストリビューションをビルドおよびインストールします。 .It Cm release.4 .\" XXX: We build more than one kernel. We build a stripped down .\" kernel for the boot media in addition to a full GENERIC kernel. .Pa GENERIC カーネルを作り、インストールします。 .It Cm release.5 .Xr crunchgen 1 を用いて、インストール用フロッピに収容する .Dq crunched バイナリを構築します。 .It Cm release.6 合成ディストリビューションを構築し、 また、作成されたディストリビューションツリーを掃除しきれいにします。 .It Cm release.7 組み立てられたディストリビューションツリーの tarball を 生成します。 .It Cm release.8 ソースディストリビューションを作成します。 .It Cm release.9 MFS root ファイルシステムを生成します。 .It Cm release.10 boot, MFS root, fixit フロッピを生成します。 .It Cm ftp.1 FTP インストールに適切な領域を .Pa ${CHROOTDIR}/R/ftp に整えます。 .It Cm cdrom.1 CD-ROM イメージ構築に適切な領域を .Pa ${CHROOTDIR}/R/cdrom に整えます。 .It Cm iso.1 CD-ROM リリース領域から ISO イメージを 2 つ構築します (インストール用と .Dq live ファイルシステムの 2 つ)。 デフォルトでは無効になっています。 以下の .Va MAKE_ISOS を参照してください。 .It Cm fetch-distfiles リリースビルドに必要な distfile で .Va RELEASEDISTFILES にはまだ無いものを取得します。 .It Cm doc.1 .Fx ドキュメンテーションプロジェクトのソースドキュメント (SGML, XML) を リリースに含める HTML / テキストドキュメントに変換するために 必要なツール全てを構築します。 また、現在存在するユーザドキュメントも構築、インストールします。 これには、Handbook, FAQ, article などが含まれます。 .It Cm doc.2 リリースドキュメントを構築します。 これには、リリースノート、ハードウエアガイド、インストール作業説明書 (installation instructions) が含まれます。 .El .Sh 環境変数 指定しなければならない環境変数は以下のとおりです。 .Bl -tag -width ".Va BUILDNAME" .It Va BUILDNAME 構築するリリースの名前。 この名前は、 .Pa sys/conf/newvers.sh の中で .Va RELEASE の値を設定するのに使用します。 この値は .Xr uname 1 の出力を変更します。 .It Va CHROOTDIR .Xr chroot 8 環境として、全リリース構築に使用するディレクトリ。 .\" XXX: I recommend against hardcoding specific numbers like "2.3" here; .\" XXX: perhaps it should be replaced with something to the effect of .\" XXX: "we don't know how much space you'll need, but make sure you have .\" XXX: at least 3 GB to be safe" (I know i'm still hardcoding a number, .\" XXX: but at least it looks less like a decree and more like an estimate. i386 アーキテクチャの場合、これが存在するファイルシステムには 少なくとも 2.3GB の空き領域が必要です。 .It Va CVSROOT .Fx CVS リポジトリの位置です。 このパス名は、実システムルートから参照され、 .Xr chroot 8 されたディレクトリツリーのルートからの参照では .Em ありません。 .El .Pp オプションの変数は次のとおりです。 .Bl -tag -width ".Va NO_PREFETCHDISTFILES" .It Va CVSCMDARGS .Xr cvs 1 のコマンド .Ic checkout と .Ic update への追加の引数です。 例えば、この変数を .Dq Li "-D '01/01/2002 00:00:00 GMT'" に設定して .Dq Li "make release" または .Dq Li "make rerelease" すると、 .Xr cvs 1 はそれぞれ 2002 年 1 月 1 日 00:00:00 GMT のソースを チェックアウトまたはアップデートするよう .Xr cvs 1 に指示します。 .It Va LOCAL_PATCHES .Pa /usr/src に対するパッチファイル。 このパッチは、リリース構築を開始する前に、 .Xr chroot 8 環境で適用されます。 .It Va PATCH_FLAGS パッチファイル .It Va DOC_LANG 構築すべき SGML ベースドキュメンテーションの、言語とコード。 設定されないと、使用可能なすべての言語に対し、 ドキュメンテーションが構築されます。 .It Va DOCRELEASETAG ドキュメンテーションツリーのチェックアウト時に使用する CVS タグ。 通常、デフォルトで、ドキュメンテーションツリーの先頭が使用されます。 .Va RELEASETAG がリリースタグを指定する場合、 関連付けられたリリースバージョンがデフォルトの代りに使用されます。 .It Va EXTLOCALDIR .Pa ${CHROOTDIR}/usr/local にコピーされるディレクトリ。 .It Va KERNEL_FLAGS リリース構築中のカーネル構築時に、この変数の内容が .Xr make 1 に渡されます。 例えば、この変数を .Dq Li "-j 4" に設定すると、 .Xr make 1 に最大 4 プロセスまで同時に実行することを指示することになります。 .It Va KERNELS コンパイルして .Dq ベース 配布にインストールする、追加のカーネル設定のリストを指定します。 各カーネルは、 .Pa /boot/ にインストールされ、ローダから .Dq Li "boot " でブートできるようになります。 .Va LOCAL_PATCHES を適用する際に用いる .Xr patch 1 コマンドに渡す引数。 .It Va LOCAL_SCRIPT .Xr chroot 8 環境で、ローカルパッチ適用直後に実行されるスクリプト。 .It Va MAKE_ISOS これを定義した場合、CD-ROM ステージのディレクトリの内容から、 ブータブル ISO CD-ROM イメージを生成します。 .It Va NOCDROM 定義した場合、CD-ROM ステージのディレクトリを生成しません。 .It Va NODOC 定義した場合、 .Fx ドキュメンテーションプロジェクトの SGML ベースのドキュメントを生成しません。 しかしながら、 .Pa src/share/doc にある最小のドキュメンテーションセットから .Dq doc ディストリビューションが依然として作成されます。 .It Va NO_FLOPPIES 定義した場合、boot, fixit フロッピディスクイメージファイルを生成しません。 .It Va NOPORTS 定義した場合、Ports Collection はリリースから省略されます。 .It Va NOPORTREADMES これを定義した場合、 Ports Collection の各 port に対する readme ファイルを作成しません。 デフォルトの動作は、 .Dq Li "make release" が .Dq Li "make readmes" を .Pa ${CHROOTDIR}/usr/ports から実行するというものであり、莫大な時間を費すことになります。 .It Va PORTSRELEASETAG ports ツリーのチェックアウト時に使用する CVS タグ。 通常、デフォルトで、ports ツリーの先頭が使用されます。 .Va RELEASETAG がリリースタグを指定する場合、 関連付けられたリリースバージョンがデフォルトの代りに使用されます。 .It Va NO_PREFETCHDISTFILES この変数が定義されている場合、 .Xr chroot 8 環境に入る前に、リリース構築に必要な distfile がダウンロードされません。 .Va NO_PREFETCHDISTFILES が設定されていない場合、取得が行われるのは、 .Va RELEASEDISTFILES から distfile を取得完了した後であることに注意してください。 .It Va RELEASEDISTFILES ports 用として、リリース構築に必要となる ディストリビューションファイルが存在するディレクトリです。 これにより、低速なリンク経由で distfiles をダウンロードする際に費やされる莫大な時間を 節約することができます。 .It Va RELEASENOUPDATE .Dq Li "make rerelease" の際にこの変数の値を設定した場合、 .Dq Li "cvs update" によるソースコード更新を行ないません。 .It Ev RELEASETAG 構築するリリースに相当する CVS タグ。 未定義の場合、CVS ツリーの .Dv HEAD .Dq ( "-CURRENT スナップショット" ) から構築されます。 .It Va TARGET_ARCH ターゲットとなるマシンプロセッサアーキテクチャ。 この環境変数は .Dq Nm uname Fl p の出力と同じものです。 異なるアーキテクチャ用にクロスビルドするにはこの環境変数を設定してください .It Va TARGET ターゲットとなるハードウェアプラットフォーム。 この環境変数は .Dq Nm uname Fl m の出力と同じものです。 ターゲットアーキテクチャをクロスビルドするのに必要な変数です。 例えば、PC98 マシン用にクロスビルドを行うには .Va TARGET_ARCH Ns = Ns Li i386 と .Va TARGET Ns = Ns Li pc98 が必要です。 .It Va WORLDDIR .Dq Li "make buildworld" が実行されたディレクトリです。 デフォルトは .Pa ${.CURDIR}/.. であり、通常は .Pa /usr/src を指します。 .It Va WORLD_FLAGS リリース構築中の世界 (world) 構築時に、この変数の内容が .Xr make 1 に渡されます。 例えば、この変数を .Dq Li "-j 4" に設定すると、 .Xr make 1 に最大 4 プロセスまで同時に実行することを指示することになります。 .El .Sh 関連ファイル .Bl -tag -compact .It Pa /etc/make.conf .It Pa /usr/doc/Makefile .It Pa /usr/doc/share/mk/doc.project.mk .It Pa /usr/ports/Mk/bsd.port.mk .It Pa /usr/ports/Mk/bsd.sites.mk .It Pa /usr/share/examples/etc/make.conf .It Pa /usr/src/Makefile .It Pa /usr/src/Makefile.inc1 .It Pa /usr/src/release/Makefile .It Pa /usr/src/release/${arch}/drivers.conf .It Pa /usr/src/release/${arch}/boot_crunch.conf .It Pa /usr/src/release/${arch}/fixit_crunch.conf .El .Sh 使用例 以下のコマンド列は .Fx 4.5 release を構築する際に使用したものです。 .Bd -literal -offset indent cd /usr cvs co -rRELENG_4_5_0_RELEASE src cd src make buildworld cd release make release CHROOTDIR=/local3/release BUILDNAME=4.5-RELEASE \\ CVSROOT=/host/cvs/usr/home/ncvs RELEASETAG=RELENG_4_5_0_RELEASE .Ed .Pp これらのコマンドを実行すると、FTP ディストリビューション用と、 CD-ROM ディストリビューション用として使える完全なシステムが ディレクトリ .Pa /local3/release/R にできます。 .Pp 次のコマンド列は、ローカルで修正したソースツリーの .Dq "-CURRENT スナップショット" を構築するために使用できます。 .Bd -literal -offset indent cd /usr/src cvs diff -u > /path/to/local.patch make buildworld cd release make release CHROOTDIR=/local3/release BUILDNAME=5.0-CURRENT \\ CVSROOT=/host/cvs/usr/home/ncvs LOCAL_PATCHES=/path/to/local.patch .Ed .Sh 関連項目 .Xr cc 1 , .Xr crunchgen 1 , .Xr cvs 1 , .Xr install 1 , .Xr make 1 , .Xr patch 1 , .Xr uname 1 , .Xr md 4 , .Xr drivers.conf 5 , .Xr make.conf 5 , .Xr build 7 , .Xr ports 7 , .Xr chroot 8 , .Xr mtree 8 , .Xr sysctl 8 .Rs .%T "FreeBSD Release Engineering" .%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng/ .Re .Rs .%T "FreeBSD Release Engineering of Third Party Packages" .%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/articles/releng-packages/ .Re .Rs .%T "FreeBSD Developers' Handbook" .%O http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/developers-handbook/ .Re .Sh 歴史 .Fx 1.x では、チェックリストを手でチェックしながら、 .An Rod Grimes によりコンパイルされ、リリースが作成されました。 不完全さはさておくにしても、このチェックリストには、 ファイルシステムを使えるようにするためのこまごまとした要求が大量に 含まれており、その実行は拷問としかいいようがないものでした。 .Pp .Fx 2.0 リリースエンジニアリングを続ける中で、 .Pa src/release/Makefile を直して、隔離された無菌環境でリリースを構築する際の退屈な作業の ほとんどを自動的に行なえるようにすることに、顕著な努力が払われました。 .Pp 複数のブランチにまたがる 1000 回近くの改版を経て、 .Pa src/release/Makefile の .Xr cvs 1 ログには、リリースエンジニアたちが経験した苦難のいくばくかを示す 生々しい歴史の記録が刻み込まれています。 .Sh 作者 .Pa src/release/Makefile は、もともとは .An -nosplit .An Rod Grimes , .An Jordan Hubbard , .An Poul-Henning Kamp が書きました。 このマニュアルページは、 .An Murray Stokely Aq murray@FreeBSD.org が書きました。 .Sh バグ .Fx ドキュメンテーションに対するインフラストラクチャ変更は頻繁で、 これが原因でセキュリティブランチ上のリリース構築が失敗することがあります。 最後に完全にサポートされた .Fx リリースから ドキュメンテーションをチェックアウトし、リリース構築することで、 この問題を回避できます。 例: .Pp .Dl "make release RELEASETAG=RELENG_4_5 DOCRELEASETAG=RELEASE_4_5_0 ..." diff --git a/ja_JP.eucJP/man/man7/tuning.7 b/ja_JP.eucJP/man/man7/tuning.7 index e97433e068..a4b442e9ae 100644 --- a/ja_JP.eucJP/man/man7/tuning.7 +++ b/ja_JP.eucJP/man/man7/tuning.7 @@ -1,928 +1,928 @@ .\" Copyright (c) 2001, Matthew Dillon. Terms and conditions are those of .\" the BSD Copyright as specified in the file "/usr/src/COPYRIGHT" in .\" the source tree. .\" -.\" %FreeBSD: src/share/man/man7/tuning.7,v 1.61 2003/05/21 15:49:01 ru Exp % +.\" %FreeBSD: src/share/man/man7/tuning.7,v 1.62 2003/09/14 23:44:55 hmp Exp % .\" .\" $FreeBSD$ .Dd June 25, 2002 .Dt TUNING 7 .Os .Sh 名称 .Nm tuning .Nd FreeBSD における性能チューニング .Sh システム設定 - disklabel, newfs, tunefs, スワップ .Xr disklabel 8 または .Xr sysinstall 8 を使ってハードディスク上にファイルシステムをレイアウトする場合、 ディスクの内周トラックよりも外周トラックのほうがずっと速くデータを 転送できることを意識することが重要です。 この利点を生かすには、 小さいファイルシステムやスワップを外周トラックに近いほうから 詰めていくべきです。 より大きいファイルシステムは内周へ近いほうへ詰めていき、 最も大きいファイルシステムを最後にします。 後でマシンを増強した時にシステム標準のファイルシステムの大きさを 変更しなくて済むような大きさに決めることが重要です。 私は大抵、順番にルートパーティションに 128M、スワップに 1G、 .Pa /var に 128M、 .Pa /var/tmp に 128M、 .Pa /usr に 3G、 そして残りを .Pa /home に割り当てます。 .Pp 典型的にはメインメモリの約 2 倍のスワップスペースを用意すべきです。 RAM がそれほど多くない場合は、一般にもっとスワップが必要でしょう。 256M より小さいスワップを設定するのは奨められません。 スワップ パーティションの大きさを決めるときは将来のメモリ増設のことを 考えておくべきです。 カーネルの VM ページングアルゴリズムは、スワップの大きさが メインメモリの少なくとも 2 倍ある場合に最高の 性能が出るようにチューンされています。 スワップを小さくしすぎると、 VM ページ走査コードが効率的に動かなくなります。 メモリをさらに追加した時も同様です。 最後に、複数の SCSI ディスク (あるいは異なるコントローラ上にある 複数の IDE ディスク) を備えた大規模なシステムにおいては、 -それぞれのドライブ (最大 4 ドライブ) にスワップを置くことを強く推奨します。 +それぞれのドライブにスワップを置くことを強く推奨します。 各ドライブ上のスワップパーティションがほぼ同じ大きさになる ようにしてください。 カーネルは任意の大きさを扱うことができますが、内部のデータ構造は 最大のスワップパーティションのものの 4 倍の大きさになってしまいます。 スワップパーティションをだいたい同じ大きさにすることで、 カーネルは最適な方法でスワップ空間を N 台のディスクに対し ストライピングします。 少々のやりすぎを気にする必要はありません。 スワップ空間は .Ux が優雅に動作するためのものです。 普段それほどスワップを使っていなくても、 プログラムの暴走で強制的にリブートしてしまう前に、 回復作業をするための時間稼ぎになります。 .Pp .Pa /var パーティションをどれだけの大きさにするかは、そのマシンを 何に使うかということに大きく依存します。 このパーティションは主にメールボックスやプリントスプール、 ログファイルの保存場所に使われます。 .Pa /var/log を別のパーティションにする人もいます (しかし、パーティション ID を 消費しないほうが良い極端な場合は例外です)。 メールサーバやプリントサーバ、あるいは 訪問数が非常に多い Web サーバとしてマシンが動作するなら、 極めて大きいパーティション \(en おそらく 1 ギガバイト以上 \(en を 作成することを考えるべきでしょう。 ログファイルの保存に必要な大きさは、小さく見積もられがちです。 .Pp .Pa /var/tmp の大きさは、テンポラリファイルの類が どれだけ使われる必要があるかで決まります。 最低でも 128M にすることを推奨します。 また sysinstall は .Pa /tmp ディレクトリも作成します。 テンポラリファイル領域専用に 1 つのパーティションを 割り当てることは重要で、2 つの理由があります: クラッシュ時のファイルシステムの破壊の可能性を 減らすのと、 .Oo Pa /var Oc Ns Pa /tmp を一杯にしてしまう ような暴走プロセスが、さらに重要なサブシステム (メールやログ等) に影響を与える可能性を減らすためです。 .Oo Pa /var Oc Ns Pa /tmp が一杯になってしまうのはよくある問題です。 .Pp かつては .Pa /tmp と .Pa /var/tmp の間には違いがありましたが、 .Pa /var (と .Pa /var/tmp ) の導入によってプログラマは大変混乱し、 今日では両方がでたらめに使われています。 つまりこの 2 つは実際には区別することができません。 したがって、1 つのテンポラリディレクトリだけにしてして、 他の .Pa tmp ディレクトリからここへソフトリンクを張ることは意味があります。 どのように .Pa /tmp を扱ったとしても、 それがルートパーティションにあるのは好ましくないでしょう。 一杯になったり、クラッシュやリブートにより破壊される 可能性があるからです。 .Pp .Pa /usr パーティションはシステムをサポートするために 必要なファイルの大部分を持っており、そのサブディレクトリ .Pa /usr/local は .Xr ports 7 階層からインストールされるファイルの大部分が置かれます。 ports をあまり使わず、システムのソース .Pq Pa /usr/src を保持するつもりがなければ .Pa /usr は 1 ギガバイトで十分でしょう。 しかし、大量の ports (特にウィンドウマネージャや Linux エミュレーションされるバイナリ) をインストールする場合は、 少なくとも 2 ギガバイトの .Pa /usr を推奨します。 さらに、システムのソースを保持するつもりであれば、3 ギガバイトの .Pa /usr を推奨します。 このパーティションに対して必要な領域の大きさを過小評価 しないでください。 これは緩やかに成長し、驚かされることになります ! .Pp .Pa /home パーティションはユーザ固有のデータを保持するのに使われます。 私は大抵ディスクの残りを使います。 .Pp 何故 パーティションを切るのでしょう ? 1 つの大きな .Pa / パーティションを作るだけで良いのではないでしょうか ? そうすれば小さすぎないかどうか気にする必要はないのに ! はい、その考えが良くないのは、いくつか理由があります。 1 つめは、それぞれのパーティションは運用上の性格が 異なるのですが、それらを分離することでファイルシステムに対し その性格に適したチューンをすることが可能になるからです。 例えばルートパーティションや .Pa /usr パーティションはほとんど読み込みであり、ほとんど書き込みがありません。 一方で .Pa /var や .Pa /var/tmp に対しては大量の読み込みや書き込みがあるでしょう。 システムをうまく分割することで、書き込みが多いパーティションの破壊に よる被害が、ほとんど読み込みのみのパーティションに及ばないようします。 加えて、書き込みが多いパーティションをディスクの端 (すなわちパーティションテーブルにおいて、 本当に大きなパーティションの後ろではなく、前の方) の方に置くことで、そのパーティションについて性能が向上します。 より大きなパーティションについても入出力性能が必要なのも確かですが、 .Pa /var をディスクの端に置くと大きな改善が可能であるのに対し、 巨大なパーティションをディスクの端に置いてもそれほど性能の 改善にはつながりません。 最後は安全性に関わることです。 小さく、簡潔な、本質的に読み込みのみの ルートパーティションとすることで、クラッシュを生き延びるチャンスを 大きくすることができます。 .Pp システムを正しく分割することで、 .Xr newfs 8 や .Xr tunefs 8 に与えるパラメータをチューンすることも可能になります。 .Fn newfs のチューニングにはさらに経験が必要ですが、かなりの性能改善につながります。 比較的安全にチューンできる 3 つのパラメータがあります: .Em blocksize , .Em bytes/inode , .Em cylinders/group です。 .Pp .Fx は 8K または 16K のファイルシステムブロックサイズを使用した時に 最高の性能が得られます。 デフォルトは 16K であり、 ほとんどのアプリケーションで良い結果となりますが、 大きなファイルにランダムアクセスするアプリケーション (データベースサーバソフトウェア等) は例外です。 このようなアプリケーションでは、 小さなブロックサイズで良い結果となる傾向がありますが、 最近のディスクの特性においては、 小さなブロックサイズの使用は考慮に値しないでしょう。 16K より大きなブロックサイズを使用すると バッファキャッシュの断片化を招き、性能が低下します。 .Pp デフォルトは、 多大な inode を必要とするファイルシステムや、 多大な小ファイルを保持することを意図したファイルシステムには 向かないかもしれません。 このようなファイルシステムは、 8K または 4K のブロックサイズで作成されるべきです。 これはまた、小さなフラグメントサイズを指定する必要があります。 常にブロックサイズの 1/8 のフラグメントサイズにすることを推奨します (他のフラグメントサイズの割合ではあまりテストされていません)。 この場合の .Xr newfs 8 オプションは .Dq Li "newfs -f 1024 -b 8192 ..." となるでしょう。 .Pp 大きなパーティションに、データベースファイルのような 少数の大きなファイルを置くのであれば、 .Em bytes/inode の比率を増やすことができます。 これは、そのパーティションの inode の数 (ファイルやディレクトリの最大の数) を減らします。 inode の数を減らすことで、クラッシュ後の .Xr fsck 8 による修復時間を大幅に減らすことができます。 本当にこのパーティションに大きなファイルを置くのでない限り、 このオプションを使わないでください。 空き領域が大量にあるのにファイルを収容できなくなるかもしれません。 bytes/inode は、32768 か 65536 か 262144 とすることが推奨されます。 もっと大きな値にすることができますが、 .Xr fsck 8 による修復時間を増やすだけでしょう。 例えば、 .Dq Li "newfs -i 32768 ..." のようにして値を与えます。 .Pp .Xr tunefs 8 はファイルシステムをさらにチューンするのに使えます。 このコマンドは、シングルユーザモードで実行することができ、 ファイルシステムの再フォーマットは不要です。 しかし、おそらく最も誤って使用されているプログラムでしょう。 多くの人はファイルシステムの利用可能な空き領域を増やそうとして、 min-free 比率を 0 に設定します。 これはファイルシステムの猛烈な断片化につながるので、推奨されません。 ここで、唯一本当に価値がある .Xr tunefs 8 のオプションは、 .Dq Li "tunefs -n enable /filesystem" として .Em softupdates を有効にすることです (注意: .Fx 4.5 以降では .Xr newfs 8 に .Fl U オプションを与えることで softupdates を有効に することができます。 そして .Xr sysinstall 8 は、ルート以外のファイルシステムの softupdates を標準で 自動的に有効にします)。 softupdates はメタデータの性能、 主にファイルの作成と削除の性能を劇的に改善します。 大部分のファイルシステムで softupdates を有効にすることを推奨します。 しかしながら、ファイルシステムで softupdates を使うかどうか判断する際に 気をつけるべき 2 つの制限があります。 1 つめは、softupdates はクラッシュ時における ファイルシステムの一貫性は保証しますが、 未反映の物理ディスク書き込みより何秒か (1 分になることもあります!) おそらく遅れていることです。 クラッシュした場合、より多くの成果が消えてしまうかもしれません。 2 つめは、softupdates はファイルシステムブロックを解放するのを遅らせる ということです。 あるファイルシステム (例えばルートファイルシステム) が満杯近くの時に それに対する大規模な更新、たとえば .Dq Li "make installworld" をすると、空き領域を使い果たして更新が失敗してしまうことがあります。 そのため標準的なインストールではルートファイルシステムの softupdates を 有効にしません。 ルートファイルシステムは滅多に書き込まれませんので、性能上の損失はありません。 .Pp .Xr mount 8 実行時のいくつかのオプションはファイルシステムをチューンするのに役立ちます。 最も明らかで、しかも最も危険なのは .Cm async です。 これは決して使わないでください。 大変危険です。 比較的危険度が低く、より役に立つ .Xr mount 8 のオプションは .Cm noatime です。 通常 .Ux ファイルシステムは、ファイルやディレクトリにアクセスが あった場合は常に、その最終アクセス時刻を更新します。 .Fx では、この動作は遅延書き込みで行なわれ、 通常は大した負荷にはなりません。 しかし、大量のファイルが連続してアクセスされた場合、 バッファキャッシュがアクセス時刻の更新で汚染され 大きな負荷となります。 例えば、高負荷の web サイトや大量の読者を抱えるニューズサーバ では、この .Xr mount 8 のオプションで大きなパーティションにおける アクセス時刻の更新を停止することが考えられます。 根拠もなく、すべての場所でアクセス時刻の更新を停止しないでください。 例えば、 .Pa /var ファイルシステムは、慣習的にメールボックスを保持し、 新規メールのメールボックス中の有無判定に atime (および mtime) が使用されます。 読み込み専用パーティション、 .Pa / や .Pa /usr では、atime をオンにしておいた方が良いでしょう。 システムユーティリティには、atime フィールドを使用するものがあるので、 .Pa / では特に有用です。 .Sh ディスクのストライピング 大きなシステムでは、いくつかのドライブのパーティションを互いに ストライピングして、全体として巨大なパーティションを作ることもあります。 ストライピングは、入出力操作を複数のディスクに振り分けることで ファイルシステムの性能を向上させることができます。 .Xr vinum 8 および .Xr ccdconfig 8 ユーティリティは、シンプルなストライピングされたファイルシステムを 作るのに使われます。 一般に、ルートや .Pa /var/tmp のような小さなパーティション、 あるいは .Pa /usr のような本質的に読み込みのみのパーティションを ストライピングしても時間の無駄にしかなりません。 本当に入出力性能を必要とするパーティションのみをストライピングするべきです。 典型的には .Pa /var や .Pa /home あるいはデータベースや Web ページを 保持するカスタムパーティションです。 適切なストライプサイズを選ぶことも重要です。 ファイルシステムはメタデータを 2 の累乗の境界で格納する傾向にあり、 大抵はシークを増やすのではなく減らしたいでしょう。 これは、1152 セクタといったような、 シーケンシャルな I/O が両方のディスクをシークしないように、 かつメタデータが単一のディスクに集中するのではなく両方に分散するような、 中心を外れた (off-centered) 大きな ストライプサイズにしたい、ということを意味します。 本当に性能が必要なら、 .Fx がサポートする本物のハードウェア RAID コントローラを 使うことを勧めます。 .Sh sysctl によるチューニング .Xr sysctl 8 変数は、実行時に、システムの動作のモニタおよび制御を可能とします。 sysctl には、単にシステムの動作を報告するものもありますが、 システムの動作を変更するものもあります。 ブート時に .Xr rc.conf 5 を使用して設定可能なものもありますが、大部分は .Xr sysctl.conf 5 で設定可能です。 システムには数百の .Xr sysctl 8 変数が存在します。 そのなかには、チューニングの候補のように見えますが本当は そうでないものも多く含まれます。 この文書では システムに最も大きな影響を与えるものだけを扱います。 .Pp .Va kern.ipc.shm_use_phys sysctl は、デフォルトが 0 (オフ) であり、 0 (オフ) または 1 (オン) にセットすることができます。 このパラメータを 1 にセットすると、全ての System V 共有メモリセグメントが ページング不可の物理メモリにマップされます。 これは、(A) 大量 (数百) のプロセス間で少量の共有メモリを マッピングしているか、(B) 任意個のプロセス間で大量の共有メモリを マッピングしている、のいずれかの場合に効果があります。 この機能は、共有メモリをスワップ不可にすることで、 共有メモリをコアに結び付ける時に生じる、 カーネルにおける内部のメモリ管理によるページ追跡 オーバヘッドをかなり減らします。 .Pp .Va vfs.vmiodirenable sysctl は、デフォルトは 0 (オフ) であり (しかし近いうちにデフォルトが 1 に なるでしょう)、0 (オフ) または 1 (オン) にセットすることができます。 このパラメータは、ディレクトリがシステムによってどのように キャッシュされるかを制御します。 ほとんどのディレクトリは小さく、 ファイルシステムにおいては単一フラグメント (典型的には 1K) であり、バッファキャッシュではさらに小さくなっています (典型的には 512 バイト)。 しかし、デフォルトモードで動作している時は、 大量のメモリを搭載していても バッファキャッシュは固定数のディレクトリしかキャッシュしません。 この sysctl をオンにすると、バッファキャッシュが VM ページキャッシュを、ディレクトリをキャッシュするために使うことを可能に します。 これによる利点は、全てのメモリがディレクトリを キャッシュするのに使えるようになるということです。 欠点は、キャッシュに使われる最小のメモリの大きさが 512 バイトではなく 物理ページサイズ (大抵は 4K) になることです。 メモリに制約があるシステムでは、 このオプションをオフにすることを推奨します。 一方、オンにすると、多数のファイルを操作するサービスの性能が向上します。 そのようなサービスには、web キャッシュや、大規模なメールシステム、 ニューズシステムなどが含まれます。 このオプションは一般に メモリを消費しますが、性能を削減することはありません。 ただし実験して調べてみるべきでしょう。 .Pp .Va vfs.write_behind sysctl は、デフォルトで 1 (オン) です。 これによって、 ファイルシステムからメディアへの書き込みが、クラスタ分が集まった時に 発行されるようになります。 そのような状況は、典型的には、大きな シーケンシャルファイルへ書き込んでいる時に起こります。 これは、I/O パフォーマンスに寄与しないであろう場合に、 ダーティなバッファでバッファキャッシュが飽和するのを避けるという アイデアです。 しかしながら、これによってプロセスが止まるかも しれないので、状況によっては この機能を切りたいと望むかもしれません。 .Pp .Va vfs.hirunningspace sysctl は、任意の時点においてシステム全体で、 ディスクコントローラのキューに入れて未完了状態にして良い、 書き込み I/O の量を決定します。 通常、デフォルト値で十分ですが、 ディスクをたくさん持つマシンでは 4、5メガバイトに増やしたくなるかもしれません。 値を大きくしすぎる (バッファキャッシュの 書き込みの閾値を超えて) と、クラスタリングの効果が極端に悪くなる 可能性があるので注意してください。 この値を思いつきで大きくしては いけません! また書き込みのキュー値を大きくすると、同時に発生した 読みだしが待たされるかもしれません。 .Pp 他にもバッファキャッシュと VM ページキャッシュに関連した、様々な sysctl が 存在します。 これらを変更することは推奨されません。 .Fx 4.3 について言えば、VM システムは自分自身のチューニングに関して大変良い 仕事をしています。 .Pp .Va net.inet.tcp.sendspace sysctl と .Va net.inet.tcp.recvspace sysctl は、ネットワークに関連するアプリケーションを 稼動している場合は特に重要です。 これは、TCP コネクションの 送信および受信バッファ領域の大きさを調節します。 デフォルトでは、送信バッファは 32K で、受信バッファは 64K です。 このデフォルトを増やすことで 各コネクションについてカーネルメモリがさらに消費されますが、 帯域幅の利用率が改善することがあります。 同時に数百とか数千のコネクションを扱っている場合、 このデフォルトを増やすことは推奨されません。 失速してしまったコネクションが蓄積することで、 システムがメモリをすぐに使い果たしてしまうからです。 しかし、少ない数のコネクションについて広い帯域幅が必要ならば、 特にギガビットイーサネットの場合、このデフォルトを大幅に増やす ことができます。 入力データと出力データのバッファを個別に調整することができます。 たとえば、主に web サービスをしているマシンならば recvspace を 減らすことで、それほど大量にカーネルメモリを消費せずに sendspace を増やすことができます。 経路表 ( .Xr route 8 を参照 ) に対しては、経路に特化した送受信バッファを導入することが できるということに注意してください。 .Pp 付加的な管理ツールとして、ファイアウォールルールにおいて パイプ (pipe) を使うことで ( .Xr ipfw 8 を参照)、特定の IP ブロックやポートへ行く、あるいはそこから 来る帯域幅を制限することができます。 例えば T1 回線を持っている場合、 web トラフィックは回線の 70% に制限し、残りをメールと インタラクティブな用途に使いたいと思うでしょう。 通常高い負荷の web サーバは、ネットワーク回線が 使い切られていても、他のサービスに大きな遅延を与えることは ありませんが、制限をかけることは物事を円滑にし長期的な安定につながります。 また、多くの人が、帯域超過による課金をされないように 意図的な帯域制限をかけています。 .Pp .Va net.inet.tcp.rfc1323 sysctl で制御可能な TCP プロトコルのウィンドウスケーリング拡張を 両方のホストがサポートしない限り、 TCP の送信あるいは受信バッファサイズを 65535 を超えて指定しても ほとんど性能の改善はありません。 ある種のネットワークリンクから良い性能を引き出すために、 これらの拡張を有効にし、 TCP バッファサイズを 65536 より大きく設定すべきです。 特に、ギガビット WAN リンクや、高レイテンシの衛星リンクが対象となります。 RFC1323 サポートは、デフォルトでオンになっています。 .Pp .Va net.inet.tcp.always_keepalive sysctl は、TCP 実装が、コネクション上に断続的に .Dq keepalives を配送することで死んでしまった TCP コネクションの検出を試みるか どうかを決定します。 デフォルトで、これはすべてのアプリケーションについて許可されています。 この sysctl を 0 に設定すると、特に keepalives を要求した アプリケーションだけが検出機能を利用できます。 大抵の環境において、死んでしまった TCP コネクションを失効にすることで、 TCP keepalives はシステム状態の管理を改善します。 特にダイヤルアップのユーザにサービスを提供しているシステムでは 効果があります。 なぜならユーザがネットワークとのコネクションを切る前に いつも個々の TCP コネクションを終了するとは限らないからです。 しかしながら、ある種の環境では、一時的なネットワークの停止が 誤ってセッションの死と判断されるかもしれません。 結果として 予期しない TCP コネクションの終了となります。 その様な環境では、sysctl を 0 に設定することで、 TCP のセッション切断の発生を減らせるかもしれません。 .Pp .Va net.inet.tcp.delayed_ack TCP 機能は大きく誤解されています。 歴史的には、この機能は、転送されたデータに対する確認応答を、 応答と共に返せるようにするためにデザインされました。 例えば、リモートシェル上でキー入力しているとき、 あなたが送信した文字への確認応答は、文字のエコーを表すデータと共に返されます。 遅延確認応答をオフにすると、 リモートサービスが丁度受け取ったデータをエコーする機会を得る前に、 確認応答がそれだけを含むパケットで送られてしまうかもしれません。 この同じ考え方がすべての対話的プロトコル (例 SMTP, WWW, POP3) にあてはまり、 ネットワークの片一方を流れている小パケットを減らせるのです。 .Fx の遅延確認応答の実装も、TCP プロトコルの規則に従っています。 すなわち、標準の 100ms のタイムアウトが経過しなくても、 2 パケットに 1 回は確認応答を行います。 通常、遅延確認応答が行う最悪のことは、コネクションの破壊を少々遅らせること、 スロースタート TCP コネクションの立ち上がりを少々遅らせることです。 確かなことは分かりませんが、 SAMBA や SQUID といった package に関連する FAQ が 遅延確認応答をオフにするように勧めているのは、 スロースタートの問題に言及しているのでしょう。 .Fx では、スロースタートフライトサイズを .Va net.inet.tcp.slowstart_flightsize sysctl で増やすことの方が、遅延確認応答をオフにするより、利益があるでしょう。 .Pp .Va net.inet.tcp.inflight_enable sysctl は、すべての TCP コネクションに対し、 バンド幅と遅延の積による制限を適用します。 システムは、各コネクションに対してバンド幅と遅延の積を計算し、 ネットワークにキューされるデータ量を、 最適なスループットを確保するのに必要な量に限定しようとします。 この機能が有用なのは、モデムやギガビットイーサや高速 WAN リンク (といったバンド幅と遅延の積が大きなネットワーク) 経由でデータを 提供している場合であり、 特に有用なのは、ウィンドウスケーリングを併用している場合や 大きな送信ウィンドウを設定した場合です。 本オプションを有効にする場合、 .Va net.inet.tcp.inflight_debug を 0 (デバッグ無効) に設定することを忘れずに。 実運用では、 .Va net.inet.tcp.inflight_min を少なくとも 6144 に設定すると有用でしょう。 しかしながら、最低値を大きく設定すると、 リンクによってはバンド幅制限を無効にする結果となり得ることに注意してください。 本限定機能は、 中間ルータやスイッチのパケットキューに蓄積されるデータ量を減らし、 ローカルホストのインタフェースキューに蓄積されるデータ量をも減らします。 キューされるパケット数が少ないと、対話的コネクション、 特に低速モデム経由のものは、短い往復時間での動作が可能になります。 しかしながら、この機能はデータ送信 (アップロード / サービス側) にのみ影響することに注意してください。 データ受信 (ダウンロード) には影響しません。 .Pp .Va net.inet.tcp.inflight_stab の調整はお勧めしません。 このパラメータのデフォルトは 20 であり、 バンド幅と遅延の積のウィンドウ計算に対して 2 個の極大パケットが追加されることを示します。 アルゴリズムの安定化のために、追加のウィンドウが必要となり、 状態の変化に対する応答性を高めます。 しかしながら、遅いリンク越しでは、ping の遅延を大きくしてしまいます (それでも、inflight アルゴリスム無しと比べれば、低いものです)。 このような場合、このパラメータを 15, 10, 5 に減らし、 .Va net.inet.tcp.inflight_min も (例えば 3500 へ) 減らすことで、望む効果が得られるかもしれません。 これらのパラメータを減らすのは、最終手段としてください。 .Pp .Va net.inet.ip.portrange.* sysctls は、 自動的に TCP や UDP ソケットに結合されるポート番号の範囲を制御します。 3 種類の範囲があります。 すなわち、下位の範囲、デフォルトの範囲、高位の範囲であり、 .Dv IP_PORTRANGE .Xr setsockopt 2 呼び出しで選択可能です。 ほとんどのネットワークプログラムが使用するのはデフォルトの範囲であり、 .Va net.inet.ip.portrange.first と .Va net.inet.ip.portrange.last で制御されます。 それぞれ 1024 と 5000 がデフォルトです。 範囲を限定されたポート範囲は外向きコネクションに使用され、 ある条件下ではシステムがポートを使い尽してしまう場合があります。 これは、高負荷のウェブプロキシを実行している場合に、よく発生します。 通常のウェブサーバ等の主に内向きコネクションを扱うサーバや、 メールリレー等の外向きコネクションが限られているサーバを実行している場合、 これは問題とはなりません。 ポートを使い果たしてしまう場合、適度に .Va net.inet.ip.portrange.last を増やしてみてください。 10000, 20000, 30000 といった値は大丈夫でしょう。 ポートの範囲を変えるときには、ファイアウォールの影響も考慮に入れるべきです。 ファイアウォールによっては、広い範囲のポート (通常は下位のポート) を遮蔽し、システムが高位のポートを外向きコネクションに 使用することを期待します。 このため、 .Va net.inet.ip.portrange.first を低下させることはお勧めできません。 .Pp .Va kern.ipc.somaxconn sysctl は、新しい TCP コネクションを受け付けるための listen キューの サイズを制限します。 高負荷の web サーバ環境では、 デフォルト値の 128 は新しいコネクションを余裕をもって扱うには低すぎます。 そのような環境では、この値を 1024 以上に増やすことが推奨されます。 サービスデーモン (例えば .Xr sendmail 8 や apache) は自分自身の listen キューのサイズを制限しているかもしれませんが、設定ファイルで キューのサイズを増やすディレクティブを持つようになるでしょう。 listen キューを大きくすることは、サービス拒否攻撃を防ぐのにも役立ちます。 .Pp .Va kern.maxfiles sysctl は、システムがどれだけの数のファイルをオープンできるかを 決めます。 デフォルトは典型的には数千ですが、データベースや記述子を 大量に使うデーモンを稼働している場合は 10000 や 20000 に引き上げる必要 があるかもしれません。 読み込み専用の .Va kern.openfiles sysctl を検査することで、システム上で開かれているファイル数を判定可能です。 .Pp .Va vm.swap_idle_enabled sysctl は、多数のユーザがシステムに出入りして大量のアイドルプロセスが ある大きなマルチユーザシステムで便利です。 そのようなシステムでは、フリーメモリの予約に対し、 継続して重大な負担をかける傾向にあります。 これをオンにして .Va vm.swap_idle_threshold1 sysctl と .Va vm.swap_idle_threshold2 sysctl でスワップアウトヒステリシス (アイドルの秒数) を調整することで アイドルプロセスに与えられているページの優先度を通常のページアウト アルゴリズムよりも速やかに下げることができます。 これはページアウトデーモンを手助けします。 必要がないかぎり、 このオプションはオンにしないでください。 これによって起こるトレードオフは、本質的に、 スワップとディスク帯域幅をより多く消費してメモリのプリページングを より早いうちに行うことだからです。 小さなシステムではこのオプションは有害となるでしょうが、 すでにある程度ページングが発生している大きなシステムでは、 このオプションによって、全体のプロセスがより容易にメモリへ入ったり 出たりするようにできるでしょう。 .Sh ローダのチューナブル システムの動作の一部は、 そのためのメモリ割り当てをブート処理の初期に行う必要があるために、 実行時には調整不可能です。 ローダのチューナブルを変更するには、これらの値を .Xr loader.conf 5 に設定し、システムをリブートする必要があります。 .Pp .Va kern.maxusers は、静的なシステムテーブルの大きさを制御します。 これには、 オープンファイルの最大数、ネットワークメモリ資源の大きさ等が含まれます。 .Fx 4.5 の時点では、 .Va kern.maxusers は、ブート時に、システムで利用可能なメモリ量に応じて、 大きさが自動的に決定されます。 また、実行時に、読み取り専用の .Va kern.maxusers sysctl 値を見て決定することも可能です。 サイトによっては、 .Va kern.maxusers を大きくしたり小さくしたりする必要があり、 これはローダチューナブルで設定可能です。 64, 128, 256 は、変な値ではありません。 膨大なファイル記述子が必要なのでない限り、 256 より大きくすることは勧められません。 .Va kern.maxusers によってデフォルト値が決定される多くのチューナブル値は、 本文書の別の場所に記述した方法で、 個々にブート時または実行時に上書き可能です。 .Fx 4.4 より古いシステムでは、 カーネルの .Xr config 8 オプションの .Cd maxusers を設定する必要があります。 .Pp .Va kern.ipc.nmbclusters を調整することで、システムが割り当てようとしている ネットワーク mbuf の数を増やすことができます。 それぞれのクラスタは約 2K のメモリに相当するので、 1024 は 2M のカーネルメモリをネットワークバッファに 予約することを示します。 簡単な計算でどれだけ必要なのかがわかります。 web サーバが同時に最大 1000 本のコネクションを扱い、 各コネクションが 16K の受信バッファと 16K の送信バッファを消費する場合、 約 32MB に相当するネットワークバッファを扱う必要があります。 経験から得た方法によると、2 倍すると良いとされています。 つまり 32MBx2 = 64MB/2K = 32768 です。 したがって、この場合は .Va kern.ipc.nmbclusters を 32768 に設定します。 中くらいの量のメモリが搭載されたマシンでは 1024 から 4096、 さらに大量のメモリが搭載されているなら 4096 から 32768 の値を 推奨します。 決して大きい値を指定すべきではありません。 ブート時にクラッシュを引き起こす可能性があります。 .Xr netstat 1 に .Fl m オプションを与えることで、ネットワーククラスタの使用状況が分かります。 古い .Fx ではこのチューナブルを持ちませんので、 代りにカーネルの .Xr config 8 オプションの .Dv NMBCLUSTERS を設定する必要があります。 .Pp ますます多くのプログラムが .Xr sendfile 2 システムコールを使ってネットワークを通じてファイルを 転送しています。 .Va kern.ipc.nsfbufs sysctl は .Xr sendfile 2 の実行時にファイルシステムバッファをどれだけの数だけ 使えるかを制御します。 通常このパラメータは .Va kern.maxusers に比例しているので、極端な場合を除いては このパラメータに手を出す必要はありません。 詳細は、 .Xr sendfile 2 マニュアルページの .Sx チューニング 節を参照してください。 .Sh カーネル構成におけるチューニング 大規模なシステムでは、いくつかのカーネルオプションを操作しなければ ならないかもしれません。 これらのオプションを変更する場合、あなたは ソースから新しいカーネルをコンパイルできなければなりません。 .Xr config 8 マニュアルページやハンドブックが良い入門となるでしょう。 あなただけのカスタムカーネルを作るときに一般に最初にすることは、 使用しないドライバやサービスをすべて削ることです。 .Dv INET6 や使わないドライバを削除することで、カーネルのサイズを時に 1 メガバイト以上減らすことができ、アプリケーションにさらに メモリを与えることができます。 .Pp .Dv SCSI_DELAY と .Dv IDE_DELAY は、システムの起動時間を減らすために使うことができます。 このデフォルト値はかなり大きく、ブート処理の中で 15 秒以上を占めるでしょう。 .Dv SCSI_DELAY を 5 秒に減らしても大抵はうまく動きます (特に最近のドライブでは)。 .Dv IDE_DELAY を減らしてもうまくいきますが、少々慎重になる必要があります。 .Pp .Dv *_CPU オプションの多くはコメントアウトできます。 そのカーネルを Pentium クラスの CPU だけで動かすなら、 .Dv I386_CPU と .Dv I486_CPU は削除することができます。 ただし、 .Dv I586_CPU は、CPU が Pentium II 以上として認識されることを確認してから 削除してください。 Pentium や 486 としてさえ認識されるクローンが存在し、 その場合はこれらのオプションがないと起動することができません。 もし動いたらすごいことです ! オペレーティングシステムは、MMU や タスク切り替え、タイムベース、デバイス操作に至る、より高度な機能を より利用することができるようになります。 加えてより高度な CPU は、カーネルがカーネル自身をメモリにマップする 4MB の MMU ページをサポートします。 これは高いシステムコール負荷の 下での効率を上げます。 .Sh IDE ライトキャッシュ .Fx 4.3 では IDE のライトキャッシュがオフになりました。 これは IDE ディスクへの書き込み帯域幅を減らしてしまうことになりますが、 ハードドライブベンダに起因するデータの一貫性に関する重大な問題のために、 必要なことだと考えられました。 基本的には、書き込み完了時期について IDE ドライブが嘘をつくという問題です。 IDE ライトキャッシュがオンであると、 IDE ハードドライブはデータを順番に書きこまないばかりか、 ディスクの負荷が高い時にはいくつかのブロックの書き込みを 無期限に延期してしまいます。 クラッシュや電源故障の場合、ファイルシステムの重大な破壊を もたらします。したがって私たちはデフォルトを安全側に変更しました。 残念ながら、これは大変な性能の低下をもたらし、私たちはあきらめて このリリース後にオンに戻しました。 .Va hw.ata.wc sysctl 変数を見て、デフォルトをチェックしてみるべきです。 もし IDE ライトキャッシュがオフになっていたら、 .Va hw.ata.wc ローダチューナブルを 1 に設定することでオンに戻すことができます。 ATA ドライバシステムのチューニングに関する更なる情報は、 .Xr ata 4 を参照してください。 .Pp IDE ハードドライブの実験的な新機能として、 .Va hw.ata.tags と呼ばれるものがあり (これもブートローダで設定します)、 ライトキャッシュを安全にオンにすることができます。 これは SCSI のタギング機能を IDE ドライブに持ち込んだものです。 これを書いている時点では、IBM DPLA と DTLA ドライブだけがこの機能を サポートしています。 警告! これらのドライブは品質管理に問題 があるようなので、私は現時点ではこれらの製品を買うことはおすすめしません。 性能が必要なら SCSI を使いましょう。 .Sh CPU、メモリ、ディスク、ネットワーク 負荷が上がるとシステムのどの部分がボトルネックになりはじめているかによって、 チューニングの種類が違ってきます。 CPU を使い果たしている (アイドル時間が常に 0%) ならば、CPU を アップグレードしたり SMP マザーボード (CPU を複数にする) に移行 したり、あるいは負荷の原因となっているプログラムを見直して最適化する ことを考える必要があるでしょう。 スワップに対して大量のページングがあるなら メモリをもっと増やす必要があるでしょう。 ディスク性能が飽和している場合、CPU アイドル時間は高く、全般的に ディスクが飽和状態になっています。 .Xr systat 1 でこれらをモニタすることができます。 ディスク性能の飽和を解決するにはいろいろな方法があります: キャッシュのためのメモリを増やす、ディスクをミラーリングする、 複数のマシンに操作を分散させる等です。 ディスク性能が問題で、IDE ドライブを使っている場合、 SCSI に切り替えることでずいぶんよくなります。 生のシーケンシャルな帯域幅については、最近の IDE ドライブは SCSI のものに 匹敵していますが、調べると大抵 SCSI ドライブが勝っています。 .Pp 最後に、ネットワーク性能を使い果たしているかもしれません。 ネットワーク性能を改善するために最初に確認すべきことは、 ハブではなくスイッチを使っているか、ということです。 特に最近はスイッチは安くなっています。 ハブが高負荷になると、コリジョンバックオフのために深刻な問題が発生します。 また、1 台のホストに問題があると、LAN 全体の性能を大幅に低下させます。 次に、できるだけネットワーク経路を最適化することです。 例えば .Xr firewall 7 で説明した内部ホストを守るファイアウォールでは、 外部から見えるホストはファイアウォールを通さないトポロジです。 必要に応じて 10BaseT ではなく 100Base-T を、あるいは 100BaseT ではなく 1000BaseT を使いましょう。 最大のボトルネックは WAN 回線です (モデム、T1、DSL 等)。 回線を増強できないのであれば、 .Xr dummynet 4 機能を使ってピーク削減やその他のトラフィックシェイピングを 行い過負荷のサービス (web サービス等) が他のサービス (電子メール等) に影響を与えるのを防いでください。逆もまた同様です。 これは、家庭環境において、外部に公開しているサービス (web サービスや電子メール) よりも インタラクティブなトラフィック (ブラウザや .Xr ssh 1 ログイン) を 優先するために使うことができるでしょう。 .Sh 関連項目 .Xr netstat 1 , .Xr systat 1 , .Xr ata 4 , .Xr dummynet 4 , .Xr login.conf 5 , .Xr rc.conf 5 , .Xr sysctl.conf 5 , .Xr firewall 7 , .Xr hier 7 , .Xr ports 7 , .Xr boot 8 , .Xr ccdconfig 8 , .Xr config 8 , .Xr disklabel 8 , .Xr fsck 8 , .Xr ifconfig 8 , .Xr ipfw 8 , .Xr loader 8 , .Xr mount 8 , .Xr newfs 8 , .Xr route 8 , .Xr sysctl 8 , .Xr sysinstall 8 , .Xr tunefs 8 , .Xr vinum 8 .Sh 歴史 .Nm マニュアルページは、もともと .An Matthew Dillon によって書かれました。 最初に登場したのは .Fx 4.3 で、2001 年 5 月のことです。 diff --git a/ja_JP.eucJP/man/man8/adduser.8 b/ja_JP.eucJP/man/man8/adduser.8 index a8f19b6810..3514178a58 100644 --- a/ja_JP.eucJP/man/man8/adduser.8 +++ b/ja_JP.eucJP/man/man8/adduser.8 @@ -1,426 +1,426 @@ .\" Copyright (c) 1995-1996 Wolfram Schneider . Berlin. .\" All rights reserved. .\" Copyright (c) 2002 Michael Telahun Makonnen .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/adduser/adduser.8,v 1.50 2003/06/20 19:23:55 mtm Exp % +.\" %FreeBSD: src/usr.sbin/adduser/adduser.8,v 1.51 2003/09/10 19:24:35 ru Exp % .\" $FreeBSD$ .\" .Dd August 14, 2002 .Dt ADDUSER 8 .Os .Sh 名称 .Nm adduser .Nd 新しいユーザを加えるためのコマンド .Sh 書式 .Nm .Op Fl CENhq .Op Fl G Ar groups .Op Fl L Ar login_class .Op Fl d Ar partition .Op Fl f Ar file .Op Fl g Ar login_group .Op Fl k Ar dotdir .Op Fl m Ar message_file .Op Fl s Ar shell .Op Fl u Ar uid_start .Op Fl w Ar type .Sh 解説 .Nm ユーティリティは新しいユーザを加えるための、 .Xr pw 8 コマンドを利用して実装されたシェルスクリプトです。 パスワード, グループ, シェル等のデータベースをチェックし、 passwd/group の登録を行い、 ホーム ディレクトリとドットファイルを作成し、 新しいユーザに歓迎メッセージを送ります。 2 つの動作モードをサポートします。 すなわち、 1 度に 1 人ずつのユーザを追加するコマンドラインでの対話モードと、 新規ユーザのリストをファイルで与えてユーザの介在無しに 動作するバッチモードです。 .Sh 制限事項 .Bl -tag -width indent .It username ログイン名です。 .Xr pw 8 が受け付けるログイン名に制限されます。 一般に、英小文字と数字のみ使用可能です。 長さは 16 文字までです。 この制限の理由は、歴史的な物です。 美的な理由からこの制限を破りたいとする人々はいつもいましたが、 .Ux における基本的なパラメータを変更するほどの重要な理由ではありま せんでした。 -.Pa /usr/include/utmp.h +.In utmp.h ファイル内の .Dv UT_NAMESIZE パラメータを変更し、全てを再コンパイルすることで、変更できますが、 コンパイル済みのプログラムや名前の 8 文字制限を前提としたソースコード、 そして NIS については、問題が起こるでしょう。 NIS のプロトコルは、 ユーザ名を 8 文字と定めています。電子メールアドレスとして、もっと長い ログイン名を必要とする場合には、別名を .Pa /etc/mail/aliases ファイルに定義することができます。 .It "full name" 典型的には gecos フィールドとして知られ、 通常はユーザの完全な名前を格納します。 さらに、コンマで区切った値のリスト、 例えば職場の番号や職場と家の電話番号を格納可能です。 名前にアンパサンドが含まれる場合、 他のプログラムが表示するときに、 これを先頭を大文字にしたログイン名で置き換えます。 .Ql \&: (コロン) は、使えません。 .It shell シェルデータベースに定義されている有効なシェル .Pq Pa /etc/shells だけが有効です。 さらに、シェルのベース名だけが必要であり、フルパスは必要ではありません。 .It UID 自動生成されますが、自分で指定することもできます。 ただし、32000 よりも小さい数字でなければなりません。 .It "GID/login group" 自動生成されますが、自分で指定することもできます。 ただし、32000 よりも小さい数字でなければなりません。 .It password 空のパスワード、パスワード無効化、ランダム生成パスワード、 素のテキストで指定するパスワードのいずれかを選択可能です。 パスワードは .Xr crypt 3 を利用して暗号化されます。 .El .Sh 一意なグループ ひょっとして、あなたは、この方法ではできても他のほとんどの方法ではう まく行かないことがあるのを見逃しているかもしれません。個々のユーザを そのユーザ独自のグループに入れることで、 通常の 022 の代りに umask を 002 としておいても 安全になり、ホームディレクトリにファイルを作っても、他の人にファイル を読まれる心配がなくなります。 .Pp 共有場所を作るためには、 (freefall における cvs や ncvs のように) UID/GID を別に設けて、ユーザを個別にその新しいグループに入れることで、 その場所へのアクセスを可能とすべきです。 .Pp この uid/gid の管理モデルは、たくさんのユーザをグループにまとめるよ り柔軟性があり、共有場所で仕事をする時に umask をいじり回さずにすみ ます。 .Pp この方法をほぼ 10 年間使っていますが、ほとんどの場合に使えることがわ かり、じゃまになったことはありませんでした。 (Rod Grimes) .Sh 設定 .Nm ユーティリティは設定情報を .Pa /etc/adduser.conf から読み取ります。 このファイルが存在しない場合、規定のデフォルトを使用します。 このファイルは手で編集可能ですが、 .Fl C コマンドライン引数を使用する方が安全です。 この引数を使用すると、 .Nm は対話的入力を開始し、問い合わせに対する回答を .Pa /etc/adduser.conf に保存し、ユーザデータベースを変更せずに確認しつつ終了します。 コマンドラインで指定したオプションは、このファイルに保存したものに優先します。 .Sh オプション .Bl -tag -width indent .It Fl C 新規設定ファイルを作成して終了します。 このオプションは .Fl f と排他です。 .It Fl d Ar partition ホームパーティション。 ユーザディレクトリを見付けるデフォルトパーティションです。 .It Fl E アカウントを無効化します。 このオプションは、文字列 .Dq Li *LOCKED* をパスワードフィールドの前に付けることで、アカウントをロックします。 アカウントのアンロックは、スーパユーザが次の .Xr pw 8 コマンドコマンドを使用して行います: .Pp .D1 Nm pw Cm unlock Op Ar name | uid .It Fl f Ar file 生成するアカウントのリストを .Ar file から得ます。 .Ar file が .Dq Fl の場合、リストを標準入力から得ます。 このオプションが指定された場合、 .Nm はバッチモードで動作し、ユーザ入力を求めません。 あるアカウント処理中にエラーが発生した場合、 メッセージを標準エラーに書き込み、次のアカウントに取り組みます。 入力ファイルの書式は後述します。 .It Fl g Ar login_group 通常は、ログイングループが指定されない場合、 ユーザ名と同じであると仮定されます。 このオプションは、 .Ar login_group をデフォルトとします。 .It Fl G Ar groups 追加グループ。 このオプションは、ユーザに付与する追加グループを指定します。 ユーザは、ログイングループに加え、これらのグループのメンバです。 .It Fl h オプションの要約を表示して、終了します。 .It Fl k Ar directory .Ar directory のファイルを新規ユーザのホームディレクトリへコピーします。 .Pa dot.foo は .Pa .foo にリネームされます。 .It Fl L Ar login_class デフォルトログインクラスを設定します。 .It Fl m Ar file .Ar file の歓迎メッセージを送ります。 .Ar file に .Cm no を指定すると、新規ユーザへメッセージを送りません。 メッセージファイルが .Nm スクリプトの内部変数を参照可能であることに注意してください。 .It Fl N デフォルト設定ファイルを読み取りません。 .It Fl q 最小のユーザフィードバック。 特に、ランダムパスワードは標準出力にエコーされません。 .It Fl s Ar shell 新規ユーザのデフォルトシェル。 .Ar shell 引数は、シェルのベース名であることが必要であり、フルパスであっては .Em なりません 。 シェルが正当なシェルであるとみなされるためには、 .Pa /etc/shells に含まれるか、特殊シェル .Em nologin であることが必要です。 .It Fl u Ar uid .Ar uid から開始する UID を使用します。 .It Fl w Ar type パスワードタイプ。 どのようなタイプのパスワードを生成するかを、 .Nm ユーティリティはユーザに許しています。 .Ar type 引数は以下の値のうちのいずれかです: .Bl -tag -width ".Cm random" .It Cm no パスワードの無効化。 暗号化文字列の代りに、パスワードフィールドは単一の .Ql * 文字になります。 スーパユーザが手動でパスワードを有効化するまで、ユーザはログインできません。 .It Cm none 空文字列をパスワードとして使用します。 .It Cm yes ユーザが提供した文字列をパスワードとして利用します。 対話モードでは、ユーザはパスワード入力を求められます。 バッチモードでは、最後 (10 番目) のフィールドがパスワードだとみなされます。 .It Cm random ランダム文字列を生成し、これをパスワードとします。 パスワードは標準出力へエコーされます。 さらに、 .Va randompass 変数を介して、ファイルへ含めることが可能です。 .El .El .Sh フォーマット .Fl f オプション使用時には、アカウント情報は特定の書式で格納する必要があります。 空行または .Ql # で開始する行は無視されます。 他のすべての行は、コロン .Pq Ql \&: で区切られた 10 個のフィールド (後述) から成ります。 コマンドラインオプションは、これらの値に優先しません。 パスワードフィールドのみが、 .Ql \&: 文字を文字列の一部として持つことができます。 .Pp .Sm off .D1 Ar name : uid : gid : class : change : expire : gecos : home_dir : shell : password .Sm on .Bl -tag -width ".Ar password" .It Ar name ログイン名。 このフィールドは空であってはなりません。 .It Ar uid 数値のログインユーザ ID。 このフィールドが空の場合、自動生成されます。 .It Ar gid 数値のプライマリグループ ID。 このフィールドが空の場合、ユーザ名と同じ名前のグループが生成され、 その GID が使用されます。 .It Ar class ログインクラス。 このフィールドは空であっても構いません。 .It Ar change パスワードエージング。 このアカウントのパスワードを変更する日付を表現します。 このフィールドの書式は、 .Xr pw 8 への .Fl p 引数のものと同じです。 これは .Ar dd Ns - Ns Ar mmm Ns - Ns Ar yy Ns Op Ar yy であり、 .Ar dd は日、 .Ar mmm は数値またはアルファベットの月で .Dq Li 10 や .Dq Li Oct 、 .Ar yy Ns Op Ar yy は 4 桁または 2 桁の年です。 現在の日付からの相対で時を指定したい場合、次の書式を使用します: .No + Ns Ar n Ns Op Ar mhdwoy 。 ここで、 .Ar n は数値であり、この後に分・時間・日・週・月・年を続け、 これらけの期間が経過したらパスワードが変更されねばならないことを示します。 このフィールドを空にすることで、この機能をオフにできます。 .It Ar expire アカウントの満了。 このフィールドは、アカウントの満了日を表現します。 指定した日付より後にはアカウントは使用できません。 このフィールドの書式は、パスワードエージングのものと同じです。 このフィールドを空にすることで、この機能をオフにできます。 .It Ar gecos ユーザの完全な名前と追加情報。 .It Ar home_dir ホームディレクトリ。 このフィールドが空の場合、 ホームパーティションにユーザ名を追加することで自動生成されます。 .It Ar shell ログインシェル。 このフィールドは、有効なログインシェルのフルパスを含むことが必要です。 .It Ar password ユーザパスワード。 このフィールドは素のテキスト文字列を含み、 ユーザデータベースに置かれる前に暗号化されます。 パスワードタイプが .Cm yes であり、このフィールドが空の場合、 このアカウントは空のパスワードになるものとみなされます。 パスワードタイプが .Cm random でありこのフィールドが空では .Em ない 場合、この内容がパスワードとして使用されます。 .Fl p オプションが引数 .Cm no または .Cm none と共に使用された場合、このフィールドは無視されます。 このフィールドを .Ql \&: で終端させないように。 これはパスワードの一部とみなされてしまいます。 .El .Sh 関連ファイル .Bl -tag -width ".Pa /etc/adduser.message" -compact .It Pa /etc/master.passwd ユーザのデータベース .It Pa /etc/group グループのデータベース .It Pa /etc/shells シェルデータベース .It Pa /etc/login.conf ログインクラスデータベース .It Pa /etc/adduser.conf .Nm 用の設定ファイル .It Pa /etc/adduser.message .Nm 用のメッセージファイル .It Pa /usr/share/skel ログインディレクトリの雛型 .It Pa /var/log/adduser .Nm のログ記録ファイル .El .Sh 関連項目 .Xr chpass 1 , .Xr passwd 1 , .Xr aliases 5 , .Xr group 5 , .Xr login.conf 5 , .Xr passwd 5 , .Xr shells 5 , .Xr pw 8 , .Xr pwd_mkdb 8 , .Xr rmuser 8 , .Xr vipw 8 , .Xr yp 8 .Sh 歴史 .Nm ユーティリティは .Fx 2.1 から導入されました. .Sh 作者 .An -nosplit マニュアルページと Perl による元のスクリプトは .An Wolfram Schneider Aq wosch@FreeBSD.org が書きました。 追加機能を持つ、Bourne シェルスクリプトで書かれた置き換えスクリプトと、 これに伴なうマニュアルページの更新を .An Mike Makonnen Aq mtm@identd.net が行いました。 .Sh バグ .Va $username や .Va $randompass といった変数を新規ユーザへ送るメッセージ中で .Nm が正しく展開できるために、 メッセージファイルの各行をシェルで評価する必要があります。 これは、メッセージファイル中にシェルコマンドを格納可能であることを意味します。 .Nm ユーティリティは、攻撃者がこの機能を使用する可能性を柔らげるために、 root ユーザ所有の root ユーザのみが書き込み可能なファイル以外を評価する ことを拒否します。 さらに、シェル特殊文字やオペレータは、 メッセージファイルで使用する場合、エスケープする必要があります。 .Pp また、パスワードエージングとアカウント満了時は、 現在のところバッチモードでのみ設定可能です。 対話モードでもユーザが設定可能となるべきです。 diff --git a/ja_JP.eucJP/man/man8/amd.8 b/ja_JP.eucJP/man/man8/amd.8 index ac6e224bde..d96bf3696a 100644 --- a/ja_JP.eucJP/man/man8/amd.8 +++ b/ja_JP.eucJP/man/man8/amd.8 @@ -1,345 +1,345 @@ .\" -.\" Copyright (c) 1997-1999 Erez Zadok +.\" Copyright (c) 1997-2003 Erez Zadok .\" Copyright (c) 1989 Jan-Simon Pendry .\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1989 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" -.\" %Id: amd.8,v 1.3 1999/09/30 21:01:29 ezk Exp % -.\" %FreeBSD: src/contrib/amd/amd/amd.8,v 1.17 2002/12/12 17:25:52 ru Exp % +.\" $Id: amd.8,v 1.26 2003-10-13 02:42:27 horikawa Exp $ +.\" %FreeBSD: src/contrib/amd/amd/amd.8,v 1.18 2003/09/02 15:42:56 mbr Exp % .\" .\" $FreeBSD$ .\" .Dd April 19, 1994 .Dt AMD 8 .Os .Sh 名称 .Nm amd .Nd 自動マウントファイルシステム .Sh 書式 .Nm amd .Fl H .Nm amd .Op Fl F Ar conf_file .Nm amd .Op Fl nprvHS .Op Fl a Ar mount_point .Op Fl c Ar duration .Op Fl d Ar domain .Bk -words .Op Fl k Ar kernel-arch .Ek .Op Fl l Ar logfile .Op Fl o Ar op_sys_ver .Op Fl t Ar timeout.retransmit .Bk -words .Op Fl w Ar interval .Ek .Op Fl x Ar log-option .Op Fl y Ar YP-domain .Bk -words .Op Fl C Ar cluster-name .Ek .Op Fl D Ar option .Op Fl F Ar conf_file .Op Fl O Ar op_sys_name .Op Fl T Ar tag .Oo .Ar directory mapname .Op Fl map-options .Oc .Ar ... .Sh 解説 .Nm は、ファイルシステムがアクセスされたときに自動的にそのファイルシステムを マウントするデーモンです。マウントされたファイルシステムは、アクセスがな ければ自動的にアンマウントされます。 .Pp .Nm は、自分自身をNFSサーバとして、指定された .Ar directory に結び付けます。 その指定ディレクトリ内でのファイルアクセスは .Nm によって処理されます。 .Nm は、 .Ar mapname で定義されたマップを使って、あるディレクトリ にどのファイルシステムを割り当てるかを決定します。 一般に .Ar mapname は、ホスト名やファイルシステムの情報、 マウントオプションから構成されます。 .Pp 前述の最初の形式では、 .Nm は短いヘルプ文字列を表示します。 第 2 の形式では、オプションを指定しないか、 .Fl F が使用されると、 .Nm は設定パラメータをファイル .Ar conf_file から読み込みます。設定ファイルのデフォルトは .Pa /etc/amd.conf です。 最後の形式についてはここから記述します。 .Sh オプション .Bl -tag -width Ds .It Fl a Ar temporary-directory 実際にファイルシステムをマウントする位置を指定します。 デフォルトは .Pa /.amd_mnt です。 .It Fl c Ar duration ディレクトリが使われないときに、探索に使われた名前をキャッシュ して保持する秒数を指定します。デフォルトは5分です。 .It Fl d Ar domain ローカルドメイン名を指定します。もしこのオプションが与 えられなければ、ドメイン名はホスト名から決定されます。 .It Fl k Ar kernel-arch カーネルアーキテクチャを指定します。これは単に ${karch} セレクタ を指定するだけです。 .It Fl l Ar logfile マウントおよびアンマウントのイベントを記録するログファイル を指定します。 もし、 .Ar logfile が ``syslog'' という文字列なら、ログメッセージは .Xr syslog 3 によってシステムログデーモンに送られます。 デフォルトの syslog ファシリティは LOG_DAEMON です。 変更したい場合は、ログファイル名の後にコロンで区切って、 その名前を付けてください。 例えば、 .Ar logfile が文字列 .Dq Li syslog:local7 である場合、 .Nm は、 .Xr syslog 3 の LOG_LOCAL7 ファシリティを使用してログを取ります (ただしシステムに本ファシリティが存在する場合)。 .It Fl n ホスト名を正規化します。${rhost}で参照される名前は、使わ れる前にホストデータベースに関連づけて正規化されます。 これは、エイリアスを ``公式 (official)'' ホスト名に変換する効果があります。 .It Fl o Ar op_sys_ver 組み込まれているオペレーティングシステムバージョン番号を上書きします。 後方互換性のために、 組み込みのバージョン番号が望ましくない場合に有用です。 例えば、組み込みのバージョン番号が .Dq 2.5.1 の場合、 .Dq 5.5.1 で上書きして、後者を意識して書いた古いマップを使用することができます。 .It Fl p プロセスIDを表示します。 .Nm のプロセス ID を標準出力に出力して、ファイルに保存することができます。 .It Fl r 存在するマウントをリスタートします。 .Nm はマウントファイルテーブルをスキャンして、 現在マウントされているファイルシステムを判断します。 ファイルシステムが自動マウントされたものであれば、 .Nm は、その情報を継承します。 .It Fl t Ar timeout.retransmit NFS/RPC のリトライの間隔、すなわち NFS タイムアウト間隔を、 10 分の 1 秒単位で指定します (UDP のみ)。 デフォルト値は 0.8 秒です。2 番目の値は再送カウンタを変更します。 デフォルト値では 11 回の再送です。 カーネルは、両方の値を使用して amd と通信します。 どちらか一方か、両方の値が設定されていなければ、 適当なデフォルト値が設定されます。 .Pp amd は、 カーネルの RPC 再送機構がマウントリトライの引き金となることに依存しています。 これらのパラメータ値は、総合的なリトライ間隔を変更します。 間隔が長くなり過ぎると、対話応答が劣化します。 間隔が短くなり過ぎると、リトライが増え過ぎます。 .It Fl v バージョンを表示します。標準エラー出力に設定情報を表示します。 .It Fl w Ar interval キャッシュする時間を超えたファイルシステムのマウントを解除する時間を 秒単位で指定します。デフォルト値は2分です。 .It Fl x Ar options 実行時に何をログに記録するかを指定します。 .Ar options には次のものをコンマで区切って使用できます: fatal, error, user, warn, info, map, stats, all。 .It Fl y Ar domain NIS マップをとってくる際に用いる NIS ドメインを指定します。 デフォルトはシステムのドメイン名です。このオプションは、NIS を動かしていないときには無視されます。 .It Fl C Ar cluster-name 代わりの HP-UX クラスタ名を指定します。 .It Fl D Ar option デバッグオプションの種類を選択することができます。 .Ar option の頭に .Ar no をつけると、そのオプションの逆の影響を与えます。 オプションは並べて指定することができます。もっとも役に立つのは .Ar all です。 .Pp .Fl D はデバッグのときにだけ使うものであるため、ここでは他のオプションに ついては説明しません。サポートされているオプションは .Fl v オプションで表示されますが、詳細はソースコードに記述されています。 .It Fl F Ar conf_file 使用する .Nm 設定ファイルを指定します。 ファイル形式については .Xr amd.conf 5 を参照してください。 この設定ファイルの用途は、 コマンドラインにて多くのオプションをタイプする代りに、 これらのオプションを指定することです。 .Nm amd.conf ファイルは、 amd が持つすべてのコマンドラインオプションに対するディレクティブと、 設定ファイルによってのみ利用可能な多くの設定を含みます。 本オプションで指定された設定ファイルは、 他のオプションすべてが処理された後で処理されます。 本オプションがコマンドラインのどこに置かれていたかは無関係です。 .It Fl H ヘルプと使用方法の文字列を表示します。 .It Fl O Ar op_sys_name 組み込まれているオペレーティングシステム名を上書きします。 後方互換性のために、 組み込みの名前が望ましくない場合に有用です。 例えば、組み込みの名前が .Dq sunos5 の場合、 .Dq sos5 で上書きして、後者を意識して書いた古いマップを使用することができます。 .It Fl S .Nm の走行中の実行可能ページをメモリにロックしません。 .Nm の性能向上のために、 .Xr plock 3 コールをサポートするシステムでは .Nm プロセスをメモリにロック可能です。 この場合、オペレーティングシステムが必要に応じて .Nm プロセスをスケジュールしたり、ページアウトしたり、スワップする 機会が減ります。 .Nm の性能は向上する傾向がありますが、 .Nm プロセスが使用するメモリを (他のプロセスが使えないようにして) 予約してしまうというコストとなります。 この動作が望ましくない場合、 .Fl S を使用します。 .It Fl T Ar tag .Xr amd.conf 5 が使用するタグを指定します。 タグが付いている全マップエントリが処理されます。 タグが付いていないマップエントリは常に処理されます。 .Ar tag 以外のタグが付いているマップエントリは処理されません。 .El .Sh 関連ファイル .Bl -tag -width /axx .It Pa /.amd_mnt 動的にファイルシステムがマウントされるディレクトリ .It Pa /etc/amd.conf デフォルトの設定ファイル .El .Sh 警告 マウントマップを作成する場合には注意が必要です。 .Pp .Tn NFS ファイルシステム上のシンボリックリンクは、信じられないほど 非効率的です。 .Tn NFS を実装した多くのシステムでは、 シンボリックリンクの展開結果はカーネルがキャッシュせずに、 .Em lookuppn (パス名変換)時にシンボリックリンクに出会うたびに NFSサーバに対してRPCコールを行うようになっています。 キャッシュをどこかに加えることによって、かなり大きな性能の向上が 得られるはずです。 上手に実現したオートマウントシステムで .Xr symlink 2 を置き換えれば大きくスピードアップすることができますが、 同時に多くのコンテキストスイッチも起こします。 .Pp .Nm のすべての機能を駆使できれば非常に便利ですが、 それにはかなりの想像力が必要になります。 .Sh 関連項目 .Xr domainname 1 , .Xr hostname 1 , .Xr syslog 3 , .Xr amd.conf 5 , .Xr mtab 5 , .Xr amq 8 , .Xr mount 8 , .Xr umount 8 .Rs .%T Amd \- The 4.4 BSD Automounter. .Re .Pp .Pa http://www.cs.columbia.edu/~ezk/am-utils/ .Sh 作者 .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp am-utils の、他の作者および貢献者は、 am-utils とともに配布されている .Nm AUTHORS ファイルに記述されています。 .Sh 歴史 .Nm amd は .Bx 4.4 にはじめて導入されました。 diff --git a/ja_JP.eucJP/man/man8/amq.8 b/ja_JP.eucJP/man/man8/amq.8 index f4ffaba06e..eea497e686 100644 --- a/ja_JP.eucJP/man/man8/amq.8 +++ b/ja_JP.eucJP/man/man8/amq.8 @@ -1,225 +1,225 @@ .\" -.\" Copyright (c) 1997-1999 Erez Zadok +.\" Copyright (c) 1997-2003 Erez Zadok .\" Copyright (c) 1990 Jan-Simon Pendry .\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" Copyright (c) 1990, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" -.\" %Id: amq.8,v 1.2 1999/01/10 21:53:58 ezk Exp % -.\" %FreeBSD: src/contrib/amd/amq/amq.8,v 1.9 2002/12/12 17:25:52 ru Exp % +.\" $Id: amq.8,v 1.18 2003-10-13 02:42:27 horikawa Exp $ +.\" %FreeBSD: src/contrib/amd/amq/amq.8,v 1.10 2003/09/02 15:42:56 mbr Exp % .\" .\" $FreeBSD$ .\" .Dd March 16, 1991 .Dt AMQ 8 .Os .Sh 名称 .Nm amq .Nd 自動マウントシステムへの問い合わせツール .Sh 書式 .Nm amq .Op Fl fmpsuvTU .Op Fl h Ar hostname .Op Fl l Ar log_file .Op Fl x Ar log_options .Op Fl D Ar debug_options .Op Fl M Ar mountmap_entry .Op Fl P Ar program_number .Op Ar directory ... .Sh 解説 .Nm amq は、現在の .Xr amd 8 の動作状況を知るための簡単な手段を提供します。 .Nm amd との通信は .Tn RPC によって行われます。現在のプロトコルでは、 3 つのモード がサポートされています。デフォルトでは、マウントポイントと自動 マウントされたファイルシステムのリストが出力されます。 別のホストの状態を知るときは、 .Fl h オプションで .Ar hostname を指定します。 .Pp ディレクトリ名が与えられると、デフォルトの出力ではファイルシステム ごとの情報が表示されます。 .Sh オプション .Bl -tag -width flag .It Fl f 自動マウントシステムに内部キャッシュを破棄するように要求します。 .It Fl h Ar hostname .Ar hostname で指定されたホストに問い合わせを行います。デ フォルトでは、ローカルホストが使われます。 .Tn HP-UX クラスタでは、デフォルトでルートサーバに問い合わせが行わ れます。これは通常、自動マウントシステムがルートサーバで動 いているからです。 .It Fl l Ar log_file .Nm amd に対し、 .Ar log_file をログファイル名として使用するように指示します。 セキュリティのために、これは .Nm amd が起動したときと同じログファイルである必要があります。 それゆえ本オプションが有効なのは、 日々の cron ジョブによってログファイルがローテートおよび圧縮するために、 .Nm amd のファイルハンドルをリフレッシュするときに限られます。 .It Fl m マウントされたファイルシステムのリストを、 各ファイルシステムへの参照回数と マウント時に起きたエラーを含めて表示するように、自動マウント システムに要求します。 .It Fl p リモートもしくはローカルに実行されている .Nm amd のプロセス ID を返します。 ローカルの .Nm amd プロセスにシグナルを送る必要があるときに便利であり、 プロセステーブルを探さなくて済みます。 本オプションは .Pa ctl-amd スクリプトの中で使用されています。 .It Fl s 自動マウントシステムに、システムの統計情報を表示するように要求します。 .It Fl u 情報を表示する代わりに、 指定したファイルシステムをアンマウントするよう 自動マウントシステムに要求します。この要求によって、 必ずアンマウントが実行されるわけではありません。 単にそのファイルシステムのマウントが、 タイムアウトするにすぎません。 タイムアウトは .Nm amd のメインスケジューラに検出され、結果として 普通にタイムアウトしたときと同じことが行われます。 .It Fl v 自動マウントシステムに、バージョン情報を提供するように要求します。これは、 .Nm amd の .Fl v オプションで得られる情報の一部です。 .It Fl x Ar log_options 自動マウンタに対し、 .Ar log_options に指定されたロギングオプションを今から使用するように指示します。 .It Fl D Ar log_options 自動マウンタに対し、 .Ar debug_options に指定されたデバッギングオプションを今から使用するように指示します。 .It Fl M Ar mountmap_entry マウントマップエントリを .Nm amd に渡し、評価されるまで待ちます。これによりマウントが発生する可能性があります。 本オプションはセキュリティ面で非常に危険です。 デフォルトでは、 .Nm amd と .Nm amq は本オプションをサポートしていません。 本オプションを有効にするためには、 .Nm am-utils を .Ar --enable-amq-mount 付きで構築する必要があります。 .It Fl P Ar program_number 別の RPC プログラム番号 .Ar program_number で登録している .Nm amd に接続し、その自動マウンタのインスタンスに対して他のすべての操作を適用します。 複数コピーの .Nm amd を実行していて、それぞれを別個に管理する必要があるときに有用です。 指定しない場合には、 .Nm amq は .Nm amd のデフォルトのプログラム番号 300019 を使用します。 セキュリティのため、 .Nm amd が使用可能な別のプログラム番号は 300019 から 300029 まで (両端含む) に限定されています。 .It Fl T .Nm amd に対して TCP でのみ通信しようとします。 通常 .Nm amq は TCP を使用しようとし、失敗すると UDP を使用しようとします。 .It Fl U .Nm amd に対して UDP (コネクションレス) でのみ通信しようとします。 通常 .Nm amq は TCP を使用しようとし、失敗すると UDP を使用しようとします。 .El .Sh 関連ファイル .Bl -tag -width amq.x -compact .It Pa amq.x RPCのプロトコル記述 .El .Sh 警告 .Nm amq は、Sunが登録しているRPCプログラム番号(十進数で300019)を使っています。 これは通常、 .Pa /etc/rpc には含まれていません。 .Sh 関連項目 .Xr amd.conf 5 , .Xr amd 8 .Sh 作者 .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An am-utils の、他の作者および貢献者は、 am-utils とともに配布されている .Nm AUTHORS ファイルに記述されています。 .Sh 歴史 .Nm amq は、はじめに .Bx 4.4 で導入されました。 diff --git a/ja_JP.eucJP/man/man8/boot0cfg.8 b/ja_JP.eucJP/man/man8/boot0cfg.8 index 1f0500967a..7a9fd0815f 100644 --- a/ja_JP.eucJP/man/man8/boot0cfg.8 +++ b/ja_JP.eucJP/man/man8/boot0cfg.8 @@ -1,179 +1,179 @@ .\" Copyright (c) 1999 Robert Nordier .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR .\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, .\" OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT .\" OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR .\" BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, .\" WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE .\" OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, .\" EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/boot0cfg/boot0cfg.8,v 1.21 2003/04/15 21:03:19 jhb Exp % +.\" %FreeBSD: src/usr.sbin/boot0cfg/boot0cfg.8,v 1.22 2003/09/14 13:41:57 ru Exp % .\" .\" $FreeBSD$ .\" .Dd February 21, 1999 .Dt BOOT0CFG 8 .Os .Sh 名称 .Nm boot0cfg .Nd ブートマネージャのインストールと設定ユーティリティ .Sh 書式 .Nm .Op Fl Bv .Op Fl b Ar boot0 .Op Fl d Ar drive .Op Fl f Ar file .Op Fl m Ar mask .Op Fl o Ar options .Op Fl s Ar slice .Op Fl t Ar ticks .Ar disk .Sh 解説 .Fx の .Sq boot0 ブートマネージャは、 i386 マシン (PC) がどのディスクのどのスライスから起動するかを、 操作者が選択できるようにします。 .Pp ここで、 .Dq スライス と言及しているものは、 .Bx 以外の PC 関連文書においては一般的に .Dq パーティション と呼ばれることに注意してください。 典型的には、リムーバブルディスク以外のみ、スライスを持ちます。 .Pp オプションとして、 .Nm ユーティリティは .Sq boot0 ブートマネージャを指定した .Ar disk へインストールします; そして、様々に操作可能なパラメータの設定を許します。 .Pp PC では、ブートマネージャは典型的にディスクのセクタ 0 にあり、 マスタブートレコード (Master Boot Record; MBR) として知られています。 MBR は、コード (PC BIOS から制御を渡されます) と データ (定義されたスライスに関する組み込みの表) の、両方を含みます。 .Pp オプションは次の通りです: .Bl -tag -width indent .It Fl B .Sq boot0 ブートマネージャをインストールします。 このオプションは、MBR コードを交換しますが、 組み込み済のスライス表には影響しません。 .It Fl b Ar boot0 どの .Sq boot0 イメージを使用するかを指定します。デフォルトは .Pa /boot/boot0 です。 .It Fl d Ar drive 指定した .Ar disk を含むドライブを参照するために PC BIOS が使用する、ドライブ番号を指定します。 典型的には、最初のハードドライブは 0x80 であり、 2 番目のハードドライブは 0x81 などとなります; 0 から 0xff までの間の任意の整数を受け付け可能です。 .It Fl f Ar file 以前あった MBR のバックアップコピーを .Ar file に書き込むべきであることを指定します。 このファイルは、存在しない場合には作成され、 存在する場合には置換されます。 .It Fl m Ar mask スライスの有効/無効を指定します。 .Ar mask は 0 (全スライスが無効) から 0xf (4 つ全部のスライスが有効) の間の整数です。 .It Fl o Ar options コンマで区切られた文字列であり、次のオプションを指定可能です (必要に応じて .Dq no を前に付けることが可能です): .Bl -tag -width indent .It packet ディスク関連 BIOS サービスにアクセスするときに、 伝統的な (CHS) インタフェースではなく、 ディスクパケット (BIOS Int 0x13 拡張) インタフェースを必要に応じて使用します。 これにより、1023 シンリンダ超からブート可能となりますが、 特定のBIOS サポートが必要です。 デフォルトは .Sq nopacket です。 .It setdrv ディスクを含むドライブの参照に、-d オプションにより 定義可能なドライブ番号を使用することを強制します。 デフォルトは .Sq nosetdrv です。 .It update ブートマネージャが MBR を更新することを許可します。(スライスを .Sq 活動 状態とするためや、スライスの選択情報を保存するために、MBR が更新されます。) これがデフォルトです; .Sq noupdate オプションを指定すると、MBR は読み込み専用で扱われます。 .El .It Fl s Ar slice デフォルトのブート選択を .Ar slice に設定します。 1 から 4 までの値は、スライスを示します。 値 5 は、2 番目のディスクからのブートを示します。 本オプションは、通常、 .Sq noupdate オプションと共に使用します。 .It Fl v 冗長: 定義されたスライスに関する情報などを表示します。 .El .Sh 関連ファイル .Bl -tag -width /boot/boot0 -compact .It Pa /boot/boot0 デフォルトの .Sq boot0 イメージ .El .Sh 使用例 次回ブート時にスライス 2 からブートします: .Pp .Dl "boot0cfg -s 2 ad0" .Pp メニューで、スライス 1 と 2 だけを有効にします: .Pp .Dl "boot0cfg -m 0x3 ad0" .Sh 関連項目 .Xr boot 8 , .Xr fdisk 8 .Sh 診断 .Ex -std .Sh 作者 .An Robert Nordier Aq rnordier@FreeBSD.org .Sh バグ .Sq packet オプションを使用すると、 .Sq boot0 が失敗することがあります。 これは BIOS サポートの性質に依存しています。 .Pp 誤った -d オペランドとともに .Sq setdrv オプションを使用すると、MBR を誤ったディスクへ書き込むことになります。 注意してください ! diff --git a/ja_JP.eucJP/man/man8/bsdlabel.8 b/ja_JP.eucJP/man/man8/bsdlabel.8 index 524f214958..add2897f3a 100644 --- a/ja_JP.eucJP/man/man8/bsdlabel.8 +++ b/ja_JP.eucJP/man/man8/bsdlabel.8 @@ -1,480 +1,480 @@ .\" Copyright (c) 1987, 1988, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Symmetric Computer 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 acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)disklabel.8 8.2 (Berkeley) 4/19/94 -.\" %FreeBSD: src/sbin/bsdlabel/bsdlabel.8,v 1.54 2003/05/24 19:53:08 ru Exp % +.\" %FreeBSD: src/sbin/bsdlabel/bsdlabel.8,v 1.55 2003/09/08 19:57:18 ru Exp % .\" .\" $FreeBSD$ .\" .Dd March 15, 2003 .Dt BSDLABEL 8 .Os .Sh 名称 .Nm bsdlabel .Nd ディスクラベルの読み書きを行う .Sh 書式 .Nm .Op Fl A .Ar disk .Nm .Fl w .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Ar disk .Op Ar type .Nm .Fl e .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Ar disk .Nm .Fl R .Op Fl \&An .Op Fl B Op Fl b Ar boot .Op Fl m Ar machine .Ar disk protofile .Sh 解説 .Nm ユーティリティは、ディスクパーティション上に .Bx ラベルを 書きこんだり、確認したり、修正したりするために使われます。 また .Nm は同時にブートストラップコードを インストールすることもできます。 .Ss ディスクデバイス名 デバイス指定時には、 .Pa /dev/ のパスプレフィックスは省略可能です。 .Nm ユーティリティは自動的にこれを前に付けます。 .Ss 一般的なオプション .Fl A オプションをつけると、 .Bx ラベルの中で歴史的な理由で残っている部分を 処理できるようになります。このオプションを与えない場合、これらの フィールドには適切な値が設定されます。 .Pp .Fl n オプションは、ディスクが変更される直前で .Nm の実行を止め、実行結果をディスクに書きこまずに表示します。 .Pp .Fl m Ar machine 引数は、指定されたマシンに合ったレイアウトを使うように .Nm に指示を行います。 .Ss ディスクラベルの読み込み ディスクドライブ上のラベルを確認するためには オプションを指定せずに .Nm を使用します。 .Pp .Nm .Op Fl A .Op Fl m Ar machine .Ar disk .Pp .Ar disk は対象とするディスクを示します。 また .Pa da0 や .Pa /dev/da0 のような書式でも指定することができます。 これによってパーティションのレイアウトを表示します。 .Ss 標準的なラベルの書き込み 標準的なラベルを書き込むには、 以下の書式を使います。 .Pp .Nm .Fl w .Op Fl \&An .Op Fl m Ar machine .Ar disk .Op Ar type .Pp ドライブの種類が指定されている場合、 .Xr disktab 5 ファイル内の同名のエントリが使用され、 指定されていない場合はデフォルトのレイアウトが使われます。 .Ss 既存のディスクラベルの編集 既存のディスクラベルを編集するには、 以下の書式を使います。 .Pp .Nm .Fl e .Op Fl \&An .Op Fl m Ar machine .Ar disk .Pp このコマンドは、デフォルトのエディタでディスクラベルをオープンし、 エディタ終了時にディスクラベルを検証し、正しければそれをディスクに 書きこみます。 .Ss ファイルからのディスクラベルの復元 .Pp ファイルからディスクラベルを復元するには、 以下の書式を使います。 .Pp .Nm .Fl R .Op Fl \&An .Op Fl m Ar machine .Ar disk protofile .Pp .Nm は以前の操作により .Tn ASCII フォーマットのファイルに保存されたディスクラベル を復元することができます。 ラベルを作成するときに使われるプロトタイプファイルは、ラベルを読み込んだり 編集したりするときのものと同じフォーマットである必要があります。 コメントは .Ql # と改行で区切られます。 .Ss ブートストラップのインストール .Fl B 引数が指定された場合、ブートストラップコードが .Pa /boot/boot から読みこまれ、それがディスクに書きこまれます。 .Fl b Ar boot 引数を用いると、別のファイルが使用できます。 .Sh 関連ファイル .Bl -tag -width ".Pa /etc/disktab" -compact .It Pa /boot/boot デフォルトのブートイメージ .It Pa /etc/disktab ディスクを説明したファイル .El .Sh 保存されたファイルの書式 .Nm ユーティリティは、 ディスクラベルを確認、編集、または復元する際に .Tn ASCII 形式のラベルを使用します。 フォーマットは以下のとおりです。 .Bd -literal -offset 4n 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 0 4.2BSD 1024 8192 16 b: 160000 81920 swap c: 1173930 0 unused 0 0 # "raw" part, don't edit .Ed .Pp .Fl A オプションが指定されている場合、フォーマットは次のようになります: .Bd -literal -offset 4n # /dev/da1c: type: SCSI disk: da0s1 label: flags: bytes/sector: 512 sectors/track: 51 tracks/cylinder: 19 sectors/cylinder: 969 cylinders: 1211 sectors/unit: 1173930 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # milliseconds track-to-track seek: 0 # milliseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 81920 0 4.2BSD 1024 8192 16 b: 160000 81920 swap c: 1173930 0 unused 0 0 # "raw" part, don't edit .Ed .Pp .Ql # で始まる行はコメントです。 .Pp パーティションテーブルは 8 つまでエントリを持つことができ、 以下の情報を含みます: .Bl -tag -width indent .It Ar # パーティションの識別子は .Ql a から .Ql h の 1 文字です。 慣例的な理由により、 .Ql c パーティションは ディスク全体を表すために予約されています。 .It Ar size セクタ単位でのパーティションの大きさです。 .Cm K (キロバイト - 1024), .Cm M (メガバイト - 1024*1024), .Cm G (ギガバイト - 1024*1024*1024), .Cm % ( .Ql c 以外の固定長のパーティションを取り除いた .Em 後の 空間に対するパーセント)か、 .Cm * (固定長のパーティションとパーセント指定のパーティションを取り除いた .Em 後の 空間すべて)。 パーティション .Ql c に対して .Cm * を指定すると、ディスク全体を意味します 小文字の .Cm K , M , .Cm G も許されます。 大きさと型の間には空白を入れてはなりません。 .Pp 例: 2097152, 1G, 1024M, 1048576K はすべて同じ大きさです (512 バイトセクタを仮定)。 .It Ar offset ドライブの先頭からパーティションの開始位置までのオフセット値 (セクタ単位)です。 .Cm * は、使用すべき正しいオフセット (直前のパーティションの終端に 1 を加えたもの) を、 .Nm に計算させます。ただしパーティション .Ql c は無視します。 パーティション .Ql c に対しては、 .Cm * はオフセット 0 と解釈されます。 .It Ar fstype パーティションの使用目的を表します。 例では現在使用されているパーティション型を示します。 .Tn UFS ファイルシステムおよび .Xr ccd 4 では .Cm 4.2BSD が使われます。 Vinum ドライブでは .Cm vinum が使われます。 他の一般的な型は .Cm swap と .Cm unused です。 取り決めでは、パーティション .Ql c はスライス全体を表し、型 .Cm unused であるべきですが、 .Nm はこの取り決めを強制しません。 .Nm ユーティリティは多くの他のパーティション型を知っていますが、 それらは現在使用されていません。 (詳細は、 -.Aq Pa sys/disklabel.h +.In sys/disklabel.h ファイルで .Dv FS_UNUSED で始まっている定義を参照してください。 .It Ar fsize .Cm 4.2BSD と .Tn LFS のファイルシステムに対してのみ有効です。 フラグメントの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 1024 で、 1 GB 以上に対するデフォルトは 4096 です。 .It Ar bsize .Cm 4.2BSD と .Tn LFS のファイルシステムに対してのみ有効です。 ブロックの大きさを意味します。 1 GB 未満のパーティションに対するデフォルトは 8192 で、 1 GB 以上に対するデフォルトは 16384 です。 .It Ar bps/cpg .Cm 4.2BSD ファイルシステムに対しては、 シリンダグループ中のシリンダ数を意味します。 .Tn LFS ファイルシステムに対しては、 セグメントシフト値を意味します。 1 GB 未満のパーティションに対するデフォルトは 16 で、 1 GB 以上に対するデフォルトは 64 です。 .El .Sh 使用例 .Dl "bsdlabel da0s1" .Pp .Pa da0 の最初のスライス用に、 .Pa /dev/da0s1 から得たものとしてラベルを表示します .Pp .Dl "bsdlabel da0s1 > savedlabel" .Pp .Pa da0s1 に対する カーネル内のコピーをファイルに .Pa savedlabel に保存します。 このファイルは後で .Fl R オプションを用いてラベルを復元する際に使用できます。 .Pp .Dl "bsdlabel -w /dev/da0s1" .Pp .Pa da0s1 のラベルを作成します。 .Pp .Dl "bsdlabel -e da0s1" .Pp .Pa da0s1 のラベルを読み込み、編集し、その結果を書き込みます。 .Pp .Dl "bsdlabel -e -n da0s1" .Pp .Pa da0s1 のディスク上のラベルを読み、編集し、新規ラベルがどのようになるかを (セクタ単位で) 表示します。 新規ラベルは、メモリにもディスクにもインストール .Em しません 。 .Pp .Dl "bsdlabel -w da0s1" .Pp .Pa da0s1 にデフォルトのラベルを書きこみます。 パーティション情報やファイルシステム情報を編集するには、 この後で .Nm Fl e コマンドを使って下さい。 .Pp .Dl "bsdlabel -R da0s1 savedlabel" .Pp .Pa savedlabel に書かれている情報を .Pa da0s1 のラベルとして書き込みます。 ディスク上のラベルとともにカーネル内コピーも書き換えられます。 .Pp .Dl "bsdlabel -R -n da0s1 label_layout" .Pp パーティションレイアウト .Pa label_layout を使用すると、 .Pa da0s1 のラベルがどのようになるかを表示します。 .Cm % と .Cm * に基くパーティションの大きさ指定を使用するラベル方式を使用した場合に、 各パーティションにどれだけ割り当てられるかを判定するのに有用です。 .Pp .Dl "bsdlabel -B da0s1" .Pp .Pa da0s1 に新たにブートストラップコードを書き込みます. ブートストラップコードは .Pa /boot/boot です。 .Pp .Dl "bsdlabel -w -B -b newboot /dev/da0s1" .Pp 新たなラベルとブートストラップコードを書き込みます。 ブートストラップコードは カレントディレクトリにある .Pa newboot です。 .Bd -literal -offset indent dd if=/dev/zero of=/dev/da0 bs=512 count=32 fdisk -BI da0 dd if=/dev/zero of=/dev/da0s1 bs=512 count=32 bsdlabel -w -B da0s1 bsdlabel -e da0s1 .Ed .Pp ディスク上の既存の情報を完全に削除し、 ディスク全体を覆う 1 つのスライスを含んだ .Tn DOS パーティションテーブル付きの ブート可能ディスクを新規に作成します。 次にスライスを初期化し、編集します。 .Pa dd はオプションですが、 .Tn BIOS によっては正しくディスクを認識するために必要です。 .Pp これは、 .Cm % , M , G , .Cm * といった新規パーティションサイズ型を使用する、ディスクラベルの例です。 次のコマンドラインのソースファイルとして使用可能です: .Dq Li "bsdlabel -R ad0s1c new_label_file" .Bd -literal -offset 4n # /dev/ad0s1c: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: 400M 0 4.2BSD 4096 16384 75 # (Cyl. 0 - 812*) b: 1G * swap c: * * unused e: 204800 * 4.2BSD f: 5g * 4.2BSD g: * * 4.2BSD .Ed .Sh 関連項目 .Xr ccd 4 , .Xr geom 4 , .Xr md 4 , .\" Xr bsdlabel 5 , .Xr disktab 5 , .Xr boot0cfg 8 , .Xr fdisk 8 .Sh 診断 デバイスドライバは、 オープンされているパーティションに関して、 サイズが小さくなることおよびオフセットが変化することを許しません。 diff --git a/ja_JP.eucJP/man/man8/edquota.8 b/ja_JP.eucJP/man/man8/edquota.8 index 172b3706e5..3d3112545a 100644 --- a/ja_JP.eucJP/man/man8/edquota.8 +++ b/ja_JP.eucJP/man/man8/edquota.8 @@ -1,246 +1,246 @@ .\" Copyright (c) 1983, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Robert Elz at The University of Melbourne. .\" .\" 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. .\" .\" @(#)edquota.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/edquota/edquota.8,v 1.18 2003/07/29 13:25:56 yar Exp % +.\" %FreeBSD: src/usr.sbin/edquota/edquota.8,v 1.19 2003/09/10 19:24:35 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt EDQUOTA 8 .Os .Sh 名称 .Nm edquota .Nd ユーザの割り当て制限を変更する .Sh 書式 .Nm .Op Fl u .Op Fl f Ar fspath .Op Fl p Ar proto-username .Ar username ... .Nm .Op Fl u .Fl e .Sm off .Ar fspath Op : Ar bslim Op : Ar bhlim Op : Ar islim Op : Ar ihlim .Sm on .Op Fl e Ar ... .Ar username ... .Nm .Fl g .Op Fl f Ar fspath .Op Fl p Ar proto-groupname .Ar groupname ... .Nm .Fl g .Fl e .Sm off .Ar fspath Op : Ar bslim Op : Ar bhlim Op : Ar islim Op : Ar ihlim .Sm on .Op Fl e Ar ... .Ar groupname ... .Nm .Fl t .Op Fl u .Op Fl f Ar fspath .Nm .Fl t .Fl g .Op Fl f Ar fspath .Sh 解説 .Nm ユーティリティは割り当て制限を変更するエディタです。 デフォルトで(または .Fl u オプションが指定された場合)は、 コマンドラインから 1 人以上のユーザを指定できます。 それぞれのユーザの現在の割り当て制限を、 .Tn ASCII テキストで記述した一時ファイルが作成されます。 ユーザ割り当て制限が設定されているファイルシステムは .Pa /etc/fstab の記述から検索します。 次に、 作成された .Tn ASCII ファァイルを編集できるようにエディタが起動されます。 環境変数 .Ev EDITOR で指定されていなければ、 .Xr vi 1 が起動されます。 .Pp このエディタ上で、 割り当て制限を変更したり、 追加したりできます。 割り当て制限値を 0 に設定することは、 割り当て制限を行わないことを示します。 ハードリミット値を 1 に設定することは、 ファイルを作成できないようにすることを意味します。 ソフトリミット値を 1 に設定し、 ハードリミットを 0 に設定することは、 一時的な用途にのみ割り当てを許可することを意味します ( .Fl t の項を参照)。 現在使用量は参考のためにのみ出力され、 変更しても意味はありません。 .Pp エディタを終了すると、 .Nm は一時ファイルを読み込み、 変更を反映するよう割り当て制限用バイナリファイルを書き換えます。 .Pp .Fl p オプションが指定された場合、 .Nm は、指定されたユーザに proto-username に対する設定をコピーします。 これは、 複数のユーザに割り当て制限を設定する一般的な方法です。 制限を設定するユーザとして数字で uid の範囲 (例えば、1000-2000) が 指定されたとき、 .Nm は、指定された範囲の uid のユーザについて設定をコピーします。 これにより、まとめてユーザにデフォルトの制限を設定することが出来ます。 制限を設定する uid は、 .Pa /etc/passwd に書かれていない値でも構いません。 .Pp .Fl e .Sm off .Ar fspath Op : Ar bslim Op : Ar bhlim Op : Ar islim Op : Ar ihlim .Sm on オプションのうち 1 個以上が指定された場合、 .Nm は、 .Ar fspath で示されるファイルシステムに対し .Ar bslim , bhlim , islim , ihlim で定義される制限を非対話的に設定します。 ここで .Ar bslim はブロック数のソフト制限、 .Ar bslim はブロック数のハード制限、 .Ar islim はファイル数のソフト制限、 .Ar ihlim はファイル数のハード制限です。 .Ar bslim , bhlim , islim , ihlim 値のいずれかが省略された場合、それは 0 と仮定され、 制限無しとなることを示します。 .Pp .Fl f オプションが指定された場合、 .Nm は .Ar fspath で指定されたファイルシステムのみの制限を読み取って変更します。 .Ar fspath 引数は、特殊デバイスでもファイルシステムマウントポイントでも構いません。 本オプションの第一義は、全ファイルシステムの制限レコードを書き換えてしまう .Fl p オプションの影響範囲を設定することです。 .Pp .Fl g オプションが指定された場合、 .Nm はコマンドラインで指定された 1 つ以上のグループに 対する割り当て制限を変更します。 .Fl p オプションを .Fl g オプションと いっしょに使用することにより、 .Fl p オプションで指定したグループの設定を 他のグループにコピーすることができます。 同様に、 .Fl e オプションを .Fl g オプションといっしょに使用することにより、 列挙したグループの集合の制限を非対話的に設定することができます。 .Pp ユーザはある一定の猶予期間だけ、 ソフトリミットを超えてファイルシステムを利用することができます。 猶予期間を過ぎるとソフトリミットは ハードリミットと同じ意味を持つようになり、 それ以上のファイルの割り当てができなくなります。 デフォルトの猶予期間は -.Pa /usr/include/ufs/ufs/quota.h +.In ufs/ufs/quota.h で定義されています。 .Fl t オプションにより猶予期間を変更することができます。 デフォルトで、 あるいは .Fl u オプションを 指定して起動した場合は、 .Pa /etc/fstab に指定してあるすべてのユーザ割り当て制限に対して猶予期間が設定されます。 .Fl g オプションを指定して 起動した場合は、 .Pa /etc/fstab に指定してあるすべてのグループ割り当て制限に対して猶予期間が設定されます。 猶予期間は、 日、 時、 分、 秒を指定して設定することができます。 猶予期間を 0 に設定することは、 デフォルトの猶予期間を指定したものとみなされます。 また、 猶予期間を 1 秒に設定することは、 猶予期間なしとみなされます。 .Pp スーパユーザのみが割り当て制限を変更することができます。 .Sh 関連ファイル .Bl -tag -width quota.group -compact .It Pa quota.user ファイルシステムのルートにあるユーザ割り当て制限に関するデータ .It Pa quota.group ファイルシステムのルートにあるグループ割り当て制限に関するデータ .It Pa /etc/fstab ファイルシステムの名前と位置を読み取る .El .Sh 関連項目 .Xr quota 1 , .Xr quotactl 2 , .Xr fstab 5 , .Xr quotacheck 8 , .Xr quotaon 8 , .Xr repquota 8 .Sh 診断 アクセス不可能なファイルに対して、様々なメッセージを出力します。 diff --git a/ja_JP.eucJP/man/man8/fixmount.8 b/ja_JP.eucJP/man/man8/fixmount.8 index 63f6ba9b85..0ac7450abb 100644 --- a/ja_JP.eucJP/man/man8/fixmount.8 +++ b/ja_JP.eucJP/man/man8/fixmount.8 @@ -1,195 +1,195 @@ .\" -.\" Copyright (c) 1997-1999 Erez Zadok +.\" Copyright (c) 1997-2003 Erez Zadok .\" Copyright (c) 1990 Jan-Simon Pendry .\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" -.\" %Id: fixmount.8,v 1.2 1999/01/10 21:54:26 ezk Exp % -.\" %FreeBSD: src/contrib/amd/fixmount/fixmount.8,v 1.8 2002/12/12 17:25:52 ru Exp % +.\" $Id: fixmount.8,v 1.12 2003-10-13 02:42:27 horikawa Exp $ +.\" %FreeBSD: src/contrib/amd/fixmount/fixmount.8,v 1.9 2003/09/02 15:42:56 mbr Exp % .\" $FreeBSD$ .\" .Dd February 26, 1993 .Dt FIXMOUNT 8 .Os .Sh "名称" .Nm fixmount .Nd リモートマウントエントリを修正する .Sh "書式" .Nm .Op Fl adervq .Op Fl h Ar name .Ar host \&... .Sh "解説" .Nm は、 .Xr showmount 8 の一種で、 リモートの .Xr mountd 8 デーモンの中の腐ったマウントエントリを削除することができます。 オプションで指定するアクションは、 .Ar host それぞれに対して順次適用されます。 .Sh "オプション" .Bl -tag -width Ds .It Fl a Fl d Fl e このオプションは、ローカルホストに属すエントリのみが表示されるという 点を除けば、 .Xr showmount 8 のそれのように動作します。 .It Fl r .Ar host 上のリモートマウントエントリで現在のマウントと一致しないもの、 すなわちクラッシュにより残されてしまったエントリや、 不適切なマウントプロトコルの結果生じたエントリなどを削除します。 実際にマウントされているかどうかは、 .Pa /etc/mtab にあるエントリを用いて確認します。 .It Fl v リモートのマウントを確認します。 腐ったエントリひとつひとつについて通知メッセージが表示される 点を除けば、 .Fl r と同様です。 リモートマウントテーブルは変更されません。 .It Fl A リモートの mountd に対して、 .Em すべて のファイルシステムがアンマウントされてしまっていることを宣言する コマンドを発行します。このコマンドは十分注意して用いるべきです。 というのは、 ローカルで今なおマウントしているファイルシステムの有無に かかわらず、ローカルシステムに属すリモートマウントエントリの すべてを削除してしまうからです。 .It Fl v 静かにします。タイムアウトや、 .Dq Program not Registered すなわち、リモートホストが RPC をサポートしていないことや、 .Nm mountd を実行していないことによるエラーメッセージを抑止します。 .It Fl h Ar name ローカルホスト名が .Ar name であるかのように振舞います。 これは、ローカルホスト名が変更されたあとで、古い名前を使っている rmtab エントリがリモートマシン上に残っている場合に有用です。 残念ながら、mountd のほとんどは、このようなエントリの削除をうまく 扱うことができません。ですから、このオプションは、 .Fl v だけと組み合わせて使うと有用です。 .Pp このオプションは、リモートで記録されたホスト名とローカルのホスト名を アドレスで比較する際の時間を節約することにもなります。 .El .Sh "関連ファイル" .Bl -tag -width /axx .It Pa /etc/mtab 現在のマウントのリスト。 .It Pa /etc/rmtab .Tn NFS サーバ上にある、リモートマウントエントリのバックアップファイル。 .El .Sh "関連項目" .Xr mtab 5 , .Xr rmtab 5 , .Xr mountd 8 , .Xr showmount 8 .Sh "バグ" .Pa /etc/mtab それ自身の情報を確認しようとすることは一切しません。 .Pp スワップファイルのマウントは .Pa /etc/mtab に記録されないため、 そのようなマウントが実際に生じているかどうかを判断するために、 SunOS 固有の判断の工夫を用いています (文字列 .Ql swap を .Ql root と置換して、その結果のパスを確認しています)。 .Pp サーバ上のシンボリックリンクは、リモートエントリのパスと .Pa /etc/mtab の中のパスとが異なる原因になります。 このような事象の発生を捕まえるには、 .Em ローカルの マウントポイントがリモートエントリと同一の場合に、ファイルシステムが マウントされていると考えることです。 例えば、SunOS のディスクレスクライアント上の .Pa server:/export/share/sunos.4.1.1 は、実際は .Pa /usr/share です。 ローカルのマウントポイントが同様に .Pa /usr/share であるから、このマウントを正しく扱うことができるのです。 .Pp ローカルホスト名 (または名前の逆引きが返すもの) が変更された後で、 リモートの .Nm mountd の中の無効(stale)エントリをクリアする方法はありません。 このような場合の面倒を見るためには、リモートの .Pa /etc/rmtab を編集し、 .Nm mountd を再スタートさせる必要があります。 .Pp .Nm mountd 呼び出しの RPC タイムアウトの変更は、再コンパイルするしかありません。 クライアントハンドル生成のデフォルトは 2 秒で、RPC 呼び出しの デフォルトは 5 秒です。 .Sh "作者" .An Jan-Simon Pendry Aq jsp@doc.ic.ac.uk , Department of Computing, Imperial College, London, UK. .Pp .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An 他の作者 と .Nm am-utils に貢献した人のリストは、 .Nm am-utils とともに配布されるファイル .Nm AUTHORS の中にあります。 .Sh "歴史" .Nm ユーティリティは .Fx 3.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/fsdb.8 b/ja_JP.eucJP/man/man8/fsdb.8 index 0be087e173..c0c9c3bb2a 100644 --- a/ja_JP.eucJP/man/man8/fsdb.8 +++ b/ja_JP.eucJP/man/man8/fsdb.8 @@ -1,263 +1,263 @@ .\" %NetBSD: fsdb.8,v 1.2 1995/10/08 23:18:08 thorpej Exp % .\" .\" Copyright (c) 1995 John T. Kohl .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The name of the author may not be used to endorse or promote products .\" derived from this software without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR `AS IS'' AND ANY EXPRESS OR .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED .\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE .\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, .\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES .\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR .\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, .\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/fsdb/fsdb.8,v 1.23 2002/08/21 18:10:35 trhodes Exp % +.\" %FreeBSD: src/sbin/fsdb/fsdb.8,v 1.25 2003/08/30 07:49:42 brueffer Exp % .\" .\" $FreeBSD$ .Dd September 14, 1995 .Dt FSDB 8 .Os .Sh 名称 .Nm fsdb .Nd FFS デバッグ/編集ツール .Sh 書式 .Nm .Op Fl d .Op Fl f .Op Fl r .Ar fsname .Sh 解説 .Nm ユーティリティは .Ar fsname (通常は raw ディスクパーティション) を open し、そのファイルシステムの inode データを操作するためのコマンドを受け付けます。コマンドは .Ic "fsdb (inum X)>" のプロンプトに対して入力します。ここでの .Va X は現在選択されている i-number となります。最初に選択されている inode はファイルシステムのルート (i-number 2) となります。 コマンドプロセッサには .Xr editline 3 ライブラリを使用しており、コマンド行を編集することによってタイピングの 量を減らすことができます。 コマンドループから抜けて終了する時には、ファイルシステムのスーパブロック が dirty とマークされ、バッファリングされているブロックがあれば ファイルシステムに書き込まれます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl d デバッグ情報 (元は .Xr fsck 8 のコードに由来するもの) を出力します。 .It Fl f 歴史的な理由により残されているもので、特に意味は持ちません。 .It Fl r ファイルシステムを読み取り専用でオープンし、 書き込みを行うコマンドを抑止します。 .El .Sh コマンド 組み込みの .Xr editline 3 のコマンドの他に .Nm は以下のコマンドをサポートしています: .Pp .Bl -tag -width indent -compact .It Cm help 入力できるコマンドのリストを表示します。 .Pp .It Cm inode Ar i-number 新しい現在の inode として inode .Ar i-number を選択します。 .Pp .It Cm back 以前の inode に戻ります。 .Pp .It Cm clri Ar i-number .Ar i-number をクリアします。 .Pp .It Cm lookup Ar name .It Cm cd Ar name .Ar name を現在のディレクトリの中で探し、その inode を現在の inode に設定します。 .Ar name はマルチコンポーネントの名前か、スラッシュで始めて検索をルートの inode から始めることを指定できます。パス名の中のコンポーネントが見 つからない場合、最後に有効であったディレクトリがアクティブな inode と して使われます。 .Pp このコマンドは開始する inode がディレクトリの場合のみ有効です。 .Pp .It Cm active .It Cm print アクティブな inode を表示します。 .Pp .It Cm blocks アクティブな inode のブロックリストを表示します。 大きなファイルに対しては表示出力が長くなることに注意してください。 すべての間接ブロックポインタもまた表示されるからです。 .It Cm uplink アクティブな inode のリンク数をインクリメントします。 .Pp .It Cm downlink アクティブな inode のリンク数をデクリメントします。 .Pp .It Cm linkcount Ar number アクティブな inode のリンク数を .Ar number に設定します。 .Pp .It Cm ls 現在の inode のディレクトリエントリをリストします。このコマンドは現在 の inode がディレクトリである場合のみ有効です。 .Pp .It Cm rm Ar name .It Cm del Ar name 現在のディレクトリ inode からエントリ .Ar name を取り除きます。このコマンドは現在の inode がディレクトリで ある場合のみ有効です。 .Pp .It Cm ln Ar ino Ar name 現在のディレクトリ inode に inode .Ar ino へのリンクを .Ar name の名前で作成します。このコマンドは現在の inode がディレクトリである場 合のみ有効です。 .Pp .It Cm chinum Ar dirslot Ar inum ディレクトリエントリ .Ar dirslot 中の i-number を .Ar inum に変更します。 .Pp .It Cm chname Ar dirslot Ar name ディレクトリエントリ .Ar dirslot 中の名前を .Ar name に変更します。 このコマンドではディレクトリエントリを拡張することはできません。名前が 現在存在するディレクトリスロットに収まる場合にのみ、エントリの名前の変 更が可能です。 .Pp .It Cm chtype Ar type 現在の inode のタイプを .Ar type に変更します。 .Ar type には .Em file , .Em dir , .Em socket , .Em fifo のいずれかが指定できます。 .Pp .It Cm chmod Ar mode 現在の inode のモードビットを .Ar mode に変更します。 このサブコマンドではファイルのタイプを変更することはできません。その場 合は .Ic chtype を使ってください。 .Pp .It Cm chflags Ar flags 現在の inode のファイルフラグを .Ar flags に変更します。 .Pp .It Cm chown Ar uid 現在の inode の所有者を .Ar uid に変更します。 .Pp .It Cm chgrp Ar gid 現在の inode のグループを .Ar gid に変更します。 .Pp .It Cm chgen Ar gen 現在の inode の世代番号 (generation number) を .Ar gen に変更します。 .Pp .It Cm mtime Ar time .It Cm ctime Ar time .It Cm atime Ar time それぞれ、現在の inode の修正時間、変更時間、アクセス時間を .Ar time に変更します。 .Ar time は .Em YYYYMMDDHHMMSS[.nsec] の形式でなければなりません。ここで、 .Em nsec はオプションで指定できるナノ秒の値となります。もし、ナノ秒が指定されて いないと、 .Va mtimensec , .Va ctimensec , .Va atimensec のそれぞれのフィールドには 0 がセットされます。 .Pp .It Cm quit, q , exit , Em プログラムを終了します。 .El .Sh 関連項目 .Xr editline 3 , .Xr fs 5 , .Xr clri 8 , .Xr fsck 8 .Sh バグ ``short'' のシンボリックリンクの操作は動作しません。(特に、 シンボリックリンクのタイプは変更しないでください。) .Pp モードはシンボル名ではなく数字で指定してください。 .Pp 多分 .Nm に実装されていないことで、もっとやりたいことが沢山あるでしょう。 .Sh 歴史 .Nm ユーティリティは .Xr fsck 8 のソースコードを使ってファイルシステムの操作のコードのほとんどを実装し ています。 .Nm の残りの部分は、最初 .Nx において .An John T. Kohl によって書かれました。 .Pp .Fx への移植は .An Peter Wemm によって行われました。 .Sh 警告 このツールは最大限に注意を払って使って下さい。 .Xr fsck 8 を使っても修復できないほど FFS ファイルシステムを壊す恐れがあります。 diff --git a/ja_JP.eucJP/man/man8/fsinfo.8 b/ja_JP.eucJP/man/man8/fsinfo.8 index 9de7597bbe..b0cb5ae8cc 100644 --- a/ja_JP.eucJP/man/man8/fsinfo.8 +++ b/ja_JP.eucJP/man/man8/fsinfo.8 @@ -1,185 +1,185 @@ .\" -.\" Copyright (c) 1997-1999 Erez Zadok +.\" Copyright (c) 1997-2003 Erez Zadok .\" Copyright (c) 1993 Jan-Simon Pendry. .\" 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: @(#)fsinfo.8 8.1 (Berkeley) 6/28/93 -.\" %Id: fsinfo.8,v 1.2 1999/01/10 21:54:28 ezk Exp % -.\" %FreeBSD: src/contrib/amd/fsinfo/fsinfo.8,v 1.7 2002/12/12 17:25:52 ru Exp % +.\" $Id: fsinfo.8,v 1.13 2003-10-13 02:42:27 horikawa Exp $ +.\" %FreeBSD: src/contrib/amd/fsinfo/fsinfo.8,v 1.8 2003/09/02 15:42:56 mbr Exp % .\" .\" $FreeBSD$ .\" .Dd June 26, 1999 .Dt FSINFO 8 .Os .Sh 名称 .Nm fsinfo .Nd サイト規模 (サイト単位) のファイルシステム情報の管理 .Sh 書式 .Nm .Op Fl qv .Op Fl a Ar autodir .Op Fl b Ar bootparams_prefix .Op Fl d Ar dumpsets_prefix .Op Fl e Ar exports_prefix .Op Fl f Ar fstabs_prefix .Op Fl h Ar hostname .Op Fl m Ar automounts_prefix .Op Fl I Ar dir .Oo .Fl D .Ar name Ns Op = Ns Ar string .Oc .Op Fl U Ar name .Ar config ... .Sh 解説 .Nm は、システム設定ファイルを読み込んで、 .Nm amd , .Nm mount , .Nm mountd の管理情報 (設定ファイル) を生成します。 .Pp 次のオプションを使用可能です: .Bl -tag -width Fl .It Fl a Ar autodir 自動マウンタのマウントポイントのディレクトリ名を指定します。 デフォルトは .Pa /a です。 .It Fl b Ar bootparams_prefix .Pa bootparams ファイルのプレフィックスを指定します。 指定しないと、このファイルは生成されません。 このファイルは、対象マシン用に構成され、 .Ar bootparams_prefix 文字列が前に付く .Pa bootparams という名前のファイルに置かれます。 生成されたファイルは、 対象マシンから起動可能なディスクレスクライアントを記述した エントリのリストです。 .It Fl d Ar dumpsets_prefix .Pa dumpsets ファイルのプレフィックスを指定します。 指定しないと、ファイルは生成されません。 このファイルは対象マシン用であり、 .Ar dumpsets_prefix 文字列が前に付く .Pa dumpsets という名前のファイルに置かれます。 このファイルは .Tn Imperial College のローカルバックアップシステムに使用されます。 .It Fl e Ar exports_prefix .Pa exports ファイルのプレフィックスを定義します。 指定しないと、このファイルは生成されません。 設定ファイルでディスクを持つものとして定義される各マシンに対して、 .Pa exports ファイルが構築され、マシン名の前に .Ar exports_prefix 文字列を付けた名前が与えられます。 マシンがディスクレスとして定義される場合、 このマシンに対してはファイルは生成されません。 これらのファイルは、そのマシン上のディレクトリで、 クライアントに対してエクスポートするものに関するエントリを含みます。 .It Fl f Ar fstabs_prefix .Pa fstab ファイルのプレフィックスを定義します。 このプレフィックスが定義された場合のみ、このファイルが生成されます。 設定ファイル中で定義される各マシンに対し、 .Pa fstab ファイルを生成し、マシン名の前に .Ar fstabs_prefix 文字列を付けた名前を与えます。 これらのファイルは、 ブート時にマウントするファイルシステムとパーティションに関するエントリを 含みます。 .It Fl h Ar hostname 処理対象マシンのホスト名を定義します。 指定しないと、 .Xr gethostname 3 が返すローカルマシン名になります。 .It Fl m Ar automounts_prefix 自動マウンタファイルのプレフィックスを定義します。 このオプションを指定した場合のみ、マップが生成されます。 設定ファイルで定義されるネットワーク用のマウントマップは、 各マップの名前の前に .Ar automounts_prefix 文字列を付けた名前のファイルに置きます。 .It Fl q 静かなモードを選択します。 生成されたエラーメッセージだけが表示されます。 .It Fl v 冗長モードを選択します。 これが有効になると、より多くのメッセージが表示され、 意味解析フェーズ実行時に発見したすべての情報を表示します。 各冗長メッセージは標準出力に出力される際、文字 `#' で開始します。 .It Fl D Xo .Ar name Ns Op = Ns Ar string .Xc 設定ファイルを読み込むときのプリプロセッサ用に、シンボル .Ar name を定義します。 .Em #define ディレクティブと等価です。 .It Fl I Ar dir このオプションは、設定ファイルのためにプリプロセッサに渡されます。 インクルードファイルを探すディレクトリを指定します。 .It Fl U Ar name シンボル .Ar name の初期定義を除去します。 .Fl D オプションの逆です。 .It Ar config 1 個以上の設定ファイルを .Nm fsinfo の入力として渡します。 .El .Pp .Nm コマンドの詳細は、Amd --- The 4.4BSD Automounter と .Xr info 1 の .Nm amd セクションに記述されています。 .Sh 関連項目 .Xr amd 8 , .Xr mount 8 , .Xr mountd 8 .Sh 歴史 .Nm は .Bx 4.4 で追加されました。 diff --git a/ja_JP.eucJP/man/man8/ftpd.8 b/ja_JP.eucJP/man/man8/ftpd.8 index 2163c73a59..1da5ec0fc0 100644 --- a/ja_JP.eucJP/man/man8/ftpd.8 +++ b/ja_JP.eucJP/man/man8/ftpd.8 @@ -1,556 +1,557 @@ .\" 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 -.\" %FreeBSD: src/libexec/ftpd/ftpd.8,v 1.64 2003/06/08 12:39:17 charnier Exp % +.\" %FreeBSD: src/libexec/ftpd/ftpd.8,v 1.66 2003/09/14 16:42:46 ume Exp % .\" .\" $FreeBSD$ .Dd January 27, 2000 .Dt FTPD 8 .Os .Sh 名称 .Nm ftpd .Nd インターネットファイル転送プロトコルサーバ .Sh 書式 .Nm .Op Fl 46ADdEhMmOoRrSUvW .Op Fl l Op Fl l .Op Fl a Ar address .Op Fl P Ar port .Op Fl p Ar file .Op Fl T Ar maxtimeout .Op Fl t Ar timeout .Op Fl u Ar umask .Sh 解説 .Nm ユーティリティは、インターネットファイル転送プロトコルサーバプロセスです。 このサーバは .Tn TCP プロトコルを用いて、 .Fl P オプションで指定されたポートもしくは .Dq ftp サービスに割り当てられたポートを listen() します。 .Dq ftp サービスについては、 .Xr services 5 を参照して下さい。 .Pp 利用可能なオプションは以下の通りです: .Bl -tag -width indent .It Fl 4 .Fl D -が指定されている場合、IPv4 接続を受け付けます。 -.Fl 6 -もまた指定されている場合、IPv4 接続を AF_INET6 ソケット経由で受け付けます。 -.Fl 6 -が指定されていない場合、IPv4 接続を AF_INET ソケット経由で受け付けます。 +が指定されている場合、IPv4 接続を +.Dv AF_INET4 +ソケット経由で受け付けます。 .It Fl 6 .Fl D が指定されている場合、AF_INET6 ソケット経由の接続を受け付けます。 .It Fl A 匿名 ftp アクセスのみ許可します。 .It Fl a .Fl D オプションが指定されている場合、 .Ar address で指定されたアドレスに対する接続のみを許可します。 .It Fl D このオプションがセットされると、 .Nm は制御端末を切り離してデーモンとなり、 FTP ポートへの接続要求を待ち、 子プロセスを生成して接続要求に対応します。 この方式は .Nm を .Xr inetd 8 から起動するよりオーバヘッドが少ないため、 処理量の多いサーバで負荷を低減するのに役立ちます。 .It Fl d syslog の .Dv LOG_FTP のファシリティ (facility) を用いてデバッグ情報を出力します。 .It Fl E EPSV コマンドを無効化します。 古いファイアウォールの後ろにサーバがある場合に有用です。 .It Fl h サーバソフトウェアバージョンやホスト名といったホスト固有情報を サーバメッセージ中に表示しないようにします。 .It Fl l .Xr ftp 1 セッションそれぞれの結果を、成功も失敗もともども syslog の .Dv LOG_FTP のファシリティを用いて ログに残します。 このオプションが 2 回指定されると、 retrieve (get), store (put), append, delete, make directory, remove directory, rename の各操作およびそれらの引数で指定された ファイル名も記録されます。 デフォルトでは、 .Xr syslogd 8 はこれらを .Pa /var/log/xferlog に記録します。 .It Fl M 匿名ユーザによるディレクトリ作成を禁止します。 .It Fl m ファイルシステムのパーミッションが許す限りにおいて、 匿名ユーザによる既存のファイルの上書きや修正を許します。 デフォルトでは、匿名ユーザは既存のファイルを修正できず、 特に、アップロードされるファイルは一意な名前で作成されます。 .It Fl O 匿名ユーザのみに対し、サーバを書き込み専用モードにします。 匿名ユーザに対しては、RETR が無効化され、 匿名ダウンロードを禁止します。 本オプションは、 .Fl o も設定されている場合には、効果がありません。 .It Fl o サーバを書き込み専用モードにします。 RETR が無効化され、 ダウンロードを禁止します。 .It Fl P .Fl D 指定時には、デフォルトの .Dq ftp ポートの代りに、数値またはサービス名で指定される .Ar port での接続を受け付けます。 .It Fl p .Fl D オプションが指定されている場合、 デーモンのプロセス ID を .Ar file に書き出します。 .It Fl R このオプションがセットされると、 .Nm は、ユーザ操作のセキュリティチェックや PORT 要求の制限に関して 古き良き時代の振る舞いに戻ります。 現在では、 .Nm はリモートユーザのホストの非特権ポートに向けられた PORT コマンド だけを用います (これは FTP プロトコルの仕様に違反していますが、 いくつかのセキュリティホールを閉じることができます)。 .It Fl r サーバを、読み取り専用モードにします。 ローカルファイルを修正し得る全コマンドは、無効化されます。 .It Fl S このオプションがセットされると、 .Nm は匿名 (anonymous) によるファイルダウンロードの全てについてのログを、ファイル .Pa /var/log/ftpd が存在する場合に限り、このファイルに残します。 .It Fl T クライアントは異なったタイムアウト秒数を要求することもできます。 .Fl T オプションにより、 .Ar タイムアウト までの最大待ち時間を設定できます。 デフォルトは 2 時間です。 .It Fl t 何も操作しないで放置した場合のタイムアウト時間を .Ar timeout 秒に設定します (デフォルトは 15 分)。 .It Fl U .Dv IP_PORTRANGE_DEFAULT の範囲の代りに .Dv IP_PORTRANGE_DEFAULT の範囲のデータポートを使用するよう、ftpd に指示します。 更なる情報については .Xr ip 4 を参照してください。 .Pp .Fx 5.0 以上では、実際はなにもしないことに注意してください。 なぜなら、どちらのポート範囲もデフォルトで等価だからです。 .It Fl u デフォルトのファイル生成マスクを .Ar umask にします。 この数値は 8 進数値であることを期待されます。 詳細は .Xr umask 2 を参照してください。 +このオプションに対し、 +.Xr login.conf 5 +の設定が優先します。 .It Fl v .Fl d と同じ意味です。 .It Fl W FTP セッションを .Pa /var/log/wtmp に記録しません。 .El .Pp ファイル .Pa /var/run/nologin は、ftp アクセスを拒否するのに使うことができます。 このファイルが存在する場合、 .Nm はそのファイルの内容を表示して終了します。 .Pa /etc/ftpwelcome ファイルが存在する場合、 .Nm は .Dq ready メッセージを表示する前にその内容を表示します。 もし .Pa /etc/ftpmotd ファイルが存在する場合、 ログイン成功後に .Nm はその内容を出力します。 使用される motd ファイルはログイン環境に対して相対であることに 注意してください。 つまり、匿名ユーザの場合には、 .Pa ~ftp/etc に存在することを意味じます。 .Pp この ftp サーバは、現在、以下の ftp リクエストをサポートしています。 リクエストの文字の大文字小文字の区別は無視されます。 印 [RW] が付いているリクエストは、 .Fl r が指定されると無効化されます。 .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 [RW]" .It CDUP Ta "change to parent of current working directory" .It CWD Ta "change working directory" .It DELE Ta "delete a file [RW]" .It EPRT Ta "specify data connection port, multiprotocol" .It EPSV Ta "prepare for server-to-server transfer, multiprotocol" .It HELP Ta "give help information" .It LIST Ta "give list files in a directory" Pq Dq Li "ls -lgA" .It LPRT Ta "specify data connection port, multiprotocol" .It LPSV Ta "prepare for server-to-server transfer, multiprotocol" .It MDTM Ta "show last modification time of file" .It MKD Ta "make a directory" .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 [RW]" .It RNFR Ta "specify rename-from file name [RW]" .It RNTO Ta "specify rename-to file name [RW]" .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 [RW]" .It STOU Ta "store a file with a unique name [RW]" .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) [RW]" .It XPWD Ta "print the current working directory (deprecated)" .It XRMD Ta "remove a directory (deprecated) [RW]" .El .Pp 以下に示した非標準コマンドあるいは .Ux に特有のコマンドが、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 [RW], e.g. ``SITE CHMOD 755 filename''" .It MD5 Ta "report the files MD5 checksum, e.g. ``SITE MD5 filename''" .It HELP Ta give help information. .El .Pp 注: 匿名ログインの場合、SITE リクエストは無効化されています。 .Pp Internet RFC 959 で規定されている ftp リクエストのうちの、これ以外のものは 解釈はされますがインプリメントされていません。 MDTM および SIZE は RFC 959 では規定されていませんが、次に改訂される FTP RFC には登場するでしょう。 サービス拒否攻撃の可能性を除去するために、 現在の転送タイプが ASCII の場合には、 10240 バイトより大きなファイルに対する SIZE リクエストは拒否されます。 .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 ユーティリティは、6 つのルールに従ってユーザの認証を行います。 .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 ftpchroot 5 を参照してください。 この機能は、 .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 ユーザのホームディレクトリパスに .Pa /./ セパレータが含まれる特殊な場合、 左側を .Xr chroot 2 先のディレクトリ名、右側を以降のカレントディレクトリとして .Nm は使用します。 典型的な使用例は .Pa /usr/local/ftp/./pub です。 システムのセキュリティが侵害されないために、 .Dq ftp サブツリーは、以下の規則に従って慎重に構築することを推奨します。 .Bl -tag -width "~ftp/pub" -offset indent .It Pa ~ftp ホームディレクトリは .Dq root の所有とし、誰も書き込みできないようにします。 .It Pa ~ftp/etc このディレクトリは .Dq root の所有とし、誰も書き込みできないようにします (モード 555)。 .Xr ls 1 が所有者を数字でなく名前で表示できるようにするために、 ファイル pwd.db .Xr ( passwd 5 参照) 及び .Xr group 5 が必要です。 ファイル .Xr passwd 5 中のパスワードは使用されませんので、本当のパスワードを入れてはいけません。 ファイル .Pa ftpmotd が存在すると、ログイン成功後、その内容が表示されます。 このファイルのモードは 444 とすべきです。 .It Pa ~ftp/pub 本ディレクトリおよびそれ以下のサブディレクトリは、 ここにファイルを置くことに対して責任のあるユーザおよびグループにより 所有されるべきであり、彼等によってのみ書き込み可能であるべきです (モード 755 または 775)。 .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 .Nm ユーティリティは、 リモートからのファイル一覧表示要求に対応するための内部サポートを持ち、 chroot された環境でもそれ以外でも .Pa /bin/ls を実行しなくなります。 .Pa ~/bin/ls の実行形式ファイルは chroot されたディレクトリになくてよく、 .Pa ~/bin ディレクトリも存在する必要はありません。 .Sh 関連ファイル .Bl -tag -width ".Pa /var/log/xferlog" -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 /var/run/nologin 内容を表示し、アクセスを拒否します。 .It Pa /var/log/ftpd 匿名による転送のログファイル。 .It Pa /var/log/xferlog セッションログのデフォルトの置場。 .El .Sh 関連項目 .Xr ftp 1 , .Xr key 1 , .Xr umask 2 , .Xr getusershell 3 , .Xr ftpchroot 5 , .Xr login.conf 5 , .Xr inetd 8 , .Xr syslogd 8 .Sh バグ 特権ポート番号を用いてソケットを作成するために、 ftpd はスーパユーザの権限で実行させて下さい。 サーバはログインユーザの実効ユーザ ID を保持しておき、 アドレスをソケットにバインドする場合にのみスーパユーザの権限を使います。 考えられるセキュリティホールについてはかなり詳細にわたって調べ込みをおこないましたが、 それでも不完全かもしれません。 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 から登場しました。 IPv6 サポートは WIDE Hydrangea IPv6 スタックキットで追加されました。 diff --git a/ja_JP.eucJP/man/man8/hlfsd.8 b/ja_JP.eucJP/man/man8/hlfsd.8 index b5c918933a..cde8a4f5f5 100644 --- a/ja_JP.eucJP/man/man8/hlfsd.8 +++ b/ja_JP.eucJP/man/man8/hlfsd.8 @@ -1,329 +1,329 @@ .\" -.\" Copyright (c) 1997-1999 Erez Zadok +.\" Copyright (c) 1997-2003 Erez Zadok .\" Copyright (c) 1989 Jan-Simon Pendry .\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1989 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %Id: hlfsd.8,v 1.2 1999/01/10 21:54:32 ezk Exp % -.\" %FreeBSD: src/contrib/amd/hlfsd/hlfsd.8,v 1.11 2002/12/12 17:25:52 ru Exp % +.\" $Id: hlfsd.8,v 1.15 2003-10-13 02:42:27 horikawa Exp $ +.\" %FreeBSD: src/contrib/amd/hlfsd/hlfsd.8,v 1.12 2003/09/02 15:42:57 mbr Exp % .\" .\" HLFSD was written at Columbia University Computer Science Department, by .\" Erez Zadok and Alexander Dupuy .\" It is distributed under the same terms and conditions as AMD. .\" .\" $FreeBSD$ .\" .Dd September 14, 1993 .Dt HLFSD 8 .Os .Sh 名称 .Nm hlfsd .Nd ホームリンクファイルシステムデーモン .Sh 書式 .Nm .Op Fl fhnpvC .Op Fl a Ar alt_dir .Bk -words .Op Fl c Ar cache-interval .Ek .Op Fl g Ar group .Bk -words .Op Fl i Ar reload-interval .Ek .Op Fl l Ar logfile .Bk -words .Op Fl o Ar mount-options .Op Fl x Ar log-options .Op Fl D Ar debug-options .Op Fl P Ar password-file .Ek .Op linkname Op subdir .Sh 解説 .Nm は、ユーザのホームディレクトリ内のサブディレクトリを指すシンボリックリンク を含むファイルシステムを実装したデーモンです。そのリンクはアクセスしたユーザに 応じて変化します。これは主に、到着したメールをユーザのホームディレクトリに リダイレクトし、どこからでも読めるようにするために設計されました。 .Pp .Nm は .Ar linkname を含むディレクトリ (デフォルトは .Pa /hlfs/home ) に対する .Tn NFS サーバとして自分自身をマウントして動作します。 このディレクトリに対する検索 (lookup) は .Nm が処理し、その検索をどのように解決するかを決定するために パスワードマップを使います。ディレクトリは、存在しなかった場合には作成 されます。シンボリックリンクは、それをアクセスしたユーザの ホームディレクトリに .Ar subdir をつけたものになります。 .Ar subdir が指定されなかった場合の、 .Ar subdir のデフォルトは .Pa .hlfsdir です。このディレクトリも、存在しなかった場合には作成されます。 .Pp .Er SIGHUP を送ると、内部キャッシュのフラッシュを行い、パスワードマップの再読み込みを 行います。また、ログファイルをクローズし、オープンしなおして、 以前のログファイルを消去したり交換します。 .Er SIGUSR1 を送ると、ユーザ ID とホームディレクトリの内部テーブルを .Pa /usr/tmp/hlfsd.dump.XXXXXX にダンプします。 .Sh オプション .Bl -tag -width Ds .It Fl a Ar alt_dir 代わりのディレクトリです。ユーザのホームディレクトリにアクセスできない場合に、 .Nm が返すシンボリックリンクが指すディレクトリの名前です。デフォルトは .Pa /var/hlfs です。このディレクトリは存在しなければ作成されます。ユーザがこのファイルを 読む、またはシステム管理者がこの .Dq lost mail をその所有者に送り直すスクリプトを走らせるということが期待されます。 .It Fl c Ar cache-interval キャッシュする間隔です。 .Nm はこの間隔 (秒単位) でホームディレクトリの有効性をキャッシュします。 .Ar cache-interval 秒以内に確認されたことのあるエントリは再確認されません。 それは、その操作のコストが高く、 そのエントリがまだ有効であることが十分に期待できるからです。 その間隔がたつと、 .Nm はユーザのホームディレクトリの有効性をふたたび確認し、キャッシュの タイムカウンタをリセットします。 デフォルトの .Ar cache-interval は 300 秒 (5 分) です。 .It Fl f 高速に起動させます。 .Nm マウントディレクトリ、代わりのスプールディレクトリ、マウントディレクトリ下に 隠れているシンボリックリンクが存在すること、そのパーミッション、そして その有効性といった起動時の一貫性チェックを、このオプションが与えられたとき にはスキップします。 .It Fl g Ar group 特殊グループ .Va HLFS_GID を .Ar group に設定します。 .Ic comsat (ほかのユーザのメールボックスにアクセスする) といったプログラムは正常に動作するためには .Va HLFS_GID に setgid しておかねばなりません。デフォルトのグループは .Dq hlfs です。グループが与えられなくて、 .Dq hlfs というグループが存在しないなら、この機能は無効になります。 .It Fl h ヘルプです。短いヘルプメッセージを表示し、終了します。 .It Fl i Ar reload-interval マップを再読み込みする間隔です。 .Ar reload-interval 秒ごとに .Nm はパスワードマップを再読み込みします。 .Nm はユーザ ID とホームディレクトリのパスを知るために、パスワードマップが必要です。 .Nm は .Va SIGALRM を用いてパスワードマップを再読み込みします。 .Va SIGHUP を送ると、 .Nm はマップをすぐに再読み込みします。 .Ar reload-interval のデフォルトは 900 秒 (15 分) です。 .It Fl l Ar logfile .Nm がイベントを記録するログファイルを指定します。 .Pa logfile が文字列 .Pa syslog であれば、 .Xr syslog 3 によって、システムログデーモンに .Va LOG_DAEMON ファシリティでログメッセージが送られます。 これはデフォルトです。 .It Fl n 確認しません。 .Nm は返すシンボリックリンクの有効性、またユーザのホームディレクトリに スプールするために十分なディスクスペースがあることを確認しません。 これによって、 .Nm は、現在アクセスできないか、容量がいっぱいであるホームディレクトリへの シンボリックリンクを返すかもしれないという犠牲を払って、スピードアップ します。 デフォルトで、 .Nm はバックグラウンドでシンボリックリンクを確認します。 キャッシュは必要ないので、 .Fl n オプションは .Fl c オプションの意味を無効にします。 .It Fl o Ar mount-options マウントオプションです。 .Nm が .Pa dirname のトップで、自分自身をマウントするために使われるマウントオプションです。 デフォルトで、 .Ar mount-options は .Qq ro に設定されています。 システムがシンボリックリンクのキャッシュをサポートしているのなら、 デフォルトオプションは .Qq ro,nocache に設定されます。 .It Fl p .Va プロセス ID を表示します。 ファイルに保存できるように、標準出力に .Nm のプロセス ID を出力します。 .It Fl v バージョンです。標準エラー出力にバージョン情報を出力します。 .It Fl x Ar log-options 実行時にログをとるためのオプションを指定します。このオプションは、 fatal, error, user, warn, info, map, stats, all から選ばれた コンマ区切りのリストです。 .It Fl C NFS attribute-cache を無効にできないシステムで .Nm を実行させます。メールが失われたり、誤配送されることになりかねないので、 そのようなシステムで、このオプションを用いることは推奨されていません。 attribute-cache を無効にできるシステムではこのオプションは無視されます。 .It Fl D Ar debug-options いろいろなデバッグオプションを選びます。オプションの接頭辞として .Qq no という文字列がついていると、そのオプションの効果を反転させます。 オプションは追加されます。 もっとも便利なオプションは .Em all です。このオプションはデバッグのためだけに使われるので、 そのほかのオプションはここには記しません。 より詳細な解説はプログラムのソースにあります。 .Va SIGUSR1 を送ると .Nm は、内部パスワードマップを .Pa /usr/tmp/hlfsd.dump.XXXXXX にダンプします。 .It Fl P Ar password-file .Ar password-file からユーザ名、ユーザ ID、ホームディレクトリの情報を読みます。 通常 .Nm は、 .Xr getpwent 3 でパスワードのデータベースを読みます。このオプションによりデフォルトの データベースを無効にすることができ、ホームディレクトリ以外にユーザの メールをマップしたいときに便利です。 .Ar password-file のユーザ名、ユーザ ID、ホームディレクトリのフィールドだけを読み、 チェックします。ほかのすべてのフィールドは無視されます。 .Ar password-file は .Ux System 7 のコロン区切りのフォーマット .Xr passwd 5 に従わなければなりません。 .El .Sh 関連ファイル .Bl -tag -width /axx .It Pa /hlfs .Nm が自分自身をマウントし、シンボリックリンク .Pa home を処理するディレクトリです。 .It Pa .hlfsdir ユーザのホームディレクトリ内のデフォルトのサブディレクトリで、 .Nm が返したシンボリックリンク .Pa home のリンク先です。 .It Pa /var/hlfs ユーザのホームディレクトリがアクセスできるかどうか確認できないときの、 .Nm が返したシンボリックリンク .Pa home のリンク先です。 .El .Sh 関連項目 .Xr mail 1 , .Xr getgrent 3 , .Xr getpwent 3 , .Xr mtab 5 , .Xr passwd 5 , .Xr amd 8 , .Xr cron 8 , .Xr mount 8 , .Xr sendmail 8 , .Xr umount 8 .Rs .%T HLFSD: Delivering Email to Your $HOME .%B Proc. LISA-VII, The 7th Usenix System Administration Conference .%D November 1993 .Re .Sh 作者 .An Erez Zadok Aq ezk@cs.columbia.edu , Department of Computer Science, Columbia University, New York, USA. .Pp .An Alexander Dupuy Aq dupuy@smarts.com , System Management ARTS, White Plains, New York, USA. .Sh 歴史 .Nm ユーティリティは .Fx 3.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/ifconfig.8 b/ja_JP.eucJP/man/man8/ifconfig.8 index b4142dc662..1de8e4c224 100644 --- a/ja_JP.eucJP/man/man8/ifconfig.8 +++ b/ja_JP.eucJP/man/man8/ifconfig.8 @@ -1,747 +1,754 @@ .\" Copyright (c) 1983, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)ifconfig.8 8.3 (Berkeley) 1/5/94 -.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.71 2003/05/14 16:22:16 ru Exp % +.\" %FreeBSD: src/sbin/ifconfig/ifconfig.8,v 1.72 2003/10/01 08:32:37 ru Exp % .\" .\" $FreeBSD$ .\" .Dd April 28, 2003 .Dt IFCONFIG 8 .Os .Sh 名称 .Nm ifconfig .Nd ネットワークインタフェースのパラメータの設定を行なう .Sh 書式 .Nm .Op Fl L .Op Fl m .Ar interface .Op Cm create .Op Ar address_family .Oo .Ar address .Op Ar dest_address .Oc .Op Ar parameters .Nm .Ar interface .Cm destroy .Nm .Fl a .Op Fl L .Op Fl d .Op Fl m .Op Fl u .Op Ar address_family .Nm .Fl l .Op Fl d .Op Fl m .Op Fl u .Op Ar address_family .Nm .Op Fl L .Op Fl d .Op Fl u .Op Fl C .Sh 解説 .Nm ユーティリティは、ネットワークインタフェースに対してネットワークアドレス の割り当てを行ない、ネットワークインタフェースのパラメータの設定を行ないます。 .Nm ユーティリティは、システム立ち上げ 時に、マシンが備える各ネットワークインタフェースに対してネットワークアドレス を割り当てるように使用しなければなりません。また、一旦各ネットワークインタフェ ースに対し設定したネットワークアドレスを再定義したり、パラメータの設定を 変えたりすることも可能です。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Ar address .Tn DARPA Ns -Internet ファミリでは、アドレスはホスト名データベース .Xr hosts 5 に登録されているホスト名であるか、もしくは インターネット標準の .Dq ドット表記 です。 .Pp CIDR 表現 (スラッシュ表現としても知られています) もまた、 ネットマスクの表現に使用可能です。 つまり、 .Li 192.168.0.1/16 のようなアドレスを指定可能です。 .Pp .Dq inet6 ファミリでは、 .Li ::1/128 のようなスラッシュ表現を使用して、プレフィックス長も指定可能です。 更なる情報については、後述の .Cm prefixlen パラメータを参照してください。 .\" ゼロックスネットワークシステム(tm)ファミリでは、 .\" アドレスは .\" .Ar net:a.b.c.d.e.f .\" という形式です。 .\" ここで .\" .Ar net .\" は割り当てるネットワーク番号(10進数)、 .\" 残りの .\" .Ar a .\" から .\" .Ar f .\" までは .\" ホスト番号を表す 6 バイトであり 16 進数で指定します。 .\" ホスト番号は IEEE 802 プロトコル (Ethernet, FDDI, Token Ring) .\" インタフェースでは省略可能です。 .\" ホスト番号指定を省略した場合には、 .\" 一番目のインタフェースのハードウェア物理アドレスを .\" すべてのインタフェースにおいて使用します。 .\" .Tn ISO .\" ファミリでは、 .\" ゼロックスファミリと同じ長さのアドレスを、 .\" 長い 16 進数の文字列で指定します。 .\" 違いは、 .\" ドットが続いた場合にはそのバイトは 0 を表すことと、 .\" ドットはオプションであることです .\" (ドットはネットワークバイトオーダの長い数字列を .\" 注意深く扱うために使用します)。 .Pp リンクレベル .Pq Dq link アドレスが、コロン区切りの 16 進数の連続で指定されます。 例えばイーサネットインタフェースに新規 MAC アドレスを 設定するために使用可能ですが、 使用される機構はイーサネットインタフェースに限ったものではありません。 本オプション指定時にインタフェースが既に up である場合、 インタフェースを一時的に down にしてから再度 up にします。 本オプション使用時にインタフェースが既に これは、下位のイーサネットハードウェアの受信フィルタが 正しくプログラムされたことを保証するためです。 .It Ar address_family 他のパラメータの解釈に影響するネットワーク アドレスファミリ を指定します。 インタフェースが異なるプロトコルの送信を異なる名前付け体系で 受けることがあるので、アドレスファミリを指定しておくことをお勧めします。 本コマンドでサポートされるプロトコルファミリは、 .Dq inet , .Dq inet6 , .Dq atalk , .Dq ipx , .\".Dq iso , .Dq link .\" .Dq ns です。 デフォルトは .Dq inet です。 .Dq ether と .Dq lladdr は .Dq link の同義語です。 .It Ar dest_address ポイントツーポイントリンクにおける他端のアドレスを指定します。 .It Ar interface インタフェースパラメータは、 .Dq name unit の形式で表現されます。 例えば .Dq Li ed0 です。 .El .Pp .Nm では以下のパラメータが利用できます: .Bl -tag -width indent .It Cm add .Cm alias パラメータの別名です。 .Bsx との互換性のために導入されました。 .It Cm alias 指定したインタフェースに、ネットワークアドレスを追加して指定します。 これはネットワーク番号を変更した際に、以前のアドレスに送られるパケットを 受けとりたい場合などに便利です。 アドレスが、 本インタフェースの最初のネットワークアドレスと同じサブネット上の場合、 衝突しないネットマスクを指定する必要があります。 通常、 .Li 0xffffffff が最適です。 .It Fl alias 指定したネットワークアドレスを無効にします。本機能は、alias で不正なアドレスを 指定した場合や、すでに指定したアドレスが必要ない場合などに使用します。 誤った NS アドレスをホスト部分とともに指定した場合には、 NS アドレスを全て無効にすることにより再度ホスト部分を指定可能となります。 .It Cm anycast (inet6 のみ) 設定されるアドレスはエニーキャスト (anycast) アドレスであると指定します。 現在の仕様では、ルータのみがエニーキャストアドレスに設定可能です。 エニーキャストアドレスは、 出力 IPv6 パケットの送信元アドレスとしては使用されません。 .It Cm arp アドレス解決プロトコル .Pq Xr arp 4 を用いてネットワークレベルのアドレスとリンクレベル のアドレスの対応を取ることを可能にします (デフォルト)。この機能は、 .Tn DARPA インターネットアドレスと .Tn IEEE 802 の 48 ビット MAC アドレス (Ethernet, FDDI, Token Ring のアドレス) の間の対応を取るように作られています。 .It Fl arp アドレス解決プロトコル .Pq Xr arp 4 の使用を禁止します。 +.It Cm staticarp +アドレス解決プロトコルが有効な場合、 +ホストはそれ自身のアドレスについての要求に対してのみ応答し、 +いかなる要求も送信しません。 +.It Fl staticarp +アドレス解決プロトコルが有効な場合、 +通常のように動作、すなわち要求を送信して応答を聞き取ります。 .It Cm broadcast ネットワークに対するブロードキャストアドレスを指定します。 ブロードキャストアドレスのデフォルト値は、 ホスト部のビットがすべて 1 になったアドレスです。 .It Cm debug ドライバ依存のデバッグモードを有効にします。 通常コンソールへのエラーログを有効にします。 .It Fl debug ドライバ依存のデバッグモードを無効にします。 .It Cm promisc インタフェースを、永続的な無差別モードにします。 .It Fl promisc インタフェースの永続的な無差別モードを、無効にします。 .It Cm delete .Fl alias パラメータの別名です。 .It Cm down 指定したネットワークインタフェースに .Dq down とマークします。 .Dq down と マークされたインタフェースに対しては、システムはメッセージの送信を行ない ません。可能であれば、そのインタフェースは受信も不可能となるように リセットされます。この動作は、そのインタフェースを用いる ルーティングを使用しないよう自動的に設定するものではありません。 .It Cm eui64 (inet6 のみ) インタフェースインデックス (IPv6 アドレスの下位 64 ビット) を自動的に埋めます。 .It Cm ipdst リモートネットワーク向け NS パケットをカプセル化している IP パケットを 受信する、インターネットホストを指定するために使用します。 外見上 point to point リンクが構成され、 指定されたアドレスは、 デスティネーションの NS アドレスとネットワークアドレスとされます。 .Tn CLNP パケットの IP カプセル化はこれとは異なった方法で実現されます。 .It Cm maclabel Ar label Mandatory Access Control サポートがカーネルで有効化されている場合、 MAC を .Ar label に設定します。 .\" (see .\" .Xr maclabel 7 ) . .It Cm media Ar type ドライバがメディア選択能力を持つ場合、 インタフェースのメディアタイプを .Ar type に設定します。 インタフェースによっては、 複数の異なった物理メディアコネクタのうちのいずれかを 排他的に使用することをサポートします。 例えば、10Mb/s Ethernet インタフェースには .Tn AUI とツイストペアコネクタをサポートするものがあります。 メディアタイプを .Dq 10base5/AUI に設定すると、AUI ポートを現在のアクティブなコネクタとします。 また .Dq 10baseT/UTP に設定すると、ツイストペアをアクティブにします。 使用可能なタイプの完全なリストは、 インタフェースドライバ固有の文書やマニュアルページを参照してください。 .It Cm mediaopt Ar opts ドライバがメディア選択能力を持つ場合、 インタフェースのメディアオプションを設定します。 .Ar opts 引数はコンマで区切ったオプションリストで、インタフェースに適用されます。 使用可能なオプションの完全なリストは、 インタフェースドライバ固有のマニュアルページを参照してください。 .It Fl mediaopt Ar opts インタフェースのメディアオプションを無効にします。 .It Cm mode Ar mode ドライバがメディア選択システムをサポートする場合、 インタフェースに指定された動作モードを .Ar mode にします。 複数の動作モードをサポートする IEEE 802.11 ワイヤレスインタフェースでは、 このディレクティブは 802.11a .Pq Dq 11a , 802.11b .Pq Dq 11b , 802.11g .Pq Dq 11g のいずれかの動作モードを選択するために使用されます。 .It Cm rxcsum , txcsum ユーザ設定可能なチェックサムオフロードをドライバがサポートする場合、 インタフェース上の受信 (または送信) チェックサムオフロードを有効にします。 ドライバによっては、これらのフラグを独立に有効化できないものがあり、 そのような場合には一方を有効にするともう一方も有効になります。 ドライバは、信頼性がある範囲で、 可能な限りのチェックサムの仕事をオフロードします。 よって、オフロードのレベルは、ドライバによって違います。 .It Fl rxcsum , Fl txcsum ユーザ設定可能なチェックサムオフロードをドライバがサポートする場合、 インタフェース上の受信 (または送信) チェックサムオフロードを有効にします。 これらの設定は、常にもう一方の設定と独立とは限りません。 .It Cm tunnel Ar src_addr dest_addr (IP トンネルデバイスのみ) IP トンネルインタフェース .Pq Xr gif 4 用の、 物理的な始点アドレスと終点アドレスを設定します。 引数 .Ar src_addr と .Ar dest_addr は、カプセル化する IPv4/IPv6 ヘッダ用の、外部の始点/終点として解釈されます。 .It Cm deletetunnel 以前に .Cm tunnel で設定した IP トンネルインタフェースの、 物理的な始点アドレスと終点アドレスの設定を解除します。 .It Cm create 指定したネットワーク擬似デバイスを作成します。 ユニット番号無しでインタフェースが指定されると、 任意のユニット番号で新規デバイスを作成しようとします。 任意のデバイスの作成に成功すると、新規デバイス名を標準出力へ表示します。 .It Cm destroy 指定したネットワーク擬似デバイスを破壊します。 .It Cm plumb .Cm create パラメータの別名です。 .Tn Solaris との互換性のためにあります。 .It Cm unplumb .Cm destroy パラメータの別名です。 .Tn Solaris との互換性のためにあります。 .It Cm vlan Ar vlan_tag インタフェースが vlan 擬似インタフェースの場合、vlan タグ値を .Ar vlan_tag に設定します。 この値は 16 ビット数値であり、vlan インタフェースから送られるパケットの 802.1Q vlan ヘッダの作成に使用されます。 .Cm vlan と .Cm vlandev は同時に設定される必要があることに注意してください。 .It Cm vlandev Ar iface インタフェースが vlan 擬似デバイスの場合、物理インタフェース .Ar iface を関連付けます。 vlan インタフェースから送信されるパケットは、 802.1Q vlan カプセル化付きで、指定された物理インタフェース .Ar iface へ向けて転換 (divert) されます。 親インタフェースが受信した 802.1Q カプセル化付きのパケットに 正しい vlan タグが付いていた場合、 そのパケットは関連付けられた vlan 擬似インタフェースへ転換されます。 vlan インタフェースは、 親インタフェースのフラグと親のイーサネットアドレスが割り当てられます。 .Cm vlandev と .Cm vlan は同時に設定される必要があります。 vlan インタフェースが既に物理インタフェースと関連付けられている場合、 このコマンドは失敗します。 別の物理インタフェースへ関連付けを変更するには、 既存の関連付けをまずクリアする必要があります。 .Pp 注: vlan インタフェースで ハードウェアタグ機能を御にした場合、 vlan 擬似インタフェースの振舞いが変わります: 親インタフェースが自身の vlan タグの挿入と取り出しをサポートすること、 vlan インタフェースが親に対して無修正でパケットを渡すべきことを、 vlan インタフェースは認識します。 .It Fl vlandev Ar iface ドライバが vlan 擬似ドライバの場合、物理インタフェース .Ar iface とドライバとの関連付けを解除します。 これにより、vlan インタフェースとその親との間のリンクを破壊し、 vlan タグとフラグとリンクアドレスをクリアし、 インタフェースをシャットダウンします。 .It Cm metric Ar n インタフェースのルーティングメトリックを .Ar n で指定します。初期値は 0 です。 ルーティングメトリックは、ルーティングプロトコル .Pq Xr routed 8 で使用されます。 .It Cm mtu Ar n そのインタフェースの最大転送単位 (MTU) を .Ar n に設定します。デフォルト値はインタフェースに依存します。 MTU はインタフェースに送られるパケットの大きさを制限するのに用いられます。 MTU を設定できなかったり、設定出来る値の範囲に制限のある インタフェースがあります。 .It Cm netmask Ar mask .\" (inet と ISO) (inet のみ) ネットワークをサブネットワークに細分割する際に、ネットワークアドレスとして リザーブするアドレスを指定します。 mask が指定する部分は、 アドレスのネットワーク部とサブネット部です。 サブネット部はアドレスのホスト部の一部です。 mask は、 .Ql 0x ではじまる16進数、 ドット表記のインターネットアドレス形式、 ネットワークテーブル .Xr networks 5 に記述されている仮想ネットワーク名のいずれかで指定できます。 mask での 32 ビットアドレスにおける 1 であるビットの部分は、 ネットワーク部もしくはサブネット部として使用します。 0 であるビットの部分はホスト部として使用します。 mask は少なくともネットワーク部を含む必要があり、 サブネット部はネットワーク部に連続する必要があります。 .Pp ネットマスクはまた、CIDR 表現で、アドレスの後に指定可能です。 更なる情報については、前述の .Ar address オプションを参照してください。 .It Cm prefixlen Ar len (inet6 のみ) .Ar len ビットを、ネットワークからサブネットワークへの分割用に予約すると、 指定します。 .Ar len は整数であることが必要であり、 文法的な理由で 0 から 128 の間であることが必要です。 現在の IPv6 の割り当て規則では、ほぼ常に 64 です。 本パラメータを省略すると、64 が使用されます。 .Pp プレフィックスは、 アドレスの後に、スラッシュ表現を指定することでも指定可能です。 更なる情報については、前述の .Ar address オプションを参照してください。 .\" see .\" Xr eon 5 . .\" .It Cm nsellength Ar n .\" .Pf ( Tn ISO .\" のみ) .\" .Tn NSAP .\" に後続するローカル識別に使用するバイト数を指定します。 .\" この部分は .\" .Tn NET .\" (Network Entity Title) .\" として扱われます。 .\" バイト数のデフォルト値は 1 であり、US .\" .Tn GOSIP .\" 準拠です。 .\" ifconfig コマンドで設定するISO アドレスが、 .\" .Tn NSAP .\" です。 .\" 例えば .\" .Tn US GOSIP .\" では、20 文字の 16 進数を .\" .Tn ISO NSAP .\" において指定し、 .\" インタフェースに割り当てる必要があります。 .\" .Tn AFI .\" 37 タイプアドレスにおいて、数字が 1 とは異なると便利であるのは、 .\" それなりの理由があります。 .It Cm range Ar netrange Appletalk において .Ar netrange に返答するようにインタフェースを設定します。 書式は .Ar startnet Ns - Ns Ar endnet です。 Appletalk は netmask ではなくこの方法を使用しますが、 .Fx の内部においては netmask の集合として実装しています。 .It Cm remove .Fl alias パラメータの別名です。 BSD/OS との互換性のために導入されました。 .It Cm phase これに続く引数は、 インタフェースに接続された Appletalk ネットワークの バージョン (フェーズ) を指定します。 1 または 2 が許されています。 .Sm off .It Cm link Op Cm 0 No - Cm 2 .Sm on 指定したインタフェースのリンクレベルでの特殊な処理を有効にします。 3 つのオプション の実際の効果はインタフェース依存です。しかしながら、これらのオプションは、 一般的には特殊なオペレーションモードを選択するのに用いられます。この例として、 SLIP 使用時のデータ圧縮や、Ethernet カードのコネクタ選択を行います。 各ドライバごとのマニュアルページに 詳細が記してあるので、詳しくはそちらの方を参照して下さい。 .Sm off .It Fl link Op Cm 0 No - Cm 2 .Sm on 指定したインタフェースのリンクレベルでの特殊な処理を無効にします。 .It Cm monitor インタフェースをモニタモードにします。 パケットは送出されず、受信パケットは .Xr bpf 4 の処理の後に捨てられます。 .It Fl monitor インタフェースのモニタモードを解除します。 .It Cm up 指定したネットワークインタフェースに .Dq up とマークします。 本オプションは、 .Dq Nm Cm down を行なった後にインタフェースを有効にするのに用いられます。 最初にインタフェースにアドレスを設定した場合には、自動的に本指定はされたものと して扱います。もし、down とマークされていたインタフェースがリセットされた場合、 ハードウェアは再初期化されます。 .It Cm ssid Ar ssid IEEE 802.11 無線インタフェース用であり、 希望するサービスセット識別子 (SSID; 別名はネットワーク名) を設定します。 SSID は、32 文字までの文字列であり、 通常の文字列の形式か .Ql 0x を前に付けた 16 進数の形式で、指定可能です。 更に、SSID に .Ql - を設定することで、これを消去可能です。 .It Cm nwid Ar ssid .Cm ssid パラメータの別名。 .Nx との互換性のためにあります。 .It Cm stationname Ar name IEEE 802.11 無線インタフェース用であり、 このステーションの名前を設定します。 ステーション名は、本当は IEEE 802.11 プロトコルの一部ではないようですが、 すべてのインタフェースがこれをサポートしているようです。 そのようなものですから、 同じもしくは実際的に同じ機器にとってのみ有用であるようです。 .It Cm station Ar name .Cm stationname パラメータの別名。 .Bsx との互換性のためにあります。 .It Cm channel Ar number IEEE 802.11 無線インタフェース用であり、 希望するチャネルを設定します。 チャネルの範囲は 1 から 14 ですが、 アダプタがどの地域用に製造されたかに、利用可能な選択肢は依存します。 チャネルを 0 に設定すると、アダプタのデフォルト設定になります。 アドホックモード以外では、多くのアダプタがこの設定を無視します。 .It Cm authmode Ar mode IEEE 802.11 無線インタフェース用であり、 インフラストラクチャモードでの希望する認証モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは .Dq none , .Dq open , .Dq shared です。 モードは、大文字小文字を区別しません。 .It Cm powersave IEEE 802.11 無線インタフェース用であり、省電力モードを有効にします。 .It Fl powersave IEEE 802.11 無線インタフェース用であり、省電力モードを無効にします。 .It Cm powersavesleep Ar sleep IEEE 802.11 無線インタフェース用であり、 希望する最大省電力スリープ時間をミリ秒で指定します。 .It Cm wepmode Ar mode IEEE 802.11 無線インタフェース用であり、希望する WEP モードを設定します。 すべてのアダプタがすべてのモードをサポートしているわけではありません。 正当なモードは .Dq off , .Dq on , .Dq mixed です。 .Dq mixed モードは、暗号化トラフィックと非暗号化トラフィックの両方を許す アクセスポイントとの関係を許すことを、アダプタに明示的に指定します。 両方を許すアダプタにおける .Dq on は、 アクセスポイントが暗号化接続のみを許可することが必要であることを意味します。 他のアダプタにおける .Dq on は、一般的に .Dq mixed の別名です。 モードは、大文字小文字を区別しません。 .It Cm weptxkey Ar index IEEE 802.11 無線インタフェース用であり、送信に使用する WEP 鍵を設定します。 .It Cm wepkey Ar key Ns | Ns Ar index : Ns Ar key IEEE 802.11 無線インタフェース用であり、選択された WEP 鍵を設定します。 .Ar index が指定されない場合、鍵 1 が設定されます。 WEP 鍵の長さは、5 文字または 13 文字 (40 ビットまたは 104 ビット) であり、 ローカルネットワークとアダプタの機能に依存します。 通常の文字列の形式か .Ql 0x を前に付けた 16 進数の形式で、指定可能です。 最大限の可搬性のためには、16 進数形式の鍵を推奨します。 テキスト鍵から WEP 暗号へのマッピングは、通常、ドライバ固有です。 特に、 .Tn Windows ドライバのマッピング方法は .Fx のものとは異なります。 鍵は、 .Ql - を設定することで、これを消去可能です。 WEP がサポートされていれば、最低 4 個の鍵があります。 アダプタによっては 4 個を越える鍵をサポートするものもあります。 そのような場合、最初の 4 個の鍵 (1-4) が標準の一時鍵となり、 他の鍵がアダプタ固有の鍵となります。 後者は、例えば、NVRAM に格納される永続鍵です。 .It Cm wep .Cm wepmode on の別の指定方法。 .Bsx との互換性のためにあります。 .It Fl wep .Cm wepmode off の別の指定方法。 .Bsx との互換性のためにあります。 .It Cm nwkey key 以下の、別の指定方法。 .Pp .Dq Li "wepmode on weptxkey 1 wepkey 1:key wepkey 2:- wepkey 3:- wepkey 4:-" .Pp .Nx との互換性のためにあります。 .It Cm nwkey Xo .Sm off .Ar n : k1 , k2 , k3 , k4 .Sm on .Xc 以下の、別の指定方法。 .Pp .Dq Li "wepmode on weptxkey n wepkey 1:k1 wepkey 2:k2 wepkey 3:k3 wepkey 4:k4" .Pp .Nx との互換性のためにあります。 .It Fl nwkey .Cm wepmode off の別の指定方法。 .Pp .Nx との互換性のためにあります。 .El .Pp .Nm ユーティリティは、 引数としてネットワークインタフェース以外に何のオプションも与えられない場合、 ネットワークインタフェースの現在の設定状態を表示します。 プロトコルファミリが指定されている場合、 .Nm はプロトコルファミリに特有の情報についてのみ表示します。 .Pp ドライバがメディア選択をサポートする場合、 サポートされているメディアのリストが出力に含まれます。 .Pp インタフェース名の前に .Fl m フラグが渡されると、 指定したインタフェースに対してサポートされているすべてのメディアを .Nm は表示します。 オプションとして、インタフェース名の代りに .Fl L フラグを指定すると、IPv6 用のアドレスの生存時間が、 時刻オフセット文字列として表示されます .Pp .Fl a フラグを指定できます。そうすると、 .Nm はシステム上の全インタフェースを表示します。 .Fl d フラグはこれを down したインタフェースに限定し、 .Fl u フラグはこれは up したインタフェースに限定します。 引数を指定しないと、 .Fl a が暗黙的に指定されます。 .Pp .Fl l フラグを使用するとシステム上の使用可能な全インタフェースのリストを、 その他の情報は付加せずに表示します。 このフラグは他のフラグとは排他的ですが、 .Fl d (down したインタフェースのみをリスト) と .Fl u (up したインタフェースのみをリスト) は例外です。 .Pp .Fl C フラグは、システム上で利用可能なインタフェース複製者をすべて列挙します。 他の情報は表示されません。 本フラグは、他のフラグおよびコマンドと共には使用できません。 .Pp スーパユーザのみがネットワークインタフェースの設定を変更できます。 .Sh 注 メディア選択システムは比較的新しく、いくつかのドライバのみサポートしています (必要があるものも限られています)。 .Sh 診断 指定したインタフェースが存在しない、 要求したアドレスが未知のものである、 ユーザがネットワークインタフェースの設定を変更する権限を持っていない、 といったメッセージを表示します。 .Sh バグ IPv6 ノード間のいくつかの基本的な通信用に、 IPv6 リンクローカルのアドレスが必要です。 これらを .Nm で手動で削除すると、カーネルが非常に奇妙な動作を示すことがあります。 よって、このような手動削除は、強く非推奨です。 .Sh 関連項目 .Xr netstat 1 , .Xr netintro 4 , .\" .Xr eon 5 , .Xr rc 8 , .Xr routed 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/ip6fw.8 b/ja_JP.eucJP/man/man8/ip6fw.8 index 64a0e7bd33..4306707b29 100644 --- a/ja_JP.eucJP/man/man8/ip6fw.8 +++ b/ja_JP.eucJP/man/man8/ip6fw.8 @@ -1,608 +1,608 @@ .\" -.\" %FreeBSD: src/sbin/ip6fw/ip6fw.8,v 1.18 2003/03/03 22:46:35 ru Exp % +.\" %FreeBSD: src/sbin/ip6fw/ip6fw.8,v 1.19 2003/09/10 19:24:34 ru Exp % .\" .\" $KAME$ .\" .\" Copyright (C) 1998, 1999, 2000 and 2001 WIDE Project. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the project nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $FreeBSD$ .\" .\" WORD: modifier 修飾子 .\" WORD: fragmented packet フラグメントパケット .\" WORD: encapsulating security payload 暗号ペイロード [IPv6] .\" WORD: no next header 次ヘッダなし [IPv6] .\" WORD: fine points 微調整 .Dd March 13, 2000 .Dt IP6FW 8 .Os .Sh 名称 .Nm ip6fw .Nd IPv6 ファイアフォール用制御ユーティリティ .Sh 書式 .Nm .Op Fl q .Oo .Fl p Ar preproc .Oo Fl D .Ar macro Ns Op = Ns Ar value .Oc .Op Fl U Ar macro .Oc .Ar pathname .Nm .Op Fl f | Fl q flush .Nm .Op Fl q zero .Op Ar number ... .Nm delete .Ar number ... .Nm .Op Fl aftN list .Op Ar number ... .Nm .Op Fl ftN show .Op Ar number ... .Nm .Op Fl q add .Op Ar number .Ar action .Op log .Ar proto from .Ar src to .Ar dst .Op via Ar name | ipv6no .Op Ar options .Sh 解説 簡単に設定するために、ルールをファイルに格納して、最初の書式に示すように .Nm に処理させることが可能です。 絶対 .Ar pathname を使用する必要があります。 ファイルは、1 行ずつ読み込まれ、 .Nm ユーティリティへの引数に適用されます。 .Pp オプションとして、プリプロセッサを .Fl p Ar preproc で指定可能であり、ここを .Ar pathname がパイプされます。 有用なプリプロセッサには .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュ .Pq Ql / で開始しない場合、通常の .Ev PATH の名前検索が実行されます。 .Nm 実行時には (まだ) 全ファイルシステムがマウントされていない環境においては、 注意が必要です (例えば NFS 経由でマウントする場合)。 一度 .Fl p が指定されると、オプションの .Fl D と .Fl U の指定を続けることが可能であり、これらはプリプロセッサに渡されます。 これにより、設定ファイル (ローカルホスト名による条件等) が柔軟になり、 IP アドレス等の頻繁に必要となる引数を集中管理可能となります。 .Pp .Nm コードは、各パケットに対してマッチするものが見つかるまで ルールリストを走査することによって動作します。 ルールにはすべて 2 つの関連のあるカウンタがあります。 パケットカウンタとバイトカウンタです。 これらのカウンタはパケットがルールにマッチするときに 更新されます。 .Pp ルールは、 1 から 65534 までの .Dq 行番号 で序列がつけられており、 ルールを決めたり削除したりするのに使用されます。 ルールは昇順で試され、パケットに最初にマッチしたルールが 適用されます。 複数のルールが同じ行番号を共有できます。 この場合、追加した順番でルールが適用されます。 .Pp 番号をつけずにルールを足した場合、その直前のルールよりも 100 大きい番号がつけられます。 定義されたルール番号の最大値が 65434 よりも大きい場合、 新しく定義されるルールは、ルールの最後に追加されます。 .Pp delete 操作では、それが存在する場合には、 .Ar number を行番号にもつ最初のルールが削除されます。 .Pp list コマンドは、現在のルールセットを出力します。 .Pp show コマンドは `ip6fw -a list' と等価です。 .Pp zero 操作は、ルール番号 .Ar number に関連づけられたカウンタを 0 にします。 .Pp flush 操作は、すべてのルールを削除します。 .Pp .Sq # で始まるコマンドおよび空白だけのコマンドはみな 無視されます。 .Pp 次のルールは必ず存在します: .Bd -literal -offset center 65535 deny all from any to any .Ed .Pp このルールはデフォルトのポリシです。すなわち、 何も許さないということです。ルールを設定する際に あなたがすべき仕事は、このポリシを必要に合わせて 変更するということです。 .Pp 次のオプションが使用できます: .Bl -tag -width flag .It Fl a リスト中に、カウンタ値を表示します。 .Dq show コマンドを参照してください。 .It Fl f 間違って使用すると問題をひき起こす可能性のある コマンド (つまり、flush) の確認をとりません。 .Ar 注意、 プロセスに端末が割り当てられていない場合は、暗黙のうちに このオプションが指定されています。 .It Fl q add 操作や zero 操作、flush 操作を行っている最中に、 そのアクションに対して何も表示しません (暗黙のうちに '-f' が指定されています)。 これは、リモートログイン時のセッションで スクリプト内で複数の ip6fw コマンドを実行したり (例えば、sh /etc/rc.firewall のように)、 たくさんの ip6fw ルールファイルを処理したりすることで ルールを調節するときに便利です。 通常モード (冗長) で flush 操作を行うと、メッセージが出力 されます。ルールがすべて flush されるので、ログインセッションに メッセージを送ることができず、ログインセッションも閉じてしまいます。 そのため、残りのルールセットは処理されなくなってしまいます。 復旧には、コンソールへのアクセスが必要になります。 .It Fl t list している最中に、最後にマッチしたときのタイムスタンプを表示します。 .It Fl N 出力で、アドレスおよびサービス名を解決しようとします。 .El .Pp .Ar アクション は次の通りです。 .Bl -hang -offset flag -width 16n .It Ar allow ルールにマッチしたパケットを許可します。 そして探索を終了します。別名は .Ar pass , .Ar permit , .Ar accept です。 .It Ar deny ルールにマッチしたパケットを捨てます。 そして探索を終了します。 .Ar drop は .Ar deny の別名です。 .It Ar reject (非推奨です) ルールにマッチしたパケットを捨てて、 ICMPv6 の host unreachable notice メッセージを 送ろうとします。 そして探索を終了します。 .It Ar unreach code ルールにマッチしたパケットを捨てて、 ICMPv6 の unreachable notice メッセージをコード .Ar code で送ろうとします。ここで、 .Ar code は 0 から 255 までの番号もしくは次の別名のうちのいずれかです: .Ar noroute , .Ar admin , .Ar notneighbor , .Ar addr , .Ar noport 。 そして探索を終了します。 .It Ar reset TCP パケットのみです。 ルールにマッチしたパケットを捨てて、 TCP reset (RST) notice メッセージを送ろうとします。 そして探索を終了します .Em ( "まだ動作しません" ) 。 .It Ar count ルールにマッチしたすべてのパケットに対するカウンタを 更新します。 探索は、次のルールへと継続します。 .It Ar skipto number .Ar number よりも小さい番号のついたルールをスキップします。 探索は .Ar number 以上の番号のついたルールへと継続します。 .El .Pp カーネルを .Dv IPV6FIREWALL_VERBOSE つきでコンパイルした場合、パケットが .Dq log キーワードつきのルールにマッチしたとき または clear/resetlog が実行されたときには、 メッセージが .Xr syslogd 8 に記録されるか、これが失敗したときにはコンソールにメッセージが表示されます。 カーネルを .Dv IPV6FIREWALL_VERBOSE_LIMIT オプションつきでコンパイルした場合、 特定のチェーンエントリに対して このオプションで指定した数だけパケットを受け取った後は ログを記録しません。 この制限に到達した場合、制限とルール番号が記録されます。 このエントリに対するカウンタをクリアすることでログの記録を再開できます。 .Pp .Xr syslogd 8 ログおよびデフォルトのログの制限を、 .Xr sysctl 8 インタフェースを介して動的に調整できます。 .Pp .Ar proto は次の通りです。 .Bl -hang -offset flag -width 16n .It Ar ipv6 すべてのパケットがマッチします。 別名 .Ar all は同じ効果を持ちます。 .It Ar tcp TCP パケットだけがマッチします。 .It Ar udp UDP パケットだけがマッチします。 .It Ar ipv6-icmp ICMPv6 パケットだけがマッチします。 .It Ar 指定したプロトコルだけがマッチします (完全なリストは .Pa /etc/protocols を参照してください)。 .El .Pp .Ar src および .Ar dst は次の通りです。 .Bl -hang -offset flag .It Ar
.Op Ar ports .El .Pp .Em
は次のように指定できます: .Bl -hang -offset flag -width 16n .It Ar ipv6no .Li fec0::1:2:3:4 という形式の IPv6 ナンバ。 .It Ar ipv6no/prefixlen .Li fec0::1:2:3:4/112 のような形式のプレフィックス長をもった IPv6 ナンバ。 .El .Pp .Dq 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 より) サービス名を、 数値によるポート番号の代わりに使用できます。 範囲は最初の値としてのみ指定でき、ポートリスト長は .Dv IPV6_FW_MAX_PORTS ( -.Pa /usr/src/sys/netinet6/ip6_fw.h +.In netinet6/ip6_fw.h で指定) 個のポートまでに制限されています。 .Pp 0 ではないオフセットを持つ (すなわち、最初のフラグメントではない) フラグメントパケットは、1 つ以上のポートが列挙されたルールには 絶対にマッチしません。 フラグメントパケットのマッチについての詳細は .Ar frag オプションを参照してください。 .Pp ルールは、パケットが入力されるとき、および出力されるとき、 あるいはその両方ともであるときに適用されます。 .Ar in キーワードは、入力パケットにのみルールがマッチしなくては ならないことを示すものです。 .Ar out キーワードは、出力パケットにのみルールがマッチしなくては ならないことを示すものです。 .Pp あるインタフェースを通るパケットにマッチするためには、 .Ar via を使用して次のようにインタフェースを指定してください。 .Bl -hang -offset flag -width 16n .It Ar via ifX パケットは、インタフェース .Ar ifX を通らなくてはなりません。 .It Ar via if* パケットは、インタフェース .Ar ifX を通らなくてはなりません。ここで、X は任意のユニット番号です。 .It Ar via any パケットは、 .Em なんらかの インタフェースを通らなくてはなりません。 .It Ar via ipv6no パケットは、IPv6 アドレス .Ar ipv6no を持ったインタフェースを通らなくてはなりません。 .El .Pp .Ar via キーワードを使用すると、該当インタフェースは常に チェックされるようになります。 .Ar via の代わりに .Ar recv あるいは .Ar xmit を使用すると、 (それぞれ) 受信インタフェースまたは送信インタフェースだけが チェックされます。 両方を指定することで、受信インタフェース、送信インタフェースの 両方ともにパケットをマッチさせることができます。 例えば、次のようにします。 .Pp .Dl "ip6fw 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 xmit あるいは .Ar recv と一緒に .Ar via を指定するのは不正です。 .Pp パケットには、受信インタフェースあるいは送信インタフェースがない かもしれません。ローカルホストから送信されたパケットには 受信インタフェースがありません。そして、ローカルホストへ向けて 送信されたパケットには送信インタフェースがありません。 .Pp 追加の .Ar options は次の通りです。 .Bl -hang -offset flag -width 16n .It frag パケットがフラグメントであり、しかも データグラムの最初のフラグメントでなければマッチします。 .Ar frag は、 .Ar tcpflags あるいは TCP/UDP ポートの指定と一緒には使うことができません。 .It in パケットが入ってこようとしている場合にマッチします。 .It out パケットが出ていこうとしている場合にマッチします。 .It ipv6options Ar spec IPv6 ヘッダに、 .Ar spec で指定されたコンマ区切りのオプションリストの要素が含まれて いればマッチします。 サポートしている IPv6 オプションは次の通りです。 .Ar hopopt (hop-by-hop オプションヘッダ)、 .Ar route (ルーティングヘッダ)、 .Ar frag (フラグメントヘッダ)、 .Ar esp (暗号ペイロード)、 .Ar ah (認証ヘッダ)、 .Ar nonxt (次ヘッダなし)、そして .Ar opts (デスティネーションオプションヘッダ) です。 特定のオプションがないことは、 .Dq \&! で表します .Em ( "まだ動作していません" ) 。 .It established RST あるいは ACK ビットがセットされているパケットに マッチします。 .It setup SYN ビットはセットされているが ACK ビットがセットされていない パケットにマッチします。 .It tcpflags Ar spec TCP ヘッダに、 .Ar spec で指定されたコンマ区切りのフラグリストの要素が含まれていれば マッチします。 サポートしている TCP フラグは以下の通りです。 .Ar fin , .Ar syn , .Ar rst , .Ar psh , .Ar ack , そして .Ar urg です。 特定のフラグがないことは .Dq \&! を使って表します。 .Ar tcpflags 指定を含んだルールは、 0 でないオフセットを持ったフラグメントパケットには 絶対にマッチしません。 フラグメントパケットへのマッチに関する詳細は .Ar frag オプションを参照してください。 .It icmptypes Ar types ICMPv6 のタイプが .Ar types リスト中にあればマッチします。 リストには、範囲と、個々のタイプをコンマで区切ったものを、 任意に組み合わせて指定できます .El .Sh チェックリスト ここには、あなたがルールをデザインする際に考慮すべき 重要なポイントをいくつか述べてあります。 .Bl -bullet -offset flag .It 入力および出力パケットの両方をフィルタするのだということを 忘れないでください。ほとんどの接続には両方向のパケットが 必要です。 .It とても注意深くテストするのを忘れないでください。 テストする際にはコンソールの近くで行うというのが良いアイデアです。 .It ループバックインタフェースを忘れないでください。 .El .Sh 微調整 ファイアウォールが常に破棄するパケットが 1 種類あります。 それは、フラグメントオフセット 1 を持った IPv6 フラグメントです。 これは正しいパケットですが、使用方法は 1 つだけです。 それは、ファイアウォールの抜け道を探そうとすることです。 .Pp ネットワーク越しにログインしている場合は、 .Nm の KLD バージョンをロードするのは、おそらく あなたが思っているほどには簡単ではないでしょう .Em ( "サポートされていません " ) 。 次のようなコマンド行を推奨します。 .Bd -literal -offset center kldload ip6fw && \e ip6fw add 32000 allow all from any to any .Ed .Pp 同様の状況で、同じ行で .Bd -literal -offset center ip6fw flush .Ed .Pp を行うことも良くないアイデアです。 .Sh パケット変換 サポートされていません。 .Sh 使用例 このコマンドは、 .Em hacker.evil.org から .Em wolf.tambov.su の telnet ポートへの TCP パケットすべてを、このホストで フォワードしないようにします。 .Pp .Dl ip6fw add deny tcp from hacker.evil.org to wolf.tambov.su 23 .Pp 次のコマンドは、hackers ネットワーク全体から自ホストへの接続を 何であれ禁止します。 .Pp .Dl ip6fw add deny all from fec0::123:45:67:0/112 to my.host.org .Pp これは、カウント値の記録とタイムスタンプ情報を表示するための リストコマンドの良い使用例です。 .Pp .Dl ip6fw -at l .Pp あるいは、タイムスタンプなしの、短い形式のものは .Pp .Dl ip6fw -a l です。 .Sh 関連ファイル .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ .Em 注意 !! 注意 !! 注意 !! 注意 !! .Pp このプログラムは、あなたのコンピュータをかなり使えない状態 にしてしまう可能性があります。初めて使用する際には、 コンピュータのコンソールで作業してください。また、 理解していないことは何も .Em しないでください 。 .Pp チェーンエントリを操作 / 追加する際には、サービス名および プロトコル名は受け付けられません。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs です。 .Pp .An -nosplit API は、BSDI 用に .An Daniel Boulet が書いたコードに基いています。 .Sh 歴史 .Nm ユーティリティは最初に .Fx 4.0 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/ipfw.8 b/ja_JP.eucJP/man/man8/ipfw.8 index d33b8bb1f6..6a32817f34 100644 --- a/ja_JP.eucJP/man/man8/ipfw.8 +++ b/ja_JP.eucJP/man/man8/ipfw.8 @@ -1,2281 +1,2301 @@ .\" -.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.131 2003/07/22 07:41:24 luigi Exp % +.\" %FreeBSD: src/sbin/ipfw/ipfw.8,v 1.133 2003/09/26 12:22:28 rse Exp % .\" .\" $FreeBSD$ .\" .Dd August 13, 2002 .Dt IPFW 8 .Os .Sh 名称 .Nm ipfw .Nd IP ファイアウォールとトラフィックシェイパの制御プログラム .Sh 書式 .Nm .Op Fl cq .Cm add .Ar rule .Nm .Op Fl acdefnNStT .Brq Cm list | show .Op Ar rule | first-last ... .Nm .Op Fl f | q .Cm flush .Nm .Op Fl q .Brq Cm delete | zero | resetlog .Op Cm set .Op Ar number ... .Nm .Cm enable .Brq Cm firewall | one_pass | debug | verbose | dyn_keepalive .Nm .Cm disable .Brq Cm firewall | one_pass | debug | verbose | dyn_keepalive .Pp .Nm .Cm set Oo Cm disable Ar number ... Oc Op Cm enable Ar number ... .Nm .Cm set move .Op Cm rule .Ar number Cm to Ar number .Nm .Cm set swap Ar number number .Nm .Cm set show .Pp .Nm .Brq Cm pipe | queue .Ar number .Cm config .Ar config-options .Nm .Op Fl s Op Ar field .Brq Cm pipe | queue .Brq Cm delete | list | show .Op Ar number ... .Pp .Nm .Op Fl cnNqS .Oo .Fl p Ar preproc .Oo .Ar preproc-flags .Oc .Oc .Ar pathname .Sh 解説 .Nm とそのユーティリティは .Fx の .Xr ipfw 4 ファイアウォールと .Xr dummynet 4 トラフィックシェイパを制御するユーザインタフェースです。 .Pp .Bd -ragged -offset XXXX .Em 注: このマニュアルページは 2002 年 7 月に .Fx CURRENT に導入され .Nm ipfw2 としても知られている .Nm の新バージョンについて説明しています。 .Nm ipfw2 は旧版のファイアウォール .Nm ipfw1 のスーパセットです。この 2 つの違いはセクション .Sx IPFW2 拡張 に列挙されています。古いルールセットを書き直し、より効率的にするために、 ここを読むことをお勧めします。 .Fx STABLE で .Nm ipfw2 を実行する手順については、セクション .Sx FreeBSD-STABLE で IPFW2 を使う を参照下さい。 .Ed .Pp .Nm の設定、もしくは .Em ルールセット は、1 から 65535 までの番号をつけられた .Em ルール のリストからなります。 パケットは プロトコルスタック中のいくつかの箇所から .Nm に渡されます (パケットの発信元と宛先によっては、 .Nm は同じパケットに対して複数回起動させられる可能性があります)。 ファイアウォールに渡されるパケットは ファイアウォールの .Em ルールセット 中のルールそれぞれに対して照合されます。 .Pp マッチした場合、マッチしたルールに対応するアクションが実行されます。 アクションと実際のシステムの設定によっては、 マッチしたルールの後のルールでさらに処理を行うために パケットがファイアウォールに再注入されることがあります。 .Pp .Nm ルールセットには常に .Em デフォルト ルール (番号 65535) が含まれます。 このルールは変更も削除もできず、 全パケットにマッチします。 .Em デフォルト ルールに関連付けられるアクションは .Cm deny か .Cm allow のどちらかになりますが、 これはどのようにカーネルを設定したかに依存します。 .Pp ルールセットが オプション .Cm keep-state または .Cm limit 付きのルールを含む場合、 .Nm は .Em ステートフル (状態依存型) で動作します。すなわち、あるマッチの結果、 マッチしたパケットのパラメータにちょうど一致するルールが 動的に生成されます。 .Pp これらの動的ルールの生存時間は有限で、 .Cm check-state または .Cm keep-state または .Cm limit ルールが最初に生じた場所でチェックされます。 動的ルールは、普通、正当なトラフィックをオンデマンドで ファイアウォールを通過させるために用います。 .Nm のステートフルな動作について更に情報が必要ならば、 以下の .Sx ステートフルファイアウォール セクションと .Sx 使用例 セクションを参照して下さい。 .Pp 全てのルール(動的ルールを含む)は、 関連するカウンタをいくつか持っています。それらは、 パケットカウント、バイトカウント、ログカウント、 最後にマッチした時刻を示すタイムスタンプです。 カウンタは、 .Nm コマンドによって表示することができ、またリセットすることができます。 .Pp ルールの追加は .Cm add コマンドにて可能です。 ルールひとつひとつ、またはまとめての削除は .Cm delete コマンドにて可能であり、(セット 31 以外の) すべてのルールの削除は .Cm flush コマンドにて可能です。 ルールの表示 (オプションでカウンタ内容を含めることができます) は、 .Cm show コマンドおよび .Cm list コマンドにて可能です。 最後に、カウンタのリセットは .Cm zero コマンドおよび .Cm resetlog コマンドにて可能です。 .Pp また、各ルールは 32 個の 異なる .Em セット の 1 つに所属し、 セットに対するアトミックな操作、例えば 有効化・無効化・セットの入れ換え・セット内の全ルールを別のセットへ移動・ セット内の全ルールの削除などを行うための .Nm コマンドがあります。 これらは一時的な設定をインストールしたり設定のテストを行ったりするときに 便利です。 .Em セット に関する詳細はセクション .Sx ルールセット を参照して下さい。 .Pp 次のオプションが利用可能です: .Bl -tag -width indent .It Fl a ルールのリストを表示する際に、 カウンタ値を示します。 .Cm show コマンドは、このオプションを暗黙的に指定しただけのものです。 .It Fl c ルールを入力したり参照したりするときに、 コンパクトな書式でルールを表示します。 つまり、ルールが何の追加情報も持たないときは、 オプショナルな文字列 "ip from any to any" を表示しません。 .It Fl d ルールのリストを表示する際に、 静的ルールに加えて動的ルールも表示します。 .It Fl e ルールのリストを表示する際に、 もし .Fl d オプションが指定されていれば、 期限切れの動的ルールも表示します。 .It Fl f 誤って使用すると問題を起す可能性のあるコマンド、 .No すなわち Cm flush に対して、実行の確認を行いません。 プロセスに関連付けられた tty が無い場合、このオプションが 暗黙のうちに指定されたとして処理されます。 .It Fl n コマンド文字列の文法だけをチェックし、 実際にはカーネルには渡しません。 .It Fl N 出力に含まれるアドレスとサービス名の名前解決を試みます。 .It Fl q .Cm add , .Cm zero , .Cm resetlog , .Cm flush を実行する際、動作について報告しません (暗黙のうちに .Fl f が指定されます)。 スクリプト (例えば .Ql sh\ /etc/rc.firewall ) の中で複数の .Nm コマンドを実行してルールを変更する場合や、 リモートログインセッション経由で多数の .Nm ルールを含むファイルを処理することによりルールを変更する場合に 有用です。 通常 (冗長) モードで (デフォルトカーネル設定で) flush を行った場合、 メッセージを表示します。 すべてのルールが捨てられますので、 メッセージはログインセッションへ渡せません。 つまり、リモートログインセッション経由の場合、セッションはクローズされ、 残りのルールセットは処理されません。 この状態から回復するためにはコンソールへのアクセスが必要になります。 .It Fl S ルールのリストを表示する際に、 各ルールが属する .Em セット を表示します。 このフラグが指定されていなければ、 無効化されているルールは表示されません。 .It Fl s Op Ar field パイプ経由でリスト出力している際に、4 つのカウンタの 1 つについて 整列させます (総パケット数/バイト数または現在のパケット数/バイト数)。 .It Fl t ルールのリストを表示する際に、 最後にマッチしたタイムスタンプを表示します (ctime() で変換されます)。 .It Fl T ルールのリストを表示する際に、 最後にマッチしたタイムスタンプを表示します (基準時点からの秒で表示されます)。 この書式の方が、スクリプトでの後処理に向いています。 .El .Pp 冒頭の書式の行で示したように、 設定を簡単にするため、 ルールを .Nm に処理させるファイルに記述することができます。 .Ar pathname には絶対パス名を使用する必要があります。 このファイルからは 1 行ずつ読み込まれ、 .Nm ユーティリティの引数として受け付けられます。 .Pp .Fl p Ar preproc を使用して、 .Ar pathname がパイプされるプリプロセッサを指定することもできます。 有用なプリプロセッサには、 .Xr cpp 1 と .Xr m4 1 があります。 .Ar preproc の最初の文字がスラッシュ .Pq Ql / から始まらない場合、 .Ev PATH を使用した通常の名前検索が行われます。 .Nm が実行されるときまでに全ファイルシステムが (まだ) マウントされないような環境 (例えば NFS 経由でマウントされる場合) では、このことに注意してください。 ひとたび .Fl p が指定されると、以降の引数がプリプロセッサに渡されます。 これにより、(ローカルホスト名により条件付けするなど) 柔軟性のある設定ファイルを作成可能となり、IP アドレスのように 頻繁に必要となる引数を集中管理するためのマクロを使用可能となります。 .Pp 後述の .Sx トラフィックシェイパ (DUMMYNET) 設定 セクションで示すように、 .Nm .Cm pipe および .Cm queue コマンドを使用して、トラフィックシェイパを構築可能です。 .Pp 世界とカーネルの調子が外れると、 .Nm ABI が壊れてしまい、いかなるルールも追加できなくなります。 これはブートに悪影響があり得ます。 .Nm .Cm disable .Cm firewall で、一時的にファイアウォールを無効化することで、 ネットワークアクセスを再取得して問題解決できます。 .Sh パケットフロー 1 個のパケットが、プロトコルスタックの複数の場所で、 有効なルールセットに対しチェックされます。このチェックは いくつかの sysctl 変数に基づきます。 これらの場所と変数を以下に示します。 ルールセットを正しく設計するためには、この図をよく理解する ことが大切です。 .Bd -literal -offset indent ^ to upper layers V | | +----------->-----------+ ^ V [ip_input] [ip_output] net.inet.ip.fw.enable=1 | | ^ V [ether_demux] [ether_output_frame] net.link.ether.ipfw=1 | | +-->--[bdg_forward]-->--+ net.link.ether.bridge_ipfw=1 ^ V | to devices | .Ed .Pp 上図に示されるように、 同一のパケットがファイアウォールを通過する回数は、 パケットの発信元や宛先、システムの設定により、 0 回から 4 回の範囲で変動します。 .Pp パケットがスタックを通過するにつれヘッダが削除 / 追加される 可能性があり、ヘッダがチェックに使えたり使えなかったりする ことに注意して下さい。 例えば、外から入ってくるパケットは .Cm ether_demux() から .Nm が実行されるときには MAC ヘッダを含んでいるはずですが、 その同じパケットが、 .Cm ip_input() から .Nm が実行されたときには MAC ヘッダは取り除かれているはずです。 .Pp また、各パケットは常にルールセット全体に対しチェックされることにも 注意してください。 これは、チェックが生じた場所、パケットのソースに関係ありません。 実行された箇所によっては無効となるような マッチパターンやアクション (例えば、 .Cm ip_input() 中で MAC ヘッダとマッチを試みるようなもの) をルールが含んでいるなら、そのパターンはマッチしないことになります。 とはいえ、そのようなパターンの前に .Cm not オペレータを記述すれば、このパターンは .Em 常に そのようなパケットにマッチすることになります。 したがって、必要に応じ、生じ得る場所の違いを理解して、 適切なルールセットを記述することはプログラマの責任です。 そこで .Cm skipto ルールが役に立つことでしょう。 例えば次のようにします。 .Bd -literal -offset indent # ether_demux または bdg_forward からのパケット ipfw add 10 skipto 1000 all from any to any layer2 in # ip_input からのパケット ipfw add 10 skipto 2000 all from any to any not layer2 in # ip_output からのパケット ipfw add 10 skipto 3000 all from any to any not layer2 out # ether_output_frame からのパケット ipfw add 10 skipto 4000 all from any to any layer2 out .Ed .Pp (そうです、今のところ ether_demux と bdg_forward とを 区別する方法はありません)。 .Sh 文法 一般に、各キーワードもしくは引数は、別々のコマンド行引数として与えられ、 その前や後には空白は付きません。 キーワードは、大文字小文字を区別しますが、 引数は、その性質に依存し、大文字小文字を区別するかもしれませんし、 しないかもしれません (例えば uid は区別しますが、hostname はしません)。 .Pp .Nm ipfw2 では、コンマ ',' の後に空白を入れ、行を読み易くできます。 また、コマンド全体 (フラグを含む) を、単一引数に入れられます。 例えば、次の書式は等価です: .Bd -literal -offset indent ipfw -q add deny src-ip 10.0.0.0/24,127.0.0.1/8 ipfw -q add deny src-ip 10.0.0.0/24, 127.0.0.1/8 ipfw "-q add deny src-ip 10.0.0.0/24, 127.0.0.1/8" .Ed .Sh ルール書式 .Nm ルールの書式は次の通りです。 .Bd -ragged -offset indent .Op Ar rule_number .Op Cm set Ar set_number .Op Cm prob Ar match_probability .br .Ar " " action .Op Cm log Op Cm logamount Ar number .Ar body .Ed .Pp この中で、ルールのボディ (body) は次の中からどの情報を使用して パケットをフィルタするかを指定します。 .Pp .Bl -tag -width "Source and dest. addresses and ports" -offset XXX -compact .It レイヤ 2 ヘッダフィールド 可能ならば .It IPv4 プロトコル TCP, UDP, ICMP など .It 送信元および宛先のアドレスとポート .It 方向 セクション .Sx パケットフロー を参照して下さい .It 送信および受信インタフェース 名前またはアドレス .It その他の IP ヘッダフィールド バージョン、サービスタイプ、データグラム長、識別子、 フラグメントフラグ (0 でない IP オフセット)、 生存時間 .It IP オプション .It その他の TCP ヘッダフィールド TCP フラグ (SYN, FIN, ACK, RST など)、 シーケンス番号、確認応答番号、ウィンドウ .It TCP オプション .It ICMP タイプ ICMP パケットの場合 .It ユーザ/グループ ID パケットをローカルソケットに関連づけることが可能な場合 .El .Pp 上記の情報のうち幾つか、 例えば、送信元 MAC アドレスまたは IP アドレスと TCP/UDP ポート は容易に詐称が可能であることに注意して下さい。 したがって、これらのフィールドのみでフィルタすることは 必ずしも望ましい結果を保証しません。 .Bl -tag -width indent .It Ar rule_number 各ルールは、1 から 65535 の範囲の .Ar rule_number に関連づけられており、 後者は .Em デフォルト ルールのために予約されています。 ルールはルール番号の順にチェックされます。 複数のルールが同一の番号を持つことが可能で、 その場合は追加された順序でチェックされます (表示する場合も同様です) 。 番号の指定なしでルールが入力された場合、 カーネルは、そのルールが .Em デフォルト ルールより前にあるルールの中で最後になるように割り当てます。 自動的につけられるルール番号は、 デフォルトを除いた中で最後となるルール番号を、 sysctl 変数 .Ar net.inet.ip.fw.autoinc_step の値だけ増加させて割り当てられます。 この変数のデフォルトは 100 です。 もし、この操作が (例えば許可された最大ルール番号を越えるといった理由で) 不可能であれば、 最後のデフォルトでない値が代わりに使用されます。 .It Cm set Ar set_number 各ルールは 0 から 31 の範囲の .Ar set_number に関連づけられています。 セットは個別に無効化したり有効化したりすることができます。 したがって、このパラメータはアトミックなルールセット操作を行うために 必要不可欠なものです。 このパラメータを使うことで、ルールをまとめて削除することを 単純にすることもできます。 セット番号を指定せずにルールを入力した場合、 セット 0 が使用されます。 .br セット 31 は特別であり、無効化できませんし、この中のルールは .Nm ipfw flush コマンドで削除できません (しかし、 .Nm ipfw delete set 31 コマンドで削除するこはできます)。 セット 31 はまた、 .Em デフォルト ルールとしても使用されます。 .It Cm prob Ar match_probability 指定した確率 (0 から 1 までの浮動小数点数です) でしかマッチしないマッチを宣言します。 ランダムにパケットを落とす応用や、 ( .Xr dummynet 4 と共に使用して) パケット到達順序の乱れを引き起こす複数経路の効果をシミュレートする 応用など、多くの応用に有用です。 .Pp 注: この条件は、他の条件の前にチェックされます。 これには、keep-state や check-state といった副作用のあるものも含まれます。 .It Cm log Op Cm logamount Ar number パケットが .Cm log キーワードを持ったルールにマッチした場合、 メッセージが .Xr syslogd 8 に .Dv LOG_SECURITY ファシリティで記録されます。 sysctl 変数 .Em net.inet.ip.fw.verbose が 1 (カーネルが .Dv IPFIREWALL_VERBOSE でコンパイルされていればこれがデフォルトです) に設定されており、 そのルールについてこれまで記録されたパケットの数が その .Cm logamount パラメータを越えていなければ、記録が行われます。 .Cm logamount が指定されていなければ、制限は sysctl 変数 .Em net.inet.ip.fw.verbose_limit から参照されます。 両者の値が 0 であれば記録の制限は取り除かれます。 .Pp 一度制限に達したなら、 このエントリに対するロギングカウンタかパケットカウンタをクリアすれば 記録を再び有効にすることができます。 .Cm resetlog コマンドを参照して下さい。 .Pp 注: ログが実行されるのは、 すべてのパケットマッチ条件が成功裏に確認された後であり、 最後の動作 (受理や拒否等) をパケットに実施する前です。 .El .Ss ルールアクション ルールは次に示すアクションの 1 つと関連づけることができます。 これはパケットがルールのボディにマッチしたときに実行されます。 .Bl -tag -width indent .It Cm allow | accept | pass | permit ルールにマッチするパケットを受け付けます。 検索は終了します。 .It Cm check-state 動的ルールセットに対してパケットのチェックを行ないます。 マッチした場合、 その動的ルールを生成したルールに関連づけられたアクションを実行し、 マッチしなかった場合、次のルールに移ります。 .br .Cm check-state ルールはボディを持ちません。 .Cm check-state ルールが見つからないときは、 動的ルールセットは最初の .Cm keep-state ルール、もしくは .Cm limit ルールの場所でチェックされます。 .It Cm count ルールにマッチした全てのパケットのカウンタを更新します。 検索は次のルールへ続行します。 .It Cm deny | drop ルールにマッチした全てのパケットを破棄します。 検索は終了します。 .It Cm divert Ar port ルールにマッチするパケットを ポート .Ar port にバインドされている .Xr divert 4 ソケットに送出します。 検索は終了します。 .It Cm fwd | forward Ar ipaddr Ns Op , Ns Ar port マッチしたパケットの次のホップを .Ar ipaddr に変更します。 これには IP アドレスとして、数字 4 つ組形式 またはホスト名が使用できます。 このルールにマッチした場合、検索は終了します。 .Pp .Ar ipaddr がローカルアドレスの場合、マッチしたパケットはローカルマシンの .Ar port (または、ルールで指定されていない場合はそのパケットのポート番号) に転送されます。 .br .Ar ipaddr がローカルアドレスでない場合、 ポート番号は (指定されていても) 無視され、 パケットは ローカルな経路テーブルに存在するその IP に対する経路を使用して リモートアドレスに転送されます。 .br .Ar fwd ルールはレイヤ 2 パケット (それらは ether_input, ether_output, bridged で受信されます) にはマッチしません。 .br .Cm fwd アクションはパケットの内容をまったく変更しません。 実際、宛先アドレスが修正されずに残るので、 転送先システムがそのようなパケットを取り込むルールを持たない限り、 他のシステムに転送されたパケットは、通常転送先のシステムで拒否されます。 ローカルに転送されるパケットの場合、 ソケットのローカルアドレスはパケットが元々持っていた 宛先アドレスに設定されます。 このことによって .Xr netstat 1 が出力するエントリは若干奇妙な見え方になりますが、 これは透過プロキシサーバでの使用を意図しています。 .It Cm pipe Ar pipe_nr パケットを .Xr dummynet 4 .Dq パイプ (バンド幅制限、遅延などに使用されます) へ渡します。 詳しい情報については .Sx トラフィックシェイパ (DUMMYNET) 設定 セクションを参照してください。 検索は終了します。 しかし、パイプから抜けたときに .Xr sysctl 8 変数 .Em net.inet.ip.fw.one_pass がセットされていない場合、 パケットは、すぐ次のルールから始まるファイアウォールコードへ 再度渡されます。 .It Cm queue Ar queue_nr パケットを .Xr dummynet 4 .Dq キュー (WF2Q+ を使ったバンド幅制限に使用されます) へ渡します。 .It Cm reject (非推奨)。 .Cm unreach host と同義です。 .It Cm reset このルールにマッチしたパケットを破棄します。 さらに、そのパケットが TCP パケットであれば、 TCP リセット (RST) 通知を送出しようと試みます。 検索は終了します。 .It Cm skipto Ar number それ以降のルールのうち .Ar number より小さな番号のものすべてを飛び越して、 .Ar number 以上の番号のルールで最初に存在するものから、検索を継続します。 .It Cm tee Ar port このルールにマッチしたパケットの複製を、 ポート .Ar port にバインドされた .Xr divert 4 ソケットに送出します。 検索は終了し、元のパケットは受け付けられます (ただし、以下のセクション .Sx バグ を参照して下さい)。 .It Cm unreach Ar code このルールにマッチしたパケットを破棄し、 コード .Ar code の ICMP 到達不可通知を送出しようと試みます。 ここで .Ar code は 0 から 255 の数字、または次のエイリアスのいずれかです: .Cm net , host , protocol , port , .Cm needfrag , srcfail , net-unknown , host-unknown , .Cm isolated , net-prohib , host-prohib , tosnet , .Cm toshost , filter-prohib , host-precedence , .Cm precedence-cutoff 。 検索は終了します。 .El .Ss ルールボディ ルールのボディは 0 個以上のパターン (送信元と宛先アドレスやポートの指定、 プロトコルオプション、受信または送信インタフェースの指定など) を含みます。このパターンは パケットを識別するためにマッチしなければならないものです。 一般に、パターンは (暗黙的に) .Cm and オペレータで接続されます -- つまり、ルールがマッチするためには 全てがマッチしなければなりません。 個々のパターンには、マッチの結果を反転させるために .Cm not オペレータを前置することができます。 これは次のようになります。 .Pp .Dl "ipfw add 100 allow ip from not 1.2.3.4 to any" .Pp さらに、 次のように .Cm or オペレータを使用し、 丸括弧 () や ブレース {} で括られた内部にパターンを列挙することで、 新しいマッチパターンのセット ( .Em 論理和ブロック ) を構築することができます: .Pp .Dl "ipfw add 100 allow ip from { x or not y or z } to any" .Pp 括弧のレベルは 1 つのみが可能です。 ほとんどのシェルが丸括弧やブレースに特別な意味を持たせていることに 注意して下さい。 したがって、そのような解釈が起こらないようにバックスラッシュ \\ を その前に置くことを勧めます。 .Pp ルールのボディは、一般に送信元と宛先アドレスの指定を含まなければなりません。 キーワード .Ar any は必須フィールドの内容が重要でないことを指定するために 様々な箇所で使用することができます。 .Pp ルールボディは以下の書式で指定します。 .Bd -ragged -offset indent .Op Ar proto Cm from Ar src Cm to Ar dst .Op Ar options .Ed .Pp 最初の部分 (proto from src to dst) は .Nm ipfw1 との後方互換のためにあります。 .Nm ipfw2 では、任意のマッチパターン (MAC ヘッダ、IPv4 プロトコル、アドレス、ポートを含む) が .Ar options セクションで指定できます。 .Pp ルールフィールドは以下の意味を持ちます。 .Bl -tag -width indent .It Ar proto : protocol | Cm { Ar protocol Cm or ... } .It Ar protocol : Oo Cm not Oc Ar protocol-name | protocol-number IPv4 におけるプロトコル を、数字や名前で指定します (完全なリストは .Pa /etc/protocols を参照して下さい)。 .Cm ip または .Cm all のキーワードを使用すると、すべてのプロトコルがマッチします。 .Pp .Cm { Ar protocol Cm or ... } 書式 .Em ( 論理和ブロック ) は、簡便さのためだけに提供されており、価値が低下しています。 .It Ar src No and Ar dst : Bro Cm addr | Cm { Ar addr Cm or ... } Brc Op Oo Cm not Oc Ar ports 単一のアドレス (またはリスト、後述) で、 オプションとして、その後に .Ar ports 指示子を続けて置くことができます。 .Pp 第 2 の書式 (複数アドレス付きの .Em 論理和ブロック ) は、簡便さのためだけに提供されており、価値が低下しています。 .It Ar addr : Oo Cm not Oc Brq Cm any | me | Ar addr-list | Ar addr-set .It Cm any 任意の IP アドレスがマッチします。 .It Cm me システムのインタフェースに設定された任意の IP アドレスがマッチします。 アドレスのリストはパケットが解析されるときに評価されます。 .It Ar addr-list : ip-addr Ns Op Ns , Ns Ar addr-list .It Ar ip-addr : 次の方法で指定される、ホストもしくはサブネットのアドレス: .Bl -tag -width indent .It Ar numeric-ip | hostname ドットで区切った数字 4 つ組またはホスト名で指定した、 1 つの IPv4 アドレスがマッチします。 ホスト名の名前解決は、そのルールがファイアウォールのリストに 追加されるときに行われます。 .It Ar addr Ns / Ns Ar masklen ベースとなる .Ar addr (ドットで区切った数字 4つ組またはホスト名で指定します) と .Cm masklen ビット幅のマスク に一致する全てのアドレスがマッチします。 例えば、1.2.3.4/25 は 1.2.3.0 から 1.2.3.127 までの 全ての IP アドレスがマッチすることになります。 .It Ar addr Ns : Ns Ar mask ベースアドレスが .Ar addr (ドットで区切った 4 つの数字またはホスト名で指定されます) であり、マスクが .Ar mask (ドットで区切った 4 つの数字で指定されます) である全てのアドレスにマッチします。 例えば、1.2.3.4/255.0.255.0 は、1.*.3.* にマッチします。 この形式は、連続でないマスクの場合にだけ使用することを推奨します。 連続なマスクの場合は、よりコンパクトでより間違いにくい、 .Ar addr Ns / Ns Ar masklen を使います。 .El .It Ar addr-set : addr Ns Oo Ns / Ns Ar masklen Oc Ns Cm { Ns Ar list Ns Cm } .It Ar list : Bro Ar num | num-num Brc Ns Op Ns , Ns Ar list ベースアドレスが .Ar addr (ドットで区切った数字 4つ組またはホスト名で指定します) であり、最後のバイトがブレース {} の中に列挙されている 全てのアドレスがマッチします。 ブレースと数字の間には空白を置いてはいけないことに注意して下さい (コンマの後の空白は許されています)。 リストの要素は、単一項目もしくは範囲が指定可能です。 .Ar masklen フィールドはアドレスのセットのサイズに制限をつけるために使用され、 24 から 32 の間の任意の値をとることができます。 指定されない場合 24 が仮定されます。 .br この書式は 1 つのルールでまばらなアドレス群を取り扱うときに 特に便利です。 ビットマスクを使用してマッチを行うので、 定数時間で処理でき、ルールセットの複雑さが劇的に減少します。 .br 例えば、アドレスを 1.2.3.4/24{128,35-55,89} として指定した場合、 次のアドレスがマッチします: .br 1.2.3.128, 1.2.3.35 to 1.2.3.55, 1.2.3.89 . .It Ar ports : Bro Ar port | port Ns \&- Ns Ar port Ns Brc Ns Op , Ns Ar ports (TCP や UDP などのように) ポート番号をサポートしている プロトコルについて、オプションとして、 .Cm ports を指定することができます。 1 つ以上のポートまたはポートの範囲を空白なしのコンマ区切りで指定します。 さらにオプションとして、 .Cm not オペレータを付加して指定することができます。 記号 .Ql \&- による表現は、ポート範囲 (両端含む) を指定します。 .Pp ポート数値の代わりに (ファイル .Pa /etc/services から取った) サービス名を使用できます。 ポートリストの長さは 30 ポートまたはポート範囲に制限されていますが、 ルールの .Cm options セクションで .Em 論理和ブロック を使用することにより、より広い範囲を指定することができます。 .Pp バックスラッシュ .Pq Ql \e を使用することにより、サービス名中のダッシュ .Pq Ql - 文字をエスケープ可能です (シェルから入力するとき、 シェル自身がエスケープ文字として使用されないようにするために、 バックスラッシュを 2 回タイプしなければなりません)。 .Pp .Dl "ipfw add count tcp from any ftp\e\e-data-ftp to any" .Pp 断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではないもの) は、 1 つ以上のポート指定を持つルールにはマッチしません。 断片化されたパケットへのマッチングに関する詳細は .Cm frag オプションを参照してください。 .El .Ss ルールオプション (マッチパターン) ルール内で追加のマッチパターンを使用することができます。 これらはルール内に 0 個以上置けるので .Em オプション と呼ばれており、オプションで .Cm not オペランドを前置することができ、 .Em 論理和ブロック としてグループ化することが可能です。 .Pp 以下のマッチパターンが使用できます (アルファベット順に並べています)。 .Bl -tag -width indent .It Cm // this is a comment. 指定したテキストを、ルール中にコメントとして挿入します。 // に続くすべてがコメントとして扱われ、ルール中に格納されます。 コメントのみのルールを持つことも可能であり、それは .Cm count アクションに続いてコメントが表示されます。 .It Cm bridged ブリッジされるパケットにのみマッチします。 .It Cm dst-ip Ar ip-address 宛先 IP アドレスが引数で指定したアドレスの 1 つである IP パケットにマッチします。 .It Cm dst-port Ar ports 宛先ポートが引数で指定したポートの 1 つである IP パケットにマッチします。 .It Cm established RST か ACK ビットがセットされている TCP パケットにマッチします。 .It Cm frag IP データグラムのフラグメントであり、かつ、最初のフラグメントでない パケットにマッチします。 これらのパケットは次のプロトコルヘッダ (例えば TCP, UDP) を持たないので、 これらのヘッダを調べるオプションはマッチすることができないことに 注意して下さい。 .It Cm gid Ar group .Ar group によって送信された、またはそれに対して受信された 全ての TCP もしくは UDP パケットにマッチします。 .Ar group は名前か数値で指定することができます。 .It Cm icmptypes Ar types .Ar types で指定したリスト中に存在する ICMP タイプを持つ ICMP パケットにマッチします。 リストはタイプおのおのをコンマで区切ったものです。 .Em 範囲は許されません。 サポートされている ICMP タイプは次の通りです。 .Pp エコー応答 .Pq Cm 0 , 宛先到達不可 .Pq Cm 3 , 発信元抑制 .Pq Cm 4 , リダイレクト .Pq Cm 5 , エコー要求 .Pq Cm 8 , ルータ広告 .Pq Cm 9 , ルータ要請 .Pq Cm 10 , 時間超過 .Pq Cm 11 , IP ヘッダ異常 .Pq Cm 12 , タイムスタンプ要求 .Pq Cm 13 , タイムスタンプ応答 .Pq Cm 14 , インフォメーション要求 .Pq Cm 15 , インフォメーション返答 .Pq Cm 16 , アドレスマスク要求 .Pq Cm 17 , アドレスマスク応答 .Pq Cm 18 .It Cm in | out それぞれ到着または送出パケットにマッチします。 .Cm in と .Cm out は互いに排他的です (実際、 .Cm out は .Cm not in Ns として実装されています)。 .It Cm ipid Ar id-list .Cm ip_id フィールドが .Ar id-list に含まれる IP パケットにマッチします。 .Ar id-list は、単一の値か、 .Ar ports と同等の方法で指定される、値のリストか範囲です。 .It Cm iplen Ar len-list ヘッダとデータを含んだ全体の長さが .Ar len-list に含まれる IP パケットにマッチします。 .Ar len-list は、単一の値か、 .Ar ports と同等の方法で指定される、値のリストか範囲です。 .It Cm ipoptions Ar spec .Ar spec で指定したコンマ区切りリストオプションを含む IP ヘッダを持つ パケットにマッチします。 IP オプションは次のものがサポートされています: .Pp .Cm ssrr (ストリクトソースルーティング), .Cm lsrr (ルーズソースルーティング), .Cm rr (レコードルート), .Cm ts (タイムスタンプ)。 .Ql \&! を置くことで特定のオプションが存在しないという記述ができます。 .It Cm ipprecedence Ar precedence 先行フィールドが .Ar precedence に等しい IP パケットにマッチします。 .It Cm ipsec IPSEC ヒストリを持つパケットにマッチします (すなわち、入力パケットが IPSEC でカプセル化されており、 カーネルが IPSEC と IPSEC_FILTERGIF のオプションをサポートし、 正しくパケットのカプセル化を解除できた場合です)。 .Pp .Cm ipsec を指定することは、 .Cm proto Ar ipsec を指定することとは違います。 何故なら後者は、IPSEC カーネルサポートの有無および IPSEC データの正当性 にかかわらず、特定の IP プロトコルフィールドのみを見るからです。 .It Cm iptos Ar spec .Ar spec で指定したコンマ区切りリストのサービスタイプを含む .Cm tos フィールドを持つ IP パケットにマッチします。 サポートされているサービスの IP タイプは次の通りです。 .Pp .Cm lowdelay .Pq Dv IPTOS_LOWDELAY , .Cm throughput .Pq Dv IPTOS_THROUGHPUT , .Cm reliability .Pq Dv IPTOS_RELIABILITY , .Cm mincost .Pq Dv IPTOS_MINCOST , .Cm congestion .Pq Dv IPTOS_CE 。 .Ql \&! を置くことで特定のオプションが存在しないという記述ができます。 .It Cm ipttl Ar ttl-list 生存時間が .Ar ttl-list に含まれる IP パケットにマッチします。 .Ar ttl-list は、単一の値か、 .Ar ports と同等の方法で指定される、値のリストか範囲です。 .It Cm ipversion Ar ver IP バージョンフィールドが .Ar ver である IP パケットにマッチします。 .It Cm keep-state マッチする際に、ファイアウォールは動的ルールを作成します。 作成されるルールは、デフォルトでは、同じプロトコルを使用している 発信元と宛先 IP/ポート間での双方向のトラフィックにマッチするような 動作となります。 このルールには有限の生存時間 ( .Xr sysctl 8 変数の集合により制御されます) があり、 生存時間はマッチするパケットが見つかるたびにリフレッシュされます。 .It Cm layer2 レイヤ 2 のパケット、 つまり、 ether_demux() と ether_output_frame() から .Nm へ渡されるパケットのみにマッチします。 .It Cm limit Bro Cm src-addr | src-port | dst-addr | dst-port Brc Ar N ファイアウォールは、 このルールで指定したものと同じパラメータの集合を持つ接続を、 .Ar N 個だけ許可します。 1 つ以上の発信元と宛先アドレスおよびポートが指定できます。 .It Cm { MAC | mac } Ar dst-mac src-mac 与えられた .Ar dst-mac アドレスと .Ar src-mac アドレスを持つパケットにマッチします。 アドレスは、 .Cm any キーワード (任意の MAC アドレスにマッチします) または コロンで区切った 16 進数 6 個の組で指定します。 -この 6 個組アドレスの後ろには、オプションとして、次に示すような -(何ビットが重要かを表す) マスクをつけることができます。 +この 6 個組アドレスの後ろには、オプションとして、 +重要なビットを表現するマスクをつけることができます。 +マスクは次のいずれかの方法で指定可能です: +.Bl -enum -width indent +.It +スラッシュ +.Pq / +に続けて、重要なビット数を指定します。 +例えば、重要なビットが 33 ビットであるアドレスは次のように指定します: .Pp .Dl "MAC 10:20:30:40:50:60/33 any" .Pp +.It +アンパサンド +.Pq & +に続けて、 +コロン区切りの 6 組の 16 進数として指定されるビットマスクを指定します。 +例えば、最後の 16 ビットが重要であるアドレスは次のように指定します: +.Pp +.Dl "MAC 10:20:30:40:50:60&00:00:00:00:ff:ff any" +.Pp +多くのシェルでアンパサンド文字は特別な意味を持ちますので、 +普通はエスケープが必要であることに注意してください。 +.Pp +.El MAC アドレスの順序 (宛先が最初で 2 番目に発信元) は 物理的な線上のものと同じですが、 IP アドレスで使用されるものとは反対であることに注意して下さい。 .It Cm mac-type Ar mac-type イーサネットタイプフィールドが 引数で指定したものの 1 つと一致する パケットにマッチします。 .Ar mac-type は .Cm port numbers と同じ方法で指定します (つまり、単一の値または範囲が、1 個以上コンマで区切られたものです)。 .Em vlan , ipv4 , ipv6 のような既知の値に対しては、シンボル名称を使用することができます。 値は 10 進数か 16 進数 (0x が頭につく場合) で入力することができ、 常に 16 進数で出力されます (これは .Cm -N オプションが使用されていない場合です。 .Cm -N オプションが使用されるとシンボル名称の解決が試みられます)。 .It Cm proto Ar protocol 対応する IPv4 のプロトコルを持つパケットがマッチします。 .It Cm recv | xmit | via Brq Ar ifX | Ar if Ns Cm * | Ar ipno | Ar any 指定したインタフェースから 受信したパケット、送信したパケット、通過したパケットが それぞれマッチします。 インタフェースの指定は、正確な名前 .Ns No ( Ar ifX Ns No ) 、 またはデバイス名 .Ns No ( Ar if Ns Ar * Ns No ) 、 IP アドレスで行なうか、 もしくは何らかのインタフェースを通じて行ないます。 .Pp .Cm via キーワードにより、指定したインタフェースが常にチェックされる ことになります。 .Cm recv や .Cm xmit が .Cm via の代わりに使用された場合、 それぞれ、受信インタフェースのみ、または送信インタフェース のみがチェックされます。 両方とも指定した場合、 送信インタフェースと受信インタフェースの両方に基づく パケットのマッチが可能になります。 例えば次のようになります。 .Pp .Dl "ipfw add deny ip from any to any out recv ed0 xmit ed1" .Pp .Cm recv インタフェースは到着または送出パケットのどちらかについて 検査することができますが、 .Cm xmit インタフェースは送出パケットのみについて検査することができます。 したがって .Cm xmit を使用する場合には .Cm out は必須です (そして .Cm in は無効となります)。 .Pp パケットが受信インタフェースや送信インタフェースを持たないことがあります。 ローカルホストから発生したパケットは受信インタフェースを持ちませんし、 ローカルホストに到着する予定のパケットは送信インタフェースを持ちません。 .It Cm setup SYN ビットがセットされているが ACK ビットを持たない TCP パケットにマッチします。 これは .Dq Li tcpflags\ syn,!ack の短縮形です。 .It Cm src-ip Ar ip-address 引数で指定したアドレスの 1 個を発信元 IP として持つ IP パケットがマッチします。 .It Cm src-port Ar ports 引数で指定したポートの 1 個を発信元ポートとして持つ IP パケットがマッチします。 .It Cm tcpack Ar ack TCP パケットのみです。 TCP ヘッダの確認応答番号フィールドが .Ar ack に設定されていればマッチします。 .It Cm tcpflags Ar spec TCP パケットのみです。 TCP ヘッダが .Ar spec で指定したコンマ区切りのフラグのリストを含んでいればマッチします。 サポートされている TCP フラグは次の通りです。 .Pp .Cm fin , .Cm syn , .Cm rst , .Cm psh , .Cm ack , .Cm urg 。 .Ql \&! を置くことで特定のフラグが存在しないという記述ができます。 .Cm tcpflags の指定を含むルールは、0 でないオフセットを持つフラグメントパケットには 決してマッチすることはありえません。 フラグメントパケットのマッチについての詳細は .Cm frag オプションを参照して下さい。 .It Cm tcpseq Ar seq TCP パケットのみです。 TCP ヘッダのシーケンス番号フィールドが .Ar seq に設定されていればマッチします。 .It Cm tcpwin Ar win TCP パケットのみです。 TCP ヘッダのウィンドウフィールドが .Ar win に設定されていればマッチします。 .It Cm tcpoptions Ar spec TCP パケットのみです。 .Ar spec で指定したコンマ区切りのオプションのリストが TCP ヘッダに含まれていればマッチします。 サポートされている TCP オプションは次の通りです。 .Pp .Cm mss (最大セグメントサイズ), .Cm window (TCP ウィンドウ広告), .Cm sack (選択的 ACK), .Cm ts (RFC1323 タイムスタンプ), .Cm cc (RFC1644 T/TCP コネクションカウント)。 .Ql \&! を置くことで特定のオプションが存在しないという記述ができます。 .It Cm uid Ar user .Ar user が送信したまたは受信する、 すべての TCP パケットと UDP パケットにマッチします。 .Ar user は、名前でも ID 番号でもマッチします。 .It Cm verrevpath 内向きパケットに対しては、パケットのソースアドレスに対し、 経路テーブルが検索されます。 パケットがシステムに入って来たインタフェースと、 経路の出力インタフェースがマッチする場合、 パケットはマッチします。 インタフェースがマッチしない場合、パケットはマッチしません。 外向きパケットや、入力インタフェースを持たないパケットは、マッチします。 .Pp このオプションの名称と機能は、意図的に下記 Cisco IOS コマンドと同じです: .Pp .Dl ip verify unicast reverse-path .Pp 本オプションは、対スプーフィングルールを作成するのに使用可能です。 .El .Sh ルールのセット 各ルールは 32 個の異なる .Em セット のひとつに属しています。セットには 0 から 31 までの番号をつけられています。 セット 31 はデフォルトルールのために予約されています。 .Pp デフォルトでは、 新規のルールを入力する際に .Cm set N アトリビュートを使用しなければ、 ルールはセット 0 に置かれます。 セットは個別に、かつ、アトミックに有効化したり無効化したりできるので、 この機構によって、ファイアウォールの設定を複数個格納し、 それらを素早く (かつアトミックに) 切り替えるための方法が 簡単になります。 セットを有効化/無効化するコマンドは次の通りです。 .Bd -ragged -offset indent .Nm .Cm set Oo Cm disable Ar number ... Oc Op Cm enable Ar number ... .Ed .Pp ここでは複数の .Cm enable または .Cm disable セクションが指定可能です。 コマンドで指定したセット全てについて、 コマンドはアトミックに実行されます。 デフォルトでは全てのセットは有効化された状態です。 .Pp セットを無効化すると、ファイアウォールの設定中にそのルールが 存在しないかのように振る舞います。 ただし例外が 1 つだけあります。 .Bd -ragged -offset indent 無効化される以前にルールから生成された動的ルールは、 期限切れとなるまではまだ活動可能な状態です。 動的ルールを削除するためには、 そのルールを生成した親ルールを明示的に削除しなければなりません。 .Ed .Pp ルールのセット番号は次のコマンドで変更できます。 .Bd -ragged -offset indent .Nm .Cm set move .Brq Cm rule Ar rule-number | old-set .Cm to Ar new-set .Ed .Pp また、次のコマンドを使用して 2 つのルールセットを アトミックに入れ換えることができます。 .Bd -ragged -offset indent .Nm .Cm set swap Ar first-set second-set .Ed .Pp ルールのセットの使い方のいくつかは、 .Sx 使用例 セクションを参照して下さい。 .Sh ステートフルファイアウォール ステートフルオペレーションは、 与えられたパターンにマッチするパケットが検出されたときに、 ファイアウォールが特定のフローについてのルールを動的に 作成するための方法です。 ステートフルオペレーションに対するサポートは .Nm ルール の .Cm check-state , keep-state, limit オプションを通じて提供されます。 .Pp 動的ルールが生成されるのは、パケットが .Cm keep-state や .Cm limit ルールにマッチしたときで、その結果、 与えられた .Em protocol を持ち、 .Em src-ip/src-port dst-ip/dst-port のアドレスの組の間のパケット全てのみにマッチする .Em 動的 ルールが生成されます ( .Em src と .Em dst はここでは最初にマッチしたアドレスを区別するためにのみ 使用しています。その後、両者は完全に等価になります)。 動的ルールは最初に .Cm check-state, keep-state, limit が生じたところでチェックされ、 マッチした際に実行されるアクションは親ルールと同じものになります。 .Pp 動的ルールでは、プロトコル、IP アドレス、ポート以外の 属性がチェックされないことに注意して下さい。 .Pp 動的ルールの典型的な使い方は、 ファイアウォールの設定を閉じた状態にしておきつつ、 内部ネットワークからの最初の TCP SYN パケットに、 そのフローに対する動的ルールをインストールさせ、 そのセッションに属するパケットがファイアウォールを 通過できるようにするというものです。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add allow tcp from my-subnet to any setup keep-state" .Dl "ipfw add deny tcp from any to any" .Pp 同様なアプローチが UDP に対しても使えます。 内部から来た UDP パケットに動的ルールをインストールさせ、 その応答がファイアウォールを通過するようにします。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add allow udp from my-subnet to any keep-state" .Dl "ipfw add deny udp from any to any" .Pp 動的ルールは、ある時間の後、期限切れとなります。 その時間は、 フローの状態といくつかの .Cm sysctl 変数の設定に依存します。 詳細はセクション .Sx sysctl 変数 を参照して下さい。 TCP セッションでは、 動的ルールに対し、定期的にキープアライブパケットを送出させるように 指示し、期限切れになる頃にルールの状態をリフレッシュさせることが できます。 .Pp 動的ルールの使用方法に関する他の例は セクション .Sx 使用例 を参照して下さい。 .Sh トラフィックシェイパ (DUMMYNET) 設定 .Nm は、 .Xr dummynet 4 トラフィックシェイパへのユーザインタフェースも提供します。 .Pp .Nm dummynet の動作は、まずファイアウォールを用いてパケットをクラス分けし、 それらを .Em フロー(flow) に分割します。その際に、 .Nm ルールで使用できる如何なるマッチパターンをも使用できます。 ローカルポリシにより、フロー 1 個に TCP コネクション 1 個の パケットを含めることもできますし、指定したホストのパケットでも、 サブネット全体のパケットでも、あるプロトコルタイプのパケットでも 含めることができます。 .Pp 同一のフローに属するパケットは、その後、トラフィックへの制限を 実装する 2つのオブジェクトのいずれか一方に渡されます。 .Bl -hang -offset XXXX .It Em pipe パイプ (pipe) は、指定したバンド幅、伝搬遅延、キューサイズ、 パケット損失率を持つリンク 1 個をエミュレートします。 クラス分けを受けた後、パケットは、パイプに入る前にキューに蓄えられ、 パイプのパラメータに従いパイプ中を伝送されます。 .Pp .It Em queue キュー (queue) は、WF2Q+ (Worst-case Fair Weighed Fair Queueing: 最悪均等重み付け均等待ち行列) ポリシを実装するために用いる抽象化です。 このポリシは、WFQ ポリシの効率的な変種です。 .br キューは .Em 重み (weight) とパイプの参照を、個々のフローに対応付けます。 同じパイプに結合されバックログを持つ (キューにパケットがある) フロー全てで、それぞれの重みに比例してそのパイプのバンド幅を 山分けします。 重みは優先度ではないことに注意して下さい。大きい重みを持つフローが ずっとバックログを抱えていたとしても、それより軽い重みを持つ フローも、バンド幅を自分の割合の分は得ることは保証されます。 .Pp .El 実際の使い方として、 .Em pipe を使い、フローが取り得るバンド幅にハードリミットを設けることができます。 一方で、 .Em queue を使い、異なるフローがどのようにして利用可能なバンド幅を山分けするかを 決定することができます。 .Pp .Em pipe と .Em queue の設定コマンドは次の通りです。 .Bd -ragged -offset indent .Cm pipe Ar number Cm config Ar pipe-configuration .Pp .Cm queue Ar number Cm config Ar queue-configuration .Ed .Pp 次のパラメータをパイプに対して設定可能です。 .Pp .Bl -tag -width indent -compact .It Cm bw Ar bandwidth | device バンド幅で、単位は .Sm off .Op Cm K | M .Brq Cm bit/s | Byte/s .Sm on です。 .Pp 値 0 (デフォルト) は無限のバンド幅を意味します。 単位は、次の .Pp .Dl "ipfw pipe 1 config bw 300Kbit/s" .Pp のように、数値の直後に続けて書く必要があります。 次の .Pp .Dl "ipfw ipie 1 config bw tun0" .Pp のように、数値の代りにデバイス名を指定した場合、 送信クロックは指定したデバイスから与えられます。 現在のところ、 .Xr tun 4 デバイスのみがこの機能を提供しており、 .Xr ppp 8 と組み合わせて使用します。 .Pp .It Cm delay Ar ms-delay 伝達遅延時間であり、ミリ秒単位で指定します。 値は、クロックティックの倍数 (典型的には 10ms ですが、 カーネルを .Dq "options HZ=1000" で動作させて精度を 1ms かそれ以下にすると良い ことが経験的に知られています) に丸められます。 デフォルト値は 0 であり、遅延無しを意味します。 .El .Pp 次のパラメータをキューに対して設定できます。 .Pp .Bl -tag -width indent -compact .It Cm pipe Ar pipe_nr キューを指定したパイプに接続します。 複数のキュー (同じ重みの場合も異なる重みの場合もあります) を同一のパイプに接続することができます。 パイプはキューの集合に対する集約されたレートを指定します。 .Pp .It Cm weight Ar weight このキューにマッチするフローに適用する重みを指定します。 重みは 1 から 100 の範囲でなければならず、 デフォルトは 1 です。 .El .Pp 最後に、次のパラメータをパイプやキューに対して設定できます。 .Pp .Bl -tag -width XXXX -compact .Pp .It Cm buckets Ar hash-table-size 様々なキューを格納するハッシュ表のサイズを指定します。 デフォルトは 64 で、 .Xr sysctl 8 変数 .Em net.inet.ip.dummynet.hash_size によって制御されます。 指定可能な範囲は 16 から 65536 までです。 .Pp .It Cm mask Ar mask-specifier .Nm ルールにより 指定したパイプもしくはキューに対して送られたパケットを、さらに 複数のフローにクラス分けすることができます。その後、それぞれの パケットは、異なる .Em 動的な パイプもしくはキューに送られます。 フロー識別子は、パイプもしくはキューの設定中の .Cm mask オプションの指定に応じて IP アドレス、ポート、プロトコルタイプをマスクすることにより 構築されます。 異なるフロー識別子それぞれに対し、新しいパイプもしくはキューが 元となるオブジェクトと同一のパラメータとともに生成され、 マッチするパケットがそこに送られます。 .Pp このようにして、 .Em 動的パイプ を使用するとき、フローそれぞれはパイプで指定したものと 同じバンド幅を得ます。一方、 .Em 動的キュー を使用する時、フローそれぞれは、同じキューにより生成された 他のフローと、親パイプのバンド幅を均等に山分けします (異なる重みを 持つ他のキューが同じパイプに接続される場合があることに 注意して下さい)。 .br 使用可能なマスク指定子は、次を組み合わせたものです。 .Pp .Cm dst-ip Ar mask , .Cm src-ip Ar mask , .Cm dst-port Ar mask , .Cm src-port Ar mask , .Cm proto Ar mask , .Cm all .Pp 最後の指定子は、 すべてのフィールドのすべてのビットが検査されることを意味しています。 .Pp .It Cm noerror パケットが dummynet のキューやパイプによって落されたとき、 通常は、 デバイスキューが一杯になったときに生じるのと同様な形で、 エラーがカーネル内の呼び出し元ルーチンに報告されます。 このオプションを設定すると、 パケットの配送に成功したかのように報告されます。 これは、 遠隔地にあるルータでの損失や輻輳をシミュレートしたいという 一部の実験的な設定のために必要とされています。 .Pp .It Cm plr Ar packet-loss-rate パケットの損失率です。 引数 .Ar packet-loss-rate は 0 から 1 までの浮動小数点数で、 0 は損失がないことを、1 は 100% 失われることを意味します。 損失率は内部的には 31 ビットで表現されています。 .Pp .It Cm queue Brq Ar slots | size Ns Cm Kbytes スロット数 .Ar slots または .Cm KBytes で表したキューのサイズです。 デフォルトは 50 スロットで、 これはイーサネットデバイスにおける典型的なキューのサイズです。 低速リンクのためにキューのサイズを小さいままにしておくことが推奨されます。 そうしないとキューの遅延がトラフィックに及ぼす影響が 著しくなるかもしれません。 例えば、最大サイズのイーサネットパケット (1500 バイト) が 50 個のとき、 600Kbit、 つまり 30Kbit/秒 のパイプで 20 秒ということになります。 それよりもずっと大きな MTU を持ったインタフェース (例えばループバックインタフェースは 16KB パケットです) からパケットを受け取る場合、さらに悪い結果となることがあります。 .Pp .It Cm red | gred Ar w_q Ns / Ns Ar min_th Ns / Ns Ar max_th Ns / Ns Ar max_p RED (Random Early Detection) キュー管理アルゴリズムを使用します。 .Ar w_q と .Ar max_p は 0 から 1 (0 を含みません) の範囲の浮動小数点数であり、 .Ar min_th と .Ar max_th はキュー管理用の閾値を指定する整数です (キューがバイト数で指定された場合は閾値はバイトで計算され、 そうでない場合はスロット数で計算されます)。 .Xr dummynet 4 は、gentle RED という変型 (gred) もサポートします。 RED の動作を制御するために、3 個の .Xr sysctl 8 変数を使用可能です。 .Bl -tag -width indent .It Em net.inet.ip.dummynet.red_lookup_depth リンクがアイドルの時の、平均キューの計算精度を指定します (デフォルトは 256 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_avg_pkt_size パケットサイズの平均の期待値を指定します (デフォルトは 512 であり、0 より大きい必要があります) .It Em net.inet.ip.dummynet.red_max_pkt_size パケットサイズの最大値の期待値を指定します。 キューの閾値がバイトの場合のみ使用されます (デフォルトは 1500 であり、0 より大きい必要があります) .El .El .Sh チェックリスト ルールを構成する際に考慮すべき重要な点をいくつか述べます。 .Bl -bullet .It かならず送信パケットと受信パケットの両方のパケットをフィルタリングします。 ほとんどのネットワークコネクションではパケットが双方向に流れることが必要です。 .It テストは細心の注意を払って行ないます。テストの際にはコンソールの近くにいる のがよいでしょう。 コンソールに近寄れない場合、 .Pa /usr/share/examples/ipfw/change_rules.sh にあるような自動回復スクリプトを使用してください。 .It ループバックインタフェースのことを忘れてはなりません。 .El .Sh 細かい事柄 .Bl -bullet .It フラグメント化されたデータグラムが無条件で破棄される状況があります。 TCP パケットは、最低 20 バイトの TCP ヘッダを含まない場合、破棄されます。 UDP パケットは、完全な 8 バイトの UDP ヘッダを含まない場合、破棄されます。 ICMP パケットは、4 バイトの ICMP ヘッダ、 すなわち ICMP タイプとコードとチェックサムを含まない場合、破棄されます。 これらのパケットは、単に .Dq pullup failed としてログされます。 何故なら、パケット中に有意なログエントリを生成するだけの有用なデータが 含まれないかもしれないためです。 .It 無条件で破棄されるもう 1 種類のパケットは、 フラグメントオフセットが 1 の TCP パケットフラグメントです。 これはパケットとしては有効なものですが、利用目的はファイアウォールを かいくぐることしかありません。 ログが有効な場合、 これらのパケットはルール -1 により破棄されたと報告されます。 .It ネットワーク越しにログインしている場合、 .Xr kld 4 バージョンの .Nm をロードすることはそれほど単純なことではありません。 以下のコマンドを奨めます。 .Bd -literal -offset indent kldload ipfw && \e ipfw add 32000 allow ip from any to any .Ed .Pp これに引続き、同じような状況で .Bd -literal -offset indent ipfw flush .Ed .Pp とするのは良くありません。 .It システムセキュリティレベルが 3 以上に設定されている場合、 .Nm フィルタリストを変更できません (システムセキュリティレベルについては .Xr init 8 を参照してください)。 .El .Sh パケットの行き先変更 指定されたポートにバインドされた .Xr divert 4 ソケットは、 そのポートへ行き先変更されたパケットを、 全部受けとります。 宛先ポートにバインドされたソケットがない場合や、 カーネルがパケットの行き先変更ソケットをサポートするようには コンパイルされていない場合、 パケットは破棄されます。 .Sh SYSCTL 変数 .Xr sysctl 8 変数の集合は、ファイアウォールと 関連するモジュール ( .Nm dummynet, bridge ) の動作を制御します。 デフォルト値と意味と共に、これらを以下に列挙します (どの値が実際に使用されるかは .Xr sysctl 8 で確認してください)。 .Bl -tag -width indent .It Em net.inet.ip.dummynet.expire : No 1 未処理のトラフィックを持たない動的パイプ/キューを怠惰に削除します。 この変数を 0 に設定することでこの動作を無効にすることができます。 この場合、パイプ/キューは閾値に達した場合にのみ削除されることになります。 .It Em net.inet.ip.dummynet.hash_size : No 64 動的パイプ/キューに使用されるハッシュ表のデフォルトの大きさです。 この値はパイプ/キューを設定するときに .Cm buckets オプションが指定されなかった場合に使用されます。 .It Em net.inet.ip.dummynet.max_chain_len : No 16 ハッシュバケット (hash bucket) 内のパイプ/キューの最大個数の値です。 .Cm net.inet.ip.dummynet.expire=0 であっても、積 .Cm max_chain_len*hash_size が空のパイプ/キューが期限切れになったとする閾値を決定するのに使用されます。 .It Em net.inet.ip.dummynet.red_lookup_depth : No 256 .It Em net.inet.ip.dummynet.red_avg_pkt_size : No 512 .It Em net.inet.ip.dummynet.red_max_pkt_size : No 1500 RED アルゴリズムで使う損失確率の計算に使用されるパラメータです。 .It Em net.inet.ip.fw.autoinc_step : No 100 ルール番号を自動生成する際のルール番号間の増分です。 この値は 1 から 1000 の範囲でなければなりません。 この変数は .Nm ipfw2 にのみ存在し、 .Nm ipfw1 では差分は 100 に固定されています。 .It Em net.inet.ip.fw.curr_dyn_buckets : Em net.inet.ip.fw.dyn_buckets 動的ルールのハッシュ表内の現在のバケットの個数です (読み出しのみ可能)。 .It Em net.inet.ip.fw.debug : No 1 .Nm が生成するデバッグメッセージを制御します。 .It Em net.inet.ip.fw.dyn_buckets : No 256 動的ルールで使用されるハッシュ表に含まれるバケットの個数です。 2 の累乗でなければならず、上限は 65536 です。 全ての動的ルールが期限切れとなったときにのみ効果が現れるので、 確実にハッシュ表のサイズが変更されるようにするには .Cm flush コマンドを使用するべきでしょう。 .It Em net.inet.ip.fw.dyn_count : No 3 現在の動的ルールの数です (読み込み専用)。 .It Em net.inet.ip.fw.dyn_keepalive : No 1 TCP セッションにおいて .Cm keep-state ルールのためのキープアライブパケットを生成するようにします。 キープアライブパケットは ルールの生存時間が残り 20 秒となったときに 接続の両端に向けて 5 秒毎に 生成されます。 .It Em net.inet.ip.fw.dyn_max : No 8192 動的ルールの最大値です。この限界にいきつくと、 古いルールが無効になるまでは、それ以上、動的ルールを 組み込むことはできません。 .It Em net.inet.ip.fw.dyn_ack_lifetime : No 300 .It Em net.inet.ip.fw.dyn_syn_lifetime : No 20 .It Em net.inet.ip.fw.dyn_fin_lifetime : No 1 .It Em net.inet.ip.fw.dyn_rst_lifetime : No 1 .It Em net.inet.ip.fw.dyn_udp_lifetime : No 5 .It Em net.inet.ip.fw.dyn_short_lifetime : No 30 これらの値は、動的ルールの生存時間を秒単位でコントロールします。 最初の SYN 交換の際には生存時間が短期 (short) になり、 その後互いの SYN が検出された後は増加させられ、 最後の FIN 交換の間、 または RST を受信した際に再び減らされます。 .Em dyn_fin_lifetime および .Em dyn_rst_lifetime は厳密に 5 秒 (キープアライブを繰り返す周期) より短くなければなりません。 ファイアウォールではこれが強制されます。 .It Em net.inet.ip.fw.enable : No 1 ファイアウォールを有効にします。 この変数を 0 に設定すると、 マシンがコンパイル時に有効の設定がされている場合であっても、 ファイアウォールがない状態で実行されます。 .It Em net.inet.ip.fw.one_pass : No 1 設定されている場合、 .Xr dummynet 4 パイプから出てくるパケットは 再度ファイアウォールを通過することはありません。 そうでない場合、 パイプアクションの後、 パケットは次のルールでファイアウォールに再注入されます。 .It Em net.inet.ip.fw.verbose : No 1 冗長メッセージを有効にします。 .It Em net.inet.ip.fw.verbose_limit : No 0 冗長出力を行うように設定されたファイアウォールが 生成するメッセージ数を制限します。 .It Em net.link.ether.ipfw : No 0 .Nm がレイヤ 2 パケットを通すかどうかを制御します。 デフォルトは no です。 .It Em net.link.ether.bridge_ipfw : No 0 .Nm がブリッジされたパケットを通すかどうかを制御します。 デフォルトは no です。 .El .Sh FreeBSD-STABLE で IPFW2 を使う .Nm ipfw2 は、 .Fx CURRENT で標準となっていますが、 .Fx STABLE では、 カーネルを .Cm options IPFW2 を付けてコンパイルし、 .Nm /sbin/ipfw と .Nm /usr/lib/libalias を .Cm -DIPFW2 を付け (buildworld の前に .Nm /etc/make.conf に .Cm IPFW2=TRUE を追加しておくことで同じ効果を得ることができます) 再コンパイル、再インストールしない限り、 今でも .Nm ipfw1 を使用します。 .Pp .Sh IPFW2 拡張 このセクションでは .Nm ipfw2 で導入され、 .Nm ipfw1 には存在しなかった機能の一覧を示します。 ここではルールセットを記述する際に影響が大きいと思われる順に示します。 より効果的なやり方でルールセットを記述するために これらの機能を使用したいと思うかもしれません。 .Bl -tag -width indent .It 文法とフラグ .Nm ipfw1 は、 .Fl n フラグ (文法チェックのみ) をサポートしませんし、 コンマの後の空白をサポートしませんし、 単一引数中での全ルールフィールドをサポートしません .It 非 IPv4 のパケットの取り扱い .Nm ipfw1 は全ての非 IPv4 パケットを黙って受け付けます ( .Nm ipfw1 は .Em net.link.ether.bridge_ipfw=1 Ns の場合にのみ非 IPv4 パケットを参照します)。 .Nm ipfw2 は 全てのパケット (非 IPv4 パケットを含む) を ルールセットにしたがってフィルタします。 .Nm ipfw1 と同じような動作をさせたい場合は ルールセットの先頭で次のようにします。 .Pp .Dl "ipfw add 1 allow layer2 not mac-type ip" .Pp .Cm layer2 オプションは冗長であるように見えますが、必要です。 レイヤ 3 からファイアウォールを通るパケットは MAC ヘッダを持たないので、 .Cm mac-type ip パターンはレイヤ3のパケットに対して常に失敗します。 つまり、 .Cm not オペレータをおくと全てを通過させるルールになってしまいます。 .It 宛先 .Nm ipfw1 はアドレスセットや宛先リストをサポートしていません。 .Pp .It ポートの指定 .Nm ipfw1 では TCP と UDP のポートを指定する際に 指定できるポート範囲は 1 つだけでした。 また、 .Nm ipfw2 で 15 エントリ可能であるのに対し、10 エントリに制限されていました。 また、 .Nm ipfw1 では .Cm tcp または .Cm udp パケットを要求するルールの場合に限って ポートを指定することが可能です。 .Nm ipfw2 では全てのパケットにマッチさせるルールでポートの指定を行うことが可能で、 マッチはポート識別子を含んだプロトコルを運ぶパケットのみに適用されます。 .Pp 最後に、 .Nm ipfw1 では 最初のポートエントリを .Ar port:mask と指定することができました。 ここで .Ar mask は任意の 16 ビットマスクが使用可能です。 この文法が有用であるかどうかは疑問なので .Nm ipfw2 ではもはやサポートされていません。 .It 論理和ブロック .Nm ipfw1 は論理和ブロックをサポートしていません。 .It キープアライブ .Nm ipfw1 は状態依存セッションのためのキープアライブを生成しません。 結果として、 休止状態のセッションは 動的ルールの生存時間が期限切れとなるために 落されることがあります。 .It ルールセット .Nm ipfw1 はルールセットを実装していません。 .It MAC ヘッダによるフィルタとレイヤ 2 のファイアウォール .Nm ipfw1 は MAC ヘッダフィールドによるフィルタを実装していませんし、 .Cm ether_demux() と .Cm ether_output_frame() からのパケットによっても起動しません。 sysctl 変数 .Em net.link.ether.ipfw はここでは何の効果もありません。 .It オプション .Nm ipfw1 では、次のオプションは単一値のみ受け付けます: .Pp .Cm ipid, iplen, ipttl .Pp 次のオプションは .Nm ipfw1 では実装されていません: .Pp .Cm dst-ip, dst-port, layer2, mac, mac-type, src-ip, src-port .Pp さらに、次のオプションは RELENG_4 の .Nm ipfw1 では実装されていません: .Pp .Cm ipid, iplen, ipprecedence, iptos, ipttl, .Cm ipversion, tcpack, tcpseq, tcpwin .It dummynet オプション .Nm dummynet パイプ/キュー用の次のオプションはサポートされていません。 .Pp .Cm noerror .El .Sh 使用例 .Nm はあまりにも多くの使用方法があるので このセクションでは使用例のほんの一部を示すのみにしておきます。 .Pp .Ss 基本的なパケットフィルタリング 次のコマンドは .Em cracker.evil.org から .Em wolf.tambov.su の telnet ポートへ送られるすべての TCP パケットを拒否するルールを追加します。 .Pp .Dl "ipfw add deny tcp from cracker.evil.org to wolf.tambov.su telnet" .Pp 次のコマンドはクラッカーのネットワーク全体からホスト my への すべてのコネクションを拒否します。 .Pp .Dl "ipfw add deny ip from 123.45.67.0/24 to my.host.org" .Pp 最初に効率良く (動的ルールを用いずに) アクセスを制限する方法は、 次のルールを用いることです。 .Pp .Dl "ipfw add allow tcp from any to any established" .Dl "ipfw add allow tcp from net1 portlist1 to net2 portlist2 setup" .Dl "ipfw add allow tcp from net3 portlist3 to net3 portlist3 setup" .Dl "..." .Dl "ipfw add deny tcp from any to any" .Pp 最初のルールは通常の TCP パケットにすぐにマッチしますが、 最初の SYN パケットにはマッチしません。 指定した発信元/宛先の組の SYN パケットのみ、次の .Cm setup ルールにマッチします。これら以外の SYN パケットは、最後の .Cm deny ルールにより却下されます。 .Pp もし、1 つ以上のサブネットの管理者なら、 .Nm ipfw2 の文法の利点を活用して アドレスセットと論理和ブロックを指定することで、 次のように、 クライアントのブロックにサービスを選択的に利用可能とする 極めてコンパクトなルールセットを記述することができます。 .Pp .Dl "goodguys=\*q{ 10.1.2.0/24{20,35,66,18} or 10.2.3.0/28{6,3,11} }\*q" .Dl "badguys=\*q10.1.2.0/24{8,38,60}\*q" .Dl "" .Dl "ipfw add allow ip from ${goodguys} to any" .Dl "ipfw add deny ip from ${badguys} to any" .Dl "... normal policies ..." .Pp .Nm ipfw1 の文法では、 上の例では各 IP に別々のルールを用意する必要があります。 .Pp .Cm verrevpath オプションを使用し、下記をルールセットの先頭に置くことで、 自動的な対スプーフィングが可能になります: .Pp .Dl "ipfw add deny ip from any to any not verrevpath in" .Pp このルールは、変なインタフェースからシステムに来たように見える 内向きパケットをすべて落とします。 例えば、保護された内部ネットワーク上のホストに属するソースアドレスを持つ パケットは、外部インタフェースからシステムに入ろうとした場合、落とされます。 .Ss 動的ルール にせの TCP パケットを含む怒涛の攻撃 (flood attack) から サイトを保護するために、次の動的ルールを用いた方が安全です。 .Pp .Dl "ipfw add check-state" .Dl "ipfw add deny tcp from any to any established" .Dl "ipfw add allow tcp from my-net to any setup keep-state" .Pp これらのルールにより、ファイアウォールは、自分たちのネットワークの 内側から到着する通常の SYN パケットで始まるコネクションに対して のみ動的ルールを組み込みます。動的ルールは、最初の .Cm check-state ルール、または、 .Cm keep-state ルールに遭遇した時点でチェックされます。 ルールセットのスキャン量を最小にするために、 .Cm check-state ルールは、ルールセットの最初のほうに置くことになるのが普通です。 実際の燃費は変動します。 .Pp ユーザが開ける接続数を制限するには、次のタイプのルールを使用可能です。 .Pp .Dl "ipfw add allow tcp from my-net/24 to any setup limit src-addr 10" .Dl "ipfw add allow tcp from any to me setup limit src-addr 4" .Pp 前者 (ゲートウェイ上で動作することを仮定) は、/24 ネット上の各ホストが 最大 10 個の TCP 接続を開くことを許します。 後者は、サーバ上に設定可能であり、 単一のクライアントが同時に 4 個を越える接続を使用できないようにします。 .Pp .Em 注意 : ステートフルなルールは、怒涛の SYN 攻撃により極めて大量の動的ルールを 作ってしまい、サービス不能攻撃を受けることになる可能性があります。 ファイアウォールの動作をコントロールする .Xr sysctl 8 変数に従いファイアウォールが動作することによって、 このような攻撃の影響を部分的にでも制限することはできます。 .Pp ここで、カウントされている情報とタイムスタンプ情報を見る .Cm list コマンドのよい例を示します。 .Pp .Dl ipfw -at list .Pp これはタイムスタンプを省略して次のように指定できます。 .Pp .Dl ipfw -a list .Pp これは次の指定と等価です。 .Pp .Dl ipfw show .Pp 次のルールは 192.168.2.0/24 からのすべての受信パケットを、5000 番のポートに 行き先変更するものです。 .Pp .Dl ipfw divert 5000 ip from 192.168.2.0/24 to any in .Pp .Ss トラフィックシェイパ 次のルールは、 .Nm と .Xr dummynet 4 をシミュレーションなどで使う際の使用方法を示しています。 .Pp このルールは 5% の確率でランダムにパケットを落します。 .Pp .Dl "ipfw add prob 0.05 deny ip from any to any in" .Pp 同様の効果は dummynet パイプで実現可能です。 .Pp .Dl "ipfw add pipe 10 ip from any to any" .Dl "ipfw pipe 10 config plr 0.05" .Pp 人工的にバンド幅を制限するためにパイプを使用可能です。 例えばルータとして動作するマシン上で、 192.168.2.0/24 上のローカルクライアントからのトラフィックを制限したい場合、 次のようにします。 .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw pipe 1 config bw 300Kbit/s queue 50KBytes" .Pp .Cm out 指示子を使用して、ルールが 2 度使われないようにしていることに 注意してください。 .Nm ルールは、実際には、 入力パケットと出力パケットの両方に適用されることを覚えておいてください。 .Pp バンド幅に制限がある双方向リンクをシミュレートする場合、 正しい方法は次の通りです。 .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config bw 64Kbit/s queue 10Kbytes" .Dl "ipfw pipe 2 config bw 64Kbit/s queue 10Kbytes" .Pp 例えば、あなたの装飾的なウェブページが 低速リンクのみで接続されている在宅ユーザにどう見えているか 知りたい場合などに、 上述の方法は非常に有用かもしれません。 半二重メディア (例えば appletalk, Ethernet, IRDA) をシミュレートしたい 場合を除き、単一のパイプを両方の方向に使用すべきではありません。 両方のパイプが同じ設定である必要はないので、 非対称リンクもシミュレート可能です。 .Pp RED キュー管理アルゴリズムを使用してネットワーク性能を検証するには、 次のようにします。 .Pp .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config bw 500Kbit/s queue 100 red 0.002/30/80/0.1" .Pp トラフィックシェイパの他の典型的な応用は、 いくばくかの通信遅延を導入することです。 これは、バンド幅よりも接続のラウンドトリップ時間が制約要因となる ことがしばしばという状況下で、 遠隔手続き呼び出しを多用するアプリケーションに対し 非常に大きな影響を与えます。 .Pp .Dl "ipfw add pipe 1 ip from any to any out" .Dl "ipfw add pipe 2 ip from any to any in" .Dl "ipfw pipe 1 config delay 250ms bw 1Mbit/s" .Dl "ipfw pipe 2 config delay 250ms bw 1Mbit/s" .Pp フローごとのキューはさまざまな用途に有用です。 非常に単純な用途は、トラフィックの集計です。 .Pp .Dl "ipfw add pipe 1 tcp from any to any" .Dl "ipfw add pipe 1 udp from any to any" .Dl "ipfw add pipe 1 ip from any to any" .Dl "ipfw pipe 1 config mask all" .Pp 上述のルールセットは、 すべてのトラフィックに対するキューを生成 (して統計情報を収集) します。 パイプには制限をつけていないので、統計情報を集める効果しかありません。 最後のルールだけでなく 3 個のルールが必要なことに注意してください。 .Nm が IP パケットのマッチを試みるときにポートを考慮しないため、 別々のポート上の接続が違うものとして見えません。 .Pp より洗練された例は、 ネットワークの出力トラフィックを、 ネットワーク毎に制約するのではなく、ホスト毎に制約するものです。 .Pp .Dl "ipfw add pipe 1 ip from 192.168.2.0/24 to any out" .Dl "ipfw add pipe 2 ip from any to 192.168.2.0/24 in" .Dl "ipfw pipe 1 config mask src-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Dl "ipfw pipe 2 config mask dst-ip 0x000000ff bw 200Kbit/s queue 20Kbytes" .Ss ルールセット ルールセットをアトミックに追加するには、 例えばセット 18 なら、次のようにします。 .Pp .Dl "ipfw set disable 18" .Dl "ipfw add NN set 18 ... # 必要に応じて繰り返す" .Dl "ipfw set enable 18" .Pp ルールセットをアトミックに削除するには、単に次のコマンドでよいです。 .Pp .Dl "ipfw delete set 18" .Pp ルールセットのテストを行ったり、 何か間違いがあった場合にルールセットを削除して制御を回復するには、 次のようにします。 .Pp .Dl "ipfw set disable 18" .Dl "ipfw add NN set 18 ... # 必要に応じて繰り返す" .Dl "ipfw set enable 18; echo done; sleep 30 && ipfw set disable 18" .Pp ここで各設定がうまくいった場合、 \&"sleep" が終了する前に control-C を押すと、 ルールセットは活動状態のままとなります。 そうでない場合、 たとえ箱にアクセスすることができなかったとしても、 ルールセットは sleep が終了した後で無効な状態になるので 以前の状態が復元されます。 .Sh 関連項目 .Xr cpp 1 , .Xr m4 1 , .Xr bridge 4 , .Xr divert 4 , .Xr dummynet 4 , .Xr ip 4 , .Xr ipfirewall 4 , .Xr protocols 5 , .Xr services 5 , .Xr init 8 , .Xr kldload 8 , .Xr reboot 8 , .Xr sysctl 8 , .Xr syslogd 8 .Sh バグ 年月とともに文法が大きくなり、ときどき訳がわからないところも あるかもしれません。 不幸にして、後方互換性のために昔しでかした文法定義の誤りを 訂正できないでいます。 .Pp .Em !!! 警告 !!! .Pp ファイアウォールを誤って設定するとコンピュータが 使用不能な状態になり、 ことによると、ネットワークサービスを停止させてしまい、 制御を回復するためにコンソールアクセスが必要となってしまう 可能性があります。 .Pp .Cm divert によって行き先を変更されるか .Cm tee された、入ってきたパケットの断片 (フラグメント) は、 ソケットに配送される前に再構成されます。 これらのパケットで使用されるアクションは パケットの最初のフラグメントにマッチしたルールのものです。 .Pp .Cm tee ルールにマッチするパケットは、 即時に受理されるべきではなく、ルールリストを更に通るべきです。 これは、以降のバージョンで修正されるかもしれません。 .Pp ユーザランドへ向けられ、 ユーザランドのプロセス によって再投入されるパケットは、 パケットの発信元インタフェースを含む パケット属性のいろいろを失っています。 パケットの始点インタフェース名は、8 バイト未満であって、 ユーザランドのプロセスが保存しこれを sockaddr_in で再使用するのであれば、 保持されます .Xr ( natd 8 はそうします)。 さもなくば、この情報は失われます。 パケットがこの方法で再投入された場合、 後のルールは正しく適用されないかもしれません。 ルールの並びにおける .Cm divert ルールの順序は非常に重要なものとなります。 .Sh 作者 .An Ugen J. S. Antsilevich , .An Poul-Henning Kamp , .An Alex Nash , .An Archie Cobbs , .An Luigi Rizzo . .Pp .An -nosplit API は .An Daniel Boulet が BSDI 用に記述したコードに基づいています。 .Pp .Xr dummynet 4 トラフィックシェイパは Akamba Corp. がサポートしました。 .Sh 歴史 .Nm は、 .Fx 2.0 で最初に現れました。 .Xr dummynet 4 は .Fx 2.2.8 から導入されました。 ステートフル拡張は、 .Fx 4.0 から導入されました。 .Nm ipfw2 は 2002 年夏に導入されました。 diff --git a/ja_JP.eucJP/man/man8/isdndebug.8 b/ja_JP.eucJP/man/man8/isdndebug.8 index c235fd2dd0..1445ece2bc 100644 --- a/ja_JP.eucJP/man/man8/isdndebug.8 +++ b/ja_JP.eucJP/man/man8/isdndebug.8 @@ -1,110 +1,110 @@ .\" .\" Copyright (c) 1997, 2000 Hellmuth Michaelis. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $Id: isdndebug.8,v 1.14 2002-12-16 03:22:09 horikawa Exp $ +.\" $Id: isdndebug.8,v 1.15 2003-10-13 02:42:27 horikawa Exp $ .\" -.\" %FreeBSD: src/usr.sbin/i4b/isdndebug/isdndebug.8,v 1.16 2002/07/14 14:43:15 charnier Exp % +.\" %FreeBSD: src/usr.sbin/i4b/isdndebug/isdndebug.8,v 1.17 2003/09/14 13:41:58 ru Exp % .\" .\" last edit-date: [Wed May 31 10:15:07 2000] .\" .\" $FreeBSD$ .Dd May 29, 1999 .Dt ISDNDEBUG 8 .Os .Sh 名称 .Nm isdndebug .Nd isdn4bsd カーネル変数と統計情報の表示と制御 .Sh 書式 .Nm .Op Fl c .Op Fl e .Op Fl g .Op Fl l Ar layer .Op Fl m .Op Fl q .Op Fl r .Op Fl s Ar value .Op Fl u Ar unit .Op Fl z .Op Fl C .Op Fl Q .Sh 解説 .Nm ユーティリティは isdn4bsd パッケージの一部であり、 isdn4bsd カーネル部分のデバッグ出力レベルを制御するのに使われます。 isdn4bsd カーネルの各レイヤは、 本ユーティリティを用いて操作できるデバッグマスクを使います。 .Pp .Nm の第 2 の用途はチップセット固有のエラーカウンタの表示とリセットと、 D チャネルレイヤ 2 (Q.921 LAPD プロトコル) の統計情報とエラーカウンタの 表示とリセットです。 .Pp 次のオプションが利用可能です: .Bl -tag -width Ds .It Fl c チップセット固有の統計情報やエラーカウンタを表示します。 .It Fl e 選択したレイヤのデバッグマスクを、エラーのみ表示するように設定します。 .It Fl g 選択したレイヤのデバッグマスクを取得します。 .It Fl l コマンドを適用するレイヤを指定します。 デフォルトではすべてのレイヤに適用します。 .It Fl m 選択したレイヤのデバッグマスクを、 起こりうるデバッグメッセージすべてを表示するように設定します (最大の出力)。 .It Fl q Q.921 (D チャネルレイヤ 2) フレームの受信/送信の統計情報を表示します。 .It Fl r 選択したレイヤのデバッグマスクを コンパイル時のデフォルトに設定します (リセット)。 .It Fl s 選択したレイヤのデバッグマスクを value に設定します。value には .Xr sscanf 3 がサポートする基数のいずれでも指定できます。 .It Fl u フラグ -c, -q, -C, -Q の単位量を設定します。 .It Fl z 選択したレイヤのデバッグマスクを、何も出力しないように設定します (0)。 .It Fl H チップセット固有の統計情報およびエラーカウンタを 0 にリセットします。 .It Fl Q Q.921 (D チャネルレイヤ 2) フレームの受信/送信の統計情報を、 0 にリセットします。 .El .Sh 関連ファイル /dev/i4bctl .Sh 使用例 コマンド: .Bd -literal -offset indent isdndebug -g .Ed .Pp は、すべての ISDN レイヤの現在のデバッグレベルを表示します。 .Sh 作者 .Nm ユーティリティと本マニュアルページは .An Hellmuth Michaelis Aq hm@kts.org が作成しました。 diff --git a/ja_JP.eucJP/man/man8/mk-amd-map.8 b/ja_JP.eucJP/man/man8/mk-amd-map.8 index f35f0f97f0..8920e3d7e5 100644 --- a/ja_JP.eucJP/man/man8/mk-amd-map.8 +++ b/ja_JP.eucJP/man/man8/mk-amd-map.8 @@ -1,65 +1,65 @@ .\" -.\" Copyright (c) 1997-1999 Erez Zadok +.\" Copyright (c) 1997-2003 Erez Zadok .\" Copyright (c) 1993 Jan-Simon Pendry .\" 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 acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" from: @(#)mk-amd-map.8 8.1 (Berkeley) 6/28/93 -.\" %Id: mk-amd-map.8,v 1.2 1999/01/10 21:54:41 ezk Exp % -.\" %FreeBSD: src/contrib/amd/mk-amd-map/mk-amd-map.8,v 1.4 2001/07/10 10:40:02 ru Exp % +.\" $Id: mk-amd-map.8,v 1.11 2003-10-13 02:42:27 horikawa Exp $ +.\" %FreeBSD: src/contrib/amd/mk-amd-map/mk-amd-map.8,v 1.5 2003/09/02 15:42:57 mbr Exp % .\" .\" $FreeBSD$ .\" .Dd June 28, 1993 .Dt MK-AMD-MAP 8 .Os .Sh 名称 .Nm mk-amd-map .Nd .Nm amd用のマップデータベースを作成する .Sh 書式 .Nm mk-amd-map .Op Fl p .Ar mapname .Sh 解説 .Nm mk-amd-map は、 .Xr amd 8 で参照するキー付きマップによって使用されるデータベースを作成します。 指定された名前のファイルから入力を読み込み、 同じ名前を持つハッシュデータベースを出力します。 .Pp .Fl p オプションは、データベースを生成するかわりに、標準出力にマップを表示します。 これは通常、継続した行を 1 行にまとめるために使われます。 .Sh 関連項目 .Xr amd.conf 5 , .Xr amd 8 diff --git a/ja_JP.eucJP/man/man8/mksnap_ffs.8 b/ja_JP.eucJP/man/man8/mksnap_ffs.8 index b8c646a71f..e6c35523c9 100644 --- a/ja_JP.eucJP/man/man8/mksnap_ffs.8 +++ b/ja_JP.eucJP/man/man8/mksnap_ffs.8 @@ -1,77 +1,77 @@ .\" .\" Copyright (c) 2003 Networks Associates Technology, Inc. .\" All rights reserved. .\" .\" This software was developed for the FreeBSD Project by Marshall .\" Kirk McKusick and Network Associates Laboratories, the Security .\" Research Division of Network Associates, Inc. under DARPA/SPAWAR .\" contract N66001-01-C-8035 ("CBOSS"), as part of the DARPA CHATS .\" research program. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. The names of the authors 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 AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/sbin/mksnap_ffs/mksnap_ffs.8,v 1.2 2003/05/24 19:53:08 ru Exp % +.\" %FreeBSD: src/sbin/mksnap_ffs/mksnap_ffs.8,v 1.3 2003/09/07 14:11:02 charnier Exp % .\" .\" $FreeBSD$ .Dd January 19, 2003 .Dt MKSNAP_FFS 8 .Os .Sh 名称 .Nm mksnap_ffs .Nd ファイルシステムのスナップショット取得 .Sh 書式 .Nm .Ar mountpoint .Ar snapshot_name .Sh 解説 .Nm ユーティリティは、 .Ar snapshot_name という名前のスナップショットを、 .Ar mountpoint にマウントされたファイルシステム上に生成します。 .Ar snapshot_name 引数は、 .Ar mountpoint にマウントされているファイルシステムに含まれることが必要です。 .Pp ファイルのグループ所有者は .Dq Li operator に設定されます。 ファイルの所有者は .Dq Li root のままです。 スナップショットのモードは、所有者と .Dq Li operator グループのメンバに読み取り可能となるように設定されます。 .Sh 関連項目 .Xr chmod 2 , .Xr chown 8 , -.Xr mount_ffs 8 +.Xr mount 8 .Sh 歴史 .Nm ユーティリティが最初に登場したのは .Fx 5.0 です。 diff --git a/ja_JP.eucJP/man/man8/mount_cd9660.8 b/ja_JP.eucJP/man/man8/mount_cd9660.8 index 1c3f9a33b8..2fe3d88d4f 100644 --- a/ja_JP.eucJP/man/man8/mount_cd9660.8 +++ b/ja_JP.eucJP/man/man8/mount_cd9660.8 @@ -1,155 +1,165 @@ .\" Copyright (c) 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" All rights reserved. .\" .\" This code is derived from software donated to Berkeley by .\" Christopher G. Demetriou. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount_cd9660.8 8.3 (Berkeley) 3/27/94 -.\" %FreeBSD: src/sbin/mount_cd9660/mount_cd9660.8,v 1.21 2002/08/21 18:10:55 trhodes Exp % +.\" %FreeBSD: src/sbin/mount_cd9660/mount_cd9660.8,v 1.22 2003/09/26 20:26:21 fjoe Exp % .\" .\" $FreeBSD$ .Dd March 27, 1994 .Dt MOUNT_CD9660 8 .Os .Sh 名称 .Nm mount_cd9660 .Nd ISO-9660 ファイルシステムのマウント .Sh 書式 .Nm .Op Fl begjrv .Op Fl o Ar options .Op Fl s Ar startsector +.Op Fl C Ar charset .Ar special | node .Sh 解説 .Nm ユーティリティは、デバイス名 .Pa special 上の ISO-9660 ファイルシステムを、 グローバルファイルシステムの名前空間の .Pa node の示す位置に接続します。 通常このコマンドは、ブート時に .Xr mount 8 によって実行されます。 .Pp オプションは、次の通りです: .Bl -tag -width indent .It Fl b 補助ボリューム記述フラグ欄のチェックを緩めます。 この欄に誤った値が設定されている、Joliet フォーマットのディスクがあります。 .It Fl e 拡張属性を使用します。 .It Fl g ファイルのバージョン番号を取り除きません (デフォルトでは、ディスク上に 異なったバージョン番号を持つファイルが存在する場合、最新のものだけが 見えます)。 どちらの場合でも、明示的にバージョン番号を指定しなくてもファイルを オープンする事が出来ます。 .It Fl j ファイルシステムに含まれる Joliet 拡張を使用しません。 .It Fl o .Fl o フラグの後には、コンマで区切ったオプション文字列を指定することができます。 指定可能なオプションとその意味は、 .Xr mount 8 マニュアルページを参照して下さい。 次に示す cd9660 特有のオプションを使用可能です: .Pp .Bl -tag -width "nostrictjoliet" -compact .It Cm extatt .Fl e と同じです。 .It Cm gens .Fl g と同じです。 .It Cm nojoliet .Fl j と同じです。 .It Cm norrip .Fl r と同じです。 .It Cm nostrictjoliet .Fl b と同じです。 .El .It Fl r ファイルシステムに含まれるロックリッジ拡張 (Rockridge extension) を 使用しません。 .It Fl s Ar startsector ファイルシステム開始位置を .Ar startsector とします。 通常、対象のデバイスが CD-ROM ドライブの場合、 .Nm はデータを持つ CD-ROM の最後のトラックを見つけて、 ファイルシステム開始位置をそこであるとします。 デバイスが CD-ROM でない場合もしくは目録が判明しない場合、 ファイルシステムはセクタ 0 から開始されます。 このオプションはこの動作を変更するものです。 .Ar startsector は CD-ROM ブロック、すなわち 2048 バイトが単位であることに注意して下さい。 これは .Xr cdcontrol 1 の .Cm info コマンドの例が示す通りです。 ここで正しい .Ar startsector を指定することで、マルチセッション CD の任意のセッションをマウント可能です。 +.It Fl C Ar charset +Joliet 拡張使用時に Unicode ファイル名を変換するために使用する、 +ローカルの +.Ar charset +を指定します。 .It Fl v どのセクタから開始するかについての決定について冗長に報告します。 .El .Sh 使用例 次のコマンドで、Kodak Photo-CD をマウント可能です: .Pp .Dl "mount_cd9660 -o rw -v -s 0 /dev/cd0c /cdrom" .Sh 関連項目 .Xr cdcontrol 1 , .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 .Sh バグ POSIX デバイスノードマッピングは、現在サポートしていません。 .Pp ロックリッジ拡張 (Rockridge extension) で使用している場合、 バージョン番号を取り除きません。 この場合、ロックリッジ名を持たないファイルをバージョン番号なしで アクセスすると、バージョン番号の最も大きいファイルではなく、 小さいファイルをアクセスします。 .Pp ECMA はサポートしていません。 .Sh 歴史 .Nm ユーティリティは、 .Bx 4.4 で最初に登場しました。 +.Pp +Unicode 変換ルーチンは 2003 年に +.An Ryuichiro Imura Aq imura@ryu16.org +が追加しました。 diff --git a/ja_JP.eucJP/man/man8/mount_msdosfs.8 b/ja_JP.eucJP/man/man8/mount_msdosfs.8 index 98d312f026..ae2340132b 100644 --- a/ja_JP.eucJP/man/man8/mount_msdosfs.8 +++ b/ja_JP.eucJP/man/man8/mount_msdosfs.8 @@ -1,236 +1,226 @@ .\" %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. .\" -.\" %FreeBSD: src/sbin/mount_msdosfs/mount_msdosfs.8,v 1.27 2003/08/12 20:06:55 trhodes Exp % +.\" %FreeBSD: src/sbin/mount_msdosfs/mount_msdosfs.8,v 1.28 2003/09/26 20:26:21 fjoe Exp % .\" .\" $FreeBSD$ .\" .Dd April 7, 1994 .Dt MOUNT_MSDOSFS 8 .Os .Sh 名称 .Nm mount_msdosfs .Nd MS-DOS ファイルシステムをマウントする .Sh 書式 .Nm .Op Fl o Ar options .Op Fl u Ar uid .Op Fl g Ar gid .Op Fl m Ar mask .Op Fl M Ar mask .Op Fl s .Op Fl l .Op Fl 9 .\".Op Fl G .Op Fl L Ar locale +.Op Fl D Ar dos-codepage .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 の記述通りに使用します。 下記の MSDOS ファイルシステム固有のオプションが使用可能です: .Bl -tag -width indent .It Cm longnames Windows 95 の長いファイル名が見えるように強制します。 .It Cm shortnames 古い MS-DOS 8.3 スタイルのファイル名のみが見えるように強制します。 .It Cm nowin95 Windows 95 の拡張ファイル情報を完全に無視します。 .El .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 -M が指定され、 .Ar -m が省略された場合には、前者の値が使用されます。 デフォルトの .Ar mask は、 ファイルシステムがマウントされるディレクトリから取得されます。 .It Fl M Ar mask ファイルシステム中のディレクトリの最大ファイルパーミッションを指定します。 .Ar -m が指定され、 .Ar -M が省略された場合には、前者の値が使用されます。 詳細は、前のオプションの記述を参照してください。 .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 file system to be interpreted as an Atari-Gemdos .\"file system. The differences to the MS-DOS file system are minimal and .\"limited to the boot block. This option enforces .\".Fl s . .It Fl L Ar locale -DOS と Win'95 の国際大文字小文字名前変換において使用される +DOS と Win'95 のファイル名変換において使用される ロケール名を指定します。 デフォルトでは ISO 8859-1 がローカルな文字セットと仮定されます。 +.It Fl D Ar dos-codepage +DOS 名用にファイル名変換に使用する、 +MS-DOS コードページ (IBM/OEM コードページとも呼ばれます) の名前を指定します。 .It Fl W Ar table -3 個の変換表を含むテキストファイルを指定します: -.Bl -enum -.It -Win'95 のロングファイル名に対して、 -ローカル文字セットから Unicode へ変換する表 (上半分)であり、 -行ごとに 8 個に分割された 128 Unicode コードです。 -Unicode に存在しないコードがあった場合、 -0x003F コード ('?') を代わりに使用します。 -.It -DOS 名に対して、 -DOS からローカル文字セットへ変換する表 (上半分) であり、 -行ごとに 8 個に分割された 128 文字コードです。 -変換できないものに対しては、 -コード 0x3F ('?') を使用します。 -.It -DOS 名に対して、 -ローカル文字セットから DOS へ変換する表 (上半分) であり、 -行ごとに 8 個に分割された 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 -文字セット変換表のデフォルトの置き場所 +変換表には次のようなテキストファイル名を指定します: +iso22dos, iso72dos, koi2dos, koi8u2dos。 .El +.Sh 使用例 +/dev/ad1s1 にあるロシア語 MSDOS ファイルシステムをマウントする場合: +.Bd -literal -offset indent +# mount_msdosfs -L ru_RU.KOI8-R -D CP866 /dev/ad1s1 /mnt +.Ed +.Pp +/dev/ad1s1 にある日本語 MSDOS ファイルシステムをマウントする場合: +.Bd -literal -offset indent +# mount_msdosfs -L ja_JP.eucJP -D CP932 /dev/ad1s1 /mnt +.Ed .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 +.Pp +ローカライズされた MS オペレーティングシステムの一覧: +.Pa http://www.microsoft.com/globaldev/reference/oslocversion.mspx +。 .Sh 警告 Win'95 で使用しているものと同様の手続きを使用して注意しているにもかかわらず、 .Fl 9 フラグを使用するとファイルシステムを破壊することがあります。 .Pp .Fx 2.1 およびそれ以前のバージョンでは 16K より大きなクラスタサイズを扱えませんでした。 MS-DOS ファイルシステムをマウントするだけで、 そのファイルシステムを破壊してしまうことがありました。 16K より大きなクラスタサイズは 1G より大きなファイルシステムでは避けようがありませんし、 1G より大きなファイルシステムを FIPS で縮めたときにも発生し得ます。 .Sh 歴史 .Nm は .Fx 2.0 にて初めて登場しました。 この元になった、 .Nm mount_pcfs は .Fx 1.0 にて登場しましたが、 よりそれらしい名前の .Nm が出来たため廃止されました。 +.Pp +文字コード変換ルーチンは 2003 年に +.An Ryuichiro Imura Aq imura@ryu16.org +が追加しました。 diff --git a/ja_JP.eucJP/man/man8/mount_nfs.8 b/ja_JP.eucJP/man/man8/mount_nfs.8 index 3fa70f62e4..03bb5968ae 100644 --- a/ja_JP.eucJP/man/man8/mount_nfs.8 +++ b/ja_JP.eucJP/man/man8/mount_nfs.8 @@ -1,347 +1,349 @@ .\" Copyright (c) 1992, 1993, 1994, 1995 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mount_nfs.8 8.3 (Berkeley) 3/29/95 -.\" %FreeBSD: src/sbin/mount_nfs/mount_nfs.8,v 1.39 2003/05/17 22:53:44 ru Exp % +.\" %FreeBSD: src/sbin/mount_nfs/mount_nfs.8,v 1.40 2003/09/10 08:24:33 ru Exp % .\" .\" $FreeBSD$ .\"" .Dd May 11, 2003 .Dt MOUNT_NFS 8 .Os .Sh 名称 .Nm mount_nfs .Nd NFS (ネットワークファイルシステム) をマウントする .Sh 書式 .Nm .Op Fl 23NPTUbcdiLls .Op Fl D Ar deadthresh .Op Fl I Ar readdirsize .Op Fl R Ar retrycnt .Op Fl a Ar maxreadahead .Op Fl g Ar maxgroups .Op Fl o Ar options .Op Fl r Ar readsize .Op Fl t Ar timeout .Op Fl w Ar writesize .Op Fl x Ar retrans .Ar rhost : Ns Ar path node .Sh 解説 .Nm ユーティリティは、ファイルシステムツリー上の指定された .Ar node にリモートの NFS ファイルシステム .Pq Ar rhost : Ns Ar path をマウントするために、 .Xr mount 2 システムコールを呼び出します。このコマンドは通常、 .Xr mount 8 によって実行されます。このプログラムは、RFC 1094 の Appendix. A および .%T "NFS: Network File System Version 3 Protocol Specification" , Appendix I. に記述されているマウントプロトコルを実装しています。 .Pp デフォルトでは、マウントが成功するまで、 .Nm はリトライを続けます。 この動作は、 .Xr fstab 5 に列挙された、ブート処理に必須なファイルシステムでの使用を意図しています。 必須ではないファイルシステムには、 .Fl b および .Fl R のフラグを使用して、 サーバが利用不可の場合でもブート処理がハングしないようにできます。 .Pp NFS ファイルシステムのマウント中にサーバが応答しなくなった場合、 当該ファイルシステム上の新規または未解決のファイル処理は、 サーバが回復するまで、割り込まれることなくハングします。 このデフォルトの動作を修正するには、 .Fl i と .Fl s のフラグを見てください。 .Pp オプションを以下に示します: .Bl -tag -width indent .It Fl 2 NFS バージョン 2 プロトコルを使用します (デフォルトはバージョン 3 をまず試した後にバージョン 2 を用います)。 NFS バージョン 2 では、 ファイルサイズは 2 ギガバイトに制限されることに注意してください。 .It Fl 3 NFS バージョン 3 プロトコルを使用します。 .It Fl D NQNFSにおいて .Dq "停止サーバ閾 (dead server threshold)" をタイムアウト (round trip timeout) 回数で指定します。 これを越えると .Dq "server not responding" メッセージが表示されます。 .It Fl I readdir での読み取りサイズを指定した値にします。 値は通常 .Dv DIRBLKSIZ の倍数であり、マウントの読み取りサイズ以下です。 .It Fl L .Xr fcntl 2 ロックをネットワーク転送しません。 すべてのロックはローカルとなり、 サーバおよび他の NFS クライアントには見えなくなります。 これにより .Xr rpcbind 8 サービスを実行する必要がなくなり、 .Xr rpc.statd 8 と .Xr rpc.lockd 8 のサーバをクライアント上で実行する必要がなくなります。 本オプションは最初のマウント実行時にのみ尊重され、 マウントオプション更新時には黙って無視されます。 .It Fl N 予約されたソケットポート番号を使用し .Em ません (後述)。 .It Fl P 予約されたソケットポート番号を使います。 このフラグは廃れたものであり、互換性のためだけにあります。 現在、予約されたソケットポート番号をデフォルトで使用します。 (クライアントの root が信頼でき、ネットワークケーブルも安全な場所にあ るが、クライアントのユーザは信頼できないという、まれな場合には 役に立つでしょうが、通常のデスクトップクライアントには当てはまりません。) .It Fl R マウントのリトライ回数を、指定された値にします。 デフォルトのリトライ数は 0 であり、 これは永遠にリトライを続けることを意味します。 各リトライの間隔は 60 秒です。 .It Fl T UDP の代わりに TCP を使います。これは、サーバがクライアントと 同じ LAN ケーブル上にない場合に使うことをお勧めします (注意: この機能は大抵の非 .Bx サーバではサポートされていません)。 .It Fl U TCP NFS マウントであっても、マウントプロトコルに UDP を強制します。 (古い BSD サーバにて必要です。) .It Fl a 先読みブロック数を指定した値に設定します。値は 0 から 4 までの範囲で、 サイズの大きなファイルをシーケンシャルに読む場合、 何ブロック先読みするかを決定します。 .\" ×がうまく表示されないので \[mu] 使用 帯域幅 \[mu] 遅延が大きな状況でマウントする場合に 1 より大きな値をお勧めします。 .It Fl b 最初にサーバの接続に失敗した場合、子プロセスを起動して、 バックグラウンドでマウントを続けようとします。 マルチユーザモードで起動する際、重要でないファイルシステムを .Xr fstab 5 に書いておく場合に役に立ちます。 .It Fl c .Tn UDP マウントポイントに対しては、 .Xr connect 2 を使いません。 これは、標準のポート番号 2049 からのリクエストに答えないサーバや 別の IP アドレスからリクエストに答えるサーバ (サーバがマルチホームの場合に発生し得ます) .Va vfs.nfs.nfs_ip_paranoia sysctl を 0 に設定すると、本オプションがデフォルトになります。 に対しては使う必要があります。 .It Fl d 再送タイムアウト時間を動的に予測しません。これは、 動的に予測される再送タイムアウト時間が非常に短いために、 UDP マウントが高いリトライレートを示しているような場合に有効です。 .It Fl g 認証用のグループリストの最大サイズを、指定した値に設定します。 RFC 1057 ではグループリストのサイズは 16 と記述されていますが、これを 扱えない古いサーバをマウントするときに使うべきです。 多くのグループに属しているユーザに対してマウントポイントから 応答がない場合は、8 を指定してみて下さい。 .It Fl i マウントを割り込み可能とします。これは、応答しないサーバがあるために ファイル関連のシステムコールが遅れるような場合、 プロセスに終了シグナルが送られると、EINTR で システムコールが失敗することを意味します。 .It Fl l NQNFS と NFSV3 において、\fBReaddir_and_Lookup\fR RPCを使うことを 指定します。 このオプションは .Dq "ls -l" するようなときに RPC のトラフィックを減らしますが、 属性と名前のキャッシュをプリフェッチエントリで溢れさせる傾向があります。 このオプションを指定して性能が良くなるのか悪くなるのかを確認して下さい。 バンド幅と遅延の積が大きなネットワークにて最も有用でしょう。 .It Fl o .Fl o フラグの後に、オプションをコンマで区切って並べ指定します。 指定可能なオプションとその意味は .Xr mount 8 を参照してください。 以下の NFS 固有のオプションを使用可能です: .Bl -tag -width indent .It Cm port Ns = Ns Aq Ar port_number 指定したポート番号を NFS 要求に使用します。 デフォルトでは portmapper に問い合わせます。 .It Cm acregmin Ns = Ns Aq Ar seconds .It Cm acregmax Ns = Ns Aq Ar seconds .It Cm acdirmin Ns = Ns Aq Ar seconds .It Cm acdirmax Ns = Ns Aq Ar seconds ファイル属性がキャッシュされたときに、 キャッシュエントリをエクスパイアするためにタイムアウトを計算します。 これらの 4 つの値は、 .Dq ディレクトリ および .Dq 通常 (ディレクトリ以外) の 上限および下限を決定します。 デフォルトでは、 通常ファイルは 3 から 60 秒、 ディレクトリは 30 から 60 秒です。 タイムアウトの算出アルゴリズムはファイルの古さを元にするものです。 ファイルが古くなると、キャッシュが有効であると見倣す期間も長くなり、 上記限界に近付きます。 .It Cm noinet4 , noinet6 .Dv AF_INET や .Dv AF_INET6 の接続を無効化します。 同じ名前で A レコードと AAAA レコードを持つホストにおいて有用です。 .El -.Bl -tag -width ".Cm dumbtimer" +.Pp .Ss 歴史的な Fl o Ss オプション +.Pp これらのオプションを使用する事は勧められません。 歴史的な .Nm との互換性のためにここに記述してあります。 +.Bl -tag -width ".Cm dumbtimer" .It Cm bg .Fl b と同じ。 .It Cm conn .Fl c を指定しない場合と同じ。 .It Cm dumbtimer .Fl d と同じ。 .It Cm intr .Fl i と同じ。 .It Cm lockd .Fl L を指定しない場合と同じ。 .It Cm nfsv2 .Fl 2 と同じ。 .It Cm nfsv3 .Fl 3 と同じ。 .It Cm rdirplus .Fl l と同じ。 .It Cm mntudp .Fl U と同じ。 .It Cm resvport .Fl P と同じ。 .It Cm soft .Fl s と同じ。 .It Cm tcp .Fl T と同じ。 .El .It Fl r データのリードサイズを指定した値にします。この値は通常 1024 以上の 2 のべき乗でなければなりません。これはマウントポイント を頻繁に使っている間に、 .Dq タイムアウトで消失したフラグメント数 が大きくなっていくときに、UDP マウントに対して使います .Pf ( Xr netstat 1 を .Fl s オプション付きで使う ことで、 .Dq タイムアウトで消失したフラグメント数 の値を見ることができます)。 .Fl w オプションも参照 してください。 .It Fl s ソフトマウントを行います。これは、 タイムアウトが決められた .Ar リトライ 回数に達すると、 システムコールが失敗することを意味します。 .It Fl t 指定した値に初期再送タイムアウト時間を設定します。パケット の消失レートの高いネットワークや負荷の高いサーバで行う UDP マウントを チューニングするときに役立ちます。 ファイルシステムがアクティブなときに .Xr nfsstat 1 が高い再送レートを示す場合には、この値を増やしてみて下さい。 一方、再送レートは低いが、応答遅延が長い場合はこの値を減らします。 (通常、 .Fl d オプションをこのオプションとともに使い、 手動でタイムアウトインターバルを調整します。) .It Fl w 指定した値にライトデータサイズを設定します。解説は .Fl r オプションと同様ですが、 .Dq タイムアウトで消失したフラグメント数 は、クライアントのかわりにサーバの値を使います。 .Fl r や .Fl w のオプションは、マウントするサーバが TCP マウントをサポートしていない場合にパフォーマンスを向上させる 最後の手段であることに注意してください。 .It Fl x ソフトマウントの再送タイムアウト回数を設定します。 .El .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 , .Xr nfsd 8 , .Xr nfsiod 8 , .Xr showmount 8 .Sh バグ Sun RPCは UDP (信頼性のないデータグラム) トランスポート層上に 実装されているため、マウントの性能をチューニングしても 限界があります。サーバが同じ LAN ケーブル上にない場合や、 サーバの負荷が高い場合には、 .Tn TCP トランスポートを使うことを強くすすめますが、 残念なことに、ほぼ .Bx 4.4 サーバに限られています。 diff --git a/ja_JP.eucJP/man/man8/mount_ntfs.8 b/ja_JP.eucJP/man/man8/mount_ntfs.8 index 5578c14d92..de680ec4f0 100644 --- a/ja_JP.eucJP/man/man8/mount_ntfs.8 +++ b/ja_JP.eucJP/man/man8/mount_ntfs.8 @@ -1,153 +1,174 @@ .\" .\" Copyright (c) 1993,1994 Christopher G. Demetriou .\" Copyright (c) 1999 Semen Ustimenko .\" 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. .\" -.\" %FreeBSD: src/sbin/mount_ntfs/mount_ntfs.8,v 1.18 2002/08/21 18:11:03 trhodes Exp % +.\" %FreeBSD: src/sbin/mount_ntfs/mount_ntfs.8,v 1.19 2003/09/26 20:26:21 fjoe Exp % .\" .\" $FreeBSD$ .\" revision 1.2.2.2 に追従済 .Dd January 3, 1999 .Dt MOUNT_NTFS 8 .Os FreeBSD .Sh 名称 .Nm mount_ntfs .Nd NTFS ファイルシステムをマウントする .Sh 書式 .Nm .Op Fl a .Op Fl i .Op Fl u Ar uid .Op Fl g Ar gid .Op Fl m Ar mask +.Op Fl C Ar charset .Op Fl W Ar u2wtable .Pa special .Pa node .Sh 解説 .Nm コマンドは、デバイス .Pa special 中の NTFS ファイルシステムを、グローバルファイルシステム名前空間の .Pa node で示される位置へ接続します。 通常、このコマンドはブート時に .Xr mount 8 により実行されます。 任意のユーザが、 自己が所有するディレクトリ上に NTFS ファイルシステムをマウントするために使用することも可能です (もちろん、 ファイルシステムを含むデバイスへの適切なアクセス権限が必要です)。 .Pp オプションは次の通りです: .Bl -tag -width Ds .It Fl a .Fn readdir においても、MS-DOS 8.3 形式の名前を返す振舞いを強制します。 .It Fl i POSIX 名以外のすべての名前に対し、 名前検索で大文字小文字を区別しないようにします。 .It Fl u Ar uid ファイルシステム中のファイルの所有者を .Ar uid に設定します。 デフォルトの所有者は、 ファイルシステムがマウントされたディレクトリの所有者です。 .It Fl g Ar gid ファイルシステム中のファイルのグループを .Ar gid に設定します。 デフォルトのグループは、 ファイルシステムがマウントされたディレクトリのグループです。 .It Fl m Ar mask ファイルシステム中のファイルの、最大のパーミッションを指定します。 +.It Fl C Ar charset +Unicode ファイル名を変換するローカルな +.Ar charset +を指定します。 +現在のところ、読み取りのみがサポートされていますので、 +ファイルシステムは読み取り専用でマウントしてください。 .It Fl W Ar u2wtable .Ux から .Tn Unicode への変換表を指定します。 本オプションについての記述は、 .Xr mount_msdosfs 8 を参照してください。 +このオプションは後方互換性のために維持されていますので +このオプションを使用しないでください。 +このオプションは将来削除されます。 .El .Sh 特徴 NTFS のファイル属性は、次のようにアクセスされます: .Bd -literal -offset indent foo[[:ATTRTYPE]:ATTRNAME] .Ed .Pp .Sq ATTRTYPE は、ボリュームの $AttrDef ファイルに列挙されている識別子のうちのひとつです。 デフォルトは $DATA です。 .Sq ATTRNAME は属性の名前です。デフォルトは none です。 .Sh 使用例 .Pa /dev/ad1s1 の ntfs ボリュームをマウントするには、次のようにします: .Bd -literal -offset indent # mount_ntfs /dev/ad1s1 /mnt .Ed .Pp ボリューム名を (Unicode で) 取得するには、次のようにします: .Bd -literal -offset indent # cat /mnt/\\$Volume:\\$VOLUME_NAME .Ed .Pp ディレクトリの生のデータを読み込むには、次のようにします: .Bd -literal -offset indent # cat /mnt/foodir:\\$INDEX_ROOT:\\$I30 .Ed +.Pp +/dev/ad0s1 にある +.Pa 日本語の +NTFS ボリュームをマウントするには次のようにします: +.Bd -literal -offset indent +# mount_ntfs -C eucJP /dev/ad0s1 /mnt +.Ed .Sh 書き込み 書き込み能力には制限があります。 制限: ファイルは 非常駐 (訳注: ファイルの内容が Master File Table の外にある) である必要があり、 疎であっては (未初期化領域を持っていては) なりません。 また圧縮ファイルもサポートしていません。 +ファイル名には、マルチバイト文字を含んではなりません。 .Sh 関連項目 .Xr mount 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mount 8 , .Xr mount_msdosfs 8 .Sh 警告 このユーティリティは、主に、NTFS ボリュームへの読み込みアクセスを提供します。 NTFS ボリュームへの書き込みに関する詳細は、 .Sx 書き込み の節を参照してください。 .Sh 歴史 .Nm ユーティリティが最初に登場したのは .Fx 3.0 です。 +Unicode 変換ルーチンは 2003 年に +.An Ryuichiro Imura Aq imura@ryu16.org +が追加しました。 .Sh 作者 NTFS のカーネル実装と、 .Nm ユーティリティと、マニュアルを、 .An Semen Ustimenko Aq semenu@FreeBSD.org が記述しました。 diff --git a/ja_JP.eucJP/man/man8/mrouted.8 b/ja_JP.eucJP/man/man8/mrouted.8 index d2f9609a84..50980518e8 100644 --- a/ja_JP.eucJP/man/man8/mrouted.8 +++ b/ja_JP.eucJP/man/man8/mrouted.8 @@ -1,640 +1,640 @@ .\"COPYRIGHT 1989 by The Board of Trustees of Leland Stanford Junior University. .\" -.\" %FreeBSD: src/usr.sbin/mrouted/mrouted.8,v 1.27 2002/12/27 12:15:38 schweikh Exp % +.\" %FreeBSD: src/usr.sbin/mrouted/mrouted.8,v 1.28 2003/09/14 13:41:58 ru Exp % .\" .\" $FreeBSD$ .Dd May 8, 1995 .Dt MROUTED 8 .Os .Sh 名称 .Nm mrouted .Nd IP マルチキャストルーティングデーモン .Sh 書式 .Nm .Op Fl c Ar config_file .Op Fl d Op Ar debug_level .Op Fl p .Sh 解説 .Nm ユーティリティは、Distance-Vector Multicast Routing Protocol (DVMRP) の実装です。 DVMRP の以前のバージョンは RFC1075 で規定されています。 本コマンドは distance-vector routing protocol (RIP に似たプロトコルであり、RFC1058 に記述されています) を使うことで、ネットワークトポロジに関する情報を管理し、 そのプロトコルの上で、Reverse Path Multicasting と呼ばれる マルチキャストデータグラムフォワーディングアルゴリズムを実装しています。 .Pp .Nm ユーティリティは、 マルチキャストデータグラムを、データグラムが生成されたサブネットを幹と して樹状に構成されるパス上に、パスの最短距離を通過するようにして送出します。 マルチキャストツリーは目的のグループを含むサブネットを越えないブロード キャストツリーと考えることができます。 したがって、データグラムはマルチキャストの受け手がいない枝には送出され ません。 さらに、マルチキャストデータグラムパケットの生存時間によっては、到達で きる範囲が限定される場合もあります。 .Pp IP マルチキャストをサポートしない (ユニキャスト) ルータを介したサブネット間で、 マルチキャストを実現するために、 .Nm の実装にはトンネリングのサポートも含まれます。トンネリングとは、 インターネットのあらゆるところにて稼働している マルチキャストルータ の組の間で仮想的なポイントツーポイントリンクを確立する技術です。 IP マルチキャストパケットは、トンネルを通過するところでカプセル化されます。 間にあるルータ及びサブネットにとっては、 カプセル化されたパケットは、 通常のユニキャストデータグラムに見えます。 トンネルの入口でカプセル化が行われ、トンネルの出口でカプセルが取り外されます。 パケットは、IP-in-IP プロトコル (IP プロトコル番号 4) を用いることでカプセル化を 行ないます。 古いバージョンの .Nm のトンネリングは、 IP ソースルーティングを用いたものですが、 これはルータによっては大きな負荷をかけることになります。 本バージョンでは、IP ソースルーティングを用いたトンネリングは サポートしません。 .Pp トンネリング機構の実装により、 .Nm は、 実際のインターネットとは独立の、 マルチキャストパケットのみを扱う広範囲の自立システムに跨る 仮想インターネットを構築できます。 この機能は、 普通の (ユニキャスト) ルータによるマルチキャストルーティングの 広範囲なサポートがなされるまで、 インターネットマルチキャスティングのみを実験的に サポートするように意図したものです。 .Nm ユーティリティは distance vector ルーティングプロトコルが持つ よく知られたスケーリングの問題の影響を被りますし、 階層的なマルチキャストルーティングを (まだ) サポートしていません。 .Pp .Nm ユーティリティはマルチキャストルーティングのみを扱いますので、 同じ機械の上でユニキャストルーティングソフトが走っていてもいなくても 構いません。 トンネリングを利用すれば、 .Nm はマルチキャストフォワーディングのためにひとつより多くの 物理的なサブネットにアクセスする必要がありません。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl c Ar config_file 別の設定コマンドファイルを指定します。 デフォルトは .Pa /etc/mrouted.conf です。 .It Fl d Op Ar debug_level .Fl d オプションが与えられないか、もしくは debug level として 0 が指定された 場合、 .Nm は起動された端末から切り離されます。それ以外の場合は、 .Nm は、起動された端末に残り、起動された端末からのシグナルを受け付けます。 debug level の指定の有無にかかわらず、 .Nm は常に警告メッセージやエラーメッセージを syslogd に対して送ります。 .Fl debug-level 引数は、次に示すものをコンマで区切ったリストです: .Bl -tag -width indent .It "packet" 送受信したすべてのパケットに関し、タイプ・ソース・宛先を表示します。 .It "pruning" 送受信した枝苅りに関し、更なる情報を表示します。 .It "routing" 送受信した経路更新パケットに関し、更なる情報を表示します。 .It "route_detail" 経路更新に関し、過度に詳細な程表示します。 大概の場合、情報が多すぎるでしょう。 .It "neighbors" 隣接ルータ発見に関し、情報を表示します。 .It "cache" カーネルのフォワーディングキャッシュに関し、挿入・削除・更新を表示します。 .It "timeout" タイムアウトと定期処理をデバッグします。 .It "interface" インタフェースとその設定に関し、情報を表示します。 .It "membership" 物理インタフェースにおけるグループメンバシップに関し、情報を表示します。 .It "traceroute" このルータを通過するマルチキャスト経路追跡要求に関し、情報を表示します。 .It "igmp" グループメンバシップおよび問い合わせ者選出を含む IGMP 操作を表示します。 .\" Display IGMP operation including group membership and querier election. .\" including 以降はこれで良いのか? .It "icmp" ICMP 操作を監視します。 .It "rsrr" RSRR 操作を監視します。 .El .Pp 起動にともない、 .Nm はそのプロセス ID を .Pa /var/run/mrouted.pid ファイルに 書き出します。 .El .Sh 初期設定 .Nm ユーティリティは、自動的にすべてのマルチキャスト可能なインタフェース、 つまり、IFF_MULTICAST フラグがセットされたインタフェース (ループバックインタフェースは除きます) に対して初期化を行い、別の DVMRP ルータ に直接接続可能なインタフェースを探索します。 デフォルトの設定を上書きする、あるいは別の マルチキャストルータ に対するトンネルリンクを付加するには、 .Pa /etc/mrouted.conf (もしくは .Fl c オプションによって指定されるファイル) を編集します。 .Pp ファイルの形式は自由です。すなわち、空白文字 (改行も含みます) は意味を 持ちません。 .Nm の操作全体またはデフォルト設定に適用されるコマンドから、ファイルは開始します。 .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 以前の .Nm と、cisco の IOS の現在知られている全バージョン)。 リブートからの回復時間を短縮するために、 これらの隣接ルータに送信した枝苅りを保持する時間は短くすべきです。 このような状況で使用する場合、後述するように prune_lifetime キーワードをインタフェースに指定すると良いでしょう。 .It noflood .Nm ユーティリティは DVMRP 最適化を使用し、 各隣接ルータに対して個々にルーティングテーブルを持つことを避けます。 接続されている個々のサブネットに対し、 自己がフォワーダであると開始時に仮定することも、この最適化の一部です。 ちょうど今開始したルータと正しいフォワーダの両方が トラフィックをフォワードすることにより、 短期間 (およそ経路報告間隔 1 回分) 重複が生じることがあります。 この動作は noflood キーワードを指定することにより停止できます。 .Nm が自己をフォワーダであると仮定しなくなるためです。 noflood を指定すると、再開時におよそ経路報告間隔 1 回分、 ブラックホールを生じさせることがあります。 noflood キーワードは個々のインタフェースに指定可能です。 .It rexmit_prunes Ar [on|off] デフォルトでは、 枝苅りを全ポイントツーポイントインタフェース (トンネル含む) に対して 再フォワードしますが、マルチアクセスインタフェースに対しては行いません。 本オプションを使用すると、全インタフェースに対してデフォルトをオン (またはオフ) にします。 rexmit_prunes キーワードもまた個々のインタフェースに指定可能です。 .It name Ar "boundary-name scoped-addr/mask-len" .Ar boundary-name を .Ar scoped-addr/mask-len で記述される境界に関連付け、設定ファイルにおいて、 インタフェース設定を読み易くし、繰り返しを減らします。 .El .Pp 設定ファイルの第 2 の部分は、空でも構いませんが、 物理インタフェースに適用されるオプションを記述します。 .Bl -tag -width indent .It phyint Ar "local-addr|ifname" phyint コマンド自身は何もしません。 単なる埋め草であり、この後にインタフェース固有のコマンドが続きます。 インタフェースのアドレスまたは名前を指定します。 .It disable 本インタフェースにおけるマルチキャストのフォワーディングを無効にします。 デフォルトでは、 .Nm はローカルに接続されたマルチキャスト可能なインタフェースをすべて発見し、 それらすべてに対してフォワードします。 .It netmask Ar netmask カーネルの netmask がサブネットを正確に反映していない場合 (例えば IP サブネット化の代りに代理 ARP 使用の場合)、 netmask コマンドを使用して実際の netmask を記述してください。 .It altnet Ar network/mask-len phyint が複数の IP からなるサブネットに接続されている場合、 altnet キーワードを使用してそれぞれのサブネットについて記述して下さい。 本コマンドを複数回使用して、複数のサブネットを記述可能です。 .It igmpv1 phyint 上に IGMPv1 ルータが存在する場合、 \fBigmpv1\fP キーワードを使用して .Nm を強制的に IGMPv1 モードにしてください。 phyint 上の全ルータは、同じバージョンの IGMP を使用する必要があります。 .It force_leaf このインタフェース上の他のルータを無視するように、 .Nm に強制します。 .Nm は、本インタフェース上では、 隣接ルータへプローブや経路報告を送りませんし、受け付けません。 .El .Pp 更に、後述する共通の vif コマンドを phyint に対してすべて使用可能です。 .Pp 設定ファイルの第 3 の部分は、これも空でも構いませんが、 このルータが持つ DVMRP トンネルの設定を記述します。 .Bl -tag -width indent .It tunnel Ar "local-addr|ifname" Ar "remote-addr|remote-hostname" このコマンドは、このホスト ( .Ar local-addr または .Ar ifname で記述されるインタフェース) とリモートホスト ( .Ar remote-addr または .Ar remote-hostname で識別されます) との間の DVMRP トンネルを確立します。 リモートのホスト名は、単一の IP アドレスにマップされる場合のみ使用可能です。 トンネルは、使用前に、両方のルータ上で構成されている必要があります。 .Pp リモートアドレスへのユニキャスト経路が、 .Ar "local-addr|ifname" で指定されるインタフェースから出て行くように気を付けてください。 .Nm が扱うパケットのソースアドレスを、 送出インタフェースのアドレスに 書き換えてしまう UNIX カーネルがあります。 安全第一のためには、静的なホスト単位の経路を使用してください。 .El .Pp 次の共通の vif コマンドを tunnel や phyint に対してすべて使用可能です。 .Bl -tag -width indent .It metric Ar m metric は、 指定したインタフェースもしくはトンネルでデータグラムを受信するための 「コスト」であり、経路選択に影響を与えるために使用します。 metric のデフォルト値は 1 です。metric は可能なかぎり小さくすべきです。 なぜなら、 DVMRP は metric の合計が 31 を越える経路を通ることができないからです。 .It advert_metric Ar m advert_metric は、 指定したインタフェースもしくはトンネルでデータグラムを送信するための 「コスト」であり、経路選択に影響を与えるために使用します。 advert_metric のデフォルト値は 0 です。 リンクの実際の metric は一端の metric ともう一端の advert_metric との和です。 .It threshold Ar t threshold は最小の IP の生存時間であり、 この要件を満たすマルチキャストデータグラムは 指定したインタフェースもしくはトンネルにフォワードされます。 このパラメータは、 マルチキャストデータグラムの到達範囲を定めるために使用します。 (フォワードされたパケットの TTL は threshold と比較されるだけで、 threshold だけ TTL を減らすというわけではありません。 すべてのマルチキャストルータは TTL を丁度 1 づつ減らします。) threshold のデフォルト値は 1 です。 .Pp 特定のサブネットやトンネルへ接続される 全マルチキャストルータは、そのサブネットやトンネルに対し、 一般的にはすべて同じ metric と threshold を持つべきです。 .It rate_limit Ar r rate_limit オプションによって、 マルチキャストトラフィック用に何キロビット毎秒のバンド幅を割り当てるかを、 ネットワーク管理者は指定可能です。 デフォルト値は、0 (無制限) です。 .It boundary Ar "boundary-name|scoped-addr/mask-len" boundary オプションは、ある範囲のアドレスに対する管理上の境界として、 インタフェースを設定します。 この範囲のアドレスに属するパケットは範囲内のインタフェース にはフォワードされません。boundary オプションは名前もしくは境界にて指定します。 単一のインタフェースに対して本コマンドを複数回使用して、 複数の境界を記述可能です。 .It passive もう一端から何かが聞こえるまで、 このリンクまたはトンネルに対してパケットを送出しません。 要求時にダイヤルするリンク上のトンネルにおける「サーバ」側で 使用すると良いです。 「サーバ」側を passive とすることで、 もう一方から何かが聞こえるまで定期的なプローブをサーバは送りませんので、 リンクをアップ状態に保つということはありません。 トンネルの両端でこのオプションを指定すると、 トンネルはいつになっても使えないでしょう。 .It noflood 前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 .It prune_lifetime Ar secs 前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 .It rexmit_prunes Ar "[on|off]" 前述の通りですが、このインタフェース/トンネルに対してのみ適用されます。 枝苅りの再送信のデフォルトは、 ポイントツーポイントリンクとトンネルではオンであり、 マルチアクセスリンクではオフです。 .It allow_nonpruners デフォルトでは、枝苅りをサポートしないと主張する DVMRP 隣接ルータとは .Nm は仲間にはなりません。 本オプションを使用すると、本インタフェースにおいて、 このようなルータとも仲間となります。 .It notransit 経路フィルタリングの特殊ケースです。 \&"notransit" とマークされたインタフェースから学習された経路は、他の \&"notransit" とマークされたインタフェースにおいて広告されません。 単一のインタフェースのみを "notransit" とマークしても、意味はありません。 .It accept|deny Ar "(route/mask-len [exact])+" Op bidir .Li accept および .Li deny のコマンドにより、原始的な経路フィルタリングが可能となります。 .Li accept コマンドにより、設定されたインタフェースに関してリストされた経路のみ、 .Nm は受け付けます。 .Li deny コマンドにより、リストされた経路以外のすべての経路を、 .Nm は受け付けます。 ひとつのインタフェースには、 .Li accept または .Li deny のどちらかのみ使用可能です。 .Pp .Li accept と .Li deny のキーワードの後には、経路のリストが続きます。 経路の後にキーワード .Ar exact が続くと、その経路のみがマッチします。 指定しない場合には、その経路とより具体的な経路がマッチします。 例えば、 .Li deny 0/0 はすべての経路を拒否しますが、 .Li deny 0/0 exact はデフォルト経路のみ拒否します。 デフォルト経路は .Li default キーワードで指定することも可能です。 .Pp .Ar bidir キーワードは双方向の経路フィルタリングを可能にします。 フィルタは、出力および入力の両方の経路に適用されます。 .Ar bidir キーワードを指定しないと、 .Li accept および .Li deny のフィルタは、入力に対してのみ適用されます。 Poison reverse 経路は、フィルタにより取り除かれることはありません。 .El .Pp .Nm ユーティリティは、 2 つ以上の有効な vif (仮想インタフェース) が無いときには実行を開始しません。 vif はマルチキャスト可能な物理インタフェースもしくはトンネルです。 すべての仮想インタフェースがトンネルの場合は警告が記録されます。 そのような .Nm の設定は、より多くの直接トンネルを指定した方が良いかもしれません (中間管理者を削除するという意味です)。 .Sh 設定例 次に示すのは大きな学校にある架空のマルチキャストルータでの例です。 .Pp .Bd -literal # # mrouted.conf の例 # # 簡単に記述するため、境界に名前を付けます。 name LOCAL 239.255.0.0/16 name EE 239.254.0.0/16 # # le1 は compsci に対する我々のゲートウェイであり、 # ローカルグループはそちらにフォーワードしません。 phyint le1 boundary EE # # le2 は classroom ネット上の我々のインタフェースであり、 # 4 つの異なった長さのサブネットがあります。 # IP アドレスでもインタフェース名でも使えることに注意。 phyint 172.16.12.38 boundary EE altnet 172.16.15.0/26 altnet 172.16.15.128/26 altnet 172.16.48.0/24 # # atm0 は我々の ATM インタフェースであり、 # マルチキャストを正しくサポートしません。 phyint atm0 disable # # これは、別の EE サブネットに対する内部トンネルです。 # トンネルはイーサネット上にあるので、 # トンネルのデフォルトのレート制限を取り除きます。 tunnel 192.168.5.4 192.168.55.101 metric 1 threshold 1 rate_limit 0 # # これは外世界に対する我々のトンネルです。 # これらの境界には注意してくださいね、Eugene (訳注: ユージーン; 人名)。 tunnel 192.168.5.4 10.11.12.13 metric 1 threshold 32 boundary LOCAL boundary EE .Ed .Sh シグナル .Nm ユーティリティは次のシグナルに反応します。 .Bl -tag -width indent .It HUP .Nm を再スタートします。 設定ファイルは再度読み込まれます。 .It INT 後かたづけをしてから実行終了します (たとえば、隣接するルータすべてにさよならのメッセージを送ります)。 .It TERM INT と同じです。 .It USR1 内部ルーティングテーブルを .Pa /var/tmp/mrouted.dump にダンプします。 .It USR2 内部キャッシュテーブルを .Pa /var/tmp/mrouted.cache にダンプします。 .It QUIT 内部ルーティングテーブルを stderr にダンプします。 ただし、 .Nm が 0 以外の debug level の時のみです。 .El .Pp シグナルを送る際の便宜のために、 .Nm は開始時に自身のプロセス ID を .Pa /var/run/mrouted.pid に書き出します。 .Sh 使用例 ルーティングテーブルは次のようになります: .Pp .Bd -literal Virtual Interface Table Vif Local-Address Metric Thresh Flags 0 36.2.0.8 subnet: 36.2/16 1 1 querier groups: 224.0.2.1 224.0.0.4 pkts in: 3456 pkts out: 2322323 1 36.11.0.1 subnet: 36.11/16 1 1 querier groups: 224.0.2.1 224.0.1.0 224.0.0.4 pkts in: 345 pkts out: 3456 2 36.2.0.8 tunnel: 36.8.0.77 3 1 peers: 36.8.0.77 (3.255) boundaries: 239.0.1/24 : 239.1.2/24 pkts in: 34545433 pkts out: 234342 3 36.2.0.8 tunnel: 36.6.8.23 3 16 Multicast Routing Table (1136 entries) Origin-Subnet From-Gateway Metric Tmr In-Vif Out-Vifs 36.2 1 45 0 1* 2 3* 36.8 36.8.0.77 4 15 2 0* 1* 3* 36.11 1 20 1 0* 2 3* . . . .Ed .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 キャッシュテーブルは次のようなものです: .Pp .Bd -literal 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 .Ed .Pp 各エントリは起源のサブネット番号、マスク、宛先マルチキャストグループにて 区別します。 .Pp \&'CTmr' フィールドは当該エントリの生存時間を表します。 このタイマ値が 0 まで減算されたエントリはキャッシュテーブルから削除されます (エントリはトラフィックが流れるとリフレッシュされます)。 \&'Age' フィールドはこのエントリが最初に生成されてから経過した時間を表します。 キャッシュエントリはリフレッシュされるため、 当該エントリに関するトラフィックが続く限りルーティングエントリは生き残ります。 .Pp \&'Ptmr' フィールドは、上流に枝刈が送出されていなければ単に -、 そうでないばあいには上流の枝刈がタイムアウトするまでの時間を表します。 .Pp \&'Ivif' フィールドは起源からのマルチキャストパケットが入力される vif を表します。 各ルータは特定のソース及びグループに関し、 隣接するルータより受信する枝刈数の記録も管理します。 あるサブネットに関してマルチキャストツリーの下流の枝において マルチキャストグループのメンバが存在しない場合、 上流のルータに対して枝刈メッセージが送信されます。 この場合、vif 番号の後に \&"P" が付けられます。 .Pp \&'Forwvifs' フィールドは ソースグループに属するデータグラムがフォワードされる インタフェースを表します。 \&"p" は、このインタフェースを介してフォワードされるデータグラムが存在しない ことを表します。 リストされないインタフェースは葉のサブネットであり、 特定のグループのメンバを当該サブネットに持ちません。 インタフェースにおける "b" の表示は、 当該インタフェースが境界インタフェースであることを表します。 すなわち、範囲内のアドレスのトラフィックは 当該インタフェースを介してフォワードされないことを意味します。 .Pp \&">" を最初の文字として表示する追加の行は、 当該サブネット上のソースを表します。 1 つのサブネット上に複数のソースが存在可能であることに注意して下さい。 \&"<" を最初の文字として表示する追加の行は、 このサブネットもしくはグループに関して、 下流の隣接ルータから受信した枝苅りを表示します。 .Sh 関連ファイル .Bl -tag -width /var/tmp/mrouted.cache -compact .It Pa /etc/mrouted.conf .It Pa /var/run/mrouted.pid .It Pa /var/tmp/mrouted.dump .It Pa /var/tmp/mrouted.cache .El .Sh 関連項目 .Xr map-mbone 8 , .Xr mrinfo 8 , .Xr mtrace 8 .Pp DVMRP は、 他のマルチキャスト経路制御アルゴリズムと共に、 ACM SIGCOMM '88 コンファレンスのプロシーディングに、 S. Deering が \&"Multicast Routing in Internetworks and Extended LANs" として記述しています。 .Sh 作者 .An Steve Deering , .An Ajit Thyagarajan , .An Bill Fenner diff --git a/ja_JP.eucJP/man/man8/mtree.8 b/ja_JP.eucJP/man/man8/mtree.8 index 714dda6468..11cb6b2a96 100644 --- a/ja_JP.eucJP/man/man8/mtree.8 +++ b/ja_JP.eucJP/man/man8/mtree.8 @@ -1,364 +1,364 @@ .\" Copyright (c) 1989, 1990, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)mtree.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/usr.sbin/mtree/mtree.8,v 1.39 2002/12/12 17:26:02 ru Exp % +.\" %FreeBSD: src/usr.sbin/mtree/mtree.8,v 1.40 2003/09/14 13:41:58 ru Exp % .\" $FreeBSD$ .\" .Dd February 26, 1999 .Dt MTREE 8 .Os .Sh 名称 .Nm mtree .Nd ディレクトリ階層をマップする .Sh 書式 .Nm .Op Fl LPUcdeinqrux .Bk -words .Op Fl f Ar spec .Ek .Bk -words .Op Fl K Ar keywords .Ek .Bk -words .Op Fl k Ar keywords .Ek .Bk -words .Op Fl p Ar path .Ek .Bk -words .Op Fl s Ar seed .Ek .Bk -words .Op Fl X Ar exclude-list .Ek .Sh 解説 .Nm ユーティリティは、カレントディレクトリをルートとするファイル階層を、 標準入力から読み込んだファイル階層記述と比較します。 .\" ↑原文では単に "specification" となっているが、日本語に訳すと .\" わかりにくいので、「ファイル階層記述」という語をあてている。 .\" 以下も同様。 -- jpman J.Sakai その記述とマッチしない特性をもつファイルや、 実際のファイル階層あるいはファイル階層記述のいずれかから欠落しているファイル に関するメッセージを標準出力に出力します。 .Pp 以下のオプションがあります: .Bl -tag -width flag .It Fl L ファイル階層のすべてのシンボリックリンクをたどります。 .It Fl P ファイル階層のシンボリックリンクをたどりません。 代りに、シンボリックリンク自身を比較対象にします。 これがデフォルトです。 .It Fl U 既存ファイルの所有者、グループおよびパーミッションを ファイル階層記述に合わせて修正し、欠落しているディレクトリを作成します。 欠落ディレクトリを作成するために、ユーザ、グループおよびパーミッションの 全てを指定しなければなりません。 成功するとステータス 0 で終了し、 何らかのエラーが発生すると 1 で終了します。 ミスマッチがあっても、それが訂正されればエラーとはみなされません。 .It Fl c ファイル階層の記述を標準出力に出力します。 .It Fl d ディレクトリ型以外のファイルは全て無視します。 .It Fl e ファイル階層には存在するが、ファイル階層記述に存在しないファイルが あっても警告しません。 .It Fl i .Fl c オプションでファイル階層記述を作成する際、 ディレクトリレベルを一つ下りる毎に空白 4 つ分ずつインデントして出力します。 各ディレクトリ前に出力される /set 文やコメントには影響を与えませんが、 各ディレクトリの最後に出力されるコメントには影響を及ぼします。 .It Fl n ファイル階層記述作成の際、パス名コメントを出力しません。 .Fl c オプション使用時は通常、各ディレクトリの前後にコメントが出力されます。 .It Fl q 静寂モード。 .Dq 存在しない ディレクトリが既に存在するという理由で作成できない場合、文句を言いません。 これは、ディレクトリがシンボリックリンクの場合に発生します。 .It Fl r ファイル階層記述に記載されていないファイル階層に含まれるファイルを 全て削除します。 .It Fl u オプション .Fl U と同様ですが、現ファイル階層がファイル階層記述とマッチしなければ ステータス 2 を返します。 .It Fl x ファイル階層中のマウントポイント以下に降下しません。 .It Fl f Ar file ファイル階層記述を、標準入力からではなく、ファイル .Ar file から読み込みます。 .It Fl K Ar keywords 指定した .Ar keywords (空白あるいはコンマで区切ったもの) を 現在のキーワード集合に追加します。 .It Fl k Ar keywords 現在のキーワード集合の代わりに、 ``type'' キーワードおよび 指定した .Ar keywords (空白あるいはコンマで区切ったもの) を使用します。 .It Fl p Ar path ファイル階層のルートディレクトリを、カレントディレクトリではなく .Ar path とします。 .It Fl s Ar seed キーワード .Cm cksum が指定されている全ファイルに対する単一のチェックサムを 標準エラー出力に出力します。 チェックサムのシードには指定された値が用いられます。 .It Fl X Ar exclude-list 指定されたファイルは .Xr fnmatch 3 パターンを含みます。 これにマッチするファイルはファイル階層記述から除外されます。 1 行に 1 個ずつ記述します。 パターンに .Ql \&/ 文字が含まれる場合、 (開始したディレクトリとの相対で) パス名全体に対してマッチが取られます。 そうでない場合、ベース名に対してのみマッチが取られます。 .Ar exclude-list ファイルにはコメントは許されません。 .El .Pp ファイル階層記述は多くの場合、「キーワード」つまり ファイルに関連した値を指定する文字列から構成されます。 どのキーワードにもデフォルト値はありません。 キーワードに値が設定されていない場合、 そのキーワードに基づいたチェックは行われません。 .Pp 現在サポートされているキーワードは以下の通りです: .Bl -tag -width Cm .It Cm cksum .Xr cksum 1 ユーティリティで規定されるデフォルトアルゴリズムを用いた ファイルのチェックサム。 .It Cm flags シンボル名のファイルフラグ。これらの名前についての情報は .Xr chflags 1 を参照してください。フラグ無しを設定するには、文字列 .Dq none を指定して、現在のデフォルトに優先できます。 .It Cm ignore このファイル以下のファイル階層を無視します。 .It Cm gid 数値で指定したファイルのグループ。 .It Cm gname シンボル名で指定したファイルのグループ。 .It Cm md5digest ファイルの MD5 メッセージダイジェスト。 .It Cm sha1digest .Tn FIPS ファイルの 160-1 .Pq Dq Tn SHA-1 メッセージダイジェスト。 .It Cm ripemd160digest ファイルの .Tn RIPEMD160 メッセージダイジェスト。 .It Cm mode 数値 (8 進数) あるいはシンボル値で指定した現ファイルのパーミッション。 .It Cm nlink ファイルが持っているはずのハードリンク数。 .It Cm nochange このファイルもしくはディレクトリが存在することのみ確認し、 他の属性は無視します。 .It Cm uid 数値で指定したファイルの所有者。 .It Cm uname シンボル名で指定したファイルの所有者。 .It Cm size ファイルサイズ (バイト数)。 .It Cm link シンボリックリンクが指し示しているはずのファイル。 .It Cm time ファイルの最終修正時刻。 .It Cm type ファイルタイプ。以下のいずれかを指定します: .Pp .Bl -tag -width Cm -compact .It Cm block ブロック型スペシャルデバイス .It Cm char 文字型スペシャルデバイス .It Cm dir ディレクトリ .It Cm fifo FIFO .It Cm file 通常ファイル .It Cm link シンボリックリンク .It Cm socket ソケット .El .El .Pp デフォルトのキーワード集合は .Cm flags , .Cm gid , .Cm mode , .Cm nlink , .Cm size , .Cm link , .Cm time , .Cm uid です。 .Pp ファイル階層記述には 4 つのタイプの行があります。 .Pp 1 つめのタイプの行はキーワードに大域的な値を設定するもので、 文字列 ``/set'' とそれに続く空白、そしてキーワードとその値のペアの集合を 空白で区切ったものから構成されます。 キーワードとその値のペアはキーワードとそれに続く等号 (``='')、 そして値から成り、空白は含みません。 一旦キーワードが設定されると、再設定あるいは設定解除されるまで その値は変化しません。 .Pp 2 つめのタイプの行はキーワードの設定を解除するもので、 文字列 ``/unset'' とそれに続く空白、そして 1 つ以上のキーワードを 空白で区切ったものから構成されます。 .Pp 3 つめのタイプの行はファイル記述を行うもので、 ファイル名とそれに続く空白、そして 0 個以上のキーワードと値のペアを 空白で区切ったものから構成されます。 ファイル名の先頭には空白があっても構いません。 ファイル名には 標準的なファイル名マッチング文字 (``['', ``]'', ``?'', ``*'') が含まれて いてもよく、その場合、そのファイル階層に存在するファイルは、 マッチする最初のパターンと関連づけられます。 .Pp 各キーワードと値のペアはキーワードと等号 (``='')、そして そのキーワードの値から構成され、空白は含みません。 これらの値は、対応するキーワードの大域的な値を変更しませんが、 大域的な値に優先します。 .Pp パスは全て相対指定です。 ディレクトリを指定すると、そのディレクトリ階層の中で 更にファイルが検索されます。 これがファイル階層記述における 4 つめのタイプの行です: 文字列 .Dq Pa ..\& だけが含まれる行は、カレントディレクトリパスを 1 レベル上に上げることを 意味します。 .Pp 空行および最初の非空白文字がハッシュ記号 (``#'') であるような行は無視されます。 .Pp .Nm は成功するとステータス 0 で終了し、何らかのエラーが生じると 1 で終了します。 また、ファイル階層がファイル階層記述とマッチしない場合はステータス 2 で 終了します。 ただしオプション .Fl U が指定されている場合は、ステータス 2 はステータス 0 に変換されます。 .Sh 使用例 「トロイの木馬」に感染したシステムバイナリを検出するには、 以下のように操作することを推奨します。 ファイルシステムに対して .Nm .Fl K .Cm sha1digest を実行し、その結果のコピーを別マシンか、少なくとも暗号化した形式で ストアします。 出力ファイル自身は .Xr md5 1 ユーティリティを用いてダイジェストを作成します。 そして定期的に .Nm と .Xr md5 1 をオンラインのファイル階層記述に対して走らせます。 クラッカーが手を加えたバイナリに合わせて オンラインのファイル階層記述を変更することは 可能ですが、オリジナルと同じ MD5 ダイジェストをもつ記述を作成するのは 非現実的だと考えらていれます。 .Pp .Fl d オプションおよび .Fl u オプションを組み合わせると、ソフトウェア配布やそれに類する処理のために ディレクトリ階層を作成するのに用いることができます。 .Pa /etc/mtree に置かれたファイル群は、この .Fx 配布のほとんど全てのディレクトリを作成するのに用いられました。 .Sh 関連ファイル .Bl -tag -width /etc/mtree -compact .It Pa /etc/mtree システムのファイル階層記述ディレクトリ .El .Sh 診断 .Ex -std .Sh 関連項目 .Xr chflags 1 , .Xr chgrp 1 , .Xr chmod 1 , .Xr cksum 1 , .Xr md5 1 , .Xr stat 2 , .Xr fts 3 , .Xr md5 3 , .Xr chown 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.3 Reno で登場しました。 .Tn MD5 ダイジェスト機能は、 .Xr cksum 1 をだますプログラムが広範囲に悪用されたのに対抗して .Fx 2.1 で追加されました。 新たな攻撃により .Tn MD5 の弱さが示されたため、 .Tn SHA-1 と .Tn RIPEMD160 のダイジェスト機能が .Fx 4.0 で追加されました。 ファイルフラグのサポートは .Fx 4.0 で追加されました。このほとんどは .Nx 由来です。 diff --git a/ja_JP.eucJP/man/man8/natd.8 b/ja_JP.eucJP/man/man8/natd.8 index a89d1f8942..da994ec8cf 100644 --- a/ja_JP.eucJP/man/man8/natd.8 +++ b/ja_JP.eucJP/man/man8/natd.8 @@ -1,632 +1,640 @@ -.\" %FreeBSD: src/sbin/natd/natd.8,v 1.60 2003/08/13 15:13:33 ru Exp % +.\" %FreeBSD: src/sbin/natd/natd.8,v 1.61 2003/09/23 07:41:55 marcus Exp % .\" .\" $FreeBSD$ .Dd February 28, 2003 .Dt NATD 8 .Os .Sh 名称 .Nm natd .Nd ネットワークアドレス変換デーモン .Sh 書式 .Nm .Bk -words .Op Fl unregistered_only | u .Op Fl log | l .Op Fl proxy_only .Op Fl reverse .Op Fl deny_incoming | d .Op Fl use_sockets | s .Op Fl same_ports | m .Op Fl verbose | v .Op Fl dynamic .Op Fl in_port | i Ar port .Op Fl out_port | o Ar port .Op Fl port | p Ar port .Op Fl alias_address | a Ar address .Op Fl target_address | t Ar address .Op Fl interface | n Ar interface .Op Fl proxy_rule Ar proxyspec .Op Fl redirect_port Ar linkspec .Op Fl redirect_proto Ar linkspec .Op Fl redirect_address Ar linkspec .Op Fl config | f Ar configfile .Op Fl log_denied .Op Fl log_facility Ar facility_name .Op Fl punch_fw Ar firewall_range +.Op Fl skinny_port Ar port .Op Fl log_ipfw_denied .Op Fl pid_file | P Ar pidfile .Ek .Sh 解説 .Nm ユーティリティは、 .Fx における .Xr divert 4 ソケットと共に用いることによって、ネットワークアドレスの変換を 行います。 .Pp (PPP リンク上で NAT が必要な場合、ほとんどの .Nm 機能を提供し、同じ .Xr libalias 3 ライブラリを使用する、 .Xr ppp 8 の .Fl nat オプションが提供されています)。 .Pp .Nm ユーティリティは通常、デーモンとしてバックグラウンドで実行します。 .Nm はマシンに入ってくるパケット、またはマシンから出て行くパケットを 生 (raw) のまま扱い、場合により IP パケットストリームに 再び送り出す前に手を加えます。 .Pp .Nm natd は他のホストへ向かうすべてのパケットについて、発信元 IP アドレスを 現在のマシンのものにする、という変換を行います。 このように変換された各パケットについて、変換内容を記録するために 内部テーブルエントリが作成されます。 発信元ポート番号も、パケットに適用したテーブルエントリを示すように 変更されます。 現在のホストの、対象となる IP アドレスを使ったパケットが受信されると、 この内部テーブルがチェックされます。 エントリが見つかると、パケットに正しい対象 IP アドレスとポート番号を 入れるのに利用されます。 .Pp 以下のコマンドラインオプションが利用できます。 .Bl -tag -width Fl .It Fl log | l 様々なエイリアスの統計や情報をファイル .Pa /var/log/alias.log に記録します。このファイルは .Nm が起動されるたびに切りつめられます。 .It Fl deny_incoming | d 入力パケットのうち、内部変換テーブルに エントリの無いものを渡しません。 .Pp 本オプションを使用しないと、このようなパケットは下記の .Fl target_address ルールを使用して変更され、内部変換テーブルにエントリが作成されます。 .It Fl log_denied 拒否した入力パケットを .Xr syslog 3 を介してログします ( .Fl log_facility を参照してください)。 .It Fl log_facility Ar facility_name .Xr syslog 3 を介して情報をログするときに、指定したログファシリティを使用します。 引数 .Ar facility_name は .Xr syslog.conf 5 に記述されているキーワードのうちのひとつです。 .It Fl use_sockets | s FTP data コネクションや IRC DCC send コネクションを確立するのに .Xr socket 2 を割り当てます。このオプションはよりシステムリソースを消費しますが、 ポート番号が衝突する場合でもコネクションが成功することを保証します。 .It Fl same_ports | m 出て行くパケットを変換する時に、できるだけポート番号を同じまま 保つようにします。このオプションにより、RPC のようなプロトコルが うまく働く可能性があがります。ポート番号を維持することができない時には、 暗黙のうちに通常と同じ方法で変換されます。 .It Fl verbose | v 起動時に .Xr daemon 3 を呼び出しません。よって、制御端末から切り離されずに、標準出力に すべてのパケット変換を表示します。このオプションはデバッグの目的に のみ用いるべきです。 .It Fl unregistered_only | u .Em 登録されていない 発信元アドレスを伴う出て行くパケットのみを変換します。 RFC 1918 によれば、登録されていない発信元アドレスは 10.0.0.0/8 と 172.16.0.0/12 と 192.168.0.0/16 となっています。 .It Fl redirect_port Ar proto Xo .Ar targetIP Ns : Ns Xo .Ar targetPORT Ns Op - Ns Ar targetPORT Xc .Op Ar aliasIP Ns : Ns Xo .Ar aliasPORT Ns Op - Ns Ar aliasPORT Xc .Oo Ar remoteIP Ns Oo : Ns .Ar remotePORT Ns Op - Ns Ar remotePORT .Oc Oc .Xc 指定されたポートに入ってくるコネクションを別のホストとポートに リダイレクトします。 引数 .Ar proto には .Ar tcp または .Ar udp を指定します。 .Ar targetIP は転送先の IP アドレス、 .Ar targetPORT は同じく転送先ポート番号 (範囲指定可能)、 .Ar aliasPORT は接続を受け付けるポート番号 (範囲指定可能)、 .Ar aliasIP は同じく接続を受け付けるアドレスです。 必要に応じて .Ar remoteIP と .Ar remotePORT を指定し、接続元を限定することができます。 .Ar remotePORT の指定を省略した場合、全ポート番号が指定されたものとされます。 .Pp 引数 .Ar targetIP , aliasIP , .Ar remoteIP は、IP アドレスまたはホスト名で与えられます。 .Ar targetPORT , aliasPORT , .Ar remotePORT の範囲は、番号は異なっていても構いませんが、大きさは同じである必要があります。 .Ar targetPORT , aliasPORT , .Ar remotePORT が単一の値 (範囲ではない) を指定する場合、 .Xr services 5 データベース中で検索されるサービス名で指定可能です。 .Pp 例えば、 .Pp .Dl Ar tcp inside1:telnet 6666 .Pp という引数は、このマシンのポート 6666 に向けられた tcp パケットが マシン inside1 の telnet ポートに送られることを示しています。 .Pp .Dl Ar tcp inside2:2300-2399 3300-3399 .Pp は、 ポート 3300-3399 に向けられた入力コネクションを ホスト inside2 のポート 2300-2399 へリダイレクトします。 マッピングは、ポート 3300 は 2300 に 3301 は 2301 にというように 1対1で行われます。 .It Fl redirect_proto Ar proto localIP Oo .Ar publicIP Op Ar remoteIP .Oc .Ar publicIP に向けられたプロトコル .Ar proto ( .Xr protocols 5 を参照) の入力 IP パケットを、 .Ar localIP アドレスへリダイレクトし、その逆も行います。 .Pp .Ar publicIP が指定されないと、デフォルトのエイリアスアドレスが使用されます。 .Ar remoteIP が指定されると、 .Ar remoteIP から/へ向けて到着したパケットのみがルールにマッチします。 .It Fl redirect_address Ar localIP publicIP 公式な IP アドレスへのパケットの流れを、ローカルネットワーク内の マシンにリダイレクトします。この機能は .Em 静的 NAT (static NAT) と 呼ばれています。 静的 NAT はあなたの ISP が IP アドレスの小さなブロックをあなたに 割り当てた時に、単一のアドレスとして用いるのにも利用できます: .Pp redirect_address 10.0.0.8 0.0.0.0 .Pp 上記のコマンドは入ってくすべてのパケットをマシン 10.0.0.8 に リダイレクトします。 .Pp 下記のように、いくつかのアドレスエイリアスが同一の公式アドレスを 示すように指定すると、 .Pp .Bd -literal -offset indent .Ar redirect_address 192.168.0.2 public_addr .Ar redirect_address 192.168.0.3 public_addr .Ar redirect_address 192.168.0.4 public_addr .Ed .Pp 入ってくるパケットの流れは最後に変換されたローカルアドレス (192.168.0.4) に向けられますが、最初の二つのアドレスへの出力 パケットの流れは、指定された .Ar public_addr からのエイリアスのままになります。 .It Fl redirect_port Ar proto Xo .Ar targetIP Ns : Ns Xo .Ar targetPORT Ns Oo , Ns .Ar targetIP Ns : Ns Xo .Ar targetPORT Ns Oo , Ns .Ar ...\& .Oc Oc .Xc .Xc .Op Ar aliasIP Ns : Ns Xo .Ar aliasPORT .Xc .Oo Ar remoteIP Ns .Op : Ns Ar remotePORT .Oc .Xc .It Fl redirect_address Xo .Ar localIP Ns Oo , Ns .Ar localIP Ns Oo , Ns .Ar ...\& .Oc Oc .Ar publicIP .Xc 書式 .Fl redirect_port および .Fl redirect_address は、単一サーバのネットワーク負荷をオフロードし、 負荷をサーバプールへ分散します。 この機能は .Em LSNAT (RFC 2391) として知られています。 例えば、引数 .Pp .Dl Ar tcp www1:http,www2:http,www3:http www:http .Pp は、ホスト www への入力 HTTP 要求を、 www1, www2, www3 のいずれかへ、透過的にリダイレクトします。 ここで、ホストの選択は、ネットの負荷にかかわらず、 単純にラウンドロビンで行われます。 .It Fl dynamic .Fl n オプションや .Fl interface オプションが用いられると、 .Nm は 指定された .Ar interface へルーティングする変換ソケットを監視します。 .\" (訳注) kuriyama@opt.phys.waseda.ac.jp (Nov 29 1997) .\" 上の訳はどうも意味が通らない。原文は以下の通り。誰か直して。 .\" .Nm .\" will monitor the routing socket for alterations to the .\" .Ar interface .\" passed. .\" (訳注2) kuriyama@opt.phys.waseda.ac.jp (Jan 4 1998) .\" ちょっと直してみたけどまだ不満。 インタフェースの IP アドレスが変化すると、 .Nm はエイリアスアドレスを動的に変更します。 .It Fl in_port | i Ar port すべてのパケットを .Dq 入力 として扱い、 .Xr divert 4 ポート .Ar port から読み込み .Ar port へ書き出します。 .It Fl out_port | o Ar port すべてのパケットを .Dq 出力 として扱い、 .Xr divert 4 ポート .Ar port から読み込み、 .Ar port へ書き出します。 .It Fl port | p Ar port .Xr divert 4 によって指定されたルールを用いてパケットを識別し、 .Dq 入力 パケットを .Xr divert 4 ポート .Ar port から読み、 .Dq 出力 パケットを .Ar port へ書き出します。 .Ar port が数字でない場合、 データベースが検索されます。 このフラグが指定されない時には、デフォルトとして .Ar natd という名前の divert ポートが用いられます。 .It Fl alias_address | a Ar address エイリアスアドレスとして .Ar address を用います。 .Fl proxy_only オプションが指定されない場合、 このオプションか .Fl interface オプションのどちらかが指定されなければなりません (片方だけです)。 指定されたアドレスは、 .Dq 公開された ネットワークインタフェースに割当てられたアドレスである 必要があります。 .Pp .Em 出力される 全データのソースアドレスは .Ar address に書換えられます。 .Em 到着する 全データは、 既にエイリアスされた外向け接続にマッチするかどうかチェックされます。 マッチする場合、パケットはそれぞれ変換されます。 マッチしない場合、 .Fl redirect_port , .Fl redirect_proto , .Fl redirect_address の割り当てをチェックしそれぞれの動作を行います。 他の動作が行えない場合かつ .Fl deny_incoming が指定されていない場合、後述の .Fl target_address オプションに指定された通りに、 このパケットはローカルのマシンに配送されます。 .It Fl t | target_address Ar address 対象アドレスを設定します。 既存のリンクとは関連付けられていない入力パケットがホストマシンに到着した時、 そのパケットは指定された .Ar address へ送られます。 .Pp 対象アドレスは .Ar 255.255.255.255 に設定可能です。 この場合、すべての新規入力パケットは、 .Fl alias_address または .Fl interface で設定されるエイリアスアドレスへ行きます。 .Pp このオプションを使用しない場合、または引数 .Ar 0.0.0.0 で呼ばれた場合、 すべての新規入力パケットはパケット中で指定されるアドレスへ行きます。 これにより、パケットの経路が可能な場合には、 外部のマシンが内部のマシンと直接通信可能になります。 .It Fl interface | n Ar interface エイリアスアドレスを決めるのに、 .Ar interface を用います。 .Ar interface に関連づけられた IP アドレスが変化する可能性がある場合には、 .Fl dynamic オプションも指定されるべきです。 このオプションが指定されない場合、 .Fl alias_address オプションを使用する必要があります。 .Pp 指定された .Ar interface は、通常、 .Dq 公開された (または .Dq 外部 の) ネットワークインタフェースです。 .It Fl config | f Ar file .Ar file から設定を読み込みます。 .Ar file はオプションのリストを含み、上記のコマンドラインフラグの長い表記と 同じ物が 1 行ずつ入ります。例えば、 .Pp .Dl alias_address 158.152.17.1 .Pp という行はエイリアスアドレスに 158.152.17.1 を指定します。 設定ファイル内では、引数を持たないオプションは .Ar yes か .Ar no を伴って指定されます。例えば、 .Pp .Dl log yes .Pp は .Fl log と同じ意味になります。 .Pp 後続する空白と空行は無視されます。 .Ql \&# 記号は、行の残りがコメントである印です。 .It Fl reverse このオプションを指定すると .Nm は .Dq 入力 パケットと .Dq 出力 パケットを逆に扱い、 .Dq 外部 インタフェースの代りに .Dq 内部 インタフェース上で動作します。 .Pp 出力トラフィックがローカルマシンにリダイレクトされ、 .Nm が入力インタフェースで走行している (通常は出力インタフェースで走行します) といった、透過プロキシを実行している状況で有用な場合があります。 .It Fl proxy_only .Nm が透過プロキシのみを実行するよう強制します。 通常のアドレス変換は実行されません。 .It Fl proxy_rule Xo .Op Ar type encode_ip_hdr | encode_tcp_stream .Ar port xxxx .Ar server a.b.c.d:yyyy .Xc 透過プロキシを有効にします。 指定したポートのパケットでこのホストから他のホストへ向かう出力 TCP パケットは、 指定したサーバのポートへリダイレクトされます。 オプションとして、元の宛先アドレスがパケットにエンコードされます。 .Ar encode_ip_hdr は、この情報を IP オプションフィールドに置きます。 .Ar encode_tcp_stream は、このデータを TCP ストリームの先頭に挿入します。 .It Fl punch_fw Xo .Ar basenumber Ns : Ns Ar count .Xc このオプションは、FTP/IRC DCC コネクション用に、 .Xr ipfirewall 4 ベースのファイアウォールに穴を開けるよう、 .Nm に指示します。 これは、 特定のコネクション (このコネクションのみ) の ファイアウォールの通り抜けを許すという、 一時的なファイアウォールルールを、動的にインストールすることで実現されます。 このルールは、対応するコネクションが終了すると、自動的に削除されます。 .Pp .Ar basenumber から開始する最大 .Ar count 個のルールが使用され、ファイアウォールに穴を開けます。 すべてのルールに対する範囲は、起動時にクリアされます。 +.It Fl skinny_port Ar port +このオプションで、Skinny Station プロトコルに使用する TCP ポートを +指定可能です。 +Cisco Call Managers と通信してボイスオーバ IP コールを設定するために、 +Cisco IP 電話が Skinny を使用します。 +デフォルトでは、Skinny エイリアスは実行されません。 +Skinny 用の典型的なポート番号は 2000 です。 .It Fl log_ipfw_denied .Xr ipfw 8 ルールがブロックしたことにより、パケットが再挿入できなかったときに、 ログします。 .Fl verbose 付きの場合は、これがデフォルトです。 .It Fl pid_file | P Ar file プロセス ID を格納するための別のファイルを指定します。 デフォルトは .Pa /var/run/natd.pid です。 .El .Sh NATD の実行 .Nm natd を走らせようとする前には以下の手順が必要となります: .Bl -enum .It 自分のカーネルを以下のオプションを付けて構築します: .Bd -literal -offset indent options IPFIREWALL options IPDIVERT .Ed .Pp 自分のカーネルを構築する方法については、ハンドブックに詳しい説明が あるのでそちらを参照してください。 .It あなたのマシンがゲートウェイとして働くようにします。これは .Pa /etc/rc.conf に .Pp .Dl gateway_enable=YES .Pp と指定するか、 .Pp .Dl "sysctl net.inet.ip.forwarding=1" .Pp というコマンドを用いることで機能するようになります。 .It .Fl interface オプションを使いたい場合は、そのインタフェースがすでに設定済みとなるように します。例えば、 .Ar interface として .Ql tun0 を指定しようとし、そのインタフェースで .Xr ppp 8 を使っている場合には、 .Nm natd を起動する前に .Nm ppp を起動するようにしなければなりません。 .El .Pp .Nm の実行は至って簡単です。 .Pp .Dl natd -interface ed0 .Pp という行でほとんどの場合充分です (正しいインタフェース名に置き換えて ください)。 ブート時に自動的に開始するように設定する方法については .Xr rc.conf 5 を参照してください。 .Nm が起動されたら、パケットの流れの方向が .Nm natd の方に変わる (divert される) ようにしなければなりません: .Bl -enum .It .Pa /etc/rc.firewall スクリプトをうまく調整する必要があります。ファイアウォールに 興味が無ければ、以下のようにすれば良いでしょう: .Bd -literal -offset indent /sbin/ipfw -f flush /sbin/ipfw add divert natd all from any to any via ed0 /sbin/ipfw add pass all from any to any .Ed .Pp 2 番目の行はあなたのインタフェースに依ります ( .Ql ed0 を適切に変更してください)。 .Pp このファイアウォールの設定では、 ローカルネットワーク上の誰もがソースアドレスをあなたのホストに 偽装可能であることを認識してください。 ローカルネットワーク上に他にホストがある場合、 信頼するホストへ/からのトラフィックのみを許可する ファイアウォールルールを作成することを 強く勧めます。 .Pp 本物のファイアウォールルールを指定する場合、スクリプトの先頭で上記の 2 行目を 指定すると良いでしょう。 そうすることによって、ファイアウォールにより排除されてしまう前に、 .Nm がすべてのパケットを見ることができるようになります。 .Pp .Nm natd の変換後、転換を生じさせたルール番号の次のルール番号から、 パケットはファイアウォールに再入します (同じ番号に複数のルールがある場合には、次のルールからにはなりません)。 .It .Pa /etc/rc.conf で .Pp .Dl firewall_enable=YES .Pp と設定し、ファイアウォールを作動させます。これはシステムの起動時のスクリプトに .Pa /etc/rc.firewall スクリプトを実行するように伝えます。 今すぐ再起動したくない場合には、コンソールから手で実行してください。 バックグラウンドで実行させるのでない限り、これは決して仮想セッションから 行ってはいけません。もし実行させてしまうと、flush が行われた後に あなたは締め出されてしまい、すべてのアクセスを永久に遮断するために この地点で .Pa /etc/rc.firewall の実行は止まってしまいます。スクリプトをバックグラウンドで実行すれば、 この災害を避けることができます。 .El .Sh 関連項目 .Xr libalias 3 , .Xr divert 4 , .Xr protocols 5 , .Xr rc.conf 5 , .Xr services 5 , .Xr syslog.conf 5 , .Xr ipfw 8 , .Xr ppp 8 .Sh 作者 このプログラムは、多くの人々の細切れの努力の結果です: .Pp .An Archie Cobbs Aq archie@FreeBSD.org (divert ソケット) .An Charles Mott Aq cm@linktel.net (パケットエイリアス) .An Eivind Eklund Aq perhaps@yes.no (IRC サポートとその他の追加) .An Ari Suutari Aq suutari@iki.fi (natd) .An Dru Nelson Aq dnelson@redwoodsoft.com (初期の PPTP サポート) .An Brian Somers Aq brian@awfulhak.org (まとめ役) .An Ruslan Ermilov Aq ru@FreeBSD.org (natd とパケットエイリアシングと糊) diff --git a/ja_JP.eucJP/man/man8/newfs.8 b/ja_JP.eucJP/man/man8/newfs.8 index cce1d06d56..27a6a96d8d 100644 --- a/ja_JP.eucJP/man/man8/newfs.8 +++ b/ja_JP.eucJP/man/man8/newfs.8 @@ -1,247 +1,247 @@ .\" Copyright (c) 1983, 1987, 1991, 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)newfs.8 8.6 (Berkeley) 5/3/95 -.\" %FreeBSD: src/sbin/newfs/newfs.8,v 1.61 2003/04/20 19:16:21 brueffer Exp % +.\" %FreeBSD: src/sbin/newfs/newfs.8,v 1.63 2003/09/14 20:35:22 ceri Exp % .\" .\" $FreeBSD$ .Dd May 18, 2002 .Dt NEWFS 8 .Os BSD 4.2 .Sh 名称 .Nm newfs .Nd 新しい UFS1/UFS2 ファイルシステムを作成する .Sh 書式 .Nm .Op Fl NU .Op Fl L Ar volname .Op Fl O Ar filesystem-type .Op Fl S Ar sector-size .Op Fl T Ar disktype .Op Fl a Ar maxcontig .Op Fl b Ar block-size .Op Fl c Ar blocks-per-cylinder-group .Op Fl d Ar max-extent-size .Op Fl e Ar maxbpg .Op Fl f Ar frag-size .Op Fl g Ar avgfilesize .Op Fl h Ar avgfpdir .Op Fl i Ar bytes .Op Fl m Ar free-space .Op Fl o Ar optimization .Op Fl s Ar size .Ar special .Sh 解説 .Nm ユーティリティは、 ファイルシステムを最初に使用する前に初期化およびクリアします。 .Nm を走らせる前に、 .Xr disklabel 8 を使ってディスクラベルを書き込んでいなければなりません。 .Nm ユーティリティは、指定した特殊ファイルにファイルシステムを作成します。 (しばしば .Dq 特殊ファイル を .Dq ディスク として扱いますが、特殊ファイルは物理ディスクである必要はありません。 事実、特殊ファイルである必要もありません。) デフォルト値はたいてい妥当な値となりますが、 .Nm にはこの値を変更するための数多くのオプションがあります。 .Pp 以下のオプションにて一般的な配置方針を定義します。 .Bl -tag -width indent .It Fl L Ar volname 新規ファイルシステムにボリュームラベルを追加します。 .It Fl N 実際にはファイルシステムを構築せずに、ファイルシステム パラメータの表示のみを行います。 .It Fl O Ar filesystem-type UFS1 フォーマットのファイルシステムの構築には 1 を使用し、 UFS2 フォーマットのファイルシステムの構築には 2 を使用します。 デフォルトでは UFS2 フォーマットです。 .It Fl T Ar disktype 過去のものとの互換性のための物です。 .It Fl U ソフトアップデートを新規ファイルシステム上で有効にします。 .It Fl a Ar maxconting 回転遅延 (rotational delay) を強制する前に 配置される連続ブロックの最大数を指定します。 デフォルトは 1 です。このオプションをどのように設定す るかについて、詳しくは .Xr tunefs 8 を参照してください。 .It Fl b Ar block-size ファイルシステムのブロックサイズをバイト単位で指定します。 2 のべき乗である必要があります。 デフォルトサイズは 16384 バイトであり、 可能な最小サイズは 4096 バイトです。 最適なブロックとフラグメントの比率は 8:1 です。 他の比率も可能ですが、お勧めできませんし、お粗末な結果となるかもしれません。 .It Fl c Ar #cylinders/group ファイルシステムのシリンダグループごとのシリンダ数を指定します。 デフォルトは、他のパラメータに許される最大値を計算するものです。 この値は、他の多くのパラメータ、 特にブロックサイズとバイトあたりの inode 数に依存します。 .Nm は最大値を表示します。 .It Fl d Ar max-extent-size 大きなファイルを格納するためにエクステントを使用することを、 ファイルシステムは選択できます。 本パラメータは使用可能な最大エクステントの大きさを指定します。 現在のところ、ファイルシステムのブロックサイズの 16 倍に制限されており、 これがデフォルト値となっています。 .It Fl e Ar maxbpg 単一のファイルが他のシリンダグループへまたがることを強制される前に、 1 つのシリンダグループから割り当てることのできる最大のブロック数を指定し ます。デフォルト値は、シリンダグループのブロック数の約 1/4 です。この オプションの詳細については、 .Xr tunefs 8 を参照してください。 .It Fl f Ar frag-size ファイルシステムのフラグメントサイズをバイト単位で指定します。 .Ar blocksize Ns /8 から .Ar blocksize までの範囲の、2 のべき乗である必要があります。 デフォルトは 2048 バイトです。 .It Fl g Ar avgfilesize ファイルシステム中の、ファイルサイズの平均の期待値。 .It Fl h Ar avgfpdir ファイルシステム中の、ディレクトリあたりのファイル数の平均の期待値。 .It Fl i Ar bytes ファイルシステム中の inode の密度を設定します。デフォルト は、 .Pq 4 * フラグメントサイズ バイトのデータ領域ごとに 1 つの inode を作ります。 inode 数を少なくしたい場合は大きな値を指定し、 inode 数を多くしたい場合は小さな値を指定します。 各ファイルに対して inode が 1 個必要ですので、 ファイルシステム上の平均ファイルサイズを、 この値は事実上指定します。 .It Fl m Ar free-space 通常のユーザからは保護されている領域のパーセンテージを 指定します。 これは最低限の空き領域のしきい値となります。 デフォルト値は -.Aq Pa ufs/ffs/fs.h +.In ufs/ffs/fs.h にて .Dv MINFREE と定義され、現在 8% です。 このオプションの詳細については、 .Xr tunefs 8 を参照してください。 .It Fl o Ar optimization .Cm ( space か .Cm time ) 。 ブロック確保に費す時間を最小にするか、 ディスク上のフラグメント領域を最小にするかを、 ファイルシステムに指示します。 デフォルトで minfree (前述) が 8% を下回る場合は、 .Cm space (空間) の最小化が行われ、8% 以上ならば .Cm time (時間) の最小化が行われます。 このオプションの詳細については、 .Xr tunefs 8 を参照してださい。 .It Fl s Ar size ファイルシステムサイズをセクタ単位で指定します。 デフォルト値は、 .Ar special で指定される raw パーティションのサイズです (言い換えると、 .Nm はパーティション全体をファイルシステムに使用します)。 .El .Pp 次のオプションは、ディスクジオメトリの標準設定を変更します。 デフォルトの値はディスクラベルから得られます。 これらの値を変更するのは、 最初にファイルシステムを構築したときとは異なるタイプのディスク上で ロウイメージを使用してファイルシステムを構築するようなときだけです (たとえば、ライトワンスディスク上など)。 これらの値をデフォルトの 値から変更すると、標準のスーパブロックが壊れたときに、 .Xr fsck 8 が代替のスーパブロックを見つけることができなくなるので注意して ください。 .Bl -tag -width indent .It Fl S Ar sector-size セクタサイズ (バイト単位) です (通常 512 以外は使用しません)。 .El .Sh 使用例 .Dl newfs /dev/ad3s1a .Pp 新規の UFS ファイルシステムを .Pa ad3s1a に作成します。 .Nm ユーティリティは、 ブロックサイズに 16384 バイト、フラグメントサイズに 2048 バイト、 シリンダグループあたりのブロック数に最大数を使用します。 ほとんどのアプリケーションに対し、 これらの値は歴史的なデフォルト (8192 バイトブロックと 1024 バイトフラグメント) よりも良い性能となる傾向があります。 この大きなフラグメントサイズは、 小さなファイルを大量に含むファイルシステム上に、無駄な領域を生じさせえます。 .Sh 関連項目 .Xr fdformat 1 , .Xr disktab 5 , .Xr fs 5 , .Xr camcontrol 8 , .Xr disklabel 8 , .Xr dumpfs 8 , .Xr fsck 8 , .Xr mount 8 , .Xr tunefs 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 .%V 3 .%P pp 181-197 .%D August 1984 .%O (reprinted in the BSD System Manager's Manual) .Re .Sh 歴史 .Nm ユーティリティは、 .Bx 4.2 から登場しています。 diff --git a/ja_JP.eucJP/man/man8/ping.8 b/ja_JP.eucJP/man/man8/ping.8 index d685b9e380..d0c51e8520 100644 --- a/ja_JP.eucJP/man/man8/ping.8 +++ b/ja_JP.eucJP/man/man8/ping.8 @@ -1,497 +1,496 @@ .\" Copyright (c) 1985, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)ping.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/sbin/ping/ping.8,v 1.49 2003/06/25 13:02:18 ru Exp % +.\" %FreeBSD: src/sbin/ping/ping.8,v 1.50 2003/09/08 19:57:18 ru Exp % .\" .\" $FreeBSD$ .\" .Dd October 2, 2002 .Dt PING 8 .Os .Sh 名称 .Nm ping .Nd .Tn ICMP ECHO_REQUEST パケットをネットワーク上のホストへ送る .Sh 書式 .Nm .Op Fl AaDdfnoQqRrv .Op Fl c Ar count .Op Fl i Ar wait .Op Fl l Ar preload .Op Fl M Cm mask | time .Op Fl m Ar ttl .Op Fl P Ar policy .Op Fl p Ar pattern .Op Fl S Ar src_addr .Op Fl s Ar packetsize .Op Fl t Ar timeout .Op Fl z Ar tos .Ar host .Nm .Op Fl AaDdfLnoQqRrv .Op Fl c Ar count .Op Fl I Ar iface .Op Fl i Ar wait .Op Fl l Ar preload .Op Fl M Cm mask | time .Op Fl m Ar ttl .Op Fl P Ar policy .Op Fl p Ar pattern .Op Fl S Ar src_addr .Op Fl s Ar packetsize .Op Fl T Ar ttl .Op Fl t Ar timeout .Op Fl z Ar tos .Ar mcast-group .Sh 解説 .Nm ユーティリティは、 .Tn ICMP の .Tn ECHO_REQUEST データグラムを用いて、指定したホストやゲートウェイ からの .Tn ICMP ECHO_RESPONSE を引き出します。 .Tn ECHO_REQUEST データグラム .Pq Dq ping には IP および .Tn ICMP ヘッダ、 .Dq struct timeval 、パケットの残りを埋める適当な数の .Dq pad バイトが順にあります。 オプションは以下の通りです: .Bl -tag -width indent .It Fl A 聴覚モード。 次のパケットを送信する前にパケットを受け取らないと、 ベル .Tn ( ASCII 0x07) 文字を出力します。 送信間隔よりも往復時間が長い場合のために、 未受信パケット数の最大値を増加させた場合のみ、 それを越えて喪失したパケットがベルを鳴らします。 .It Fl a 聴覚モード。パケットを受け取った時に、出力にベル .Tn ( ASCII 0x07) 文字を 含みます。このオプションは、別形式のオプションがある場合は無視されます。 .It Fl c Ar count .Tn ECHO_RESPONSE パケットを .Ar count 回送出 (そして受信) してから終了します。 本オプションが指定されない場合、 .Nm は割り込まれるまで動作を継続します。 .It Fl D フラグメント無しフラグを設定します。 .It Fl d 使用する socket に .Dv SO_DEBUG オプションを設定します。 .It Fl f .Tn ECHO_REQUEST ping を垂れ流します。 パケットが返って来るとすぐ、もしくは 100 分の 1 秒に 1 回のいずれか多い回数だけ パケットを出力します。 .Tn ECHO_REQUEST パケットを送るたびに .Dq .\& が表示され、 .Tn ECHO_REPLY パケットを受信するたびにバックスペースが表示されます。 これによりどれだけのパケットが欠落したのかをすばやく表示することができます。 スーパユーザのみ使用可能です .Bf -emphasis このオプションはネットワークに非常に負荷をかけるので、注意して使用する 必要があります。 .Ef .It Fl I Ar interface 与えられたインタフェースアドレスに対して、マルチキャストパケットを 送ります。このフラグは、ping の宛先アドレスがマルチキャストアドレスの 場合だけに適用できます。 .It Fl i Ar wait .Ar wait で指定した秒数だけパケットの送出間隔を空けます。 デフォルトでは送出間隔は 1 秒です。 より小さい値を指定できますが、 1 より小さい値を指定できるのはスーパユーザだけです。 このオプションは .Fl f オプションとは同時に指定できません。 .It Fl L マルチキャストパケットのループバックを抑制します。 このフラグは、宛先アドレスがマルチキャストアドレスの場合だけ 適用できます。 .It Fl l Ar preload 指定した .Ar preload 値だけ .Tn ECHO_REQUEST パケットを出来るだけ速く送信し、通常の動作に戻ります。 スーパユーザのみがこのオプションを使用できます。 .It Fl M .Dv ICMP_ECHO の代りに .Dv ICMP_MASKREQ または .Dv ICMP_TSTAMP を使用します。 .Cm mask では、リモートマシンのネットマスクを表示します。 .Va net.inet.icmp.maskrepl MIB 変数を設定すると、 .Dv ICMP_MASKREPLY が有効になります。 .Cm time では、起点、受理、送信のタイムスタンプが表示されます。 .It Fl m Ar ttl 出力パケットの IP Time To Live を設定します。 指定しないと、カーネルは .Va net.inet.ip.ttl MIB 変数の値を使用します。 .It Fl n 数値のみ出力します。ホストアドレスに対する名前を調べるようなことは しません。 .It Fl o 応答パケットを 1 個受け取ると、成功状態で終了します。 .It Fl P Ar policy .Ar policy は、ping セッションの IPsec ポリシを指定します。 詳細については .Xr ipsec 4 と .Xr ipsec_set_policy 3 を参照してください。 .It Fl p Ar pattern 送出するパケットを埋める .Dq pad バイトを指定します。 .Dq pad バイトは 16 バイトを上限とします。 これはネットワーク上でデータ依存の問題を診断するときに有効です。たとえば .Dq Li \-p ff は全て 1 の送出パケットを生成します。 .It Fl Q いくらか静かな出力にします。 自己が行なった問い合わせに対しての応答に含まれる ICMP エラーメッセージは表示されません。 もともとは、 .Fl v オプションがそのようなエラーを表示するために必要でしたが、 .Fl v オプションは全ての ICMP エラーメッセージを表示します。忙しい機械上では、 この出力は更に負荷になるでしょう。 .Fl Q オプションを指定しないと、 .Nm は、 自己の ECHO_REQUEST メッセージに起因する ICMP エラーメッセージを表示します。 .It Fl q 出力を抑制します。開始時と終了時の要約行しか表示しません。 .It Fl R 指定ホストまでの到達経路を記録します。 .Tn ECHO_REQUEST パケット中に .Tn RECORD_ROUTE オプションをつけ、返送パケット上の経路バッファを表示します。IP ヘッダには 経路を 9 個収める大きさしかないことに注意してください; 特定の宛先に対してパケットを経路づけるには、通常 .Xr traceroute 8 コマンドを使う方が良いでしょう。 不正に偽ったパケットによるなどして しかるべき経路数よりも大くの経路が帰って来た場合、 ping は経路リストを表示し、正しい位置にまで縮めます。 多くのホストは .Tn RECORD_ROUTE オプションを無視するか捨てます。 .It Fl r 通常のルーティングテーブルを無視し、 直接接続されているネットワーク上のホストに対して送信します。 指定接続されたネットワーク上にホストが存在しない場合には、エラーが返されます。 このオプションは経路情報を持たないインタフェースを経由してローカル ホストに ping をかけるのに用いられます (たとえばインタフェースが .Xr routed 8 によってドロップされた後)。 .It Fl S Ar src_addr 引き続いて指定する IP アドレスを、 出力パケットの送信元アドレスとして使用します。 複数の IP アドレスを持つホストでは、このオプションを使用することにより、 プローブパケットを送信するインタフェース以外の送信アドレスを強制可能です。 IP アドレスがこのマシンのインタフェースアドレスではない場合、 エラーが返され、送信は行われません。 .It Fl s Ar packetsize 送出するデータのバイト数を指定します。 デフォルトでは 56 バイトです。 これは .Tn ICMP ヘッダデータの 8 バイトと合せて 64 .Tn ICMP バイトになります。 スーパユーザのみ、デフォルト値より大きな値を指定可能です。 .It Fl T Ar ttl マルチキャストパケットの IP 寿命時間 (Time To Live) を設定します。 このオプションは、宛先アドレスがマルチキャストアドレスの場合だけ 適用できます。 .It Fl t Ar timeout タイムアウトを、秒単位で指定します。 タイムアウトすると、受信パケット数にかかわらず .Nm が終了します。 .It Fl v 冗長出力を有効にします。 .Tn ECHO_RESPONSE 以外の受信 .Tn ICMP パケットも表示されます。 .It Fl z Ar tos 指定されたタイプのサービスを使用します。 .El .Pp 問題の切り分けのために .Nm を用いるにはローカルインタフェースが up かつ running であることを 確認するため、まずローカルホスト上で実行します。 その後により遠くのホストやゲートウェイに .Dq ping します。 経路周回時間 (round trip time) と消失パケットの統計が計算されます。 重複したパケットが受信された場合、そのパケットは消失パケットの計算には 含まれませんが、経路周回時間の統計の計算には 使われます。 指定されたパケットの数が送信され (受信され) たとき、もしくはプログラムが .Dv SIGINT で終了した場合、簡単な要約が表示されます。 要約は、送出したパケット数、受信したパケット数、そして 経路周回時間の最小/平均/最大/分散です。 .Pp .Nm が .Dv SIGINFO シグナル ( .Xr stty 1 に対する .Cm status 引数を参照) を受信した場合、 現時点で送信および受信されたパケット数、 経路周回時間の最小/平均/最大/分散を、標準エラー出力に書き込みます。 .Pp このプログラムは主にネットワークのテスト、計測、管理に用いられことを 想定しています。 .Nm はそれ自体ネットワークに負荷をかけるので、トラブルのないときや自動スクリ プトで用いることは勧められません。 .Sh ICMP パケットの詳細 オプションなしの IP ヘッダは 20 バイトです。 .Tn ICMP .Tn ECHO_REQUEST パケットはさらなる 8 バイトの .Tn ICMP ヘッダとそれに続く任意の大きさのデータからなっています。 この大きさは .Ar packetsize によって指定されます (デフォルトでは 56 バイトです)。 このように受信した IP パケット内の .Tn ICMP .Tn ECHO_REPLY データ量は常に指定されたデータ .No ( Tn ICMP ヘッダ) の大きさよりも 8 バイト大きくなります。 .Pp データ領域が少なくとも 8 バイトあるとき、 .Nm は最初の 8 バイトを経路周回時間の計算に用いるタイムスタンプを書くために 用います。指定された pad の大きさが 8 バイトより小さい場合経路周回時間は 得られません。 .Sh 重複パケットと障害パケット .Nm ユーティリティは重複パケットと障害パケットを報告します。重複パケットは ユニキャストアドレスに対しては起こるはずのないものですが、 リンク層での不適切な再送信によって引き起こされるようです。 重複は様々な状況で起こる可能性があります。低いレベルの重複の存在は 必ずしも警告にならないかもしれませんが、よい兆候ではありません。 ブロードキャストもしくは マルチキャストアドレスに ping する時には、重複が起こることが期待されます。 実際に重複するのではなく、 異ったホストから同じ要求に対して応答が行われからです。 .Pp 障害を受けたパケットは明らかに重大な警告です。多くの場合、 .Nm パケットの経路のどこか(ネットワーク内かホスト内)のハードウェアの故障が 考えられます。 .Sh 異なったデータパターンの試行 (インター)ネットワーク層はデータ部分に含まれるデータによってパケットの扱い を変えません。不幸にもデータ依存性の問題がネットワークに侵入し長い間検知さ れないままとなる可能性が知られています。多くの場合、問題を引き起こす特殊 なパターンはたとえば全部 1 や全部 0 のようなもの、あるいは右端以外が 0 であるような十分な .Dq 遷移 を持たないものです。コマンドラインで(たとえば) 全部 0 のデータパターンを指定するだけでは不十分かもしれません。なぜな ら問題のパターンはデータリンク層にあり、コマンドラインで指定したものと コントローラが送信するものとの間の関係は複雑だからです。 .Pp このことはデータ依存性が問題となるとき、それを見付けるために多くのテストをし なければならないということを意味します。運がよければ、あるネットワーク を通して送れない、あるいは同じような長さのファイルよりもずっと長時間かか るファイルを見付けることができるかもしれません。この場合、そのファイル を調べ繰り返し現われるパターンを .Nm の .Fl p オプションを使ってテストできます。 .Sh TTL の詳細 IP パケットの .Tn TTL 値はパケットが捨てられずに通過できる IP ルータの最大数を表わ します。今のところインターネット上の各ルータは .Tn TTL フィールドをちょうど 1 だけ減らすと期待できます。 .Pp .Tn TCP/IP の仕様では .Tn TCP パケットの .Tn TTL フィールドを 64 にすべきと推奨していますが、多くのシステムは もっと小さい値を用いています .No ( Bx 4.3 では 30、 .Bx 4.2 では 15 を用いています)。 .Pp このフィールドに許される最大値は 255 です。 そして多くの .Ux システムでは .Tn ICMP ECHO_REQUEST パケットの .Tn TTL フィールドを 255 にしています。これが .Pq ping は出来るのに .Xr telnet 1 や .Xr ftp 1 で入れないホストが発生する理由です。 .Pp 通常 .Nm は受け取ったパケットの ttl 値を出力します。リモートシステム が ping パケットを受け取るとき、その応答における .Tn TTL フィールドに関し以下の 3 つのうちの 1 つを行なうことができます。 .Bl -bullet .It 変更しない;これは .Bx 4.3 tahoe リリース前の .Bx システムが行なっていたことです。 この場合、受け取ったパケット中の .Tn TTL 値は 255 から周回経路におけるルータの数を引いた数です。 .It 255 にセットする; これは現在の .Bx システムが行なっている ことです。この場合、受け取ったパケット中の .Tn TTL 値は 255 から、リモートシステム .Em から .Nm .Em している ホスト .Em まで の経路におけるルータの数を引いた数となります。 .It ある他の値にセットする。マシンによっては 30 あるいは 60 のような .Tn TCP パケットで用いるのと同じ値を .Tn ICMP パケットに使います。また全く異なる値を用いるマシンもあるかもしれません。 .El .Sh 戻り値 .Nm ユーティリティは、指定した .Ar host から少なくとも 1 回の応答を受信した場合、終了値 0 を返します; 送出は成功したものの応答を受信できない場合は 2 を返します; エラーが発生した場合は、他の値 -.No ( Aq Pa sysexits.h -に記述されている値) +.In ( sysexits.h が返されます。 .Sh 関連項目 .Xr netstat 1 , .Xr ifconfig 8 , .Xr routed 8 , .Xr traceroute 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.3 から登場しました。 .Sh 作者 オリジナルの .Nm ユーティリティは、 .An Mike Muuss が US Army Ballistics Research Laboratory にて記述しました。 .Sh バグ 多くのホストやゲートウェイは、 .Tn RECORD_ROUTE オプションを無視します。 .Pp 最大IPヘッダ長は、 .Tn RECORD_ROUTE オプションを付加するには小さ過ぎます。しかしながら、これについては出来 ることは多くありません。 .Pp ping を垂れ流しにするのは、一般に勧められません。特に ブロードキャストアドレスに対して ping の垂れ流しを行なうのは、 きちんと条件を整えた場合においてのみにとどめるべきです。 diff --git a/ja_JP.eucJP/man/man8/ppp.8 b/ja_JP.eucJP/man/man8/ppp.8 index 21c5f4411b..b05c20150a 100644 --- a/ja_JP.eucJP/man/man8/ppp.8 +++ b/ja_JP.eucJP/man/man8/ppp.8 @@ -1,5834 +1,5845 @@ .\" .\" Copyright (c) 2001 Brian Somers .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/ppp/ppp.8.m4,v 1.305 2003/06/20 18:14:57 ume Exp % +.\" %FreeBSD: src/usr.sbin/ppp/ppp.8.m4,v 1.306 2003/09/23 07:41:54 marcus Exp % .\" .\" $FreeBSD$ .\" .\" WORD: expect string 受信待ち文字列[chat.8,ppp.8] .Dd 20 September 1995 .nr XX \w'\fC00' .Dt PPP 8 .Os .Sh 名称 .Nm ppp .Nd PPP (Point to Point Protocol) (別名 user-ppp) .Sh 書式 .Nm .Op Fl Va mode .Op Fl nat .Op Fl quiet .Op Fl unit Ns Ar N .Op Fl alias .Op Ar system ... .Sh 解説 本プログラムは、ユーザプロセスとして動作する .Em PPP パッケージです。 .Em PPP は通常、( .Xr pppd 8 でそうなっているように) カーネルの一部として実装されますが、 そのため、デバッグや動作の変更が少々難しい場合があります。 それに対し、この実装ではトンネルデバイスドライバ (tun) を利用して、 ユーザプロセスで .Em PPP を実現しています。 .Pp .Fl nat フラグは、 .Dq nat enable yes と等価であり、 .Nm のネットワークアドレス変換機能を有効にします。 これにより .Nm は、内部 LAN 上の全マシンに対する NAT、 すなわちマスカレーディングエンジンとして動作します。 NAT エンジンの技術的な詳細は .Xr libalias 3 を参照してください。 .Nm での NAT の構成の仕方については、本マニュアルページの .Sx ネットワークアドレス変換 (パケットエイリアシング) を参照してください。 .Pp .Fl quiet フラグを指定すると、 .Nm は起動時に静かになり、 モードとインタフェースを標準出力へ表示しなくなります。 .Pp .Fl unit フラグは、 .Nm が .Pa /dev/tun Ns Ar N のみのオープンを試みるように指定します。 通常、 .Nm は .Ar N に対して値 0 から開始し、成功するまで .Ar N を値 1 ずつ増加させて、トンネルデバイスのオープンを試みます。 デバイスファイルが存在しないために、3 回連続して失敗すると、諦めます。 .Pp .Nm は次の .Va mode を理解します: .Bl -tag -width XXX -offset XXX .It Fl auto .Nm は tun インタフェースをオープンし、 これを設定した後バックグラウンドになります。 出力データが tun インタフェース上で検出されるまでリンクはアップせず、 出力データが tun インタフェース上で検出されると .Nm はリンクをアップしようとします。 .Nm がリンクをアップしようとしている間に受信したパケット (最初のものを含みます) は、デフォルトで 2 分間キューにとどまります。 後述の .Dq set choked コマンドを参照してください。 .Pp .Fl auto モードでは、 コマンドラインには少なくとも 1 つの .Dq system を指定する必要があり (後述)、 インタフェース設定時に使用する相手の IP アドレスを指定する .Dq set ifaddr を、システムプロファイルで実行する必要があります。 通常、 .Dq 10.0.0.1/0 のようなものが適切です。例としては、 .Pa /usr/share/examples/ppp/ppp.conf.sample の .Dq pmdemand システムを参照してください。 .It Fl background この場合、 .Nm は相手との接続をすぐに確立しようとします。 成功すると、 .Nm はバックグラウンドになり、親プロセスは終了コード 0 を返します。 失敗すると、 .Nm は非 0 の結果で終了します。 .It Fl foreground フォアグラウンドモードでは、 .Nm は相手との接続をすぐに確立しようとしますが、デーモンにはなりません。 リンクはバックグラウンドモードで作成されます。 .Nm の起動を別のプロセスから制御したい場合に有用です。 .It Fl direct これは、既に確率された接続を介して通信するために使用します。 通常は、入力接続を .Xr getty 8 が受け取ったときに使用されます .Nm は .Dq set device 行を無視し、リンクに記述子 0 を使用します。 .Nm はまた設定されたチャットスクリプトをすべて無視しますが、 .Dq force-scripts オプションが有効な場合は例外です。 .Pp コールバックの設定を行うと、ダイヤルバック時に .Nm は .Dq set device 情報を使用します。 .It Fl dedicated このオプションは、専用線で接続されたマシンのためにデザインされています。 .Nm はデバイスを常にオープンに保ちます。 また、設定されたチャットスクリプトは一切使用しませんが、 .Dq force-scripts オプションが有効な場合は例外です。 .It Fl ddial .Fl auto モードと等価ですが、なんらかの理由でリンクが落ちた場合に .Nm が再度リンクをアップすることが違います。 .It Fl interactive これは no-op であり、 前述のフラグがどれも指定されなかった場合の動作を行います。 .Nm はコマンドラインで指定されたセクションをロードし、対話プロンプトを提供します。 .El .Pp ( .Pa /etc/ppp/ppp.conf に指定される) 設定エントリ、すなわち system を、コマンドラインで 1 つ以上指定可能です。 起動時に .Nm は .Pa /etc/ppp/ppp.conf から .Dq default システムを読み込み、その後コマンドラインで指定した各 system を読み込みます。 .Sh 主な特徴 .Bl -diag .It 対話的なユーザインタフェースを提供 コマンドモードで利用する場合、ユーザがコマンドを 入力することで、簡単にリモートコンピュータとの接続の確立、 接続状態の確認、 接続の切断を行うことができます。 オプションとして、セキュリティ確保のために すべての機能をパスワードで保護することができます。 .It 手動と自動でのダイヤルをサポート 対話モードでは、直接デバイスと通信できるように .Dq term コマンドが用意されています。 リモートホストと接続されて、 .Em PPP での通信が始まったら、 .Nm はそれを検出して自動的にパケットモードに移行します。 ひとたびリモートホストとの接続に必要なコマンドシーケンスがわかったら、 後々の接続を簡単にするため、必要なダイヤル手順やログイン手順を定義した チャットスクリプトを書くことができます。 .It オンデマンドでのダイヤルアップをサポート .Fl auto モード (自動モード) では .Nm はデーモンとして動作し、 .Em PPP リンクを通して送られるパケットを待ちうけます。 パケットを検出すると、デーモンが自動的にダイヤルを行って接続を確立します。 .Fl ddial モード (直接ダイヤルモード) でも ほぼ同様に、自動ダイヤルと接続の確立を行います。 しかしながらこのモードは、送るべきパケットが存在しない場合にも、 リンクが切れていることを検出するといつでもリモートへダイヤルするという点が auto モードと異なります。 このモードは、電話料金よりも常時接続されていることが重視される場合に有用です。 3 番目の .Fl dedicated モード (専用線モード) も利用可能です。 このモードは 2 つのマシン間の専用線を対象にしています。 専用線モードでは .Nm は自発的に動作を終了することはありません - 終了するには .Dq quit all コマンドを診断ソケットを介して送る必要があります。 .Dv SIGHUP は LCP の再ネゴシエーションを強要し、 .Dv SIGTERM は終了を強要します。 .It クライアントコールバックをサポート .Nm は標準 LCP コールバックプロトコルならびに Microsoft コールバック制御プロトコル (ftp://ftp.microsoft.com/developr/rfc/cbcp.txt) を使用できます。 .It NAT、すなわちパケットエイリアシングをサポート パケットエイリアシング (別名: IP マスカレード) により、 未登録でプライベートなネットワーク上のコンピュータからも インターネットにアクセスすることが可能です。 .Em PPP ホストはマスカレードゲートウェイとして動作します。 送信パケットの IP アドレスと TCP や UDP のポート番号は どちらも NAT され、返信パケットではエイリアスが元に戻されます。 .It バックグラウンド PPP 接続をサポート バックグラウンドモードでは、接続を確立するのに成功した場合に .Nm はデーモンになります。 それ以外の場合はエラーで終了します。 これにより、 接続が成功裏に確立した場合のみコマンドを実行するようなスクリプト をセットアップすることが出来ます。 .It サーバとしての PPP 接続をサポート ダイレクトモードでは、 .Nm は標準入力/標準出力からの .Em PPP 接続を受け入れるサーバとして動作させることができます。 .It "PAP と CHAP (rfc 1994, 2433 および 2759) による認証をサポート" PAP もしくは CHAP を用いることにより、Unix スタイルの .Xr login 1 手続きをスキップし、 .Em PPP プロトコルを代りに認証に使用することが可能です。 相手が Microsoft CHAP 認証を要求し、かつ .Nm が DES をサポートするようにコンパイルされている場合、適当な MD4/DES 応答がなされます。 .It RADIUS (rfc 2138 & 2548) 認証をサポート PAP と CHAP の拡張である .Em \&R Ns No emote .Em \&A Ns No ccess .Em \&D Ns No ial .Em \&I Ns No n .Em \&U Ns No ser .Em \&S Ns No ervice は、集中データベースまたは分散データベースに、 ユーザごとに異なる接続特性を含んだ認証情報を、格納できます。 コンパイル時に .Xr libradius 3 が利用可能な場合、利用するように設定すると、 .Nm はこれを使用して .Em RADIUS 要求を作成します。 .It 代理 arp (Proxy Arp) をサポート .Nm が相手のために 1 個以上の代理 arp エントリを作成するように、設定可能です。 LAN 上の各マシンでの設定を行わずに、 相手側から LAN へのルーティングを可能とします。 .It パケットのフィルタリングをサポート ユーザは 4 種類のフィルタを定義できます。 .Em in は受信パケットに対するフィルタです。 .Em out は送信パケットに対するフィルタです。 .Em dial はダイヤルを行うきっかけとなるパケットを定義するフィルタで、 .Em alive は接続を保持するためのパケットを定義するフィルタです。 .It トンネルドライバは bpf (Berkeley Packet Filter) をサポート .Em PPP リンクを流れるパケットを調べるために、 .Xr tcpdump 1 を使うことができます。 .It PPP オーバ TCP および PPP オーバ UDP をサポート デバイス名が .Em host Ns No : Ns Em port Ns .Xo .Op / Ns tcp|udp , .Xc 形式で指定された場合、 .Nm は通常のシリアルデバイスを使うのではなく、 データ転送のための TCP または UDP の 接続を開きます。 UDP 接続は、 .Nm を強制的に同期モードにします。 .It PPP オーバ ISDN をサポート .Nm がオープンすべきリンクとして 生の B チャネル i4b デバイスを指定すると、 .Xr isdnd 8 と対話して ISDN 接続を確立できます。 .It PPP オーバイーサネットをサポート (rfc 2516) .Nm が .No PPPoE: Ns Ar iface Ns Xo .Op \&: Ns Ar provider Ns .Xc の書式のデバイス指定を与えられ、 .Xr netgraph 4 が利用可能な場合、 .Nm は .Ar iface ネットワークインタフェースを使用し、 .Ar provider に対して .Em PPP オーバイーサネットを話そうとします。 .Pp .Xr netgraph 4 をサポートしないシステム上では、 .Xr pppoe 8 のような外部プログラムを使用可能です。 .It "IETF ドラフトの Predictor-1 (rfc 1978) と DEFLATE (rfc 1979) 圧縮をサポート" .Nm は VJ 圧縮の他に Predictor-1 と DEFLATE 圧縮もサポートしています。 モデムは通常 (例えば v42.bis のような) 組み込みの圧縮機能を持っており、 その結果システムは .\"(訳注)「転送データレートよりも」をここにいれたいと考えています。 .\" 2.2.1R 対象(1997/04/02) Takeshi MUTOH より高いデータレートで通信できます。 これは一般には良いことですが、より高速のデータによってシリアル回線からの 割り込みが増加します。 システムはこの割り込みをモデムと通信して処理しなくてはならないため、 システムの負荷と遅延時間が増加することになります。 VJ 圧縮とは異なり、Predictor-1 と DEFLATE 圧縮はリンクを通る .Em すべての ネットワークトラフィックをあらかじめ圧縮しておくことで、オーバヘッドを 最小にします。 .It Microsoft の IPCP 拡張をサポート (rfc 1877) Microsoft の .Em PPP スタックを使用するクライアント (つまり Win95, WinNT) との間で ネームサーバのアドレスと NetBIOS ネームサーバのアドレスを ネゴシエーションできます。 .It マルチリンク PPP をサポート (rfc 1990) 接続先への複数の物理的な回線をオープンし、すべてのリンクの 帯域幅を合わせてより高いスループットを得ることができます。 .It MPPE (draft-ietf-pppext-mppe) のサポート MPPE は、Microsoft 社の Point to Point 暗号化機構です。 .Nm を設定して、Microsoft Windows の仮想プライベートネットワーク (VPN) に参加できるようになります。現在のところ、 .Nm は、CHAP 81 認証機構からしか暗号鍵を取得することができません。 MPPE を動作させるためには、DES つきで .Nm をコンパイルしなくてはなりません。 .It IPV6CP (rfc 2023) をサポート 通常の IPv4 接続に対する追加もしくは置き換えとして、 IPv6 接続を使用可能です。 .El .Sh パーミッション .Nm はユーザ .Dv root 、グループ .Dv network 、パーミッション .Dv 04554 でインストールされます。 デフォルトでは .Nm は、起動したユーザ ID が 0 でない場合には実行しません。 これは .Dq allow users コマンドを .Pa /etc/ppp/ppp.conf に記載することにより変更することが可能です。 通常ユーザとして実行する場合には、 .Nm はユーザ ID 0 に変わり、システムの経路表の変更と、 システムロックファイルの作成と、 ppp の設定ファイルの読み込みを行います。 すべての外部コマンド ("shell" や "!bg" で実行されます) は、 .Nm を起動したユーザ ID で実行されます。 ユーザ ID 0 にて正確になにが行われているのかに興味がある場合には、 ログ機能の .Sq ID0 を参照してください。 .Sh 始める前に 最初に .Nm を実行する時には、いくつかの初期設定を整える必要があります。 .Bl -bullet .It カーネルにトンネルデバイスが含まれていることが必要です (GENERIC カーネルではデフォルトで 1 つ含まれます)。 tun デバイスが含まれていない場合や、 複数の tun インタフェースが必要な場合、 次の行をカーネル設定ファイルに追加して、 カーネルを再構築する必要があります: .Pp .Dl pseudo-device tun N .Pp ここで .Ar N は .Em PPP 接続を行いたい最大の数です。 .It .Pa /dev ディレクトリにトンネルデバイスのエントリ .Pa /dev/tunN があるかどうかを調べてください。 ここで .Sq N は、0 から始まる tun デバイスの番号です。 もし無いようならば、"sh ./MAKEDEV tunN" を実行すれば作ることができます。 これにより 0 から .Ar N までの tun デバイスが作成されます。 .It あなたのシステムの .Pa /etc/group ファイルに .Dq network グループがあり、そのグループが .Nm を使うと想定されるすべてのユーザ名を含んでいることを確かめてください。 詳細は .Xr group 5 マニュアルページを参照してください。また、これらのユーザは .Pa /etc/ppp/ppp.conf ファイルで .Dq allow users コマンドを使用してアクセス権が与えられなければなりません。 .It ログファイルを作成します。 .Nm は .Xr syslog 3 を使用して情報を記録します。通常のログファイル名は .Pa /var/log/ppp.log です。 このファイルに出力を行うためには、次の行を .Pa /etc/syslog.conf ファイルに記述してください: .Bd -literal -offset indent !ppp *.*/var/log/ppp.log .Ed .Pp .Nm の実行形式にリンクを作成することにより、複数の .Em PPP ログファイルを持つことが可能です: .Pp .Dl # cd /usr/sbin .Dl # ln ppp ppp0 .Pp として .Pa /etc/syslog.conf で .Bd -literal -offset indent !ppp0 *.*/var/log/ppp0.log .Ed .Pp とします。 .Pa /etc/syslog.conf を更新した後に、 .Xr syslogd 8 に .Dv HUP シグナルを送ることをお忘れなく。 .It 厳密には .Nm の操作とは関係ありませんが、リゾルバが正しく働くように設定した方が 良いでしょう。 これは ( .Xr named 8 を用いて) ローカルな DNS サーバを設定するか、もしくは .Pa /etc/resolv.conf ファイルに適切な .Sq nameserver 行を加えることで行われます。 詳細は .Xr resolv.conf 5 のマニュアルを参照してください。 .Pp 他の方法として、もし接続先がサポートしている場合には .Nm が接続先にネームサーバのアドレスを尋ねて、自動的に .Pa /etc/resolv.conf を更新することができます。詳細は後述の .Dq enable dns コマンドと .Dq resolv コマンドとを参照してください。 .El .Sh 手動ダイヤル 次の例では、あなたのマシン名が .Dv awfulhak であるとして説明します。 .Nm を引数無しで起動すると (前述の .Sx パーミッション 参照) 次のプロンプトが表示されます: .Bd -literal -offset indent ppp ON awfulhak> .Ed .Pp プロンプトの .Sq ON の部分は常に大文字であるべきです。ここが小文字の場合、 .Dq passwd コマンドを使用してパスワードを入力しなければならないことを意味します。 実行中の .Nm に接続し、 まだ正しいパスワードを入力していない場合にのみこのような状態になります。 .Pp .Bd -literal -offset indent ppp ON awfulhak> set device /dev/cuaa0 ppp ON awfulhak> set speed 38400 .Ed .Pp 通常ハードウェアフロー制御 (CTS/RTS) を使用します。 しかし、特定の場合 (特定の PPP 可能な端末サービスに直接接続している場合に起り得ます)、 .Nm が通信リンクにデータを書き込もうとしたときに、 永遠に来ない CTS (送信時にクリア) シグナルを待つことにより .Nm がハングします。 直通線で接続できない場合は、 .Dq set ctsrts off で CTS/RTS をオフにしてみてください。 これが必要な場合、後述の .Dq set accmap の記述も参照してください - .Dq set accmap 000a0000 も必要かもしれません。 .Pp 通常、パリティは .Dq none に設定します。これが .Nm のデフォルトです。 パリティはどちらかというと古風なエラーチェック機構であり、 今となっては使用しません。 最近のモデムは各自のエラーチェック機構を持っており、 ほとんどのリンク層プロトコル ( .Nm はこれです) はより信頼できるチェック機構を使用します。 パリティは相対的に大きなオーバヘッドを持ちますので (トラフィックが 12.5% 増加します)、 .Dv PPP がオープンされると常に無効化 ( .Dq none に設定) されます。 しかし、ISP (インターネットサービスプロバイダ) によっては、 特定のパリティ設定を接続時 ( .Dv PPP がオープンする前) に使用するものがあります。 特に、Compuserve はログイン時に偶数パリティに固執しています: .Bd -literal -offset indent ppp ON awfulhak> set parity even .Ed .Pp ここで、現在のデバイス設定がどのようになっているか見られます: .Bd -literal -offset indent ppp ON awfulhak> show physical Name: deflink State: closed Device: N/A Link Type: interactive Connect Count: 0 Queued Packets: 0 Phone Number: N/A Defaults: Device List: /dev/cuaa0 Characteristics: 38400bps, cs8, even parity, CTS/RTS on Connect time: 0 secs 0 octets in, 0 octets out Overall 0 bytes/sec ppp ON awfulhak> .Ed .Pp ここでは、直接デバイスと通信するために term コマンドを使用可能です: .Bd -literal -offset indent ppp ON awfulhak> term at OK atdt123456 CONNECT login: myispusername Password: myisppassword Protocol: ppp .Ed .Pp 相手が .Em PPP で話しはじめると、 .Nm はそれを自動的に検出してコマンドモードに戻ります。 .Bd -literal -offset indent ppp ON awfulhak> # リンクは確立していません Ppp ON awfulhak> # 接続完了、LCP 完了 PPp ON awfulhak> # 認証完了 PPP ON awfulhak> # IP アドレス合意完了 .Ed .\" your end で「あなた側」 .Pp このようにならない場合、接続先がこちらのネゴシエーション開始を 待っている可能性があります。 強制的に .Nm に接続先への PPP 設定パケットの送出を開始させるためには .Dq ~p コマンドを使い、端末モードを抜けてパケットモードに移行して下さい。 .Pp それでもログインプロンプトが得られない場合、 Unix 的なログイン/パスワード認証ではなく、PAP または CHAP の認証を、 相手は要求している可能性が非常に高いです。 正しく設定するためには、プロンプトに戻り、 認証用の名前とキーを設定し、再度接続します: .Bd -literal -offset indent ~. ppp ON awfulhak> set authname myispusername ppp ON awfulhak> set authkey myisppassword ppp ON awfulhak> term at OK atdt123456 CONNECT .Ed .Pp ここで再度、ネゴシエーションを開始するように ppp に指定できます: .Bd -literal -offset indent ~p ppp ON awfulhak> # リンクは確立していません Ppp ON awfulhak> # 接続完了、LCP 完了 PPp ON awfulhak> # 認証完了 PPP ON awfulhak> # IP アドレス合意完了 .Ed .Pp これで接続されました! プロンプトの .Sq PPP が大文字に変化して、接続されたことを知らせます。もし 3 つの P の内 いくつかだけが大文字になっている場合には、すべての文字が大文字もしくは 小文字になるまで待ってください。もし小文字に戻った場合には、それは .Nm が接続先とのにネゴシエーションに成功しなかったことを意味します。 この時点での問題解決の第一歩としては、次のようにし、再挑戦します。 .Bd -literal -offset indent ppp ON awfulhak> set log local phase lcp ipcp .Ed .Pp 詳細は、下記の .Dq set log コマンドの説明を参照してください。 この時点でも失敗する場合、 ログを有効にして再挑戦することが非常に重要です。 プロンプトの変化に注意し、あなたを助けてくれる人に報告することもまた重要です。 .Pp リンクが確立したら、show コマンドを使用することで、 どのように事態が進行しているのかが分ります: .Bd -literal -offset indent PPP ON awfulhak> show physical * モデム関連の情報がここに表示されます * PPP ON awfulhak> show ccp * CCP (圧縮) 関連の情報がここに表示されます * PPP ON awfulhak> show lcp * LCP (回線制御) 関連の情報がここに表示されます * PPP ON awfulhak> show ipcp * IPCP (IP) 関連の情報がここに表示されます * PPP ON awfulhak> show ipv6cp * IPV6CP (IPv6) 関連の情報がここに表示されます * PPP ON awfulhak> show link * (高レベル) リンク関係の情報がここに表示されます * PPP ON awfulhak> show bundle * (高レベル) 論理接続関係の情報がここに表示されます * .Ed .Pp この時点で、マシンは接続先に対するホスト単位の経路 (host route) を持っています。 これはリンクの相手のホストとのみ接続可能であるという意味です。 デフォルト経路のエントリ (他の経路エントリを持たずに、全パケットを .Em PPP リンクの相手に送る ように、あなたのマシンに指示します)を追加したければ、 次のコマンドを入力してください。 .Bd -literal -offset indent PPP ON awfulhak> add default HISADDR .Ed .Pp .Sq HISADDR という文字列は、相手側の IP アドレスを表します。 既存の経路のために失敗する場合には、 .Bd -literal -offset indent PPP ON awfulhak> add! default HISADDR .Ed .Pp を用いることで既存の経路を上書きできます。 このコマンドは、実際に接続を作成する前に実行可能です。 新しい IP アドレスを接続時にネゴシエートする場合、これに従って .Nm がデフォルト経路を更新します。 .Pp ここで、(ping, telnet, ftp のような) ネットワークアプリケーションを、 あなたのマシンの別のウィンドウまたは端末で使用可能です。 現在の端末を再利用したい場合、 .Nm をバックグラウンドモードにするために、 標準のシェルのサスペンドとバックグラウンドコマンド (通常 .Dq ^Z の後に .Dq bg ) を使用可能です。 .Pp 使用可能コマンドの詳細は .Sx PPP コマンドリスト の節を参照してください。 .Sh 自動ダイヤル 自動ダイヤルを行うためには、ダイヤルとログインのチャットスクリプトを 用意しなければなりません。定義の例は .Pa /usr/share/examples/ppp/ppp.conf.sample を見てください ( .Pa /etc/ppp/ppp.conf の書式は非常に簡単です)。 各行は単一のコメント、インクルード、ラベル、コマンドのいずれかを含みます。 .Bl -bullet .It .Pq Dq # 文字で始まる行は、コメントとして扱われます。 コメント行と認識した場合、先行する空白は無視されます。 .It インクルードは語 .Sq !include から始まる行です。 1 つの引数 - インクルードするファイル - を持つ必要があります。 古いバージョンの .Nm との互換性のために、 .Dq !include ~/.ppp.conf を使用したいかもしれません。 .It ラベルは行頭から始まり、最後にコロン .Pq Dq \&: が続かなければなりません。 .It コマンド行は、最初の桁に空白かタブを含む必要があります。 .El .Pp .Pa /etc/ppp/ppp.conf ファイルには少なくとも .Dq default セクションが存在する必要があります。 このセクションは常に実行されます。 このファイルには 1 つ以上のセクションが含まれます。 セクション名は用途に応じて付けます。例えば、 .Dq MyISP はあなたの ISP を表したり、 .Dq ppp-in は入力の .Nm 構成を表したります。 .Nm を立ち上げる際に、接続先のラベル名を指定可能です。 .Dq default ラベルに関係づけられたコマンドが実行されてから、 接続先ラベルに関連づけられたコマンドが実行されます。 .Nm を引数無しで起動した場合、 .Dq default だけは実行されます。load コマンドを使用して、 .Pa /etc/ppp/ppp.conf のセクションを手動でロード可能です: .Bd -literal -offset indent ppp ON awfulhak> load MyISP .Ed .Pp セクションロード後には、 .Nm はいかなる動作も行わないことに注意してください。 これは、コマンドラインでラベルを指定した結果でも、 .Dq load コマンドを使用した結果でも同様です。 設定ファイル中で、そのラベルに対して指定されたコマンドのみが、実行されます。 一方、 .Nm を .Fl background , .Fl ddial , .Fl dedicated のいずれかのスイッチ付きで起動したときには、 .Nm が接続を確立するように、リンクモードが指示します。 更なる詳細については、後述の .Dq set mode コマンドを参照してください。 .Pp ひとたび接続が確立したなら、プロンプトの .Sq ppp は .Sq PPP に変わります: .Bd -literal -offset indent # ppp MyISP \&... ppp ON awfulhak> dial Ppp ON awfulhak> PPp ON awfulhak> PPP ON awfulhak> .Ed .Pp Ppp プロンプトは .Nm が認証フェーズに入ったことを示します。PPp プロンプトは .Nm がネットワークフェーズに入ったことを示します。PPP プロンプトは .Nm がネットワーク層プロトコルのネゴシエーションに成功し、 使用可能状態にあることを示します。 .Pp もし .Pa /etc/ppp/ppp.linkup が利用可能ならば、 .Em PPP 接続が確立された時に、その内容が実行されます。 接続が確立された後のバックグラウンドでのスクリプト実行については、 提供されている .Pa /usr/share/examples/ppp/ppp.conf.sample (使用可能な置換文字列については、後述の .Dq shell と .Dq bg を参照してください) の .Dq pmdemand の例を参照してください。 同様に、接続が閉じられると、 .Pa /etc/ppp/ppp.linkdown ファイルの内容が実行されます。 これらのファイルのフォーマットは .Pa /etc/ppp/ppp.conf と同じです。 .Pp 以前のバージョンの .Nm では、デフォルト経路のような経路は .Pa ppp.linkup ファイルで追加し直す必要がありました。 現在では .Nm は、 .Dv HISADDR , .Dv MYADDR , .Dv HISADDR6 , .Dv MYADDR6 が変化したときに、自動的にこれらの文字列を含むすべての経路を更新する .Sq スティッキー経路 をサポートします。 .Sh バックグラウンドダイヤル .Nm を使って非対話的に接続を確立したい場合 (例えば .Xr crontab 5 エントリや .Xr at 1 ジョブから使うような場合) には、 .Fl background オプションを使います。 .Fl background が指定された場合、 .Nm はすぐに接続を確立しようとします。 複数の電話番号が指定された場合には、各電話番号が 1 回づつ試されます。 これらに失敗すると、 .Nm は即座に終了し、0 でない終了コードを返します。 接続に成功すると .Nm はデーモンになり、呼び出し側に終了コード 0 を返します。 デーモンは、リモートシステムが接続を終了した場合、 もしくは .Dv TERM シグナルを受け取った場合に、自動的に終了します。 .Sh ダイヤルオンデマンド デマンドダイヤル機能は .Fl auto または .Fl ddial オプションにて有効にされます。この場合にも .Pa /etc/ppp/ppp.conf で定義された接続先のラベルを指定しなければなりません。 これには、リモート接続先の IP アドレスを指定するための .Dq set ifaddr コマンドも書かれていなければなりません ( .Pa /usr/share/examples/ppp/ppp.conf.sample を参照してください)。 .Bd -literal -offset indent # ppp -auto pmdemand .Ed .Pp .Fl auto または .Fl ddial が指定された時に .Nm はデーモンとして動作しますが、 .Pa /etc/ppp/ppp.conf 中で .Dq set server コマンドを使うことで、設定を確認したり変更したりすることができます。 (たとえば、 .Dq Li "set server +3000 mypasswd" とすると) 次のように診断ポートを通じて接続することができます。 .Bd -literal -offset indent # pppctl 3000 (tun0 を仮定) Password: PPP ON awfulhak> show who tcp (127.0.0.1:1028) * .Ed .Pp .Dq show who コマンドは現在 .Nm 自身に接続しているユーザの一覧を表示します。診断ソケットが閉じられる、 もしくは異なるソケットに変更された場合、すべての接続は即座に終了します。 .Pp .Fl auto モードにて 送信パケットが検出された時、 .Nm は (チャットスクリプトに基づいて) ダイヤルを行い、 通信相手に接続しようとします。 .Fl ddial モードでは回線がダウンしていることが確認された場合にはいつでも ダイヤルが行われます。 接続に失敗したら、デフォルトの動作では 30 秒間待ってから、 別の送信パケットが検出された時に接続しようとします。 .Pp この動作は .Dq set redial コマンドで変更できます。 .Pp .No set redial Ar secs Ns Xo .Oo + Ns Ar inc Ns .Op - Ns Ar max Ns .Oc Ns Op . Ns Ar next .Op Ar attempts .Xc .Pp .Bl -tag -width attempts -compact .It Ar secs は、再び接続しようとするまでの秒数です。 引数がリテラル文字列 .Sq Li random の場合には、待ち時間を 1 秒以上から 30 秒以下の間でランダムに選びます。 .It Ar inc は秒数であり、 新規にダイヤルするときに .Ar secs に加えられます。 このタイムアウト値が .Ar secs に戻るのは、接続が成功裏に確立した後だけです。 .Ar inc のデフォルト値は 0 です。 .It Ar max は、 .Nm が .Ar secs を増加させる最大回数です。 .Ar max のデフォルト値は 10 です。 .It Ar next は電話番号リストの中の次の番号をダイヤルする前に待つ秒数です。( .Dq set phone コマンドを参照してください)。これのデフォルトは 3 秒です。 繰り返しますが、引数がリテラル文字列 .Sq Li random の場合には、待ち時間を 1 秒以上 30 秒以下の間でランダムに選びます。 .It Ar attempts は、受け取った個々の送信パケットに対して、最大何回接続を試みるのかを示す 数字です。 パラメータを省略すると、以前の値は変更されません。 .Ar attempts に 0 を指定すると、接続されるまで試みを続けます。 .El .Pp .Bd -literal -offset indent set redial 10.3 4 .Ed .Pp は個々の送信パケットに対して 4 回接続を試み、 番号間の待ち時間が 3 秒で、すべての番号を試した後に 10 秒待つことを表します。 複数の電話番号が指定されている場合でも、トータルのダイヤル回数は 4 回のままです。 (それぞれの番号を 4 回ダイヤルするのではありません)。 .Pp 代りに、 .Pp .Bd -literal -offset indent set redial 10+10-5.3 20 .Ed .Pp は、 .Nm に接続を 20 回試みさせます。最初の試みの後は、 .Nm は 10 秒待ちます。 次の試みの後は 20 秒待ちということを、 6 番目の試みの後では 1 分待つところまで行います。 次の 14 回の停止は、同じ 1 分間となります。 .Nm が接続し、切断した後、再度接続に失敗した場合、 タイムアウト値は再度 10 秒から開始します。 .Pp リンクの両端が .Nm の .Fl auto ダイヤルモードを利用している場合は、 ダイヤル間隔を変更しておくのが良いでしょう。 もし、リンクの両端が同じタイムアウト時間に設定されていて、 リンクが切れて両方に送信待ちのパケットがあった場合、 両方が同時に相手を呼び出しあうことになってしまいます。 場所によっては、シリアルリンクに信頼性がなく、 切れるべきでない時にキャリアが失われるかもしれません。 セッションの途中で予期せずキャリアが失われた場合、 .Nm にリダイヤルさせることができます。 .Bd -literal -offset indent set reconnect timeout ntries .Ed .Pp このコマンドは、キャリアが失われた時に .Ar timeout 秒の間隔を置いて .Ar ntries 回まで接続を再確立するよう .Nm に指示します。例えば、 .Bd -literal -offset indent set reconnect 3 5 .Ed .Pp は、予期せぬキャリア喪失の際に .Ar 3 秒待ってから再接続を試みるように .Nm に指示します。これは .Nm があきらめる前に .Ar 5 回まで行われます。 ntries のデフォルト値は 0 (再接続しない) です。 このオプションを使用する際には注意が必要です。 もしローカル側のタイムアウトがリモート側よりもわずかに長いと、 リモート側がタイムアウトにより回線を切断した場合に、 再接続機能が (指定した回数まで) 起動されてしまいます。 注: この文脈においては、多くの LQR を喪失するとキャリア喪失を引き起こし、 ひいては再接続を引き起こします。 .Fl background フラグが指定された場合、接続が行えるまで すべての電話番号が最大 1 回ダイヤルされます。 .Dq set redial コマンドにて、リダイヤル期間の後に、 再接続回数を指定します。 リダイヤル値が指定した電話番号数より少ない場合、 指定した電話番号で使用されないものが出来ます。 プログラムを終了させるには、次のように入力してください。 .Bd -literal -offset indent PPP ON awfulhak> close ppp ON awfulhak> quit all .Ed .Pp .Dq quit コマンドは .Xr pppctl 8 もしくは .Xr telnet 1 による接続を終了しますが、 プログラム自身は終了させません。 .Nm も終了させたい場合には、 .Dq quit all を実行してください。 .Sh PPP 接続の受け入れ (方法その 1) .Em PPP 接続要求を受け入れるには、次の手順にしたがってください。 .Bl -enum .It モデムと、 (必要であれば) .Pa /etc/rc.serial が正しく設定されていることを確認します。 .Bl -bullet -compact .It フロー制御にはハードウェアハンドシェイク (CTS/RTS) を使います。 .It モデムはエコーバックを行わず (ATE0)、コマンドの結果も報告しない (ATQ1) ように設定されていなければなりません。 .El .Pp .It モデムが接続されているポートで .Xr getty 8 が起動されるように .Pa /etc/ttys を編集します。 例えば、次のように設定すれば良いでしょう: .Pp .Dl ttyd1 Qo /usr/libexec/getty std.38400 Qc dialup on secure .Pp .Xr getty 8 を起動するために .Xr init 8 プロセスに .Dv HUP シグナルを送るのを 忘れないでください: .Pp .Dl # kill -HUP 1 .Pp 通常、あなたのモデムの DTR 速度を getty と同じに設定する必要があります: .Bd -literal -offset indent # ppp ppp ON awfulhak> set device /dev/cuaa1 ppp ON awfulhak> set speed 38400 ppp ON awfulhak> term deflink: Entering terminal mode on /dev/cuaa1 Type `~?' for help at OK at OK atz OK at OK ~. ppp ON awfulhak> quit .Ed .It .Pa /usr/local/bin/ppplogin ファイルを次のような内容で作成します: .Bd -literal -offset indent #!/bin/sh exec /usr/sbin/ppp -direct incoming .Ed .Pp ダイレクトモード .Pq Fl direct では、 .Nm は標準入力と標準出力を使って動作します。クライアント動作の .Nm と同様に、 .Xr pppctl 8 を使用することで、構成された診断ポートに接続可能です。 .Pp ここで .Pa /etc/ppp/ppp.conf 中の .Ar incoming セクションが設定されていなければなりません。 .Pp .Ar incoming セクションに適当な .Dq allow users コマンドがあることを確かめておいてください。 .It 受け入れるユーザのアカウントを用意してください。 .Bd -literal ppp:xxxx:66:66:PPP Login User:/home/ppp:/usr/local/bin/ppplogin .Ed .Pp 詳細は .Xr adduser 8 と .Xr vipw 8 のマニュアル項目を参照してください。 .Dq accept dns および .Dq set nbns コマンドを使うことで IPCP によるドメインネームサーバと NetBIOS ネームサーバの ネゴシエーションを有効にすることが可能です。 下記の記述を参照してください。 .El .Sh PPP 接続の受け入れ (方法その 2) この方法は、 .Xr login 1 ではなく .Nm で接続の認証を行うという点が異なります。 .Bl -enum .It .Pa /etc/gettytab の default セクションに .Dq pp ケーパビリティを指定することで ppp を自動的に認識するように 設定してください。 .Bd -literal default:\\ :pp=/usr/local/bin/ppplogin:\\ ..... .Ed .It 上記の方法その 1 の最初の 3 手順と同じように、 シリアルデバイスを設定し、 .Xr getty 8 を有効にして、 .Pa /usr/local/bin/ppplogin を作成してください。 .It .Pa /etc/ppp/ppp.conf の .Sq incoming ラベル (もしくは .Pa ppplogin が用いるラベルならなんでも構いません) 下に .Dq enable chap か .Dq enable pap (もしくはその両方) を加えてください。 .It .Pa /etc/ppp/ppp.secret に、受け入れるユーザそれぞれについて、エントリを作成してください。 .Bd -literal Pfredxxxx Pgeorgeyyyy .Ed .El .Pp これで、 .Xr getty 8 は (HDLC フレームヘッダを認識することで) ppp 接続を検出すると、すぐに .Dq /usr/local/bin/ppplogin を実行します。 .Pp 上記のように PAP もしくは CHAP を有効にすることは .Em 必須 です。そうしなければ、あらゆる人があなたのマシンにパスワード .Em なしに ppp セッションを確立することを許可し、 あらゆる種類の潜在的な攻撃に対して門戸を開いていることになります。 .Sh 内向き接続の認証 通常、接続の受信側は相手が相手自身を認証することを要求します。 これは通常 .Xr login 1 にて行われますが、代りに PAP か CHAP を使用可能です。 2 つのうちで CHAP の方がより安全ですが、 クライアントによってはサポートしていないものがあります。 どちらを使いたいか決めたら、 .Sq enable chap または .Sq enable pap を .Pa ppp.conf の適切なセクションに追加してください。 .Pp その後、 .Pa /etc/ppp/ppp.secret ファイルの設定を行う必要があります。 このファイルは、クライアントになりうるマシンごとに 1 行を含みます。 各行は 5 つまでのフィールドからなります: .Pp .Ar name Ar key Oo .Ar hisaddr Op Ar label Op Ar callback-number .Oc .Pp .Ar name と .Ar key は期待されるクライアントのユーザ名とパスワードを指定します。 .Ar key が .Dq \&* で PAP が使用される場合、 .Nm は認証時にパスワードデータベース .Pq Xr passwd 5 を検索します。 .Pa ppp.secret の如何なる .Ar name Ns No / Ar key の組み合わせにおいても適切でない返答をクライアントが与える場合、 認証は失敗します。 .Pp 認証に成功したならば、 (指定時には) .Ar hisaddr を IP 番号ネゴシエーション時に使用します。詳細は .Dq set ifaddr コマンドを参照してください。 .Pp 認証に成功し .Ar label が指定された場合、現在のシステムラベルは .Ar label にマッチするように修正されます。 このことはファイル .Pa ppp.linkup と .Pa ppp.linkdown の後続のパーズに影響があります。 .Pp 認証に成功し .Ar callback-number が指定され .Dq set callback が .Pa ppp.conf で指定された場合、クライアントは指定された番号でコールバックされます。 CBCP が使用される場合、 .Dq set cbcp コマンドに渡すのと同様の形式で、 .Ar callback-number にもまた番号のリストまたは .Dq \&* を含むことが可能です。 この値は、 .Nm で後続する CBCP フェーズで使用します。 .Sh PPP オーバ TCP と PPP オーバ UDP (別名: トンネリング) シリアルリンク上以外の .Nm の使用方法として、 device にホストとポートを指定することにより、 TCP 接続を使用することが可能です: .Pp .Dl set device ui-gate:6669/tcp .Pp シリアルデバイスをオープンする代りに、 .Nm は指定されたマシンの指定されたソケットへの TCP 接続をオープンします。 .Nm は telnet プロトコルを使用しないこと、 telnet サーバとネゴシエーションできないことに注意を払うべきです。 受信マシン (ui-gate) 上に、 この ppp 接続を受信するポートを設定する必要があります。まず .Pa /etc/services を更新して、サービスを定義します: .Pp .Dl ppp-in 6669/tcp # Incoming PPP connections over tcp .Pp そして .Pa /etc/inetd.conf を更新して、このポートへの受信接続をどのように扱うかを .Xr inetd 8 に指示します: .Pp .Dl ppp-in stream tcp nowait root /usr/sbin/ppp ppp -direct ppp-in .Pp .Pa /etc/inetd.conf を更新した後には、 .Xr inetd 8 に .Dv HUP シグナルを送るのをお忘れなく。 ここではラベル名 .Dq ppp-in を使用します。 ui-gate (受信側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含みます: .Bd -literal -offset indent ppp-in: set timeout 0 set ifaddr 10.0.4.1 10.0.4.2 .Ed .Pp また、 .Pa /etc/ppp/ppp.linkup 中のエントリには、次のようなものを含まなくてはなりません。 .Bd -literal -offset indent ppp-in: add 10.0.1.0/24 HISADDR .Ed .Pp .Nm がネゴシエーションを行い、インタフェースにアドレスを割り当てて からだけしか経路を追加しないように、 .Pa ppp.linkup ファイル中には .Dq add コマンドを置く必要があります。 .Pp セキュリティのために PAP もしくは CHAP の設定をしたいかもしれません。 PAP を有効にするには次の行を追加します: .Bd -literal -offset indent enable PAP .Ed .Pp また、次のエントリを .Pa /etc/ppp/ppp.secret に作成する必要があります: .Bd -literal -offset indent MyAuthName MyAuthPasswd .Ed .Pp .Ar MyAuthPasswd が .Dq * の場合には、パスワードは .Xr passwd 5 データベースから検索されます。 .Pp awfulhak (起動側) の .Pa /etc/ppp/ppp.conf エントリは次の内容を含む必要があります: .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in/tcp set dial set timeout 30 set log Phase Chat Connect hdlc LCP IPCP IPV6CP CCP tun set ifaddr 10.0.4.2 10.0.4.1 .Ed .Pp そして、 .Pa /etc/ppp/ppp.linkup ファイル中に経路の設定もつけます。 .Bd -literal -offset indent ui-gate: add 10.0.2.0/24 HISADDR .Ed .Pp PAP を有効にするのなら、 .Pa /etc/ppp/ppp.conf プロファイル中に、次のような設定も必要です。 .Bd -literal -offset indent set authname MyAuthName set authkey MyAuthKey .Ed .Pp 我々は、 ui-gate に 10.0.4.1 のアドレスを割り当て、 awfulhak に 10.0.4.2 のアドレスを割り当てようとしています。 接続をオープンするためには、次の内容をタイプするだけで良いです。 .Pp .Dl awfulhak # ppp -background ui-gate .Pp 結果として、 awfulhak にはネットワーク 10.0.2.0/24 への新たな「経路」が、 ui-gate にはネットワーク 10.0.1.0/24 への新たな「経路」が、 TCP 接続経由でそれぞれ作成されます。 ネットワークは実質的にブリッジされます - 下位レベルの TCP 接続はパブリックなネットワーク (例えばインターネット) を またがっても良いです。 また 2 つのゲートウェイ間では ppp トラフィックは 概念的に TCP ストリーム中でカプセル化されます (パケットがパケットに対応するわけではありません)。 .Pp この機構の大きな欠点は、同時に 2 つの「配送保証」機構が存在することです - この 2 つとは、下位レベルの TCP ストリームと .Em PPP リンク上で使用されるプロトコルであり、おそらくまた TCP でしょう。 パケット喪失が起ると、両者はそれぞれの方法で喪失した パケットを再送しようと するでしょう。 .Pp このオーバヘッドを避けるために、 トランスポートとして TCP の代りに UDP を使用できます。 これは単にプロトコルを "tcp" から "udp" に変えるだけで可能です。 トランスポートとして UDP を使用するとき、 .Nm は同期モードで動作します。 入力データがパケットに再構成されないという、別の利点もあります。 .Pp このように、トンネルされた設定を通してデフォルトの経路を追加する ときには注意してください。 デフォルトの経路 ( .Pa /etc/ppp/ppp.linkup に追加されます) が、最終的にはリンクのトンネル経由の TCP 接続を ルーティングすることになるのは良く起こることであり、 結果的に接続を狭めてしまうことになります。 これを避けるため、トンネル経由の接続の助けになるように、静的経路を 追加することを忘れないでください。 .Bd -literal -offset indent ui-gate: set escape 0xff set device ui-gate:ppp-in/tcp add ui-gate x.x.x.x ..... .Ed .Pp ここで、 .Dq x.x.x.x は、 .Dq ui-gate への経路が通常使用する IP アドレスです。 .Pp インターネットのような、公共のネットワークを通して接続を ルーティングさせる場合、データを暗号化する方が望ましいです。 MPPE プロトコルの助けを借りれば、それが可能になります。 しかし、現在のところ、MPPE が圧縮層として実装している (この点に関しては Microsoft 社に感謝します) ように、 トラフィックを圧縮することもできるというわけではありません。 MPPE 暗号化を有効にするには、次のような行をサーバ側の .Pa /etc/ppp/ppp.conf に追加してください。 .Bd -literal -offset indent enable MSCHAPv2 disable deflate pred1 deny deflate pred1 .Ed .Pp その際、 .Pa /etc/ppp/ppp.secret に必要なエントリを置いたことを確認してください (MSCHAPv2 はチャレンジコードベースです。そのため、 .Xr passwd 5 は使用しません)。 .Pp MSCHAPv2 および MPPE はデフォルトで受け取ることができます。 ですので、クライアント側では、何も変更を加えなくても動くはずです (ですが、プロファイル中に .Dq set authname と .Dq set authkey があることは確認してください)。 .Sh ネットワークアドレス変換 (パケットエイリアシング) .Fl nat コマンドラインオプションにより、 ネットワークアドレス変換 (別名、パケットエイリアシング) が有効になります。 これにより、 .Nm ホストがローカルエリアネットワークの他のコンピュータに対して マスカレードゲートウェイとして動作するようになります。 送信される IP パケットは、まるで .Nm ホストから来たかのように NAT され、 受信パケットは、それがローカルエリアネットワークの正しいマシンに 送られるように NAT が戻されます。 NAT により、 未登録でプライベートなサブネット上のコンピュータを 外部から見えないようにしつつ、 インターネットへアクセス可能とします。 一般に、 .Nm が正しく動作していることの確認は、 まず最初にネットワークアドレス変換を禁止して行います。 次に .Fl nat オプションを有効にして、 .Nm ホストの上で (ウェブブラウザや .Xr telnet 1 , .Xr ftp 1 , .Xr ping 8 , .Xr traceroute 8 などの) ネットワークアプリケーションの動作を確認します。 最後に、LAN 上の別のコンピュータの上で同様なアプリケーションの 動作を確認することになります。 .Nm ホストではネットワークアプリケーションが正しく動作するのに、 LAN 上の別のコンピュータでは動かないのであれば、マスカレードソフトウェアは 正しく動いているけれども、ホストが IP パケットをフォワーディングしないか、 ひょっとするとパケットが送られて来ていないかのどちらかです。 .Pa /etc/rc.conf で IP フォワーディングが有効にされていることと、 他のコンピュータで .Nm ホストがその LAN のゲートウェイとして 指定されていることを確認してください。 .Sh パケットのフィルタリング この実装では、パケットのフィルタリングがサポートされています。 .Em in フィルタ、 .Em out フィルタ、 .Em dial フィルタ、そして .Em alive フィルタの 4 種類のフィルタがあります。 ここでは基本的なことについて書くことにします。 .Bl -bullet .It フィルタ定義は次のような構文になっています。 .Pp set filter .Ar name .Ar rule-no .Ar action .Op !\& .Oo .Op host .Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width .Oc .Ar [ proto Op src Ar cmp port .Op dst Ar cmp port .Op estab .Op syn .Op finrst .Op timeout Ar secs ] .Bl -enum .It .Ar name は .Sq in , .Sq out , .Sq dial , .Sq alive のいずれかです。 .It .Ar rule-no は .Sq 0 から .Sq 39 までの数値で、ルール番号を指定します。 ルールは .Ar rule-no の番号順に指定されます。 ただしルール .Sq 0 が指定されている場合のみです。 .It .Ar action は .Sq permit , .Sq deny を指定可能であり、 あるパケットがこれらのルールに一致した場合、 結びつけられた action が直ちに実行されます。 また .Ar action には .Sq clear も指定可能です。 この場合、このルールに結びつけられた action をクリアします。 また .Ar action には、現在のルール番号よりも大きなルール番号を指定可能です。 この場合には、あるパケットが現在のルールに一致した場合、 (次のルール番号の代りに) この新しいルールに対して次にパケットが一致するかを確認します。 .Pp .Ar action にはエクスクラメーションマーク .Pq Dq !\& を続けることが可能です。この場合、 .Nm は後続する一致の意味を反転させます。 .It .Op Ar src_addr Ns Op / Ns Ar width と .Op Ar dst_addr Ns Op / Ns Ar width は始点と終点の IP アドレスです。 .Op / Ns Ar width が指定された場合には、それによって適切なネットマスクのビット値を与え、 アドレスの範囲を指定することができます。 .Pp .Ar src_addr と .Ar dst_addr には、 .Dv MYADDR , .Dv HISADDR , .Dv MYADDR6 または .Dv HISADDR6 という値を使用可能です (これらの値の解説は .Dq bg を参照してください)。 これらの値を使用した場合、これらの値が変化するたびにフィルタが更新されます。 これは、後述の .Dq add コマンドの動作と似ています。 .It .Ar proto は .Xr protocols 5 中の任意のプロトコルです。 .It .Ar cmp は .Sq \< , .Sq \&eq , .Sq \> のうちいずれか 1 つです。それぞれ、より小さい、等しい、 より大きいを意味します。 .Ar port はポート番号で指定するか、 .Pa /etc/services のサービス名で指定することができます。 .It .Sq estab , .Sq syn , .Sq finrst フラグは .Ar proto が .Sq tcp に設定されているときにのみ許可され、それぞれ TH_ACK、TH_SYN、および TH_FIN もしくは TH_RST という TCP フラグを表わします。 .It タイムアウト値は、現在のアイドルタイムアウトを最低でも .Ar secs 秒へと修正します。 タイムアウトを、alive フィルタと in/out フィルタの両方で指定すると、 in/out での値が使用されます。 タイムアウトを指定しないと、デフォルトタイムアウト ( .Ic set timeout を使用して設定するもので、デフォルトでは 180 秒になります) が使用されます。 .El .Pp .It 各フィルタはルール 0 から始まり、40 個までのルールをもつことができます。 規則のルールは、ルール 0 が定義されていなければ、有効にはなりません。 すなわち、デフォルトではすべてが通されます。 .It 定義されたルール集合中にマッチするものが無い場合、 パケットは破棄 (ブロック) されます。 フィルタにルールが存在しない場合、パケットは通過を許されます。 .It .Em PROTO_IP .Em PPP フレームヘッダを持つ UDP フレームに対しては、 ペイロードに基づいたフィルタリングを行なうことが可能です。 詳細については、後述の .Ar filter-decapsulation を参照してください。 .It すべての規則を消去するには、 .Dq set filter Ar name No -1 を使ってください。 .El .Pp .Pa /usr/share/examples/ppp/ppp.conf.sample . を参照してください。 .Sh アイドルタイマの設定 アイドルタイマを調べたり/設定するためには、それぞれ .Dq show bundle と .Dq set timeout コマンドを使ってください: .Bd -literal -offset indent ppp ON awfulhak> set timeout 600 .Ed .Pp タイムアウト時間は秒数で指定します。デフォルト値は timeout が 180 秒 (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 は、接続相手が同意 (あるいは要求) した場合に、 この機能を使おうと (もしくは受け入れようと) します。 .Nm は deflate プロトコルを優先します。 これらの機能を使用したくない時には .Dq disable と .Dq deny のコマンドを参照してください。 .Pp .Dq disable deflate か .Dq deny deflate の一方を使用することにより、 方向ごとに異ったアルゴリズムを使用することができます (接続相手が両方のプロトコルをサポートしていると仮定しています)。 .Pp デフォルトでは、DEFLATE についてネゴシエートするときには .Nm はウィンドウサイズとして 15 を使います。この動作を変更したい場合には .Dq set deflate コマンドを参照してください。 .Pp デフォルトでは無効にされ受け付けませんが、DEFLATE24 と呼ばれる特殊な アルゴリズムを使用することもできます。これは CCP ID 24 を ネゴシエーションに使う点を除いては DEFLATE と完全に同じものです。 これを使用することで .Nm は .Nm pppd バージョン 2.3.* と DEFLATE ネゴシエーションを成功させることができます。 .Sh IP アドレスの制御 IPv4 では、 .Nm は IP アドレスのネゴシエーションのために IPCP を使います。接続の両側は、自分が 使おうとするアドレスを提示し、要求された IP アドレスが受け入れ可能な ものであれば、相手に ACK (肯定応答) を返します。 受け入れることができなければ、別の IP アドレスの使用を促すために .Nm は相手に NAK (否定応答) を返します。 接続の両側が受け取った要求に同意し (ACK を送っ) た時、 IPCP はオープン状態にセットされ、ネットワーク層での接続が確立されます。 IPCP の動作を制御するために、この実装はローカルとリモートの IP アドレスを定義するための .Dq set ifaddr コマンドを持っています。 .Bd -ragged -offset indent .No set ifaddr Oo Ar src_addr Ns .Op / Ns Ar \&nn .Oo Ar dst_addr Ns Op / Ns Ar \&nn .Oo Ar netmask .Op Ar trigger_addr .Oc .Oc .Oc .Ed .Pp ここで、 .Sq src_addr はローカル側で使おうと思っている IP アドレスで、 .Sq dst_addr はリモート側が使用すべき IP アドレスです。 .Sq netmask は使用すべきネットマスクです。 .Sq src_addr のデフォルトは現在の .Xr hostname 1 のもの、 .Sq dst_addr のデフォルトは 0.0.0.0 であり、 .Sq netmask のデフォルトは .Sq src_addr に適したマスク値です。 .Sq netmask はデフォルトより小さくすることのみ可能です。 ほとんどのカーネルが POINTOPOINT インタフェースのネットマスクを 無視するので、便利な値は 255.255.255.255 でしょう。 .Pp 誤った .Em PPP の実装には、接続ネゴシエーションのために、 .Sq src_addr ではなく特別な IP アドレスを使用しなければならないものがあります。 この場合、 .Sq trigger_addr で指定した IP アドレスが使用されます。 相手がこの提案された番号に同意しない限り、経路表には影響しません。 .Bd -literal -offset indent set ifaddr 192.244.177.38 192.244.177.2 255.255.255.255 0.0.0.0 .Ed .Pp 上の例の意味は次の通りです: .Pp .Bl -bullet -compact .It 自分の IP アドレスとしてまず 0.0.0.0 を提案しますが、アドレス 192.244.177.38 のみは受け付けます。 .It 相手側のアドレスとして 192.244.177.2 を使うように要求し, 192.244.177.2 以外のどんなアドレスを使うことも許可しません。 相手側が別の IP アドレスを要求してきた時は、いつでも 192.244.177.2 を提案します。 .It 経路表のネットマスク値は 0xffffffff に設定されます。 .El .Pp これは、両側が既に決まった IP アドレスを持っている場合には うまくいきますが、多くの場合、一方がすべての IP アドレスを制御する サーバとして動作しており、もう一方はその方針に従います。 より柔軟な動作をさせるために、 .Dq set ifaddr コマンドで IP アドレス指定をもっと緩やかにすることが可能です: .Pp .Dl set ifaddr 192.244.177.38/24 192.244.177.2/20 .Pp スラッシュ .Pq Dq / に続く数字は、この IP アドレスで意味のあるビットの数を 表現しています。上の例は次のことを示しています。 .Pp .Bl -bullet -compact .It 可能なら自分のアドレスとして 192.244.177.38 を使おうとしますが、 192.244.177.0 から 192.244.177.255 の間の任意の IP アドレスも受け入れます。 .It 相手のアドレスとして 192.244.177.2 を使うことを希望しますが、 192.244.176.0 から 192.244.191.255 の間の任意の IP アドレスも許可します。 .It すでにお気づきと思いますが、 192.244.177.2 は 192.244.177.2/32 と書くことと 等価です。 .It 例外として、0 は 0.0.0.0/0 と等価であり、希望する IP アドレスは 特に無く、リモート接続先の選択に従うことを意味します。 0 を使用した場合は、接続が確立するまで、経路表のエントリは まったく設定されません。 .It 192.244.177.2/0 は、どんな IP アドレスでも受け入れる/許可することを 意味しますが、最初に 192.244.177.2 を使うように提案します。 .El .Pp IPv6 アドレスのネゴシエーション時には、ユーザはなにも制御できません。 IPV6CP ネゴシエーションは完全自動です。 .Sh インターネットサービスプロバイダと接続する プロバイダに接続する際には、次のステップを踏む必要があるでしょう: .Bl -enum .It .Dq set phone コマンドを使って、ダイヤルスクリプトにプロバイダの電話番号を記述します。 ダイヤルやリダイヤルに使用する電話番号は、 パイプ .Pq Dq \&| またはコロン .Pq Dq \&: で区切って複数指定することができます。例えば、次のようになります: .Bd -ragged -offset indent .No set phone Ar telno Ns Xo .Oo \&| Ns Ar backupnumber .Oc Ns ... Ns Oo : Ns Ar nextnumber .Oc Ns ... .Xc .Ed .Pp 最初のパイプで区切られたリストの番号は、 直前の番号でダイヤルもしくはログインスクリプトが失敗した場合のみ使用されます。 コロンで区切られた番号は、直前の番号の使用によりなにが起ったのかにかかわらず、 この順番で使用されます。例えば: .Bd -literal -offset indent set phone "1234567|2345678:3456789|4567890" .Ed .Pp この場合、まず 1234567 にダイヤルしてみます。 ダイヤルもしくはログインスクリプトに失敗したら、 次は 2345678 を使用します。 しかしこれはダイヤルもしくはログインスクリプトに失敗したとき *のみ* です。 このダイヤルの後、3456789 が使用されます。 4567890 は 345689 でダイヤルもしくはログインスクリプトに失敗したときのみ 使用されます。 2345678 のログインスクリプトが失敗したとしても、次の番号は 3456789 です。 必要な数だけ、パイプとコロンを使用可能です (しかし、通常はパイプのみかコロンのみであり両方の使用はないでしょう)。 次の番号へのリダイヤルまでのタイムアウトは、すべての番号にて使用されます。 リストが終了すると、 通常のリダイヤル期間だけ待ち、 最初から再開します。 .Dq set dial コマンドの \\\\T 文字列は選択された番号で置きかえられます。 (以降を参照してください)。 .It リダイヤルに関する設定は、 .Dq set redial で行います。 例えば回線の調子が悪かったり、 (最近では それほど多くないでしょうが) プロバイダがいつも話中だったりすると、 次のように設定したくなるかもしれません: .Bd -literal -offset indent set redial 10 4 .Ed .Pp これは最初の番号にリダイヤルを行う前に 10 秒待って、 4 回までダイヤルしてみるという意味になります。 .It .Dq set dial と .Dq set login コマンドを使ってログイン手続きを記述します。 .Dq set dial コマンドはモデムと通信してプロバイダへのリンクを確立するのに使われます。 例えば、次のようになります: .Bd -literal -offset indent set dial "ABORT BUSY ABORT NO\\\\sCARRIER TIMEOUT 4 \\"\\" \e ATZ OK-ATZ-OK ATDT\\\\T TIMEOUT 60 CONNECT" .Ed .Pp このモデム「チャット」文字列の意味は次の通りです。 .Bl -bullet .It \&"BUSY" または "NO CARRIER" を受信した場合には処理を中止します。 .It タイムアウトを 4 秒にセットします。 .It 文字列の受信待ちは行いません。 .It ATZ を送信します。 .It OK の受信待ちを行います。もし 4 秒以内に受信できなければ、 もう 1 度 ATZ を送信し、OK の受信待ちを行います。 .It ATDTxxxxxxx を送信します。xxxxxxx は 上記の電話番号リストの中の、次にダイヤルする番号です。 .It タイムアウトを 60 にセットします。 .It 文字列 CONNECT の受信待ちを行います。 .El .Pp 一旦接続が確立されると、ログインスクリプトが実行されます。 このスクリプトはダイヤルスクリプトと同じスタイルで書かれますが、 パスワードが記録されないように注意してください: .Bd -literal -offset indent set authkey MySecret set login "TIMEOUT 15 login:-\\\\r-login: awfulhak \e word: \\\\P ocol: PPP HELLO" .Ed .Pp このログイン「チャット」文字列の意味は次の通りです。 .Bl -bullet .It タイムアウトを 15 秒にセットします。 .It \&"login:" の受信待ちを行います。もし受信できなければ 復改文字を送信して、再び "login:" の受信待ちを行います。 .It \&"awfulhak" を送信します。 .It \&"word:" ("Password:" プロンプトの末尾) の受信待ちを行います。 .It .Ar authkey に現在設定されている値を送信します。 .It \&"ocol:" ("Protocol:" プロンプトの末尾) の受信待ちを行います。 .It \&"PPP" を送信します。 .It \&"HELLO" の受信待ちを行います。 .El .Pp .Dq set authkey コマンドのログは特別な方法でとられます。 .Ar command または .Ar chat のログが有効な時は、実際のパスワードは記録されません。 代りに .Sq ******** が記録されます。 .Pp ログインスクリプトはプロバイダによって大きく違うものになるでしょう。 始めてそれを設定するときには .Em チャットログを有効化 することで、あなたのスクリプトが予定通りに動いているかを 調べることができます。 .It シリアル回線と通信速度を指定するためには .Dq set device と .Dq set speed を使います。例えば次のようになります。 .Bd -literal -offset indent set device /dev/cuaa0 set speed 115200 .Ed .Pp .Fx では cuaa0 が 1 つめのシリアルポートになります。 .Ox で .Nm を実行している場合には cua00 が 1 つめです。 あなたのモデムが 28800 かそれ以上のビットレートで通信することが できるなら、シリアルポートの速度には 115200 を指定しておくべきでしょう。 一般に、シリアルポートの速度はモデムの速度の約 4 倍にしておきます。 .It .Dq set ifaddr コマンドで IP アドレスを定義します。 .Bl -bullet .It プロバイダがどの IP アドレスを使っているのか知っている場合には、 それをリモートアドレス (dst_addr) として使ってください。 知らない場合には、10.0.0.2/0 か何かを使ってください (以降を参照してください)。 .It 特定の IP アドレスをプロバイダから割り当てられている場合は、 それをローカルアドレス (src_addr) として使ってください。 .It プロバイダが IP アドレスを動的に割り当てる場合は、適当に控えめで 緩やかに記述した IP アドレスをローカルアドレスに選んでください。 10.0.0.1/0 が適切でしょう。 / に続く数値は、このアドレスのうち何ビットを重視しているかを示します。 もしもクラス C のネットワーク 1.2.3.0 上のアドレスを使うことを 主張したいのなら、1.2.3.1/24 と指定することができます。 .It プロバイダがあなたが提示した最初の IP 番号を受け付ける場合、 第 3, 4 の引数に .Dq 0.0.0.0 を指定してください。 これによりプロバイダが番号を割り当てます (3 つめの引数は、 .Sq src_addr に対してデフォルトのマスクよりも制約が緩いため、無視されます)。 .El .Pp 自分の IP アドレスもプロバイダの IP アドレスも 知らない場合には、次の例のようにするとよいでしょう。 .Bd -literal -offset indent set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0 .Ed .Pp .It ほとんどの場合、プロバイダはデフォルトルータでもあるでしょう。 この場合、次の行を .Pa /etc/ppp/ppp.conf .Fl ( auto モードを使用しない設定の場合には .Pa /etc/ppp/ppp.linkup ) に追加します。 .Bd -literal -offset indent add default HISADDR .Ed .Pp これは、 .Nm 接続先のアドレスが何であっても (この例では 10.0.0.2) デフォルト経路として追加するように指示します。 この経路は .Sq スティッキー です。これは .Dv HISADDR の値が変わると、経路もそれに従って自動的に更新されるという意味です。 .It プロバイダが PAP/CHAP による認証を要求している場合は、 .Pa /etc/ppp/ppp.conf ファイルに次の行を追加してください: .Bd -literal -offset indent set authname MyName set authkey MyPassword .Ed .Pp デフォルトではどちらも受け付けられますので、ISP が何を要求しても大丈夫です。 .Pp PAP もしくは CHAP を使用する場合、ログインスクリプトはほとんどの場合、 必要とされないことを記述しておくべきでしょう。 .It 次のような行を加え、ISP にネームサーバアドレスを確認してください。 .Bd -literal -offset indent enable dns .Ed .Pp ローカル DNS を走らせている場合には、 .Dq resolv readonly を使わず、かつ、 .Dq resolv restore を .Pa /etc/ppp/ppp.linkdown に含めていないならば、 これを .Em やらない でください。 .Nm は単純に .Pa /etc/resolv.conf に nameserver 行を入れることで、ローカル DNS の使用を 出し抜いてしまうからです。 .El .Pp 現実の例を見たい場合には、 .Pa /usr/share/examples/ppp/ppp.conf.sample と .Pa /usr/share/examples/ppp/ppp.linkup.sample を参照してください。 ラベル pmdemand は、ほとんどのプロバイダで使用できるでしょう。 .Sh ログ機能 .Nm は次のログ情報を、 .Xr syslog 3 経由で、もしくはスクリーンに出力することができます: .Pp .Bl -tag -width XXXXXXXXX -offset XXX -compact .It Li All ロギング用ファシリティをすべて有効にします。 この場合、ログがたくさんできます。 `all' の最も一般的な使い方は、共通部分として使うことです。 この場合、すべてのファシリティを有効にしたあとで一部の ファシリティを削ったりします (`debug' や `timer' が通常は無効にするのに最適な ファシリティです)。 .It Li Async 非同期レベルパケットの 16 進ダンプ。 .It Li CBCP CBCP (CallBack Control Protocol) ログの生成。 .It Li CCP CCP パケットトレースの生成。 .It Li Chat .Sq dial , .Sq login , .Sq logout , .Sq hangup のチャットスクリプトのトレースログの生成。 .It Li Command コマンド実行のログ。 .It Li Connect 文字列 "CONNECT" を含むチャット行のログ。 .It Li Debug デバッグ情報のログ。 .It Li DNS DNS QUERY パケットのログ。 .It Li Filter ダイヤルフィルタに許可され、他のフィルタに拒否されたパケットのログ。 .It Li HDLC HDLC パケットの 16 進ダンプ。 .It Li ID0 ユーザ ID 0 で実行された全関数呼び出しを詳細に記録。 .It Li IPCP IPCP パケットトレースの生成。 .It Li LCP LCP パケットトレースの生成。 .It Li LQM LQR レポートの生成。 .It Li Phase フェーズ遷移ログの出力。 .It Li Physical 物理レベルパケットの 16 進ダンプ。 .It Li Sync 同期レベルパケットの 16 進ダンプ。 .It Li TCP/IP 全 TCP/IP パケットのダンプ。 .It Li Timer タイマ操作のログ。 .It Li TUN ログの各行に tun デバイスを含めます .It Li Warning 端末デバイスへの出力。端末が存在しない場合は、 .Dv LOG_WARNING を使用してログファイルに送ります。 .It Li Error 端末デバイスとログファイルへの出力で、 .Dv LOG_ERROR を使用します。 .It Li Alert ログファイルへの出力で、 .Dv LOG_ALERT を使用します。 .El .Pp .Dq set log コマンドで、ログの出力レベルを設定することができます。 また、複数のレベルを単一コマンドラインにて指定することも可能です。 デフォルトは、 .Dq set log Phase です。 .Pp スクリーンに直接ログを表示することも可能です。 文法は同じで、語 .Dq local が .Dq set log の直後に付くことだけが違います。 デフォルトは .Dq set log local (つまり、マスクされない警告、エラーと注意のみ出力) です。 .Pp .Dq set log Op local への最初の引数が .Sq + か .Sq - の文字で始まる場合、現在のログレベルを消去せずに修正します。例えば: .Bd -literal -offset indent PPP ON awfulhak> set log phase PPP ON awfulhak> show log Log: Phase Warning Error Alert Local: Warning Error Alert PPP ON awfulhak> set log +tcp/ip -warning PPP ON awfulhak> set log local +command PPP ON awfulhak> show log Log: Phase TCP/IP Warning Error Alert Local: Command Warning Error Alert .Ed .Pp レベル Warning, Error, Alert のメッセージログは .Dq set log Op local では制御できません。 .Pp .Ar Warning レベルは特別で、ローカルに表示可能な場合には記録されません。 .Sh シグナルハンドリング .Nm は次のシグナルを扱います: .Bl -tag -width "USR2" .It INT このシグナルを受信すると、現在の接続がもしあればそれを終了します。 .Fl auto もしくは .Fl ddial のモードではない場合、 .Nm は終了します。 .It HUP, TERM, QUIT .Nm を終了させます。 .It USR1 .Nm に既存のサーバソケットを再度オープンさせ、すべての既存の診断ポートへの接続を 取り下げます。 以前にオープン出来なかったソケットは、再度試されます。 .It USR2 .Nm に全サーバソケットを閉じさせ、すべての既存の診断ポートへの接続を 取り下げます。 再度オープンするためには、 .Dv SIGUSR1 が使用できます。 .El .Sh マルチリンク PPP .Em PPP 相手に接続するのに複数の物理的なリンクを利用したいなら、 接続相手も .Em マルチリンク PPP プロトコルを理解する必要があります。 仕様の詳細は RFC 1990 を参照してください。 .Pp 接続先は、 .Dq 終点の選択 とその .Dq 認証 ID の組み合わせによって識別されます。 これらの一方、もしくは両方を指定することができます。 最低でも片方は指定しておくことが推奨されます。 そうでないと、すべてのリンクが実際に同一のプログラムに接続されていることを 確認する方法がなくなり、 混乱してロックアップを引き起こすことがあります。 ローカルには、これらの識別変数は .Dq set enddisc と .Dq set authname コマンドを用いることで指定されます。先立って接続相手と .Sq authname (と .Sq authkey ) について合意しておく必要があります。 .Pp マルチリンクの能力は .Dq set mrru コマンド (set maximum reconstructed receive unit) を用いることで 有効になります。一度マルチリンクが有効になれば、 .Nm は接続相手とマルチリンク接続のネゴシエーションを行います。 .Pp デフォルトでは ( .Sq deflink と呼ばれる) ただ 1 つの .Sq リンク のみが有効です。さらにリンクを作成するには .Dq clone コマンドが使われます。このコマンドは既存のリンクを複製します。 それは次の点を除いてすべての性質が同じものです: .Bl -enum .It 新しいリンクは .Dq clone コマンドラインで指定された独自の名前を持ちます。 .It 新しいリンクは .Sq interactive リンクです。そのモードは次の .Dq set mode コマンドで変更することができます。 .It 新しいリンクは .Sq closed の状態にあります。 .El .Pp すべての有効なリンクのまとめは、 .Dq show links コマンドを用いて見ることができます。 .Pp 一度リンクが作成されると、コマンドの使用方法が変わります。 すべてのリンク固有のコマンドの前には、 .Dq link Ar name プレフィックスをつけて、 コマンドを適用するリンクを指定する必要があります。 .Nm は十分賢いので、 利用可能なリンクが 1 つだけの場合には、 .Dq link Ar name プレフィックスは不要です。 .Pp コマンドの中には依然としてリンクの指定なしに使用できるものがあり、それは .Sq バンドル レベルの操作を行います。たとえば、2 つ以上のリンクが存在するとき .Dq show ccp はマルチリンクレベルの CPP 設定と統計を表示し .Dq link deflink show ccp は .Dq deflink のリンクレベルの同じ情報を表示します。 .Pp これらの情報を用いて、次の設定を用いることができます: .Pp .Bd -literal -offset indent mp: set timeout 0 set log phase chat set device /dev/cuaa0 /dev/cuaa1 /dev/cuaa2 set phone "123456789" set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \\"\\" ATZ \e OK-AT-OK \\\\dATDT\\\\T TIMEOUT 45 CONNECT" set login set ifaddr 10.0.0.1/0 10.0.0.2/0 0.0.0.0 0.0.0.0 set authname ppp set authkey ppppassword set mrru 1500 clone 1,2,3 # 3 個の新規リンクを作成 - デフォルトを複製 link deflink remove # デフォルトリンクを削除 (``deflink'' という名前) .Ed .Pp すべての複製が設定の最後で行われていることに注意してください。 一般にはリンクは最初に設定され、そして複製されます。 あなたが常にすべてのリンクがアップ状態であることを望む場合には、 設定の最後に次の行を追加することができます。 .Pp .Bd -literal -offset indent link 1,2,3 set mode ddial .Ed .Pp リンクが必要に応じてダイヤルされることを望む場合には、次のコマンドを 使うことができます。 .Pp .Bd -literal -offset indent link * set mode auto .Ed .Pp 上記の .Dq set device 行を取り除き、 .Dq clone コマンドに続けて次の内容を指定することで、 リンクを特定の名前に結びつけることもできます: .Pp .Bd -literal -offset indent link 1 set device /dev/cuaa0 link 2 set device /dev/cuaa1 link 3 set device /dev/cuaa2 .Ed .Pp どのコマンドが ( .Dq link コマンドを使用した) コンテキスト (文脈) を要求し、 どのコマンドがコンテキストをオプションとし、 そしてどのコマンドがコンテキストを一切とらないかを調べるには、 .Dq help コマンドを使用します。 .Pp .Nm が接続相手と .Em マルチリンク モードでネゴシエートすると、 .Nm はローカルドメインソケットを .Pa /var/run ディレクトリに作成します。このソケットは、 リンク情報 (実際のリンクファイル記述子も含む) を、異なる .Nm の間で受け渡しするために使われます。 この機能によって、 .Nm はシリアル回線の初期制御を行う必要なしに .Xr getty 8 から、もしくは直接 .Pa /etc/gettydefs から ( .Sq pp= ケーパビリティを用いて) 実行することが可能となっています。 ひとたび .Nm がマルチリンクモードのネゴシエーションを行うと、 .Nm は自分がオープンした リンクをすでに実行されている任意の他のプロセスに渡すことができます。 すでに実行されているプロセスがない場合、 .Nm はマスタとして振る舞い、ソケットを作成し、新たな接続を待ちます。 .Sh PPP コマンドリスト この節では利用可能コマンドとその効果をリストします。 .Nm セッションで対話的に使用することも、 設定ファイルで指定することも、 .Xr pppctl 8 もしくは .Xr telnet 1 セッションで指定することも可能です。 .Bl -tag -width 2h .It accept|deny|enable|disable Ar option.... これらのディレクティブは 最初の接続においてどのように相手とネゴシエートするかを .Nm に指示します。各 .Dq option は、accept/deny および enable/disable のデフォルトを持ちます。 .Dq accept は相手がこのオプションを要求したら、ACK を送ることを意味します。 .Dq deny は相手がこのオプションを要求したら、NAK を送ることを意味します。 .Dq enable はこのオプションを当方が要求することを意味します。 .Dq disable はこのオプションを当方が要求しないことを意味します。 .Pp .Dq option は次のいずれかです: .Bl -tag -width 2h .It acfcomp デフォルト: enable かつ accept。 ACFComp はアドレスおよびコントロールフィールド圧縮 (Address and Control Field Compression) を意味します。 LCP パケット以外は通常、 アドレスフィールド 0xff (全ステーションアドレス) と 制御フィールド 0x03 (番号付けされていない情報コマンド) を持ちます。 このオプションがネゴシエートされると、これらの 2 バイトは単に送信されなくなり、 流量が少なくなります。 .Pp 詳細は .Pa rfc1662 を参照してください。 .It chap Ns Op \&05 デフォルト: disable かつ accept。 CHAP はチャレンジ交換認証プロトコル (Challenge Handshake Authentication Protocol) を意味します。 CHAP もしくは PAP (後述) のどちらか一方のみネゴシエーション可能です。 CHAP では、認証者は「チャレンジ」メッセージを相手に送ります。 相手は一方向ハッシュ関数を使用して「チャレンジ」を暗号化し、 結果を送り返します。 認証者は同じことを行い結果を比較します。 この機構の利点は、接続を介してパスワードを送らないことです。 接続が最初に確立する時にチャレンジが行われます。 更なるチャレンジが行われるかもしれません。 相手の認証を行いたい場合は、 .Dq enable chap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを .Pa /etc/ppp/ppp.secret に書く必要があります。 .Pp クライアントとして CHAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 CHAP はデフォルトで accept されます。 .Em PPP の実装によっては、チャレンジの暗号化に MD5 ではなく "MS-CHAP" を使用するものがあります。 MS-CHAP は MD4 と DES の組み合わせです。もし .Nm が DES ライブラリの存在するマシン上で構築された場合 MS-CHAP 認証要求に応答しますが、要求はしません。 .It deflate デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に deflate 圧縮を使用するか否かを決定します。 使用されるアルゴリズムは .Xr gzip 1 プログラムが使用するものと同じです。 注: .Xr pppd 8 - 多くのオペレーティングシステムで使用可能な .Em PPP の実装 - との .Ar deflate 能力についてのネゴシエーションには問題があります。 .Nm pppd (バージョン 2.3.1) が .Ar deflate 圧縮のネゴシエーションを行おうとする CCP コンフィギュレーションタイプは、 .Pa rfc1979 に規定されたタイプ .Em 26 ではなくタイプ .Em 24 であり、誤っています。 タイプ .Ar 24 は実際には .Pa rfc1975 では .Dq PPP Magna-link Variable Resource Compression と指定されています! .Nm は .Nm pppd とネゴシエートする能力がありますが、 .Dq deflate24 が .Ar enable かつ .Ar accept されている場合のみです。 .It deflate24 デフォルト: disable かつ deny。 これは .Ar deflate のバリエーションで、 .Xr pppd 8 プログラムとのネゴシエーションを許可します。 詳細は上記の .Ar deflate セクションを参照してください。 これは .Pa rfc1975 に反するため、デフォルトでは disable となっています。 .It dns デフォルト: disable かつ deny。 このオプションは DNS ネゴシエーションを許可します。 .Pp .Dq enable にすることにより、 .Nm は接続相手が .Pa /etc/resolv.conf ファイルのエントリを確認することを要求します。 もし接続相手が当方の要求に否定応答をした場合 (新しい IP アドレスを 提案したら)、 .Pa /etc/resolv.conf ファイルは更新され、新しいエントリを確認するように要求を送ります。 .Pp .Dq accept にすることにより、 .Nm は接続相手からの DNS 検索要求を拒否せずに、返答します。 .Dq set dns コマンドの使用によって上書きされていない場合には、応答は .Pa /etc/resolv.conf から採られます。 .It enddisc デフォルト: enable かつ accept。 このオプションは、終点選択値をネゴシエートするか否かを制御します。 .Dq set enddisc が使用され .Ar enddisc が enable の場合のみ、当方の選択値を送ります。 .Ar enddisc が disable の場合、相手の選択値を拒否します。 .It LANMan|chap80lm デフォルト: disable かつ accept。 この認証プロトコルの使用は勧められません。 単一の CHAP タイプ (0x80) を装って、 2 つの異った機構 (LANMan と NT) を実装することにより、 部分的に認証プロトコルを侵害しているからです。 .Dq LANMan は単純な DES 暗号化機構を使用するものであり、 CHAP 代替としては最低の安全性のものです (それでも PAP よりは安全です)。 .Pp 更なる詳細は後述の .Dq MSChap の記述を参照してください。 .It lqr デフォルト: disable かつ accept。 このオプションはリンク品質要求 (Link Quality Request) を送信する、 もしくは受け入れるかどうかを決定します。 LQR は、モデムのキャリア検出を使用せずに、リンクダウンを .Nm に決定させるプロトコルです。 LQR が enable になっていると、 .Nm は LCP 要求の一部として .Em QUALPROTO オプション (後述の .Dq set lqrperiod を参照) を送ります。 接続相手が同意した場合、両端は同意した間隔で LQR パケットを交換し、 LQM ロギングを有効にすることで、詳細なリンク品質を監視することが 可能になります。 接続相手が同意しなかった場合、 .Nm は代りに ECHO LQR 要求を 送ります。これらのパケットは興味ある情報を何も渡しませんが、 .Em 必ず 接続相手に応答しなければなりません。 .Pp LQR, ECHO LQR のいずれを用いるにせよ、 .Nm は 5 つのパケットを送ったが確認応答が無い場合、6 つ目のパケットを送らずに 回線を切断します。 メッセージを .Em PHASE レベルで記録し、回線切断の原因が接続相手にあるものとして、適当な .Dq reconnect 値を使用します。 .It mppe デフォルト: enable かつ accept。 これは、Microsoft 社の Point to Point 暗号化機構です。 MPPE の鍵のサイズは、40, 56, 128 ビットです。 .Dq set mppe コマンドを参照してください。 .It MSChapV2|chap81 デフォルト: disable かつ accept。 標準 CHAP (タイプ 0x05) と非常に似ていますが、長さ 16 バイト固定の チャレンジコードを送ることと、チャレンジコードを暗号化するのに、 標準の MD5 機構ではなく MD4, SHA-1 そして DES を混合して使用する 点が異なります。 .It MSChap|chap80nt デフォルト: disable かつ accept。 この認証プロトコルの使用は勧められません。 単一の CHAP タイプ (0x80) を装って、 2 つの異った機構 (LANMan と NT) を実装することにより、 部分的に認証プロトコルを侵害しているからです。 標準の CHAP (タイプ 0x05) に非常に良く似ていますが、 チャレンジを固定 8 バイト長で発行し、 標準の MD5 機構ではなく MD4 と DES を組み合わせてチャレンジを暗号化するところが違います。 LANman 用の CHAP タイプ 0x80 もまたサポートされています - 詳細は .Dq enable LANMan を参照してください。 .Pp .Dq LANMan と .Dq NT の両方が CHAP タイプ 0x80 を使用しますので、両方を .Dq enable にして認証者として動作するときには、 相手が誤った方のプロトコルを使用して応答した場合には、 .Nm は最大 3 回相手に再チャレンジします。 これにより、相手が両方のプロトコルを使用する機会を与えます。 .Pp 逆に、両プロトコルを .Dq enable にして .Nm が被認証者となる場合、チャレンジに答えるたびに使用プロトコルを交換します。 .Pp 注: LANMan のみが enable にされた場合、 .Xr pppd 8 (バージョン 2.3.5) は被認証者としては誤った動作を行います。 NT と LANMan の両方の応答を行いますが、 NT の応答のみ使用すべきことも指示してしまうのです。 .It pap デフォルト: disable かつ accept。 PAP はパスワード認証プロトコル (Password Authentication Protocol) を 意味します。 CHAP (前述) もしくは PAP のどちらか一方のみネゴシエーション可能です。 PAP では、ID とパスワードが相手に送られ続け、 認証されるか接続が終了されるまでこれが続きます。 これは比較的良くないセキュリティ機構です。 接続が最初に確立した時のみ実行可能です。 相手の認証を行いたい場合は、 .Dq enable pap を .Pa /etc/ppp/ppp.conf に書き、相手のエントリを .Pa /etc/ppp.secret に書く必要があります (ただし、後述の .Dq passwdauth と .Dq set radius オプションを参照)。 .Pp クライアントとして PAP を使用する場合、 .Dq AuthName と .Dq AuthKey を .Pa /etc/ppp/ppp.conf に指定するだけで良いです。 PAP はデフォルトで accept されます。 .It pred1 デフォルト: enable かつ accept。 このオプションは圧縮制御プロトコル (Compression Control Protocol; CCP) に Predictor 1 圧縮を使用するかどうかを決定します。 .It protocomp デフォルト: enable かつ accept。 このオプションは PFC (プロトコルフィールド圧縮) のネゴシエートするために使用されます。 この機構により、 プロトコルフィールド数が 2 オクテットから 1 オクテットに減ります。 .It shortseq デフォルト: enable かつ accept。 このオプションは .Nm がマルチリンクモードのネゴシエーション時に (12 ビットの) 短いシーケンス番号を要求し、そして受け入れるかどうかを決定します。 これは、当方の MMRU が設定されたときのみ (マルチリンクが有効になっているときのみ) 適用されます。 .It vjcomp デフォルト: enable かつ accept。 このオプションは Van Jacobson ヘッダ圧縮を使用するかどうかを決定します。 .El .Pp 次に示すオプションは、実際には相手とネゴシエートしません。 それゆえ accept および deny は意味を持ちません。 .Bl -tag -width 20 .It filter-decapsulation デフォルト: disable。 本オプションを enable にすると、 .Nm は UDP フレームを検査し、 .Em PPP フレームをペイロードとして持っているか否かを見ます。 これが真である場合、パケット自身に対してではなく、ペイロードに対して、 すべてのフィルタを適用します。 .Pp .Em PPP リンク上で PPPoUDP トラフィックを送りたい場合で、 UDP ラッパではなく、 実際のデータに基いて賢いことをリンクにやらせたい場合に有用です。 .Pp UDP フレームのペイロードは、如何なる方法であっても圧縮してはなりません。 圧縮した場合には、 .Nm はペイロードを解釈できません。 ですから、UDP リンクに対する .Nm の起動の際には、設定中で .Ic disable vj pred1 deflate と .Ic deny vj pred1 deflate を行なうことを推奨します。 .It force-scripts 設定済みのチャットスクリプトを、 .Dv direct および .Dv dedicated のモードでも実行することを強制します。 .It idcheck デフォルト: enable。 低レベルな LCP, CCP, IPCP 設定トラフィックを交換するときに、 すべての応答の識別子フィールドはその要求の識別子フィールドと 同一であることが予定されています。デフォルトでは .Nm は予定された識別子フィールドを持たないすべての応答パケットを 捨て、それぞれのログレベルで報告します。もし .Ar idcheck が disable になっている場合、 .Nm は識別子フィールドを無視します。 .It iface-alias デフォルト: .Fl nat が指定された場合 enable。 このオプションは、 インタフェースのアドレスを交換するのではなく、 インタフェースに新規アドレスを追加するように、 .Nm に指示します。 ネットワークアドレス変換が有効な場合のみ .Pq Dq nat enable yes 、本オプションを enable にできます。 .Pp 本オプションを enable にすると、 .Nm は古いインタフェースアドレスのトラフィックを NAT エンジン .Pq Xr libalias 3 参照 を通すようになり、( .Fl auto モードでは) 最初に PPP リンクを立ち上げたプロセスが正しく接続できるようにします。 .Pp .Dq nat enable no として NAT を disable すると、 .Sq iface-alias も disable します。 .It ipcp デフォルト: enanle。 本オプションは、 .Nm が IP 制御プロトコルケーパビリティを試み、 これが成功したときには IP データグラムを相手と交換することを許可します。 .It ipv6cp デフォルト: enanle。 本オプションは、 .Nm が IPv6 制御プロトコルケーパビリティを試み、 これが成功したときには IPv6 データグラムを相手と交換することを許可します。 .It keep-session デフォルト: disable。 .Nm がマルチリンクサーバとして動作するとき、別の .Nm インスタンスが最初に各接続を受け付けます。 リンクが (別の .Nm によって制御されている) 既存のバンドルに属すと判定すると、 .Nm はこのリンクを当該別プロセスへ移管します。 .Pp リンクが tty デバイスである場合かこのオプションが enable されている場合、 .Nm は終了せず、自己のプロセス名を .Dq session owner に変え、リンクを制御する方の .Nm が処理を完了してアイドルプロセスの方へシグナルを返すまで待ちます。 リンク資源が再利用可能であると .Nm の親がみなす結果により生じる混乱を、これにより防ぎます。 .Pp .Pa /etc/ttys にエントリがある tty デバイスの場合、別の .Xr getty 8 の開始を防ぐために、これが必要です。 .Xr sshd 8 のようなプログラムリンクの場合、子供の死による .Xr sshd 8 の終了を防ぐために、これが必要です。 .Nm は親の要件を判断できませんので (tty の場合を除く)、 状況に応じて手動で本オプションを設定する必要があります。 .It loopback デフォルト: enable。 .Ar loopback が enable の場合、 .Nm は自動的に .Em PPP インタフェースと同じ終点アドレス宛に送出されたパケットを ループバックします。 disable の場合、 .Nm がパケットを送ると、おそらく他の終点からの ICMP リダイレクトとなります。 インタフェースがデフォルト経路であるため、 ループバック経路を必要とすることを避けたい場合、 このオプションを enable にすると便利です。 .It passwdauth デフォルト: disable。 このオプションを enable にすることにより、 PAP 認証コードが呼び出し側を認証する時に、 .Pa /etc/ppp/ppp.secret ファイル中でみつからない場合、パスワードデータベース ( .Xr passwd 5 参照) を使用します。 .Pa /etc/ppp/ppp.secret は常に、最初に調べられます。 .Xr passwd 5 からパスワードを調べ、かつそのクライアントに対して IP アドレスもしくは ラベルを指定したい場合には、 .Pa /etc/ppp/ppp.secret ファイル中のクライアントのパスワードとして .Dq \&* を用いてください。 .It proxy デフォルト: disable。 このオプションを enable にすることにより、 .Nm に相手のために代理 ARP をさせます。 .Dv HISADDR と .Dv HISADDR がいるローカルネットワークの .Dv MAC アドレスを使用して、 .Nm が ARP 表に単一エントリを作成することを意味します。 これにより、 相手自身がその LAN に接続されたかのような状態で、 LAN に接続された他のマシンと相手とが 通信できるようになります。 .Dv HISADDR が LAN からのアドレスではない場合、代理エントリは作成できません。 .It proxyall デフォルト: disable。 このオプションを enable にすることにより、 .Nm に代理 ARP エントリを追加させます。 追加されるエントリは、 tun インタフェースによってルーティングされる すべてのクラス C もしくはそれ以下のサブネットの中の、全 IP アドレスです。 .Pp 代理 arp エントリは、 .Dq add コマンドによって追加されたスティッキー経路に対してのみ作成されます。( .Dq set ifaddr コマンドによって作成された) インタフェースアドレス自身に対しては、代理 arp エントリは作成されません。 .It sroutes デフォルト: enable。 .Dq add コマンドが .Dv HISADDR , .Dv MYADDR , .Dv HISADDR6 .Dv MYADDR6 のいずれかの値とともに用いられると、エントリは .Sq スティック経路 リストに格納されます。 これらの値が変更される度に、このリストが経路表に適用されます。 .Pp このオプションを disable にすると、 スティッキー経路が適用されなくなります。 .Sq スティッキー経路 リストは依然として保守されます。 .It Op tcp Ns Xo .No mssfixup .Xc デフォルト: enable。 このオプションは、 .Nm に、TCP SYN パケットを調整するように指示し、 インタフェース MTU が許可しているサイズを受信セグメントサイズの 最大値が超えないようにします。 .It throughput デフォルト: enable。 このオプションを有効にすると、 .Nm はスループット統計を収集します。 ずれ動く 5 秒間のウィンドウにおいて入出力が検査され、 現在、最良時、総計の数値が保持されます。 このデータは関連する .Em PPP 層が終了するときに出力され、また .Dq show コマンドで表示することで得られます。スループット統計は .Dq IPCP と .Dq physical のレベルで利用可能です。 .It utmp デフォルト: enable。 通常ユーザが PAP もしくは CHAP で認証された時で、 .Nm が .Fl direct モードで実行されている時は、このユーザのエントリが utmp ファイルおよび wtmp ファイルに作成されます。 このオプションを disable にすると、 .Nm は utmp および wtmp のエントリを作成しません。 通常、 ユーザがログインしかつ認証することを要求する場合のみ必要です。 .El .Pp .It add Ns Xo .Op !\& .Ar dest Ns Op / Ns Ar nn .Op Ar mask .Op Ar gateway .Xc .Ar dest は宛先 IP アドレスです。 ネットマスクは .Ar /nn によってビット数で指定するか、もしくは .Ar mask を用いて IP 番号で指定します。 .Ar 0 0 ならびにマスクなしの .Ar 0 はデフォルト経路を意味します。 .Ar 0 の代りにシンボル名 .Ar default を使うことが可能です。 .Ar gateway は、 .Ar dest マシン/ネットワークに至る、次のホップのゲートウェイです。 詳細は .Xr route 8 コマンドを参照してください。 .Pp 宛先にシンボル名 .Sq MYADDR , .Sq HISADDR , .Sq MYADDR6 , .Sq HISADDR6 のいずれかを使用可能であり、 .Ar gateway には .Sq HISADDR , .Sq HISADDR6 のいずれかを使用可能です。 .Sq MYADDR はインタフェース IP アドレスに置き換えられ、 .Sq HISADDR はインタフェースの宛先 (相手の) IP アドレスに置き換えられ、 .Sq MYADDR6 はインタフェース IPv6 アドレスに置き換えられ、 .Sq HISADDR6 はインタフェースの宛先 IPv6 アドレスに置き換えられます。 .Pp .Ar add!\& コマンド ( .Dq !\& に注意) 使用時には、経路が存在する場合には .Sq route change コマンド (詳細は .Xr route 8 参照) にて経路を更新します。 .Pp .Dq HISADDR , .Dq MYADDR , .Dq HISADDR6 , .Dq MYADDR6 , .Dq DNS0 , .Dq DNS1 のいずれかを含む経路は .Sq スティッキー と見なされます。これらはリスト (リストを見るには .Dq show ipcp コマンドを使用します) に格納され、 これら のいずれかの値が変更される度に、経路表の関連するエントリが更新されます。 この機能は .Dq disable sroutes を使用することで無効にできます。 .It allow user Ns Xo .Op s .Ar logname Ns No ... .Xc このコマンドは .Nm と設定ファイルへのアクセスを制御します。 設定ファイルのラベルと .Nm 実行モードにより、 ユーザレベルでのアクセスも可能です。 例えば、 .Fl background モードでは、ユーザ .Sq fred のみがラベル .Sq fredlabel にアクセスできるように、 .Nm を構成したいかもしれません。 .Pp ユーザ ID 0 はこれらのコマンドの対象外です。 .Bl -tag -width 2h .It allow user[s] Ar logname... デフォルトでは、ユーザ ID 0 のみが .Nm へのアクセスを許されています。 このコマンドを指定することで、 .Dq allow users が記載されているセクションに列挙されているユーザは、 そのセクションへのアクセスが可能となります。 .Sq default セクションは 常に最初にチェックされます (スタートアップ時に常にロードされる唯一の セクションです)。 あるセクションの中では、複数の .Dq allow users コマンドは、加算的です。 しかしながら、あるセクション中で許可されたユーザ群は、 .Sq default セクションで許可されたユーザ群を上書きします。 ですから、デフォルトユーザを .Sq default セクションで指定し、新しいユーザリストをあるラベルに指定することで、 あるラベル以外のすべてにアクセスを許すといったことが可能です。 .Pp ユーザ .Sq * が指定されると、全ユーザにアクセスが許されます。 .It allow mode Ns Xo .Op s .Ar mode Ns No ... .Xc デフォルトでは全 .Nm モードが使用可能です。 このコマンドが使用されると、 このコマンドが指定されたラベルのロードに許されるアクセス .Ar mode が制限されます。 .Dq allow users コマンドと同様、 各 .Dq allow modes コマンドは先行するコマンドに優先し、 .Sq default セクションは常に最初にチェックされます。 .Pp 使用可能なモードは次の通りです: .Sq interactive , .Sq auto , .Sq direct , .Sq dedicated , .Sq ddial , .Sq background , .Sq * 。 .Pp マルチリンクモードで動作するときには、 現在存在する回線モードを許可するセクションをロード可能です。 .El .Pp .It nat Ar command Op Ar args このコマンドは .Nm 組込みのネットワークアドレス変換機能 (マスカレーディングや IP エイリアシングとしても知られています) を 制御するために使用します。 NAT は、外部インタフェースでのみ動作し、 .Fl direct フラグと共に使用してもおそらく意味がありません。 .Pp あなたのシステムで nat を有効にすると (コンパイル時に削除できます)、 次のコマンドが使用可能となります: .Bl -tag -width 2h .It nat enable yes|no このコマンドは、ネットワークアドレス変換を有効もしくは無効にします。 .Fl nat コマンドラインフラグは .Dq nat enable yes と同じ意味です。 .It nat addr Op Ar addr_local addr_alias このコマンドには、 .Ar addr_alias のデータを .Ar addr_local へリダイレクトします。 少数の実 IP アドレスを持ち、 それらをゲートウェイの後の特定のマシンにマップしたい場合に有用です。 .It nat deny_incoming Op yes|no yes に設定すると、 エイリアシングリンクがまだ存在しないところでは、 このコマンドは全パケットを拒否します。 .Dq エイリアシングリンク が何であるかについては、 .Xr libalias 3 の .Sx 概念の背景 節を参照してください。 .Pp どのような状況において .Xr libalias 3 がエイリアシングリンクを作成したか、気をつける必要があります。 .Dq set filter または .Dq nat target のコマンドを使用して、更にネットワークを保護する必要があるかもしれません。 .It nat help|? このコマンドは、使用可能な nat コマンドのまとめを表示します。 .It nat log Op yes|no このオプションは、NAT の様々な統計と情報がファイル .Pa /var/log/alias.log に記録されるようにします。 .It nat port Ar proto Ar targetIP Ns Xo .No : Ns Ar targetPort Ns .Oo .No - Ns Ar targetPort .Oc Ar aliasPort Ns .Oo .No - Ns Ar aliasPort .Oc Oo Ar remoteIP : Ns .Ar remotePort Ns .Oo .No - Ns Ar remotePort .Oc Ns .Oc .Xc このコマンドは、 .Ar aliasPort への入力の .Ar proto 接続を、 .Ar targetIP の .Ar targetPort へリダイレクトします。 .Ar proto は、 .Dq tcp または .Dq udp です。 .Pp ポート番号の範囲は、前述のように指定可能です。 範囲は同じ大きさであることが必要です。 .Pp .Ar remoteIP が指定された場合、この IP 番号から来たデータのみがリダイレクトされます。 .Ar remotePort は、 .Dq 0 (すべての送信元ポート) か、もう一方の範囲と同じ大きさのポート範囲です。 .Pp あなたのゲートウェイの後のマシンでインターネット電話等を実行したい場合に、 このオプションは有用です。 しかし、送信元ホストと宛先ポートにつき 内部マシン 1 台のみに接続可能という制限があります。 .It nat proto Ar proto localIP Oo .Ar publicIP Op Ar remoteIP .Oc このコマンドは、プロトコルタイプ .Ar proto .Xr ( protocols 5 参照) のパケットを内部アドレス .Ar localIP にリダイレクトするよう .Nm に指示します。 .Pp .Ar publicIP が指定された場合、そのアドレスが宛先のパケットのみが適合し、 そうでない場合、デフォルトのエイリアスアドレスが使用されます。 .Pp .Ar remoteIP が指定された場合、その始点アドレスに適合するパケットのみが適合します。 .Pp このコマンドは、 トンネルのエンドポイントを内部マシンにリダイレクトするために有用です。 例えば次のようにします: .Pp .Dl nat proto ipencap 10.0.0.1 .It "nat proxy cmd" Ar arg Ns No ... このコマンドは、 .Nm に特定の接続に対する代理をさせ、 これらの接続を指定したサーバにリダイレクトします。 使用可能なコマンドについての詳細は .Xr libalias 3 の .Fn PacketAliasProxyRule の記述を参照してください。 .It nat punch_fw Op Ar base count このコマンドは .Nm に対し、 FTP または IRC DCC 接続用にファイアウォールに穴を開けるよう指示します。 これは、 特定の接続 (その接続のみ) を許可する一時的なファイアウォールルールを 動的にインストールすることで実現されます。 これらのルールは、対応する接続が終了すると、削除されます。 .Pp ルール番号 .Ar base から開始する最大 .Ar count 個のルールが、ファイアウォールに穴を開けます。 .Dq nat punch_fw コマンドを実行すると、この範囲は削除されます。 .Pp 引数を指定しないと、ファイアウォールの穴開けは無効になります。 +.It nat skinny_port Op Ar port +このコマンドは、 +.Nm +に対し、 +どの TCP ポートが Skinny Station プロトコルによって使用されるかを通知します。 +Cisco Call Managers と通信してボイスオーバ IP コールを設定するために、 +Cisco IP 電話が Skinny を使用します。 +デフォルトでは、Skinny エイリアスは実行されません。 +Skinny 用の典型的なポート番号は 2000 です。 +.Pp +引数を指定しないと、Skinny エイリアスは無効化されます。 .It nat same_ports yes|no 有効になると、 ネットワークアドレス変換エンジンに対して、 出力パケットのポート番号をできるだけ変更しないように指示します。 RPC や LPD といった、 ウェルノウンポート (well known port) からの接続を要求する プロトコルをサポートするのに有用です。 .It nat target Op Ar address アドレスを指定したときは、そのアドレスをターゲットアドレスとして設定し、 指定しないときは、ターゲットアドレスの設定をクリアします。 ターゲットアドレスは、デフォルトでどのように受信パケットを NAT するかを指定するために libaliases が使用します。 ターゲットアドレスが設定されていないか、または .Dq default が与えられている場合、パケットは変更されないまま内部ネットワークに ルーティングされるようになります。 .Pp ターゲットアドレスを .Dq MYADDR に設定することもでき、その場合、libaliases はすべてのパケットを 内部ネットワークにリダイレクトします。 .It nat use_sockets yes|no 有効になると、 ネットワークアドレス変換エンジンにソケットを作成させ、 正しい ftp データ入力や IRC 接続を保証できるようになります。 .It nat unregistered_only yes|no 登録されていない送信元アドレスの出力パケットのみを、変更します。 RFC1918 によると、登録されていない送信元アドレスは 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 です。 .El .Pp これらのコマンドはソース配布物の .Pa README.nat ファイル中でも議論されています。 .Pp .It Op !\& Ns Xo .No bg Ar command .Xc 指定した .Ar command を、次の語を置換した後に、バックグラウンドで実行します: .Bl -tag -width COMPILATIONDATE .It Li AUTHNAME これは、ローカルの .Ar authname の値と置き換えられます。後述の .Dq set authname コマンドを参照してください。 .It Li COMPILATIONDATE これは、 .Nm がコンパイルされた日付と置き換えられます。 .It Li DNS0 & DNS1 これは、それぞれプライマリ DNS サーバ、セカンダリ DNS サーバの IP アドレスに置き換えられます。IPCP によりネームサーバが ネゴシエーションされた場合、このマクロの値は変わります。 .It Li ENDDISC これは、ローカルの終点選択値と置き換えられます。 後述の .Dq set enddisc コマンドを参照してください。 .It Li HISADDR これは、相手の IP 番号と置き換えられます。 .It Li HISADDR6 これは、相手の IPv6 番号と置き換えられます。 .It Li INTERFACE これは、使用中のインタフェース名と置き換えられます。 .It Li IPOCTETSIN これは、接続確立後に受信された IP バイト数と置き換えられます。 .It Li IPOCTETSOUT これは、接続確立後に送信された IP バイト数と置き換えられます。 .It Li IPPACKETSIN これは、接続確立後に受信された IP パケット数と置き換えられます。 .It Li IPPACKETSOUT これは、接続確立後に送信された IP パケット数と置き換えられます。 .It Li IPV6OCTETSIN これは、接続確立後に受信された IPv6 バイト数と置き換えられます。 .It Li IPV6OCTETSOUT これは、接続確立後に送信された IPv6 バイト数と置き換えられます。 .It Li IPV6PACKETSIN これは、接続確立後に受信された IPv6 パケット数と置き換えられます。 .It Li IPV6PACKETSOUT これは、接続確立後に送信された IPv6 パケット数と置き換えられます。 .It Li LABEL これは、最後に使用したラベル名と置き換えられます。 ラベルは、 .Nm のコマンドラインから .Dq load または .Dq dial のコマンドから指定するか、 .Pa ppp.secret ファイルから指定可能です。 .It Li MYADDR これは、ローカルインタフェースに割り当てられた IP 番号と置き換えられます。 .It Li MYADDR6 これは、ローカルインタフェースに割り当てられた IPv6 番号と置き換えられます。 .It Li OCTETSIN これは、接続確立後に受信されたバイト数と置き換えられます。 .It Li OCTETSOUT これは、接続確立後に送信されたバイト数と置き換えられます。 .It Li PACKETSIN これは、接続確立後に受信されたパケット数と置き換えられます。 .It Li PACKETSOUT これは、接続確立後に送信されたパケット数と置き換えられます。 .It Li PEER_ENDDISC これは、相手の終点選択番号と置き換えられます。 .It Li PROCESSID これは、現在のプロセス ID と置き換えられます。 .It Li SOCKNAME これは、診断ソケット名と置き換えられます。 .It Li UPTIME これは、HH:MM:SS という書式の、バンドルの上がっている時間で置き換えられます。 .It Li USER これは、PAP もしくは CHAP で認証されたユーザ名と置き換えられます。 通常、この変数は -direct モードでのみ割り当てられます。 この値は、utmp ロギングが有効になっているかどうかに関わらず、利用可能です。 .It Li VERSION これは、 .Nm の現在のバージョン番号と置き換えられます。 .El .Pp これらの置換は .Dq set proctitle , .Dq ident , .Dq log コマンドによっても実行されます。 .Pp コマンド実行中に .Nm を停止させたい場合は、 .Dq shell コマンドを使用してください。 .It clear physical|ipcp|ipv6 Op current|overall|peak... .Dq physical , .Dq ipcp , .Dq ipv6cp のいずれかの階層で、指定されたスループット値をクリアします。 .Dq modem を指定する場合にはコンテキストが与えられなければなりません (後述の .Dq link コマンドを参照)。 第 2 引数が与えられない場合、すべての値がクリアされます。 .It clone Ar name Ns Xo .Op \&, Ns Ar name Ns .No ... .Xc 指定されたリンクを複製し、引数の .Ar name に関連づけた新しいリンクを作成します。 このコマンドは、リンクが 1 つしかない場合 (この場合にはそのリンクがデフォルトになります) を除いて後述の .Dq link コマンドから使用する必要があります。 リンクは下記の .Dq remove コマンドで削除できます。 .Pp デフォルトのリンク名は .Dq deflink です。 .It close Op lcp|ccp Ns Op !\& 引数が与えられないと、適切なプロトコル層がダウンし、リンクが閉じられます。 .Dq lcp が指定されると LCP 層がダウンしますが、 .Nm をオフラインにはしません。例えば .Dq slirp のようなものを使用すれば、 .Dq term (後述) を使用して相手のマシンと会話できます。 .Dq ccp が指定されると適切な圧縮層が閉じられます。 .Dq !\& が使用されると、圧縮層はクローズ状態のままとなります。 使用されない場合には、STOPPED 状態へ再度入り、 相手が更なる CCP ネゴシエーションを開始するのを待ちます。 なにが起きようとも、ユーザを .Nm から切り離すことはありませんし、 .Nm を終了させることもありません。 後述の .Dq quit を参照してください。 .It delete Ns Xo .Op !\& .Ar dest .Xc このコマンドは指定した .Ar dest IP アドレスの経路を削除します。 .Ar dest に .Sq ALL が指定された場合、 現在のインタフェースの経路表の非直接エントリと .Sq スティッキー経路 がすべて削除されます。 .Ar dest に .Sq default が指定された場合、デフォルト経路が削除されます。 .Pp .Ar delete!\& コマンドが使用された場合 (最後の .Dq !\& に注意)、存在しない経路について .Nm は文句を言わなくなります。 .It dial|call Op Ar label Ns Xo .No ... .Xc このコマンドは、 .Dq load label の次に .Dq open を指定することと同等です。後方互換性のために提供されています。 .It down Op Ar lcp|ccp 適切な階層をダウンさせますが、 綺麗な方法ではなく、下位層が使用不能になったように見えます。 オープン状態にある有限状態機械でこのコマンドを使用することは、 丁寧ではないとされています。 引数が与えられない場合、すべてのリンクが閉じられます (コンテキストが与えられない場合にはすべてのリンクが終了されます)。 .Sq lcp が指定された場合、 .Em LCP 層は終了されますが、デバイスはオフラインに移行せず、 リンクも閉じられません。 .Sq ccp が指定された場合、 関連する圧縮層のみが終了されます。 .It help|? Op Ar command 利用可能なコマンドをリストします。 .Ar command を指定した場合、このコマンドの使用方法を表示します。 .It iface add Ns Xo .Op !\& .Ar addr Ns Op / Ns Ar bits .Op Ar peer .Xc .It iface add Ns Xo .Op !\& .Ar addr .Ar mask .Ar peer .Xc このコマンドは、 .Nm が使用するインタフェースを制御します。 .Ar command は次のいずれかです: .Bl -tag -width 2h .It iface add Ns Xo .Op !\& .Ar addr Ns Op / Ns Ar bits .Op Ar peer .Xc 指定された .Ar addr mask peer の組み合わせをインタフェースに追加します。 .Ar mask を指定する代りに、 .Ar /bits を使用可能です ( .Ar addr との間に空白を入れてはなりません)。 指定したアドレスが既に存在する場合、 .Dq !\& を使用していない限りコマンドは失敗します - この場合、 以前のインタフェースアドレスエントリは新しいもので置き換えられ、 ネットマスクと相手のアドレスの変更を許します。 .Pp .Ar addr のみが指定されると、 .Ar bits はデフォルト値 .Dq 32 になり、 .Ar peer はデフォルト値 .Dq 255.255.255.255 になります。 このアドレス (ブロードキャストアドレス) は、 相手のアドレスとして複数存在することを .Nm が唯一許すものです。 .It iface clear Op INET | INET6 .Nm が OPENED 状態または .Fl auto モードの場合にこのコマンドを使用すると、 NCP ネゴシエートされたアドレス以外の全アドレスが インタフェースから削除されます。 .Nm が OPENED 状態でも .Fl auto モードでもない場合、全インタフェースアドレスが削除されます。 .Pp INET または INET6 の引数が使用された場合、 そのアドレスファミリのアドレスのみが削除されます。 .Pp .It iface delete Ns Xo .Op !\& Ns .No |rm Ns Op !\& .Ar addr .Xc このコマンドは、指定した .Ar addr をインタフェースから削除します。 .Dq !\& が指定されると、現在そのアドレスがインタフェースに割り当てられていなくても、 エラーは報告されません (削除も行われません)。 .It iface show インタフェースの現在の状態と現在のアドレスを表示します。 .Dq ifconfig INTERFACE を実行することと、ほとんど同じです。 .It ident Op Ar text Ns No ... .Ar text を使用して、相手に対してリンクを自己証明 (identify) します。 .Ar text が空の場合、リンクの自己証明は無効化されます。 前述の .Ic bg コマンドに使用できる語はすべて使用可能です。 .Nm が相手に対して自己証明する場合についての詳細は、 .Ic sendident コマンドを参照してください。 .It iface help Op Ar sub-command このコマンドを .Ar sub-command 無しで起動すると、利用可能な .Dq iface サブコマンドと、おのおのの短い書式を表示します。 .Ar sub-command 付きで起動すると、指定した sub-command の書式のみを表示します。 .El .It Op data Ns Xo .No link .Ar name Ns Op , Ns Ar name Ns .No ... Ar command Op Ar args .Xc コマンドが影響を与えるリンクを特定したい場合に、このコマンドを 任意の他のコマンドのプレフィックスとして使うことができます。 これはマルチリンクモードで .Dq clone コマンドを使って複数のリンクを作成した後でのみ適用されます。 .Pp .Ar name は存在するリンク名を指定します。 .Ar name がコンマ区切りのリストの場合には、 .Ar command はそれぞれのリンクに対して実行されます。 .Ar name が .Dq * の場合には、 .Ar command はすべてのリンクに対して実行されます。 .It load Op Ar label Ns Xo .No ... .Xc .Pa ppp.conf ファイルから指定された .Dq label (複数指定可) をロードします。 .Dq label が指定されない場合、 .Dq default ラベルが仮定されます。 .Pp .Ar label セクションが .Dq set mode , .Dq open , .Dq dial のいずれのコマンドも使用しない場合、 .Nm はすぐに接続を確立しようとはしません。 .It log Ar word Ns No ... 指定した単語 (複数可) をその前に .Dq LOG: を付けてログファイルに送信します。 前述の .Dq !bg コマンドで説明した単語置換が実行されます。 .It open Op lcp|ccp|ipcp これは .Dq close の反対のコマンドです。 閉じられているリンクのうち、2 番目以降の .Ar demand-dial リンク以外、全リンクがすぐに立ち上がります - 2 番目以降の .Ar demand-dial リンクは、どのような .Dq set autoload コマンドが使用されたかに依存して立ち上ります。 .Pp LCP 層がすでにオープンされているときに .Dq lcp 引数を指定すると、LCP は再度ネゴシエートされます。 したがって、種々の LCP オプションを変更したあとで .Dq open lcp コマンドを用いることで、変更を有効にすることができます。 LCP が再度ネゴシエートされた後、 同意したあらゆる認証が実行されます。 .Pp .Dq ccp 引数が用いられると、関連する圧縮層がオープンされます。 すでにオープンされている場合には、再度ネゴシエートされます。 .Pp .Dq ipcp 引数が用いられると、リンクが通常通り起動されます。すでに IPCP が オープンされている場合には、IPCP は再度ネゴシエートされ、 ネットワークインタフェースが再設定されます。 .Pp このようにして PPP の状態機械を再オープンするのは、 おそらく良い手段ではありません。 接続相手が正しく振る舞わない可能性があるためです。 しかしながら、強制的に CCP もしくは VJ 辞書をリセットする手段としては 便利です。 .It passwd Ar pass すべての .Nm コマンドセットにアクセスするために要求されるパスワードを指定します。 このパスワードは診断ポート ( .Dq set server コマンド参照) に接続するときに必要です。 .Ar pass は .Dq set server コマンドラインで指定します。 .Ar command ログが有効でも、値 .Ar pass は記録されず、文字列 .Sq ******** が記録されます。 .It quit|bye Op all .Dq quit が制御接続もしくはコマンドファイルから実行されると、 ppp はすべての接続を閉じた後に終了します。その他の場合、 つまりユーザが診断ソケットから接続している場合には、 単にその接続が失われます。 .Pp .Ar all 引数が与えられた場合、 .Nm はコマンドがどこから発行されたかに関わらず、 すべての存在する接続を閉じて終了します。 .It remove|rm このコマンドは与えられたリンクを消去します。 これはマルチリンクモードでのみ有用です。リンクは消去する前に .Dv CLOSED 状態になっていなければなりません。 .It rename|mv Ar name このコマンドは与えられたリンクの名前を .Ar name に変更します。 .Ar name がすでに他のリンクで使用されている場合には、失敗します。 .Pp デフォルトリンクの名前は .Sq deflink です。これを .Sq modem , .Sq cuaa0 , .Sq USR のいずれかに変更すると、ログファイルの可読性が向上するかも知れません。 .It resolv Ar command このコマンドは .Nm が行なう .Xr resolv.conf 5 ファイルの操作を制御します。 .Nm の起動時に、以後の参照に備え、このファイルの内容をメモリに読み込み 保持します。 .Ar command は次のいずれかです。 .Bl -tag -width readonly .It Em readonly .Pa /etc/resolv.conf を読み込み専用とします。 .Dq dns が有効にされている場合、 .Nm は、接続相手との間でネームサーバのネゴシエーションを試みます。 ネゴシエーションの結果は、マクロ .Dv DNS0 , .Dv DNS1 を通じて利用可能となります。 このコマンドは、 .Dq resolv writable コマンドの反対です。 .It Em reload .Pa /etc/resolv.conf をメモリに再ロードします。 例えば、DHCP クライアントが .Pa /etc/resolv.conf を上書きする場合などに、このコマンドが必要になります。 .It Em restore .Pa /etc/resolv.conf を、起動時に読み込んだ元のバージョンか、もしくは .Dq resolv reload コマンドで最後に読み込んだ状態のものに戻します。 このコマンドは、 .Pa /etc/ppp/ppp.linkdown ファイルの中でうまく使えることがあります。 .It Em rewrite .Pa /etc/resolv.conf ファイルを書き換えます。 このコマンドは、 .Dq resolv readonly コマンドが既に使用されていても動作します。 他のコマンドが完了するまで .Pa /etc/resolv.conf の更新を遅らせたい場合に、 .Pa /etc/ppp/ppp.linkup の中でうまく使えることがあります。 .It Em writable .Dq dns が有効になっており、DNS の ネゴシエーションが成功した場合に、 .Nm が .Pa /etc/resolv.conf を更新できるようにします。 これは .Dq resolv readonly コマンドの反対です。 .El .It save このオプションは (まだ) 実装されていません。 .It sendident このコマンドは、 .Nm に対し、相手に対して自己証明するように指示します。 リンクは、LCP 状態以上であることが必要です。( .Ic ident コマンドによって) 自己証明の設定がなされていない場合、 .Ic sendident は失敗します。 .Pp 自己証明の設定がなされている場合、 設定拒否を送信または受信するときか、 ネゴシエーションが失敗したときか、 LCP が OPENED 状態になるときのいずれかのときに、 .Nm は自動的に自己証明します。 .Pp 受信した自己証明パケットは、LCP ログに記録し (詳細は .Ic set log を参照してください)、これに対する応答は行いません。 .It set Ns Xo .Op up .Ar var value .Xc このオプションは次に示す変数の設定のために使用します: .Bl -tag -width 2h .It set accmap Ar hex-value ACCMap は非同期制御文字マップ (Asyncronous Control Character Map) を 意味します。 これはいつも相手とネゴシエートされ、デフォルト値は 16 進数で 00000000 です。 このプロトコルが必要なのは、 (XON/XOFF などの) 特定の文字を終点間で受渡すことに依存するハードウェアを 使用する場合です。 .Pp XON/XOFF については .Dq set accmap 000a0000 を使用します。 .It set Op auth Ns Xo .No key Ar value .Xc クライアントモードでの PAP または CHAP のネゴシエーションで使用される 認証キー (もしくはパスワード) を、指定した値に設定します。 ダイヤルまたはログインスクリプトの .Sq \eP シーケンスで使用するパスワードもまた指定します。 これにより実際のパスワードは記録されません。 .Ar command または .Ar chat のログが有効な場合、セキュリティの観点から、 .Ar value は .Sq ******** として記録されます。 .Pp .Ar value の最初の文字がエクスクラメーションマーク .Pq Dq !\& の場合、 .Nm は残りの文字列を、 .Dq authname と .Dq authkey の値を確定するために実行すべきプログラムとして扱います。 .Pp 実行するプログラムを得るために .Ar value をパーズする際には、 .Dq !\& が二重 ( .Dq !!\& ) である場合、単一のリテラル .Dq !\& として扱います、そうでない場合、 .Dq !\& を無視します。また、前述の .Dq !bg コマンドと同様に特殊な名前を置換します。 プログラムを実行すると、 .Nm はこのプログラムに対して次の 3 行の入力を与えます。 各行の末尾には改行文字が置かれます。 .Bl -bullet .It CHAP チャレンジで送られたホスト名。 .It CHAP チャレンジで送られたチャレンジ文字列。 .It ローカルに定義された .Dq authname 。 .El .Pp そして、出力として次の 2 行を待ちます。 .Bl -bullet .It CHAP 応答と共に送るための .Dq authname 。 .It .Dq authkey 。これは、チャレンジと要求 ID で暗号化したもの であり、この結果は CHAP 応答パケットに含めて送られます。 .El .Pp .Nm をこのように設定するとき、 ホストチャレンジは ASCII の数値もしくは文字であることを 想定しています。 指定されたチャレンジに対する適切な秘密情報を計算するために、 通常は、暗号化デバイスまたは Secure ID カードが必要です。 .It set authname Ar id クライアントモードでの PAP または CHAP のネゴシエーションで使用される 認証 ID を設定します。 .Pp CHAP を enable にして .Fl direct モードで利用すると、 .Ar id は初期認証チャレンジで用いられ、通常はローカルマシン名に設定されます。 .It set autoload Xo .Ar min-percent max-percent period .Xc これらの設定はマルチリンクモードでのみ適用され、 デフォルト値はそれぞれ 0, 0, 5 です。 1 つ以上の .Ar demand-dial ( .Fl auto としても知られる) モードのリンクが存在する場合、 .Nm が最初に tun デバイスからデータを読むときには最初のリンクのみが 有効になっています。 次の .Ar demand-dial リンクが開かれるのは、現在のバンドルの .Ar period 秒間のスループットがバンドルの総バンド幅の最低 .Ar max-percent パーセントであるときに限られます。 現在のバンドルの .Ar period 秒間のスループットがバンドルの総バンド幅の .Ar min-percent パーセント以下に減少したとき、最後のアクティブな リンクでない場合、 .Ar demand-dial リンクはダウンします。 .Pp バンドルのスループットは、 内向きおよび外向きのトラフィックの最大値として計測されます。 .Pp デフォルト値では .Ar demand-dial リンクは 1 つだけオープンされます。 .Pp デバイスによっては物理バンド幅を判定できないものがありますので、 .Dq set autoload が正しく動作するためには、(後述の) .Dq set bandwidth コマンドを使用する必要がある場合があります。 .It set bandwidth Ar value 本コマンドは、接続のバンド幅を、秒あたりのビット数で設定します。 .Ar value は 0 より大きいことが必要です。 現在、前述の .Dq set autoload コマンドのみが使用します。 .It set callback Ar option Ns No ... 引数が与えられない場合、コールバックは disable になります。 そうでない場合には、 .Nm は与えられた .Ar option でコールバックを要求します (もしくは .Ar direct モードでは受け付けます)。 クライアントモードでは、 .Ar option の否定応答が返されると、 .Nm は他に選択肢がなくなるまで別の .Ar option 要求を出します ( .Ar option のひとつとして .Dq none を指定していた場合を除きます)。 サーバモードでは、 .Nm は与えられるプロトコルをなんでも受け付けますが、 クライアントがいずれかひとつを要求する .Em 必要があります 。コールバックをオプションにしたいのであれば、オプションとして .Ar none を指定する必要があります。 .Pp .Ar option は下記の通りです (優先度順): .Pp .Bl -tag -width Ds .It auth コールバック応答側は、認証に基づいてコールバック番号を 決定することが求められます。 .Nm がコールバック応答側である場合、番号は .Pa /etc/ppp/ppp.secret 中の接続先エントリの 5 番目のフィールドで指定されます。 .It cbcp Microsoft コールバック制御プロトコルが用いられます。後述の .Dq set cbcp を参照してください。 .Pp クライアントモードで .Ar cbcp をネゴシエートしたい場合でありかつ、 CBCP ネゴシエーション時にサーバがコールバック無しを要求することを許したい場合、 コールバックオプションとして .Ar cbcp と .Ar none の両方を指定する必要があります。 .It E.164 *| Ns Xo .Ar number Ns Op , Ns Ar number Ns .No ... .Xc コールバック要求側が .Ar number を指定します。 .Nm がコールバック応答側である場合、 .Ar number は許可する番号をコンマで区切って並べたリスト、もしくは 任意の番号を許可するという意味の .Dq \&* とします。 .Nm がコールバック要求側である場合、1 つの数字だけを指定します。 .Pp .Dq \&* を用いる場合、このオプションはとても危険なものとなることに 注意してください。 というのは、悪意あるコールバック要求者が、最初の認証なしに 電話すべき番号として任意の (国際通話番号も可能です) 番号を 伝えることができるからです。 .It none 接続相手がコールバックをまったく望まない場合、 .Nm はそのことを受け入れ、接続を終了するのではなく コールバックせずに処理を続けます。 コールバックをオプションにしたいのであれば、 (1 個以上の他のコールバックオプションに加えて) これも指定する必要があります。 .El .Pp .It set cbcp Oo .No *| Ns Ar number Ns Oo .No , Ns Ar number Ns ...\& Oc .Op Ar delay Op Ar retry .Oc 引数が与えられない場合、CBCP (Microsofts CallBack Control Protocol) は disable です。言い換えれば .Dq set callback コマンドで CBCP を設定すると .Nm が CBCP フェーズでコールバック要求を行わなくなります。 そうでない場合、 .Nm は与えられた電話番号 .Ar number を使おうとします。 .Pp サーバモード .Pq Fl direct では、 .Dq \&* を使わない限り .Nm はクライアントがこれらの番号の 1 つを使うことを主張します。 .Dq \&* を使った場合には、クライアントが番号を指定するものと想定します。 .Pp クライアントモードでは .Nm は与えられた番号 (そのうち接続相手と合意可能なもの) を使用しようとします。 .Dq \&* が指定された場合には、 .Nm 接続相手が番号を指定するものと想定します。 .It set cd Oo .No off| Ns Ar seconds Ns Op !\& .Oc 通常、オープンしたデバイスのタイプにより、 .Nm はキャリアの存在をチェックします。 .Bl -tag -width XXX -offset XXX .It 端末デバイス ログインスクリプト完了後、1 秒間キャリアがチェックされます。 このパラメータが設定されていない場合、 デバイスがキャリアをサポートしていない (ほとんどの .Dq laplink ヌルモデムケーブルの場合がそうです) と .Nm は仮定し、この事実をログに取って、キャリアのチェックを止めます。 .Pp 仮想端末 (pty) は TIOCMGET ioctl をサポートしていないため、 デバイスが仮想端末であることを検知した場合、 端末デバイスはすべてのキャリア検出をオフにします。 .It ISDN (i4b) デバイス 6 秒間、1 秒ごとに 1 回キャリアの検出を行ないます。 6 秒後にキャリアが設定されない場合、接続の試みは失敗したと見なされ、 デバイスはクローズされます。 i4b デバイスの場合、キャリアが常に要求されます。 .It PPPoE (netgraph) デバイス 5 秒間、1 秒ごとに 1 回キャリアの検出を行ないます。 5 秒後にキャリアが設定されない場合、接続の試みは失敗したと見なされ、 デバイスはクローズされます。 PPPoE デバイスの場合、キャリアが常に要求されます。 .El .Pp 他のすべてのデバイスタイプはキャリアをサポートしていません。 デバイスをオープンするときにキャリアを設定すると警告が出ます。 .Pp モデムによっては、接続が確立してからキャリア信号線がアサートされるまで 1 秒以上かかるものがあります。この遅れを増やせない場合、 .Nm はそのデバイスがキャリアをアサートできないと見なすので、 .Nm はリンクのドロップを検出できないことになります。 .Pp .Dq set cd コマンドはデフォルトのキャリアの動作を上書きします。 .Ar seconds は、ダイヤルスクリプトが完了してからキャリアが利用可能か判断する前に、 .Nm が待つべき秒数の上限を指定します。 .Pp .Dq off が指定されると、 .Nm はデバイスのキャリアを確認しません。そうでない場合、 キャリアが検出されるか .Ar seconds の秒数が経過するまで、 .Nm はログインスクリプトへは進みません。このとき、 .Ar seconds の秒数が経過した時点で、 .Nm はデバイスがキャリアを設定できないと想定します。 .Pp 引数を与えない場合、キャリア設定はデフォルトの値に戻ります。 .Pp .Ar seconds の直後にエクスクラメーションマーク .Pq Dq !\& がある場合、 .Nm はキャリアを .Em 要求 します。 .Ar seconds 秒後にキャリアが検知されないと、リンクは切断されます。 .It set choked Op Ar timeout これは .Nm がすべての未送出パケットを破棄する前に 送出キュー詰まりを保持する秒数を設定します。 .Ar timeout が 0 以下もしくは .Ar timeout が指定されない場合、デフォルト値の .Em 120 秒 に設定されます。 .Pp 送出キュー詰まりは .Nm がローカルネットワークから特定の数の送出パケットを読み込んだが、 リンク失敗 (接続相手がビジーなど) のためにデータを送れない場合に 発生します。 .Nm はパケットを無限には読み込みません。代りに .Em 30 パケット (マルチリンクモードでは .Em 30 No + .Em nlinks No * .Em 2 パケット) まで読み込み、 .Ar timeout 秒経過するか、1 つ以上のパケットが送られるまで ネットワークインタフェースの読み込みを停止します。 .Pp .Ar timeout 秒が経過すると、すべての未送出パケットは破棄されます。 .It set ctsrts|crtscts on|off ハードウェアフロー制御をセットします。 デフォルトではハードウェアフロー制御は .Ar on です。 .It set deflate Ar out-winsize Op Ar in-winsize DEFLATE アルゴリズムの、 デフォルトの出力ウィンドウサイズと入力ウィンドウサイズを設定します。 .Ar out-winsize および .Ar in-winsize は、 .Em 8 から .Em 15 までの値をとる必要があります。 .Ar in-winsize が指定されると、 .Nm はこのウィンドウサイズの使用を強要し、相手が他の値を示しても受け入れません。 .It set dns Op Ar primary Op Ar secondary .Dq accept dns コマンドで使用される、DNS 上書きを設定します。 詳細については前述の .Dq accept コマンドの記述を参照してください。本コマンドは .Dq enable dns を使用して要求される IP 番号には影響を与えません。 .It set device|line Xo .Ar value Ns No ... .Xc .Nm が使用するデバイスを、指定された .Dq value に設定します。 .Pp すべての ISDN デバイスとシリアルデバイスの名前は .Pa /dev/ から始まることが仮定されています。 ISDN デバイスは通常 .Pa i4brbchX という名前であり、シリアルデバイスは通常 .Pa cuaXX という名前です。 .Pp .Dq value が .Pa /dev/ から始まらない場合、エクスクラメーションマーク .Pq Dq !\& から始めるか、 .No PPPoE: Ns Ar iface Ns Xo .Op \&: Ns Ar provider Ns .Xc の形式 ( .Xr netgraph 4 が有効なシステム上) であるか、 .Sm off .Ar host : port /tcp|udp .Sm on の形式である必要があります。 .Pp エクスクラメーションマークで始まる場合、 デバイス名の残りはプログラム名として扱われ、 そのデバイスがオープンされるときにそのプログラムが実行されます。 標準入出力およびエラーは .Nm にフィードバックされ、それらが通常デバイスであるかのように読み書きされます。 .Pp .No PPPoE: Ns Ar iface Ns Xo .Op \&: Ns Ar provider Ns .Xc 指定が与えられる場合、 .Nm は、指定された .Ar iface インタフェースを使用して .Em PPP オーバイーサネット接続を作成しようとします。 この際 .Xr netgraph 4 を使用します。 .Xr netgraph 4 が使用不能の場合、 .Nm は .Xr kldload 2 を使用してロードしようとします。 これが失敗する場合には、 .Ox で利用できる .Xr pppoe 8 のような外部プログラムを使用する必要があります。 与えられた .Ar provider は、PPPoE Discovery Initiation (PADI) パケット中で サービス名として渡されます。 provider が与えられないと、空の値が使用されます。 .Pp PPPoE 接続が確立されるとき、 .Nm は、アクセスコンセントレータの名前を環境変数 .Ev ACNAME に設定します。 .Pp さらなる詳細は .Xr netgraph 4 と .Xr ng_pppoe 4 を参照してください。 .Pp .Ar host Ns No : Ns Ar port Ns Oo .No /tcp|udp .Oc 指定が与えられる場合、 .Nm は、指定された .Ar host の指定された .Ar port と接続しようとします。 .Dq /tcp または .Dq /udp のサフィックスがない場合、デフォルトは .Dq /tcp となります。 詳細は上述の .Em PPP オーバ TCP と PPP オーバ UDP の節を参照してください。 .Pp 複数の .Dq value を指定した場合、 .Nm は成功するか全デバイスについて実行し終るまで、順番にオープンを試みます。 .It set dial Ar chat-script 相手へダイヤルする際に使用されるチャットスクリプトを指定します。 後述の .Dq set login コマンドも参照してください。 チャットスクリプトのフォーマットの詳細については、 .Xr chat 8 と設定ファイルの例を参照してください。 次の特殊な .Sq value をチャットスクリプトに指定可能です: .Bl -tag -width 2n .It \ec .Sq 送信 文字列の最後の文字として使用した場合、 改行を追加してはならないことを意味します。 .It \ed チャットスクリプトがこのシーケンスに出会うと、2 秒待ちます。 .It \ep チャットスクリプトがこのシーケンスに出会うと、1/4 秒待ちます。 .It \en 改行文字と置き換えられます。 .It \er 復改文字と置き換えられます。 .It \es 空白文字と置き換えられます。 .It \et タブ文字と置き換えられます。 .It \eT 現在の電話番号と置き換えられます (後述の .Dq set phone 参照)。 .It \eP 現在の .Ar authkey 値と置き換えられます (前述の .Dq set authkey 参照)。 .It \eU 現在の .Ar authname 値と置き換えられます (前述の .Dq set authname 参照)。 .El .Pp 2 つのパーザがこれらのエスケープシーケンスを検査することに注意してください。 .Sq チャットのパーザ にエスケープ文字を見せるには、 .Sq コマンドパーザ からエスケープする必要があります。 つまり、2 つのエスケープを使用する必要があります。例えば次のようにします: .Bd -literal -offset indent set dial "... ATDT\\\\T CONNECT" .Ed .Pp チャットスクリプトから外部コマンドを実行することもできます。 そうするためには、 受信待ち文字列または送信文字列の最初の文字をエクスクラメーションマーク .Pq Dq !\& にします。 リテラルのエクスクラメーションマークが必要な場合には、二重 .Dq !!\& にすれば、単一のリテラル .Dq !\& として扱われます。 コマンドが実行されると、標準入力と標準出力がオープンデバイス ( .Dq set device 参照) に向けられ、標準エラー出力が .Nm に読まれて受信待ち文字列もしくは送信文字列に置き換えられます。 .Nm が対話モードで実行されている場合、ファイル記述子 3 は .Pa /dev/tty に接続されます。 .Pp 例えば (読み易さのために折り返しています); .Bd -literal -offset indent set login "TIMEOUT 5 \\"\\" \\"\\" login:--login: ppp \e word: ppp \\"!sh \\\\-c \\\\\\"echo \\\\-n label: >&2\\\\\\"\\" \e \\"!/bin/echo in\\" HELLO" .Ed .Pp は次のチャットシーケンスになります (ダイヤル前の .Sq set log local chat コマンドによる出力): .Bd -literal -offset indent Dial attempt 1 of 1 dial OK! Chat: Expecting: Chat: Sending: Chat: Expecting: login:--login: Chat: Wait for (5): login: Chat: Sending: ppp Chat: Expecting: word: Chat: Wait for (5): word: Chat: Sending: ppp Chat: Expecting: !sh \\-c "echo \\-n label: >&2" Chat: Exec: sh -c "echo -n label: >&2" Chat: Wait for (5): !sh \\-c "echo \\-n label: >&2" --> label: Chat: Exec: /bin/echo in Chat: Sending: Chat: Expecting: HELLO Chat: Wait for (5): HELLO login OK! .Ed .Pp 複数レベルのネストについて、 エスケープ文字の使用方法に (再度) 注意してください。 ここでは、4 つのパーザが動作してます。 1 番目は、オリジナルの行をパーズし、3 つの引数として読みます。 2 番目は、第 3 引数を 11 個の引数として読みます。 ここで、 .Dq \&- 記号がエスケープされていることが重要です。 そうでなければパーザは、 受信待ち-送信-受信待ちのシーケンスとして見てしまいます。 .Dq !\& 文字を見付けると、実行パーザは最初のコマンドを 3 つの引数として読み、 .Xr sh 1 自身が .Fl c 以降の引数を展開します。 我々は出力をモデムに送り返したいので、 1 番目の例では出力をファイル記述子 2 (stderr) にリダイレクトして .Nm 自身に送信および記録させ、 2 番目の例では単に stdout に出力して直接モデムに出力させます。 .Pp もちろん全体を、組み込みのものではなく外部の .Dq chat コマンドに実行させることが可能です。 良い代替方法については .Xr chat 8 を参照してください。 .Pp 実行される外部コマンドは、 .Dq !bg コマンドと同様に、特殊語の展開対象となります。 .It set enddisc Op label|IP|MAC|magic|psn value このコマンドは、ローカル終点の選択値を設定します。 LCP ネゴシエーションの前に設定された場合であり、 .Dq disable enddisc コマンドを使用していない場合、 .Nm は LCP 終点選択値オプションを使用して、相手に情報を送ります。 次の選択値を設定可能です。 .Bl -tag -width indent .It Li label 現在のラベルが使用されます。 .It Li IP 当方のローカル IP 番号を使用します。 LCP は IPCP より前にネゴシエートされますので、 IPCP 層が後からこの値を変更することが可能です。 その場合、手動でリセットしない限り、終点の選択値は古い値のままとなります。 .It Li MAC 前述の .Ar IP オプションに似ていますが、 ローカル IP 番号に関係する MAC アドレスが使用される点が異なります。 ローカル IP 番号がどのイーサネットインタフェースにも存在しない場合、 本コマンドは失敗します。 .Pp ローカル IP 番号のデフォルトは、 マシンホスト名がなんであれ、その名前になりますので、通常 .Dq set enddisc mac を .Dq set ifaddr コマンドよりも先に実行します。 .It Li magic 20 桁の乱数が使用されます。 マジックナンバを使用するときには注意が必要です。 .Nm の再開や別の .Nm を使ったリンク作成においては、別のマジックナンバを使用するため、 同じバンドルに属すとは相手に認識されないのです。 このため、 .Fl direct 接続では使えません。 .It Li psn Ar value 指定された .Ar value が使用されます。 .Ar value は、絶対的な公衆スイッチネットワーク番号の先頭に 国コードを付けたものであるべきです。 .El .Pp 引数が与えられない場合、終点の選択値はリセットされます。 .It set escape Ar value... このオプションは前述の .Dq set accmap オプションに似ています。 リンクを経由する時に .Sq エスケープ される文字を指定するために使用します。 .It set filter dial|alive|in|out Ar rule-no Xo .No permit|deny|clear| Ns Ar rule-no .Op !\& .Oo Op host .Ar src_addr Ns Op / Ns Ar width .Op Ar dst_addr Ns Op / Ns Ar width .Oc [ Ns Ar proto .Op src lt|eq|gt Ar port .Op dst lt|eq|gt Ar port .Op estab .Op syn .Op finrst .Op timeout Ar secs ] .Xc .Nm は 4 つのフィルタセットをサポートします。 .Em alive フィルタは接続を活性状態に保つパケットを指定します - アイドルタイマをリセットします。 .Em dial フィルタは、 .Fl auto モード時に .Nm にダイヤルさせるパケットを指定します。 .Em in フィルタは、マシンに入力可能なパケットを指定します。 .Em out フィルタは、マシンから出力可能なパケットを指定します。 .Pp フィルタリングが行われるのは、 出力パケットでは NAT エンジンによる IP 変更前であり、 入力パケットでは NAT エンジンによる IP 変更後です。 デフォルトでは、すべての空のフィルタセットは全パケットの通過を許可します。 ルールは .Ar rule-no に従って順番に処理されます (ルール番号を .Ar action に指定してスキップする場合を除きます)。 各セットに対し 40 までのルールを指定可能です。 指定されるセットにおけるどのルールにもマッチしないパケットは破棄されます。 .Em in と .Em out のフィルタでは、パケットをドロップすることを意味します。 .Em alive フィルタでは、アイドルタイマをリセットしないことを意味します (これは .Ar in Ns No / Ns Ar out フィルタが .Dq timeout 付きである場合でもです)。 .Em dial フィルタではダイヤルさせることにはならないことを意味します。 ダイヤルを引き起こさないパケットは、 キューされるのではなく、捨てられることに注意してください。 上述の .Sx パケットのフィルタリング の節を参照してください。 .It set hangup Ar chat-script デバイスを閉じる前にこれをリセットする時に使用する、 チャットスクリプトを指定します。 通常は不要であるべきですが、 閉じる時に自己を正しくリセットできないデバイスに対して使用できます。 .It set help|? Op Ar command 利用可能な set コマンドのまとめを表示するか、 .Ar command が指定されると、コマンドの使用方法を表示します。 .It set ifaddr Oo Ar myaddr Ns .Op / Ns Ar \&nn .Oo Ar hisaddr Ns Op / Ns Ar \&nn .Oo Ar netmask .Op Ar triggeraddr .Oc Oc .Oc このコマンドは、IPCP ネゴシエーションの間使用される IP アドレスを指定します。 アドレスのフォーマットは次の通りです。 .Pp .Dl a.b.c.d/nn .Pp ここで .Dq a.b.c.d は希望する IP アドレスであり、 .Ar nn はこのうち何ビットが有効であるかを示します。 .No / Ns Ar nn が省略された場合、デフォルトの .Dq /32 になります。 ただし IP アドレスが 0.0.0.0 である場合には、マスクのデフォルトは .Dq /0 です。 .Pp 相手に動的な IP 番号を割り当てたい場合、 .Ar hisaddr に IP 番号の範囲として .Bd -ragged -offset indent .Ar \&IP Ns Oo \&- Ns Ar \&IP Ns Xo .Oc Ns Oo , Ns Ar \&IP Ns .Op \&- Ns Ar \&IP Ns .Oc Ns ... .Xc .Ed .Pp のフォーマットを指定できます。例えば: .Pp .Dl set ifaddr 10.0.0.1 10.0.1.2-10.0.1.10,10.0.1.20 .Pp は .Dq 10.0.0.1 のみをローカル IP 番号としてネゴシエートしますが、 指定された 10 個の IP 番号から 相手に割り当てを行います。 相手がこれらの番号のうちの 1 つを要求し、この番号が未使用な場合には、 .Nm は相手の要求を認めます。 相手がリンクを再確立して前回割り当てていた IP 番号を使用したい場合に有用です (既存の TCP と UDP の接続を保存します)。 .Pp 相手が要求した IP 番号が範囲外もしくは使用中の場合、 .Nm は範囲内の未使用 IP 番号をランダムに指示します。 .Pp .Ar triggeraddr が指定された場合、この値が .Ar myaddr の代りに IPCP ネゴシエートで使用されます。 ただし、 .Ar myaddr の範囲のアドレスのみ受け入れられます。 これが有用なのは、相手が .Dq 0.0.0.0 を要求しない限り IP アドレスを割り当てようとしない .Dv PPP 実装とネゴシエートするときです。 .Pp .Fl auto モードでは設定ファイルの .Dq set ifaddr 行を読んだ直後に .Nm がインタフェースを構成することに注意してください。 他のモードではこれらの値は IPCP ネゴシエーションで使用され、 IPCP 層がアップするまでこれらのインタフェースは構成されません。 .Pp (PAP か CHAP が .Dq enable である場合) クライアントが自己証明をした後では、 .Ar HISADDR 引数は .Pa ppp.secret ファイルの第 3 引数で上書きされうることに注意してください。 .Sx 内向き接続の認証 の節を参照してください。 .Pp どの場合でも、インタフェースが既に構成されている場合には、 .Nm はインタフェースの IP 番号を保存して、 既にバインドされているソケットが正しいままであるようにします。 .It set ifqueue Ar packets どのリンクへもデータが送信できない状態のとき、 .Nm がトンネルインタフェースから読み込むパケット数の最大値を 指定します。 .Nm が利用できるリンクの束よりもトンネルインタフェースがはるかに 高速となりそうな場合に、送出データのフロー制御のために このキューの制限は必要になります。 .Ar packets にリンクの数よりも小さな値を設定した場合、 その設定に関わらず .Nm はリンクの数までは読み込みます。これにより、遅延の問題が回避されます。 .Pp .Ar packets のデフォルトの値は .Dq 30 です。 .It set ccpretry|ccpretries Oo Ar timeout .Op Ar reqtries Op Ar trmtries .Oc .It set chapretry|chapretries Oo Ar timeout .Op Ar reqtries .Oc .It set ipcpretry|ipcpretries Oo Ar timeout .Op Ar reqtries Op Ar trmtries .Oc .It set ipv6cpretry|ipv6cpretries Oo Ar timeout .Op Ar reqtries Op Ar trmtries .Oc .It set lcpretry|lcpretries Oo Ar timeout .Op Ar reqtries Op Ar trmtries .Oc .It set papretry|papretries Oo Ar timeout .Op Ar reqtries .Oc これらのコマンドは .Nm が有限状態機械 (Finite State Machine; FSM) に要求パケットを送る前に 待つ秒数を指定します。 .Ar timeout のデフォルトは、全 FSM において 3 秒です (ほとんどの場合十分です)。 .Pp .Ar reqtries を指定すると、 相手から応答を受信しなくても諦めるまでに設定要求を作成する回数を、 .Nm に指示します。 デフォルトの試行回数は、CCP, LCP, IPCP の場合 5 回であり、 PAP と CHAP の場合 3 回です。 .Pp .Ar trmtries を指定すると、 相手の応答を待つことを諦めるまでに終了要求を作成する回数を、 .Nm に指示します。 デフォルトの試行回数は 3 回です。 認証プロトコルは終了されませんので、 PAP や CHAP に対して指定することは不正です。 .Pp 合意できない相手とのネゴシエーションを避けるために、 どのようなネゴシエーションセッションであっても諦めたり層をクローズする前には、 .Nm は最大で .Ar reqtries の設定値の 3 倍までのみ送信します。 .It set log Xo .Op local .Op +|- Ns .Ar value Ns No ... .Xc このコマンドにより現在のログレベルを修正できます。 詳細はログ機能の節を参照してください。 .It set login chat-script この .Ar chat-script はダイヤルスクリプトを補います。 もし両方が指定された場合、ダイヤルスクリプトの後で、 ログインスクリプトが実行されます。 ダイヤルスクリプト中で使用可能なエスケープシーケンスはここでも使用可能です。 .It set logout Ar chat-script このコマンドは、 ハングアップスクリプトが呼ばれる前にログアウトのために使用される、 チャットスクリプトを指定します。 通常では必要ないでしょう。 .It set lqrperiod Ar frequency このコマンドは、 .Em LQR または .Em ECHO LQR のパケットが送信される頻度 .Ar frequency を秒で指定します。デフォルトは 30 秒です。 相手に LQR 要求を送りたい場合には、 .Dq enable lqr コマンドもまた使用する必要があります。 .It set mode Ar interactive|auto|ddial|background 指定したリンクにおけるモード .Sq mode を変更できます。通常マルチリンクモードでのみ有用ですが、 単一リンクモードでも使用可能です。 .Pp .Sq direct または .Sq dedicated のリンクを変更することはできません。 .Pp 注: コマンド .Dq set mode auto を発行し、ネットワークアドレス変換が enable にされていた場合、後で .Dq enable iface-alias を行うと便利です。 .Nm が必要なアドレス変換を行うようにすることにより、 相手が当方に新しい (動的な) IP アドレスを割り当てたとしても、 リンクがアップすると接続のトリガとなるプロセスが接続できるようにします。 .It set mppe Op 40|56|128|* Op stateless|stateful|* 本オプションは、 MPPE のネゴシエーション時に使用する暗号パラメータを選択します。 .Dq disable mppe コマンドで、MPPE は完全に無効化可能です。 引数を指定しないと、 .Nm は、128 ビット鍵の状態有りリンクをネゴシエートしようとしますが、 相手が要求するすべてに合意します (暗号化無しも含みます)。 .Pp 引数を指定すると、MPPE の使用に .Nm は .Em 固執 し、相手が拒否するとリンクを閉じます (注; この動作は RADIUS サーバの設定により変更可能です)。 .Pp 第 1 引数は、ネゴシエート中に .Nm が固執すべきビット数を指定し、第 2 引数は、 状態有りモードまたは状態無しモードのいずれに .Nm が固執すべきかを指定します。 状態無しモードでは、各パケットに応じて変更される暗号化鍵に対応し、 暗号化辞書が再インストールされます。 状態有りモードでは、 暗号化辞書は 256 パケット毎もしくはデータ喪失後に再インストールされ、 鍵は 256 パケット毎に変更されます。 状態無しモードは、効率が悪いものの、 信頼性の無いトランスポート層では良いです。 .It set mrru Op Ar value このオプションを設定すると、 マルチリンクプロトコルまたは MP としても知られる、 マルチリンク PPP ネゴシエーションを有効にします。 MRRU (Maximum Reconstructed Receive Unit) の値にはデフォルトはありません。 引数を指定しないと、マルチリンクモードは無効にされます。 .It set mru Xo .Op max Ns Op imum .Op Ar value .Xc デフォルトの MRU (最大受信単位; Maximum Receive Unit) は 1500 です。 この値を増加させた場合、相手は MTU を増加させても *かまいません*。 理論的には、デフォルトの MRU より減らすことは意味がありません。 なぜなら、 .Em PPP プロトコルでは少なくとも 1500 オクテットのパケットを 受信できなければ *ならない* からです。 .Pp .Dq maximum キーワードが使用された場合、より大きな値のネゴシエートを .Nm は拒否します。 最大 MRU は、最大でも 2048 です。 最大値を 1500 未満にすることは .Em PPP RFC 違反ですが、必要な場合もあります。 例えば、 .Em PPPoE では、ハードウェアの制約により最大が 1492 になります。 .Pp 引数を指定しないと、1500 が仮定されます。 .Dq maximum 指定時には、値の指定が必要です。 引数が指定されないと、1500 が仮定されます。 .It set mtu Xo .Op max Ns Op imum .Op Ar value .Xc デフォルトの MTU は 1500 です。 ネゴシエーション時に、(296 バイト未満でなく、最大値を越えなければ) 相手が望むいかなる MRU も受け付け可能です。 MTU が設定されると、 .Nm は .Ar value よりも小さい MRU の値を受け付けなくなります。 ネゴシエーションが完了すると、 相手がより大きな MRU を要求していたとしても、 インタフェースに対して書き込みを行う時には MTU が使用されます。 当方のパケットサイズを制限するのに有用です (よりよくバンド幅を共有できるようになりますが、 ヘッダデータが増えるというコストがかかります)。 .Pp .Dq maximum キーワードが使用された場合、より大きな値のネゴシエートを .Nm は拒否します。 最大 MTU は、最大でも 2048 です。 .Pp .Ar value を指定しないと、1500 または相手が要求した値が使用されます。 .Dq maximum 指定時には、値の指定が必要です。 .It set nbns Op Ar x.x.x.x Op Ar y.y.y.y このオプションは、相手の要求によって返される Microsoft NetBIOS ネームサーバの値を設定します。 値を指定しないと、 .Nm はそのような要求を拒否するようになります。 .It set openmode active|passive Op Ar delay デフォルトでは、 .Ar openmode は常に、1 秒の .Ar delay をもって .Ar active となります。 この場合、 .Nm は回線が設定されてから 1 秒が経過したなら いつでも LCP/IPCP/CCP のネゴシエーションを開始します。 相手がネゴシエーションを開始するのを待ちたい場合は、値 .Dq passive を使用します。 直ちにもしくは 1 秒以上待ってからネゴシエーションを開始したい場合、 .Ar delay を秒単位で指定します。 .It set parity odd|even|none|mark 回線のパリティを設定できます。デフォルト値は .Ar none です。 .It set phone Ar telno Ns Xo .Oo \&| Ns Ar backupnumber .Oc Ns ... Ns Oo : Ns Ar nextnumber .Oc Ns ... .Xc ダイヤルおよびログインのチャットスクリプトで使用される \\\\T 文字列が 置き換えられる電話番号を指定できます。 複数の電話番号をパイプ .Pq Dq \&| もしくはコロン .Pq Dq \&: で区切って指定可能です。 .Pp パイプの後の番号がダイヤルされるのは、 直前の番号へのダイヤルもしくはログインのスクリプトが失敗した場合のみです。 回線の切断の理由にかかわらず、 コロンで区切られた番号は順番に試行されます。 .Pp 複数の番号を指定した場合、接続が確立するまで .Nm はこのルールに基づいてダイヤルします。 再試行の最大値は、後述の .Dq set redial で指定します。 .Fl background モードでは各番号は最大 1 回試行されます。 .It set Op proc Ns Xo .No title Op Ar value .Xc .Xr ps 1 が表示する現在のプロセスタイトルを、 .Ar value に従って変更します。 .Ar value が指定されないと、元のプロセスタイトルが回復されます。 シェルコマンドが行うすべての語置換 (前述の .Dq bg コマンドを参照してください) は、ここでも行われます。 .Pp プロセスタイトル中に USER が必要な場合、 .Dq set proctitle コマンドは .Pa ppp.linkup 中に登場する必要があることに注意してください。 .Pa ppp.conf が実行されているときには、分からないからです。 .It set radius Op Ar config-file このコマンドは RADIUS サポートを (組み込まれていれば) 有効にします。 .Ar config-file は、 .Xr radius.conf 5 に記述されている radius クライアント設定ファイルを参照します。 PAP, CHAP, MSCHAP, MSCHAPv2 のいずれかが .Dq enable にされている場合、 .Nm は .Em \&N Ns No etwork .Em \&A Ns No ccess .Em \&S Ns No erver として振舞い、設定されている RADIUS サーバを使用して認証し、 .Pa ppp.secret ファイルやパスワードデータベースによる認証は行いません。 .Pp PAP, CHAP, MSCHAP, MSCHAPv2 のいずれも有効になっていない場合、 .Dq set radius は効果がありません。 .Pp .Nm は、RADIUS 応答中の、次の属性を使用します: .Bl -tag -width XXX -offset XXX .It RAD_FRAMED_IP_ADDRESS 相手の IP アドレスは指定された値に設定されました。 .It RAD_FRAMED_IP_NETMASK tun インタフェースのネットマスクは指定された値に設定されました。 .It RAD_FRAMED_MTU 指定された MTU が LCP ネゴシエーションで合意された相手の MRU より 小さい場合であり、 *かつ* 設定された MTU のいずれよりも小さい場合 ( .Dq set mru コマンド参照)、 tun インタフェースの MTU は指定した値に設定されます。 .It RAD_FRAMED_COMPRESSION 受信した圧縮タイプが .Dq 1 の場合、 .Dq disable vj 設定コマンドが指定されていたとしても、IPCP ネゴシエーションにおいて .Nm は VJ 圧縮を要求します。 .It RAD_FILTER_ID この属性が与えられると、 .Nm はこれを追加のラベルとして使用して、 .Pa ppp.linkup および .Pa ppp.linkdown のファイルからロードを試みます。 このロードは、通常のラベル検索の前に (これに追加して) 試みられます。 ラベルが存在しない場合、なにも実行されず、 .Nm は現在のラベルを使用して通常のロードを行います。 .It RAD_FRAMED_ROUTE 受信した文字列は、 .Ar dest Ns Op / Ns Ar bits .Ar gw .Op Ar metrics という書式であると期待します。 指定した metrics は無視されます。 .Dv MYADDR と .Dv HISADDR は、 .Ar dest と .Ar gw の正当な値として理解されます。 .Dq default を .Ar dest に使用可能であり、デフォルト経路を指定します。 .Dq 0.0.0.0 は、 .Ar dest に対する .Dq default と同じであると解釈され、 .Ar gw に対する .Dv HISADDR と同じであると解釈されます。 .Pp 例えば、戻り値 .Dq 1.2.3.4/24 0.0.0.0 1 2 -1 3 400 は 1.2.3.0/24 ネットワークへは .Dv HISADDR を介するという経路表エントリになり、 戻り値 .Dq 0.0.0.0 0.0.0.0 または .Dq default HISADDR は .Dv HISADDR 行きのデフォルト経路になります。 .Pp すべての RADIUS の経路は、 すべてのスティッキーな経路が適用された後で適用されます。 これにより、RADIUS の経路が、設定済みの経路に優先します。 これは、 .Dv MYADDR または .Dv HISADDR というキーワードを含まない RADIUS の経路にもあてはまります。 .Pp .It RAD_FRAMED_IPV6_PREFIX この属性が与えられると、その値で、コマンド中の IPV6PREFIX を置換します。 DHCPv6 等に渡すことで、IPv6 プレフィックスを対向に渡せます。 .It RAD_FRAMED_IPV6_ROUTE 受信した文字列は、 .Ar dest Ns Op / Ns Ar bits .Ar gw .Op Ar metrics という書式であると期待します。 指定した metrics は無視されます。 .Dv MYADDR6 と .Dv HISADDR6 は、 .Ar dest と .Ar gw の正当な値として理解されます。 .Dq default を .Ar dest に使用可能であり、デフォルト経路を指定します。 .Dq :: は、 .Ar dest に対する .Dq default と同じであると解釈され、 .Ar gw に対する .Dv HISADDR6 と同じであると解釈されます。 .Pp 例えば、戻り値 .Dq 3ffe:505:abcd::/48 :: は 3ffe:505:abcd::/48 ネットワークへは .Dv HISADDR6 を介するという経路表エントリになり、 戻り値 .Dq :: :: または .Dq default HISADDR6 は .Dv HISADDR6 行きのデフォルト経路になります。 .Pp すべての RADIUS IPv6 の経路は、 すべてのスティッキーな経路が適用された後で適用されます。 これにより、RADIUS IPv6 の経路が、設定済みの経路に優先します。 これは、 .Dv MYADDR6 または .Dv HISADDR6 というキーワードを含まない RADIUS の経路にもあてはまります。 .Pp .It RAD_SESSION_TIMEOUT 指定した場合、指定した秒数後にクライアント接続が閉じられます。 .It RAD_REPLY_MESSAGE 指定した場合、認証成功 (SUCCESS) テキストとして、 このメッセージが相手に渡されます。 .It RAD_MICROSOFT_MS_CHAP_ERROR この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合、 認証失敗 (FAILURE) テキストとして、このメッセージが相手に渡されます。 .It RAD_MICROSOFT_MS_CHAP2_SUCCESS この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合で MS-CHAPv2 認証が使用されている場合、 認証成功 (SUCCESS) テキストとして、このメッセージが相手に渡されます。 .It RAD_MICROSOFT_MS_MPPE_ENCRYPTION_POLICY この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合で値が 2 の場合 (必須の意)、 .Nm は MPPE 暗号の使用に固執します (引数付き .Dq set mppe 設定コマンドの存在にかかわらずです)。 指定された値が 1 の場合 (許可の意)、暗号化はオプションとなります (引数付き .Dq set mppe 設定コマンドの存在にかかわらずです)。 .It RAD_MICROSOFT_MS_MPPE_ENCRYPTION_TYPES この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合、ビット 1 および 2 が検査されます。 どちらかもしくは両方が設定されていた場合、 (それぞれ) 40 ビットおよび/または 128 ビットの暗号化が有効になります。 どちらかもしくは両方が設定された場合、 .Dq set mppe コマンドへの第 1 引数にかかわらず、 40 ビットおよび/または 128 ビット暗号オプションが (それぞれ) 設定されます。 現状、RADIUS サーバは 56 ビット暗号化は指定不可能であることに注意してください。 .It RAD_MICROSOFT_MS_MPPE_RECV_KEY この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合、 入力データの暗号解読にこの値をマスタキーとして使用します。 クライアントが MSCHAPv2 で認証された場合、 内向きの MPPE が動作するためには、 RADIUS サーバはこの属性を提供「しなければなりません」。 .It RAD_MICROSOFT_MS_MPPE_SEND_KEY この .Dv RAD_VENDOR_MICROSOFT ベンダ固有属性が指定された場合、 出力データの暗号化にこの値をマスタキーとして使用します。 クライアントが MSCHAPv2 で認証された場合、 外向きの MPPE が動作するためには、 RADIUS サーバはこの属性を提供「しなければなりません」。 .El .Pp RADIUS サーバから受信した値は、 .Dq show bundle を使用して見られます。 .It set reconnect Ar timeout ntries (CD の喪失もしくは LQR の失敗により) 予想外の回線切断となった場合、 指定した .Ar timeout の後に接続が再確立されます。 回線は最大 .Ar ntries 回、再接続されます。 .Ar ntries のデフォルトは 0 です。 .Ar timeout に .Ar random を指定すると、1 から 30 秒の間の任意時間の停止となります。 .It set recvpipe Op Ar value ルーティングテーブルの RECVPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It set redial Ar secs Ns Xo .Oo + Ns Ar inc Ns .Op - Ns Ar max Ns .Oc Ns Op . Ns Ar next .Op Ar attempts .Xc .Nm に .Ar attempts 回のリダイヤルを指示できます。 1 より大きな数を指定した場合 (前述の .Ar set phone 参照)、 各番号にダイヤルする前に、 .Ar next だけ停止します。 最初の番号に戻ってダイヤル開始する前に .Ar secs だけ停止します。リテラル値 .Dq Li random を .Ar secs および .Ar next のところで使用でき、1 から 30 秒の間の任意時間の停止となります。 .Pp .Ar inc が指定されると、 .Nm が新規番号を試すたびに、この値が .Ar secs に加えられます。 .Ar secs が増加されるのは、最大 .Ar max 回だけです。 .Ar max のデフォルト値は 10 です。 .Ar attempts が経過した後でも .Ar secs の遅延は効果があるので、 すぐに手動でダイヤルしても何も起ってないように見えるかもしれません。 すぐにダイヤルする必要がある場合、 .Dq !\& を .Dq open キーワードの直後に付けます。 更なる詳細については、前述の .Dq open の記述を参照してください。 .It set sendpipe Op Ar value ルーティングテーブルの SENDPIPE 値を設定します。 最適な値は、MTU 値を 2 倍した値を丁度越える値です。 .Ar value が指定されないまたは 0 の場合、デフォルトの、カーネルが制御する値を使用します。 .It "set server|socket" Ar TcpPort Ns No \&| Ns Xo .Ar LocalName Ns No |none|open|closed .Op password Op Ar mask .Xc このコマンドは .Nm に指定したソケットもしくは .Sq 診断ポート にてコマンド接続の入力を listen するように指示します。 .Pp 語 .Ar none は .Nm に既に存在するソケットを閉じさせ、ソケット設定を消させます。 語 .Dq open は .Nm にポートを再度オープンさせます。 語 .Dq closed は .Nm にオープンしているポートを閉じさせます。 .Pp ローカルドメインソケットを指定したい場合、 .Ar LocalName に絶対ファイル名を指定します。そうしないと、TCP ポートの名前もしくは番号 であると解釈されます。 ローカルドメインソケットに使用される 8 進 umask を指定可能です。 umask の詳細については .Xr umask 2 を参照してください。TCP ポート名がどのように変換されるかについては .Xr services 5 を参照してください。 .Pp このソケットにクライアントが接続するときに使用されねばならないパスワードも 指定可能です ( 前述の .Dq passwd 変数を使用します)。 パスワードが空文字列として指定される場合、 クライアントが接続するときにパスワードを必要とされません。 .Pp ローカルドメインソケットが指定される場合、ソケット名中の最初の .Dq %d シーケンスは現在のインタフェースユニット番号で置換されます。 複数接続のために同一のプロファイルを使用したい場合に便利です。 .Pp 同様の方法で TCP ソケットの前に .Dq + 文字を付けることができます。 この場合、現在のインタフェースユニット番号が、ポート番号に加算されます。 .Pp .Nm をサーバソケットと共に使用する場合、通信機構として .Xr pppctl 8 コマンドを使用することが好ましいです。 現在 .Xr telnet 1 も使用可能ですが、将来リンク暗号化が実装されるかもしれませんので、 .Xr telnet 1 は避けてください。 .Pp 注: .Dv SIGUSR1 と .Dv SIGUSR2 は、診断ソケットと相互に作用します。 .It set speed Ar value シリアルデバイスの速度を指定します。 速度指定が .Dq sync の場合、 .Nm はデバイスを同期デバイスとして扱います。 .Pp デバイスタイプによっては、 同期または非同期のいずれかであることが分るものがあります。 これらのデバイスでは、不正な設定を上書きして、 この結果に対する警告を記録します。 .It set stopped Op Ar LCPseconds Op Ar CCPseconds このオプションが指定されると、 指定した FSM (有限状態機械; Finite State Machine) が停止状態になってから .Dq seconds で指定した秒数だけ停止したのち、 .Nm はタイムアウトします。 このオプションは、 相手が終了要求を送り我々が終了確認応答を送ったにもかかわらず 実際には接続を閉じない場合に、有用かもしれません。また、 .Dq set openmode passive を使用した場合に相手が指定時間内に Configure Request を送らないことを タイムアウト検出する場合には、便利かもしれません。 .Dq set log +lcp +ccp を使用すると、 .Nm は適切な状態遷移を記録します。 .Pp デフォルト値は 0 であり、 停止状態による .Nm のタイムアウトは発生しません。 .Pp この値は openmode の遅延 (上述の .Dq set openmode 参照) より小さくなってはなりません。 .It set timeout Ar idleseconds Op Ar mintimeout このコマンドはアイドルタイマの値を指定します。 更なる詳細については .Sx アイドルタイマの設定 というタイトルの節を参照してください。 .Pp .Ar mintimeout が指定された場合、 最短でも指定された秒数だけリンクがアップしていないと、 .Nm はアイドルアウトしません。 .It set urgent Xo .Op tcp|udp|none .Oo Op +|- Ns .Ar port .Oc No ... .Xc このコマンドは、データ転送時に .Nm が優先するポートを制御します。 デフォルトの優先 TCP ポートは、ポート 21 (ftp control), 22 (ssh), 23 (telnet), 513 (login), 514 (shell), 543 (klogin), 544 (kshell) です。 優先 UDP ポートは、デフォルトではありません。 詳細は .Xr services 5 を参照してください。 .Pp .Dq tcp も .Dq udp も指定しないと、 .Dq tcp が仮定されます。 .Pp .Ar port を指定しないと、優先ポートリストがクリアされます ( .Dq tcp または .Dq udp を指定すると、そのリストのみがクリアされます)。 最初の .Ar port 引数にプラス .Pq Dq \&+ またはマイナス .Pq Dq \&- のプレフィックスを付けた場合、現在のリストが修正されますが、 そうでない場合には、再割り当てされます。 プラスのプレフィックス付きまたはプレフィックス無しの .Ar port はリストに追加され、マイナスのプレフィックス付きの .Ar port はリストから削除されます。 .Pp .Dq none が指定された場合、優先ポートリスト全体が無効になり、 .Dv IPTOS_LOWDELAY パケットも特別扱いされなくなります。 .It set vj slotcomp on|off このコマンドは .Nm に VJ スロット圧縮をネゴシエートするか否かを指示します。 デフォルトではスロット圧縮は .Ar on です。 .It set vj slots Ar nslots このコマンドは最初の .Ar slots 番号を指定します。 .Nm は VJ 圧縮が enable されている時には、 これを使用して相手とネゴシエートします (前述の .Sq enable コマンドを参照してください)。 デフォルト値は 16 です。 .Ar nslots は .Ar 4 以上 .Ar 16 以下の値です。 .El .Pp .It shell|! Op Ar command .Ar command が指定されない場合、 .Dv SHELL 環境変数で指定されるシェルが起動されます。 そうでなければ指定された .Ar command が実行されます。 語の置換は、前述の .Dq !bg コマンドと同様の方法で行われます。 .Pp 文字 ! を使用する場合、コマンドとの間に空白が必要です。 このコマンドはフォアグラウンドで実行されることに注意してください - .Nm はプロセスが終了するまでは実行を続けません。 バックグラウンドでコマンド処理を行いたい場合には、 .Dv bg コマンドを使用してください。 .It show Ar var このコマンドを使用して、次の内容を確認できます: .Bl -tag -width 2n .It show bundle 現在のバンドル設定を表示します。 .It show ccp 現在の CCP 圧縮統計を表示します。 .It show compress 現在の VJ 圧縮統計を表示します。 .It show escape 現在のエスケープ文字を表示します。 .It show filter Op Ar name 指定したフィルタの現在のルールをリストします。 .Ar name を指定しないと、全フィルタが表示されます。 .It show hdlc 現在の HDLC 統計を表示します。 .It show help|? 利用可能な show コマンドのまとめを表示します。 .It show iface 現在のインタフェース情報 ( .Dq iface show と同じです) を表示します。 .It show ipcp 現在の IPCP 統計を表示します。 .It show layers 現在使用中のプロトコル層を表示します。 .It show lcp 現在の LCP 統計を表示します。 .It show Op data Ns Xo .No link .Xc 高レベルリンク情報を表示します。 .It show links 利用可能な論理リンクのリストを表示します。 .It show log 現在のログ値を表示します。 .It show mem 現在のメモリ統計を表示します。 .It show ncp 現在の NCP 統計を表示します。 .It show physical 現在の下位レベルリンク情報を表示します。 .It show mp マルチリンク情報を表示します。 .It show proto 現在のプロトコルの総計を表示します。 .It show route 現在の経路表を表示します。 .It show stopped 現在の stopped タイムアウト値を表示します。 .It show timer アクティブアラームタイマを表示します。 .It show version .Nm の現在のバージョン番号を表示します。 .El .Pp .It term 端末モードに移行します。 キーボードからタイプした文字はデバイスに送られます。 デバイスから読んだ文字はスクリーンに表示されます。 .Nm の相手が認識された時には、 .Nm は自動的にパケットモードを有効にし、コマンドモードに戻ります。 .El .Sh 更に詳細について .Bl -bullet .It 設定ファイルの例を読んでください。良い情報源です。 .It 何が利用できるかについては、 .Dq help , .Dq nat \&? , .Dq enable \&? , .Dq set \&? , .Dq show \&? コマンドを使って、オンライン情報を取得してください。 .It 次の URL に有用な情報があります: .Bl -bullet -compact .It http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/ppp.html .It http://www.FreeBSD.org/doc/handbook/userppp.html .El .Pp .El .Sh 関連ファイル .Nm は、4 つのファイル .Pa ppp.conf , .Pa ppp.linkup , .Pa ppp.linkdown , .Pa ppp.secret を参照します。 これらのファイルは .Pa /etc/ppp に置かれます。 .Bl -tag -width 2n .It Pa /etc/ppp/ppp.conf システムのデフォルト設定ファイル。 .It Pa /etc/ppp/ppp.secret 各システム用の認証設定ファイル。 .It Pa /etc/ppp/ppp.linkup .Nm がネットワークレベルの接続を確立した時に実行されるファイル。 .It Pa /etc/ppp/ppp.linkdown .Nm がネットワークレベルの接続を閉じる時にチェックするファイル。 .It Pa /var/log/ppp.log ログとデバッグ情報のファイル。このファイル名は .Pa /etc/syslog.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 .Sh 関連項目 .Xr at 1 , .Xr ftp 1 , .Xr gzip 1 , .Xr hostname 1 , .Xr isdnd 8 , .Xr login 1 , .Xr tcpdump 1 , .Xr telnet 1 , .Xr kldload 2 , .Xr libalias 3 , .Xr libradius 3 , .Xr syslog 3 , .Xr uucplock 3 , .Xr netgraph 4 , .Xr ng_pppoe 4 , .Xr crontab 5 , .Xr group 5 , .Xr passwd 5 , .Xr radius.conf 5 , .Xr resolv.conf 5 , .Xr syslog.conf 5 , .Xr adduser 8 , .Xr chat 8 , .Xr getty 8 , .Xr inetd 8 , .Xr init 8 , .Xr named 8 , .Xr ping 8 , .Xr pppctl 8 , .Xr pppd 8 , .Xr pppoe 8 , .Xr route 8 , .Xr sshd 8 , .Xr syslogd 8 , .Xr traceroute 8 , .Xr vipw 8 .Sh 歴史 元のプログラムは .An Toshiharu OHNO Aq tony-o@iij.ad.jp が作成し、 .Fx 2.0.5 に .An Atsushi Murai Aq amurai@spec.co.jp が提出しました。 .Pp 1997 年中に .An Brian Somers Aq brian@Awfulhak.org が本格的な修正をし、 11 月に .Ox に移植されました (2.2-RELEASE の直後です)。 .Pp 1998 年初頭にマルチリンク ppp サポートが追加されたときに、 ほとんどのコードを .An Brian Somers が書き直しました。 diff --git a/ja_JP.eucJP/man/man8/rarpd.8 b/ja_JP.eucJP/man/man8/rarpd.8 index 8e3a84d18d..a9e7097c77 100644 --- a/ja_JP.eucJP/man/man8/rarpd.8 +++ b/ja_JP.eucJP/man/man8/rarpd.8 @@ -1,152 +1,156 @@ -.\" @(#) %FreeBSD: src/usr.sbin/rarpd/rarpd.8,v 1.19 2002/07/14 14:45:20 charnier Exp % (LBL) +.\" @(#) %FreeBSD: src/usr.sbin/rarpd/rarpd.8,v 1.20 2003/08/16 22:23:16 charnier Exp % (LBL) .\" .\" Copyright (c) 1990, 1991, 1993 The Regents of the University of .\" California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that: (1) source code distributions .\" retain the above copyright notice and this paragraph in its entirety, (2) .\" distributions including binary code include the above copyright notice and .\" this paragraph in its entirety in the documentation or other materials .\" provided with the distribution, and (3) all advertising materials mentioning .\" features or use of this software display the following acknowledgement: .\" ``This product includes software developed by the University of California, .\" Lawrence Berkeley Laboratory and its contributors.'' Neither the name of .\" the University nor the names of its contributors may be used to endorse .\" or promote products derived from this software without specific prior .\" written permission. .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" $FreeBSD$ .\" .Dd November 16, 2001 .Dt RARPD 8 .Os .Sh 名称 .Nm rarpd .Nd 逆 ARP デーモン .Sh 書式 .Nm -.Op Fl adfsv +.Fl a +.Op Fl dfsv .Op Fl t Ar directory -.Op Ar interface +.Nm +.Op Fl dfsv +.Op Fl t Ar directory +.Ar interface .Sh 解説 .Nm ユーティリティは、 .Ar interface に対応するイーサネットについて、逆 ARP 要求に対するサービスを提供します。 要求を受け付けると、 .Nm はイーサネットアドレスより IP アドレス を、ホスト名を経由して対応づけます。 ホスト名に関しては、 .Xr ethers 5 データベースと .Xr hosts 5 データベースの両者に登録されている必要があります。もしホスト名がどちらにも登録 されてない場合、変換処理は実行されず、返答も行われません。 .Pp デフォルトでは、( .Nm が動作している) サーバがターゲットを 「ブート」できる場合にのみ要求が受け付けられます; これはすなわち、 .Pa /tftpboot/\fIipaddr\fP* に該当するファイルもしくはディレクトリ (ここで、 .Pa ipaddr は、ターゲットの IP アドレスを16進数で記したものです) が存在することを意味します。 例えば、IP アドレス 204.216.27.18 は、 .Pa /tftpboot/CCD81B12 、 .Pa /tftpboot/CCD81B12.SUN3 、あるいは、 .Pa /tftpboot/CCD81B12-boot が存在する場合のみ、返答されます。 ただし、 .Fl s フラグが指定された場合は、この制約はなくなります(下記参照)。 .Pp 通常の動作においては、 .Nm は自分自身を fork し、バックグラウンドプロセスとして 実行します。例外およびエラーについては、発生事象を .Xr syslog 3 を通じて報告します。 .Pp 次のオプションが使用可能です: .Bl -tag -width indent .It Fl a システムに接続されているすべてのイーサネットについて listen() を行ないます。 本オプションが指定されてない場合は、ネットワークインタフェースを指定する必要が あります。 .It Fl d .Fl f が共に指定された場合、 .Nm は、 .Xr syslog 3 経由の代りに .Em stdout と .Em stderr へメッセージを記録します。 .It Fl f .Nm をフォアグラウンドプロセスとして起動します。 .It Fl s .Pa /tftpboot/\fIipaddr\fP* のあるなしにかかわらず、 イーサネットアドレスと IP アドレスの対応付けがあれば全ての RARP 要求に対して 応答します。 .It Fl t .Xr tftpd 8 の .Fl s オプションと同様、別の tftp ルートディレクトリを .Pa /tftpboot へ提供します。 これにより、 .Nm が選択的に RARP 要求に答え、IP チェックに別のディレクトリを使うようにできます。 .It Fl v 詳細なログを出力します。 .El .Sh 関連ファイル .Bl -tag -width /etc/ethers -compact .It Pa /etc/ethers .It Pa /etc/hosts .It Pa /tftpboot .El .Sh 関連項目 .Xr bpf 4 .Pp .Rs .%A "Finlayson, R." .%A "Mann, T." .%A "Mogul, J.C." .%A "Theimer, M." .%T "RFC 903: Reverse Address Resolution Protocol" .%D "June 1984" .%O "4 p" .Re .Sh 作者 .An -nosplit .An Craig Leres Aq leres@ee.lbl.gov および .An Steven McCanne Aq mccanne@ee.lbl.gov . Lawrence Berkeley Laboratory, University of California, Berkeley, CA. .Sh バグ .Nm は、 .Pa /etc/ethers で発見されたホスト名の解決に DNS を使用する事も出来ます。 このホスト名が DNS には登録されていないが、 .Pa /etc/hosts には存在する場合、 DNS への問い合わせのため、RARP の応答に時間がかかる事になります。 この様な場合は、 .Xr nsswitch.conf 5 にて .Pa /etc/hosts を先に検索するように設定する事をお薦めします。 diff --git a/ja_JP.eucJP/man/man8/route.8 b/ja_JP.eucJP/man/man8/route.8 index 07f3ddac93..bf76b0e61c 100644 --- a/ja_JP.eucJP/man/man8/route.8 +++ b/ja_JP.eucJP/man/man8/route.8 @@ -1,395 +1,404 @@ .\" 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. .\" .\" @(#)route.8 8.3 (Berkeley) 3/19/94 -.\" %FreeBSD: src/sbin/route/route.8,v 1.32 2002/07/06 19:34:51 charnier Exp % +.\" %FreeBSD: src/sbin/route/route.8,v 1.34 2003/09/26 18:10:11 bms Exp % .\" .\" $FreeBSD$ .\" .Dd June 8, 2001 .Dt ROUTE 8 .Os .Sh 名称 .Nm route .Nd マニュアルでルーティングテーブルを操作する .Sh 書式 .Nm .Op Fl dnqtv .Ar command .Oo .Op Ar modifiers .Ar args .Oc .Sh 解説 .Nm ユーティリティはネットワークルーティングテーブルを手動で操作します。 通常は、 .Xr routed 8 のようなシステムルーティングテーブル管理デーモンが 保守をしているので、マニュアルでの操作は必要ありません。 .Pp .Nm ユーティリティは指定できるオプションは少数ですが、 強力なコマンド言語をサポートしています。ユーザは .Xr route 4 において解説されているプログラム可能なインタフェースを通して、 任意の要求を指定することができます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indnent .It Fl n レポートの出力において、ホスト名とネットワーク名のシンボル名での表示を 抑止します。 (シンボル名と数字によるアドレスの変換処理には時間がかかり、 またネットワークが正常に動作している必要があります。 そのため、特にネットワークの動作の修正中には、 変換処理を行なわない方が好都合かもしれません。) .It Fl v (冗長モード) 詳細な情報を出力します。 .It Fl q .Cm add , delete , .Cm flush コマンドからの全ての出力を抑制します。 .El .Pp .Nm ユーティリティでは以下の 6 つのコマンドを提供しています。 .Pp .Bl -tag -width Fl -compact .It Cm add ルートを追加します。 .It Cm flush 全てのルートを削除します。 .It Cm delete 指定されたルートを削除します。 .It Cm change ルートの属性 (ゲートウェイなど) を変更します。 .It Cm get ある宛先に対するルートを検索し、表示します。 .It Cm monitor ルーティング情報ベースの変更、ルーティング検索の失敗、 ネットワーク分割の疑いなどの情報を継続的に報告します。 .El .Pp monitor コマンドは以下の書式です。 .Pp .Bd -ragged -offset indent -compact .Nm .Op Fl n .Cm monitor .Ed .Pp flush コマンドは以下の書式です。 .Pp .Bd -ragged -offset indent -compact .Nm .Op Fl n .Cm flush .Op Ar family .Ed .Pp .Cm flush コマンドが指定されると、 .Nm は全てのゲートウェイのエントリにおけるルーティングテーブルを削除します。 アドレスファミリが .Fl osi , .Fl xns , .Fl atalk , .Fl inet6 , .Fl inet のいずれかの修飾子によって指定されている場合、 そのアドレスファミリの宛先を持つルートだけが削除されます。 .Pp その他のコマンドは以下の書式です。 .Pp .Bd -ragged -offset indent -compact .Nm .Op Fl n .Ar command .Op Fl net No \&| Fl host .Ar destination gateway .Op Ar netmask .Ed .Pp ここで .Ar destination は宛先のホストもしくはネットワークです。 .Ar gateway はパケットがルートされるべき次の中継点です。 ある特定のホストへのルートは、 .Ar destination で指定されたインターネットアドレスを解釈することによって、 ネットワークへのルートと区別されます。 オプションの修飾子 .Fl net , .Fl host が指定されると、 .Ar destination をそれぞれネットワークもしくはホストとして強制的に解釈します。 これらの修飾子がないなら、 .Ar destination に INADDR_ANY .Pq Li 0.0.0.0 の .Dq ローカルアドレス部 が含まれるか .Ar destination がネットワークのシンボル名である場合はネットワークへのルート、 その他の場合はホストへのルートと想定します。 .Ar destination は、 .Ar net Ns / Ns Ar bits の書式でも指定可能です。 .Pp 例えば、 .Li 128.32 は .Fl host Li 128.0.0.32 として解釈されます。 .Li 128.32.130 は .Fl host Li 128.32.0.130 として、 .Fl net Li 128.32 は .Li 128.32.0.0 として、 .Fl net Li 128.32.130 は .Li 128.32.130.0 として解釈されます。 .Li 192.168.64/20 は .Fl net Li 192.168.64 Fl netmask Li 255.255.240.0 として解釈されます。 .Pp .Ar destination に対する .Ar default 指定は、 .Fl net Li 0.0.0.0 と同じ意味であり、デフォルト経路です。 .Pp 宛先がゲートウェイとして動作する中継点なしで、 あるインタフェースから直接到達可能な場合、 .Fl interface 修飾子を指定しなければなりません。 この場合、指定されたゲートウェイは共通なネットワーク上の ローカルホストのアドレスとなり、 そのインタフェースが転送に使用されることを示します。 また、インタフェースが point to point 接続の場合、 インタフェースをその名前で指定できます。 この場合、ローカルやリモートのアドレスが変更されても そのルートは有効のまま残ります。 .Pp オプションの修飾子 .Fl xns , .Fl osi , .Fl atalk , .Fl link はそれに続いて指定されるアドレスが、それぞれ .Tn XNS , .Tn OSI , .Tn AppleTalk アドレスファミリである、もしくはリンクレベルのアドレスであることを指定します。 これらの場合、名前はシンボル名ではなく、 数字によって指定をおこなわなければなりません。 .Pp オプションの修飾子 .Fl netmask はネットマスクオプションつきの .Tn OSI .Tn ESIS プロトコルによるリダイレクトの効果を実現するためのものです。 つまり、ネットワークインタフェースの暗黙のネットマスクとは異なる ネットマスクをもつサブネットを手動で追加します。 (この方法によらない場合は、OSPF や ISIS ルーティングプロトコルによって 通信します。) この修飾子に続いて、アドレスパラメータ (これはネットワークマスクとして解釈されます) を指定します。 AF_INET の場合に生成される暗黙のネットワークマスクは、 このオプションを .Ar destination パラメータに続いて指定することによって、上書きすることができます。 .Pp .Dv AF_INET6 では、 .Fl mask 修飾子の代りに .Fl prefixlen 修飾子が使用可能です。IPv6 では非連続なマスクが許されないためです。 例えば .Fl prefixlen Li 32 はネットワークマスク .Li ffff:ffff:0000:0000:0000:0000:0000:0000 の使用を指定します。 prefixlen のデフォルト値は 64 であり、 集約可能 (aggregatable) アドレスと共に動作可能となっています。 ただし、 .Cm default 指定時には 0 が仮定されます。 この修飾子は .Dv AF_INET6 アドレスファミリのみで動作可能なことに注意してください。 .Pp ルートにはいくつかのフラグがあり、 そのルートを使う宛先にデータを送信する時のプロトコルの動作に 影響をおよぼします。 これらのフラグは以下の修飾子によってセット (もしくはクリア) できます。 .Bd -literal -cloning RTF_CLONING - 使用中のルートを新たにひとつ生成する。 -xresolve RTF_XRESOLVE - (外部からの検索に対して) 使用中である旨のメッ セージを発行する。 -iface ~RTF_GATEWAY - 宛先が直接到達可能。 -static RTF_STATIC - 手動でルートを追加する。 -nostatic ~RTF_STATIC - カーネルかデーモンによってルートが追加された ように振舞う。 -reject RTF_REJECT - マッチした場合に ICMP unreachable を出力する。 -blackhole RTF_BLACKHOLE - (更新中に) 何も報告せずにパケットを捨てる。 -proto1 RTF_PROTO1 - プロトコルに特有のフラグ #1 をセットする。 -proto2 RTF_PROTO2 - プロトコルに特有のフラグ #2 をセットする。 -llinfo RTF_LLINFO - プロトコルアドレスからリンクアドレスへの変換の 正当性をチェックする。 .Ed .Pp オプションの修飾子 .Fl rtt , .Fl rttvar , .Fl sendpipe , .Fl recvpipe , .Fl mtu , .Fl hopcount , .Fl expire , .Fl ssthresh によって TCP や TP4 のトランスポートレベルのプロトコルによる ルーティングのエントリ中でメインテナンスされる値の初期値を指定します。 これらは各々の修飾子の前に .Fl lock メタ修飾子を指定することによって、個別にその値をロックすることができます。 また .Fl lockrest メタ修飾子をつけることによって、 その後に続く全ての値をロックすることもできます。 .Pp .Cm change もしくは .Cm add コマンドにおいて、 .Ar destination もしくは .Ar gateway がルートを特定するのに不十分であった場合 (たとえば .Tn ISO のケースにおいて、複数のインタフェースが同じアドレスを持っているような場合)、 .Fl ifp や .Fl ifa 修飾子を使うことによって、 インタフェースやインタフェースアドレスを特定することができます。 .Pp オプションの .Fl proxy 修飾子を指定すると、 .Dv RTF_LLINFO 経路表エントリが、 .Dq 公表された (代理のみの) .Tn ARP エントリとなり、 .Xr arp 8 はそのように報告します。 .Pp +省略可能な +.Fl genmask +修正子は、クローンマスクが存在することを指定します。 +これは、子の経路が作成されるべきかどうかを判断するときに、 +マスクが適用されることを指定します。 +これは、 +.Dv RTF_CLONING +フラグが設定されたネットワーク経路に対してのみ適用されます。 +.Pp .Ar destination や .Ar gateway で指定された全てのシンボル名は、まずホスト名として .Xr gethostbyname 3 を使用して検索されます。検索に失敗した場合は、その名前をネットワーク名と見なし .Xr getnetbyname 3 によって検索されます。 .Pp .Nm ユーティリティはルーティングソケットと新しいメッセージタイプである .Dv RTM_ADD , RTM_DELETE , RTM_GET , RTM_CHANGE を使います。 ルーティングテーブルの変更はスーパユーザのみがおこなうことができます。 .Sh 診断 .Bl -diag .It "add [host \&| network ] %s: gateway %s flags %x" 指定されたルートがテーブルに追加されました。 出力された値は .Xr ioctl 2 の呼出しの中で使われたルーティングテーブルのエントリからのものです。 指定されたゲートウェイアドレスがそのゲートウェイのプライマリアドレス ( .Xr gethostbyname 3 によって返される最初のもの) でなかった場合、 ゲートウェイアドレスがシンボル名に加えて、数字でも表示されます。 .It "delete [ host \&| network ] %s: gateway %s flags %x" 指定されたルートがテーブルから削除されました。 .It "%s %s done" .Cm flush コマンドが指定された場合、削除された各ルーティングテーブルエントリが この形式のメッセージで報告されます。 .It "Network is unreachable" 指定されたゲートウェイが直接到達可能なネットワーク上にないために、 ルートの追加に失敗しました。 hop 数が 1 であるゲートウェイを指定しなければなりません。 .It "not in table" テーブルにないエントリを削除しようとしました。 .It "routing table overflow" ルートの追加を試みましたが、システムの資源が少なく、 新しいエントリを作成するためのメモリを割り当てられませんでした。 .It "gateway uses the same route" .Cm change 操作の結果変更された経路は、そのゲートウェイが使用する経路と同一です。 次ホップのゲートウェイが別の経路から到達可能であるべきです。 .El .Pp .Ex -std .Sh 関連項目 .\".Xr esis 4 , .Xr netintro 4 , .Xr route 4 , .Xr arp 8 , .Xr IPXrouted 8 , .Xr routed 8 .\".Xr XNSrouted 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.2 から登場しました。 .Sh バグ 最初の段落は多少 .Xr routed 8 の能力を大げさに書いています。 diff --git a/ja_JP.eucJP/man/man8/rtsold.8 b/ja_JP.eucJP/man/man8/rtsold.8 index 65e3a1ad79..4b23331648 100644 --- a/ja_JP.eucJP/man/man8/rtsold.8 +++ b/ja_JP.eucJP/man/man8/rtsold.8 @@ -1,262 +1,262 @@ -.\" $KAME: rtsold.8,v 1.16 2000/10/15 13:19:05 itojun Exp $ +.\" $KAME: rtsold.8,v 1.20 2003/04/11 12:46:12 jinmei Exp $ .\" .\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the project nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/rtsold/rtsold.8,v 1.11 2003/08/08 16:42:37 ume Exp % +.\" %FreeBSD: src/usr.sbin/rtsold/rtsold.8,v 1.12 2003/08/17 11:11:32 ume Exp % .\" .\" $FreeBSD$ .\" WORD: mobility 可搬性 [WIDE IPv6 working group] .\" WORD: .Dd May 17, 1998 .Dt RTSOLD 8 .Os .\" .Sh 名称 .Nm rtsold , rtsol .Nd ルータ要請デーモン .\" .Sh 書式 .Nm .Op Fl dDfm1 .Op Fl O Ar script-name .Ar interface ... .Nm .Op Fl dDfm1 .Op Fl O Ar script-name .Fl a .Nm rtsol .Op Fl dD .Op Fl O Ar script-name .Ar interface ... .Nm rtsol .Op Fl dD .Op Fl O Ar script-name .Fl a .\" .Sh 解説 .Nm ユーティリティは、 ICMPv6 ルータ要請メッセージを、指定されたインタフェース上で送信します。 ノードがリンクに (再) 接続された場合、 .Nm は、リンクローカルスコープの全ルータ宛マルチキャストアドレスへ、 ルータ要請メッセージを送信します。 これは、 新規ルータを発見して非リンクローカルアドレスを取得することを目的としています。 .Pp .Nm ユーティリティは、IPv6 ホスト -(非ルータノード) +.Pq 非ルータノード のみで実行すべきです。 .Pp 本プログラムを .Nm rtsol として起動した場合、デーモンにならずに、プローブを指定した .Ar interface から送出します。 言い換えるなら、 .Nm rtsol は .Do .Nm .Fl f1 .Ar interfaces .Dc のように動作します。 .Pp 特に .Nm は、次のいずれかのイベント後に、 最大 3 個のルータ要請を単一インタフェースから送信します: .Pp .Bl -bullet -compact .It .Nm デーモンの起動直後。 .It 一時的なインタフェース障害後のインタフェース立ち上げ。 .Nm ユーティリティは、定期的にインタフェースの状態が活動中か否かを調べ、 この種の障害を検出します。 ネットワークカードとドライバによっては、 リンク状態を引き出すことを許さないものがあることに注意してください。 このような場合、 .Nm はインタフェース状態の変化を検出できません。 .It .Fl m オプションが指定され、 .Nm デーモンがインタフェース状態を取得できない場合、60 秒毎。 この機能は IPv6 近隣探索仕様に適合しませんが、 可搬ステーション用に提供されています。 ルータ通知のデフォルトインターバルは 10 分単位ですが、 これは可搬ステーションにとってはやや長いです。 この機能はこのようなステーション用に提供されており、 ステーションが他のリンクに接続された後 すみやかに新しいルータを発見できるようにします。 .El .Lp ひとたび .Nm がルータ要請を送信して有効なルータ通知を受信すると、 前述のいずれかのイベントが発生するまで、 このインタフェースからはもう要請を送信しなくなります。 .Lp インタフェース上でルータ要請を送信するとき、 このインタフェースがリンク層アドレスを持つ場合には、 .Nm は始点リンク層アドレスオプションを含めます。 .Lp .Nm はインタフェース毎のパラメータを管理し、 ホストアドレス以外の設定パラメータのために別のプロトコルが必要かどうか 検出します。 起動時には、このフラグは FALSE ですが、 OtherConfig フラグがセットされたルータ通知をデーモンが受け取ると、 このフラグは TRUE になります。 この場合を取り扱うスクリプトを指定可能です .Pq 後述 。 条件イベントのいずれかにより .Nm がルータ要請メッセージを再送開始すると、 デーモンはこのパラメータをリセットします。 これは、当該イベントが接続リンクの変更を意味するかもしれないからです。 .Pp シグナル .Dv SIGUSR1 を受信すると、 .Nm は現在の内部状態を .Pa /var/run/rtsold.dump にダンプします。 .\" -.Sh オプション +オプションは次の通りです: .Bl -tag -width indent .It Fl a 出力インタフェースを自動検出します。 .Nm ユーティリティは、非ループバック、非 point-to-point、 IPv6 可能なインタフェースを見付けようとします。 .Nm が複数のインタフェースを見付けると、 .Nm はエラーで終了します。 .\" .It Fl d デバッギングを有効にします。 .It Fl D より多くのデバッギングを有効にし、内部タイマ情報も表示します。 .It Fl f .Nm がデーモンになることを妨げます (フォアグラウンドモード)。 .Xr syslog 3 の代りに標準エラー出力に対して、警告メッセージが生成されます。 .It Fl m 可搬サポートを有効にします。 本オプションが指定されると、ノードがインタフェースに (再) 接続された時、 ルータ通知を行っていたデフォルトルータに対して、 .Nm はプローブパケットを送信します。 更に、本オプションが指定された場合には、 .Dv SIOCGIFMEDIA ioctl をサポートしないインタフェース上で、 .Nm は定期的にルータ要請を送信します。 .It Fl 1 1 回だけ調べます。 有効なルータ通知パケットが、各 .Ar interface 上で最低 1 度は到着するまで、ルータ要請パケットを送ってから、終了します。 .It Fl O Ar script-name ルータ通知の Other Configuration フラグを扱うための、 付属スクリプトを指定します。 フラグが FALSE から TRUE へ変化したとき、 受信インタフェース名という単一の引数と共に、 .Nm は .Ar script-name を起動します。 これにより、スクリプトが他の設定のためのプロトコルを開始することを 期待しています。 .Ar script-name はルートからスクリプトへの絶対パスであることが必要であり、 通常ファイルであること、所有者が .Nm の実行者と同じであることも必要です。 .El .Sh 診断 .Ex -std rtsold rtsol .\" .Sh 関連ファイル .Bl -tag -width /var/run/rtsold.dump -compact .It Pa /var/run/rtsold.pid 現在実行中の .Nm の PID。 .It Pa /var/run/rtsold.dump ここに内部状態をダンプします。 .El .\" .Sh 関連項目 .Xr rtadvd 8 , .Xr sysctl 8 .\" .Sh 歴史 .Nm ユーティリティは、WIDE/KAME IPv6 プロトコルスタックキットではじめて登場した .Nm rtsol ユーティリティを元にしています。 .Nm rtsol ユーティリティは現在 .Nm に組み込まれています。 .\" .Sh バグ オペレーティングシステムによっては、 PCMCIA ネットワークカードを取り除いて再挿入したときに、 対応するインデックスが変わってしまうものがあります。 しかしながら、 .Nm はそのような変更の発生を仮定せず、起動時に得たインデックスを常に使用します。 その結果、ネットワークカードを再挿入したときに .Nm が動作しないかもしれません。 そのような場合には、 .Nm を殺して再起動してください。 .Pp IPv6 自動設定仕様は、単一インタフェースホストを仮定しています。 複数インタフェースを持つホストを自動設定しようとする場合、 カーネルのエラーメッセージを見ると良いでしょう。 また、 .Nm が複数の .Ar interface を受け付けることは、矛盾して見えます。 diff --git a/ja_JP.eucJP/man/man8/savecore.8 b/ja_JP.eucJP/man/man8/savecore.8 index 8ad0e3378a..143ad8391a 100644 --- a/ja_JP.eucJP/man/man8/savecore.8 +++ b/ja_JP.eucJP/man/man8/savecore.8 @@ -1,136 +1,148 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)savecore.8 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/sbin/savecore/savecore.8,v 1.19 2002/08/21 18:11:42 trhodes Exp % +.\" %FreeBSD: src/sbin/savecore/savecore.8,v 1.20 2003/09/04 10:07:01 dougb Exp % .\" $FreeBSD$ .\" .Dd September 23, 1994 .Dt SAVECORE 8 .Os .Sh 名称 .Nm savecore .Nd オペレーティングシステムのコアダンプを保存する .Sh 書式 .Nm .Fl c .Nm +.Fl C +.Op Fl v +.Op Ar directory device +.Nm .Op Fl fkvz .Op Ar directory Op Ar device ... .Ar directory .Sh 解説 .Nm ユーティリティは、コアダンプをディレクトリ .Fa directory 内へ、 .Ar directory 引数が指定されない場合は現在の作業ディレクトリへコピーし、 リブートメッセージとコアダンプ情報をシステムログに書き出します。 .Pp オプションは以下の通りです: .Bl -tag -width indent +.It Fl C +ダンプが存在するかどうかチェックし、 +状態を示すために短かいメッセージを表示します。 +終了値 0 はダンプが存在することを意味し、 +1 は存在しないことを意味します。 +このオプションは、 +.Op Fl v +オプションとのみ互換です。 .It Fl c ダンプをクリアし、これ以降起動される .Nm でそれが用いられないようにします。 .It Fl f ダンプがクリア済でも、強制的にダンプをとります。 .It Fl k ダンプを保存した後、クリアしません。 .It Fl v より詳しいデバッグ情報を出力します。 .It Fl z コアダンプとカーネルを圧縮します ( .Xr gzip 1 参照)。 .El .Pp .Nm ユーティリティは、 .Ar device 引数で指定される各デバイス上と .Pa /etc/fstab で .Dq dump または .Dq swap と記録されている各デバイス上で、ダンプを探します。 .Nm ユーティリティは、様々な方法を用いてコアダンプが完全であることを確認します。 このチェックにパスすると、 .Nm はコアイメージを .Ar directory Ns Pa /vmcore.# に保存し、コアの情報を .Ar directory Ns Pa /info.# に保存します。 ``#'' はファイル .Ar directory Ns Pa /bounds 先頭からの行数で、 .Nm が正常に実行されるたびにインクリメントされてファイルに書き戻されます。 .Pp .Nm ユーティリティはまた、 コピーを作る前にディスク容量が足りているかどうかチェックします。 .Ar directory を含むファイルシステムのディスク容量が不足している場合、 あるいは、 .Ar directory Ns Pa /minfree が存在し、ファイル生成後のそのファイルシステムの (非スーパユーザに対する)残りキロバイト数が このファイル先頭行の数値より小さい場合、 コピー作成は試みられません。 .Pp .Nm がカーネルとコアダンプのコピーに成功すると、 コアダンプはクリアされ、その後の .Nm では用いられないようになります。 .Pp .Nm ユーティリティは、初期化ファイル .Pa /etc/rc の最終段階付近で呼び出されることを想定しています ( .Xr rc 8 参照)。 .Sh バグ minfree コードは圧縮の効果と疎なファイルを考慮していません。 .Sh 関連項目 .Xr gzip 1 , .Xr getbootfile 3 , .Xr dumpon 8 , .Xr syslogd 8 .Sh 歴史 .Nm ユーティリティは .Bx 4.1 で登場しました。 diff --git a/ja_JP.eucJP/man/man8/sendmail.8 b/ja_JP.eucJP/man/man8/sendmail.8 index 9b9945dc22..3bc455d9e3 100644 --- a/ja_JP.eucJP/man/man8/sendmail.8 +++ b/ja_JP.eucJP/man/man8/sendmail.8 @@ -1,703 +1,703 @@ .\" Copyright (c) 1998-2002 Sendmail, Inc. and its suppliers. .\" 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. .\" .\" -.\" $Id: sendmail.8,v 8.51 2002/05/24 15:42:13 ca Exp % +.\" $Id: sendmail.8,v 1.19 2003-10-13 02:42:27 horikawa Exp $ .\" .\" $FreeBSD$ .\" WORD: recipient 受け手[sendmail.8] .\" WORD: envelope sender エンベロープ中の送り手[sendmail.8] .\" -.TH SENDMAIL 8 "$Date: 2002-11-18 06:17:45 $" +.TH SENDMAIL 8 "$Date: 2003-10-13 02:42:27 $" .SH 名称 sendmail \- 電子メール配送デーモン .SH 書式 .B sendmail .RI [ flags "] [" "address ..." ] .br .B newaliases .br .B mailq .RB [ \-v ] .br .B hoststat .br .B purgestat .br .B smtpd .SH 解説 .B sendmail はメッセージを一人または複数の受け手 .RI ( recipient ) に送ります。必要ならばインターネットワークを 通してメッセージを正しい場所に転送します。 .PP .B sendmail はユーザインタフェースとして使われることは考慮されていません。 ユーザにとって使いやすいフロントエンドは別のプログラムで 提供されます。 .B sendmail は、あらかじめメールとして整形されたメッセージ を配送するためだけに使われます。 .PP 引数を指定せずに起動すると、 .B sendmail は標準入力をファイルの終端まで、または `.'だけを含む行まで読み込み、 そこで確認したメッセージのコピーを、 列挙されたアドレスに送ります。アドレスの文法や内容にもとづいて 経路に使用するネットワークを決定します。 .PP ローカルアドレスは、あるファイルの中を検索して適当なエイリアスを行います。 先頭にバックスラッシュ `\\' のついたアドレスについては、エイリアスは 行なわれません。 8.10 から、送り手はエイリアス展開の対象に含まれるようになりました。 つまり、`john' が `group' にメールを送る 際に、 `john' が `group' に含まれているならば、 送ったメッセージは `john' にも送られます。 .SS パラメータ .TP .B \-Ac 動作モードが最初のメール送信依頼であることを示していない場合でも、 submit.cf を使用します。 .TP .B \-Am 動作モードが最初のメール送信依頼であることを示している場合でも、 sendmail.cf を使用します。 .TP .BI \-B type ボディのタイプを .IR type に設定します。現在有効なのは、 7BIT か 8BITMIME です。 .TP .BI \-ba ARPANET モードに移行します。すべての入力行は CR-LF で終わらなければならず、 すべてのメッセージの末尾には CR-LF がつきます。また、``From:'' と ``Sender:'' フィールドは送り手の名前としてチェックされます。 .TP .BI \-bd デーモンモードで実行します。 .B sendmail は fork を行い、バックグラウンドで動作し、ソケット番号 25 で SMTP コネクションを 待ちます。通常このモードは、 /etc/rc から実行されています。 .TP .B \-bD フォアグラウンドで動作する以外は .B \-bd と同じです。 .TP .B \-bh 継続的なホスト状況データベースの現在の値を表示します。 .TP .B \-bH 継続的なホスト状況データベースから 期限切れのエントリを抹消します。 .TP .B \-bi エイリアスデータベースを初期化します。 .TP .B \-bm 普通にメールを配送します(デフォルト)。 .TP .B \-bp メールキューのリストを表示します。 .TP .B \-bP キューの中のエントリ数を表示します。 共有メモリサポート付きの場合のみ、使用可能です。 .TP .B \-bs 標準入出力で RFC821 にもとづいた SMTP プロトコルを使います。この フラグは、 .B \-ba フラグのうち SMTP 互換の全ての操作を含みます。 .TP .B \-bt アドレスのテストモードで起動します。このモードは対話 モードでアドレスを入力し、処理の過程を表示します。設定ファイル をデバッグするのに使います。 .TP .B \-bv 名前のチェックだけを行います。メッセージの収集や配送は行い ません。ベリファイモードは、ユーザやメーリングリストが有効かどうかを確認する ために使います。 .TP .BI \-C file 別の設定ファイルを使います。 .B sendmail は、別の設定ファイル を使用する場合は root として実行することはできません。 .TP .BI \-d X デバッグ値を .IR X に設定します。 .ne 1i .TP .BI \-F fullname 送り手のフルネームを設定します。 .TP .BI \-f name ``from'' に入る名前(つまり、エンベロープ中の送り手 .RI ( "envelope sender" ) の名前です)を設定します。 最初の送信依頼の間に From: ヘッダが失われている場合、 このアドレスは From: ヘッダの中でも用いられる場合があります。 エンベロープ中の送り手アドレスは、 メッセージ伝送状態の通知の受け手として 用いられ、また、Return-Path: ヘッダにも現れます。 .B \-f は、``trusted'' なユーザ(普通は .IR root ", " daemon ", " network です)が使うか、 送り手が自分自身の名前を指定して使う場合のみ指定することができます。 それ以外の場合、X-Authentication-Warning ヘッダがメッセージに 付加されます。 .TP .BI \-G メッセージのリレー (ゲートウェイ) 送信。 例えば、 .BR rmail が .B sendmail を呼ぶときがそうです。 .TP .BI \-h N ホップカウントを .I N に設定します。ホップカウントは、 メールが処理されるたびに増えていきます。ホップカウントが上限に達した とき、メールは「エイリアスがループしている」という旨のエラーメッセージと いっしょに送り返されます。 もしこのフラグが指定されなければ、メッセージの なかの ``Received:'' 行がカウントされます。 .TP .B \-i 入力されるメッセージ中の `.' だけを含む行を無視します。 このフラグは、データをファイルから読み込むような場合に使用する必要があります。 .TP .BI "\-L " tag syslog メッセージ中で使われる識別子を、指定した .I tag に設定します。 .TP .BI "\-N " dsn 配送状況の通知条件を .I dsn に設定します。 .I dsn には、 `never' (何も通知しない)または、コンマで区切った、 `failure' (配送が失敗した場合に通知する) `delay' (配送が遅れた場合に通知する) `success' (配送が正常に行われた場合に通知する) の組み合わせを指定する事ができます。 .TP .B \-n エイリアスを行いません。 .TP \fB\-O\fP \fIoption\fR=\fIvalue\fR オプション .I option を、指定した .I value に設定します。この形式では長いオプション名が使用されます。 詳しくは後に記述します。 .TP .BI \-o "x value" オプション .I x を、指定した .I value に設定します。 この形式では、一文字のオプション名しか使用できません。 短いオプション名についてはこのマニュアルには記述されていません。 詳しくは、 .I "Sendmail Installation and Operation Guide" を参照して下さい。 .TP .BI \-p protocol メッセージを受け取るために利用するプロトコル名を設定します。 設定できるのは、``UUCP'' のようなプロトコル名だけか プロトコル+ホスト名、たとえば ``UUCP:ucbvax'' などです。 .TP \fB\-q\fR[\fItime\fR] キューのなかにあるメッセージを指定した時間間隔で処理します。 .I time を省略した場合は、キューの内容を一度だけしか処理しません。 .I time は、 秒を表す `s'、 分を表す `m' (デフォルト)、 時間を表す `h'、 日を表す `d'、 週を表す `w' の単位を付けた数字で指定します。 たとえば、 `\-q1h30m' や `\-q90m' は、タイムアウトを 1 時間 30 分に設定します。 デフォルトでは、 .B sendmail はデーモンとしてバックグラウンドで 実行されます。 このオプションは、問題なく .B \-bd と共に指定可能です。 .TP \fB\-qp\fR[\fItime\fR] \fB\-q\fItime\fR と似ていますが、sendmail は、 キューを処理する子プロセスを定期的に fork するのではなく、 キューの処理とスリープを交互に行う 1 個の永続的な子プロセスを fork します。 スリープ時間は引数で指定します。 デフォルトは 1 秒です。 直前のキュー実行においてキューが空だった場合、 プロセスは常に最低 5 秒はスリープします。 .TP \fB\-q\fRf キューに保存されているメッセージを 1 度だけ処理します。 この際、fork() せずに、フォアグラウンドで実行します。 .TP \fB\-q\fRG name .I name という名前のキューグループ中のジョブのみ処理します。 .TP -\fB\-q\fR[\fI!\fR]I substr +\fB\-q\fR[\fI!\fR]I\fIsubstr\fR キュー ID の文字列に .I substr が含まれるジョブのみを処理します。 .I ! が指定されると、その逆となります。 .TP -\fB\-q\fR[\fI!\fR]R substr +\fB\-q\fR[\fI!\fR]R\fIsubstr\fR 受け手のリストの文字列に .I substr が含まれるジョブのみを処理します。 .I ! が指定されると、その逆となります。 .TP -\fB\-q\fR[\fI!\fR]S substr +\fB\-q\fR[\fI!\fR]S\fIsubstr\fR 送り手の文字列に .I substr が含まれるジョブのみを処理します。 .I ! が指定されると、その逆となります。 .TP .BI "\-R " return メッセージがバウンスした時に返送されるメッセージの量を設定します。 .I return パラメータには、メッセージ全体を返送する場合は `full' を、ヘッダのみを返送する場合は `hdrs' を指定します。 .TP .BI \-r name .B \-f フラグと同じですが、古い形式です。 .TP .B \-t 受け手をメッセージから読み取ります。To:, Cc:, Bcc: フィールドが受け手 のアドレスとして読み込まれます。Bcc: フィールドはメッセージの転送前に 削除されます。 .TP .BI "\-V " envid オリジナルのエンベロープ ID を設定します。 これは、DSN をサポートするサーバ間では SMTP 上を伝達し、 DSN に従ったエラーメッセージの中で返送されます。 .TP .B \-v 詳細モードに移行します。 エイリアスの展開などが報告されます。 .TP .BI "\-X " logfile 指定された .I logfile に、メーラに出入りする情報すべてを記録します。 メーラをデバッグする際の 最後の手段としてのみ使ってください。非常に大量の情報があっという間に記録 されます。 .TP .B \-\- コマンドフラグ処理を停止し、残りの引数をアドレスとして使用します。 .SS オプション .B sendmail には、設定することができる多くの処理オプションがあります。 通常、これらのオプションはシステム管理者のみが使います。 オプションは、コマンドラインから .B \-o フラグを使って(短いオプション名で)指定したり、 .B \-O フラグを使って(長いオプション名で)指定したり、 設定ファイルから指定することができます。ここに記述して いるのは部分的なもので、コマンド行から指定する場合に便利な物だけを、 長いオプション名で示しています。完全なリスト(と詳細)は、 .I "Sendmail Installation and Operation Guide" を参照してください。 オプションには以下の物があります。 .TP .RI AliasFile= file 別のエイリアスファイルを使います。 .TP HoldExpensive 接続するのに時間がかかるホストと接続するときは、 すぐに接続せず、リクエストはキューに入れられます。 .TP .RI CheckpointInterval= N .B sendmail が、 .I N 個の配送に成功するたびにキューファイルに チェックポイントを設定します(デフォルトは 10 個です)。これによって、 システムのクラッシュによって長いメーリングリストの配送が中断 されたときでも、再開時に同じ人に重複して配送されることを防ぎます。 .ne 1i .TP .RI DeliveryMode= x 配送モードを .I x に設定します。配送モードには `i' 対話的(同期的)配送モード、 `b' バックグラウンド(非同期的)配送モード、 `q' キューモード(実際の配送は、キューが実行されるときに行われる)、 `d' 延期モード( \-D オプションで指定された マップ (デフォルトはホストマップ) に対し データベースの検索が行われない以外は `q' と同じ)があります。 .TP .RI ErrorMode= x エラー処理をモード .I x に設定します。有効なモードとして、 `m' はエラーメッセージを送り返します。 `w' はエラーメッセージを送り手の端末に書き出します (送り手がログインしていなければ、メールを返します)。 `p' は、エラーメッセージを端末に表示します(デフォルト)。 `q' は、エラーメッセージを捨てます(exit コードだけを返します)。 `e' は、BerkNet 用に特別処理をします。 もし、モード `m' や `w' を使っている場合に、エラーとなったメッセージが エラーメールとして送り返されず、送り手が .B sendmail を実行している マシン上のユーザならば、 メッセージのコピーは送り手のホームディレクトリにある .I dead.letter に追加されます。 .TP SaveFromLine メッセージのはじめに UNIX-style の From 行を残します。 .TP .RI MaxHopCount= N メールがループしていると判断されない、最大のホップ数を 指定します。 .TP IgnoreDots `.' だけを含む行をメッセージの終わりとして解釈しません。 .TP SendMimeErrors エラーメッセージをMIMEフォーマットで送り返します。 設定されていない場合は、DSN (Delivery Status Notification: 配送状況通知) SMTP 拡張は無効になります。 .TP .RI ConnectionCacheTimeout= timeout コネクションキャッシュの タイムアウトを設定します。 .TP .RI ConnectionCacheSize= N コネクションキャッシュのサイズを 設定します。 .TP .RI LogLevel= n ログレベルを設定します。 .TP .RI MeToo= False エイリアスに自分自身が含まれていても、``me''(送り手自身)には送りません。 .TP CheckAliases newaliases(1) コマンドの実行の際、 エイリアスの右辺(エイリアスの値)の有効性をチェックします。 .TP OldStyleHeaders このオプションが設定されていれば、メッセージが古いスタイルのヘッダ を持つことがあることを意味します。 このオプションが設定されていなければ、このメッセージが新しい スタイルを持っていることが保証されます(2 つのアドレスの間は スペースのかわり にコンマで区切られます)。このオプションが設定されていると、 ヘッダのフォーマットをたいていの場合に 正しく決定する適応アルゴリズムが用いられます。 .TP .RI QueueDirectory= queuedir キューメッセージを保存するディレクトリを選択します。 .TP .RI StatusFile= file 指定した名前のファイルに統計情報をセーブします。 .TP .RI Timeout.queuereturn= time キューのなかの配送されなかったメッセージのタイムアウト時間を設定します。 この時間内に(ホストのダウンなどにより)配送が行われなかったときには、 失敗した旨のメッセージが送り返されます。デフォルトは 5 日です。 .TP .RI UserDatabaseSpec= userdatabase セットした場合、ユーザデータベースを見て、 フォワード情報を得ます。 この方法をエイリアス機構の補助として使用する事ができます。 この方法は、データベースが分配されることを意図している点が異なります。 一方、エイリアスは、そのホストローカルでのみ有効です。 .B sendmail が USERDB 付きでコンパイルされていなければ使うことはできません。 .TP ForkEachJob キューを処理する間、各ジョブごとに fork を行います。メモリが少ないマシン では便利です。 .TP SevenBitInput 到着するメッセージを 7 ビットにします (8 ビット目は落します)。 .TP .RI EightBitMode= mode 8 ビットの入力を 7 ビットの宛先へ送る場合の処理方法を .IR mode に設定します。 処理方法には、 m (mime 化) 7 ビット MIME 形式へ変換、 p (パス) 8 ビットのまま配送(プロトコルには違反します)、 s (厳密) メッセージをバウンス、 があります。 .TP .RI MinQueueAge= timeout 配送の試行の間、ジョブがキューに蓄積される時間を設定します。 .TP .RI DefaultCharSet= charset 文字集合が特に指定されていない 8 ビットデータにラベル付けする際に 用いる、デフォルトの文字集合を設定します。 .TP .RI DialDelay= sleeptime コネクションの確立が失敗した場合に、再試行までに .I sleeptime だけスリープします。オンデマンドでダイヤル接続するサイトでの 使用に便利です。 .TP .RI NoRecipientAction= action 受け手ヘッダ (To:, Cc:, Bcc:) がない場合の動作を .I action に設定します。 none メッセージを変更しない、 add-to エンベロープで指定された受け手を入れた To: ヘッダを加える、 add-apparrently-to エンベロープで指定された受け手を入れた Apparrently-To: ヘッダを加える、 add-bcc 空の Bcc: ヘッダを加える、 add-to-undisclosed `To: undisclosed-recipients:;' というヘッダを加える、という動作を指定できます。 .TP .RI MaxDaemonChildren= N 待ち受け SMTP デーモンが同時に生成する子プロセスの最大数を .I N に設定します。 .TP .RI ConnectionRateThrottle= N SMTP ポートへの 1 秒当りの最大コネクション数を .I N に設定します。 .PP エイリアスのなかで最初の文字が `|' で始まるものは、メールの内容を パイプでコマンドに送るものと解釈されます。 .B sendmail に引数の間から空白文字を削除させないようにする場合は 名前をクォートする (" でくくる)必要があります。 以下に、例を示します: .IP msgs: "|/usr/bin/msgs -s" .PP エイリアスには、 .RI ``:include: filename '' という文法もあります。 .B sendmail は、 メールの受け手のリストを得るために、指定されたファイルを読みます。 以下に、例を示します: .IP poets: ":include:/usr/local/lib/poets.list" .PP 上記の例の場合は、 .I /usr/local/lib/poets.list を読み、`poets' のグループの ためのアドレスリストを作ります。 .PP .B sendmail は、以下に示すような終了コードを返します。これらの コードは、 .RI < sysexits.h > に定義されています。 .TP EX_OK すべてのアドレスについて完全に成功しました。 .TP EX_NOUSER ユーザ名が認識できません。 .TP EX_UNAVAILABLE 処理に必要なリソースを得ることができません。 .TP EX_SYNTAX アドレスに文法的な間違いがあります。 .TP EX_SOFTWARE 引数が間違っているなどの、内部的なエラーです。 .TP EX_OSERR ``cannot fork''' のような、一時的な OS エラーです。 .TP EX_NOHOST ホスト名が認識できません。 .TP EX_TEMPFAIL メッセージはすぐには送られませんでしたが、 キューには入れられました。 .PP .B newaliases というコマンドで実行されると、 .B sendmail はエイリアスデータベースを再構築します。 .B mailq というコマンドで実行されると、 .B sendmail はメールキューの内容を表示します。 .B hoststat というコマンドで実行されると、 .B sendmail は、継続的なホスト状態データベースの内容を表示します。 .B purgestat というコマンドで実行されると、 .B sendmail は、継続的なホスト状態データベースから期限切れのエントリを抹消します。 .B smtpd というコマンドで実行されると、 .B \-bd オプションを指定されたの同じように、 .B sendmail はデーモンとして動作します。 .SH 注 .B sendmail は、多くの問題の原因だと責められることがよくありますが、 実際のところ、それらの問題は、 ディレクトリのモードが過剰に許可された状態であるなど、 他の問題に起因するものです。このため、 .B sendmail は、システムディレクトリとファイルのモードをチェックし、 それらディレクトリ、ファイルが信頼するに足るものかどうかを 決定します。 .B DontBlameSendmail オプションを設定することにより、 このチェックをオフにし、システムのセキュリティを低下することも できますが、基本的には、パーミッションの問題は修正されねばなりません。 詳細な情報は、 .I http://www.sendmail.org/tips/DontBlameSendmail.html を参照して下さい。 .SH 関連ファイル .I /etc/mail/sendmail.cf それ自身を除き、以下のファイルのパスはすべて .I /etc/mail/sendmail.cf の内部で指定されています。以下の値は概略に過ぎません。 .PP .TP /etc/mail/aliases エイリアス名の生データ .TP /etc/mail/aliases.db エイリアス名のデータベース .TP /etc/mail/sendmail.cf 設定ファイル .TP /etc/mail/helpfile ヘルプファイル .TP /etc/mail/statistics 統計情報ファイル .TP /var/spool/mqueue/* テンポラリファイル .SH 関連項目 mail(1), syslog(3), aliases(5), mailaddr(7), mail.local(8), rc(8), rmail(8) .PP DARPA Internet Request For Comments .IR RFC819 , .IR RFC821 , .IR RFC822 . .IR "Sendmail Installation and Operation Guide" , No. 8, SMM. .PP http://www.sendmail.org/ .SH 歴史 .B sendmail コマンドは 4.2BSD から登場しました。 -.\" %FreeBSD: src/contrib/sendmail/src/sendmail.8,v 1.10 2002/08/28 18:12:22 gshapiro Exp % +.\" %FreeBSD: src/contrib/sendmail/src/sendmail.8,v 1.11 2003/09/19 23:14:57 gshapiro Exp % diff --git a/ja_JP.eucJP/man/man8/smrsh.8 b/ja_JP.eucJP/man/man8/smrsh.8 index 3ffd9852ae..df3f4b8278 100644 --- a/ja_JP.eucJP/man/man8/smrsh.8 +++ b/ja_JP.eucJP/man/man8/smrsh.8 @@ -1,89 +1,93 @@ .\" Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers. .\" All rights reserved. .\" Copyright (c) 1993 Eric P. Allman. All rights reserved. .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" By using this file, you agree to the terms and conditions set .\" forth in the LICENSE file which can be found at the top level of .\" the sendmail distribution. .\" .\" -.\" $Id: smrsh.8,v 8.16 2002/04/25 13:33:40 ca Exp % +.\" $Id: smrsh.8,v 1.14 2003-10-13 02:42:27 horikawa Exp $ .\" .\" $FreeBSD$ .\" -.TH SMRSH 8 "$Date: 2002-11-18 06:17:45 $" +.TH SMRSH 8 "$Date: 2003-10-13 02:42:27 $" .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 は、実行可能なプログラムを単一のディレクトリに存在するものと、 シェル組み込みコマンドの ``exec'', ``exit'', ``echo'' だけに限定します。 このディレクトリは、デフォルトでは、/usr/libexec/sm.bin です。 これにより、システム管理者は利用可能なコマンドを選択する 事ができます。 更に、 .I smrsh は、``end run'' 攻撃を防ぐために、コマンド行に `\`', `<', `>', `;', `$', `(', `)', `\er' (復改文字), `\en' (改行文字) の文字を含むコマンドは実行しません。 ``||'' と ``&&'' は、許可されており、次のようなコマンドを使用可能です: -``"|exec /usr/local/bin/procmail -f- /etc/procmailrcs/user || exit 75"'' +``"|exec /usr/local/bin/filter || exit 75"'' .PP プログラム名の前にあるパス名は全て取り除かれるため、 ``/usr/bin/vacation'', ``/home/server/mydir/bin/vacation'', ``vacation'' などは全て ``/usr/libexec/sm.bin/vacation'' と解釈されます。 .PP システム管理者は、 sm.bin ディレクトリに置くプログラムを選ぶ際には慎重な 判断をすべきです。適切な物としては、 .IR vacation (1) -や -.IR procmail (1) などがあげられるでしょう。いかなる要望があっても、シェルや、 .IR perl (1) などのシェルに似たプログラムを sm.bin に入れてはいけません。 これは、単に任意のプログラムを実行する事を制限するだけで、 ``#!''書式を用いた、シェルスクリプトや perl スクリプトを sm.bin ディレクトリに入れる事を制限する訳ではありません。 +.IR procmail (1) +のようなメールフィルタプログラムを入れるのも、よくありません。 +.IR procmail (1) +は、 +.IR procmailrc (5) +を使用することで、ユーザが任意のプログラムを実行可能となってしまうからです。 .SH コンパイル コンパイルはほとんどのシステムでつまらないものです。 デフォルトのサーチパス (デフォルトでは``/bin:/usr/bin'') を変更するためには、\-DSMRSH_PATH=\e"\fIpath\fP\e" を 使用する必要があり、また、 デフォルトのプログラムディレクトリ (デフォルトでは ``/usr/libexec/sm.bin'') を変更するためには、\-DSMRSH_CMDDIR=\e"\fIdir\fP\e" を 使用する必要があります。 .SH 関連ファイル /usr/libexec/sm.bin \- 制限されたプログラム用のディレクトリ .SH 関連項目 sendmail(8) -.\" %FreeBSD: src/contrib/sendmail/smrsh/smrsh.8,v 1.9 2002/08/28 18:12:13 gshapiro Exp % +.\" %FreeBSD: src/contrib/sendmail/smrsh/smrsh.8,v 1.10 2003/09/19 23:14:57 gshapiro Exp % diff --git a/ja_JP.eucJP/man/man8/sticky.8 b/ja_JP.eucJP/man/man8/sticky.8 index 6b8ed68bfe..a6ecd8bb50 100644 --- a/ja_JP.eucJP/man/man8/sticky.8 +++ b/ja_JP.eucJP/man/man8/sticky.8 @@ -1,79 +1,79 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)sticky.8 8.1 (Berkeley) 6/5/93 -.\" %FreeBSD: src/share/man/man8/sticky.8,v 1.8 2001/07/10 15:30:54 ru Exp % +.\" %FreeBSD: src/share/man/man8/sticky.8,v 1.9 2003/09/10 19:24:35 ru Exp % .\" .\" $FreeBSD$ .\" .Dd June 5, 1993 .Dt STICKY 8 .Os .Sh 名称 .Nm sticky .Nd スティッキーテキストと追加専用ディレクトリ .Sh 解説 特別なファイルモード .Em sticky bit (mode S_ISVTX) は、ディレクトリのための 特別な取り扱いを示すために使われます。 通常ファイルに対しては無視されます。 ファイルのモードについての説明は、 .Xr chmod 2 や、 -.Pa /usr/include/sys/stat.h +.In sys/stat.h ファイルを参照してください。 .Sh スティッキーディレクトリ `スティッキービット' が設定されたディレクトリは追加専用ディレクトリ、 より正確にいえば、ファイルの削除が制限されたディレクトリになります。 スティッキーディレクトリのファイルの削除や名称変更が可能なのは、 そのディレクトリの書き込み権限を持つそのファイルの所有者か、 そのディレクトリの所有者か、スーパユーザだけです。 この機能は、 .Pa /tmp ディレクトリの様に、公共的に書き込み可能であるが、他人の任意のファイルを 消去したり、名称変更したりさせたくない場合には有効です。 .Pp どんなユーザもスティッキーディレクトリを作成することができます。 ファイルモードの変更についての詳細は、 .Xr chmod 1 を参照してください。 .Sh バグ .Xr open 2 もしくは .Xr mkdir 2 のどちらも、スティッキービットが設定されたファイルを作成できません。 .Sh 歴史 .Nm コマンドは、 .At 32v から登場しました。 diff --git a/ja_JP.eucJP/man/man8/sysctl.8 b/ja_JP.eucJP/man/man8/sysctl.8 index a9e63f5c8a..147514a961 100644 --- a/ja_JP.eucJP/man/man8/sysctl.8 +++ b/ja_JP.eucJP/man/man8/sysctl.8 @@ -1,304 +1,304 @@ .\" Copyright (c) 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" From: @(#)sysctl.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.50 2003/06/08 12:57:39 charnier Exp % +.\" %FreeBSD: src/sbin/sysctl/sysctl.8,v 1.51 2003/09/08 19:57:18 ru Exp % .\" .\" $FreeBSD$ .\" .Dd March 10, 2002 .Dt SYSCTL 8 .Os .Sh 名称 .Nm sysctl .Nd カーネル状態の取得や設定 .Sh 書式 .Nm .Op Fl bdeNnox .Ar name Ns Op = Ns Ar value .Ar ... .Nm .Op Fl beNnox .Fl a .Sh 解説 .Nm はカーネル状態を取り出し、適切な権限があれば プロセスがカーネル状態を設定することを許します。取り出され たり、設定されたりした状態は、 .Pq Management Information Base .Pq Dq MIB 形式を使って記述されます。この形式では、要素はドット ``.'' で 接続されます。 .Pp 以下のオプションを使用可能です: .Bl -tag -width indent .It Fl A .Fl o a と等価です (互換性用)。 .It Fl a 現在利用可能な、データ形式を知らないもの(以下、形式不明の変数と称する) でない値を列挙します。 1 個以上の変数名がコマンドラインに指定された場合、 本オプションは無視されます。 .It Fl b 変数の値を加工せずに、バイナリ形式で表示します。 変数名や、最後の改行文字は出力されません。これは、単一の変数に対して 操作する際に便利でしょう。 .It Fl d 変数の値の代りに解説を表示します。 .It Fl e 変数の名前と値を、 .Ql = で区切ります。 .Nm ユーティリティにフィードバック可能な出力を生成するために有用です。 .Fl N または .Fl n が指定される場合、または変数が設定される場合、本オプションは無視されます。 .It Fl N 値の出力は抑制されて、変数名のみを表示します。 プログラム可能な補完機能を持つシェルで、有用です。 .Xr zsh 1 で変数名を補完するには、次のコードを使用します: .Bd -literal -offset indent listsysctls () { set -A reply $(sysctl -AN ${1%.*}) } compctl -K listsysctls sysctl .Ed .It Fl n 変数名の出力は抑制されて、値だけが表示されます。 これはシェル変数を設定するのに役に立ちます。 たとえば、ページサイズを変数 .Va psize に保存するには、以下のようにします: .Pp .Dl "set psize=`sysctl -n hw.pagesize`" .It Fl o 形式不明な値を表示します (通常は抑制されます)。 書式と長さが表示され、値の最初の 16 バイトが 16 進数でダンプされます。 .It Fl X .Fl x a と等価です (互換性用)。 .It Fl x .Fl o と同様ですが、 形式不明の変数の最初の数バイトの代りに全ての内容が 16 進数でダンプされます。 .El .Pp .Nm で得られる情報は、整数、文字列、デバイス .Pq Vt dev_t 、形式不明の変数です。 .Nm ユーティリティはいくつかの形式不明の変数の形式を知っているだけで、 それ以外のものに 対しては 16 進ダンプに頼ります。 形式不明の変数の情報は、 .Xr ps 1 , .Xr systat 1 , .Xr netstat 1 などの特別な目的のプログラムによって取得された場合に、より効果的です。 .Pp 通常のシステム動作中には修正できない変数のいくつかは、 .Xr loader 8 チューナブルで修正可能です。 例えば、これらを .Xr loader.conf 5 で設定することで実現できます。 どのようなチューナブルが利用可能か、そしてそれらをどのように設定するのか という更なる情報については、 .Xr loader.conf 5 を参照してください。 .Pp 文字列と整数の情報を簡単にまとめて以下に示します。これらの 変数の詳細な説明は、 .Xr sysctl 3 を参照してください。 .Pp 変更可能の列は、適切な権限を持つプロセスがその値を変更 できるかどうかを示しています。 文字列、整数、デバイス値を .Nm で設定可能です。 デバイス値 .Ar value は、キャラクタデバイススペシャルファイル名で指定可能です。 特殊な値 .Cm off と .Cm none は .Dq デバイス無し を意味します。 .Bl -column security.bsd.unprivileged_read_msgbuf integerxxx .It Sy "名称 型 変更可能 .It "kern.ostype 文字列 no .It "kern.osrelease 文字列 no .It "kern.osrevision 整数 no .It "kern.version 文字列 no .It "kern.maxvnodes 整数 yes .It "kern.maxproc 整数 no .It "kern.maxprocperuid 整数 yes .It "kern.maxfiles 整数 yes .It "kern.maxfilesperproc 整数 yes .It "kern.argmax 整数 no .It "kern.securelevel 整数 増やすのみ .It "kern.hostname 文字列 yes .It "kern.hostid 整数 yes .It "kern.clockrate struct no .It "kern.posix1version 整数 no .It "kern.ngroups 整数 no .It "kern.job_control 整数 no .It "kern.saved_ids 整数 no .It "kern.boottime struct no .It "kern.domainname 文字列 yes .It "kern.filedelay 整数 yes .It "kern.dirdelay 整数 yes .It "kern.metadelay 整数 yes .It "kern.osreldate 文字列 no .It "kern.bootfile 文字列 yes .It "kern.corefile 文字列 yes .It "kern.dumpdev dev_t yes .It "kern.logsigexit 整数 yes .It "security.bsd.suser_enabled 整数 yes .It "security.bsd.see_other_uids 整数 yes .It "security.bsd.unprivileged_proc_debug 整数 yes .It "security.bsd.unprivileged_read_msgbuf 整数 yes .It "vm.loadavg struct no .It "hw.machine 文字列 no .It "hw.model 文字列 no .It "hw.ncpu 整数 no .It "hw.byteorder 整数 no .It "hw.physmem 整数 no .It "hw.usermem 整数 no .It "hw.pagesize 整数 no .It "hw.floatingpoint 整数 no .It "hw.machine_arch 文字列 no .It "machdep.console_device dev_t no .It "machdep.adjkerntz 整数 yes .It "machdep.disable_rtc_set 整数 yes .It "machdep.guessed_bootdev 文字列 no .It "user.cs_path 文字列 no .It "user.bc_base_max 整数 no .It "user.bc_dim_max 整数 no .It "user.bc_scale_max 整数 no .It "user.bc_string_max 整数 no .It "user.coll_weights_max 整数 no .It "user.expr_nest_max 整数 no .It "user.line_max 整数 no .It "user.re_dup_max 整数 no .It "user.posix2_version 整数 no .It "user.posix2_c_bind 整数 no .It "user.posix2_c_dev 整数 no .It "user.posix2_char_term 整数 no .It "user.posix2_fort_dev 整数 no .It "user.posix2_fort_run 整数 no .It "user.posix2_localedef 整数 no .It "user.posix2_sw_dev 整数 no .It "user.posix2_upe 整数 no .It "user.stream_max 整数 no .It "user.tzname_max 整数 no .El .Sh 使用例 たとえば、システム中で許されている最大のプロセス数を知りたい ときは、以下のようにします: .Pp .Dl "sysctl kern.maxproc" .Pp システム中で許されている最大のプロセス数を 1000 に設定する には、以下のようにします: .Pp .Dl "sysctl kern.maxprocperuid=1000" .Pp クラッシュダンプに使用するデバイスは次のように指定可能です: .Pp .Dl "sysctl kern.dumpdev=/dev/somedev" .Pp これは次と等価です .Pp .Dl "dumpon /dev/somedev" .Pp システムのクロックレートに関する情報を得るには、以下の ようにします: .Pp .Dl "sysctl kern.clockrate" .Pp システム負荷 (ロード・アベレージ) の履歴に関する情報を 得るには、以下のようにします: .Pp .Dl "sysctl vm.loadavg" .Pp ここに挙げたもの以外の変数も存在します。それらに関するより深い意味を知る もっとも良く、かつ、おそらく唯一の方法は、それらを定義しているソースコードを みる事であることは疑いのない事実でしょう。 .Sh 関連ファイル -.Bl -tag -width ".Aq Pa netinet/icmp_var.h" -compact -.It Aq Pa sys/sysctl.h +.Bl -tag -width ".In netinet/icmp_var.h" -compact +.It In sys/sysctl.h トップレベルの識別子、第 2 レベルのカーネル/ハードウェア識別子、 そしてユーザレベル識別子の定義 -.It Aq Pa sys/socket.h +.It In sys/socket.h 第 2 レベルのネットワーク識別子の定義 -.It Aq Pa sys/gmon.h +.It In sys/gmon.h 第 3 レベルのプロファイル識別子の定義 -.It Aq Pa vm/vm_param.h +.It In vm/vm_param.h 第 2 レベルの仮想メモリ識別子の定義 -.It Aq Pa netinet/in.h +.It In netinet/in.h 第 3 レベルのインターネット識別子と 第 4 レベルの IP 識別子の定義 -.It Aq Pa netinet/icmp_var.h +.It In netinet/icmp_var.h 第 4 レベルの ICMP 識別子の定義 -.It Aq Pa netinet/udp_var.h +.It In netinet/udp_var.h 第 4 レベルの UDP 識別子の定義 .El .Sh 互換性 .Fl w オプションは推奨されておらず、黙って無視されます。 .Sh 関連項目 .Xr sysctl 3 , .Xr loader.conf 5 , .Xr sysctl.conf 5 , .Xr loader 8 .Sh バグ 現状では .Nm ユーティリティは、sysctl ツリーの追跡、および、形式と名前の情報を得る際に、 文書化されていないカーネルの sysctl 機能へのインタフェースを使用しています。 この方法に関する正しいインタフェースは、現在検討中です。 .Sh 歴史 .Nm ユーティリティは .Bx 4.4 ではじめて登場しました。 .Pp .Fx 2.2 の .Nm は著しく改良されています。 diff --git a/ja_JP.eucJP/man/man8/syslogd.8 b/ja_JP.eucJP/man/man8/syslogd.8 index 79ed760d56..9baec2d6cf 100644 --- a/ja_JP.eucJP/man/man8/syslogd.8 +++ b/ja_JP.eucJP/man/man8/syslogd.8 @@ -1,333 +1,333 @@ .\" Copyright (c) 1983, 1986, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)syslogd.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/syslogd/syslogd.8,v 1.49 2002/12/12 17:26:04 ru Exp % +.\" %FreeBSD: src/usr.sbin/syslogd/syslogd.8,v 1.50 2003/09/08 19:57:22 ru Exp % .\" .\" $FreeBSD$ .\" .Dd November 24, 2001 .Dt SYSLOGD 8 .Os .Sh 名称 .Nm syslogd .Nd システムメッセージの記録をとる .Sh 書式 .Nm .Op Fl 46Acdknosuv .Op Fl a Ar allowed_peer .Op Fl b Ar bind_address .Op Fl f Ar config_file .Op Fl l Ar path .Op Fl m Ar mark_interval .Op Fl P Ar pid_file .Op Fl l Ar path .Op Fl p Ar log_socket .Sh 解説 .Nm ユーティリティは設定ファイルに指定された通りに、システムコンソール、 ログファイル、他のマシンやユーザへのメッセージを読み込み、記録します。 .Pp オプションには以下のものがあります。 .Bl -tag -width indent .It Fl 4 .Nm が IPv4 アドレスのみを使用するよう、強制します。 .It Fl 6 .Nm が IPv6 アドレスのみを使用するよう、強制します。 .It Fl A ホストが複数の A または AAAA レコードを持っている場合でも、 通常 .Nm はメッセージを単一のアドレスにのみ送信しようとします。 本オプションが指定されると、 .Nm はメッセージをすべてのアドレスに送信しようとします。 .It Fl a Ar allowed_peer .Ar allowed_peer がこの .Nm に UDP データグラムを使用してログすることを許します。複数の .Fl a オプションを指定可能です。 .Pp .Ar allowed_peer は以下のいずれかです: .Bl -tag -width "ipaddr/masklen[:service]XX" .It Xo .Sm off .Ar ipaddr .No / Ar masklen .Op : Ar service .Sm on .Xc .Ar ipaddr (通常のドット表記の 4 つ組) からのデータグラムを受け付けます。 アドレス比較の際、 .Ar masklen ビットを考慮します。 アドレスを .Ql \&[ と .Ql \&] で括ることで、 .Ar ipaddr に IPv6 アドレスを指定可能です。 .Ar service が指定された場合、パケット送出元が属すべき UDP service の名前もしくは番号となります ( .Xr services 5 参照)。 .Ar service に .Ql \&* を指定すると、全ての UDP ポートから送信されたパケットを受け付けます。 デフォルトの .Ar service は .Ql syslog です。 .Ar ipaddr が IPv4 アドレスの場合で .Ar masklen を指定しないと、 .Ar ipaddr がクラス A もしくは B のアドレス範囲に属す場合にはそれぞれ 歴史的なクラス A もしくは B のネットマスクが使用され、 そうでない場合には 24 が使用されます。 .Ar ipaddr が IPv6 アドレスの場合で .Ar masklen を指定しないと、 .Ar masklen は 128 が用いられます。 .It Xo .Sm off .Ar domainname Op : Ar service .Sm on .Xc 送信アドレスのアドレス逆引きにおいて .Ar domainname が得られたデータグラムを受け付けます。 .Ar service の意味は前述の通りです。 .It Xo .Sm off .No * Ar domainname Op : Ar service .Sm on .Xc 上述の通りですが、送信ホスト名が .Ar domainname で .Em 終る 全てのホストから受け付けます。 .El .Pp .Fl s が指定された場合には、 .Fl a オプションは無視されます。 .It Fl b Ar bind_address バインド対象となる IP アドレスまたはホスト名を、1 個指定します。 ホスト名が指定された場合、これに対応する IPv4 または IPv6 のアドレスが使用されます。 .It Fl c 出力が他のプログラムへのパイプの場合、同じ行の繰り返しを .Dq Li "last message repeated N times" という形式の単一行に圧縮することを無効化します。 2 回指定すると、すべての場合においてこの圧縮を無効化します。 .It Fl d .Nm をデバッグモードで実行します。これは恐らく、 .Nm の開発者にのみ役立ちます。 .It Fl f 代りの設定ファイルのパス名を指定します。 デフォルトは .Pa /etc/syslog.conf です。 .It Fl k ファシリティ .Dq kern で受信したメッセージをファシリティ .Dq user へ変換することを、止めます。 通常は、 .Dq kern ファシリティは、直接 .Pa /dev/klog から読み込むメッセージ用に予約されています。 .It Fl m .Dq mark されたメッセージの間隔を分単位で指定します。 デフォルトは 20 分です。 .It Fl n すべての要求に対し、DNS への問い合わせを抑止します。 .It Fl o カーネルメッセージの前に、 .Xr getbootfile 3 で判定される完全なカーネルブートファイルを付けます。 これを指定しないと、カーネルメッセージのプレフィックスは常に .Dq Li kernel: になります。 .It Fl p 代りに使用するログ用ソケットのパス名を指定します。 デフォルトは .Pa /var/run/log です。 .It Fl P プロセス ID を格納するための別のファイルを指定します。 デフォルトは .Pa /var/run/syslog.pid です。 .It Fl l .Nm が追加のログ用ソケットを置く場所を指定します。 19 個まで追加のログ用ソケットを指定可能です。 主な用法は、 様々に chroot したファイル空間において追加のログ用ソケットを .Pa /var/run/log に置くというものです。 .It Fl s セキュアモードで操作します。リモートマシンからのログメッセージをログしません。 2 度指定すると、ネットワークソケットを全くオープンせず、 またリモートマシンへのログ動作も無効にします。 .It Fl u ただ 1 つの優先度のログのみ行います。 指定した優先度のメッセージのみログします。 このオプションを指定しないと、指定した優先度以上のメッセージがログされます。 このオプションにより、デフォルトの比較を .Dq => から .Dq = に変更します。 .It Fl v 冗長なログを行います。1 度指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が数値でログされます。 複数回指定すると、ローカルに書き込まれたメッセージと共に、 ファシリティと優先度が名前でログされます。 .El .Pp .Nm ユーティリティは 起動時と hangup シグナルを受けとった時はいつでも設定ファイルを 読み込みます。 設定ファイルのフォーマットに関する情報は、 .Xr syslog.conf 5 参照して下さい。 .Pp .Nm ユーティリティは .Ux ドメインソケット .Pa /var/run/log、 .Pa /etc/services で指定されるインターネットドメインソケット および特殊デバイス .Pa /dev/klog (カーネルメッセージを読むため) からメッセージを読み込みます。 .Pp .Nm ユーティリティはプロセス ID ファイル、デフォルトでは .Pa /var/run/syslog.pid を作成し、ここにプロセス ID を記録します。 これは .Nm を kill や、設定ファイルを読み込ませるために使えます。 .Pp .Nm に送られるメッセージは単一の行で構成されます。このメッセージは先頭に 優先順位コードを含んでいます。このコードは .Sq Aq 5 のように括弧でくくられた 10 進数から構成されており、インクルードファイル -.Aq Pa sys/syslog.h +.In sys/syslog.h で定義されている優先順位に対応します。 .Pp セキュリティ上の理由から、 .Nm は存在しないログファイルへ追加書き込みしません。 .Nm の起動前に手動で作成する必要があります。 .Sh 関連ファイル .Bl -tag -width /var/run/syslog.pid -compact .It Pa /etc/syslog.conf コンフィギュレーションファイル .It Pa /var/run/syslog.pid デフォルトのプロセス ID ファイル .It Pa /var/run/log .Ux ドメインデータグラムのログ用ソケットの名前 .It Pa /dev/klog カーネルログ用のデバイス .El .Sh 関連項目 .Xr logger 1 , .Xr syslog 3 , .Xr services 5 , .Xr syslog.conf 5 .Sh 歴史 .Nm ユーティリティは .Bx 4.3 から登場しました。 .Pp .Fl a , .Fl s , .Fl u , .Fl v のオプションは .Fx 2.2 における拡張です。 .Sh バグ UDP パケットで受けとったメッセージを記録する能力は認証されていない ディスクを溢れさせるリモートサービスと等価であり、恐らくデフォルトで無効に されるべきです。ある種の .Nm 間の認証メカニズムが用意されるべきでしょう。 最悪の無駄遣いを避けるために、 .Fl a オプションの使用を強く勧めます。 .Pp .Fl a のマッチングアルゴリズムは非常に効率的には見えません; ドメイン名比較より、数値による IP アドレスを使用する方が高速です。 許可されたピアのリストの検索は線型に行なわれるため、 多くのメッセージを受け付けると予測されるピアグループは .Fl a リストの最初の方に置くべきです。 .Pp ログ用ソケットは読み込み専用のルートファイルシステムの扱いを容易にする ために .Pa /dev から移されました。このことは古いバイナリを混乱させるかもしれないので、 過渡期の間はシンボリックリンクが役に立つでしょう。 diff --git a/ja_JP.eucJP/man/man8/talkd.8 b/ja_JP.eucJP/man/man8/talkd.8 index 422053dce2..a2ef8b6c52 100644 --- a/ja_JP.eucJP/man/man8/talkd.8 +++ b/ja_JP.eucJP/man/man8/talkd.8 @@ -1,81 +1,81 @@ .\" 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. .\" .\" @(#)talkd.8 8.2 (Berkeley) 12/11/93 -.\" %FreeBSD: src/libexec/talkd/talkd.8,v 1.6 2002/07/06 19:19:39 charnier Exp % +.\" %FreeBSD: src/libexec/talkd/talkd.8,v 1.7 2003/09/08 19:57:18 ru Exp % .\" $FreeBSD$ .\" .Dd December 11, 1993 .Dt TALKD 8 .Os .Sh 名称 .Nm talkd .Nd .Xr talk 1 のためのデーモン .\".Nd remote user communication server .\"(訳中)上記原文とは異なった訳ですが、分かりやすいのでこのまま採用します。 .\" 2.2.1R 対象(1997/05/17) Takeshi MUTOH .Sh 書式 .Nm .Sh 解説 .Nm ユーティリティは、他のユーザの会話要求を、ユーザに通知するサーバです。 会話をしたい複数のクライアントからの 要求に応答する、いわば招待状の貯蔵庫として機能します。 通常の操作では、呼び出し元のクライアントは、サーバに メッセージタイプが .Dv LOOK_UP -.Pf ( Aq Pa protocols/talkd.h +.In ( protocols/talkd.h 参照) である .Dv CTL_MSG 構造体のメッセージを送って、 接続の初期化を行います。すると、サーバはすでに呼び出し が行われているかどうか内部テーブルを検索します (相手はメッセージ のなかで指定されています)。 .Pp 検索に失敗すると、クライアントは .Dv ANNOUNCE メッセージを送り、サーバに呼び出す相手のログイン端末に通知を ブロードキャストさせて接続要求を行います。 .Pp 相手が応答すると、ローカル のサーバは内部テーブルの記録を用いて適切なアドレスで 接続を行い、呼び出し側と呼び出された側との間にストリーム型 の接続を確立して、そこで会話が行えるようにします。 .Sh 関連項目 .Xr talk 1 , .Xr write 1 .Sh 歴史 .Nm ユーティリティは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/timed.8 b/ja_JP.eucJP/man/man8/timed.8 index 3a4813b114..725edeb32d 100644 --- a/ja_JP.eucJP/man/man8/timed.8 +++ b/ja_JP.eucJP/man/man8/timed.8 @@ -1,245 +1,250 @@ .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)timed.8 8.1 (Berkeley) 6/6/93 -.\" %FreeBSD: src/usr.sbin/timed/timed/timed.8,v 1.13 2002/07/14 14:46:33 charnier Exp % +.\" %FreeBSD: src/usr.sbin/timed/timed/timed.8,v 1.14 2003/10/03 00:44:11 naddy Exp % .\" .\" $FreeBSD$ .\" .Dd June 6, 1993 .Dt TIMED 8 .Os .Sh 名称 .Nm timed .Nd タイムサーバデーモン .Sh 書式 .Nm .Op Fl dtM -.Op Fl i Ar network -.Op Fl n Ar network +.Op Fl i Ar network | Fl n Ar network .Op Fl F Ar host ... .Sh 解説 .Nm ユーティリティは、タイムサーバデーモンであり、通常はブート時に .Xr rc.network 8 ファイル内の記述に従って起動されます。本コマンドにより、ホストと、 .Nm を実行しているローカルネットワーク上のマシンとの時刻の同期を取ります。 これらのタイムサーバは、 マシン時刻の刻みを遅らせたり進ませたりすることで、それらのマシンの時計を ネットワーク平均時間に補正します。 .Tn ICMP タイムスタンプリクエストメッセージを用いることで、 マシン間の時刻差分を計測し、ネットワーク平均時間を計算します。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl d デバッグモードを有効にします。 端末から切り離さないようにします。 .It Fl i Ar network 無視すべきネットワークリストに .Ar network を追加します。 他の、直接マシンに接続されているネットワークを .Nm は使用します。 複数のネットワークをリストに追加するために、本オプションを複数回指定可能です。 .It Fl F Ar host ... 信頼するホストのリストを作成します。 .Nm ユーティリティは信頼するホストのみをマスタとして受け付けます。 信頼していないホストがマスタであると主張していると、 .Nm はそのホストからの入力メッセージを抑制し、新規に選択を行います。 本オプションは、暗黙的に .Fl M オプションを指定します。 本オプションを指定しないと、 ネットワークに接続されている全ホストを信頼できるものとします。 .It Fl M 必要ならば、ホストが .Nm マスタになることを許します。 .It Fl n Ar network .Ar network を許可されたネットワークのリストに追加します。 他の、直接マシンに接続されているネットワークを .Nm は無視します。 複数のネットワークをリストに追加するために、本オプションを複数回指定可能です。 .It Fl t 受信メッセージのトレーシングを有効にし、ファイル .Pa /var/log/timed.log へログします。 .Xr timedc 8 ユーティリティにより、 .Nm 実行中に、トレーシングのオンとオフを切り替え可能です。 .El .Pp .Fl n と .Fl i は排他であり、ホストが実際に接続されているネットワークを引数として要求します ( .Xr networks 5 を参照してください)。 どちらのフラグも指定しないと、全ネットワークに対して待機します。 .Pp .Fl M と .Fl F のどちらのフラグも指定せずに実行中の .Nm は、スレーブのままです。 .Fl F フラグを指定しないと、 .Nm は全マシンを信頼できるものとします。 .Pp .Nm ユーティリティによって提供されるサービスは、 マスタ−スレーブ構造に基づいて構成されています。 .Nm がマシン上で動作し始めると、 .Nm は、マスタサーバにネットワーク時刻を問い合わせ、自マシンの時刻を設定します。 この後、マスタサーバから送られる同期メッセージを定期的に受け取り、 マシン時間の補正が必要な場合には .Xr adjtime 2 を呼び出します。 .Pp 本コマンドは、時刻を大域的に設定するために .Xr date 1 と通信し、 .Nm 制御ユーティリティである .Xr timedc 8 と通信します。 マスタを実行しているマシンに到達不可能になると、 スレーブは、少なくとも .Fl M と .Fl F のフラグのどちらかを持つスレーブの中から新規にマスタを選択します。 .Pp 通常、起動時に .Nm は、接続されている各ネットワーク上のマスタタイムサーバをチェックします。 ただし、上述の .Fl n と .Fl i のオプションを指定された場合は別です。 本プログラムは、最初に見付けたサーバに同期サービスを要求します。 .Fl M または .Fl F のフラグにより許される場合、 接続されているネットワーク上で、 信頼できるマスタサーバを検出できなかったものに対し、 同期サービスを提供します。 その場合、サーバはトップレベルマスタによって計算された時刻を取得し、 他のマシンに通知します。 .Nm ユーティリティは、スレーブとして動作中のネットワークに対し、 定期的にマスタの存在をチェックします。 そのネットワークに信頼できるマスタが存在しなくなった場合、 そのネットワーク上で選択処理を開始します。 .Pp マシン群の同期をとるための 1つの方法として、 .Tn NTP デーモンを用いてあるマシン の時刻を遠距離の標準時刻や電波受信機の時刻に同期させ、かつ、信頼できる マシンは自分自身だけであることを timed デーモンに .Fl F Ar hostname によって通知する、といったものがあります。 .Pp カーネルによるシステムコンソールへのメッセージ出力は、 割り込み禁止にて行われます。 このことは、メッセージが出力されている 間はシステム時計が停止していることを示します。 ディスクやネットワークハードウェアに多くの問題を抱え、 その結果としてメッセージが出力するマシンは、正確な時刻を保持出来ません。 それぞれのメッセージは、多くは出力されるごとに 10ms 程度の時刻遅延 を引き起こします。タイムデーモンはこの結果を補正します。 .Pp マシンが返答しないというシステムログメッセージは、通常、 当該マシンがクラッシュまたは動作停止したことを示します。 マシンの初期時刻設定時の返答失敗に関する不平は、大概の場合、 -“マルチホーム” のマシンが複数のネットワークでタイムマスタを探した後、 +.Dq マルチホーム +のマシンが複数のネットワークでタイムマスタを探した後、 別のネットワークにおいてスレーブになることを選択したことを示します。 .Sh 警告 2 つ以上の時刻デーモンが同じ時計を更新しようとした場合に、 一時的に時刻がおかしくなる可能性があります。 .Nm と他のタイムデーモンが同じマシン上で走行している場合には、 .Fl F オプションを使用していることを確認して下さい。これは、 .Nm がローカルマシンの時計を更新しないようにするためです。 .Pp なお、このデーモンが使用するネットワークプロトコルは、 .Tn UDP/IP ブロードキャストに基づいています。 ブロードキャスト範囲内で .Tn TSP プロトコルを用いるすべてのマシンは 協調しあわなければなりません。 ブロードキャストパケットが届くマシン間では、 .Fl F フラグを使用する管理ドメインを 2 つ以上持つことはできません。 -このルールに従わないと、通常、"信用できない" マシンに関する不平が +このルールに従わないと、通常、 +.Dq 信用できない +マシンに関する不平が システムログに書かれます。 .Sh 関連ファイル .Bl -tag -width /var/log/timed.masterlog -compact .It Pa /var/log/timed.log -timed のトレースファイル +.Nm +のトレースファイル .It Pa /var/log/timed.masterlog -マスタ timed 用のトレースファイル +マスタ +.Nm +用のトレースファイル .El .Sh 関連項目 .Xr date 1 , .Xr adjtime 2 , .Xr gettimeofday 2 , .Xr icmp 4 , .Xr networks 5 , .Xr timedc 8 .Rs .%T "TSP: The Time Synchronization Protocol for UNIX 4.3BSD" .%A R. Gusella .%A S. Zatti .Re .Sh 歴史 .Nm ユーティリティは .Bx 4.3 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/vinum.8 b/ja_JP.eucJP/man/man8/vinum.8 index dc1543225e..bf3ba04c10 100644 --- a/ja_JP.eucJP/man/man8/vinum.8 +++ b/ja_JP.eucJP/man/man8/vinum.8 @@ -1,2802 +1,2802 @@ .\" Hey, Emacs, edit this file in -*- nroff-fill -*- mode .\"- .\" Copyright (c) 1997, 1998 .\" Nan Yang Computer Services Limited. All rights reserved. .\" .\" This software is distributed under the so-called ``Berkeley .\" License'': .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Nan Yang Computer .\" Services Limited. .\" 4. Neither the name of the Company nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" This software is provided ``as is'', and any express or implied .\" warranties, including, but not limited to, the implied warranties of .\" merchantability and fitness for a particular purpose are disclaimed. .\" In no event shall the company or contributors be liable for any .\" direct, indirect, incidental, special, exemplary, or consequential .\" damages (including, but not limited to, procurement of substitute .\" goods or services; loss of use, data, or profits; or business .\" interruption) however caused and on any theory of liability, whether .\" in contract, strict liability, or tort (including negligence or .\" otherwise) arising in any way out of the use of this software, even if .\" advised of the possibility of such damage. .\" -.\" $Id: vinum.8,v 1.33 2003-05-24 06:09:23 horikawa Exp $ -.\" %FreeBSD: src/sbin/vinum/vinum.8,v 1.63 2003/05/19 20:03:28 ru Exp % +.\" $Id: vinum.8,v 1.34 2003-10-13 02:42:27 horikawa Exp $ +.\" %FreeBSD: src/sbin/vinum/vinum.8,v 1.64 2003/09/08 19:57:18 ru Exp % .\" .\" $FreeBSD$ .\" WORD: attach 結合 (する) .Dd May 5, 2003 .Dt VINUM 8 .Sh 名称 .Nm vinum .Nd 論理ボリュームマネージャの制御プログラム .Sh 書式 .Nm .Op Ar command .Op Fl options .Sh コマンド .Bl -tag -width indent .It Ic attach Ar plex volume Op Cm rename .It Xo .Ic attach Ar subdisk plex .Op Ar offset .Op Cm rename .Xc プレックスをボリュームに、またはサブディスクをプレックスに結合します。 .It Xo .Ic checkparity Ar plex .Op Fl f RAID-4 または RAID-5 のプレックスのパリティブロックを検査します。 .Xc .It Xo .Ic concat .Op Fl f .Op Fl n Ar name .Op Fl v .Ar drives .Xc 指定したドライブからコンカチネート化ボリュームを作成します。 .It Xo .Ic create .Op Fl f .Ar description-file .Xc .Ar description-file の記述に従ってボリュームを作成します。 .It Ic debug ボリュームマネージャをカーネルデバッガに移行させます。 .It Ic debug Ar flags デバッグフラグを設定します。 .It Xo .Ic detach .Op Fl f .Op Ar plex | subdisk .Xc 結合されていたボリュームやプレックスから、プレックスやサブディスクを分離します。 .It Ic dumpconfig Op Ar drive ... 指定されたドライブに格納されている設定情報を表示します。 ドライブ名を指定しないと、システムの全ドライブの情報を表示します。 .It Xo .Ic info .Op Fl v .Op Fl V .Xc ボリュームマネージャの状態を表示します。 .It Xo .Ic init .Op Fl S Ar size .Op Fl w .Ar plex | subdisk .Xc .\" XXX サブディスクまたはプレックスの全サブディスクの内容をすべて 0 に初期化します。 .It Ic label Ar volume ボリュームラベルを作成します。 .It Xo .Ic l | list .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar volume | plex | subdisk .Xc 指定したオブジェクトの情報を表示します。 .It Xo .Ic ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar volume .Xc ドライブの情報を表示します。 .It Xo .Ic ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar subdisk .Xc サブディスクの情報を表示します。 .It Xo .Ic lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar plex .Xc プレックスの情報を表示します。 .It Xo .Ic lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar volume .Xc ボリュームの情報を表示します。 .It Ic makedev .Ar /dev/vinum にデバイスノードを再作成します。 .It Xo .Ic mirror .Op Fl f .Op Fl n Ar name .Op Fl s .Op Fl v .Ar drives .Xc 指定したドライブからミラー化ボリュームを作成します。 .It Xo .Ic move | mv .Fl f .Ar drive object ... .Xc 指定したドライブにオブジェクトを移動します。 .It Ic printconfig Op Ar file 現在の設定のコピーを .Ar file へ書き込みます。 .It Ic quit 対話モード時に、 .Nm ユーティリティを終了します。通常 .Dv EOF 文字を入力することにより実現できます。 .It Ic read Ar disk ... 指定したディスクから .Nm の設定を読み出します。 .It Xo .Ic rename Op Fl r .Op Ar drive | subdisk | plex | volume .Xc 指定したオブジェクトの名前を変更します。 .\" XXX .\".It Ic replace Ar drive newdrive .\"指定したドライブから新しいドライブ上へすべてのサブディスクを移動します。 .It Xo .Ic rebuildparity Ar plex Op Fl f .Op Fl v .Op Fl V .Xc RAID-4 または RAID-5 のプレックスのパリティブロックを再構築します。 .It Ic resetconfig すべての .Nm の設定をリセットします。 .It Xo .Ic resetstats .Op Fl r .Op volume | plex | subdisk .Xc 指定したオブジェクトの統計情報をリセットします。指定がない場合はすべての オブジェクトが対象です。 .It Xo .Ic rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .Xc オブジェクトを削除します。 .It Ic saveconfig 設定失敗後に、 .Nm の設定をディスクへ保存します。 .\" XXX .\".It Xo .\".Ic set .\".Op Fl f .\".Ar state .\".Ar volume | plex | subdisk | disk .\".Xc .\"オブジェクトの状態を .\".Ar state .\"に設定します。 .It Ic setdaemon Op Ar value デーモンの設定を与えます。 .It Xo .Ic setstate .Ar state .Op Ar volume | plex | subdisk | drive .Xc 他のオブジェクトに影響を与えずに状態を設定します。 診断のためだけに使用します。 .It Ic start 全 vinum ドライブから設定を読み込みます。 .It Xo .Ic start .Op Fl i Ar interval .Op Fl S Ar size .Op Fl w .Ar volume | plex | subdisk .Xc システムがオブジェクトへアクセスできるようにします。 .It Xo .Ic stop .Op Fl f .Op Ar volume | plex | subdisk .Xc オブジェクトへのアクセスを終了させます。 パラメータを指定しないと、 .Nm を停止させます。 .It Xo .Ic stripe .Op Fl f .Op Fl n Ar name .Op Fl v .Ar drives .Xc 指定したドライブからストライプ化ボリュームを作成します。 .El .Sh 解説 .Nm ユーティリティは、 Vinum 論理ボリュームマネージャのカーネルコンポーネントと通信します。 対話形式と、単独のコマンドを実行する形式のいずれも実行可能になっています。 コマンドライン引数を伴わずに .Nm を起動すると対話形式になる一方、 コマンドラインでコマンドを指定するとそのコマンド だけを実行します。 対話モードでは、 .Nm はコマンドラインヒストリを保持します。 .Sh オプション .Nm のコマンドにはオプションを付加することができます。どのコマンドにも 下記オプションのどれでも指定することができますが、 オプションが無視される場合があります。例えば、 .Ic stop コマンドは .Fl v オプションと .Fl V オプションを無視します。 .Bl -tag -width indent .It Fl f .Fl f .Pq Dq force: 強制 オプションは安全性の確認を無効にします。細心の注意を払って 使用して下さい。 このオプションは緊急時にのみ使用するものです。例えば、 コマンド .Pp .Dl rm -f myvolume .Pp は .Ar myvolume がオープンされていたとしても削除します。以降、このボリュームに アクセスすると、ほぼ確実にパニックを起こします。 .It Fl i Ar millisecs .Ic init または .Ic start のコマンドを実行時、各ブロックのコピーの間に .Ar millisecs ミリ秒待ちます。 これにより、システム負荷を軽減できます。 .It Fl n Ar name ボリューム名を指定するために .Fl n オプションを使用します。単純な設定コマンド .Ic concat , .Ic mirror , .Ic stripe 用です。 .It Fl r .Fl r .Pq Dq recursive: 再帰的 オプションは表示系のコマンドで使い、 指示したオブジェクト だけでなく、下位のオブジェクトの情報も表示します。 例えば、 .Ic lv コマンドとともに使われる場合、 .Fl r オプションは対象のボリュームに属するプレックスとサブディスクの情報も表示します。 .It Fl s .Fl s .Pq Dq statistics: 統計 オプションは表示系のコマンドで統計情報を表示するために使います。 .Ic mirror コマンドもこのオプションを使用し、 ストライプ化プレックスを作成すべきことを示します。 .It Fl S Ar size .Fl S オプションは、 .Ic init と .Ic start コマンドのための転送サイズを指定します。 .It Fl v .Fl v .Pq Dq verbose: 冗長 オプションは、 さらに詳細な情報を要求するために使用します。 .It Fl V .Fl V .Pq Dq Very verbose: とても冗長 オプションは、 .Fl v オプションが提供するものよりもさらに詳細な情報を要求するために使用します。 このフラグは .Nm init コマンドではベリファイを意味します。 .It Fl w .Fl w .Pq Dq wait: 待ち オプションは、 .Ic init のように通常はバックグラウンドで実行するコマンドの完了を、 .Nm に待たせます。 .El .Sh コマンドの詳細 .Nm コマンドは以下の機能を実行します。 .Pp .Bl -tag -width indent -compact .It Ic attach Ar plex volume Op Cm rename .It Xo .Ic attach Ar subdisk plex .Op Ar offset .Op Cm rename .Xc .Nm Ic attach は指定されたプレックスやサブディスクをそれぞれボリュームやプレックスに 組み込みます。サブディスクに ついては、プレックス中の始点 (オフセット) を指定することができます。 指定がない場合、 サブディスクは有効な最初の位置に結合されます。空でないボリュームにプレックスが 結合されると、 .Nm はそのプレックスを再統合します。 .Pp .Cm rename キーワードが指定されると、 .Nm はオブジェクトの (プレックスの場合には下位のサブディスクの) 名前を変更して デフォルトの .Nm 命名規則に合わせます。 オブジェクトを他の名前に変更するには、 .Ic rename コマンドを使用します。 .Pp サブディスク結合に際しては、いくつか考慮すべきことがあります: .Bl -bullet .It サブディスクの結合対象は、通常、コンカチネート化プレックスのみです。 .It ストライプ化プレックスおよび RAID-5 プレックスにおいて サブディスクが失われた場合 (例えばドライブの故障後など)、 当該サブディスクを置き換えられるのは同じ大きさのサブディスクだけです。 .It ストライプ化または RAID-5 のプレックスに更にサブディスクを追加するには、 .Fl f (強制) オプションを使用します。プレックス内のデータを破壊します。 .\" ストライプ化および RAID-5 のプレックスに対しては、 .\" 別のサブディスクを結合することは、現在許されていません。 .It コンカチネート化プレックスに対しては、 .Ar offset パラメータが、プレックスの先頭からのブロック単位のオフセットを指定します。 ストライプ化プレックスおよび RAID-5 プレックスに対しては、 本パラメータは、サブディスクの最初のブロックのオフセットを指定します。 別の表現をするなら、オフセットは、 サブディスクの数値指定による位置とストライプの大きさとの積になります。 例えば、ブロックの大きさが 271k のプレックスでは、 最初のサブディスクはオフセット 0 に、2 番目のオフセットは 271k に、 3 番目は 542k に、などとなります。 この計算では、RAID-5 プレックスのパリティブロックは無視されます。 .El .Pp .It Xo .Ic checkparity .Ar plex .Op Fl f .Op Fl v .Xc 指定した RAID-4 または RAID-5 プレックスのパリティブロックをチェックします。 この操作はプレックス中のポインタを維持しますので、 望むならば、一時停止して後で同じ場所から再開可能です。 さらに、このポインタは .Ic rebuildparity コマンドも使用します。 最初にパリティの問題が検出された箇所から、 パリティブロックの再構築を開始可能です。 .Pp .Fl f フラグが指定されると、 .Ic checkparity はプレックスの先頭からチェックを開始します。 .Fl v フラグが指定されると、 .Ic checkparity は進捗報告を表示します。 .Pp .It Xo .Ic concat .Op Fl f .Op Fl n Ar name .Op Fl v .Ar drives .Xc .Ic concat コマンドは、単一のコンカチネート化プレックスからなるボリュームを作成する .Ic create コマンドの、単純な代替手段です。 各ドライブ中の最大の連続空間が、 プレックスのサブディスク作成のために使用されます。 .Pp 通常、 .Ic concat コマンドは任意の名前をボリュームと構成要素に付けます。 名前はテキスト .Dq Li vinum および小さな整数からなり、例えば .Dq Li vinum3 となります。 ボリュームに対して指定した名前を割り当てる .Fl n Ar name オプションで、上書きすることが可能です。 プレックスとサブディスクの名前は、通常の作法で、ボリューム名からとられます。 .Pp ドライブの名前には選択の余地はありません。 ドライブが既に .Nm ドライブとして初期化されていた場合、名前はそのままになります。 そうでない場合、ドライブにはテキスト .Dq Li vinumdrive と小さな整数から始まる名前が与えられ、例えば .Dq Li vinumdrive7 となります。 .Ic create コマンドと同様、 .Fl f オプションを使用して、以前の名前の上書きを指定可能です。 .Fl v オプションは、冗長な出力のために使用します。 .Pp このコマンドの例は、後述の .Sx 単純な設定 の節を参照してください。 .Pp .It Xo .Ic create .Op Fl f .Ar description-file .Xc .Nm Ic create はどのオブジェクトの作成にも使われます。相互の関連性が比較的複雑で .Nm オブジェクトの作成には潜在的に危険があることを考慮して、この機能には対話的な インタフェースはありません。 ファイル名を指定しないと、 .Nm は一時ファイルに対してエディタを起動します。 環境変数 .Ev EDITOR が設定されている場合、 .Nm はこのエディタを起動します。設定されていない場合のデフォルトは .Nm vi です。 詳細は後述の .Sx 設定ファイル の節を参照して下さい。 .Pp .Nm Ic create 機能は加法的であることに注意してください: 複数回実行すると、名前付けしていない全オブジェクトのコピーを、 複数生成することになります。 .Pp 通常 .Ic create は既存の .Nm ドライブの名前を変更しません。これは、誤って消去してしまうのを避けるためです。 不要な .Nm ドライブを破棄する正しい方法は、 .Ic resetconfig コマンドで設定をリセットすることです。 しかし、起動できない .Nm ドライブ上に新規データを生成する必要がある場合があります。 この場合、 .Ic create Fl f を使用してください。 .Pp .It Ic debug 引数無しの .Nm Ic debug は、リモートカーネルデバッガに入るために使用します。これは .Nm が .Dv VINUMDEBUG オプション付きで作成されている場合にのみ実行可能です。 このオプションはカーネルデバッガから抜け出るまでオペレーティング システムの実行を停止させます。 リモートデバッグが設定されており、 カーネルデバッガへのリモートコネクションがないと、 デバッガから抜け出るためにはシステムをリセットしてリブート することが必要になります。 .Pp .It Ic debug Ar flags 内部デバッグフラグのビットマスクを設定します。 本製品が改良されるにつれ、このビットマスクは警告無しに変更されるでしょう。 確認のために、ヘッダファイル -.Aq Pa sys/dev/vinumvar.h +.In sys/dev/vinumvar.h を見てください。 ビットマスクは次の値から構成されます: .Bl -tag -width indent .It Dv DEBUG_ADDRESSES Pq No 1 リクエスト中のバッファ情報を表示します。 .\".It Dv DEBUG_NUMOUTPUT Pq No 2 .\".Va vp->v_numoutput .\" の値を表示します。 .It Dv DEBUG_RESID Pq No 4 .Fn complete_rqe においてデバッガに移行します。 .It Dv DEBUG_LASTREQS Pq No 8 最新のリクエストのリングバッファを保存します。 .It Dv DEBUG_REVIVECONFLICT Pq No 16 再生における衝突に関する情報を表示します。 .It Dv DEBUG_EOFINFO Pq No 32 ストライププレックスで .Dv EOF を返すとき、内部状態の情報を表示します。 .It Dv DEBUG_MEMFREE Pq No 64 最後にメモリアロケータが解放したメモリ領域に関する循環リストを管理します。 .It Dv DEBUG_REMOTEGDB Pq No 256 .Ic debug コマンドが発行されたときに、リモート .Nm gdb に移行します。 .It Dv DEBUG_WARNINGS Pq No 512 実装内のミラーの問題に関する警告を表示します。 .El .Pp .It Xo .Ic detach Oo Fl f Oc Ar plex .Xc .It Xo .Ic detach Oo Fl f Oc Ar subdisk .Xc .Nm Ic detach は指定されたプレックスやサブディスクを、 結合されているボリュームやプレックスから 分離します。分離するとボリュームのデータが欠ける可能性のある 場合、この操作は .Fl f オプションを指定しない限り実行されません。 オブジェクトが上位のオブジェクトに従った名前になっている場合 (例えば、プレックス .Li vol1.p7 に結合されているサブディスク .Li vol1.p7.s0 の場合)、 その名前は頭に .Dq Li ex- がついたものに変更されます (例えば .Li ex-vol1.p7.s0 に変更されます)。 その後の処理で必要であれば、その名前から頭の部分が外されます。 .Pp ストライプ化プレックスおよび RAID-5 プレックスにおいては、 .Ic detach はサブディスク数を減らしません。 その代わり、サブディスクには存在しないという印が付けられ、後で .Ic attach コマンドを使用して交換可能となります。 .Pp .It Ic dumpconfig Op Ar drive ... .Nm Ic dumpconfig は、指定されたドライブ上に保管された設定情報を表示します。ドライブ名が 指定されていない場合、 .Ic dumpconfig はシステム上にあるすべてのドライブから vinum パーティションを探し出し、 その情報をダンプします。設定の更新を無効にしている場合、このコマンドが 返す情報と .Ic list コマンドが返す情報とが同じにならないことがあります。このコマンドは、 主に保守およびデバッグ用に使用されるものです。 .Pp .It Ic info .Nm Ic info は .Nm のメモリ使用に関する情報を表示します。これは主にデバッグのためのものです。 .Fl v オプションを付けると、使用中のメモリ領域についての詳細な情報を表示します。 .Pp .Fl V オプションを付けると、 .Nm ドライバが扱った最大 64 個までの最近の I/O リクエストに関する情報を、 .Ic info は表示します。 この情報は、デバッグフラグ 8 が設定されているときのみ収集されます。 書式は次のようになります: .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 91.3 0x10 16384 14:40:00.639280 2LR Write 0xf2361f40 91.3 0x10 16384 14:40:00.639294 3RQ Read 0xf2361f40 4.39 0x104109 8192 19 0 0 0 14:40:00.639455 3RQ Read 0xf2361f40 4.23 0xd2109 8192 17 0 0 0 14:40:00.639529 3RQ Read 0xf2361f40 4.15 0x6e109 8192 16 0 0 0 14:40:00.652978 4DN Read 0xf2361f40 4.39 0x104109 8192 19 0 0 0 14:40:00.667040 4DN Read 0xf2361f40 4.15 0x6e109 8192 16 0 0 0 14:40:00.668556 4DN Read 0xf2361f40 4.23 0xd2109 8192 17 0 0 0 14:40:00.669777 6RP Write 0xf2361f40 4.39 0x104109 8192 19 0 0 0 14:40:00.685547 4DN Write 0xf2361f40 4.39 0x104109 8192 19 0 0 0 11:11:14.975184 Lock 0xc2374210 2 0x1f8001 11:11:15.018400 7VS Write 0xc2374210 0x7c0 32768 10 11:11:15.018456 8LR Write 0xc2374210 13.39 0xcc0c9 32768 11:11:15.046229 Unlock 0xc2374210 2 0x1f8001 .Ed .Pp .Ar Buf フィールドは、ユーザバッファヘッダのアドレスを常に含みます。 ユーザリクエストに関連付けられるリクエスト (複数可) を識別するために 使用できますが、100% 信頼できるものというわけではありません: 理論的には、シーケンス中の 2 個のリクエストが同じバッファヘッダを使い得ますが、 これは一般的ではありません。 リクエストの先頭は、イベント .Ar 1VS または .Ar 7VS で識別可能です。 前述の 1 番目の例は、ユーザ要求に関連するリクエストを示しています。 2 番目は、ロックを伴うサブディスク I/O リクエストです。 前記の例では、複数のリクエストが単一のユーザリクエストに含まれています。 .Pp .Ar Event フィールドは、 リクエストチェーン中のイベントシーケンスに関連する情報を含みます。 .Ar 1 から .Ar 6 までの数字はイベントの大まかなシーケンスを示し、 2 文字の省略形は位置のニーモニックです。 .Bl -tag -width Lockwait .It 1VS (vinum の strategy) .Fn vinumstrategy の入口にある、ユーザリクエストに関する情報を表示します。 デバイス番号は .Nm デバイスであり、オフセットと長さはユーザパラメータです。 本ニーモニックは、常にリクエストシーケンスの先頭になります。 .It 2LR (リクエスト発行) 関数 .Fn launch_requests において低レベル .Nm リクエストを発行する直前の、ユーザリクエストを表示します。 パラメータは .Ar 1VS の情報と同じはずです。 .El .Pp ここから後のリクエストでは、利用可能である場合、 .Ar Dev は関連付けられたディスクパーティションのデバイス番号であり、 .Ar Offset はパーティションの先頭からのオフセットであり、 .Ar SD は .Va vinum_conf 中のサブディスクインデックスであり。 .Ar SDoff はサブディスクの先頭からのオフセットであり、 .Ar Doffset は関連付けられたデータリクエストのオフセットであり、 .Ar Goffset は関連付けられたグループリクエストのオフセットです。 .Bl -tag -width Lockwait .It 3RQ (リクエスト) 高レベルのリクエストを満たすために発行される、 いくつかありうる低レベル .Nm リクエストのうちのひとつを表示します。 この情報は、 .Fn launch_requests においても記録されます。 .It 4DN (完了) .Fn complete_rqe から呼ばれ、リクエストの完了を表示します。 この完了は、ステージ .Ar 4DN において .Fn launch_requests から発行されたリクエストか、またはステージ .Ar 5RD か .Ar 6RP の .Fn complete_raid5_write から発行されたリクエストにマッチするはずです。 .It 5RD (RAID-5 データ) .Fn complete_raid5_write から呼ばれ、 パリティ計算後に RAID-5 データストライプへ書き込まれたデータを表現します。 .It 6RP (RAID-5 パリティ) .Fn complete_raid5_write から呼ばれ、 パリティ計算後に RAID-5 パリティストライプへ書き込まれたデータを表現します。 .It 7VS サブディスク I/O リクエストを表示します。 通常、これらのリクエストは .Nm 内部のものであり、プレックスの初期化や再構築といった操作に使用します。 .It 8LR サブディスク I/O リクエストのために生成した、低レベル操作を表示します。 .It Lockwait プロセスがレンジロックを待っていることを示します。 パラメータは、リクエストに関連付けられたバッファヘッダと、 プレックス番号と、ブロック番号です。 内部的な理由で、ブロック番号は、 ストライプ開始アドレスよりも 1 個大きくなっています。 .It Lock レンジロックを取得済みであることを示します。 パラメータはレンジロックと同じです。 .It Unlock レンジロックを解放済みであることを示します。 パラメータはレンジロックと同じです。 .El .\" XXX .Pp .It Xo .Ic init .Op Fl S Ar size .Op Fl w .Ar plex | subdisk .Xc .Nm Ic init は指定したサブディスクに 0 を書き込んで初期化します。 プレックスが指定された場合はプレックス内の全サブディスクを初期化できます。 これはプレックス中のデータに矛盾のないことを確実にする唯一の方法です。 RAID-5 プレックスの使用前には、この初期化が必要です。 他の新規プレックスに対しても、この初期化を推奨します。 .Nm はプレックス中のすべてのサブディスクを並行して初期化します。 この操作には長い時間が かかるため、通常バックグラウンドで実行されます。 このコマンドの完了を待ちたい場合、 .Fl w (待ち) オプションを使用してください。 .Pp .Fl S オプションでデフォルト値の 16 kB と異なるサイズの書き込みブロックを 指定できます。 .Nm は初期化が完了するとコンソールメッセージを出力します。 .Pp .It Ic label Ar volume .Ic label コマンドは、ボリュームに .Em ufs 形式のボリュームラベルを書き込みます。これは適切に .Ic disklabel を呼び出すことに対しての、単純な代替方法です。 いくつかの .Em ufs コマンドはラベルを入手するために正規の .Xr ioctl 2 コールを使わず、依然としてラベルを捜してディスクの読み込みを行う ため、このコマンドは必要になります。 .Nm はボリュームのデータとは別にボリュームラベルを保持しているため、この コマンドは .Xr newfs 8 用には必要ありません。 このコマンドの価値は低下しています。 .Pp .It Xo .Ic list .Op Fl r .Op Fl V .Op Ar volume | plex | subdisk .Xc .It Xo .Ic l .Op Fl r .Op Fl V .Op Ar volume | plex | subdisk .Xc .It Xo .Ic ld .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar volume .Xc .It Xo .Ic ls .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar subdisk .Xc .It Xo .Ic lp .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar plex .Xc .It Xo .Ic lv .Op Fl r .Op Fl s .Op Fl v .Op Fl V .Op Ar volume .Xc .Ic list は指定したオブジェクトの情報を表示するために使われます。引数が省略されると .Nm が認識しているすべてのオブジェクトについての情報が表示されます。 .Ic l コマンドは .Ic list と同じものです。 .Pp .Fl r オプションはボリュームとプレックスに関連します。 指定されると、そのオブジェクト下位のサブディスクと (ボリュームに対しては) プレックスの情報を再帰的に表示します。 .Ic lv , .Ic lp , .Ic ls , .Ic ld のコマンドは、それぞれボリューム、プレックス、サブディスク、そしてドライブの 情報だけを表示します。これはパラメータを指定しないで使う場合に特に有用です。 .Pp .Fl s オプションで .Nm は装置の統計情報を出力するようになり、 .Fl v (verbose: 饒舌な) オプションはいくらかの付加情報を出力させ、 そして .Fl V は数多くの付加情報を出力させます。 .Pp .It Ic makedev .Ic makedev コマンドは、ディレクトリ .Pa /dev/vinum を除去した上で、 現在の設定を反映するようなデバイスノードと共にこのディレクトリを再作成します。 本コマンドは、通常の場合に使用されることを意図していません。 非常時にのみ使用するために提供しています。 .Pp .It Xo .Ic mirror .Op Fl f .Op Fl n Ar name .Op Fl s .Op Fl v .Ar drives .Xc .Ic mirror コマンドは、ミラー化ボリュームを作成する .Ic create コマンドの、単純な代替手段です。 オプションを指定しないと、RAID-1 (ミラー化) ボリュームを、 2 つのコンカチネート化ボリュームで作成します。 各ドライブ中の最大の連続空間が、 プレックスのサブディスク作成のために使用されます。 1 番目のプレックスは、リストの奇数番号のドライブから構築され、 2 番目のプレックスは、リストの偶数番号のドライブから構築されます。 ドライブの大きさが異なる場合、プレックスの大きさは異なるでしょう。 .Pp .Fl s オプションを指定すると、 .Ic mirror はストライプの大きさが 279 kB のストライプ化プレックスを構築します。 各プレックスのサブディスクの大きさは、 プレックスを構成するドライブの中で、最小の連続ストレージの大きさです。 ここでもまた、プレックスの大きさは異なるかもしれません。 .Pp 通常、 .Ic mirror コマンドは任意の名前をボリュームと構成要素に付けます。 名前はテキスト .Dq Li vinum および小さな整数からなり、例えば .Dq Li vinum3 となります。 ボリュームに対して指定した名前を割り当てる .Fl n Ar name オプションで、上書きすることが可能です。 プレックスとサブディスクの名前は、通常の作法で、ボリューム名からとられます。 .Pp ドライブの名前には選択の余地はありません。 ドライブが既に .Nm ドライブとして初期化されていた場合、名前はそのままになります。 そうでない場合、ドライブにはテキスト .Dq Li vinumdrive と小さな整数から始まる名前が与えられ、例えば .Dq Li vinumdrive7 となります。 .Ic create コマンドと同様、 .Fl f オプションを使用して、以前の名前の上書きを指定可能です。 .Fl v オプションは、冗長な出力のために使用します。 .Pp このコマンドの例は、後述の .Sx 単純な設定 の節を参照してください。 .Pp .It Ic mv Fl f Ar drive object ... .It Ic move Fl f Ar drive object ... 指定したオブジェクトから新しいドライブへすべてのサブディスクを移動します。 オブジェクトは、サブディスク、ドライブあるいはプレックスです。ドライブ またはプレックスが指定された場合、オブジェクトに関係するすべての サブディスクが移動されます。 .Pp この機能は現在サブディスク中のデータを保存しないため .Fl f オプションが必要です。 この付加機能は、後日追加されます。しかしながら、この状態でも、故障した ディスクドライブを復旧させるのには十分です。 .Pp .It Ic printconfig Op Ar file 現在の設定のコピーを、 .Nm 設定を再生成可能な書式で、 .Ar file に書き込みます。 ディスク上に保存された設定とは違い、ドライブの定義を含みます。 .Ar file を指定しないと、 .Nm は一覧を .Dv stdout へ書き込みます。 .Pp .It Ic quit 対話モードで実行中のときに、 .Nm ユーティリティを終了します。通常は、文字 .Dv EOF を入力することで実現できます。 .Pp .It Ic read Ar disk ... .Ic read コマンドは、指定したディスクを走査し、作成済の設定情報を含む .Nm パーティションを探します。 そして、最近更新されたものから過去に更新されたものの順番で、 設定を読み込みます。 .Nm ユーティリティは、 最新のすべての設定情報を各ディスクパーティションに保持しています。 このコマンドの パラメータとして、設定の中の全スライスを指定する必要があります。 .Pp .Ic read コマンドは、他の .Nm パーティションを持つシステム上で、 .Nm 設定を選択的にロードすることを意図しています。 システム上の全パーティションを起動したい場合、 .Ic start コマンドを使用する方が簡単です。 .Pp 本コマンド実行時に .Nm がエラーになると、 ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 これは、ディスク上の設定が、設定エラーを示す (例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 再度更新をオンにするには、 .Ic setdaemon と .Ic saveconfig のコマンドを使用してください。 デーモンオプションマスクのビット 2 をリセットして、 設定保存を再度有効にしてください。 .Pp .It Xo .Ic rebuildparity .Ar plex .Op Fl f .Op Fl v .Op Fl V .Xc 指定した RAID-4 または RAID-5 プレックスのパリティブロックを再構築します。 この操作はプレックス中のポインタを維持しますので、 望むならば、一時停止して後で同じ場所から再開可能です。 さらに、このポインタは .Ic checkparity コマンドも使用します。 最初にパリティの問題が検出された箇所から、 パリティブロックの再構築を開始可能です。 .Pp .Fl f フラグが指定されると、 .Ic rebuildparity はプレックスの先頭から再構築を開始します。 .Fl v フラグが指定されると、 .Ic rebuildparity はまず既存のパリティブロックをチェックし、 再構築前に、不整合情報を表示します。 .Fl V フラグが指定されると、 .Nm rebuildparity は進捗報告を表示します。 .Pp .It Xo .Ic rename .Op Fl r .Ar [ drive | subdisk | plex | volume ] .Ar newname .Xc 指定したオブジェクトの名前を変更します。 .Fl r オプションが指定されると、下位のオブジェクトがデフォルトの規則に従って命名され ます。プレックスの名前はボリューム名に .Li .p Ns Ar number を付加して作られ、 サブディスクの名前はプレックス名に .Li .s Ns Ar number を付加して作られます。 .\" .It Xo .\" .Ic replace .\" .Ar drive .\" .Ar newdrive .\" .Pp .\" 指定したドライブから新しいドライブへすべてのサブディスクを移動します。 .\" これは回復可能なサブディスクを回復しようとします。そして、回復不可能な .\" サブディスクを最初から作ります。 .\" もし、新しいドライブにこの操作のための容量が不足する時は、できるだけ .\" 多くのサブディスクを新しいドライブ上に組み込み、残りを元のドライブに .\" 残します。 .Pp .It Ic resetconfig .Ic resetconfig コマンドはシステム内の .Nm 設定を完全に削除します。設定を完全に消去したい場合にだけ使って下さい。 .Nm は確認を求めます。 .Li "NO FUTURE" (前途なし) という語句を以下の通りに入力する必要が あります。 .Bd -unfilled -offset indent .No # Nm Ic resetconfig 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 .No "Enter text ->" Sy "NO FUTURE" Vinum configuration obliterated (訳注: ここから上記テキストの翻訳です) 警告! このコマンドはあなたの vinum 設定を完全に消し去ります。 全データは失われます。本当にこれを実行したい場合は、語句 NO FUTURE を入力して下さい。 入力してください -> \f(BINO FUTURE\fP vinum の設定は削除されました。 (訳注: ここまで上記テキストの翻訳です) .Ed .Pp メッセージが示すように、どたん場のコマンドです。 既存の設定をもう見たくもないとき以外は、このコマンドを使わないでください。 .Pp .It Xo .Ic resetstats .Op Fl r .Op Ar volume | plex | subdisk .Xc .Nm は各オブジェクトについて多数の統計カウンタを保持しています。詳細は ヘッダファイル -.Aq Pa sys/dev/vinumvar.h +.In sys/dev/vinumvar.h を参照して下さい。 .\" XXX 仕上がったらここに入れる これらのカウンタをリセットするためには .Ic resetstats コマンドを使って下さい。 .Fl r オプションも共に指定すると、 .Nm は下位のオブジェクトのカウンタもリセットします。 .Pp .It Xo .Ic rm .Op Fl f .Op Fl r .Ar volume | plex | subdisk .Xc .Ic rm はオブジェクトを .Nm 設定から消去します。ひとたびオブジェクトが消去されるとそれを復旧する方法は ありません。通常 .Nm はオブジェクトを消去する前に数多くの一貫性確認を行います。 .Fl f オプションを指定すると、 .Nm はこの確認を省略し、オブジェクトを無条件に消去します。このオプションは細心の 注意を払って使用して下さい。ボリューム上のすべてのデータを失うことも あり得ます。 .Pp 通常、 .Nm は下位にプレックスを持つボリュームや、下位にサブディスクを持つプレックスを 消去することを拒否します。 .Fl f フラグを指定すると、 .Nm は無条件にオブジェクトを消去します。または .Fl r (recursive: 再帰的) フラグを使うことで、同様に下位のオブジェクトを 消去することができます。 .Fl r フラグを付けてボリュームを消去すると、プレックスとそれに属するサブディスクも 消去します。 .Pp .It Ic saveconfig 現在の設定をディスクに保存します。 .Nm は自動的に設定変更を保存するので、通常これは不要です。 起動時にエラーが発生した場合、更新は無効化されます。 .Ic setdaemon コマンドで再度有効化しても、 .Nm は設定を自動的にはディスクへ保存しません。 このコマンドを使用して設定を保存してください。 .\".It Xo .\".Ic set .\".Op Fl f .\".Ar state .\".Ar volume | plex | subdisk | disk .\".Xc .\".Ic set .\"は指定したオブジェクトに、妥当な状態 (下記 .\".Sx オブジェクト状態 .\"参照) のひとつを .\"セットします。 .\"通常、 .\".Nm .\"は変更を加える前に非常に多くの一貫性の調査を実行します。 .\".Fl f .\"オプションを指定すると、 .\".Nm .\"はこの調査を省略し、無条件に変更を行います。このオプションは大いに注意して .\"使って下さい。ボリューム上のすべてのデータを失うこともあり得ます。 .Pp .It Ic setdaemon Op Ar value .Ic setdaemon は .Nm デーモンの変数ビットマスクを設定します。 本コマンドは一時的なものであり、将来置き換えられます。 現在、ビットマスクにはビット 1 (全アクションを syslog へ記録する) と ビット 4 (設定を更新しない) があります。 オプションビット 4 はエラー回復時に有用かもしれません。 .Pp .It Xo .Ic setstate Ar state .Op Ar volume | plex | subdisk | drive .Xc .Ic setstate は、指定したオブジェクトの状態を指定した状態に設定します。 .Nm の通常の一貫性機構はバイパスされます。回復の目的でのみ使用すべきです。 このコマンドを誤って使用すると、システムを破壊する可能性があります。 .Pp .It Xo .Ic start .Op Fl S Ar size .Op Fl w .Op Ar plex | subdisk .Xc .Ic start は 1 つまたはそれ以上の .Nm オブジェクトを起動します ( .Em up 状態に移行させます)。 .Pp オブジェクト名を指定しないと、システムが .Nm ドライブであると知っているディスクを、 .Nm は走査します。その後、 .Ic read コマンドのところに書いてあるように、設定を読み込みます。 .Nm ドライブにはそのドライブ中のデータについてのすべての情報を持つヘッダが 入っており、その情報としてはプレックスとボリュームを表現するために必要な 他のドライブの名前を含んでいます。 .Pp 本コマンド実行時に .Nm がエラーになると、 ディスク上のコピーが壊れないようにするため、自動的な設定更新を無効にします。 これは、ディスク上の設定が、設定エラーを示す (例えば、有効な空間指定を持たないサブディスク) 場合にも同様です。 再度更新をオンにするには、 .Ic setdaemon と .Ic saveconfig のコマンドを使用してください。 デーモンオプションマスクのビット 4 をリセットして、 設定保存を再度有効にしてください。 .Pp オブジェクト名が指定されると、 .Nm はそれらを起動します。 通常、この操作はサブディスクに対してのみ行います。 動作はオブジェクトの現在の状態に依存します: .Bl -bullet .It オブジェクトが既に .Em up 状態の場合、 .Nm はなにもしません。 .It オブジェクトがサブディスクであり、 .Em down または .Em reborn の状態の場合、 .Nm は .Em up 状態に変更します。 .It オブジェクトがサブディスクであり、 .Em empty 状態の場合、変更はサブディスクに依存します。 サブディスクがプレックスの一部であり このプレックスが他のプレックスを含むボリュームの一部である場合、 .Nm はサブディスクを .Em reviving 状態にし、データをボリュームからコピーしようとします。 操作完了時に、サブディスクは .Em up 状態に設定されます。 サブディスクがプレックスの一部であり このプレックスが他のプレックスを含まないボリュームの一部である場合、 またはサブディスクがプレックスの一部ではない場合、 .Nm は即時にサブディスクを .Em up 状態にします。 .It オブジェクトがサブディスクであり、 .Em reviving 状態である場合、 .Nm は 再生 操作をオフラインにて継続します。 操作完了時に、サブディスクは .Em up 状態に設定されます。 .El .Pp サブディスクが .Em up 状態になると、 .Nm は自動的に、 サブディスクが属す可能性のあるプレックスとボリュームの状態をチェックし、 これらの状態を適切に更新します。 .Pp オブジェクトがプレックスの場合、 .Ic start は下位のサブディスクの (ボリュームの場合にはこれに加えてプレックスの) 状態を チェックし、起動可能なサブディスクを起動します。 .Pp マルチプレックスボリュームの中の 1 つのプレックスを起動するには、 ボリューム中の他のプレックスからデータをコピーする必要があります。 これにはしばしば長い時間がかかるため、バックグラウンドで実行されます。 この操作が完了することを待ちたい場合 (例えば、この操作をスクリプト中で実行している場合)、 .Fl w オプションを使用してください。 .Pp データのコピーにはたいして時間がかかりません。それは、さらに重大な負荷を システムにかけ得ます。 .Fl S オプションで転送サイズを、 .Fl i オプションで各ブロックを転送する間隔を (ミリ秒で) 指定可能です。 どちらもシステム負荷を軽減します。 .Pp .It Xo .Ic stop .Op Fl f .Op Ar volume | plex | subdisk .Xc パラメータを指定しないと、 .Ic stop は .Nm kld を削除し、 .Xr vinum 4 を停止します。 活動状態のオブジェクトが存在しない場合のみ、行うことが可能です。 特に、 .Fl f オプションはこの要求に優先しません。 通常、 .Ic stop コマンドは、終了前に現在の設定をディスクへ書き戻します。 設定の更新が無効になっている場合にはこれはできませんので、 設定の更新が無効になっている場合には .Nm は停止しません。 これを上書きするには .Fl f オプションを指定します。 .Pp .Ic stop コマンドは .Nm が kld としてロードされている場合のみ動作します。 静的に構成されたドライバをアンロードすることはできないからです。 .Nm が静的に構成されている場合、 .Nm Ic stop は失敗します。 .Pp オブジェクト名が指定されると、 .Ic stop はそのオブジェクトへのアクセスを無効化します。 オブジェクトに下位オブジェクトがある場合、 それらのサブオブジェクトは既に非活動状態 (stop また error) となっているか、 .Fl r と .Fl f のオプションが指定されていることが必要です。 このコマンドは、オブジェクトを設定から取り除きません。 .Ic start コマンドの後で再度アクセスができるようになります。 .Pp デフォルトでは .Nm は動作中のオブジェクトは停止しません。例えば、動作中のボリュームに結合 されているプレックスは停止できないし、オープン中のボリュームは停止できません。 .Fl f オプションは .Nm にこの確認を省略して無条件に削除するよう指示します。このオプションは 大いに注意し、よく理解した上で使って下さい。もし間違って使うとひどい データ破壊を起こすことがあります。 .Pp .It Xo .Ic stripe .Op Fl f .Op Fl n Ar name .Op Fl v .Ar drives .Xc .Ic stripe コマンドは、単一のストライプ化プレックスからなるボリュームを作成する .Ic create コマンドの、単純な代替手段です。 サブディスクの大きさは、 全ドライブで利用可能な最大の連続空間の大きさです。 ストライプの大きさは 279 kB に固定されています。 .Pp 通常、 .Ic stripe コマンドは任意の名前をボリュームと構成要素に付けます。 名前はテキスト .Dq Li vinum および小さな整数からなり、例えば .Dq Li vinum3 となります。 ボリュームに対して指定した名前を割り当てる .Fl n Ar name オプションで、上書きすることが可能です。 プレックスとサブディスクの名前は、通常の作法で、ボリューム名からとられます。 .Pp ドライブの名前には選択の余地はありません。 ドライブが既に .Nm ドライブとして初期化されていた場合、名前はそのままになります。 そうでない場合、ドライブにはテキスト .Dq Li vinumdrive と小さな整数から始まる名前が与えられ、例えば .Dq Li vinumdrive7 となります。 .Ic create コマンドと同様、 .Fl f オプションを使用して、以前の名前の上書きを指定可能です。 .Fl v オプションは、冗長な出力のために使用します。 .Pp このコマンドの例は、後述の .Sx 単純な設定 の節を参照してください。 .El .Sh 単純な設定 この節では、 .Ic concat , .Ic mirror , .Ic stripe コマンドを使用する、 .Nm 設定の単純なインタフェースを説明します。 これらのコマンドは、大概の通常状況では便利な設定を作成しますが、 .Ic create コマンド程の柔軟性はありません。 .Pp コマンドの解説は前述を参照してください。 ここでは例を示します。どれも同じディスクを使用しています。 最初のドライブ .Pa /dev/da1h は他のドライブよりも小さいことに注意してください。 各サブディスクの大きさに影響があります。 .Pp 次に示す例ではすべて .Fl v オプションを使用することにより、システムに渡すコマンドを見せ、 ボリュームの構造を列挙します。 .Fl v オプションを使用しないと、これらのコマンドは何も出力しません。 .Ss 単一コンカチネート化プレックスのボリューム 単一コンカチネート化プレックスのボリュームを使用し、 最大のストレージ容量を得ます。 ただし、ドライブ故障への耐性はありません。 .Bd -literal vinum -> concat -v /dev/da1h /dev/da2h /dev/da3h /dev/da4h volume vinum0 plex name vinum0.p0 org concat drive vinumdrive0 device /dev/da1h sd name vinum0.p0.s0 drive vinumdrive0 size 0 drive vinumdrive1 device /dev/da2h sd name vinum0.p0.s1 drive vinumdrive1 size 0 drive vinumdrive2 device /dev/da3h sd name vinum0.p0.s2 drive vinumdrive2 size 0 drive vinumdrive3 device /dev/da4h sd name vinum0.p0.s3 drive vinumdrive3 size 0 V vinum0 State: up Plexes: 1 Size: 2134 MB P vinum0.p0 C State: up Subdisks: 4 Size: 2134 MB S vinum0.p0.s0 State: up D: vinumdrive0 Size: 414 MB S vinum0.p0.s1 State: up D: vinumdrive1 Size: 573 MB S vinum0.p0.s2 State: up D: vinumdrive2 Size: 573 MB S vinum0.p0.s3 State: up D: vinumdrive3 Size: 573 MB .Ed .Pp この場合、4 ディスクすべての空間を使用し、 ボリュームの大きさは 2134 MB になります。 .Ss 単一ストライプ化プレックスのボリューム 単一ストライプ化プレックスのボリュームは コンカチネート化プレックスよりも性能が良いかもしれません。 しかし、ストライプ化プレックスの制約により、 ボリュームは小さいかもしれません。 これもまたドライブ故障の耐性はありません。 .Bd -literal vinum -> stripe -v /dev/da1h /dev/da2h /dev/da3h /dev/da4h drive vinumdrive0 device /dev/da1h drive vinumdrive1 device /dev/da2h drive vinumdrive2 device /dev/da3h drive vinumdrive3 device /dev/da4h volume vinum0 plex name vinum0.p0 org striped 279k sd name vinum0.p0.s0 drive vinumdrive0 size 849825b sd name vinum0.p0.s1 drive vinumdrive1 size 849825b sd name vinum0.p0.s2 drive vinumdrive2 size 849825b sd name vinum0.p0.s3 drive vinumdrive3 size 849825b V vinum0 State: up Plexes: 1 Size: 1659 MB P vinum0.p0 S State: up Subdisks: 4 Size: 1659 MB S vinum0.p0.s0 State: up D: vinumdrive0 Size: 414 MB S vinum0.p0.s1 State: up D: vinumdrive1 Size: 414 MB S vinum0.p0.s2 State: up D: vinumdrive2 Size: 414 MB S vinum0.p0.s3 State: up D: vinumdrive3 Size: 414 MB .Ed .Pp この場合、サブディスクの大きさは利用できるディスクの最小に制限され、 ボリュームの大きさは 1659 MB になります。 .Ss 2 つのコンカチネート化プレックスのミラー化ボリューム 信頼性を向上するため、ミラー化およびボリューム化を使用します: .Bd -literal vinum -> mirror -v -n mirror /dev/da1h /dev/da2h /dev/da3h /dev/da4h drive vinumdrive0 device /dev/da1h drive vinumdrive1 device /dev/da2h drive vinumdrive2 device /dev/da3h drive vinumdrive3 device /dev/da4h volume mirror setupstate plex name mirror.p0 org concat sd name mirror.p0.s0 drive vinumdrive0 size 0b sd name mirror.p0.s1 drive vinumdrive2 size 0b plex name mirror.p1 org concat sd name mirror.p1.s0 drive vinumdrive1 size 0b sd name mirror.p1.s1 drive vinumdrive3 size 0b V mirror State: up Plexes: 2 Size: 1146 MB P mirror.p0 C State: up Subdisks: 2 Size: 988 MB P mirror.p1 C State: up Subdisks: 2 Size: 1146 MB S vinum0.p0.s0 State: up D: vinumdrive0 Size: 414 MB S vinum0.p0.s2 State: up D: vinumdrive2 Size: 414 MB S vinum0.p0.s1 State: up D: vinumdrive1 Size: 414 MB S vinum0.p0.s3 State: up D: vinumdrive3 Size: 414 MB .Ed .Pp この例ではボリューム名を .Ar mirror と指定しています。 1 つのドライブの大きさが他のドライブよりも小さいため、 2 つのプレックスの大きさは異なり、 ボリュームの最後の 158 MB には耐性がありません。 このような状況で完全な信頼性を保証するためには、 .Ic create コマンドを使用して 988 MB のボリュームを作成します。 .Ss 2 つのストライプ化プレックスのミラー化ボリューム 今度は、2 つのストライプ化プレックスのミラー化ボリュームを作成するために .Fl s オプションを使用します: .Bd -literal vinum -> mirror -v -n raid10 -s /dev/da1h /dev/da2h /dev/da3h /dev/da4h drive vinumdrive0 device /dev/da1h drive vinumdrive1 device /dev/da2h drive vinumdrive2 device /dev/da3h drive vinumdrive3 device /dev/da4h volume raid10 setupstate plex name raid10.p0 org striped 279k sd name raid10.p0.s0 drive vinumdrive0 size 849825b sd name raid10.p0.s1 drive vinumdrive2 size 849825b plex name raid10.p1 org striped 279k sd name raid10.p1.s0 drive vinumdrive1 size 1173665b sd name raid10.p1.s1 drive vinumdrive3 size 1173665b V raid10 State: up Plexes: 2 Size: 1146 MB P raid10.p0 S State: up Subdisks: 2 Size: 829 MB P raid10.p1 S State: up Subdisks: 2 Size: 1146 MB S raid10.p0.s0 State: up PO: 0 B Size: 414 MB S raid10.p0.s1 State: up PO: 279 kB Size: 414 MB S raid10.p1.s0 State: up PO: 0 B Size: 573 MB S raid10.p1.s1 State: up PO: 279 kB Size: 573 MB .Ed .Pp この場合、使用可能なボリュームはより小さくなります。 なぜなら、最小のドライブに適合するように、 第 1 プレックスが小さくなったためです。 .Sh 設定ファイル .Nm ユーティリティでは、 .Ic create コマンドに渡すすべての引数は設定ファイルに入っている必要があります。 設定ファイルのエントリは、ボリュームやプレックスやサブディスクを定義します。 エントリは 1 行に 1 つということ以外には決まった書式はありません。 .Ss スケールファクタ これらの値は、バイトで指定しても良いですし、 次のスケールファクタのいずれか 1 つを後に付けても良いです: .Bl -tag -width indent .It s 値が 512 バイトのセクタ数であることを示します。 .It k 値がキロバイト数であることを示します (1024 バイト)。 .It m 値がメガバイト数であることを示します (1048576 バイト)。 .It g 値がギガバイト数であることを示します (1073741824 バイト)。 .It b .Tn VERITAS との互換性のために使用します。 これは、512 バイトのブロック数を意味します。 .Dq ブロック という語を別の意味で使用していますので、 この短縮形は混乱させるものです。 この短縮形の価値は低下しています。 代りにキーワード 's' を使用してください。 .El .Pp 例えば、16777216 バイトという値は、 .Em 16m , .Em 16384k , .Em 32768s のいずれの表記も可能です。 .Pp 設定ファイルには以下のエントリを記述することができます。 .Pp .Bl -tag -width 4n .It Ic drive Ar name devicename Op Ar options ドライブを定義します。オプションは次の通りです: .Bl -tag -width 18n .It Cm device Ar devicename ドライブが乗るデバイスを指定します。 .Ar devicename は、例えば .Pa /dev/da1e や .Pa /dev/ad3s2h といったパーティションである必要があり、タイプ .Em vinum である必要があります。 .Dq Li c パーティションを使用してはなりません。 これはディスク全体のために予約されているからです。 .It Cm hotspare ドライブを .Dq ホットスペア ドライブであると定義します。 これは、故障したドライブと自動的に交換するために管理されます。 .Nm ユーティリティはこのドライブを他の用途に使用することを許しません。 特に、サブディスクをこの上に作成できません。 この機能はまだ完全には実装されていません。 .El .It Ic volume Ar name Op Ar options .Ar name という名前でボリュームを定義します。 オプションには次のものがあります。 .Bl -tag -width 18n .It Cm plex Ar plexname 指定したプレックスをボリュームに追加します。 .Ar plexname が .Cm * として指定されると、 .Nm は設定ファイル中のボリューム定義の後で、次の妥当なエントリとなり得るプレックス の定義を捜します。 .It Cm readpol Ar policy ボリュームの .Em read policy (読み込み方針) を定義します。 .Ar policy は .Cm round か .Cm prefer Ar plexname のどちらかです。 .Nm ユーティリティは読み込み要求を、ただ 1 つのプレックスによって満たします。 .Cm round 読み込み方針は、読み込みを別々のプレックスから .Em ラウンドロビン 方式で 行うように指定します。 .Ar prefer 読み込み方針では、指定したプレックスから毎回読み込みを行います。 .It Cm setupstate マルチプレックスボリュームを作成する際に、すべてのプレックスの内容に一貫性が あると仮定します。通常こうなることはないため、デフォルトでは、 最初のプレックスを除いたすべてのプレックスを .Em faulty 状態に設定します。 .Ic start コマンドを使って、最初に一貫性のある状態にする必要があります。しかし ストライプ化プレックスとコンカチネート化プレックスの場合には、普通は一貫性が ないままでも問題にはなりません。ボリュームをファイルシステムや スワップパーティションとして使う場合にはディスク上の以前の内容は どうでもよいため、それは無視されます。この危険を受け入れる場合には、 .Cm setupstate キーワードを使って下さい。 設定ファイル中でボリュームの直後で定義されるプレックスに対してのみ 適用されます。 後でプレックスをボリュームに追加する場合には、 これらのプレックスを .Ic start コマンドで統合する必要があります。 .Pp RAID-5 プレックスには .Ic init を使うことが .Em 必要 なことに注意して下さい。さもないと 1 つのサブディスクに障害が起きた時、大きくデータが破壊されます。 .El .It Ic plex Op Ar options プレックスを定義します。ボリュームとは違い、名前の指定は不要です。 オプションには次のものを指定可能です: .Bl -tag -width 18n .It Cm name Ar plexname プレックスの名前を指定します。プレックスやサブディスクに名前をつける場合には .Cm name キーワードが必要になることに注意して下さい。 .It Cm org Ar organization Op Ar stripesize プレックスの編成を指定します。 .Ar organization は .Cm concat か .Cm striped か .Cm raid5 のいずれかです。 .Cm striped と .Cm raid5 のプレックスに対しては .Ar stripesize 引数を指定する必要がありますが、 .Cm concat のプレックスに対しては省略する必要があります。 .Ar striped タイプについては各ストライプの幅を指定します。 .Ar raid5 については、グループの大きさを指定します。 グループとはプレックスの一部分であり、 同じサブディスクに入っているすべてのデータのパリティが入っています。 それはプレックスの大きさの約数である必要があり (つまり、プレックスの大きさをストライプの大きさで割ったものは 整数である必要があり)、 ディスクセクタ長 (512バイト) の倍数である必要があります。 .Pp 最適な性能のためには、ストライプの大きさは少なくとも 128kB であるべきです。 これより小さくすると、 個々のリクエストが複数のディスクに対して割り当てられることにより、 I/O のアクティビティが非常に増加します。 本マッピングによる並行転送数増加に起因する性能向上は、 レイテンシ増加に起因する性能劣化を引き起しません。 ストライプの大きさの目安は、256 kB から 512 kB の間です。 2 の羃乗は避けるべきです。 2 の羃乗を使用すると、すべてのスーパブロックを 最初のサブディスクに置く傾向があるからです。 単純なコマンドでは、ストライプの大きさに 279 kB を使用するため、 スーパブロックが適度に分散されます。 .Pp ストライプ化プレックスは最低 2 つのサブディスクを持つ必要がありますし (そうでないとコンカチネート化プレックスになります)、 それぞれは同じ大きさである必要があります。 RAID-5 プレックスは最低 3 つのサブディスクを持つ必要があり、 それぞれは同じ大きさである必要があります。 実際には RAID-5 プレックスは最低 5 つのサブディスクから構成されるべきです。 .It Cm volume Ar volname プレックスを、指定したボリュームに追加します。 .Cm volume キーワードが指定されないと、プレックスは設定ファイル中の最後に記述された ボリュームに追加されます。 .It Cm sd Ar sdname offset 指定したサブディスクをプレックスの .Ar offset の位置に追加します。 .El .It Ic subdisk Op Ar options サブディスクを定義します。オプションには次のものを指定可能です: .Bl -hang -width 18n .It Cm name Ar name サブディスクの名前を指定します。これは必ずしも指定する必要は ありません。 上記の .Sx オブジェクトの命名 を参照してください。 サブディスクに名前をつける場合には .Cm name キーワードを指定する必要があることに注意して下さい。 .It Cm plexoffset Ar offset プレックス内のサブディスクの始点を指定します。指定がないと、 .Nm はすでにサブディスクがあればその直後の領域を割り当て、なければ プレックスの先頭から割り当てます。 .It Cm driveoffset Ar offset ドライブ内のサブディスクの始点を指定します。指定がないと、 .Nm はドライブ中で最初の .Ar length バイト連続の空き領域を割り当てます。 .It Cm length Ar length サブディスクの大きさを指定します。このキーワードは必須です。 デフォルト値はありません。 値 0 を指定すると、 .Dq ドライブ上で最大限利用可能な連続空き領域を使用 という意味になります。 ドライブが空の場合、サブディスクとしてドライブ全体を使用することを意味します。 .Cm length は .Cm len と短縮することもできます。 .It Cm plex Ar plex サブディスクが属すプレックスを指定します。デフォルトでは、サブディスクは 最後に記述されたプレックスに属します。 .It Cm drive Ar drive サブディスクが乗るドライブを指定します。デフォルトでは最後に記述された ドライブ上に位置します。 .It Cm retryerrors 回復不能エラーが発生しても、サブディスクがダウンとみなさないように指定します。 通常、 .Nm は、回復不能エラーが発生すると、サブディスク全体をアクセス不能とします。 .El .El .Sh 設定ファイル例 .Bd -literal # vinum 設定ファイル例 # # ドライブ drive drive1 device /dev/da1h drive drive2 device /dev/da2h drive drive3 device /dev/da3h drive drive4 device /dev/da4h drive drive5 device /dev/da5h drive drive6 device /dev/da6h # 1 つのストライプ化プレックスをもつボリューム volume tinyvol plex org striped 279k sd length 64m drive drive2 sd length 64m drive drive4 volume stripe plex org striped 279k 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 279k 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 491k sd length 1000m drive drive2 sd length 1000m drive drive4 plex org raid5 273k sd length 500m drive drive1 sd length 500m drive drive2 sd length 500m drive drive3 sd length 500m drive drive4 sd length 500m drive drive5 .Ed .Sh ドライブレイアウト上の考慮点 現在、 .Nm ドライブは .Bx ディスクパーティションです。それは 他の用途で使用されているデータの上書きを避けるために .Em vinum タイプである必要があります。 .Nm disklabel Fl e を使用して、パーティションタイプ定義を編集してください。 次の表示は、 .Xr disklabel 8 が示す典型的なパーティションレイアウトです: .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 vinum 0 0 0 # (Cyl. 1626*- 2955*) .Ed .Pp この例では、パーティション .Dq Li g を .Nm パーティションとして使用可能です。パーティション .Dq Li a , .Dq Li e , .Dq Li f は、 .Em UFS ファイルシステムまたは .Em ccd パーティションとして使用可能です。パーティション .Dq Li b はスワップパーティションであり、パーティション .Dq Li c はディスク全体を表現するため他の用途に使用できません。 .Pp .Nm ユーティリティは各パーティションの先頭から 265 セクタを設定情報に使用するため、 サブディスクの最大の大きさはドライブよりも 265 セクタ小さくなります。 .Sh ログファイル .Nm ユーティリティはログファイルを管理します。 ログファイルは、デフォルトでは .Pa /var/log/vinum_history であり、 .Nm に対して発行したコマンドの履歴を保持します。 環境変数 .Ev VINUM_HISTORY をファイルの名前に設定することにより、 このファイルの名前をオーバライド可能です。 .Pp ログファイル中のメッセージの前には日付が付きます。 デフォルトの書式は .Qq Li %e %b %Y %H:%M:%S です。書式の文字列に関するさらなる詳細については .Xr strftime 3 を参照してください。 これは環境変数 .Ev VINUM_DATEFORMAT でオーバライド可能です。 .Sh VINUM 設定法 本節では、 .Nm システムの実装方法に関する、現実的なアドバイスを行います。 .Ss データを何処に置くか まず決定が必要な選択は、データを何処に置くかです。 .Nm 専用のディスクパーティションが必要です。 これらは、デバイスやパーティション .Dq Li c ではなく、パーティションであるべきです。 例えば、適切な名前とは、 .Pa /dev/da0e や .Pa /dev/ad3s4a です。 不適切な名前とは、パーティションではなくデバイスを表現する .Pa /dev/da0 , .Pa /dev/da0s1 や、ディスク全体を表現しタイプ .Em unused であるべき .Pa /dev/ad1c です。 前述の、 .Sx ドライブレイアウト上の考察点 下にある使用例を参照してください。 .Ss ボリュームのデザイン .Nm ボリュームの設定方法は、あなたの意図に依存します。 次のように多くの可能性があります: .Bl -enum .It 多くの小さなディスクを結合して、 適切な大きさのファイルシステムを作成したいと考えるかもしれません。 例えば、小さなディスクを 5 個持っていて、 全空間を単一ボリュームとして使用したい場合、次のような設定ファイルを書きます: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e drive d4 device /dev/da5e drive d5 device /dev/da6e volume bigger plex org concat sd length 0 drive d1 sd length 0 drive d2 sd length 0 drive d3 sd length 0 drive d4 sd length 0 drive d5 .Ed .Pp この場合、サブディスクの長さを 0 と指定します。 これは、 .Dq ドライブ上にある空き空間のうち、最大領域を使用する ことを意味します。 指定するサブディスクが、ドライブ上の唯一のサブディスクである場合、 このサブディスクは使用可能な空間全体を使用します。 .It ディスク故障に対する追加の回復力 (レジリエンス; resilience) を .Nm に与えたい場合を考えます。 選択肢としては、 .Dq ミラーリング とも呼ばれる RAID-1 か、 .Dq パリティ とも呼ばれる RAID-5 があります。 .Pp ミラーリングの設定のためには、 単一ボリュームの中に複数のプレックスを作成する必要があります。 例えば、 2 GB のミラー化ボリュームを作成するには、 次のような設定ファイルを作成します: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e volume mirror plex org concat sd length 2g drive d1 plex org concat sd length 2g drive d2 .Ed .Pp ミラー化ドライブを作成するときには、 各プレックスからのデータが、 違う物理ディスク上にあることを保証することが重要です。 これにより、単一ドライブ故障においても、 .Nm はボリュームの完全なアドレス空間にアクセス可能となります。 各プレックスが、 完全なボリュームと同じだけのデータを必要とすることに注意してください: この例では、ボリュームは 2 GB の大きさですが、各プレックス (と各サブディスク) は 2 GB を必要としますので、全体のディスクストレージ要求は 4 GB となります。 .Pp RAID-5 の設定をするには、タイプ .Cm raid5 の単一プレックスを作成します。 例えば、回復力を持つ 2 GB に相当するボリュームを作成するには、 次のような設定ファイルを使用します: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e drive d4 device /dev/da5e drive d5 device /dev/da6e volume raid plex org raid5 433k sd length 512m drive d1 sd length 512m drive d2 sd length 512m drive d3 sd length 512m drive d4 sd length 512m drive d5 .Ed .Pp RAID-5 プレックスは、最低 3 個のサブディスクを必要とします。 これらのうち 1 個には、パリティ情報を格納するので、 データストレージとしては使用しません。 より多くのディスクを使用すると、 より多くの割合のディスクストレージを、 データストレージとして使用可能となります。 この例では、総ストレージ使用量は 2.5 GB です。 これに対し、ミラー設定での総ストレージ使用量は 4 GB です。 最小の 3 個のディスクだけを使用する場合、 情報格納のために次のように 3 GB を必要とします: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e volume raid plex org raid5 433k sd length 1g drive d1 sd length 1g drive d2 sd length 1g drive d3 .Ed .Pp ミラー化ドライブを作成するときには、 各サブディスクからのデータが、 違う物理ディスク上にあることを保証することが重要です。 これにより、単一ドライブ故障においても、 .Nm はボリュームの完全なアドレス空間にアクセス可能となります。 .It また、 .Nm の設定により、 ファイルシステムへのアクセスの並行性を増したいと考えるかもしれません。 多くの場合、単一のファイルシステムへのアクセスは、 ディスク速度により制限されます。 ボリュームを複数のディスクに分散することにより、 複数アクセス環境でのスループットを増すことが可能です。 この技術は、単一アクセス環境では、 ほとんど効果がないかまったく効果がありません。 .Nm ユーティリティは .Dq ストライピング または RAID-0 とも呼ばれる技術を使用し、アクセスの並行性を増します。 RAID-0 という名称は誤解を生じさせるものです: なぜなら、ストライピングは冗長性も更なる信頼性も提供しないからです。 実際、信頼性は低下します。 なぜなら、単一ディスクの故障はボリュームを使用不可とし、 多くのディスクを使うほどこれらのうち 1 個が故障する確率は増加するからです。 .Pp ストライピングの実装のためには、 .Cm striped (ストライプ化) プレックスを使用します: .Bd -literal -offset indent drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e drive d4 device /dev/da5e volume raid plex org striped 433k sd length 512m drive d1 sd length 512m drive d2 sd length 512m drive d3 sd length 512m drive d4 .Ed .Pp ストライプ化プレックスの最低サブディスク数は 2 個です。 多くのディスクを使用するほど、性能が向上します。 .It 両方の最良点を得ることにより、回復力と性能の両方を得ることを考えます。 これは、RAID-10 (RAID-1 と RAID-0 の組み合わせ) と呼ばれることがあります。 この名称もまた誤解を生じさせるものです。 .Nm では、次のような設定ファイルを使用可能です: .Bd -literal -offset 4n drive d1 device /dev/da2e drive d2 device /dev/da3e drive d3 device /dev/da4e drive d4 device /dev/da5e volume raid setupstate plex org striped 433k sd length 512m drive d1 sd length 512m drive d2 sd length 512m drive d3 sd length 512m drive d4 plex org striped 433k sd length 512m drive d4 sd length 512m drive d3 sd length 512m drive d2 sd length 512m drive d1 .Ed .Pp ここでは、プレックスはストライプ化され、性能を向上しています。 そして、このようなプレックスが 2 個あり、回復力を向上しています。 この例で、2 番目のプレックスのサブディスクの順番が、 1 番目のプレックスの逆になっていることに注意してください。 これは性能のためであり、後で議論します。 更に、ボリューム指定にキーワード .Cm setupstate を含み、全プレックスが作成後に .Em up となることを保証しています。 .El .Ss ボリュームの作成 ひとたび設定ファイルを作成した後は、 .Nm を起動し、ボリュームを作成します。 この例では、設定ファイルは .Pa configfile です: .Bd -literal -offset 2n # vinum create -v configfile 1: drive d1 device /dev/da2e 2: drive d2 device /dev/da3e 3: volume mirror 4: plex org concat 5: sd length 2g drive d1 6: plex org concat 7: sd length 2g drive d2 Configuration summary Drives: 2 (4 configured) Volumes: 1 (4 configured) Plexes: 2 (8 configured) Subdisks: 2 (16 configured) Drive d1: Device /dev/da2e Created on vinum.lemis.com at Tue Mar 23 12:30:31 1999 Config last updated Tue Mar 23 14:30:32 1999 Size: 60105216000 bytes (57320 MB) Used: 2147619328 bytes (2048 MB) Available: 57957596672 bytes (55272 MB) State: up Last error: none Drive d2: Device /dev/da3e Created on vinum.lemis.com at Tue Mar 23 12:30:32 1999 Config last updated Tue Mar 23 14:30:33 1999 Size: 60105216000 bytes (57320 MB) Used: 2147619328 bytes (2048 MB) Available: 57957596672 bytes (55272 MB) State: up Last error: none Volume mirror: Size: 2147483648 bytes (2048 MB) State: up Flags: 2 plexes Read policy: round robin Plex mirror.p0: Size: 2147483648 bytes (2048 MB) Subdisks: 1 State: up Organization: concat Part of volume mirror Plex mirror.p1: Size: 2147483648 bytes (2048 MB) Subdisks: 1 State: up Organization: concat Part of volume mirror Subdisk mirror.p0.s0: Size: 2147483648 bytes (2048 MB) State: up Plex mirror.p0 at offset 0 Subdisk mirror.p1.s0: Size: 2147483648 bytes (2048 MB) State: up Plex mirror.p1 at offset 0 .Ed .Pp .Fl v フラグは、設定に従ってファイルをリストするよう、 .Nm に指示します。その後、 .Ic list Fl v コマンドと同じ書式で、現在の設定をリストします。 .Ss より多くのボリュームを作成する ひとたび .Nm ボリュームを作成した後は、 .Nm はこれらの情報を内部の設定ファイルにて管理します。 再度作成する必要はありません。 特に、 .Ic create コマンドを再実行すると、追加のオブジェクトを作ることになります: .Bd -literal # vinum create sampleconfig Configuration summary Drives: 2 (4 configured) Volumes: 1 (4 configured) Plexes: 4 (8 configured) Subdisks: 4 (16 configured) D d1 State: up Device /dev/da2e Avail: 53224/57320 MB (92%) D d2 State: up Device /dev/da3e Avail: 53224/57320 MB (92%) V mirror State: up Plexes: 4 Size: 2048 MB P mirror.p0 C State: up Subdisks: 1 Size: 2048 MB P mirror.p1 C State: up Subdisks: 1 Size: 2048 MB P mirror.p2 C State: up Subdisks: 1 Size: 2048 MB P mirror.p3 C State: up Subdisks: 1 Size: 2048 MB S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB .Ed .Pp この例では (今回は .Fl f フラグを付けています)、 .Ic create の再実行により 4 個の新規プレックスを作成し、 それぞれが新規サブディスクを持ちます。 他のボリュームを追加したい場合、これらのための新規設定ファイルを作成します。 .Nm が既に知っているドライブを参照する必要はありません。 例えば、ボリューム .Pa raid を 4 個のディスク .Pa /dev/da1e , .Pa /dev/da2e , .Pa /dev/da3e , .Pa /dev/da4e 上に作成するには、他の 2 個についてのみ記述するだけで良いです: .Bd -literal -offset indent drive d3 device /dev/da1e drive d4 device /dev/da4e volume raid plex org raid5 433k sd size 2g drive d1 sd size 2g drive d2 sd size 2g drive d3 sd size 2g drive d4 .Ed .Pp この設定ファイルでは、次のようになります: .Bd -literal # vinum create newconfig Configuration summary Drives: 4 (4 configured) Volumes: 2 (4 configured) Plexes: 5 (8 configured) Subdisks: 8 (16 configured) D d1 State: up Device /dev/da2e Avail: 51176/57320 MB (89%) D d2 State: up Device /dev/da3e Avail: 53220/57320 MB (89%) D d3 State: up Device /dev/da1e Avail: 53224/57320 MB (92%) D d4 State: up Device /dev/da4e Avail: 53224/57320 MB (92%) V mirror State: down Plexes: 4 Size: 2048 MB V raid State: down Plexes: 1 Size: 6144 MB P mirror.p0 C State: init Subdisks: 1 Size: 2048 MB P mirror.p1 C State: init Subdisks: 1 Size: 2048 MB P mirror.p2 C State: init Subdisks: 1 Size: 2048 MB P mirror.p3 C State: init Subdisks: 1 Size: 2048 MB P raid.p0 R5 State: init Subdisks: 4 Size: 6144 MB S mirror.p0.s0 State: up PO: 0 B Size: 2048 MB S mirror.p1.s0 State: up PO: 0 B Size: 2048 MB S mirror.p2.s0 State: up PO: 0 B Size: 2048 MB S mirror.p3.s0 State: up PO: 0 B Size: 2048 MB S raid.p0.s0 State: empty PO: 0 B Size: 2048 MB S raid.p0.s1 State: empty PO: 433 kB Size: 2048 MB S raid.p0.s2 State: empty PO: 866 kB Size: 2048 MB S raid.p0.s3 State: empty PO: 1299 kB Size: 2048 MB .Ed .Pp RAID-5 プレックスの大きさに注意してください: 6 GB しかありませんが、 これを構成するためにディスク空間を 8 GB 使用しています。 これは、サブディスク 1 個分相当をパリティデータ格納に使用しているからです。 .Ss Vinum の再起動 システムのリブート時に、 .Ic start コマンドで .Nm を起動します: .Pp .Dl "# vinum start" .Pp これにより、システム中の全 .Nm ドライブが起動します。 なんらかの理由で一部のドライブのみを起動したい場合、 .Ic read コマンドを使用してください。 .Ss 性能関連 最高性能の RAID アレイ設定に関する、多くの誤った考えが存在しています。 特に、ほとんどのシステムで使用しているストライプの大きさは、小さ過ぎます。 以降の議論は、 .Nm だけでなく、全 RAID システムにあてはまります。 .Pp .Fx のブロック I/O システムは、.5 kB から 128 kB までの要求を発行します; .\" mix = workload mix ? 典型的なミックスでは、ほぼ 8 kB です。 どんなストライピングシステムにおいても、 ある要求が 2 個の物理要求に分割されることを避けることはできませんし、 ストライプを十分細かくするならばより多くに分割されてしまいます。 これにより、甚大な性能劣化となります: ディスクあたりの転送時間の削減は、 より大きなオーダで増加するレイテンシによって相殺されてしまいます。 .Pp 最近のディスクの大きさと .Fx のブロック I/O システムでは、 ストライプの大きさを 256 kB から 512 kB にすると、 適度に少数な要求に分割されることを期待できます; 正しい RAID の実装では、 大きなディスクでのストライプの大きさを 2 または 4 MB に増さない 明確な理由はありません。 .Pp ストライプサイズを選択するときには、 最新の UFS ファイルシステムのシリンダグループの大きさは 32 MB であることを 認識していてください。 ストライプサイズとディスク数が共に 2 の累乗の場合、 すべてのスーパブロックと inode が同一のサブディスクに置かれる可能性があります。 これは、性能に重大な影響を与えます。 代りに奇数、例えば 479 kB を選択してください。 .Pp 複数アクセスシステムでの転送のインパクトを考えるためのもっとも容易な方法は、 潜在的なボトルネック、すなわちディスクサブシステムの観点から見ることです: つまり、転送に要するディスク時間の総計はいくらか?です。 ほとんどすべてがキャッシュされているので、 要求と完了との時間的な関係はそれほど重要ではありません: 重要なパラメータは、要求がディスクを活動状態にする総時間であり、 この間ディスクは他の転送ができなくなります。 この結果、転送が同時に発生しても違う時に発生しても、 実際には問題とはなりません。 実際的には、我々が見ている時間は、レイテンシの総和 (位置決定時間と回転遅延、 言い替えるとデータがディスクヘッド下に来るまでの時間) と総転送時間です。 同じ速度のディスクへの転送においては、 転送時間は転送の大きさの合計のみに依存します。 .Pp 24 kB の典型的なニュースの記事やウェブページを考えると、 これは 1 回の I/O で読み込めます。 ディスクが転送レート 6 MB/s で平均位置決定時間 8 ms であり、 ファイルシステムを 4 kB ブロックであるとします。 24 kB ですから、断片化を考慮する必要はなく、 ファイルは 4 kB 境界から開始します。 必要な転送回数はブロック開始位置に依存します: 式は (S + F - 1) / S となり、 S はファイルシステムブロック数でのストライプの大きさ、 F はファイルシステムブロック数でのファイルの大きさです。 .Bl -enum .It ストライプの大きさは 4 kB。転送回数は 6 回。 サブシステムの負荷: レイテンシ 48 ms、転送 2 ms、合計 50 ms。 .It ストライプの大きさは 8 kB。転送回数は 3.5 回。 サブシステムの負荷: レイテンシ 28 ms、転送 2 ms、合計 30 ms。 .It ストライプの大きさは 16 kB。転送回数は 2.25 回。 サブシステムの負荷: レイテンシ 18 ms、転送 2 ms、合計 20 ms。 .It ストライプの大きさは 256 kB。平均転送回数は 1.08 回。 サブシステムの負荷: レイテンシ 8.6 ms、転送 2 ms、合計 10.6 ms。 .It ストライプの大きさは 4 MB。平均転送回数は 1.0009 回。 サブシステムの負荷: レイテンシ 8.01 ms、転送 2 ms、合計 10.01 ms。 .El .Pp ハードウェア RAID システムによっては、 大きなストライプでは問題があるものがあるようです: このようなシステムでは完全なストライプを常にディスクとの間で転送するようで、 大きなストライプは性能に逆効果となります。 .Nm ユーティリティではこの問題の被害を受けません: すべてのディスク転送を最適化し、不要なデータを転送しないからです。 .Pp 良く知られたベンチマークプログラムで真の複数アクセス状態 (100 を越える同時ユーザ) をテストするものはないので、 この主張の正しさを証明することは困難であることに注意してください。 .Pp これらのことを考えると、次の事項が .Nm ボリュームの性能に影響します: .Bl -bullet .It ストライピングは、複数アクセスのみの性能を向上します。 各要求が違うディスク上にある確率が増加するからです。 .It 複数ドライブにまたがるコンカチネート化 UFS ファイルシステムもまた、 複数ファイルアクセスの性能を向上します。 UFS は、ファイルシステムをシリンダグループに分割し、 ファイルを単一のシリンダグループに置こうとするからです。 一般的に、ストライピングほどは効果がありません。 .It ミラーリングは、読み込み複数アクセスの性能を向上可能です。 デフォルトでは .Nm は、連続する複数の読み込みを、 連続する複数のプレックスに対して発行するからです。 .It ミラーリングは、複数アクセスか単一アクセスかに関わらず、 すべての書き込みの性能を劣化させます。 両方のプレックスに対し、データを書き込む必要があるからです。 これが、前述のミラーリング設定におけるサブディスクのレイアウトの説明です: 各プレックス中の対応するサブディスクが別の物理ディスクにある場合、 書き込みコマンドは並列に発行可能です。 しかし、同じ物理ディスクにある場合、逐次的に実行されてしまいます。 .It RAID-5 の読み込みは、 ストライプ化の読み込みと本質的に同じ考慮すべき点があります。 ただし、ストライプ化プレックスがミラー化ボリュームの一部である場合を除きます。 この場合、ミラー化ボリュームの方が性能が良くなります。 .It RAID-5 の書き込みは、ストライプ化の書き込みの約 25% の速度です: 書き込みを行うには、 .Nm はまずデータブロックと対応するパリティブロックを読み込み、 いくばくかの計算を行い、 パリティブロックとデータブロックを書き戻す必要がありますので、 ストライプ化プレックスに対する書き込みの 4 倍の転送回数となります。 一方、これはミラーリングのコストにより相殺されますので、 単一 RAID-5 プレックスのボリュームへの書き込みは、 2 個のストライプ化プレックスからなる正しく設定されたボリュームへの 書き込み速度の半分となります。 .It .Nm の設定が変わると (例えば、オブジェクトの追加や削除、またはオブジェクトの状態変更)、 .Nm は 128 kB までの更新された設定を各ドライブに書き込みます。 ドライブ数が増加すると、この時間が長くなります。 .El .Ss Vinum ボリューム上にファイルシステムを作成する .Nm ボリューム上にファイルシステムを作成する前に .Xr disklabel 8 を実行する必要はありません。 .Xr newfs 8 だけを実行してください。 .Fl v オプションを使用して、 デバイスがパーティションに分割されないようにしてください。 例えば、ボリューム .Pa mirror 上にファイルシステムを作成するには、次のコマンドを入力します: .Pp .Dl "# newfs -v /dev/vinum/mirror" .Pp .Nm の設定に関係する数個のその他のことがらがあります: .Bl -bullet .It 複数のドライブを単一ディスク上に作成しても、利益はありません。 各ドライブは 131.5 kB のデータをラベルと設定情報に使用し、 設定変更時に性能が劣化します。 適切な大きさのサブディスクを使用してください。 .It コンカチネート化 .Nm プレックスの大きさを増すことはできますが、 現在のところストライプ化プレックスと RAID-5 プレックスでは増せません。 現在のところ既存の UFS ファイルシステムの大きさを増すこともできません。 プレックスおよびファイルシステムを拡張可能とする計画はあります。 .El .Sh 状態管理 (STATE MANAGEMENT) Vinum オブジェクトは .Em state の概念を持ちます。 詳細は .Xr vinum 4 を参照して下さい。もしそれらの状態が .Em up なら、それらは完全にアクセス可能なだけです。 オブジェクトの状態を .Em up に変更するには .Ic start コマンドを使います。オブジェクトの状態を .Em down に変更するには .Ic stop コマンドを使います。 通常、他の状態はオブジェクト間の関係によって自動的に作られます。 例えば、もしあなたがボリュームにプレックスを追加したら、プレックスの サブディスクは、ハードウェアがアクセス可能であるけれども、サブディスク上の データは不正であることを示す .Em empty 状態に設定されるでしょう。この状態の結果として、プレックスは .Em faulty 状態に設定されるでしょう。 .Ss `reviving' 状態 多くの場合、あなたがサブディスクを起動する時に、システムはサブディスクに データをコピーしなければなりません。 サブディスクの大きさによりますが、これは長い時間かかります。この間、 サブディスクは .Em reviving 状態に設定されます。コピー操作が正しく終了すれば、それは自動的に .Em up 状態に設定されます。 プロセスが、回復 (revive) を停止させ、そして再開させることがあります。 システムはサブディスクの回復の進み具合を保持し、そして .Ic start コマンドが再発行された時、その時点からコピーを再開します。 .Pp ボリュームのプレックスが一つ以上が回復している間はボリュームの整合性を 保つために、 .Nm は書き込む場所まで回復させたサブディスクに書きます。もし読みとる領域が すでに回復しているならば、プレックスから読み出すことができます。 .Sh 分かりにくい仕様 (GOTCHAS) 次の事柄はバグではありませんし、存在する理由があるのですが、 混乱を引き起こすものです。 各項目は適切な節において議論されています。 .Bl -enum .It .Nm ドライブは .Ux ディスクパーティションであり、パーティションタイプ .Em vinum であることが必要です。 これは、パーティションタイプが .Em 4.2BSD であることを期待する ccd とは異なります。 この .Nm ccd の動作は、自分の足元をすくうことになります: .Nm ccd では、容易にファイルシステムを上書きできてしまいます。 .Nm ユーティリティではそのようなことは許しません。 .Pp 同様の理由で、 .Nm Ic start コマンドは、パーティション .Dq Li c 上のドライブを受け付けません。 パーティション .Dq Li c は、ディスク全体を表現するためにシステムが使用し、タイプ .Em unused である必要があります。 ここには明確な矛盾があるので、 .Dq Li c パーティションを使用しないことにより .Nm は問題を解決しています。 .It 複数のプレックスからなるボリューム作成時に、 .Nm はプレックスを自動的には初期化しません。 これは、内容については分からなくても、 これらの間には確かに一貫性がないということを意味しています。 その結果デフォルトでは、 新規作成されたプレックスのうち最初のものを除いたすべての状態を、 .Nm は .Em faulty (誤り) 状態に設定します。 これらを最初のプレックスと同期させるには、 これらのサブディスクを .Ic start させる必要があります。 これにより、 .Em up 状態のプレックスから .Nm にデータをコピーさせます。 関係するサブディスクの大きさに依存して、必要な時間は長くなり得ます。 .Pp 実際上は、プレックス作成時にその内容に多大な興味を持つ人はいないので、 他のボリュームマネージャはどんなときでも .Em up に設定して騙します。 .Nm ユーティリティは、新規作成されたプレックスが .Em up 状態であることを保証するために、2 つの方法を提供します: .Bl -bullet .It プレックスを作成し、それらを .Nm Ic start で同期します。 .It キーワード .Cm setupstate 付きでボリューム (プレックスではありません) を作成します。 このキーワードは、矛盾が存在しても無視してプレックスの状態を .Em up 状態にするように、 .Nm に指示します。 .El .It 現在 .Nm がサポートしているコマンドには、実際には不要なものがあります。 私には理解できない理由があるのでしょうが、 .Ic label および .Ic resetconfig のコマンドを使おうとするユーザをしばしば見掛けます。特に .Ic resetconfig は、あらゆる種類の恐しいメッセージを表示するにもかかわらずです。 正当な理由無しに、これらのコマンドを使わないでください。 .It 状態遷移には非常に分り難いものがあります。 事実、これがバグであるのか仕様であるのかは明かではありません。 .Em reborn サブディスクなどの、奇妙な状態になったオブジェクトを起動できない場合には、 .Ic stop または .Ic stop Fl f のコマンドを使用して、まず .Em stopped 状態に遷移させてください。 これが上手くいけば、オブジェクトを起動できるはずです。 簡単な方法では上手くいかなくて、これが唯一の回復手段である場合、 その状況を報告してください。 .It カーネルモジュールを .Fl D Ns Dv VINUMDEBUG オプション付きで構築した場合、 .Nm もまた .Fl D Ns Dv VINUMDEBUG オプション付きで構築する必要があります。 なぜなら、両方のコンポーネントで使用されるデータオブジェクトに、 大きさが本オプションに依存しているものがあるからです。 前記のようにしないと、対応するエラーメッセージを表示してコマンドが失敗します。 .It .Nm Ic read コマンドの文法は、吐き気を催すものです。 これが唯一の .Nm 起動のためのコマンドでしたが、今の好ましい方法は .Nm Ic start です。 .Nm Ic read は整備のみに使用すべきです。 文法が変更されたので、引数が .Pa /dev/da0 のようなディスクスライスであり .Pa /dev/da0e のようなパーティションではないことに注意してください。 .El .Sh 関連ファイル .Bl -tag -width /dev/vinum/control -compact .It Pa /dev/vinum .Nm オブジェクトのデバイスノードがあるディレクトリ .It Pa /dev/vinum/control .Nm の制御デバイス .It Pa /dev/vinum/plex .Nm プレックスのデバイスノードがあるディレクトリ .It Pa /dev/vinum/sd .Nm サブディスクのデバイスノードがあるディレクトリ .El .Sh 環境変数 .Bl -tag -width VINUM_DATEFORMAT .It VINUM_HISTORY ログファイルの名前です。デフォルトでは /var/log/vinum_history です。 .It VINUM_DATEFORMAT ログファイル中の日付の書式です。デフォルトは %e %b %Y %H:%M:%S です。 .It EDITOR 設定ファイルの編集に使用するエディタの名前です。デフォルトは .Nm vi です。 .El .Sh 関連項目 .Xr strftime 3 , .Xr vinum 4 , .Xr disklabel 8 , .Xr newfs 8 .Pp .Pa http://www.vinumvm.org/vinum/ , .Pa http://www.vinumvm.org/vinum/how-to-debug.html . .Sh 作者 .An Greg Lehey Aq grog@lemis.com .Sh 歴史 .Nm ユーティリティは .Fx 3.0 から登場しました。 .Nm の RAID-5 コンポーネントは、 NetMAX 製品のために Cybernet Inc.\& .Pq Pa www.cybernet.com が開発しました。 .Sh バグ .Xr vinum 4 は .Xr geom 4 サブシステムを使用しませんので、 .Xr vinum 4 ボリュームは GOEM ベースの機能、 例えば .Xr gbde 8 では使用できません。 diff --git a/ja_JP.eucJP/man/man8/wicontrol.8 b/ja_JP.eucJP/man/man8/wicontrol.8 index 1b2650bdcf..ef6fe8d08a 100644 --- a/ja_JP.eucJP/man/man8/wicontrol.8 +++ b/ja_JP.eucJP/man/man8/wicontrol.8 @@ -1,548 +1,565 @@ .\" Copyright (c) 1997, 1998, 1999 .\" Bill Paul All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by Bill Paul. .\" 4. Neither the name of the author nor the names of any co-contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/wicontrol/wicontrol.8,v 1.40 2003/05/22 11:52:23 ru Exp % +.\" %FreeBSD: src/usr.sbin/wicontrol/wicontrol.8,v 1.42 2003/09/29 06:34:47 imp Exp % .\" .\" $FreeBSD$ .\" .Dd March 4, 2003 .Dt WICONTROL 8 .Os .Sh 名称 .Nm wicontrol -.Nd WaveLAN/IEEE デバイスの設定 +.Nd Lucent, Intersil, Atheros のワイヤレスデバイスの設定 .Sh 書式 .Nm .Op Fl i .Ar iface Op Fl o .Nm .Op Fl i +.Ar iface Fl l +(関連付けられたステーションのダンプ) +.Nm +.Op Fl i +.Ar iface Fl L +(使用可能なアクセスポイント列挙) +.Nm +.Op Fl i .Ar iface Fl t Ar tx_rate .Nm .Op Fl i .Ar iface Fl n Ar network_name .Nm .Op Fl i .Ar iface Fl s Ar station_name .Nm .Op Fl i .Ar iface Fl c Cm 0 | 1 .Nm .Op Fl i .Ar iface Fl q Ar SSID .Nm .Op Fl i .Ar iface Fl p Ar port_type .Nm .Op Fl i .Ar iface Fl a Ar access_point_density .Nm .Op Fl i .Ar iface Fl m Ar mac_address .Nm .Op Fl i .Ar iface Fl d Ar max_data_length .Nm .Op Fl i .Ar iface Fl e Cm 0 | 1 .Nm .Op Fl i .Ar iface Fl k Ar key .Op Fl v Cm 1 | 2 | 3 | 4 .Nm .Op Fl i .Ar iface Fl T Cm 1 | 2 | 3 | 4 .Nm .Op Fl i .Ar iface Fl r Ar RTS_threshold .Nm .Op Fl i .Ar iface Fl f Ar frequency .Nm .Op Fl i .Ar iface Fl P Cm 0 | 1 .Nm .Op Fl i .Ar iface Fl S Ar max_sleep_duration .Nm .Op Fl i .Ar iface Fl Z -(zero signal cache) +(シグナルキャッシュの 0 クリア) .Nm .Op Fl i .Ar iface Fl C -(display signal cache) -.Nm -.Op Fl i -.Ar iface Fl L -(list avail access points) -.Nm -.Op Fl i -.Ar iface Fl l -(dump associated stations) +(シグナルキャッシュ表示) .Sh 解説 .Nm ユーティリティは、 -.Xr wi 4 +.Xr wi 4 , +.Xr ath 4 ドライバを介し、 -WaveLAN/IEEE ワイヤレスネットワークデバイスの動作を制御します。 +Lucent, Intersil, Atheros ベースの +ワイヤレスネットワークデバイスの動作を制御します。 .Pp IEEE 802.11 パラメータの設定にはこのプログラムを使うべきではありません。 -これらの目的のためには代りに +これらの目的 +(すなわち SSID や WEP 鍵の設定等) +のためには代りに .Xr ifconfig 8 を使用してください。 .Pp .Nm ユーティリティを使用して、 -これらのパラメータの現在の設定を見ることができますし、 -カードの統計情報カウンタの値をダンプできます。 +これらのパラメータの現在の設定を見ること、 +カードの統計情報カウンタの値をダンプすること、 +(HostAP モードでは) 関連付けられたステーションを列挙すること、 +使用可能なアクセスポイントをスキャンすることが、可能です。 .Pp .Nm に与えられる .Ar iface 引数は、 -WaveLAN/IEEE デバイスに関連付けられる論理インタフェース名であることが必要です -.Li ( wi0 , wi1 +Lucent, Intersil, Atheros +デバイスに関連付けられる論理インタフェース名であることが必要です +.Li ( wi0 , wi1 , ath0 等)。 指定しない場合には .Dq Li wi0 が仮定されます。 .Sh オプション オプションを示します: .Bl -tag -width indent .It Oo Fl i Oc Ar iface Op Fl o -指定した WaveLAN/IEEE インタフェースの現在の設定を表示します。 +指定したワイヤレスインタフェースの現在の設定を表示します。 現在のカードの設定をドライバから取り出し、表示します。 追加の .Fl o フラグを使用すると、 .Nm は、カードの設定の代りに統計情報カウンタを表示します。 暗号化キーは、 .Nm が root で実行された場合のみ表示されます。 +.It Oo Fl i Oc Ar iface Fl a Ar access_point_density +指定したインタフェースの +アクセスポイント密度 +を指定します。 +正当な値は、 +.Cm 1 +(低)、 +.Cm 2 +(中)、 +.Cm 3 +(高) です。 +この設定は、電波モデムの閾値の設定に影響します。 +.It Oo Fl i Oc Ar iface Fl m Ar mac_address +指定したインタフェースのステーションアドレスを設定します。 +.Ar mac_address +は、コロンで区切られる 6 個の 16 進数の連続として指定されます。 +例えば +.Dq Li 00:60:1d:12:34:56 +となります。 +これにより、新規アドレスがカード上にプログラムされ、 +インタフェースも更新されます。 +.It Oo Fl i Oc Ar iface Fl d Ar max_data_length +指定したインタフェースの、送受信フレームサイズの最大を指定します。 +.Ar max_data_length +は、350 から 2304 までの任意の数値です。デフォルトは 2304 です。 +.It Oo Fl i Oc Ar iface Fl r Ar RTS_threshold +指定したインタフェースの RTS/CTS 閾値を設定します。 +これは、RTS/CTS ハンドシェーク境界に使用するバイト数を制御します。 +.Ar RTS_threshold +は 0 から 2347 までの任意の数値です。デフォルトは 2347 です。 +.It Oo Fl i Oc Ar iface Fl Z +.Xr wi 4 +ドライバ内部で管理される信号強度キャッシュをクリアします。 +.It Oo Fl i Oc Ar iface Fl C +.Xr wi 4 +ドライバ内部で管理されるキャッシュされた信号強度情報を表示します。 +ドライバは、他のホストから受信するパケットに関し、 +信号強度とノイズレベルに関する情報を維持します。 +信号強度とノイズレベルの値は dBms の単位で表示されます。 +信号品質値は、信号強度からノイズレベルを減じたものです +(すなわち、低ノイズで良い信号の場合、信号品質が向上します)。 +.El +.Sh 価値が低下したオプションと廃れたオプション +.Nm +ユーティリティには、 +今となっては価値が低下したり廃れた数多くのオプションがあります。 +.Xr ifconfig 8 +の拡張やドライバの変更によってとって代わられたために、このようになりました。 +価値が低下したオプションと廃れたオプションは次の通りです: +.Bl -tag -width indent .It Oo Fl i Oc Ar iface Fl t Ar tx_rate このフラグは価値が低下したものです。 .Xr ifconfig 8 の .Cm mediaopt を代わりに使用してください。 .Pp 指定したインタフェースの転送レートを設定します。 転送レートとしての正当な値は、 インタフェースが標準の WaveLAN/IEEE であるか WaveLAN/IEEE Turbo アダプタ かによって変わります。 標準の NIC でサポートする最大転送レートは 2Mbps ですが、 ターボ版の NIC では最大速度 6Mbps をサポートします。 次の表は、正当な転送レートの設定と対応する転送速度を示します: .\" Bl -column "TX レート " "NIC 速度 " -offset indent .Bl -column ".Em TX\ レート " ".Em NIC\ 速度 " -offset indent .Em "TX レート NIC 速度" .It Cm 1 Ta 固定低速 (1Mbps) .It Cm 2 Ta 固定標準速 (2Mbps) .It Cm 3 Ta 自動レート選択 (高速) .It Cm 4 Ta 固定中速 (4Mbps) .It Cm 5 Ta 固定高速 (6Mbps) .It Cm 6 Ta 自動レート選択 (標準) .It Cm 7 Ta 自動レート選択 (中速) .El .Pp デフォルトのドライバの設定は .Cm 3 (自動レート選択) です。 数値はカードごとに違います。 .It Oo Fl i Oc Ar iface Fl n Ar network_name このフラグは価値が低下したものです。 .Xr ifconfig 8 の .Cm ssid か .Cm nwid を代りに使用してください。 .Pp このステーションが加入を望んでいるサービスセット (IBSS) の名前を設定します。 .Ar network_name は、30 文字までの長さの任意のテキスト文字列です。 デフォルトの名前は文字列 .Dq Li ANY であり、 最初に利用可能となったアクセスポイントにステーションが接続することを 許します。 このオプション設定が動作するためには、 .Fl p フラグを使用して、インタフェースを BSS モードにすることが必要です。 .Pp 注: WaveLAN のマニュアルによると、 空文字列を指定すると ホストがすべてのアクセスポイントへ接続可能となるとあります。 一方、別のドライバを見たところ、文字列 .Dq Li ANY も同様に動作するとありました。 .It Oo Fl i Oc Ar iface Fl s Ar station_name このフラグは価値が低下したものです。 .Xr ifconfig 8 の .Cm stationname か .Cm station を代りに使用してください。 .Pp 指定したインタフェースの ステーション名 を設定します。 .Ar station_name は診断のために使用されます。 .Tn "Lucent WaveMANAGER" ソフトウェアは、リモートホストの名前を調査可能です。 .It Oo Fl i Oc Ar iface Fl c Cm 0 | 1 このフラグは価値が低下したものです。 IBSS モードで IBSS ネットワークをサポートするファームウェアを持つカードでは、 IBSS ネットワークは自動的に作成されます。 .Pp ステーションがサービスセット (IBSS) を作成することを許します。 許される値は、 .Cm 0 (IBSS を作成しません) と .Cm 1 (IBSS の作成を有効にします) です。 デフォルトは .Cm 0 です。 .Pp 注: このオプションは実験的な目的でのみ提供されています: 新しい Lucent ファームウェアのみがこれをサポートします。 .It Oo Fl i Oc Ar iface Fl q Ar SSID このフラグは価値が低下したものです。 このパラメータを設定するための現在好まれる方法は、 .Xr ifconfig 8 から .Cm ssid を設定です。 .Pp 指定したインタフェース上に作成する IBSS の名前 (SSID) を指定します。 .Ar SSID は、30 文字までの長さの任意のテキスト文字列です。 .Pp 注: このオプションは実験的な目的でのみ提供されています: ホストシステム上で IBSS の作成を有効にしても、 実際には動作していないようです。 .It Oo Fl i Oc Ar iface Fl p Ar port_type このフラグは価値が低下したものです。 このフラグは使われることはなかったでしょう。 このフラグを使わないでください。 その意味は使用するカードのタイプに依存し、 場合によってはカードにインストールしたファームウェアに依存します。 注意。 危険。 使用禁止。 代りに .Xr ifconfig 8 の .Cm media や .Cm mediaopt のコマンドを使用してください。 .Pp 指定したインタフェースの ポートタイプ を設定します。 .Ar port type の正当な値は、 .Cm 1 (BSS モード) と .Cm 3 (アドホック) モードです。 アドホックモードでは、 あるステーションは直接電波が届く範囲の他のステーション (これらもアドホックモードで動作していることが必要です) と直接通信可能です。 BSS モードでは、 アクセスポイントが制御するサービスセットとホストとが関連付けられることが 必要です。 アクセスポイントは、エンドステーション間のトラフィックを中継します。 デフォルトの設定は .Cm 1 (BSS モード) です。 Lucent カードでの意味合いと、 Prism カードでの意味合いと、 Symbol カードでの意味合いはすべて違います。 このフラグを使用しないでください。 -.It Oo Fl i Oc Ar iface Fl a Ar access_point_density -指定したインタフェースの -アクセスポイント密度 -を指定します。 -正当な値は、 -.Cm 1 -(低)、 -.Cm 2 -(中)、 -.Cm 3 -(高) です。 -この設定は、電波モデムの閾値の設定に影響します。 -.It Oo Fl i Oc Ar iface Fl m Ar mac_address -指定したインタフェースのステーションアドレスを設定します。 -.Ar mac_address -は、コロンで区切られる 6 個の 16 進数の連続として指定されます。 -例えば -.Dq Li 00:60:1d:12:34:56 -となります。 -これにより、新規アドレスがカード上にプログラムされ、 -インタフェースも更新されます。 -.It Oo Fl i Oc Ar iface Fl d Ar max_data_length -指定したインタフェースの、送受信フレームサイズの最大を指定します。 -.Ar max_data_length -は、350 から 2304 までの任意の数値です。デフォルトは 2304 です。 .It Oo Fl i Oc Ar iface Fl e Cm 0 | 1 このフラグは価値が低下したものです。 .Xr ifconfig 8 の .Cm wepmode オプションで置き換えられました。 .Pp WEP 暗号化を有効化または無効化します。 使用可能な値は .Cm 0 (暗号化無効) または .Cm 1 (暗号化有効) です。 暗号化はデフォルトでは無効です。 .Pp 128 ビットおよび 64 ビットの WEP ともに破られています。 詳細は .Sx バグ の節を見てください。 .It Oo Fl i Oc Ar iface Fl k Ar key Op Fl v Cm 1 | 2 | 3 | 4 このフラグは価値が低下したものです。 .Xr ifconfig 8 の .Cm wepkey を代りに使用すべきです。 .Pp WEP 暗号化キーを設定します。 プログラム可能な暗号化キーは、デフォルトで 4 個あります。 個々のキーは .Fl v フラグで設定可能です。 .Fl v フラグが指定されないと、最初のキーが設定されます。 暗号化キーは、通常テキスト (すなわち .Dq Li hello ) または一連の 16 進数 (すなわち .Dq Li 0x1234512345 ) のどちらかです。 WaveLAN Turbo Silver カードでは、キーは 40 ビットに制限されていますので、 キーは 5 文字までのテキスト文字列か 10 桁の 16 進数です。 WaveLAN Turbo Gold カードでは、キーは 104 ビットまでですので、 Silver カードでサポートされている書式に加え、 キーは 13 文字までのテキスト文字列か 26 桁の 16 進数がサポートされます。 最大限の可搬性のためには、16 進数形式の鍵を推奨します。 テキスト鍵から WEP 暗号へのマッピングは、通常、ドライバ固有です。 特に、 .Tn Windows ドライバのマッピング方法は .Fx のものとは異なります。 .Pp 128 ビットおよび 64 ビットの WEP 暗号ともに破られています。 詳細は .Sx バグ の節を見てください。 .It Oo Fl i Oc Ar iface Fl T Cm 1 | 2 | 3 | 4 このフラグは価値が低下したものです。 .Xr ifconfig 8 の .Cm weptxkey を代りに使用すべきです。 .Pp 4 個の WEP 暗号化キーのどれを使用して転送パケットを暗号化するかを指定します。 .Pp 128 ビットおよび 64 ビットの WEP ともに破られています。 詳細は .Sx バグ の節を見てください。 -.It Oo Fl i Oc Ar iface Fl r Ar RTS_threshold -指定したインタフェースの RTS/CTS 閾値を設定します。 -これは、RTS/CTS ハンドシェーク境界に使用するバイト数を制御します。 -.Ar RTS_threshold -は 0 から 2347 までの任意の数値です。デフォルトは 2347 です。 .It Oo Fl i Oc Ar iface Fl f Ar frequency このフラグは価値が低下したものです。 .Xr ifconfig 8 の .Cm channel を代りに使用してください。 .Pp 指定したインタフェースの電波の周波数を設定します。 .Ar frequency は次の表に示すチャネル ID で指定することが必要です。 利用可能な周波数は、各地の当局によって指定される電波規制に依存します。 既知の規制元としては、 FCC (米国)、ETSI (欧州)、フランス、日本があります。 表中の周波数は MHz です。 .Bl -column ".Em チャネル ID " ".Em FCC " ".Em ETSI " ".Em 仏 " ".Em 日 " -offset indent .Em "チャネル ID FCC ETSI 仏 日" .It Cm 1 Ta 2412 2412 - 2412 .It Cm 2 Ta 2417 2417 - 2417 .It Cm 3 Ta 2422 2422 - 2422 .It Cm 4 Ta 2427 2427 - 2427 .It Cm 5 Ta 2432 2432 - 2432 .It Cm 6 Ta 2437 2437 - 2437 .It Cm 7 Ta 2442 2442 - 2442 .It Cm 8 Ta 2447 2447 - 2447 .It Cm 9 Ta 2452 2452 - 2452 .It Cm 10 Ta 2457 2457 2457 2457 .It Cm 11 Ta 2462 2462 2462 2462 .It Cm 12 Ta - 2467 2467 2467 .It Cm 13 Ta - 2472 2472 2472 .It Cm 14 Ta - - - 2484 .El .Pp 不正なチャネルを指定すると、NIC はデフォルトチャネルに戻ります。 米国および欧州で販売されている NIC では、デフォルトチャネルは .Cm 3 です。 フランスで販売されている NIC では、デフォルトチャネルは .Cm 11 です。 日本で販売されている NIC では、デフォルトチャネルは .Cm 14 です。 これは、11Mbps 以前の NIC においては唯一利用可能なチャネルです。 2 つのステーションが通信するためには、 同一のチャネルに設定されていることが必要であることに注意してください。 .It Oo Fl i Oc Ar iface Fl P Cm 0 | 1 このフラグは価値が低下したものです。 .Xr ifconfig 8 の .Cm powersave を代りに使用すべきです。 .Pp 指定したインタフェースの電源管理を有効または無効にします。 電源管理を有効にすると、 交互にスリープ/ウェイクプロトコルを使用することにより、 モバイルステーションの省電力を助けます。 このために受信遅延がいくぶん増加します。 デフォルトでは、電源管理はオフです。 電源管理が機能するためには、 アクセスポイントとの協調が必要なことに注意してください。 アドホックモードでは動作しません。 また電源管理がサポートされているのは、 Lucent WavePOINT のバージョン 2.03 以降のファームウェア、 WaveLAN PCMCIA アダプタのバージョン 2.00 以降のファームウェアのみです。 古いリビジョンでは、電源管理の設定は黙って無視されます。 このパラメータにとって正当な値は、 .Cm 0 (オフ) と .Cm 1 (オン) です。 .It Oo Fl i Oc Ar iface Fl S Ar max_sleep_interval このフラグは価値が低下したものです。 .Xr ifconfig 8 の .Cm powersleep を代りに使用すべきです。 .Pp 電源管理が有効なときに使用するスリープ間隔を指定します。 .Ar max sleep interval はミリ秒で指定します。デフォルトは 100 です。 -.It Oo Fl i Oc Ar iface Fl Z -.Xr wi 4 -ドライバ内部で管理される信号強度キャッシュをクリアします。 -.It Oo Fl i Oc Ar iface Fl C -.Xr wi 4 -ドライバ内部で管理されるキャッシュされた信号強度情報を表示します。 -ドライバは、他のホストから受信するパケットに関し、 -信号強度とノイズレベルに関する情報を維持します。 -信号強度とノイズレベルの値は dBms の単位で表示されます。 -信号品質値は、信号強度からノイズレベルを減じたものです -(すなわち、低ノイズで良い信号の場合、信号品質が向上します)。 .El .Sh 関連項目 +.Xr ath 4 , .Xr awi 4 , .Xr ipsec 4 , .Xr wi 4 , .Xr ifconfig 8 .Sh バグ .Xr ifconfig 8 と同じ機能を持つ、価値が低下したフラグがあります。 これらのフラグは .Fx 5.1 で廃れたものとなり、将来のリリースで削除されます。 .Pp WEP 暗号法は破られています。 使用中のキーを、 多くの人が驚くような距離にいるような第三者が回復できてしまいます。 最も基本的で補助的なセキュリティ以外のことには WEP を信用しないでください。 IPSEC がより高度なセキュリティを提供しますので、 可能な限りそちらを使用してください。 アクセスポイントやアクセスポイントを通じて繋がるワイヤレスマシンを 信用しないでください。 なぜなら、これらを通じたトラフィックが妥当であることを、保証できないからです。 MAC アドレスは簡単に偽造できますので、 唯一のアクセス制限には使用しないでください。 .Pp WEP への攻撃は受動的な攻撃であり、 これにはネットワーク上のパケットを覗き見できることだけが必要です。 受動的な攻撃は思ったよりも遠くからでも可能であり、 ポイントツーポイントアプリケーションで使用される特殊アンテナを使用すれば、 数マイル彼方からでも可能です。 5,000,000 から 6,000,000 のパケットだけで、 攻撃者は 128 ビット WEP ネットワークのキーを回復できてしまいます。 これは非常に多くのパケットのように聞こえますが、経験的には、 部分的に不可がかかったネットワークにおいて、 この量のトラフィックが数時間で生成されてしまいます。 あるキーが損なわれてしまったならば、 唯一の治療手段はこのキーの使用を止め、新しいキーを使用することだけです。 .Pp この攻撃の詳細は .Pa http://www.cs.rice.edu/~astubble/wep/wep_attack.html を見てください。 WEP 鍵破りを補助する多くのプログラムが広く出回っています。 .Pp WEP を使わざるを得ない場合、 ランダムのキーバイトを使うべきであり、 .Tn ASCII 文字に限定すべきではありません。 力任せの攻撃も WEP 鍵に対して可能です。 .Tn ASCII 鍵は 1 日以内に破ることが可能であることが実証されています。 ランダムバイトでさえ、2 週間以内に破られてしまいます。 .Pp 現在のところ信号キャッシュは壊れています。 .Sh 歴史 .Nm ユーティリティが最初に登場したのは .Fx 3.0 です。 .Sh 作者 .Nm ユーティリティは .An Bill Paul Aq wpaul@ctr.columbia.edu が記述しました。 diff --git a/ja_JP.eucJP/man/man8/wire-test.8 b/ja_JP.eucJP/man/man8/wire-test.8 index 401b178012..92446c2a81 100644 --- a/ja_JP.eucJP/man/man8/wire-test.8 +++ b/ja_JP.eucJP/man/man8/wire-test.8 @@ -1,88 +1,88 @@ .\" -.\" Copyright (c) 1997-1999 Erez Zadok +.\" Copyright (c) 1997-2003 Erez Zadok .\" Copyright (c) 1990 Jan-Simon Pendry .\" Copyright (c) 1990 Imperial College of Science, Technology & Medicine .\" Copyright (c) 1990 The Regents of the University of California. .\" All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Jan-Simon Pendry at Imperial College, London. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgment: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" %W% (Berkeley) %G% .\" -.\" %Id: wire-test.8,v 1.2 1999/01/10 21:54:44 ezk Exp % -.\" %FreeBSD: src/contrib/amd/wire-test/wire-test.8,v 1.3 1999/09/15 05:45:17 obrien Exp % +.\" $Id: wire-test.8,v 1.8 2003-10-13 02:42:27 horikawa Exp $ +.\" %FreeBSD: src/contrib/amd/wire-test/wire-test.8,v 1.4 2003/09/02 15:42:57 mbr Exp % .\" .\" $FreeBSD$ .\" .Dd February 26, 1993 .Dt WIRE-TEST 8 .Os .Sh 名称 .Nm wire-test .Nd ネットワークインタフェースとローカルの IP アドレスを調べる .Sh 書式 .Nm .Op Ar host .Sh 解説 .Nm は .Nm amd が最初の 2 つと見なすネットワークインタフェースと、使用する ネットワーク名/番号、および .Nm amd が NFS マウントするのに使う IP アドレスを調べるのに使います。 .\" 査読者注: "network number" を「ネットワークアドレス」と訳すか .\" 「ネットワーク番号」と訳すか、議論があったが、ここでは .\" 後者を選択。(cf.[man-jp 1315]からのスレッド) sakai@jp.freebsd.org .Pp .Ar host が指定された場合には、 .Nm は現在のクライアントから .Tn NFS サーバ .Ar host へ使用できる .Tn NFS プロトコルとバージョンの組合せを調べます。 指定されない場合の .Ar host のデフォルトは、 .Dq localhost です。 .Sh 関連項目 .Xr amd 8 .Sh 歴史 .Nm ユーティリティは .Fx 3.0 から登場しました。 diff --git a/ja_JP.eucJP/man/man8/zzz.8 b/ja_JP.eucJP/man/man8/zzz.8 index 13e5e35790..31990ce70b 100644 --- a/ja_JP.eucJP/man/man8/zzz.8 +++ b/ja_JP.eucJP/man/man8/zzz.8 @@ -1,64 +1,64 @@ .\" Copyright (c) 2003 Nate Lawson .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" %FreeBSD: src/usr.sbin/zzz/zzz.8,v 1.2 2003/07/14 18:25:45 hmp Exp % +.\" %FreeBSD: src/usr.sbin/zzz/zzz.8,v 1.3 2003/08/16 19:59:53 charnier Exp % .\" .\" $FreeBSD$ .Dd July 13, 2003 .Dt ZZZ 8 .Os .Sh 名称 .Nm zzz .Nd ACPI システムおよび APM システムをサスペンドする .Sh 書式 .Nm .Sh 解説 .Nm ユーティリティは、 .Tn ACPI もしくは .Tn APM のサポートをチェックし、システムを適切にサスペンドします。 .Tn APM システムに対しては .Pp .Dl apm -z .Pp が実行されます。 .Tn ACPI システムに対しては、設定されたサスペンド状態が検索され、 それがサポートされている場合には、 .Pp .Dl acpiconf -s .Pp が実行されます。 .Sh 関連項目 .Xr acpi 4 , .Xr apm 4 , .Xr acpiconf 8 , .Xr apm 8 -.Sh +.Sh 作者 このマニュアルページは .An Nate Lawson Aq njl@FreeBSD.ORG が書きました。